Ejemplo n.º 1
0
Archivo: ast.py Proyecto: stasm/l20n
class Entity(Entry):
    id = pyast.field(Identifier)
    index = pyast.seq(Expression, null=True)
    value = pyast.field(Value, null=True)
    attrs = pyast.dict(Attribute, null=True)
    local = pyast.field(bool, default=False)

    def _template(self):
        return "<%(id)s %(value)s>"
Ejemplo n.º 2
0
        class Entity(ast.Node):
            _debug = True
            id = ast.field(str)
            value = ast.field(Value, null=True)

            @property
            def _template(self):
                if self.value:
                    return '<%(id)s %(value)s>'
                return '<%(id)s>'
Ejemplo n.º 3
0
        class Value(ast.Node):
            content = ast.field(str)

            _template = '"%(content)s"'

            def __repr__(self):
                content = self.content.replace('"', '\\"')
                return super(Value, self).__repr__(fields={'content': content})
Ejemplo n.º 4
0
Archivo: ast.py Proyecto: stasm/l20n
class Expander(Node):
    expression = pyast.field(Expression)
Ejemplo n.º 5
0
Archivo: ast.py Proyecto: stasm/l20n
class VariableExpression(Expression):
    id = pyast.field(Identifier)
Ejemplo n.º 6
0
Archivo: ast.py Proyecto: stasm/l20n
class ImportStatement(Statement):
    uri = pyast.field(String)
Ejemplo n.º 7
0
        class Value(ast.Node):
            content = ast.field(str)

            @property
            def _template(self):
                return '"%(content)s"'
Ejemplo n.º 8
0
Archivo: ast.py Proyecto: stasm/l20n
class Attribute(KeyValuePair):
    local = pyast.field(bool, default=False)
Ejemplo n.º 9
0
Archivo: ast.py Proyecto: stasm/l20n
class BinaryOperator(Operator):
    token = pyast.field(
        ("==", "!=", "<", "<=", ">", ">=", "+", "-", "*", "/", "%"))
Ejemplo n.º 10
0
Archivo: ast.py Proyecto: stasm/l20n
class UnaryExpression(Expression):
    operator = pyast.field(UnaryOperator)
    argument = pyast.field(Expression)
Ejemplo n.º 11
0
Archivo: ast.py Proyecto: stasm/l20n
class CallExpression(MemberExpression):
    callee = pyast.field(Expression)
    arguments = pyast.seq(Expression, null=True)
Ejemplo n.º 12
0
Archivo: ast.py Proyecto: stasm/l20n
class BinaryExpression(Expression):
    operator = pyast.field(BinaryOperator)
    left = pyast.field(Expression)
    right = pyast.field(Expression)
Ejemplo n.º 13
0
Archivo: ast.py Proyecto: stasm/l20n
class ConditionalExpression(Expression):
    test = pyast.field(Expression)
    consequent = pyast.field(Expression)
    alternate = pyast.field(Expression)
Ejemplo n.º 14
0
Archivo: ast.py Proyecto: stasm/l20n
class LogicalExpression(Expression):
    operator = pyast.field(LogicalOperator)
    left = pyast.field(Expression)
    right = pyast.field(Expression)
Ejemplo n.º 15
0
Archivo: ast.py Proyecto: stasm/l20n
class Literal(Expression):
    value = pyast.field(int)

    __template = '%(value)s'
Ejemplo n.º 16
0
Archivo: ast.py Proyecto: stasm/l20n
class LogicalOperator(Operator):
    token = pyast.field(("||", "&&"))
Ejemplo n.º 17
0
Archivo: ast.py Proyecto: stasm/l20n
class KeyValuePair(Node):
    key = pyast.field(Identifier)
    value = pyast.field(Value)
    _abstract = True
Ejemplo n.º 18
0
Archivo: ast.py Proyecto: stasm/l20n
class Comment(Entry):
    content = pyast.field(basestring, null=True)

    _template = "/* %(content)s */"
Ejemplo n.º 19
0
Archivo: ast.py Proyecto: stasm/l20n
class HashItem(KeyValuePair):
    default = pyast.field(bool, default=False)
Ejemplo n.º 20
0
 class KVP(ast.Node):
     key = ast.field(str)
     value = ast.field(str)
Ejemplo n.º 21
0
Archivo: ast.py Proyecto: stasm/l20n
class PropertyExpression(MemberExpression):
    expression = pyast.field(Expression)
    property = pyast.field(Expression)
    computed = pyast.field(bool)
Ejemplo n.º 22
0
Archivo: ast.py Proyecto: stasm/l20n
class UnaryOperator(Operator):
    token = pyast.field(("-", "+", "!"))
Ejemplo n.º 23
0
Archivo: ast.py Proyecto: stasm/l20n
class Macro(Entry):
    id = pyast.field(Identifier)
    args = pyast.seq(VariableExpression)
    expression = pyast.field(Expression)
    attrs = pyast.seq(Attribute, null=True)
Ejemplo n.º 24
0
Archivo: ast.py Proyecto: stasm/l20n
class AttributeExpression(MemberExpression):
    expression = pyast.field(Expression)
    attribute = pyast.field(Expression)
    computed = pyast.field(bool)
Ejemplo n.º 25
0
        class Value(ast.Node):
            content = ast.field(str)

            _template = '"%(content)s"'
Ejemplo n.º 26
0
Archivo: ast.py Proyecto: stasm/l20n
class ParenthesisExpression(Expression):
    expression = pyast.field(Expression)
Ejemplo n.º 27
0
        class Entity(ast.Node):
            _debug = True
            id = ast.field(str)
            value = ast.field(str)

            _template = '<%(id)s %(value)s>'
Ejemplo n.º 28
0
Archivo: ast.py Proyecto: stasm/l20n
class GlobalsExpression(Expression):
    id = pyast.field(Identifier)
Ejemplo n.º 29
0
Archivo: ast.py Proyecto: stasm/l20n
class Identifier(Expression):
    name = pyast.field(pyast.re('[_a-zA-Z]\w*'))

    _template = "%(name)s"
Ejemplo n.º 30
0
Archivo: ast.py Proyecto: stasm/l20n
class String(Value):
    content = pyast.field(basestring)

    _template = "\"%(content)s\""