Don't need to pass the language as a string, just use hostLang.
authorthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Tue, 7 Oct 2008 20:58:05 +0000 (20:58 +0000)
committerthurston <thurston@052ea7fc-9027-0410-9066-f65837a77df0>
Tue, 7 Oct 2008 20:58:05 +0000 (20:58 +0000)
git-svn-id: http://svn.complang.org/ragel/trunk@485 052ea7fc-9027-0410-9066-f65837a77df0

ragel/parsedata.cpp
redfsm/xmlparse.kh
redfsm/xmlparse.kl

index 436d09b..24e133c 100644 (file)
@@ -1457,19 +1457,6 @@ void terminateAllParsers( )
                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 )
 {
@@ -1482,7 +1469,7 @@ void writeMachines( std::ostream &out, std::string hostData,
                }
 
                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 )
@@ -1520,7 +1507,7 @@ void writeMachines( std::ostream &out, std::string hostData,
                        /* 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;
                        }
index 1f4b209..ed10bc8 100644 (file)
@@ -165,7 +165,7 @@ struct XmlParser
        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 );
index a5239d9..5aadffc 100644 (file)
@@ -84,30 +84,30 @@ void genLineDirective( ostream &out )
        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 );
        }