diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2014-03-17 00:34:31 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2014-03-17 00:34:31 +0200 |
commit | 4ab3dc440bca368deb96ce550ddfd8e9d7de90e7 (patch) | |
tree | 1bf88cfd2a7088bb23117ed648f8b118443a3a77 /nodes.py | |
parent | 8a02b9da394527b4ec7a6a452d6610327343bbd3 (diff) | |
download | meson-4ab3dc440bca368deb96ce550ddfd8e9d7de90e7.zip meson-4ab3dc440bca368deb96ce550ddfd8e9d7de90e7.tar.gz meson-4ab3dc440bca368deb96ce550ddfd8e9d7de90e7.tar.bz2 |
Kill ply dependency dead.
Diffstat (limited to 'nodes.py')
-rw-r--r-- | nodes.py | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/nodes.py b/nodes.py deleted file mode 100644 index 161dc0b..0000000 --- a/nodes.py +++ /dev/null @@ -1,220 +0,0 @@ -# Copyright 2012 Jussi Pakkanen - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at - -# http://www.apache.org/licenses/LICENSE-2.0 - -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -class Node(): - def __init__(self, lineno): - self.line_number = lineno - - def lineno(self): - return self.line_number - -class Expression(Node): - pass - -class Statement(Node): - pass - -class BoolExpression(Expression): - def __init__(self, value, lineno): - Expression.__init__(self, lineno) - self.value = value - assert(isinstance(value, bool)) - - def get_value(self): - return self.value - -class AtomExpression(Expression): - def __init__(self, value, lineno): - Expression.__init__(self, lineno) - self.value = value - - def get_value(self): - return self.value - -class StringExpression(Expression): - def __init__(self, value, lineno): - Expression.__init__(self, lineno) - self.value = value - -class IntExpression(Expression): - def __init__(self, value, lineno): - Expression.__init__(self, lineno) - self.value = value - - def get_value(self): - return self.value - -class AtomStatement(Statement): - def __init__(self, value, lineno): - Statement.__init__(self, lineno) - assert(type(value) == type('')) - self.value = value - - def get_value(self): - return self.value - -class BoolStatement(Statement): - def __init__(self, value, lineno): - Statement.__init__(self, lineno) - assert(isinstance(value, bool)) - self.value = value - - def get_value(self): - return self.value - -class IntStatement(Statement): - def __init__(self, value, lineno): - Statement.__init__(self, lineno) - assert(isinstance(value, int)) - self.value = value - - def get_value(self): - return self.value - -class AndStatement(Statement): - def __init__(self, left, right): - Statement.__init__(self, left.lineno) - self.left = left - self.right = right - -class OrStatement(Statement): - def __init__(self, left, right): - Statement.__init__(self, left.lineno) - self.left = left - self.right = right - -class NotStatement(Statement): - def __init__(self, val): - Statement.__init__(self, val.lineno) - self.val = val - -class IfStatement(Statement): - def __init__(self, clause, trueblock, falseblock, lineno): - Statement.__init__(self, lineno) - self.clause = clause - self.trueblock = trueblock - self.falseblock = falseblock - - def get_clause(self): - return self.clause - - def get_trueblock(self): - return self.trueblock - - def get_falseblock(self): - return self.falseblock - -class Comparison(Statement): - def __init__(self, first, ctype, second, lineno): - Statement.__init__(self, lineno) - self.first = first - self.ctype = ctype - self.second = second - - def get_first(self): - return self.first - - def get_ctype(self): - return self.ctype - - def get_second(self): - return self.second - -class ArrayStatement(Statement): - def __init__(self, args, lineno): - Statement.__init__(self, lineno) - self.args = args - - def get_args(self): - return self.args - -class StringStatement(Statement): - def __init__(self, value, lineno): - assert(type(value) == type('')) - Statement.__init__(self, lineno) - self.value = value - - def get_value(self): - return self.value - -class FunctionCall(Statement): - def __init__(self, func_name, arguments, lineno): - Statement.__init__(self, lineno) - self.func_name = func_name - self.arguments = arguments - - def get_function_name(self): - return self.func_name.value - -class MethodCall(Statement): - def __init__(self, invokable, method_name, arguments, lineno): - Statement.__init__(self, lineno) - self.invokable = invokable - self.method_name = method_name - self.arguments = arguments - -class Assignment(Statement): - def __init__(self, var_name, value, lineno): - Statement.__init__(self, lineno) - self.var_name = var_name - self.value = value - -class CodeBlock(Statement): - def __init__(self, lineno): - Statement.__init__(self, lineno) - self.statements = [] - - def prepend(self, statement): - self.statements = [statement] + self.statements - - def get_statements(self): - return self.statements - -class Arguments(Statement): - def __init__(self, lineno): - Statement.__init__(self, lineno) - self.arguments = [] - self.kwargs = {} - self.order_error = False - - def prepend(self, statement): - self.arguments = [statement] + self.arguments - - def set_kwarg(self, name, value): - if self.num_args() > 0: - self.order_error = True - self.kwargs[name.get_value()] = value - - def num_args(self): - return len(self.arguments) - - def num_kwargs(self): - return len(self.kwargs) - - def incorrect_order(self): - return self.order_error - - def __len__(self): - return self.num_args() # Fixme - -def statement_from_expression(expr): - if isinstance(expr, AtomExpression): - return AtomStatement(expr.value, expr.lineno()) - if isinstance(expr, StringExpression): - return StringStatement(expr.value, expr.lineno()) - if isinstance(expr, BoolExpression): - return BoolStatement(expr.value, expr.lineno()) - if isinstance(expr, IntExpression): - return IntStatement(expr.get_value(), expr.lineno()) - raise RuntimeError('Can not convert unknown expression to a statement.') |