; SILex - Scheme Implementation of Lex ; Copyright (C) 2001 Danny Dube' space " " tab " " comment ";".* hblank {space}|{tab}|{comment} vblank "\n" digit [0123456789] letter [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] specini "!"|"$"|"%"|"&"|"*"|"/"|":"|"<"|"="|">"|"?"|"~"|"_"|"^" specsub "."|"+"|"-" initial {letter}|{specini} subseq {letter}|{digit}|{specini}|{specsub} peculid "+"|"-"|"..." id {initial}{subseq}*|{peculid} %% {hblank} (make-tok hblank-tok yytext yyline) {vblank} (make-tok vblank-tok yytext yyline) "|" (make-tok pipe-tok yytext yyline) "?" (make-tok question-tok yytext yyline) "+" (make-tok plus-tok yytext yyline) "*" (make-tok star-tok yytext yyline) "(" (make-tok lpar-tok yytext yyline) ")" (make-tok rpar-tok yytext yyline) "." (make-tok dot-tok yytext yyline) "[" (make-tok lbrack-tok yytext yyline) "[]" (make-tok lbrack-rbrack-tok yytext yyline) "[^" (make-tok lbrack-caret-tok yytext yyline) "[-" (make-tok lbrack-minus-tok yytext yyline) "{"{id}"}" (parse-id-ref yytext yyline) "{"{digit}+"}" (parse-power-m yytext yyline) "{"{digit}+",}" (parse-power-m-inf yytext yyline) "{"{digit}+","{digit}+"}" (parse-power-m-n yytext yyline) "{" (make-tok illegal-tok yytext yyline) "\"" (make-tok doublequote-tok yytext yyline) "\\n" (parse-spec-char yytext yyline) "\\"{digit}+ (parse-digits-char yytext yyline) "\\-"{digit}+ (parse-digits-char yytext yyline) "\\"[^] (parse-quoted-char yytext yyline) "^" (make-tok caret-tok yytext yyline) "$" (make-tok dollar-tok yytext yyline) . (parse-ordinary-char yytext yyline) "<>" (make-tok <>-tok yytext yyline) "<>" (make-tok <>-tok yytext yyline) <> (make-tok eof-tok yytext yyline)