diff options
author | bnewbold <bnewbold@robocracy.org> | 2012-12-24 15:39:35 +0100 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2012-12-24 15:39:35 +0100 |
commit | 2403b07ec0a7586108798271fa04eb034445f51d (patch) | |
tree | 805f1ac5b46b484799c7c585f46b626da890dd96 /NOTES | |
parent | 4818443a6a7abb9fe3976dd5846d42816e9d2328 (diff) | |
download | bytetunes-2403b07ec0a7586108798271fa04eb034445f51d.tar.gz bytetunes-2403b07ec0a7586108798271fa04eb034445f51d.zip |
updates to documentation, code cleanup, comments
Diffstat (limited to 'NOTES')
-rw-r--r-- | NOTES | 63 |
1 files changed, 0 insertions, 63 deletions
@@ -1,63 +0,0 @@ - -opcodes - note: no unary, increment, decrement - arthithmetic: + - * / % - bitwise: l r & | ^ ~ - "<<" is l, ">>" is r - all are atoms or binary operators, so recursive compilation to a forth-like? - order of ops: - ~ - * / % - + - - << >> - & - ^ - | - -final console interface: - #hashtag (exact) -> searches identica for tunes - @username (exact) -> parses identica feed for tunes - _1234... -> plays track from memory - expression -> compiles and plays expression - [else] -> searches greedily for a valid expression; if not found, ignores - -bytetros? - - - -void proc_token() - -int[32] itable -struct { node* car, nlist* cdr } nlist -tlist* tcons(token*, ) - -struct { } token -token[140] ttable -struct { char type, int* iptr, int * } node -ntable[140] -int h2i(char*) - - -s-exp method: -tokenize: glom numbers -preparse: match parens, return s-expr -parse: turn into prefix notation -validate: check against rules -compile: optionally remove trivial identities ("~~") and evaluate static expressions - -general method: -grammar parser, returns ast - ----------- - -MACHINE: - -struct { char type, char cval, int ival, node* lval, node* rval } node - -types: - n number - v variable - b binary operator - u unary operator - -SEXP |