def main(): # Get file name file_name = parseArguments(sys.argv) # Read file lines = readFile(file_name) # Create parser object parser = Parser(lines) # Compute errors errors = [ line.parsingError for line in parser.parse() if line.parsingError ] # Print results if not errors: print("File is valid.") else: for error in errors: print(error, end='') print("File is not valid.")
def parse(self, result: str, url: str) -> Data: """ Get title and links from html Save parsed data to DB :param result: html :param url: source url :return: parsed data """ data: Data = None if result: data = Parser.parse(result, url) if data: self.__data_dao.save_data( ParseData(url=data.uri, title=data.title, html=data.html, created=datetime.now(), task_id=self.__task_id)) return data
import sys #sys.path.insert(0,'/home/youssefsb/VS_workspace/Comp442/Comp442/parser/Grammar') import graphviz from subprocess import call from parser.Parser import Parser from parser.Grammar.Grammar import Grammar from semanticAnalyzer.SemAnalyzer import SemAnalyzer grammar = Grammar('parser/Grammar/outfile.grm', 'parser/Grammar/outfile.grm.first', 'parser/Grammar/outfile.grm.follow') parser = Parser(grammar, 'testCases/mainOnly.src') semAnalyzer = SemAnalyzer() parser.parse() globalSymTable = semAnalyzer.analyzeTree(parser.astRoot) print(str(globalSymTable.getTypeSizesHashMap())) globalSymTable.symTableAsHtml() call(["moon/moon", "moon/outFile.m", "moon/lib.m"])