Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import argparse
- from antlr4 import *
- from milestone_2Lexer import milestone_2Lexer
- from milestone_2Listener import milestone_2Listener
- from milestone_2Parser import milestone_2Parser
- from antlr4.tree.Trees import Trees
- class mileStone2Listener(milestone_2Listener):
- def __init__(self):
- print('Listener has been created')
- def enterStart(self, ctx:milestone_2Parser.StartContext):
- print('da5alahoh')
- def exitStart(self, ctx:milestone_2Parser.StartContext):
- print('tle3ahoh')
- def get_token_type(token,lexer):
- return lexer.ruleNames[token.type-1]
- def main():
- with open(args.file, "r") as file:
- lines = file.read()
- input_stream = InputStream(lines)
- lexer = milestone_2Lexer(input_stream)
- token_stream = CommonTokenStream(lexer)
- parser = milestone_2Parser(token_stream)
- listenerObj = mileStone2Listener()
- tree = parser.start()
- walker = ParseTreeWalker()
- walker.walk(listenerObj,tree)
- token = lexer.nextToken()
- result_file_name = 'milestone_2_result.txt'
- with open(result_file_name,'w') as file:
- while not token.type == Token.EOF:
- file.write(get_token_type(token,lexer) + ' ' + token.text + '\n')
- token = lexer.nextToken()
- if __name__ == '__main__':
- parser = argparse.ArgumentParser(add_help=True, description='Sample Commandline')
- parser.add_argument('--file', action="store", help="path of file to take as input", nargs="?", metavar="file")
- args = parser.parse_args()
- print(args.file)
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement