Implemented an export feature, for exporting single-character machine
[external/ragel.git] / ragel / rlparse.kh
index ac8cb47..3af05b9 100644 (file)
@@ -78,7 +78,8 @@ struct Parser
 
        # Keywords.
        token KW_Action, KW_AlphType, KW_Range, KW_GetKey, KW_Include, KW_Write,
-               KW_Machine, KW_When, KW_Eof, KW_Err, KW_Lerr, KW_To, KW_From;
+               KW_Machine, KW_When, KW_Eof, KW_Err, KW_Lerr, KW_To, KW_From,
+               KW_Export, KW_Entry;
 
        # Specials in code blocks.
        token KW_Break, KW_Exec, KW_Hold, KW_PChar, KW_Char, KW_Goto, KW_Call,
@@ -100,6 +101,8 @@ struct Parser
                : sectionName(sectionName)
        {
                pd = new ParseData( fileName, sectionName, sectionLoc );
+               exportContext.append( false );
+               entryContext.append( false );
        }
 
        int token( InputLoc &loc, int tokId, char *tokstart, int toklen );
@@ -116,6 +119,9 @@ struct Parser
 
        NameRef nameRef;
        NameRefList nameRefList;
+
+       Vector<bool> exportContext;
+       Vector<bool> entryContext;
 };
 
 %% write token_defs;