diff options
Diffstat (limited to 'src/sexpr/parser.py')
-rw-r--r-- | src/sexpr/parser.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/sexpr/parser.py b/src/sexpr/parser.py new file mode 100644 index 0000000..d638259 --- /dev/null +++ b/src/sexpr/parser.py @@ -0,0 +1,25 @@ +class SExpr(object): + ''' print a SExpr + ''' + __slots__ = ('_value') + name = 'sexpr::SExpr' + enabled = True + + def __init__(self, value): + self._value = value + + def to_string(self): + return None + + def children(self): + v = self._value + t = v['_type'] + if t == 0: + yield '(list)', v['_list'] + if t == 1: + yield '(int)', v['_int'] + if t == 2: + yield '(str)', v['_str'] + if t == 3: + yield '(token)', v['_str'] + yield '_span', v['_span'] |