- an intelligent and helpful calculator language
- takes (immense) inspiration from lisp and more specifically scheme
- I am making this to teach my self scheme and experiment with some compiler techniques
expn -> (op [const... | (expn)]) -> (bind) bind -> (define name const) -> (define name (expn)) name -> [a-z | A-Z]+[a-z | A-Z | 0-9]*[']? op -> [+ | / | - | * | %] const -> [0-9].?[0-9]*
I am a student of language design, So I am trying to teach myself how to not only design language but how to create compilers and interpreters for those languages. With this in mind I have created this very simple calculator language to help me implement techniques in a rather simple environment. This project is for learning the follow topics:
- Types
- Intermediate relationship
- Parsing (Though I have other projects that do this much better)
- Scheme