Пример #1
0
Файл: ast.py Проект: 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>"
Пример #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>'
Пример #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})
Пример #4
0
Файл: ast.py Проект: stasm/l20n
class Expander(Node):
    expression = pyast.field(Expression)
Пример #5
0
Файл: ast.py Проект: stasm/l20n
class VariableExpression(Expression):
    id = pyast.field(Identifier)
Пример #6
0
Файл: ast.py Проект: stasm/l20n
class ImportStatement(Statement):
    uri = pyast.field(String)
Пример #7
0
        class Value(ast.Node):
            content = ast.field(str)

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

    __template = '%(value)s'
Пример #16
0
Файл: ast.py Проект: stasm/l20n
class LogicalOperator(Operator):
    token = pyast.field(("||", "&&"))
Пример #17
0
Файл: ast.py Проект: stasm/l20n
class KeyValuePair(Node):
    key = pyast.field(Identifier)
    value = pyast.field(Value)
    _abstract = True
Пример #18
0
Файл: ast.py Проект: stasm/l20n
class Comment(Entry):
    content = pyast.field(basestring, null=True)

    _template = "/* %(content)s */"
Пример #19
0
Файл: ast.py Проект: stasm/l20n
class HashItem(KeyValuePair):
    default = pyast.field(bool, default=False)
Пример #20
0
 class KVP(ast.Node):
     key = ast.field(str)
     value = ast.field(str)
Пример #21
0
Файл: ast.py Проект: stasm/l20n
class PropertyExpression(MemberExpression):
    expression = pyast.field(Expression)
    property = pyast.field(Expression)
    computed = pyast.field(bool)
Пример #22
0
Файл: ast.py Проект: stasm/l20n
class UnaryOperator(Operator):
    token = pyast.field(("-", "+", "!"))
Пример #23
0
Файл: ast.py Проект: stasm/l20n
class Macro(Entry):
    id = pyast.field(Identifier)
    args = pyast.seq(VariableExpression)
    expression = pyast.field(Expression)
    attrs = pyast.seq(Attribute, null=True)
Пример #24
0
Файл: ast.py Проект: stasm/l20n
class AttributeExpression(MemberExpression):
    expression = pyast.field(Expression)
    attribute = pyast.field(Expression)
    computed = pyast.field(bool)
Пример #25
0
        class Value(ast.Node):
            content = ast.field(str)

            _template = '"%(content)s"'
Пример #26
0
Файл: ast.py Проект: stasm/l20n
class ParenthesisExpression(Expression):
    expression = pyast.field(Expression)
Пример #27
0
        class Entity(ast.Node):
            _debug = True
            id = ast.field(str)
            value = ast.field(str)

            _template = '<%(id)s %(value)s>'
Пример #28
0
Файл: ast.py Проект: stasm/l20n
class GlobalsExpression(Expression):
    id = pyast.field(Identifier)
Пример #29
0
Файл: ast.py Проект: stasm/l20n
class Identifier(Expression):
    name = pyast.field(pyast.re('[_a-zA-Z]\w*'))

    _template = "%(name)s"
Пример #30
0
Файл: ast.py Проект: stasm/l20n
class String(Value):
    content = pyast.field(basestring)

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