summaryrefslogtreecommitdiff
path: root/lexer.c
AgeCommit message (Collapse)Author
2022-09-18Chain the symbol tables, not the dfn framesglenda
2022-09-18File IO (very simple)glenda
2022-09-13Switch to rfork instead of libthreadglenda
2022-09-10Improve the session a lotglenda
2022-05-11Fix more bugsPeter Mikkelsen
2022-05-09Fix some nasty bugs with empty lines in dfns, and with stranding of ⍺ and ⍵.Peter Mikkelsen
2022-02-22Prepare for error guardsPeter Mikkelsen
2022-02-22Eat the rest of line after lex errorPeter Mikkelsen
2022-02-22Eat the \n after a commentPeter Mikkelsen
2022-02-22Also use lexical scoping for operatorsPeter Mikkelsen
2022-02-22Implement lexical scope instead of dynamic scope rules.Peter Mikkelsen
2022-02-09Add much better memory handling (We now track and free Datum * structs)Peter Mikkelsen
2022-02-08Add work in progress concurrency. Might break stuff!Peter Mikkelsen
2022-01-31Only classify {} as a dyadic operator, when ⍹ is seen at the outmost level.Peter Mikkelsen
2022-01-30Lex comments correctlyPeter Mikkelsen
2022-01-28Add _ as part of valid namesPeter Mikkelsen
2022-01-24Don't open symbols when lexingPeter Mikkelsen
2022-01-24Implement ⍺⍵⍶⍹ as get-set variables, which may make it easier to do ↵Peter Mikkelsen
TCO later.
2022-01-24Implement Dop'sPeter Mikkelsen
2022-01-24Prepare for Dops laterPeter Mikkelsen
2022-01-24Special case assignment to allow assigning to ⍺ if unset, and throw syntax ↵Peter Mikkelsen
error on assignment to ⍵
2022-01-24Fix symbol lookupPeter Mikkelsen
2022-01-24Rework the lexer to lex from either a string or bio. This allows multiline ↵Peter Mikkelsen
dfn's.
2022-01-23Rework symbol lookup to use lexical scoping, and implement recursive ↵Peter Mikkelsen
function call via ∇
2022-01-22Fix lexing of nested dfn'sPeter Mikkelsen
2022-01-21Get ready for hybridsPeter Mikkelsen
2022-01-21Implement better error handling, but still no error guardsPeter Mikkelsen
2022-01-20Implement better dnfs semanticsPeter Mikkelsen
2022-01-20Implement guards, and start work on ↑ and ↓Peter Mikkelsen
2022-01-19Add zilde ⍬Peter Mikkelsen
2022-01-17Implement text dataPeter Mikkelsen
2022-01-16Add negative numbers to lexer and printerPeter Mikkelsen
2022-01-16Implement floatsPeter Mikkelsen
2022-01-15Implement quad names for variablesPeter Mikkelsen
2022-01-15Rework printer to add vertical padding tooPeter Mikkelsen
2022-01-14Implement code for running operators (both monadic and dyadic).Peter Mikkelsen
Also implement ⍨ and ⍥ since they are very simple
2022-01-12Rework parenthesis, so they are build by the lexer, but evaluated by the ↵Peter Mikkelsen
evaluator/parser.
2022-01-12Add dfn evaluation, and localized ⎕IOPeter Mikkelsen
2022-01-12Add dfn parsing, but not evaluation yetPeter Mikkelsen
2022-01-12Add line comments, started by ⍝Peter Mikkelsen
2022-01-12Add statements separated by ⋄Peter Mikkelsen
2022-01-12Add a small version of monadic ⍳ and some simple form of ⎕IOPeter Mikkelsen
2022-01-11First try at implementing variablesPeter Mikkelsen
2022-01-09Add rule for monadic function applicationPeter Mikkelsen
2022-01-09Add basic code for parser/evaluator. Can do simple strandingPeter Mikkelsen
2022-01-08Add initial code, just to get startedPeter Mikkelsen