Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/parse/cm.lex
ViewVC logotype

Diff of /sml/trunk/src/cm/parse/cm.lex

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 631, Fri Apr 28 08:30:52 2000 UTC revision 632, Sat Apr 29 15:50:42 2000 UTC
# Line 7  Line 7 
7   * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)   * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)
8   *)   *)
9    
10    structure S = CMSemant
11    
12  type svalue = Tokens.svalue  type svalue = Tokens.svalue
13  type pos = int  type pos = int
14    
# Line 64  Line 66 
66                ("funsig", Tokens.FUNSIG)]                ("funsig", Tokens.FUNSIG)]
67    
68  val pp_ids = [("defined", Tokens.DEFINED),  val pp_ids = [("defined", Tokens.DEFINED),
69                ("div", Tokens.DIV),                ("div", fn (x, y) => Tokens.MULSYM (S.DIV, x, y)),
70                ("mod", Tokens.MOD),                ("mod", fn (x, y) => Tokens.MULSYM (S.MOD, x, y)),
71                ("andalso", Tokens.ANDALSO),                ("andalso", Tokens.ANDALSO),
72                ("orelse", Tokens.ORELSE),                ("orelse", Tokens.ORELSE),
73                ("not", Tokens.NOT)]                ("not", Tokens.NOT)]
# Line 195  Line 197 
197  <INITIAL,P>"("          => (Tokens.LPAREN (yypos, yypos + 1));  <INITIAL,P>"("          => (Tokens.LPAREN (yypos, yypos + 1));
198  <INITIAL,P>")"          => (Tokens.RPAREN (yypos, yypos + 1));  <INITIAL,P>")"          => (Tokens.RPAREN (yypos, yypos + 1));
199  <INITIAL>":"            => (Tokens.COLON (yypos, yypos + 1));  <INITIAL>":"            => (Tokens.COLON (yypos, yypos + 1));
200  <P>"+"                  => (Tokens.PLUS (yypos, yypos + 1));  <P>"+"                  => (Tokens.ADDSYM (S.PLUS, yypos, yypos + 1));
201  <P>"-"                  => (Tokens.MINUS (yypos, yypos + 1));  <P>"-"                  => (Tokens.ADDSYM (S.MINUS, yypos, yypos + 1));
202  <P>"*"                  => (Tokens.TIMES (yypos, yypos + 1));  <P>"*"                  => (Tokens.MULSYM (S.TIMES, yypos, yypos + 1));
203  <P>"<>"                 => (Tokens.NE (yypos, yypos + 2));  <P>"<>"                 => (Tokens.EQSYM (S.NE, yypos, yypos + 2));
204  <P>"!="                 => (obsolete (yypos, yypos + 2);  <P>"!="                 => (obsolete (yypos, yypos + 2);
205                              Tokens.NE (yypos, yypos+2));                              Tokens.EQSYM (S.NE, yypos, yypos+2));
206  <P>"<="                 => (Tokens.LE (yypos, yypos + 2));  <P>"<="                 => (Tokens.INEQSYM (S.LE, yypos, yypos + 2));
207  <P>"<"                  => (Tokens.LT (yypos, yypos + 1));  <P>"<"                  => (Tokens.INEQSYM (S.LT, yypos, yypos + 1));
208  <P>">="                 => (Tokens.GE (yypos, yypos + 2));  <P>">="                 => (Tokens.INEQSYM (S.GE, yypos, yypos + 2));
209  <P>">"                  => (Tokens.GT (yypos, yypos + 1));  <P>">"                  => (Tokens.INEQSYM (S.GT, yypos, yypos + 1));
210  <P>"=="                 => (obsolete (yypos, yypos + 2);  <P>"=="                 => (obsolete (yypos, yypos + 2);
211                              Tokens.EQ (yypos, yypos + 2));                              Tokens.EQSYM (S.EQ, yypos, yypos + 2));
212  <P>"="                  => (Tokens.EQ (yypos, yypos + 1));  <P>"="                  => (Tokens.EQSYM (S.EQ, yypos, yypos + 1));
213  <P>"~"                  => (Tokens.TILDE (yypos, yypos + 1));  <P>"~"                  => (Tokens.TILDE (yypos, yypos + 1));
214    
215  <P>{digit}+             => (Tokens.NUMBER  <P>{digit}+             => (Tokens.NUMBER
# Line 221  Line 223 
223  <P>{id}                 => (idToken (yytext, yypos, pp_ids, Tokens.CM_ID,  <P>{id}                 => (idToken (yytext, yypos, pp_ids, Tokens.CM_ID,
224                                       fn () => YYBEGIN PM));                                       fn () => YYBEGIN PM));
225  <P>"/"                  => (obsolete (yypos, yypos + 1);  <P>"/"                  => (obsolete (yypos, yypos + 1);
226                              Tokens.DIV (yypos, yypos + 1));                              Tokens.MULSYM (S.DIV, yypos, yypos + 1));
227  <P>"%"                  => (obsolete (yypos, yypos + 1);  <P>"%"                  => (obsolete (yypos, yypos + 1);
228                              Tokens.MOD (yypos, yypos + 1));                              Tokens.MULSYM (S.MOD, yypos, yypos + 1));
229  <P>"&&"                 => (obsolete (yypos, yypos + 2);  <P>"&&"                 => (obsolete (yypos, yypos + 2);
230                              Tokens.ANDALSO (yypos, yypos + 2));                              Tokens.ANDALSO (yypos, yypos + 2));
231  <P>"||"                 => (obsolete (yypos, yypos + 2);  <P>"||"                 => (obsolete (yypos, yypos + 2);

Legend:
Removed from v.631  
changed lines
  Added in v.632

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0