Просмотр исходного кода

Removed prototype function grammar.

Taddeus Kroes 14 лет назад
Родитель
Сommit
f319783e77
2 измененных файлов с 2 добавлено и 47 удалено
  1. 0 2
      src/node.py
  2. 2 45
      src/parser.py

+ 0 - 2
src/node.py

@@ -98,8 +98,6 @@ TOKEN_MAP = {
         OP_REWRITE: 'REWRITE',
         OP_REWRITE: 'REWRITE',
         }
         }
 
 
-FUNCTIONS = [OP_SQRT, OP_SIN, OP_COS, OP_TAN, OP_INT, OP_SOLVE]
-
 
 
 def to_expression(obj):
 def to_expression(obj):
     return obj if isinstance(obj, ExpressionBase) else ExpressionLeaf(obj)
     return obj if isinstance(obj, ExpressionBase) else ExpressionLeaf(obj)

+ 2 - 45
src/parser.py

@@ -314,7 +314,6 @@ class Parser(BisonParser):
         """
         """
         exp : NUMBER
         exp : NUMBER
             | IDENTIFIER
             | IDENTIFIER
-            | function
             | LPAREN exp RPAREN
             | LPAREN exp RPAREN
             | unary
             | unary
             | binary
             | binary
@@ -330,13 +329,10 @@ class Parser(BisonParser):
         if option == 1:  # rule: IDENTIFIER
         if option == 1:  # rule: IDENTIFIER
             return Leaf(values[0])
             return Leaf(values[0])
 
 
-        if option == 2:  # rule: function
-            return values[0]
-
-        if option == 3:  # rule: LPAREN exp RPAREN
+        if option == 2:  # rule: LPAREN exp RPAREN
             return values[1]
             return values[1]
 
 
-        if option in [4, 5, 6]:  # rule: unary | binary | nary
+        if option in [3, 4, 5]:  # rule: unary | binary | nary
             return values[0]
             return values[0]
 
 
         raise BisonSyntaxError('Unsupported option %d in target "%s".'
         raise BisonSyntaxError('Unsupported option %d in target "%s".'
@@ -409,45 +405,6 @@ class Parser(BisonParser):
         raise BisonSyntaxError('Unsupported option %d in target "%s".'
         raise BisonSyntaxError('Unsupported option %d in target "%s".'
                                % (option, target))  # pragma: nocover
                                % (option, target))  # pragma: nocover
 
 
-    def on_function(self, target, option, names, values):
-        """
-        function : function_name LPAREN arglist RPAREN
-        """
-
-        if option == 0:  # rule: function_name LPAREN arglist RPAREN
-            print 'FUNCTION:', values[0], values[2]
-            return Node(values[0], *values[2])
-
-        raise BisonSyntaxError('Unsupported option %d in target "%s".'
-                               % (option, target))  # pragma: nocover
-
-    def on_function_name(self, target, option, names, values):
-        """
-        function_name : SQRT | SIN | COS | TAN | INT | SOLVE
-        """
-
-        if 0 <= option <= 5:  # rule: SQRT | SIN | COS | TAN | INT | SOLVE
-            return values[0]
-            #return TOKEN_OP_MAP[values[0]]
-
-        raise BisonSyntaxError('Unsupported option %d in target "%s".'
-                               % (option, target))  # pragma: nocover
-
-    def on_arglist(self, target, option, names, values):
-        """
-        arglist : arglist COMMA exp
-                | exp
-        """
-
-        if option == 0:  # rule: arglist COMMA exp
-            return values[0] + [values[2]]
-
-        if option == 1:  # rule: exp
-            return [values[0]]
-
-        raise BisonSyntaxError('Unsupported option %d in target "%s".'
-                               % (option, target))  # pragma: nocover
-
     # -----------------------------------------
     # -----------------------------------------
     # operator tokens
     # operator tokens
     # -----------------------------------------
     # -----------------------------------------