geneticengine.grammar.metahandlers.smt.parser

Module Contents

Classes

TreeToDSL

Functions

mk_parser()

Attributes

dsl_grammar

p_expr

geneticengine.grammar.metahandlers.smt.parser.dsl_grammar = Multiline-String
Show Value
"""

expression : "-" expression_plus                             -> minus
           | expression_un                                   -> same

expression_un : expression_bool                              -> same
           | "!" expression_un                               -> nnot
           | expression_bool "==" expression_un              -> binop_eq
           | expression_bool "!=" expression_un              -> binop_neq
           | expression_bool "&&" expression_un              -> binop_and
           | expression_bool _DOUBLEPIPE expression_un       -> binop_or

expression_bool : expression_plus                            -> same
                | expression_plus "<" expression_bool        -> binop_lt
                | expression_plus "<=" expression_bool       -> binop_le
                | expression_plus ">" expression_bool        -> binop_gt
                | expression_plus ">=" expression_bool       -> binop_ge
                | expression_plus "-->" expression_bool      -> binop_imp

expression_plus : expression_fact                           -> same
                | expression_fact "+" expression_plus       -> binop_plus
                | expression_fact "-" expression_plus       -> binop_minus

expression_fact : expression_simple                         -> same
                | expression_simple "*" expression_fact     -> binop_mult
                | expression_simple "/" expression_fact     -> binop_div
                | expression_simple "%" expression_fact     -> binop_mod


expression_simple : "(" expression ")"                      -> same
            | comprehension                                 -> same
            | INTLIT                                        -> int_lit
            | SIGNED_INT                                    -> int_lit
            | FLOATLIT                                      -> float_lit
            | BOOLLIT                                       -> bool_lit
            | VAR ("." VAR)*                                -> var

comprehension : "AllPairs" "(" VAR "," VAR "," VAR ")" "{" expression "}" -> all_pairs

BOOLLIT.5 : "true" | "false"
INTLIT : /[0-9][0-9]*/
FLOATLIT : SIGNED_FLOAT
_DOUBLEPIPE.11 : "||"
VAR : (("a".."z")|"_"|("A".."Z")) (("0".."9")|("a".."z")|("A".."Z"))*

%import common.WS
%import common.CNAME
%import common.SIGNED_INT
%import common.SIGNED_FLOAT

%ignore WS
"""
class geneticengine.grammar.metahandlers.smt.parser.TreeToDSL

Bases: lark.Transformer

same(args)
var(args)
Parameters:

args (list[str])

int_lit(args)
float_lit(args)
bool_lit(args)
abstract minus(args)
nnot(args)
binop_eq(args)
binop_neq(args)
binop_and(args)
binop_or(args)
binop_lt(args)
binop_le(args)
binop_gt(args)
binop_ge(args)
binop_imp(args)
binop_plus(args)
abstract binop_minus(args)
abstract binop_mult(args)
abstract binop_div(args)
binop_mod(args)
all_pairs(args)
geneticengine.grammar.metahandlers.smt.parser.mk_parser()
geneticengine.grammar.metahandlers.smt.parser.p_expr