1
0
Fork 0
mirror of https://github.com/notwa/lips synced 2024-05-04 10:33:22 -07:00

tweak notes a little more

This commit is contained in:
Connor Olding 2016-11-22 23:39:18 -08:00
parent 15bba61aae
commit 3d301d0a20

View File

@ -16,9 +16,17 @@ in the call interface,
a `writer` function and a table of `options` may be passed a `writer` function and a table of `options` may be passed
as further arguments after `fn_or_asm`. as further arguments after `fn_or_asm`.
```
TODO: example
```
`writer` could be one of the `lips.writers` provided, `writer` could be one of the `lips.writers` provided,
after instantiating with a call (it makes use of closure locals). after instantiating with a call (it makes use of closure locals).
```
TODO: example
```
options is a table of string keys and any type of value. options is a table of string keys and any type of value.
currently there is: currently there is:
``` ```
@ -101,7 +109,7 @@ just to simplify the interface even further.
maybe i could pull off `writer_or_options` for backwards compatibility? maybe i could pull off `writer_or_options` for backwards compatibility?
someday i'd like to add a `reader` option for handling of existing data, someday i'd like to add a `reader` option for handling of existing data,
e.g. for implementing an automated .hook directive. e.g. for implementing an automated `.hook` directive.
## Parser ## Parser
@ -157,17 +165,18 @@ the rest of the code should be self-explanitory, albiet ugly.
### room for improvement ### room for improvement
this (character-based lexing) is actually a really bad way of writing a lexer. this character-based lexer isn't driven by any particular grammar,
it doesn't clearly represent a syntax grammar, or possibly any grammar at all. making it unclear what syntax is and isn't valid.
but it works. for now. but it works.
it's the code i need to change the least to add new features, it's the code i need to change the least to add new features.
which has gotta count for something, right?
there's a couple TODOs and FIXMEs in here. there's a couple TODOs and FIXMEs in here.
## Collector ## Collector
TODO
## Preproc ## Preproc
transforms complex statements into simpler statements transforms complex statements into simpler statements
@ -274,6 +283,10 @@ so that i can handle short-circuiting `&&` and `||` operators,
among other things, like evaluating stuff among other things, like evaluating stuff
in logical order instead of right-to-left for everything. in logical order instead of right-to-left for everything.
## Dumper
TODO
## helper classes ## helper classes
### Token ### Token