summaryrefslogtreecommitdiffstats
path: root/chall/ply-2.2/example/BASIC/basiclex.py
diff options
context:
space:
mode:
Diffstat (limited to 'chall/ply-2.2/example/BASIC/basiclex.py')
-rw-r--r--chall/ply-2.2/example/BASIC/basiclex.py74
1 files changed, 0 insertions, 74 deletions
diff --git a/chall/ply-2.2/example/BASIC/basiclex.py b/chall/ply-2.2/example/BASIC/basiclex.py
deleted file mode 100644
index 463ef9b..0000000
--- a/chall/ply-2.2/example/BASIC/basiclex.py
+++ /dev/null
@@ -1,74 +0,0 @@
-# An implementation of Dartmouth BASIC (1964)
-
-from ply import *
-
-keywords = (
- 'LET','READ','DATA','PRINT','GOTO','IF','THEN','FOR','NEXT','TO','STEP',
- 'END','STOP','DEF','GOSUB','DIM','REM','RETURN','RUN','LIST','NEW',
-)
-
-tokens = keywords + (
- 'EQUALS','PLUS','MINUS','TIMES','DIVIDE','POWER',
- 'LPAREN','RPAREN','LT','LE','GT','GE','NE',
- 'COMMA','SEMI', 'INTEGER','FLOAT', 'STRING',
- 'ID','NEWLINE'
-)
-
-t_ignore = ' \t'
-
-def t_REM(t):
- r'REM .*'
- return t
-
-def t_ID(t):
- r'[A-Z][A-Z0-9]*'
- if t.value in keywords:
- t.type = t.value
- return t
-
-t_EQUALS = r'='
-t_PLUS = r'\+'
-t_MINUS = r'-'
-t_TIMES = r'\*'
-t_POWER = r'\^'
-t_DIVIDE = r'/'
-t_LPAREN = r'\('
-t_RPAREN = r'\)'
-t_LT = r'<'
-t_LE = r'<='
-t_GT = r'>'
-t_GE = r'>='
-t_NE = r'<>'
-t_COMMA = r'\,'
-t_SEMI = r';'
-t_INTEGER = r'\d+'
-t_FLOAT = r'((\d*\.\d+)(E[\+-]?\d+)?|([1-9]\d*E[\+-]?\d+))'
-t_STRING = r'\".*?\"'
-
-def t_NEWLINE(t):
- r'\n'
- t.lexer.lineno += 1
- return t
-
-def t_error(t):
- print "Illegal character", t.value[0]
- t.lexer.skip(1)
-
-lex.lex()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-