Re: [boost] Reminder: review will end March 28th

Hi, I am not sure to be qualified to make a review but I will give it a try. First, I think the library should be accepted.
- What is your evaluation of the design?
Seems good. I must say I didnt read or try the transform part of proto.
- What is your evaluation of the implementation?
Didnt read the code
- What is your evaluation of the documentation?
I think there is some (more) work to do on it. I had some probleme with users_guide\expression_construction\construction_utils.html Because it was not clear to me how to put it in pratice. In fact after a fast read of the doc, I mostly used the exemple as reference of how to do something. So, I don't know exactly what can be done but some ideas may be: *Provide more basic exemple *Refer to the exemple in the documentation to show the practical use of what is described. *make a FAQ One difficulty I didn't had time to study is how to do polymorphic grammar or semantic checking. (perhaps I should not put this in the review). Mor clearly, I add two example: First I would like to have a grammar which can work on any terminal but can only have compatible terminal in a one expression (for example, you can't have vector and list in one expression but you can have one expression with lists and one with vector and they would follow the same grammar). My idea was to do a basic proto grammar which just check operator use and then to use a transform to fold the type of the terminals, checking they are all compatible. Second, I have a grammar where I can add terminals 'a+b' and index terminal 'a[b]'. you can have '(a+b)[c]'. some terminals may be indexable but other not. I could make a grammar for indexable terminal and another for not indexable but it would be duplicated. And if I add more properties to my terminals (for example Boolean, integer or float), the number of grammar explode. I was thinking to again use a transform to check the 'semantic' of the expression. Is it the way to go? I didn't see any reference to this in the documentation, but this seems a common pattern to me? The proto grammar would only check the 'parsing' and one transform would check the semantic. A yes, I would add two note which seem relevant for VS user: * the compiler flag -Zm (for example -Zm150) to change the maximum size of the precompiled header * the pragma inline_recursion and inline_depth (default off and 8)
- What is your evaluation of the potential usefulness of the library?
Extremely useful.
- Did you try to use the library? With what compiler? Did you have any problems?
I used it with VS2005. I didnt had any problem (at least not one which wasnt my fault)
- How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
I read the doc and started writing a small test. Didnt had the time to try transform. Regards, -- Cédric
participants (1)
-
Cédric Venet