[erlang-questions] Start Conditions in Lexical Analyzer Generator (leex)
Dmitry Kolesnikov
dmkolesnikov@REDACTED
Mon Jan 20 11:06:50 CET 2014
Hello,
Right… I think there is not a straight path from flex to Erlang leex.
Instead of porting flex input rules, I would take a look into flex interim results and try to map them to leex.
- Dmitry
On 18 Jan 2014, at 03:25, Xiao Jia <me@REDACTED> wrote:
> On Fri, Jan 17, 2014 at 10:53 PM, Dmitry Kolesnikov
> <dmkolesnikov@REDACTED> wrote:
>> Hello,
>>
>> Probably, I've missed something… The start condition is the literal part of lex regex.
>> e.g.
>>
>> Definitions.
>>
>> WSS = [\x20\x09\x0A\x0D]+
>> VAR = [a-zA-Z.]+
>>
>> Rules.
>>
>> {if{WSS}{VAR}} : {token, {'if', TokenLine, TokenChars}}.
>>
>> this matches token is it starts with if
>
> That's probably not what Vance Shipley wants. Using start conditions
> is sort of moving between state machines. See below example excerpted
> from http://flex.sourceforge.net/manual/Start-Conditions.html#Start-Conditions
>
>
> "/*" BEGIN(comment);
>
> <comment>[^*\n]* /* eat anything that's not a '*' */
> <comment>"*"+[^*/\n]* /* eat up '*'s not followed by '/'s */
> <comment>\n ++line_num;
> <comment>"*"+"/" BEGIN(INITIAL);
>
>
>>
>> - Dmitry
>>
>> On Jan 17, 2014, at 4:42 PM, Vance Shipley <vances@REDACTED> wrote:
>>
>>> I've never tried using leex before but since the job at hand is
>>> to parse a language file, where the reference implementation uses
>>> flex, it seemed like porting their lex input file for use with leex
>>> would be the way to go.
>>>
>>> However I got stuck right away in that leex doesn't seem to support
>>> "start conditions":
>>>
>>> http://flex.sourceforge.net/manual/Start-Conditions.html#Start-Conditions
>>>
>>> Am I missing something?
>
>
> From http://erlang.org/doc/man/leex.html rules have the following format:
>
> <Regexp> : <Erlang code>.
>
> and apparently start conditions are not regular expressions... so
> probably there is no support for that.
>
>
> --
> Regards,
> Xiao Jia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20140120/676a6a84/attachment.htm>
More information about the erlang-questions
mailing list