X7ROOT File Manager
Current Path:
/usr/share/doc/python-ply-3.4/example/BASIC
usr
/
share
/
doc
/
python-ply-3.4
/
example
/
BASIC
/
📁
..
📄
README
(2.45 KB)
📄
basic.py
(1.5 KB)
📄
basiclex.py
(1.15 KB)
📄
basiclog.py
(1.65 KB)
📄
basinterp.py
(16.88 KB)
📄
basparse.py
(8.69 KB)
📄
dim.bas
(224 B)
📄
func.bas
(73 B)
📄
gcd.bas
(359 B)
📄
gosub.bas
(216 B)
📄
hello.bas
(57 B)
📄
linear.bas
(420 B)
📄
maxsin.bas
(217 B)
📄
powers.bas
(268 B)
📄
rand.bas
(60 B)
📄
sales.bas
(375 B)
📄
sears.bas
(481 B)
📄
sqrt1.bas
(78 B)
📄
sqrt2.bas
(56 B)
Editing: basiclog.py
# An implementation of Dartmouth BASIC (1964) # import sys sys.path.insert(0,"../..") if sys.version_info[0] >= 3: raw_input = input import logging logging.basicConfig( level = logging.INFO, filename = "parselog.txt", filemode = "w" ) log = logging.getLogger() import basiclex import basparse import basinterp # If a filename has been specified, we try to run it. # If a runtime error occurs, we bail out and enter # interactive mode below if len(sys.argv) == 2: data = open(sys.argv[1]).read() prog = basparse.parse(data,debug=log) if not prog: raise SystemExit b = basinterp.BasicInterpreter(prog) try: b.run() raise SystemExit except RuntimeError: pass else: b = basinterp.BasicInterpreter({}) # Interactive mode. This incrementally adds/deletes statements # from the program stored in the BasicInterpreter object. In # addition, special commands 'NEW','LIST',and 'RUN' are added. # Specifying a line number with no code deletes that line from # the program. while 1: try: line = raw_input("[BASIC] ") except EOFError: raise SystemExit if not line: continue line += "\n" prog = basparse.parse(line,debug=log) if not prog: continue keys = list(prog) if keys[0] > 0: b.add_statements(prog) else: stat = prog[keys[0]] if stat[0] == 'RUN': try: b.run() except RuntimeError: pass elif stat[0] == 'LIST': b.list() elif stat[0] == 'BLANK': b.del_line(stat[1]) elif stat[0] == 'NEW': b.new()
Upload File
Create Folder