An open API service indexing awesome lists of open source software.

https://github.com/ingogbe/javacc-mypascal


https://github.com/ingogbe/javacc-mypascal

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

# javacc-mypascal

Análise léxica e sintática de um subconjunto da linguagem de programação Pascal

## Gramática utilizada

```javascript
// Símbolos relacionais
= "="
= ">"
= "<"

// Operadores
= "+" | "-" | "*" | "/"
= "not"
= "and" | "or"
"<=" | | | ">=" | | "<>"

// Chaves
= "{"
= "}"

// Pontuações
= ";"
= ","
= "."
= ":"

// Palavras reservadas
= "begin"
= "end"
= "while"
= "for"
= "to"
= "do"
= "if"
= "else"
= "then"
= "var"
= "program"
= "function"

// End's
=
=

// Tipo de dados
= "integer" | "real" | "char" | "bool" | "string"

// Valores de dados
= ["0"-"9"]
= ["a"-"z","A"-"Z"]
= "_"
= "'"
= ["$","%","#","@","!","?","&","[","]","{","}"," "]
= |||||||||||
= "true" | "false"
= ()+
= ()+()+
= (||)*

// Símbolo de atribuição

// Identificador
= ()*()+(||)*

// Começo do código
= ()*

// Cabeçalho do programa
=

// Cabeçalho, declaração de variáveis e funções
= ( | )*

// Declaração de variáveis
= ()*
=
= ()+

// Funções
= ( ()* )?
= ()* ()*
=
= ( | | | | ) ( ( | | | | ))*

// Operações
= ()? ( (()? ) )*
= ( | ) ( ( | ) )*
= ( | | ) ( ( | | ))*

// Instruções
= ( | )
= ()*
= ()* ( ()* )*
= | | |
```