Lista haskell

2495 palavras 10 páginas
Questão 1

Procure entender os conceitos de sintaxe concreta e sintaxe abstrata. Explique-os e faça uso de exemplos para mostrar o seu entendimento.

A sintaxe concreta é uma forma de escrever programas sintaticamente bem formados utilizando, para isso, todos os recursos visíveis no código de uma linguagem, tais como parênteses e delimitadores. Entretanto, ao especificar uma semântica, é conveniente concentrar-se apenas na estrutura das frases, sendo para esta finalidade, utilizada a sintaxe abstrata. Através desta última obtêm-se as árvores sintáticas abstratas, onde cada nó representa uma regra de produção e há exatamente uma sub-árvore por sub-frase. Essa gramática não tem como objetivo gerar sentenças, pois símbolos terminais não possuem nenhum papel real na sintaxe abstrata.

Como exemplo, temos:

Sintaxe Concreta

Program ::= single-Command

Command ::= single-Command | Command ';' single-Command

single-Command ::= V-name ':=' Expression | Identifier '(' Expression ')' | 'if' Expression 'then' single-Command 'else' single-Command | 'while' Expression 'do' single-Command | 'let' Declaration 'in' single-Command | 'begin' Command 'end'

. . .

Type-denoter ::= Identifier Identifier ::= Letter | Identifier Letter | Identifier Digit

Sintaxe Abstrata

Program ::= Command

Command ::= V-name ':=' Expression | Identifier '(' Expression ')' | Command ';' Command | 'if' Expression 'then' Command 'else' Command | 'while' Expression 'do' Command | 'let' Declaration 'in' Command

.

Relacionados

  • Lista de Haskell
    847 palavras | 4 páginas
  • Programação em haskell
    8439 palavras | 34 páginas
  • graduando
    1262 palavras | 6 páginas
  • mlphaskell
    698 palavras | 3 páginas
  • Haskel
    2277 palavras | 10 páginas
  • cenas
    1135 palavras | 5 páginas
  • Haskell
    1171 palavras | 5 páginas
  • Haskel
    2465 palavras | 10 páginas
  • Paradigma Imperativo
    1027 palavras | 5 páginas
  • Programação 2
    832 palavras | 4 páginas