]> gitweb.ps.run Git - toc/blob - antlr4-cpp-runtime-4.9.2-source/runtime/src/tree/TerminalNode.h
add antlr source code and ReadMe
[toc] / antlr4-cpp-runtime-4.9.2-source / runtime / src / tree / TerminalNode.h
1 /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2  * Use of this file is governed by the BSD 3-clause license that
3  * can be found in the LICENSE.txt file in the project root.
4  */
5
6 #pragma once
7
8 #include "tree/ParseTree.h"
9
10 namespace antlr4 {
11 namespace tree {
12
13   class ANTLR4CPP_PUBLIC TerminalNode : public ParseTree {
14   public:
15     ~TerminalNode() override;
16
17     virtual Token* getSymbol() = 0;
18
19     /** Set the parent for this leaf node.
20      *
21      *  Technically, this is not backward compatible as it changes
22      *  the interface but no one was able to create custom
23      *  TerminalNodes anyway so I'm adding as it improves internal
24      *  code quality.
25      *
26      *  @since 4.7
27      */
28     virtual void setParent(RuleContext *parent) = 0;
29   };
30
31 } // namespace tree
32 } // namespace antlr4