[antlr-interest] [C] code to change Token type, use char* and loose data when buffer destroyed
Ruslan Zasukhin
ruslan_zasukhin at valentina-db.com
Tue Sep 27 15:34:57 PDT 2011
On 9/28/11 12:46 AM, "Douglas Godfrey" <douglasgodfrey at gmail.com> wrote:
Hi Douglas,
Yes, I have thinked about this way also.
But in your solution you use helper functions as
RemoveQuotePairs()
Which, I guess do some coping in additional ram buffers.
This is fine for Java guys, but in C code, as Jim likes underline each time,
we tend to use only pointers to input buffer, as long as possible.
> You need to modify your string lexing rules to use sub-rules for the
> elementary
> strings and return the concatenated string as the lexer token value.
>
> The value of
>
> StringConstant: QuotedString
> {RemoveQuotePairs($QuotedString);};
>
> fragment
> QuotedString: ( StringTerm )+;
>
> fragment
> StringTerm: Dquote ( Character )* Dquote;
>
> fragment
> Character: ( ' ' | AlphaChar | Punctuation | Digit );
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the antlr-interest
mailing list