[PATCH] D115856: [syntax][pseudo] Introduce the spec C++ grammar.
Haojian Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 20 02:22:05 PST 2022
hokein added inline comments.
================
Comment at: clang/lib/Tooling/Syntax/Pseudo/cxx.bnf:27
+# FIXME:
+# - support annotations (lazy parsing, contextual identifiers)
+# - empty input should be parsed successfully (special-case it?)
----------------
sammccall wrote:
> I think we should spell out what this is, or leave out the FIXME
these FIXMEs probably should not live in the bnf grammar. removed them.
================
Comment at: clang/lib/Tooling/Syntax/Pseudo/cxx.bnf:30
+#
+# start symbols
+_ := translation-unit
----------------
sammccall wrote:
> Is this "default start symbol"?
> I believe we conceptually want to be able to start parsing at other symbols too.
Technically, `_` is the augmented symbol with the *real* start symbols coming on the right hand side -- this is a technique to make LR parsing life easier.
================
Comment at: clang/tools/clang-pseudo/ClangPseudo.cpp:1
+//===-- ClangPseudo.cpp - Clang pseudo parser tool ------------------------===//
+//
----------------
sammccall wrote:
> Can we use this tool to drive lit tests?
good idea. Refined the tool, now it supports `check-grammar`.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D115856/new/
https://reviews.llvm.org/D115856
More information about the cfe-commits
mailing list