Trabalho de compiladores

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (528 palavras )
  • Download(s) : 0
  • Publicado : 30 de abril de 2012
Ler documento completo
Amostra do texto
Universidade Federal do Pará
Centro de Ciências Exatas e Naturais
Departamento de Informática
Curso de Bacharelado em Ciência da Computação














Projeto deimplementação da linguagem Pascal-
Análise léxica


















Belém
2006

Daniel Dias de Carvalho

Programa lexicamente correto:

{programa que recebe dois inteiro eretorna o resultado de acordo com a operação escolhida}
program calculadora;
var opcao, resultado, num1, num2;
begin
write('Escolha uma opção '); nl;
write('1 - Soma'); nl;
write('2- Subtração'); nl;
write('3 - Multuplicação'); nl;
write('4 - Divisão'); nl;
read(opcao);
write('Primeiro valor: ');
read(num1);
write('Segundo valor: ');read(num2);
if opcao = 1 then resultado := num1 + num2;
if opcao = 2 then resultado := num1 - num2;
if opcao = 3 then resultado := num1 * num2;
if opcao = 4 then resultado :=num1 div num2;
write('Resultado: ', resultado);
end.

Programa lexicamente incorreto:

{programa que recebe dois inteiro e retorna o resultado de acordo com a operação escolhida}program calculadora;
{3num não é um identificador válido na linguagem Pascal-, pois o primeiro caractere é um número}
var opcao, resultado, num1, num2, 3num;
begin
{O caractere @ não é reconhecidocomo parte de uma cadeia de caracteres}
write('Escolh@ uma opção '); nl;
write('1 - Soma'); nl;
write('2 - Subtração'); nl;
write('3 - Multuplicação'); nl;
write('4 -Divisão'); nl;
read(opcao);
write('Primeiro valor: ');
read(num1);
write('Segundo valor: ');
read(num2);
if opcao = 1 then resultado := num1 + num2;
if opcao =2 then resultado := num1 - num2;
if opcao = 3 then resultado := num1 * num2;
if opcao = 4 then resultado := num1 div num2;
write('Resultado: ', resultado);
end.

Tokens:...
tracking img