157 Commits (master)
 

Author SHA1 Message Date
Jake Wakeling 3c485fcedc Implicity cast procedure arguments if safe 2 months ago
Jake Wakeling 1544347804 Inline integer and float lexing 2 months ago
Jake Wakeling 8afca84b87 Implement strings, cstring(), and len() 2 months ago
Jake Wakeling d2c465aaf4 Properly implement floating point arithmetic 2 months ago
Jake Wakeling 8021c03df5 Implement procedure argument mutability 2 months ago
Jake Wakeling 2be2f4390b Implement for statements 3 months ago
Jake Wakeling 1aa5519327 Implement if and else statements 3 months ago
Jake Wakeling 0f9bb9dd1c Implement comparison and logical expressions 3 months ago
Jake Wakeling 4214148266 Improve hash expression handling 3 months ago
Jake Wakeling cc58a1d3fc Implement procedure arguments 3 months ago
Jake Wakeling 3f9a543df8 Implement array subscripting 3 months ago
Jake Wakeling 828da145ae Parse procedure calls as an infix operator 3 months ago
Jake Wakeling f05bcdbc0f Add TestUNIX.sh script for running future tests 3 months ago
Jake Wakeling 6a79f8726e Implement arrays, integrate values into AST nodes 3 months ago
Jake Wakeling f718ad0837 Parse integers at lex time and refine type parsing 3 months ago
Jake Wakeling 33e34d4e2e Spec lexemes, constants, variables, and types 3 months ago
Jake Wakeling 09e2c5c89f Implement the bitwise not unary operator 3 months ago
Jake Wakeling e91c41c67b Implement booleans 3 months ago
Jake Wakeling 74972c2994 Various improvements to permit rudimentary IO 3 months ago
Jake Wakeling 861312df2e Implement address of and dereference code gen 3 months ago
Jake Wakeling f782ab77f3 Implement pointer chain types 3 months ago
Jake Wakeling 19793bd052 Replace the expression parser with a Pratt parser 3 months ago
Jake Wakeling d44ca56769 Implement string lexing 4 months ago
Jake Wakeling af77441bb0 Implement system calls 4 months ago
Jake Wakeling c4932f6022 Implement type casting and real numbers 4 months ago
Jake Wakeling 4bdd6fc655 Implement zero value variable initialisation 5 months ago
Jake Wakeling 6dd9223145 Implement variable assignments 5 months ago
Jake Wakeling 04569e6b84 Fix not checking for null on operator stack 5 months ago
Jake Wakeling 4dec857b67 Enable the CONFIGURE_DEPENDS CMake glob flag 1 year ago
Jake Wakeling 12630d46f8 Add warning level configuration 1 year ago
Jake Wakeling 163d55f61c Shorten remaining debug flags 1 year ago
Jake Wakeling ac4740cf82 Merge compile.c into main.c 1 year ago
Jake Wakeling 1248335294 Replace --debug-lex flag with -E 1 year ago
Jake Wakeling 5325b94aba Implement note logging procedure 1 year ago
Jake Wakeling 644f1986fa Handle local and argument-less procedure calls 1 year ago
Jake Wakeling 3846818615 Handle unary operators with op_lookup 1 year ago
Jake Wakeling c2c12178e8 Update todo list in README 1 year ago
Jake Wakeling e2c1b427a4 Implement LLVM generation for +, -, *, /, and % 1 year ago
Jake Wakeling 258d5a1b9c Remove excessive test sources 1 year ago
Jake Wakeling 997f1178c1 Fix parent symbol table pointer not being set 1 year ago
Jake Wakeling a019f098d2 Remove LLVM variable hack 1 year ago
Jake Wakeling a47f6532e4 Implment a semantic analysis stage 1 year ago
Jake Wakeling 895c21f5f5 Use AST nodes in symbol table directly 1 year ago
Jake Wakeling 8dbbe4a51f Handle parenthesis when parsing expressions 1 year ago
Jake Wakeling fa7200b938 examples: Add a variable to the expression example 1 year ago
Jake Wakeling fd64da68f0 parse: Implement expression parsing 1 year ago
Jake Wakeling b269184341 lex: Merge keyword finding into the lexer 1 year ago
Jake Wakeling 30b1fa8700 llvm: Implement variables with a temporary hack 2 years ago
Jake Wakeling 6d07b21638 llvm: Reimplement LLVM code generation 2 years ago
Jake Wakeling d47751def3 parse: Implement if and for statement parsing 2 years ago