[pseudo] Introduce parse forest.
authorHaojian Wu <hokein.wu@gmail.com>
Mon, 21 Mar 2022 14:32:15 +0000 (15:32 +0100)
committerHaojian Wu <hokein.wu@gmail.com>
Thu, 24 Mar 2022 13:47:17 +0000 (14:47 +0100)
commit62d5f254ccd0fc745fceb15a80494ef892db367c
tree26843865778590b041fa2546b6c9706a52663eaf
parent9dbc687a5ec94dacab00557d3dec74a4e71db529
[pseudo] Introduce parse forest.

Parse forest is the output of the GLR parser, it is a tree-like DAG
which presents all possible parse trees without duplicating subparse structures.

This is a patch split from https://reviews.llvm.org/D121150.

Differential Revision: https://reviews.llvm.org/D122139
clang-tools-extra/pseudo/include/clang-pseudo/Forest.h [new file with mode: 0644]
clang-tools-extra/pseudo/lib/CMakeLists.txt
clang-tools-extra/pseudo/lib/Forest.cpp [new file with mode: 0644]
clang-tools-extra/pseudo/unittests/CMakeLists.txt
clang-tools-extra/pseudo/unittests/ForestTest.cpp [new file with mode: 0644]