예제 #1
0
 class ListNode(FooNode):
     nb_list = Field()
     prop = Property(expr)
예제 #2
0
 class Name(FooNode):
     tok = Field()
예제 #3
0
class LiteralSequence(FooNode):
    name = Field()
    items = Field()

    prop = Property(New(SynthNode, name=Self.name, items=Self.items),
                    memoized=True)
예제 #4
0
 class Compound(Expression):
     prefix = Field()
     suffix = Field()
예제 #5
0
class IndentNode(FooNode):
    lit_1 = Field()
    lit_2 = Field()
예제 #6
0
class Literal(FooNode):
    tok = Field()
예제 #7
0
class ListNode(FooNode):
    items = Field()
예제 #8
0
class Plus(Expression):
    left = Field()
    right = Field()

    result = Property(Self.left.result + Self.right.result)
예제 #9
0
class Literal(FooNode):
    tok = Field()

    a = AbstractProperty(runtime_check=True, type=FooNode.env_el())

    b = Property(Self.a.cast(BarNode.env_el()))
예제 #10
0
class Def(Stmt):
    id = Field()
    body = Field()

    env_spec = EnvSpec(add_env=True,
                       add_to_env=add_to_env(Self.id.symbol, Self))
예제 #11
0
class Name(FooNode):
    tok = Field(type=T.Token)
예제 #12
0
class Names(Struct):
    label = Field(type=T.Name)
    name_list = Field(type=T.Name.array_type())
예제 #13
0
 class NumberNode(FooNode):
     tok = Field()
예제 #14
0
class Literal(Expression):
    tok = Field()

    result = ExternalProperty()
예제 #15
0
class Num(FooNode):
    field = Field()
예제 #16
0
class Name(Expression):
    tok = Field()

    designated_unit = ExternalProperty(type=AnalysisUnitType)
    result = Property(Self.designated_unit.root.cast(Expression).result)
예제 #17
0
 class UnreferencedNode(FooNode):
     untyped_field = Field()
예제 #18
0
class NewLineNode(FooNode):
    lit_1 = Field()
    lit_2 = Field()
예제 #19
0
 class MyStruct(Struct):
     a = Field(type=LongType)
     b = Field(type=LongType)
예제 #20
0
class CompositeNode(FooNode):
    lit_1 = Field()
    lit_2 = Field()
    lit_3 = Field()
    lit_4 = Field()
예제 #21
0
 class Def(FooNode):
     name = Field()
     body = Field()
     env_spec = EnvSpec(add_env=True, add_to_env=(Self.name, Self))
예제 #22
0
class SynthNode(FooNode):
    name = Field(type=Token)
    items = Field(type=Literal.list_type())
예제 #23
0
class Block(Stmt):
    items = Field()

    env_spec = EnvSpec(add_env=True)
예제 #24
0
 class Number(Expression):
     tok = Field()
예제 #25
0
    class Example(FooNode):
        name = Field()

        prop = Property(expr_fn)
예제 #26
0
    class ExampleNode(FooNode):
        body = Field()

        prop = Property(match_expr)
예제 #27
0
 class BarNode(FooNode):
     list_node = Field()