ayrton
be30f1d264
Currently it seems like a top level argument node can be created. Need to check that soon, but not tonight. I am tired Took 38 minutes
58 lines
1.4 KiB
Python
58 lines
1.4 KiB
Python
"""
|
|
Constants for the ast_generator
|
|
|
|
#TODO this could be a dict that can be loaded from a yaml file and thus make this fuzzer more general
|
|
"""
|
|
|
|
Grammar = dict[str, list[str]]
|
|
GAZ_VOID_TYPE = 'void'
|
|
VOID_TYPE = 'void'
|
|
GAZ_BLOCK_TAG = 'block'
|
|
GAZ_LHS_TAG = 'lhs'
|
|
GAZ_RHS_TAG = 'rhs'
|
|
GAZ_RETURN_KEY = "return_type"
|
|
VAR_NAMES = ['alsdjf', 'asldfjlks', 'qowiuut', 'qoiur', 'qwioue', 'qoyiyut', 'llkjfg', 'kdjkdjf', 'asdjkfeey',
|
|
'jdhjfjheee']
|
|
ROUTINE_NAMES = ['bees', 'beans', 'hell']
|
|
GAZ_INT_OPS = ['*', '+', '-', '/', '%']
|
|
GAZ_TYPES = ['int']
|
|
GAZ_FLOAT_KEY = 'float'
|
|
GAZ_INT_KEY = 'int'
|
|
GAZ_FUNCTION_TAG = 'function'
|
|
GAZ_PROCEDURE_TAG = 'procedure'
|
|
GAZ_OPERATOR_TAG = "operator"
|
|
GAZ_UNARY_OPERATOR_TAG = "unary"
|
|
GAZ_LIT_TAG = "literal"
|
|
GAZ_VAR_TAG = "variable"
|
|
GAZ_OP_KEY = "op"
|
|
GAZ_NAME_KEY = "name"
|
|
GAZ_QUALIFIER_KEY = "mut"
|
|
GAZ_VAL_KEY = "value"
|
|
GAZ_TY_KEY = "type"
|
|
ANY_TYPE = "any"
|
|
GAZ_DECLARATION_TAG = "declaration"
|
|
GAZ_IN_STREAM = "std_input"
|
|
GAZ_OUT_STREAM = "std_output"
|
|
GAZ_STREAM_TAG = "stream"
|
|
GAZ_ASSIGNMENT_TAG = "assignment"
|
|
GAZ_RETURN_TAG = "return"
|
|
GAZ_MAIN = "main"
|
|
GAZ_BOOL_KEY = "bool"
|
|
GAZ_IF_TAG = "conditional"
|
|
GAZ_LOOP_TAG = "loop"
|
|
GAZ_TRUE_BLOCK_TAG = "true"
|
|
GAZ_FALSE_BLOCK_TAG = "false"
|
|
GAZ_ARG_TAG = "argument"
|
|
GAZ_STRING_KEY = "string"
|
|
GAZ_CHAR_KEY = "char"
|
|
GAZ_BRACKET_TAG = "brackets"
|
|
GAZ_BREAK_TAG = "break"
|
|
|
|
|
|
class NoneTagException(Exception):
|
|
|
|
def __init__(self, message, xml):
|
|
super().__init__(message)
|
|
self.xml = xml
|
|
|