xref: /aosp_15_r20/external/antlr/runtime/Cpp/tests/UserTestTraits.hpp (revision 16467b971bd3e2009fad32dd79016f2c7e421deb)
1*16467b97STreehugger Robot #ifndef	_T_TEST_TRAITS_H
2*16467b97STreehugger Robot #define	_T_TEST_TRAITS_H
3*16467b97STreehugger Robot 
4*16467b97STreehugger Robot // First thing we always do is include the ANTLR3 generated files, which
5*16467b97STreehugger Robot // will automatically include the antlr3 runtime header files.
6*16467b97STreehugger Robot // The compiler must use -I (or set the project settings in VS2005)
7*16467b97STreehugger Robot // to locate the antlr3 runtime files and -I. to find this file
8*16467b97STreehugger Robot #include <antlr3.hpp>
9*16467b97STreehugger Robot 
10*16467b97STreehugger Robot // Forward declaration for Lexer&Parser class(es)
11*16467b97STreehugger Robot namespace Antlr3Test {
12*16467b97STreehugger Robot 	class S1Lexer;
13*16467b97STreehugger Robot 	class S1Parser;
14*16467b97STreehugger Robot 
15*16467b97STreehugger Robot 	class t001lexer;
16*16467b97STreehugger Robot 	class t002lexer;
17*16467b97STreehugger Robot 	class t003lexer;
18*16467b97STreehugger Robot 	class t004lexer;
19*16467b97STreehugger Robot 	class t005lexer;
20*16467b97STreehugger Robot 	class t006lexer;
21*16467b97STreehugger Robot 	class t007lexer;
22*16467b97STreehugger Robot 	class t008lexer;
23*16467b97STreehugger Robot 	class t009lexer;
24*16467b97STreehugger Robot 	class t010lexer;
25*16467b97STreehugger Robot 	class t011lexer;
26*16467b97STreehugger Robot 	class t012lexerXMLLexer;
27*16467b97STreehugger Robot 	class t051lexer;
28*16467b97STreehugger Robot 
29*16467b97STreehugger Robot 	class t039labelsLexer;
30*16467b97STreehugger Robot 	class t039labelsParser;
31*16467b97STreehugger Robot };
32*16467b97STreehugger Robot 
33*16467b97STreehugger Robot namespace Antlr3Test {
34*16467b97STreehugger Robot 
35*16467b97STreehugger Robot 	//code for overriding
36*16467b97STreehugger Robot 	template<class ImplTraits>
37*16467b97STreehugger Robot 	class UserTraits : public antlr3::CustomTraitsBase<ImplTraits>
38*16467b97STreehugger Robot 	{
39*16467b97STreehugger Robot 	public:
40*16467b97STreehugger Robot 	};
41*16467b97STreehugger Robot 
42*16467b97STreehugger Robot 	// Even Lexer only samples need some Parser class as a template parameter
43*16467b97STreehugger Robot 	class NoParser {
44*16467b97STreehugger Robot 	};
45*16467b97STreehugger Robot 
46*16467b97STreehugger Robot 	// Instantiate the Traits class(will be used for Lexer/Parser template instantiations)
47*16467b97STreehugger Robot 	typedef antlr3::Traits<S1Lexer, S1Parser, UserTraits> S1LexerTraits;
48*16467b97STreehugger Robot 	typedef antlr3::Traits<S1Lexer, S1Parser, UserTraits> S1ParserTraits;
49*16467b97STreehugger Robot 
50*16467b97STreehugger Robot 	typedef antlr3::Traits<t001lexer, NoParser, UserTraits> t001lexerTraits;
51*16467b97STreehugger Robot 	typedef antlr3::Traits<t002lexer, NoParser, UserTraits> t002lexerTraits;
52*16467b97STreehugger Robot 	typedef antlr3::Traits<t003lexer, NoParser, UserTraits> t003lexerTraits;
53*16467b97STreehugger Robot 	typedef antlr3::Traits<t004lexer, NoParser, UserTraits> t004lexerTraits;
54*16467b97STreehugger Robot 	typedef antlr3::Traits<t005lexer, NoParser, UserTraits> t005lexerTraits;
55*16467b97STreehugger Robot 	typedef antlr3::Traits<t006lexer, NoParser, UserTraits> t006lexerTraits;
56*16467b97STreehugger Robot 	typedef antlr3::Traits<t007lexer, NoParser, UserTraits> t007lexerTraits;
57*16467b97STreehugger Robot 	typedef antlr3::Traits<t008lexer, NoParser, UserTraits> t008lexerTraits;
58*16467b97STreehugger Robot 	typedef antlr3::Traits<t009lexer, NoParser, UserTraits> t009lexerTraits;
59*16467b97STreehugger Robot 	typedef antlr3::Traits<t010lexer, NoParser, UserTraits> t010lexerTraits;
60*16467b97STreehugger Robot 	typedef antlr3::Traits<t011lexer, NoParser, UserTraits> t011lexerTraits;
61*16467b97STreehugger Robot 	typedef antlr3::Traits<t012lexerXMLLexer, NoParser, UserTraits> t012lexerXMLLexerTraits;
62*16467b97STreehugger Robot 	typedef antlr3::Traits<t051lexer, NoParser, UserTraits> t051lexerTraits;
63*16467b97STreehugger Robot 
64*16467b97STreehugger Robot 	typedef antlr3::Traits<t039labelsLexer, t039labelsParser, UserTraits> t039labelsLexerTraits;
65*16467b97STreehugger Robot 	typedef t039labelsLexerTraits t039labelsParserTraits;
66*16467b97STreehugger Robot };
67*16467b97STreehugger Robot 
68*16467b97STreehugger Robot #endif
69