Files
gll/examples/bf.py
2017-02-24 18:38:35 +01:00

19 lines
490 B
Python

import gll
def loop(string):
parser = gll.seq(gll.skip(gll.string("[")),
gll.many(op),
gll.skip(gll.string("]")),
tag="loop")
return parser(string)
op = (gll.string("+", tag="add") |
gll.string("-", tag="sub") |
gll.string(".", tag="out") |
gll.string(",", tag="in") |
gll.string(">", tag="fwd") |
gll.string("<", tag="bck") |
loop)
parser = gll.all(gll.many(op), tag="program")