[erlang-questions] Are newlines significant in Erlang grammar?

Daniel Dormont dan@REDACTED
Tue Dec 20 17:57:18 CET 2011


Are newlines different from any other whitespace? The following works:

-module .foo. blah(F)->blah(F-1).

dan

On Tue, Dec 20, 2011 at 11:45 AM, Ryan Molden <ryanmolden@REDACTED> wrote:

> 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
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20111220/b64bcc0a/attachment.htm>


More information about the erlang-questions mailing list