This commit is contained in:
dom96 2011-04-04 23:12:24 +01:00
commit ffd05510bd
2 changed files with 19 additions and 2 deletions

View file

@ -0,0 +1,17 @@
import macros
macro case_token(n: stmt): stmt =
# creates a lexical analyzer from regular expressions
# ... (implementation is an exercise for the reader :-)
nil
case_token: # this colon tells the parser it is a macro statement
of r"[A-Za-z_]+[A-Za-z_0-9]*":
return tkIdentifier
of r"0-9+":
return tkInteger
of r"[\+\-\*\?]+":
return tkOperator
else:
return tkUnknown
case_token: inc i