Skip to content

Compiler from a lisp-like language to mlog

License

Notifications You must be signed in to change notification settings

ThePotatoChronicler/slimlog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

slimlog

slimlog compiles a lisp-like language to mlog

Documentation

Documentation can be found in the docs directory

Architecture

slimlog is divided into three distinct parts

  • Parser
    • Parses the source file
  • Compiler
    • Compiles statements into instructions
    • May perform compile-time optimisations
  • Translator
    • Translates instructions to processor instructions
    • May perform translation-time optimisations (transopts)

Versioning

Versions are whatever until 1.0.0 when all the major TODOs are completed

Name

Originally called mlogs, but slimlog was suggested by a very important Indian friend of mine, so I changed it while I still could

TODOs

At this point, the parser is functional, it will parse programs just fine, but it will not report any kind of syntax error whatsoever, instead handing out a cryptic error message

The compiler is functional, but it will not report the location of compilation errors yet

  • Proper parser errors
  • All processor instructions
  • Documentation
  • Virtual processor
    • Performance analysis
    • Potentially verify optimisation correctness

There is still a lot to do

About

Compiler from a lisp-like language to mlog

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages