summaryrefslogtreecommitdiff
path: root/java/src/Yylex.lex
blob: fc41453fbad8aa5b3330ed152c690caae7a6fe64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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=.

%%

<YYINITIAL> dynamic {return new java_cup.runtime.token (sym.ACE_DYNAMIC); }
<YYINITIAL> static { return new java_cup.runtime.token (sym.ACE_STATIC); }
<YYINITIAL> suspend { return new java_cup.runtime.token (sym.ACE_SUSPEND); }
<YYINITIAL> resume { return new java_cup.runtime.token (sym.ACE_RESUME); }
<YYINITIAL> remove { return new java_cup.runtime.token (sym.ACE_REMOVE); }
<YYINITIAL> stream { return new java_cup.runtime.token (sym.ACE_USTREAM); }
<YYINITIAL> Module { return new java_cup.runtime.token (sym.ACE_MODULE_T); }
<YYINITIAL> Service_Object { return new java_cup.runtime.token (sym.ACE_SVC_OBJ_T); }
<YYINITIAL> STREAM { return new java_cup.runtime.token (sym.ACE_STREAM_T); }
<YYINITIAL> active { return new java_cup.runtime.token (sym.ACE_ACTIVE); }
<YYINITIAL> inactive { return new java_cup.runtime.token (sym.ACE_INACTIVE); }
<YYINITIAL> ":" { return new java_cup.runtime.token (sym.ACE_COLON); }
<YYINITIAL> \" {
  yybegin(PARAMS);
  params = new String();
}
<YYINITIAL> "#" { yybegin(COMMENT); }
<YYINITIAL> "*" { return new java_cup.runtime.token (sym.ACE_STAR); }
<YYINITIAL> "(" { return new java_cup.runtime.token (sym.ACE_LPAREN); }
<YYINITIAL> ")" { return new java_cup.runtime.token (sym.ACE_RPAREN); }
<YYINITIAL> "{" { return new java_cup.runtime.token (sym.ACE_LBRACE); }
<YYINITIAL> "}" { return new java_cup.runtime.token (sym.ACE_RBRACE); }
<YYINITIAL> {WHITE_SPACE}* { /* Skip all white space */ }
<YYINITIAL> {ALPHA}({ALPHA}|{DIGIT}|_)* { 
  return new java_cup.runtime.str_token (sym.ACE_IDENT, yytext()); 
}
<YYINITIAL> {PATHNAME}* { 
  return new java_cup.runtime.str_token (sym.ACE_PATHNAME, yytext()); 
}
<YYINITIAL> {NEWLINE} { /* Empty */ }
<YYINITIAL> {OTHER} { 
  ACE.ERROR ("Unknown text, line " + (yyline + 1) + ": \"" + yytext() + "\""); 
  return new java_cup.runtime.str_token (sym.error); 
}
<PARAMS> [\"\n] {
  yybegin(YYINITIAL);
  return new java_cup.runtime.str_token (sym.ACE_STRING, params);
}
<PARAMS> . {
  params = params + yytext();
}
<COMMENT> {NEWLINE} { yybegin(YYINITIAL); }
<COMMENT> {OTHER} { /* Skip everything on a comment line */ }