pdel->value->token( loc, Parser_tk_eof, 0, 0 );
}
-const char *getLang()
-{
- const char *lang = 0;
- switch ( hostLang->lang ) {
- case HostLang::C: lang = "C"; break;
- case HostLang::D: lang = "D"; break;
- case HostLang::Java: lang = "Java"; break;
- case HostLang::Ruby: lang = "Ruby"; break;
- case HostLang::CSharp: lang = "C#"; break;
- }
- return lang;
-}
-
void writeMachines( std::ostream &out, std::string hostData,
const char *inputFileName, XmlParser &xmlParser )
{
}
if ( gblErrorCount == 0 ) {
- xmlParser.ragel( VERSION, inputFileName, getLang() );
+ xmlParser.ragel( inputFileName );
for ( ParserDict::Iter parser = parserDict; parser.lte(); parser++ ) {
ParseData *pd = parser->value->pd;
if ( pd->instanceList.length() > 0 )
/* Section/Machine to emit was found. Prepare and emit it. */
parseData->prepareMachineGen( graphDictEl );
if ( gblErrorCount == 0 ) {
- xmlParser.ragel( VERSION, inputFileName, getLang() );
+ xmlParser.ragel( inputFileName );
parseData->generateXML( out );
out << hostData;
}
int token( int tokenId, int col, int line );
int token( XMLTag *tag, int col, int line );
- void ragel( const char *version, const char *fileName, const char *lang );
+ void ragel( const char *fileName );
/* Report an error encountered by the parser. */
ostream &warning( const GenInputLoc &loc );
lineDirective( out, filter->fileName, filter->line + 1 );
}
-void XmlParser::ragel( const char *version, const char *fileName, const char *lang )
+void XmlParser::ragel( const char *fileName )
{
/* Check for file name attribute. */
sourceFileName = fileName;
if ( generateDot )
outStream = dotOpenOutput( sourceFileName );
- else if ( strcmp( lang, "C" ) == 0 ) {
+ else if ( hostLang->lang == HostLang::C ) {
hostLang = &hostLangC;
outStream = cdOpenOutput( sourceFileName );
}
- else if ( strcmp( lang, "D" ) == 0 ) {
+ else if ( hostLang->lang == HostLang::D ) {
hostLang = &hostLangD;
outStream = cdOpenOutput( sourceFileName );
}
- else if ( strcmp( lang, "Java" ) == 0 ) {
+ else if ( hostLang->lang == HostLang::Java ) {
hostLang = &hostLangJava;
outStream = javaOpenOutput( sourceFileName );
}
- else if ( strcmp( lang, "Ruby" ) == 0 ) {
+ else if ( hostLang->lang == HostLang::Ruby ) {
hostLang = &hostLangRuby;
outStream = rubyOpenOutput( sourceFileName );
}
- else if ( strcmp( lang, "C#" ) == 0 ) {
+ else if ( hostLang->lang == HostLang::CSharp ) {
hostLang = &hostLangCSharp;
outStream = csharpOpenOutput( sourceFileName );
}