Compilador
Comparador => < | i* boolean => b* string => s* tipoVar => boolean | String | int
DeclaracaoVar => Linha1 => public class begin => public void main ( ) atribuicao => | + operacao => | | comparação => |
LoopWhile => while
Descrição das métodos
Classe Leitor public static void ReadArquivo (String nome, ArrayList vetString){ nome = nome do arquivo .txt que deverá ser lido vetString = vetor onde serão armazenadas cada linha do arquivo
Esta classe lê o arquivo linha a linha e armazena no vetor s.
Classe Parser public void CompararDeclaracaoTipo (String s, int i){
S = linha que será analizada i = posição da linha no vetor s
Este método faz a análise sintática da linha para ver se está linha é realmente uma declaração de tipo bem formulada, se estiver certa, tranforma o código para o correspondente em pascal e escreve o resultado no arquivo.obj. Este método também imprime a árvore sintática desta linha.
public void CompararAtribuicao (String s, int i){
S = linha que será analizada i = posição da linha no vetor s
Este método faz a análise sintática da linha para ver se esta linha é realmente uma atribuição escrita de maneira correta, se estiver certa, tranforma o código para o correspondente em pascal e escreve o resultado no arquivo.obj. Este método também imprime a árvore sintática desta linha.
public void CompararCabecalho (String s, int i){
S = linha que será analizada i = posição da linha no vetor s
Este método faz a análise sintática da linha para ver se a primeira linha do programa (public class {) foi escrita de maniera correta e, se estiver certa, tranforma o código para o correspondente em pascal e escreve o resultado no