Analizador

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (564 palavras )
  • Download(s) : 0
  • Publicado : 8 de abril de 2013
Ler documento completo
Amostra do texto
Gram´tica e Diagramas Sint´ticos a a do Pascal Simplificado
o MO403/MC900: 1 ¯ semestre de 2008

Vers˜o corrigida para o texto: a

T. Kowaltowski Implementa¸ao de Linguagens de Programa¸ao. c˜c˜ Guanabara Dois, 1983.

Gram´tica a
Nota¸˜o: ca

[ ... ] { ... } { ... }+
... ♣ programa := bloco := r´tulos := o constantes ♣ tipos := ...

opcional repeti¸˜o, possivelmente zero vezes carepeti¸˜o, pelo menos uma vez ca alternativa vers˜o estendida de Pascal a

program identificador ; bloco .

[ r´tulos ] [ constantes ] [ ♣ tipos ] [ vari´veis ] { rotina } corpo o a
labellista-de-n´meros ; u := const type var fun¸˜o ca

{ identificador = constante ; }+

{ identificador = tipo ; }+ { lista-de-identificadores : tipo ; }+
procedimento

vari´veis := a rotina := fun¸˜o ca :=function identificador parˆmetros-formais : identificador ; bloco ; a := procedure identificador parˆmetros-formais ; bloco ; a

procedimento corpo := tipo :=

begin comando identificador :=

{; comando } end
♣ array [ tipo

♣ constante .. constante ( parˆmetro-formal a parˆmetro-express˜o a a

{ , tipo } ] of tipo
()

parˆmetros-formais a

{ ; parˆmetro-formal } ) a
♣parˆmetro-fun¸˜o a ca

parˆmetro-formal := a parˆmetro-express˜o a a ♣ parˆmetro-fun¸˜o a ca

♣ parˆmetro-procedimento a

:= :=

[ var ] lista-de-identificadores : identificador
function identificadorparˆmetros-formais : identificador a := procedure identificador parˆmetros-formais a

♣ parˆmetro-procedimento a

2

comando

:=

[ n´mero : ] comando-sem-r´tulo u o
identificador :=vari´vel := a

{♣

[ lista-de-express˜es ] } o chamada-de-procedimento desvio condicional repetitivo vazio

comando-sem-r´tulo o atribui¸˜o := ca

atribui¸˜o ca composto

vari´vel := express˜o a a:= identificador ( lista-de-express˜es ) o identificador ()

chamada-de-procedimento desvio := composto goto n´mero u :=

begin comando-sem-r´tulo o

{ ; comando-sem-r´tulo } end o [ else...
tracking img