From: Berndl, Klaus <klaus.berndl@sd...> - 2003-01-24 15:33:17
>I just ported Klaus changes into Semantic 2.0 c.by grammar :-)
>I will check-in new c.by and re-generated semantic-c.el soon!
Oh, thanks very much....sounds good
BTW: Is semantic 2.0 in a state stable enough to begin first tests with it
especiall with for ECB??
Are there special things i must be aware or is there a document where i can read
how to port "old" semantic 1.4 applications to new semantic 2.0 apps?
If it is ready for use i would check it out and then a little bit play around :-)
From: David Ponce <david.ponce@wa...> - 2003-01-24 18:49:30
>>I just ported Klaus changes into Semantic 2.0 c.by grammar :-)
>>I will check-in new c.by and re-generated semantic-c.el soon!
The new grammar successfully passed your new test cases that I
committed in semantic/tests in the trunk too :-)
> BTW: Is semantic 2.0 in a state stable enough to begin first tests
> with it especiall with for ECB??
Yes I think it is. I hope a first beta will be publicly available
> Are there special things i must be aware or is there a document
> where i can read how to port "old" semantic 1.4 applications to new
> semantic 2.0 apps?
I think a few things have changed between BNF and BY formats.
Particularly the semantic actions are identical. The new format is
closest to Bison grammar format, with C stuff replaced by Elisp one.
It is really not difficult to port a BNF grammar to the new format :-)
The main difference is that rules like:
| semantic-list "\\[\\]"
are no more permitted. You must now declare a token like this:
%token <semantic-list> BRACKETS "\\[\\]"
Then write the rule like this:
Thus the lexical stuff is clearly separated from nonterminal rules.
In the future such tokens should be directly produced by lexers. For
now such constructs are directly expanded at Elisp generation, to
preserve compatibility with the bovinator.
Another big advantage of the new grammar format is that it is common
with the WY format used for LALR grammars. Finally the common grammar
format is clearly self-specified by a LALR grammar (see
semantic-grammar.wy) and Semantic parses it with the new LALR parser:
Hope this helps.
> If it is ready for use i would check it out and then a little bit
> play around :-)