Should "Literal" in syntactical grammar instead of lexical grammar?

程劭非 csf178 at
Tue Feb 28 08:18:03 PST 2012

Thank you for the comments.

There might be no normative significance but I mean there is no way to put
the "Literal" production in a lexer.  If a lexer produce token with type
”Literal“, syntactical parser will not be able to decide to use it as a
”Literal“ or a ”StringLiteral“.

So I think keeping this rule in current location might confuse the ones who
want to implement this spec.

Shaofei Cheng

2012/2/28 Brendan Eich <brendan at>

> Indeed this has come up before:
> January/003900.html<>
> No one replied then, alas.
> There's no normative significance, as Michael Dyck conjectured. It seems
> we could move Literal. Perhaps Waldemar or Allen has a preference. At this
> point I am ok with letting the traditional location of Literal stand.
> /be
> 程劭非 wrote:
>> Hi, everyone,
>> I'm working a on ES parser recently and noticed something might be wrong
>> about the symbol “Literal”.
>> Since “Literal” and “StringLiteral" "NumericLiteral" appears in lexical
>> grammar , I believe “Literal” should be a non-terminal symbol. Also there
>> is no other rule using “Literal” in lexical grammar. As all above I think
>> the following description is a syntactical grammar rule instead of a
>> lexical grammar rule:
>> /Literal /*::
>> ***/NullLiteral/
>> /BooleanLiteral
>> NumericLiteral
>> StringLiteral/
>> /RegularExpressionLiteral/
>> So my suggest is moving the description from Annex A.1 to Annex A.3
>> Thanks,
>> Shaofei Cheng
>> ______________________________**_________________
>> es-discuss mailing list
>> es-discuss at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list