You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|Sasha Koshka 58bae14528||5 months ago|
|analyzer||5 months ago|
|arfc||7 months ago|
|assets||7 months ago|
|examples||6 months ago|
|file||5 months ago|
|infoerr||6 months ago|
|lexer||5 months ago|
|parser||5 months ago|
|testCommon||6 months ago|
|tests||5 months ago|
|translator||6 months ago|
|types||6 months ago|
|.editorconfig||6 months ago|
|.gitignore||8 months ago|
|LICENSE||8 months ago|
|README.md||6 months ago|
|go.mod||7 months ago|
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.
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 for more information.
- Type definition through inheritence
- Struct member functions
- Go-style interfaces
- A standard library (that can be dynamically linked)
- File reader
- File -> tokens
- Tokens -> syntax tree
- Syntax tree -> semantic tree
- Semantic tree -> C -> object file
- Figure out HOW to implement generics
- Create a standard library
- Yellow: needs to be completed for the MVP
- Lime: ongoing progress in this area
- Green: Already completed