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