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 namespace antlr4 {
9   class ANTLRErrorListener;
10   class ANTLRErrorStrategy;
11   class ANTLRFileStream;
12   class ANTLRInputStream;
13   class BailErrorStrategy;
14   class BaseErrorListener;
15   class BufferedTokenStream;
16   class CharStream;
17   class CommonToken;
18   class CommonTokenFactory;
19   class CommonTokenStream;
20   class ConsoleErrorListener;
21   class DefaultErrorStrategy;
22   class DiagnosticErrorListener;
23   class EmptyStackException;
24   class FailedPredicateException;
25   class IllegalArgumentException;
26   class IllegalStateException;
27   class InputMismatchException;
28   class IntStream;
29   class InterpreterRuleContext;
30   class Lexer;
31   class LexerInterpreter;
32   class LexerNoViableAltException;
33   class ListTokenSource;
34   class NoSuchElementException;
35   class NoViableAltException;
36   class NullPointerException;
37   class ParseCancellationException;
38   class Parser;
39   class ParserInterpreter;
40   class ParserRuleContext;
41   class ProxyErrorListener;
42   class RecognitionException;
43   class Recognizer;
44   class RuleContext;
45   class Token;
46   template<typename Symbol> class TokenFactory;
47   class TokenSource;
48   class TokenStream;
49   class TokenStreamRewriter;
50   class UnbufferedCharStream;
51   class UnbufferedTokenStream;
52   class WritableToken;
53 
54   namespace misc {
55     class InterpreterDataReader;
56     class Interval;
57     class IntervalSet;
58     class MurmurHash;
59     class Utils;
60     class Predicate;
61   }
62   namespace atn {
63     class ATN;
64     class ATNConfig;
65     class ATNConfigSet;
66     class ATNDeserializationOptions;
67     class ATNDeserializer;
68     class ATNSerializer;
69     class ATNSimulator;
70     class ATNState;
71     enum class ATNType;
72     class AbstractPredicateTransition;
73     class ActionTransition;
74     class ArrayPredictionContext;
75     class AtomTransition;
76     class BasicBlockStartState;
77     class BasicState;
78     class BlockEndState;
79     class BlockStartState;
80     class DecisionState;
81     class EmptyPredictionContext;
82     class EpsilonTransition;
83     class LL1Analyzer;
84     class LexerAction;
85     class LexerActionExecutor;
86     class LexerATNConfig;
87     class LexerATNSimulator;
88     class LexerMoreAction;
89     class LexerPopModeAction;
90     class LexerSkipAction;
91     class LookaheadEventInfo;
92     class LoopEndState;
93     class NotSetTransition;
94     class OrderedATNConfigSet;
95     class ParseInfo;
96     class ParserATNSimulator;
97     class PlusBlockStartState;
98     class PlusLoopbackState;
99     class PrecedencePredicateTransition;
100     class PredicateTransition;
101     class PredictionContext;
102     enum class PredictionMode;
103     class PredictionModeClass;
104     class RangeTransition;
105     class RuleStartState;
106     class RuleStopState;
107     class RuleTransition;
108     class SemanticContext;
109     class SetTransition;
110     class SingletonPredictionContext;
111     class StarBlockStartState;
112     class StarLoopEntryState;
113     class StarLoopbackState;
114     class TokensStartState;
115     class Transition;
116     class WildcardTransition;
117   }
118   namespace dfa {
119     class DFA;
120     class DFASerializer;
121     class DFAState;
122     class LexerDFASerializer;
123     class Vocabulary;
124   }
125   namespace tree {
126     class AbstractParseTreeVisitor;
127     class ErrorNode;
128     class ErrorNodeImpl;
129     class ParseTree;
130     class ParseTreeListener;
131     template<typename T> class ParseTreeProperty;
132     class ParseTreeVisitor;
133     class ParseTreeWalker;
134     class SyntaxTree;
135     class TerminalNode;
136     class TerminalNodeImpl;
137     class Tree;
138     class Trees;
139 
140     namespace pattern {
141       class Chunk;
142       class ParseTreeMatch;
143       class ParseTreePattern;
144       class ParseTreePatternMatcher;
145       class RuleTagToken;
146       class TagChunk;
147       class TextChunk;
148       class TokenTagToken;
149     }
150 
151     namespace xpath {
152       class XPath;
153       class XPathElement;
154       class XPathLexerErrorListener;
155       class XPathRuleAnywhereElement;
156       class XPathRuleElement;
157       class XPathTokenAnywhereElement;
158       class XPathTokenElement;
159       class XPathWildcardAnywhereElement;
160       class XPathWildcardElement;
161     }
162   }
163 }
164