Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peterkrauz/ine5622-compilers
https://github.com/peterkrauz/ine5622-compilers
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/peterkrauz/ine5622-compilers
- Owner: peterkrauz
- Created: 2021-03-30T13:36:45.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-04-19T01:51:33.000Z (over 3 years ago)
- Last Synced: 2024-05-01T18:43:43.592Z (6 months ago)
- Language: Python
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## Requisitos do Trabalho
- [x] 4 tipos, sendo int e float obrigatórios;
- [x] Instância e uso de classes;
- [x] Definição e chamada de funções;
- [x] Estruturas de controle if-then-else e switch-case.
- [x] Laços for e while;
- [x] Operações \*, /, +, -, >, <, <=, >= e == seguindo essa ordem de precedência;
- [x] Possibilidade de definir a precedência de operações usando parênteses.## Como rodar
Gerar arquivos Java
```sh
antlr4 pir/parser/pir.g4 -o build/
javac build/pir/parser/*.java
cd build/pir/parser/
grun pir start -gui < ../../../input.pir
```ou
```sh
antlr4 pir/parser/pir.g4 -o build/ && javac build/pir/parser/*java && cd build/pir/parser/ && grun pir start -gui < ../../../input.pir && cd ../../../
```Gerar arquivos python
```sh
antlr4 -Dlanguage=Python3 -visitor -no-listener pir/parser/pir.g4
```ou
```py
python -m pir input.pir
```