https://github.com/christopher-dabrowski/glyphscript
Język programowania bazujący na emotikonach 😀
https://github.com/christopher-dabrowski/glyphscript
academic-project antlr4 language-design llvm programming-language warsaw-university-of-technology
Last synced: 4 months ago
JSON representation
Język programowania bazujący na emotikonach 😀
- Host: GitHub
- URL: https://github.com/christopher-dabrowski/glyphscript
- Owner: christopher-dabrowski
- License: mit
- Created: 2025-03-29T14:52:55.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-05-30T08:21:00.000Z (4 months ago)
- Last Synced: 2025-06-20T08:49:24.787Z (4 months ago)
- Topics: academic-project, antlr4, language-design, llvm, programming-language, warsaw-university-of-technology
- Language: C#
- Homepage:
- Size: 414 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 5
-
Metadata Files:
- Readme: Readme.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Glyph Script
[](https://github.com/christopher-dabrowski/GlyphScript/actions/workflows/compiler-build.yml)
Implementacja języka programowania ze składnią bazującą na emotikonach (glifach) :smile:
Projekt obejmuje wszystkie etapy przetwarzania kodu źródłowego, aż do utworzenia kodu maszynowego.Przód kompilatora jest zrealizowany za pomocą narzędzia [ANTLR](https://www.antlr.org/).
Na podstawie drzewa AST jest generowana reprezentacja pośrednia zgodna ze specyfikacją LLVM.Projekt jest wykonywany w ramach przedmiotu Języki formalne i kompilatory na Politechnice Warszawskiej.
## Etap 1: Proste operacje na zmiennych
### Wymagania minimalne
- [ ] obsługa dwóch typów zmiennych: całkowite, rzeczywiste,
- [ ] podstawowa obsługa standardowego wejścia-wyjścia
- [ ] obsługa podstawowych operacji artmetycznych,
- [ ] wskazywanie błędów podczas analizy leksykalno-składniowej### Rozszerzenia
- [ ] obsługa zmiennych tablicowych
- [ ] obsługa macierzy liczb
- [ ] obsługa wartości logicznych
- [ ] AND, OR, XOR, NEG
- [ ] short-circuit boolean evaluation
- [ ] obsługa liczb o różnej precyzji
- [ ] obsługa typu ciąg znaków