llvm-project/clang-tools-extra/pseudo/lib
Haojian Wu cd2292ef82 [pseudo] A basic implementation of compiling cxx grammar at build time.
The main idea is to compile the cxx grammar at build time, and construct
the core pieces (Grammar, LRTable) of the pseudoparse based on the compiled
data sources.

This is a tiny implementation, which is good for start:

- defines how the public API should look like;
- integrates the cxx grammar compilation workflow with the cmake system.
- onlynonterminal symbols of the C++ grammar are compiled, anything
  else are still doing the real compilation work at runtime, we can opt-in more
  bits in the future;
- splits the monolithic clangPsuedo library for better layering;

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D125667
2022-05-25 11:26:06 +02:00
..
cxx [pseudo] A basic implementation of compiling cxx grammar at build time. 2022-05-25 11:26:06 +02:00
grammar [pseudo] A basic implementation of compiling cxx grammar at build time. 2022-05-25 11:26:06 +02:00
Bracket.cpp [pseudo] (trivial) bracket-matching 2022-05-24 15:13:36 +02:00
CMakeLists.txt [pseudo] A basic implementation of compiling cxx grammar at build time. 2022-05-25 11:26:06 +02:00
DirectiveTree.cpp [pseudo] Strip directives from a token stream 2022-05-06 12:15:08 +02:00
Forest.cpp [pseudo] Simplify the forest dump, NFC. 2022-05-03 14:14:57 +02:00
GLR.cpp Fix an unused variable warning in no-asserts build mode 2022-05-17 15:27:44 +02:00
Lex.cpp [pseudo] Only expand UCNs for raw_identifiers 2022-05-06 08:53:31 +02:00
Token.cpp [pseudo] Use a real language option in the parser. 2022-05-03 22:24:56 +02:00
cxx.bnf [pseudo] Add the missing ; terminal for module-declaration rule. 2022-05-17 15:14:46 +02:00