Exemplo n.º 1
0
class Scope(FooNode):
    name = Field()
    deps = Field()
    defs = Field()

    annotations = Annotations(ple_unit_root=True)

    @langkit_property()
    def initial_env():
        return Self.name.match(
            lambda p=T.Prefix: p.prefix.referenced_unit.root.cast_or_raise(
                T.Scope.list).filter(lambda scope: scope.name.symbols == p.
                                     prefix.symbols).at_or_raise(0).
            children_env,
            lambda _: Self.children_env,
        )

    env_spec = EnvSpec(
        set_initial_env(Self.initial_env, unsound=True),
        add_to_env_kv(key=Self.name.suffix_symbol, val=Self),
        add_env(),
    )
Exemplo n.º 2
0
class GPRNode(ASTNode):
    annotations = Annotations(generic_list_type="BaseList")
Exemplo n.º 3
0
 class FooNode(ASTNode):
     annotations = Annotations(generic_list_type='FooList')
Exemplo n.º 4
0
 class Subunit(FooNode):
     annotations = Annotations(ple_unit_root=True)
     fields = Field()
Exemplo n.º 5
0
 class Example(FooNode):
     annotations = Annotations(ple_unit_root=True)
Exemplo n.º 6
0
 class SyntheticNode(FooNode):
     annotations = Annotations(ple_unit_root=True)
Exemplo n.º 7
0
class NumLiteral(SingleTokNode):
    annotations = Annotations(repr_name='Num')
Exemplo n.º 8
0
class StringLiteral(SingleTokNode):
    annotations = Annotations(repr_name='Str')
Exemplo n.º 9
0
class Identifier(SingleTokNode):
    annotations = Annotations(repr_name='Id')
Exemplo n.º 10
0
class RebindableEnvCreator(BaseEnvCreator):
    annotations = Annotations(rebindable=True)