You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-10Lines changed: 28 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,12 +5,12 @@
5
5
6
6
## Project description:
7
7
* Own programming language „GreekBase”.
8
-
* The aim for this project is to create an experimental programming language inspired by [Ada](https://www.adacore.com/about-ada)'s rules and syntax for [*Compilation Theory and Compilers*](https://sylabusy.agh.edu.pl/pl/1/2/19/1/4/16/140#nav-tab-10) classes. We want to change it a bit and make it more convenient, for example with built-in list operations and some other enhancements.
8
+
* The aim for this project is to create an experimental programming language inspired by [Ada](https://www.adacore.com/about-ada)'s rules and syntax for [*Compilation Theory and Compilers*](https://sylabusy.agh.edu.pl/pl/1/2/19/1/4/16/140#nav-tab-10) classes. We want to change it a bit and make it more convenientwith some small enhancements.
9
9
* Implemented in **Python** using [ANTLR4](https://www.antlr.org).
10
-
* Language compiled to **C** (exact features: TBA, probably at the end of the main development, just around the time of the project evaluation).
10
+
* Language compiled to **C**.
11
11
12
12
## Target group
13
-
* This project aims to cater to people who are interested in Ada, want a quick setup with simple gui. The only thing you need is a prior knowledge of C language, so it's an interesting programming trivia for example for people on 2 semester of **ISI on AGH**. You can explore ada examples that are stored in example folder :)
13
+
* This project aims to cater to people who are interested in Ada, want a quick setup with simple GUI. The only thing you need is a prior knowledge of C language (or just how to compile it further), so it's an interesting programming trivia for example for people on the second semester of **ISI on AGH**. You can explore GB examples that are stored in inputs folder :)
14
14
15
15
## Project structure
16
16
```
@@ -25,12 +25,14 @@ GreekBase
25
25
├── src/
26
26
│ ├── ast_builder.py ← used for generating AST tree from ANTLR tree
27
27
│ ├── astGreek.py ← AST tree node classes
28
+
│ ├── error_listener.py ← syntax ANTLR errors handling etc.
28
29
│ ├── semantic_checker.py ← semantic errors handling etc.
29
30
│ ├── codegen.py ← C (from AST) code generator
30
31
│ ├── compiler_core.py ← logic of compiler used in main and gui
31
32
│ └── gui.py ← graphic interface for compiler
32
33
├── inputs/ ← example source files
33
34
├── output/ ← generated C source files
35
+
├── requirements.txt ← list of packages required to run the compiler (compatible with pip)
0 commit comments