Definição da estrutura da sintaxe

Definição da estrutura da sintaxe da LP utilizada para a construção da vivi lang.

Definição da estrutura da sintaxe da LP


Início e Fim do Código:

  • Delimitam o bloco de instruções que compõem o programa.
  • Token início: $<vivi>
  • Token fim: $</vivi>

Dígitos/Números:

  • Representa os números utilizados em operações matemáticas e literais numéricas.
  • Representa os algarismos de 0 a 9.
  • Suporta pontos flutuantes para números fracionários.
  • Exemplo: 0, 2, 7, 10.0, 3.3.
  • Token para dígitos: digit
  • Token para números inteiros: integer
  • Token para números fracionários: decimal

Letra:

  • Representa os caracteres literais utilizados para nome de variáveis, identificadores ou outros elementos da linguagem.
  • Representa os caracteres de a-z e A-Z.
  • Exemplo: a, b, c, y.
  • Token para letras: letter

Identificador (ID):

  • Representa nomes de variáveis, funções, procedimentos ou outros elementos da linguagem.
  • Regras de formação:
  • Iniciar com letra minúscula ou underline.
  • Permitir letras, números e underlines.
  • Diferencia maiúsculas e minúsculas.
  • Exemplos: variavel, meu_modulo, campo_funcao, meuNome, meu_nome_2.
  • Token: id

Tipo de Identificador:

  • Classifica o tipo de dado armazenado em uma variável ou utilizado em uma expressão.
  • Deve ser declarado explicitamente usando a sintaxe id: tipo.
  • Exemplos: idade: int, nome: string, ausente: boolean.
  • Tokens: int, double, boolean, string.

Palavras-chave:

  • Reservadas para comandos e estruturas da linguagem.
  • Devem ser escritas com ortografia fixa e não podem ser utilizadas como identificadores.
  • Escritas em letras minúsculas.
  • Tokens: $, $, if, else, for, return, function, print, int, double, boolean, string, null, true, false.
  • Símbolos de Pontuação:
  • Delimitam expressões, blocos de código e controlam o fluxo do programa.
  • Tokens: (, ), {, }, [, ], ;, :, =, ,.

Operadores lógicos:

  • Utilizado para realizar operações booleanas.
  • Token operador lógico E: &&
  • Token operador lógico Ou: ||
  • Token operador lógico Negação: !

Operadores relacionais:

  • Utilizado para realizar operações booleanas.
  • Token operador relacional Maior: >
  • Token operador relacional Maior ou Igual: >=
  • Token operador relacional Menor: <
  • Token operador relacional Menor ou Igual: <=
  • Token operador relacional Igual: ==
  • Token operador relacional Diferente: !=

Expressão booleana:

  • Permite a execução condicional de instruções.
  • Resulta em true ou false.
  • Pode combinar valores booleanos, operadores lógicos (&&, ||, !) e comparações (==, !=, <, >, <=, >=).

Operações Aritméticas:

  • Permitem realizar cálculos matemáticos com números.
  • Token Adição: +
  • Token Subtração: -
  • Token Multiplicação: *
  • Token Divisão: /
  • Token Módulo: %

Formatação:

  • Utilizados de forma visual para indentar o código.
  • Formatação suportados:
  • Tabulação ( \t )
  • Quebra de linha ( \n )
  • Espaço em branco ( )