[antlr-interest] C++ target Problem (typedef)
Oliver Kowalke
oliver.kowalke at gmx.de
Fri Feb 17 07:37:59 PST 2012
OK - traits header done.
Unfortunately I get another error:
error: antlr3traits.hpp:6:10: error: »antlr3« is not a type (using g++
4.6.1)
header antlr3traits.hpp is missing include directive for headers
(string, antlr3memory.hpp for instance)
regards,
Oliver
Am 17.02.2012 16:02, schrieb Gokulakannan Somasundaram:
> Thanks for testing the C++ grammar. Please do mention the compiler in
> which you are doing the testing.
>
> What you are seeing is not a bug. You should explicitly write a Traits
> file. If you look at the example, you might understand.
> After writing the TraitsFile, you have to include the file in @includes.
>
> Suppose you are generating legacyDevCfgLexer.hpp(.cpp) and
> legacyDevCfgParser.hpp(.cpp), then you write a TraitsFile like this.
>
> using namespace antlr3;
>
> namespace {yours} {
> #include <antlr3traits.hpp>
>
> typedef Traits<legacyDevCfgLexer, legacyDevCfgParser>
> legacyDevCfgTraits;
> typedef legacyDevCfgTraits legacyDevCfgLexerTraits;
> typedef legacyDevCfgTraits legacyDevCfgParserTraits;
> };
>
> This will create a traits definition with all defaults. The traits is
> required in C++, as we do change the definition at compile time using
> metaprogramming. Please let me know, if you need any help and let me
> know, if you find any bugs.
>
> Thanks,
> Gokul.
>
> On Fri, Feb 17, 2012 at 10:51 PM, Oliver Kowalke
> <oliver.kowalke at gmx.de <mailto:oliver.kowalke at gmx.de>> wrote:
>
> Hi,
>
> I'm happy to see a runtime for C++.
>
> Unfortunately I get an error:
> The grammer is named 'legacyDevCfg' and in the lexer header file
> (legacyDevCfgLexer.hpp) a typedef is declared:
>
> typedef legacyDevCfgLexerTraits legacyDevCfgLexerImplTraits;
>
> But legacyDevCfgLexerTraits is not defined in the files (grep
> legacyDevCfgLexerTraits *) :/
>
> echo $CLASSPATH
> /home/abc/Projekte/Antlr/antlr_with_cpp-3.4.jar
>
> g++ -W -Wall -g -pthread -I.-I./Cpp/include -c -o main.o main.cpp
>
> -> error: »legacyDevCfgLexerTraits« is not a type
>
> any ideas?
>
> thx,
> Oliver
>
> List: http://www.antlr.org/mailman/listinfo/antlr-interest
> Unsubscribe:
> http://www.antlr.org/mailman/options/antlr-interest/your-email-address
>
>
More information about the antlr-interest
mailing list