Compilador

1454 palavras 6 páginas
Tutorial Criando um Pequeno Compilador
Neste tutorial será criado, com instruções passo a passo, um pequeno compilador, ou para ser mais preciso um interpretador, para expressões numéricas.
Neste interpretador serão aceitas espressões com números, as quatro operações básicas e parênteses. Multiplicação e divisão deverão ter prioridade maior que adição e subtração.
Serão detalhadas as especificações léxica e sintática, será implementado o analisador semântico e por fim será feito um programa para testar os analisadores.
Para este tutorial serão feitos o analisador léxico e o sintático, e os exemplos de código serão em Java, mas em alguns casos serão também dados exemplos em C++ e em Delphi para mostrar as diferênças.

Especificação Léxica
A primeira coisa a se fazer em uma especificação léxica e saber quais os tokens que deverão ser reconhecidos pelo analisador.
Como neste exemplo vão ser precisos números, operadores e parênteses, já é possível ter uma idéia de quais tokens serão precisos: • NUMERO • + • - • * • / • ( • )
Antes de especificar de fato so tokens, é preciso notar que a especificação léxica é dividida em duas partes: Definições Regulares e Definição dos Tokens.
Os tokens são definidos na segunda parte. Nas definições regulares são definidas expressões auxiliáres, para serem utilizadas na definição dos tokens.

Definições Regulares

Pare este exemplo será feira apenas a seguinte definição:
D : [0-9]
Esta definição diz que D (digito) é qualquer letra entre 0 e 9.

Tokens

Os tokens para este exemplo são definidos da seguinte forma:
"+"
"-"
"*"
"/"
"("
")"
NUMERO : {D}+ : [\s\t\n\r]*
Primeiro são definidos os operadores. Uma grupo de caracteres entre aspas define um tokens cuja representação é a de string entre aspas.
Em seguida é definido NUMERO. Para este token é fornecida uma expressão regular para representá-lo. Nesta expressão é utilizada a definição regular anteriormente definida. Um

Relacionados

  • Compiladores
    568 palavras | 3 páginas
  • Compiladores
    2425 palavras | 10 páginas
  • Compiladores
    970 palavras | 4 páginas
  • Compiladores
    569 palavras | 3 páginas
  • compiladores
    780 palavras | 4 páginas
  • Compiladores
    1018 palavras | 5 páginas
  • Compiladores
    1037 palavras | 5 páginas
  • compiladores
    1300 palavras | 6 páginas
  • Compiladores
    9795 palavras | 40 páginas
  • Compiladores
    4177 palavras | 17 páginas