SeteAO Docs

Sintaxe da Linguagem

A análise sintática é responsável por verificar se a sequência de tokens produzida pelo analisador léxico segue a gramática da linguagem. Nesta fase, o compilador valida a estrutura das instruções.

A SeteAO utiliza o ponto final (.) como delimitador obrigatório de instruções.

Estrutura Geral do Programa

<programa> ::= { <instrucao> }
    

Declaração de Variáveis

Forma geral:

<declaracao> ::= <id> [ "=" <expressao> ] ":" <tipo> "."
    

Exemplo:

idade = 20 : INTEIRO.
nome : TEXTO.
    

Atribuição

<atribuicao> ::= <id> "=" <expressao> "."
    
idade = idade + 1.
    

Entrada e Saída de Dados

Entrada:

INSERIR ( <id> ) .
INSERIR ( <string> , <id> ) .
    

Saída:

EXIBIR ( <expressao> ) .
EXIBIR ( <string> , <expressao> ) .
    

Expressões

<expressao> ::= 
<termo> { ("+" | "-") <termo> }

<termo> ::= 
<fator> { ("*" | "/") <fator> }

<fator> ::= 
<numero> | <id> | "(" <expressao> ")"
    

Erros Sintáticos

  • Instruções sem ponto final
  • Parênteses não fechados
  • Tipos inexistentes
x = 10
# Erro: esperado '.'