]> granicus.if.org Git - clang/commit
[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)
commit001a843fb3bc7ab567eb605322df07471c1a4583
tree56bc814e5e16e3b213755306f8459fcc9c58d622
parent1e2d469d844f91553ec5c60ecb2a0335fcda3950
[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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@365355 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Tooling/Syntax/BuildTree.h [new file with mode: 0644]
include/clang/Tooling/Syntax/Nodes.h [new file with mode: 0644]
include/clang/Tooling/Syntax/Tree.h [new file with mode: 0644]
lib/Tooling/Syntax/BuildTree.cpp [new file with mode: 0644]
lib/Tooling/Syntax/CMakeLists.txt
lib/Tooling/Syntax/Nodes.cpp [new file with mode: 0644]
lib/Tooling/Syntax/Tree.cpp [new file with mode: 0644]
unittests/Tooling/Syntax/CMakeLists.txt
unittests/Tooling/Syntax/TreeTest.cpp [new file with mode: 0644]