https://github.com/sashakoshka/arf
Please go to https://git.tebibyte.media/fspl/fspl
https://github.com/sashakoshka/arf
arf golang programming-language
Last synced: 10 days ago
JSON representation
Please go to https://git.tebibyte.media/fspl/fspl
- Host: GitHub
- URL: https://github.com/sashakoshka/arf
- Owner: sashakoshka
- License: gpl-3.0
- Created: 2022-10-12T19:56:28.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-11T16:54:58.000Z (about 1 year ago)
- Last Synced: 2025-01-11T17:47:10.362Z (about 1 year ago)
- Topics: arf, golang, programming-language
- Language: Go
- Homepage: https://git.tebibyte.media/fspl/fspl
- Size: 722 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 
This repository is no longer being developed. The ARF language has since gone through several revisions and has been given a different name (FSPL), and the new version can be found [here](https://git.tebibyte.media/fspl/fspl).
README of this repository:
The ARF programming language.
This is still under development and does not compile things yet. Once complete,
it will serve as a temporary compiler that will be used to write a new one using
the language itself.
The old repository can be found [here](https://github.com/sashakoshka/arf-old).
ARF is a low level language with a focus on organization, modularization, and
code clarity. Behind it's avant-garde syntax, its basically just a more refined
version of C.
A directory of ARF files is called a module, and modules will compile to object
files (one per module) using C as an intermediate language (maybe LLVM IR in the
future).
Be sure to visit the [wiki](https://git.tebibyte.media/arf/arf/wiki) for more
information.
## Planned Features
- Type definition through inheritence
- Struct member functions
- Go-style interfaces
- Generics
- A standard library (that can be dynamically linked)
## Checklist
- [X] File reader
- [X] File -> tokens
- [X] Tokens -> syntax tree
- [ ] Syntax tree -> semantic tree
- [ ] Semantic tree -> C -> object file
- [ ] Figure out HOW to implement generics
- [ ] Create a standard library
## Compiler Progress

- Yellow: needs to be completed for the MVP
- Lime: ongoing progress in this area
- Green: Already completed