branchrust_reboot/main/hackweek_vi_rust_expressioncancel
32 Commits over 0 Days - ∞cph!
Fixed a bunch of type errors with maths expressions and binary expressions. Added type error checking.
Added persistent variables to symbol table.
Added accumulator.
Fixed conversions and literals not being converted to floats.
Updated WIP in game chip.
Added input and output expressions to link chip code with rust in game io.
Added bunch of trig functions: cos, sin, tan, acos, asin, atan
Added pi and tau as preset variables.
Added infinite loop detection to try and stop these infinite loops from freezing everything :(
Message stack clears itself between runs
Omg I think I fixed the infinite loops
Added support for true and false values
Fixed infinite loop bug
Greatly improved error recovery
Greatly improved block recognition
Fixed errors with discovering new line
New lines now seperate statments the same way as semi colon does in other languages
Code won't be run in parser if lexer has an issue.
Lexer now outputs to error stack.
All expressions now output to error stack.
Symbol table now outputs to error stack.
Fixed in game console not pushing stack messages correctly.
Setup stack system for messages and errors.
Added console and basic instructions to in game code editor.
Added scripting menu item
Added in game WIP version of the programmable chip.
Removed strings for the time being.
Prevented a couple of infinite loops in the parser.
Fixed printing issue.
Fixed issue with parser clearing tokens.
Parser now listens for end of file token.
Interpreter now runs multi line expressions as well as statements.
Parser now returns list of expressions rather than single one.
Added AST printing.
Added assignment expression.
Clear symbol table between code runs.
Broke variable assignement.
Print statement just runs on evaluation.
Fixed lexer issues between runs.
Fixed parser skipping last token.
Added debug print for symbol table
Lexer numbers handled better.
Fixed issue with variable declaration.
Fixed a bunch of lexing errors.
Fixed issue with number lexing.
Added null and iif support to parser.
Renamed lexer keywords.
Added statement support
Fixed binary epression bug
Wrote basic interpreter
Added system to run code wrote in game with editor
Added null expression support
Added global symbol table.
Implemented support for variables and their identifiers into parser.
Added block expression support
Wrote basic recusrive descent parser.
Added support for Unary Expressions,
Added definitions for grouping, binary and literal expressions.
Removed redundant token types.
Forced all lower case input to lexer.
Added lexing support for keywords.
Added lexing support for literals and single character tokens
Fixed caret. Added blinking and ensured it respects text editor width/height
Basic blockout in game code editor added. Not useable yet.