[erlang-questions] erl_scan issues

Richard A. O'Keefe <>
Wed Apr 22 02:35:47 CEST 2015


Erlang syntax is adapted from Prolog syntax.
It is traditional in Prolog parsers to distinguish
between a "." token such as you might find in
a.b.[] (the really old-fashioned way to write a list)
and a ". " token which ends a clause.
And it turns out that erl_scan:string/3 makes exactly
the same distinction:  "a. b" contains a ". " (dot) token
while "a.b" contains a "." ('.') token.  Now a full stop
at the end of a string is also a dot token, but it has
text ".".  White space as such is never a token.

This does not look like a bug at all to me.

I will say that it would be nice if the
http://www.erlang.org/doc/man/erl_scan.html
page contained or linked to an explicit statement
of what the tokens ARE.

At a minimum, the type category() should be a bit
more explicit than "atom()".

For that matter,
http://www.erlang.org/doc/man/erl_parse.html
should contain or link to an explicit statement
of what the grammar is.




More information about the erlang-questions mailing list