34 lines
915 B
Plaintext
34 lines
915 B
Plaintext
lr
|
|
|
|
Turn something in a human readable computer language like
|
|
print('hello');
|
|
|
|
into an intermediate form that can be used programmatically
|
|
___________________________________________________________
|
|
|
|
|
|
Lexer-----------------------
|
|
1. Refactor using buffering
|
|
|
|
|
|
Parser----------------------
|
|
|
|
|
|
Code Generator--------------
|
|
1. Code generator state
|
|
File output buffer
|
|
Set a block size and only output when full
|
|
Variable data
|
|
Types & type annotation (i32, i8, string, references,...)
|
|
"Run" build architecture
|
|
Virtual machine for intermediate representation/language
|
|
"Intermediate build representation/architecture/language"
|
|
Smart pointers (references/borrow checking)?
|
|
2. x86_64-linux ABI
|
|
Abstract away build architectures
|
|
expression evaluation
|
|
Consider completely redoing eval
|
|
Function evaluation: handle as 0 operand instruction?
|
|
FUNCTION CALLS
|
|
Convert argument lists using ABI
|