Ejemplo n.º 1
0
 def ret(self, p):
     return ast.functions.Return(
         p.expr,
         location.Location(
             p.lineno,
             p.index,
             eline=p.expr.position.sline,
             ecol=p.expr.position.ecol,
         ),
     )
Ejemplo n.º 2
0
 def variable_assign(self, p):
     return ast.variables.VariableAssign(
         p.type_id,
         p.name_id,
         p.expr,
         location.Location(
             p.type_id.position.sline,
             p.type_id.position.scol,
             eline=p.expr.position.sline,
             ecol=p.expr.position.ecol,
         ),
     )
Ejemplo n.º 3
0
 def function_definition(self, p):
     p.block.label = "entry"
     return ast.functions.FunctionDefinition(
         p.type_id,
         p.name_id,
         ast.functions.Arguments(
             positional=ast.functions.PositionalArguments([]),
             keyword=ast.functions.KeywordArguments([]),
         ),
         p.block,
         location.Location(p.type_id.position.sline,
                           p.type_id.position.scol),
     )
Ejemplo n.º 4
0
 def ref_id(self, p):
     return ast.primitives.RefID(p.ID, location.Location(p.lineno, p.index))
Ejemplo n.º 5
0
 def name_id(self, p):
     return ast.primitives.NameID(p.ID,
                                  location.Location(p.lineno, p.index))
Ejemplo n.º 6
0
 def type_id(self, p):
     return ast.primitives.Type(p.ID, location.Location(p.lineno, p.index))
Ejemplo n.º 7
0
 def expr(self, p):
     return ast.maths.Mod(
         p.expr0,
         p.expr1,
         location.Location(p.expr0.position.sline, p.expr0.position.scol),
     )
Ejemplo n.º 8
0
 def expr(self, p):
     return ast.maths.Neg(
         p.expr,
         location.Location(p.expr.position.sline, p.expr.position.scol))
Ejemplo n.º 9
0
 def integer(self, p):
     return ast.primitives.Integer(p.INT,
                                   location.Location(p.lineno, p.index))