package JACE.ServiceConfigurator; import java.io.*; import JACE.OS.*; import java_cup.runtime.*; // This was written for JLex version 1.2 %% // Return a java_cup.runtime.token instead of a Yytoken from yylex() %type java_cup.runtime.token %{ // Used to assemble the parameter string for a service private String params; %} %eofval{ return new java_cup.runtime.token (sym.EOF); %eofval} %line %state COMMENT %state PARAMS ALPHA=[A-Za-z_] DIGIT=[0-9] WHITE_SPACE=[\ \t\b\012] PATHNAME=[\.\\\/A-Za-z_\-0-9] NEWLINE=\n OTHER=. %% dynamic {return new java_cup.runtime.token (sym.ACE_DYNAMIC); } static { return new java_cup.runtime.token (sym.ACE_STATIC); } suspend { return new java_cup.runtime.token (sym.ACE_SUSPEND); } resume { return new java_cup.runtime.token (sym.ACE_RESUME); } remove { return new java_cup.runtime.token (sym.ACE_REMOVE); } stream { return new java_cup.runtime.token (sym.ACE_USTREAM); } Module { return new java_cup.runtime.token (sym.ACE_MODULE_T); } Service_Object { return new java_cup.runtime.token (sym.ACE_SVC_OBJ_T); } STREAM { return new java_cup.runtime.token (sym.ACE_STREAM_T); } active { return new java_cup.runtime.token (sym.ACE_ACTIVE); } inactive { return new java_cup.runtime.token (sym.ACE_INACTIVE); } ":" { return new java_cup.runtime.token (sym.ACE_COLON); } \" { yybegin(PARAMS); params = new String(); } "#" { yybegin(COMMENT); } "*" { return new java_cup.runtime.token (sym.ACE_STAR); } "(" { return new java_cup.runtime.token (sym.ACE_LPAREN); } ")" { return new java_cup.runtime.token (sym.ACE_RPAREN); } "{" { return new java_cup.runtime.token (sym.ACE_LBRACE); } "}" { return new java_cup.runtime.token (sym.ACE_RBRACE); } {WHITE_SPACE}* { /* Skip all white space */ } {ALPHA}({ALPHA}|{DIGIT}|_)* { return new java_cup.runtime.str_token (sym.ACE_IDENT, yytext()); } {PATHNAME}* { return new java_cup.runtime.str_token (sym.ACE_PATHNAME, yytext()); } {NEWLINE} { /* Empty */ } {OTHER} { ACE.ERROR ("Unknown text, line " + (yyline + 1) + ": \"" + yytext() + "\""); return new java_cup.runtime.str_token (sym.error); } [\"\n] { yybegin(YYINITIAL); return new java_cup.runtime.str_token (sym.ACE_STRING, params); } . { params = params + yytext(); } {NEWLINE} { yybegin(YYINITIAL); } {OTHER} { /* Skip everything on a comment line */ }