The difference between comment and document about the parser
Jonathan Gibbons
jonathan.gibbons at oracle.com
Sat Jan 23 17:05:49 UTC 2021
Going back in the public record, I note that JLS 3rd Edition, chapter
18[1] says:
/The grammar presented in this chapter is the basis for the reference
implementation. Note that it is not an LL(1) grammar, though in many
cases it minimizes the necessary look ahead./
-- Jon
1: https://docs.oracle.com/javase/specs/jls/se6/html/syntax.html
On 1/22/21 12:49 AM, Guoxiong Li wrote:
> Hi all,
>
> The comment at class
> jdk.compiler/com.sun.tools.javac.parser.JavacParser states it as below.
>
> ```
> /** The parser maps a token sequence into an abstract syntax
> * tree. It operates by recursive descent, with code derived
> * systematically from an LL(1) grammar. For efficiency reasons, an
> * operator precedence scheme is used for parsing binary operation
> * expressions.
> ```
>
> And the document of the project `Compiler Grammar`[1] states it as below.
>
> > The parser that is currently in the javac compiler is a hand-written
> LALR parser.
>
> We can see that one is LL(1) and another is LALR. I think the comment
> may be right.
> No matter which one is the right description, the difference is not
> acceptable and need to be unified.
>
> What is your opinion? Any idea is appreciated.
>
> [1] http://openjdk.java.net/projects/compiler-grammar/
> <http://openjdk.java.net/projects/compiler-grammar/>
>
> Best Regards.
>
> -- xiong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20210123/30bc5b3d/attachment.htm>
More information about the compiler-dev
mailing list