Example #1
0
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.")
Example #2
0
 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
Example #3
0
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"])