(flex.info.gz) The | operator is not doing what I want
Info Catalog
(flex.info.gz) unput() messes up yy_at_bol
(flex.info.gz) FAQ
(flex.info.gz) Why can't flex understand this variable trailing context pattern?
The | operator is not doing what I want
=======================================
To: Alain.ISSARD@st.com
Subject: Re: Start condition with FLEX
In-reply-to: Your message of Mon, 18 Nov 1996 09:45:02 PST.
Date: Mon, 18 Nov 1996 10:41:34 PST
From: Vern Paxson <vern>
> I am not able to use the start condition scope and to use the | (OR) with
> rules having start conditions.
The problem is that if you use '|' as a regular expression operator, for
example "a|b" meaning "match either 'a' or 'b'", then it must *not* have
any blanks around it. If you instead want the special '|' *action* (which
from your scanner appears to be the case), which is a way of giving two
different rules the same action:
foo |
bar matched_foo_or_bar();
then '|' *must* be separated from the first rule by whitespace and *must*
be followed by a new line. You *cannot* write it as:
foo | bar matched_foo_or_bar();
even though you might think you could because yacc supports this syntax.
The reason for this unfortunately incompatibility is historical, but it's
unlikely to be changed.
Your problems with start condition scope are simply due to syntax errors
from your use of '|' later confusing flex.
Let me know if you still have problems.
Vern
Info Catalog
(flex.info.gz) unput() messes up yy_at_bol
(flex.info.gz) FAQ
(flex.info.gz) Why can't flex understand this variable trailing context pattern?
automatically generated byinfo2html