x86: fix incorrect array compilation
The least negative stack offset was being calculated as the first element,
while in fact it should be the most negative since i + 1 follows i. This
incorrect confusion arised in me because the stack grows the other way.
Now stuff like scanf("%s") will compile right :D
x86: add a test that shows off how scanf("%s") -- arrays work now !
x86: add a malloc() test case
tokenizer: give more helpful/verbose fail-diagnostics
Add parser/lexer support for C %, %= operators
x86: implement % and %=, update docs
parser: add support for character constants
x86: add test program that prints CLI arguments
parser: generalize left-assoc operator parsing using func ptrs
add a grammar file
Fix typo in grammar
x86: implement && and ||; update docs
Update docs with info about precedence of dereference (*)
x86: add ! operator
x86: fix ! precedence, make && and || use less memory
x86: add euler #21 test program
x86: add euler #76 test code