> Le 30 janv. 2015 à 15:40, Laurence Finston <laurence.fins...@gmx.de> a écrit : > > Hello, > >> My current project is for my work and I'm not allowed to publish any code. >> However, I used three scanner/parser pairs in a >> recent project for my previous job and it can be downloaded from Github: >> https://github.com/gwdg/gwrdifpk > > I should have mentioned that the scanner and parser code is in the following > files in the /gwrdifpk/src directory: > > scanner.web > scnrclnt.web > scnrcln2.web > > parser.web > prsrclnt.web > prsrcln2.web > > It was also a fairly complex project, so I doubt that would be worth the > effort of trying to get it to build. There is a manual in the gwrdifpk/doc, > however, in case anyone is interested.
Well, FWIW, I am also using two parsers and two scanners, both in C++, based on Flex (C++) and Bison (C++). That's here: https://gitlab.lrde.epita.fr/vcsn/vaucanson.git For instance in lib/vcsn/dot/parse.yy, there is: %code provides { #define YY_DECL_(Class) \ parser::symbol_type Class lex(driver& driver_) #define YY_DECL YY_DECL_(yyFlexLexer::) } %define api.namespace {vcsn::detail::dot} %define api.value.type variant %define api.location.type {vcsn::rat::location} %define api.token.constructor I don't use api.prefix, api.namespace is better suited to C++.