[PATCH] D118196: [syntax][pseudo] Implement LR parsing table.
Haojian Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 25 14:46:52 PST 2022
hokein created this revision.
hokein added a reviewer: sammccall.
Herald added a subscriber: mgorny.
hokein requested review of this revision.
Herald added a project: clang.
This patch introduces a dense implementation of the LR parsing table, which is
used by LR parsers. We implement a SLR(1) parsing table from an LR(0) automaton.
Statistics of the LR parsing table on the C++ spec grammar:
number of states: 1449
number of actions: 83069
number of index entries: 72612
size of the table (bytes): 1380908
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D118196
Files:
clang/include/clang/Tooling/Syntax/Pseudo/Grammar.h
clang/include/clang/Tooling/Syntax/Pseudo/LRAutomaton.h
clang/include/clang/Tooling/Syntax/Pseudo/LRTable.h
clang/lib/Tooling/Syntax/Pseudo/CMakeLists.txt
clang/lib/Tooling/Syntax/Pseudo/Grammar.cpp
clang/lib/Tooling/Syntax/Pseudo/LRBuilder.cpp
clang/lib/Tooling/Syntax/Pseudo/LRTable.cpp
clang/unittests/Tooling/Syntax/Pseudo/CMakeLists.txt
clang/unittests/Tooling/Syntax/Pseudo/GrammarTests.cpp
clang/unittests/Tooling/Syntax/Pseudo/LRBuilderTests.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D118196.403041.patch
Type: text/x-patch
Size: 35121 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20220125/6ad358b8/attachment-0001.bin>
More information about the cfe-commits
mailing list