[erlang-questions] Are newlines significant in Erlang grammar?
Ryan Molden
ryanmolden@REDACTED
Tue Dec 20 17:45:44 CET 2011
I have been playing around with making a lexer/parser for Erlang using
boost::spirit and using the YRL from lib\stdlib-1.17.5\src\erl_parse.yrl as
my grammar. It isn't specifically called out there (or anywhere else I can
find), but I assume that newlines are significant and implied as input
terminators?
For instance the following is accepted by the compiler (ignore the
meaninglessness/infinite recursion of blah)
-module .foo.
blah(F)->blah(F-1).
However, if I put it all on one line, like so:
-module .foo.blah(F)->blah(F-1).
it is not accepted. It seems to be because .foo.blah is being parsed as a
single instance of expr_900, which is defined as
expr_900 -> '.' atom
expr_900 -> expr_900 '.' atom
expr_900 -> expr_max
I am fine treating newlines as input terminators but it isn't clear which
non-terminals require the presence of a newline and which don't.
Ryan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111220/831d1cb8/attachment.htm>
More information about the erlang-questions
mailing list