https://github.com/ingogbe/javacc-mypascal
https://github.com/ingogbe/javacc-mypascal
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/ingogbe/javacc-mypascal
- Owner: ingogbe
- Created: 2018-07-26T17:46:29.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-27T01:11:51.000Z (almost 7 years ago)
- Last Synced: 2025-01-27T11:23:23.073Z (5 months ago)
- Language: Java
- Size: 300 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
= ( | )
= ()*
= ()* ( ()* )*
= | | |
```