aboutsummaryrefslogtreecommitdiffstats
path: root/NOTES
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2012-12-24 15:39:35 +0100
committerbnewbold <bnewbold@robocracy.org>2012-12-24 15:39:35 +0100
commit2403b07ec0a7586108798271fa04eb034445f51d (patch)
tree805f1ac5b46b484799c7c585f46b626da890dd96 /NOTES
parent4818443a6a7abb9fe3976dd5846d42816e9d2328 (diff)
downloadbytetunes-2403b07ec0a7586108798271fa04eb034445f51d.tar.gz
bytetunes-2403b07ec0a7586108798271fa04eb034445f51d.zip
updates to documentation, code cleanup, comments
Diffstat (limited to 'NOTES')
-rw-r--r--NOTES63
1 files changed, 0 insertions, 63 deletions
diff --git a/NOTES b/NOTES
deleted file mode 100644
index 3228164..0000000
--- a/NOTES
+++ /dev/null
@@ -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