def cheesyPoofs(): cbi = RuleBuilder() import sys text = open(sys.argv[1]).read() tokenList = EBNFLex.lexExp(text) tokenSource = Parser.ListTokenSource(tokenList) r = Parser.Parse(EBNFGrammar, tokenSource, cbi) import copy import time cbi2 = copy.deepcopy(cbi) print 'grammar loaded, removing dup rules' import Common t, nt = Common.siftTokens(cbi2.ruleList) beg = time.time() f = makeCores(cbi2.ruleList) end = time.time() print print 'new fasioned way:', end - beg, len(f) #for i in f: # print i beg = time.time() cbi.removeDupes() end = time.time() print print 'old fasioned way:', end-beg, len(cbi.ruleList)
def cheesyPoofs(): cbi = RuleBuilder() import sys text = open(sys.argv[1]).read() tokenList = EBNFLex.lexExp(text) tokenSource = Parser.ListTokenSource(tokenList) r = Parser.Parse(EBNFGrammar, tokenSource, cbi) import copy import time cbi2 = copy.deepcopy(cbi) print 'grammar loaded, removing dup rules' import Common t, nt = Common.siftTokens(cbi2.ruleList) beg = time.time() f = makeCores(cbi2.ruleList) end = time.time() print print 'new fasioned way:', end - beg, len(f) #for i in f: # print i beg = time.time() cbi.removeDupes() end = time.time() print print 'old fasioned way:', end - beg, len(cbi.ruleList)
def loadGrammar(text, status = 1): if status: print 'loading grammar' cbi = RuleBuilder() tokenList = EBNFLex.lexExp(text) tokenSource = Parser.ListTokenSource(tokenList) r = Parser.Parse(EBNFGrammar, tokenSource, cbi) if status: print 'cleaning up generated rules' rules = makeCores(cbi.ruleList) for i in range(len(rules)): rules[i].ruleNumber = i return trim(rules)
def loadGrammar(text, status=1): if status: print 'loading grammar' cbi = RuleBuilder() tokenList = EBNFLex.lexExp(text) tokenSource = Parser.ListTokenSource(tokenList) r = Parser.Parse(EBNFGrammar, tokenSource, cbi) if status: print 'cleaning up generated rules' rules = makeCores(cbi.ruleList) for i in range(len(rules)): rules[i].ruleNumber = i return trim(rules)