Skip to content

almeswe/almc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

almc

license MIT status

About

x86-64 compiler written on C from scratch as hobby project (without flex, bison and other tools)
Targets Linux platform only, uses GNU toolchain to compile itself, and for compiling programs on this language.
There are not user-friendly interface yet, this project mostly serves as educational purpose.

Brief structure

── almc
   ├── back-end
   │   └── x86_64 (nasm)
   │      ├── ir  (not fully impl yet)
   │      └── gen (not fully impl yet)
   └── front-end
       ├── syntactic analysis
       │   ├── lexer  (NFA)
       │   ├── parser (recursive descent)
       │   └── ast structure n evaluator 
       ├── semantic analysis
       │   ├── symbol table
       │   ├── ast-resolver
       │   └── type-resolver
       └── utils
          ├── os
          ├── memory          (libc wrappers)
          └── data structures (stretchy buffers)

TODO

  • Initializers suport
  • x86-64 back-end
  • Minimal standart library

Compilation

Compiled with gcc 9.4.0

Licence

This project was released under MIT license.

Releases

No releases published

Languages