diff --git a/Parsing.py b/Parsing.py index cb9c8be9f0ad854a33eece291941cf7161aadc05..2500a8e7bbfd8bf4195638f957c0e9301185f8d4 100644 --- a/Parsing.py +++ b/Parsing.py @@ -1,6 +1,5 @@ import string import sys -from utils import * from Scanning import Token ##################### Node & State ########################################## @@ -69,7 +68,7 @@ class State(): newChildren.insert(0, Node(top.children, top.name, top.lex)) toPop -= 1 - + newNode = Node(newChildren, cfgrule[0], '') theStack.append(newNode) @@ -123,7 +122,7 @@ def checkSequence(tokens): getNext = states[curState].trans(statesVisited, theStack[-1].name, rulesToOutput) curState = int(statesVisited[-1]) - + getNext = states[curState].trans(statesVisited, tokens[i].name, rulesToOutput) lastRule = True @@ -151,15 +150,15 @@ def setUpGrammar(): # one big file with open('cfg/trans.txt', 'r') as f: lines = f.read().splitlines() - + i = int(lines[0]) + 1 # terminals i += int(lines[i]) + 1 # non terminals i += 1 # starting non terminal - + # cfg rules for r in range(int(lines[i])): cfgrules.append(lines[i+r+1].split()) - + # num of states i += int(lines[i]) + 1 states = [State() for _ in range(int(lines[i]))] @@ -167,7 +166,7 @@ def setUpGrammar(): # transitions i += 1 for t in range(int(lines[i])): - lr1trans.append(lines[i+t+1].split()) + lr1trans.append(lines[i+t+1].split()) # states for t in lr1trans: