Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. import argparse
  2. from antlr4 import *
  3. from milestone_2Lexer import milestone_2Lexer
  4. from milestone_2Listener import milestone_2Listener
  5. from milestone_2Parser import milestone_2Parser
  6. from antlr4.tree.Trees import Trees
  7.  
  8.  
  9. class mileStone2Listener(milestone_2Listener):
  10. def __init__(self):
  11. print('Listener has been created')
  12.  
  13.  
  14. def enterStart(self, ctx:milestone_2Parser.StartContext):
  15. print('da5alahoh')
  16.  
  17. def exitStart(self, ctx:milestone_2Parser.StartContext):
  18. print('tle3ahoh')
  19.  
  20. def get_token_type(token,lexer):
  21. return lexer.ruleNames[token.type-1]
  22.  
  23.  
  24. def main():
  25. with open(args.file, "r") as file:
  26. lines = file.read()
  27. input_stream = InputStream(lines)
  28. lexer = milestone_2Lexer(input_stream)
  29. token_stream = CommonTokenStream(lexer)
  30. parser = milestone_2Parser(token_stream)
  31. listenerObj = mileStone2Listener()
  32. tree = parser.start()
  33. walker = ParseTreeWalker()
  34. walker.walk(listenerObj,tree)
  35.  
  36.  
  37. token = lexer.nextToken()
  38. result_file_name = 'milestone_2_result.txt'
  39. with open(result_file_name,'w') as file:
  40. while not token.type == Token.EOF:
  41. file.write(get_token_type(token,lexer) + ' ' + token.text + '\n')
  42. token = lexer.nextToken()
  43.  
  44.  
  45. if __name__ == '__main__':
  46. parser = argparse.ArgumentParser(add_help=True, description='Sample Commandline')
  47.  
  48. parser.add_argument('--file', action="store", help="path of file to take as input", nargs="?", metavar="file")
  49.  
  50. args = parser.parse_args()
  51.  
  52. print(args.file)
  53.  
  54. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement