[Syntax] Introduce syntax trees
authorIlya Biryukov <ibiryukov@google.com>
Mon, 8 Jul 2019 17:25:02 +0000 (17:25 +0000)
committerIlya Biryukov <ibiryukov@google.com>
Mon, 8 Jul 2019 17:25:02 +0000 (17:25 +0000)
commitb736969eddce563a7fd3fe10b8fe7adfd85c8692
tree6686048415918a7029fa54613ea56d737d7d93a2
parentb636c263896f4b010ed1ee276cc1429322664403
[Syntax] Introduce syntax trees

Summary:
A tooling-focused alternative to the AST. This commit focuses on the
memory-management strategy and the structure of the AST.

More to follow later:
  - Operations to mutate the syntax trees and corresponding textual
    replacements.
  - Mapping between clang AST nodes and syntax tree nodes.
  - More node types corresponding to the language constructs.

Reviewers: sammccall

Reviewed By: sammccall

Subscribers: llvm-commits, mgorny, cfe-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D61637

llvm-svn: 365355
clang/include/clang/Tooling/Syntax/BuildTree.h [new file with mode: 0644]
clang/include/clang/Tooling/Syntax/Nodes.h [new file with mode: 0644]
clang/include/clang/Tooling/Syntax/Tree.h [new file with mode: 0644]
clang/lib/Tooling/Syntax/BuildTree.cpp [new file with mode: 0644]
clang/lib/Tooling/Syntax/CMakeLists.txt
clang/lib/Tooling/Syntax/Nodes.cpp [new file with mode: 0644]
clang/lib/Tooling/Syntax/Tree.cpp [new file with mode: 0644]
clang/unittests/Tooling/Syntax/CMakeLists.txt
clang/unittests/Tooling/Syntax/TreeTest.cpp [new file with mode: 0644]