1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- from lexical import tokenize
- from beuty import initsintatico
- from semantico import semantico
- from Geracaodecodigo import gerarcodigo
- def opction(args):
- token = []
- erro = []
- if args.tudo:
- args.lt=True
- args.ls=True
- args.lse=True
- args.lgc=True
- if args.lt:
- vlt(args.filename,token,args,erro)
- else:
- lt(args.filename,token,args,erro)
- ls(token,args,erro)
- lse(token,args,erro)
- if len(erro)>0:
- for e in erro:
- print(e)
- if (args.lgc):
- print ("Não foi possivel iniciar a geração de código por causa de erro no código fonte.")
- else:
- lgc(token, args)
-
- def vlt(filename,token,args, erro):
- print ('#' * 80)
- file = open(filename, "r")
- arquivo = file.read()
- file.close()
- print('{:15}'.format('Token'), '{:29}'.format('Lexema'), '{:10}'.format('Linha'), '{:10}'.format('Coluna'))
- i = 0
- for tok in tokenize(arquivo,args, erro):
- token.append(tok)
- print('{:15}'.format(token[i][0]), '{:20.11}'.format(token[i][1]), '{:10}'.format(token[i][2]),
- '{:10}'.format(token[i][3]))
- i += 1
- def lt(filename, token, args, erro):
- file = open(filename, "r")
- arquivo = file.read()
- file.close()
- for tok in tokenize(arquivo,args,erro):
- token.append(tok)
- def ls(token,args,erro):
- initsintatico(token,args,erro)
- def lse(token,args,erro):
- semantico(token,args,erro)
- def lgc(token,args):
- gerarcodigo(token,args)
|