aboutsummaryrefslogtreecommitdiff
path: root/sgfyacc.py
diff options
context:
space:
mode:
Diffstat (limited to 'sgfyacc.py')
-rwxr-xr-xsgfyacc.py67
1 files changed, 0 insertions, 67 deletions
diff --git a/sgfyacc.py b/sgfyacc.py
deleted file mode 100755
index e48e6b9..0000000
--- a/sgfyacc.py
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/python
-
-# --------------------------------------
-# sgyacc.py
-""" Parser for SGF """
-# --------------------------------------
-
-import ply.yacc as yacc
-
-from imago.sgfParser.sgflex import tokens
-from imago.sgfParser.astNode import ASTNode, Property
-
-def p_tree(p):
- '''tree : LPAREN node RPAREN
- | LPAREN tree RPAREN'''
- p[0] = p[2]
-
-def p_node_sequence(p):
- '''node : node node'''
- p[1].addToSequence(p[2])
- p[0] = p[1]
-
-def p_node_tree(p):
- '''node : node tree'''
- p[1].children.append(p[2])
- p[0] = p[1]
-
-def p_node(p):
- 'node : SCOLON'
- p[0] = ASTNode()
-
-def p_node_prop(p):
- 'node : node property'
- p[1].props[p[2].name] = p[2].value
- p[0] = p[1]
-
-def p_property(p):
- 'property : PROPID PROPVALUE'
- p[0] = Property(p[1], p[2])
-
-def p_property_value(p):
- 'property : property PROPVALUE'
- p[1].addValue(p[2])
- p[0] = p[1]
-
-def p_error(_):
- """Error rule for syntax errors"""
- print("Syntax error in input!")
-
-def main():
-
- # Build the parser
- parser = yacc.yacc()
-
- s = ""
- while True:
- try:
- s = input('calc > ')
- except EOFError:
- break
- if not s:
- continue
- result = parser.parse(s)
- print(result.toString())
-
-if __name__ == '__main__':
- main()