Пример #1
0
def main():
    prepare_grammar()
    lexer.read_source_file('1.c')
    do_parsing()
    print("SYMBOL TABLE")
    print("------------")
    print_symbol_table()
    print('\n')
    print("CODE")
    print("------------")
    print_code_result()
Пример #2
0
def main():
    resourceFile = input('请输入源文件路径:')
    import os
    while not os.path.exists(resourceFile):
        resourceFile = input('文件不存在,请输入源文件路径')
    prepare_grammar()
    lexer.read_source_file(resourceFile)
    do_parsing()
    print("SYMBOL TABLE")
    print("------------")
    print_symbol_table()
    print('\n')
    print("CODE")
    print("------------")
    print_code_result()
Пример #3
0
def clear():
	global input_file
	global analysis
	global TERMINAL_SET
	global NON_TERMINAL_SET
	global SYMBOL_DICT
	global PRODUCTION_LIST
	global PARSING_TABLE
	global SEMA_ACTION_TABLE
	global SYMBOL_STACK
	global LAST_STACK_TOP_SYMBOL
	global CODE_SIZE
	global CODE_RESULT
	global current_symbol_table_pos
	global current_symbol_index
	global CURRENT_CONDITION_NODE
	global SYMBOL_TABLE

	input_raw = code.get(1.0, END)
	lexer.read_source_file(input_raw)

	analysis.delete(1.0, END)
	TERMINAL_SET = set()
	NON_TERMINAL_SET = set()
	SYMBOL_DICT = {}
	PRODUCTION_LIST = []
	PARSING_TABLE = {}
	SYMBOL_STACK = []
	SYMBOL_TABLE = []
	LAST_STACK_TOP_SYMBOL = None
	CODE_SIZE = 0
	CODE_RESULT = []
	current_symbol_table_pos = 0
	current_symbol_index = 0
	CURRENT_CONDITION_NODE = None
	SYMBOL_TABLE = []
Пример #4
0
def main():
    prepare_grammar()
    lexer.read_source_file('1.c')
    do_parsing()
    print_symbol_table()
Пример #5
0
def main():
    prepare_grammar()
    lexer.read_source_file('1.c')
    do_parsing()
    print_symbol_table()