]>
git.mdlowis.com Git - proto/cerise-c.git/log
summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mike Lowis [Thu, 9 Jan 2025 19:52:20 +0000 (14:52 -0500)]
add accessor function for testing
Mike Lowis [Thu, 9 Jan 2025 02:40:52 +0000 (21:40 -0500)]
finished record code generation
Mike Lowis [Wed, 8 Jan 2025 20:04:10 +0000 (15:04 -0500)]
implemented record definition, initialization, and access syntax
Mike Lowis [Tue, 7 Jan 2025 21:50:13 +0000 (16:50 -0500)]
records are now flat instead of nested. This makes the code in parser and generator easier to write and still achieves the end result
Mike Lowis [Mon, 25 Nov 2024 21:17:32 +0000 (16:17 -0500)]
codegeneration is busted but at least it doesnt crash...
Mike Lowis [Thu, 21 Nov 2024 20:50:39 +0000 (15:50 -0500)]
added records and record constructors. Code generation for record construction still needs to be sorted. Next up is record field access and assignment
Mike Lowis [Wed, 6 Nov 2024 20:51:06 +0000 (15:51 -0500)]
added typedef validation and checking
Mike Lowis [Wed, 6 Nov 2024 18:23:15 +0000 (13:23 -0500)]
implemented fully qualified identifiers. type checker needs updates to properly handle them still
Michael D. Lowis [Mon, 4 Nov 2024 02:44:01 +0000 (21:44 -0500)]
added qualified_identifier rule
Michael D. Lowis [Tue, 29 Oct 2024 04:10:10 +0000 (00:10 -0400)]
started implementing records
Mike Lowis [Thu, 24 Oct 2024 20:53:22 +0000 (16:53 -0400)]
added checks to make sure we don't assign to string indexes
Mike Lowis [Thu, 24 Oct 2024 17:54:37 +0000 (13:54 -0400)]
removed runtime lib and implemented string comparisons and string indexing
Michael D. Lowis [Wed, 23 Oct 2024 03:12:44 +0000 (23:12 -0400)]
array literals working again
Michael D. Lowis [Wed, 23 Oct 2024 01:55:08 +0000 (21:55 -0400)]
reworked codegen to use real types. collection types are still a work in progress...
Mike Lowis [Tue, 22 Oct 2024 18:03:37 +0000 (14:03 -0400)]
implemented dependency compilation and linking of final executable
Michael D. Lowis [Tue, 22 Oct 2024 03:39:11 +0000 (23:39 -0400)]
fixed code generation of module bound symbols. still need to emit prototypes for imported symbols
Mike Lowis [Mon, 21 Oct 2024 20:29:20 +0000 (16:29 -0400)]
change where module resolution happens. Now it is happening in the parser and is a bit simpler. Code generation still needs to handle outputiing the correct symbol names
Michael D. Lowis [Mon, 21 Oct 2024 03:36:44 +0000 (23:36 -0400)]
started adding module imports and exports
Mike Lowis [Fri, 18 Oct 2024 19:24:29 +0000 (15:24 -0400)]
added imports and exports
Mike Lowis [Fri, 18 Oct 2024 18:15:19 +0000 (14:15 -0400)]
fix line numbering. positions now map to start of token instead of end
Mike Lowis [Fri, 18 Oct 2024 16:55:14 +0000 (12:55 -0400)]
type checker fleshed out more. test file can compile now.
Mike Lowis [Thu, 17 Oct 2024 19:17:02 +0000 (15:17 -0400)]
fleshed out more type checking rules. Need to flesh out how type inference for functions will work
Michael D. Lowis [Thu, 17 Oct 2024 01:51:01 +0000 (21:51 -0400)]
fleshed out more type rules
Mike Lowis [Wed, 16 Oct 2024 19:56:12 +0000 (15:56 -0400)]
started implementing type checker
Mike Lowis [Wed, 16 Oct 2024 17:18:31 +0000 (13:18 -0400)]
finished implementing test functions for operators
Mike Lowis [Thu, 20 Jun 2024 19:09:19 +0000 (15:09 -0400)]
delete old hard coded main
Mike Lowis [Thu, 20 Jun 2024 19:08:54 +0000 (15:08 -0400)]
reworked codegen module and now generate the main function instead of hardcoding it
Mike Lowis [Thu, 20 Jun 2024 14:31:31 +0000 (10:31 -0400)]
reworked memory allocations and error messaging
Michael D. Lowis [Thu, 20 Jun 2024 03:53:20 +0000 (23:53 -0400)]
fixed up operators and added tests
Mike Lowis [Wed, 19 Jun 2024 20:16:45 +0000 (16:16 -0400)]
dictionaries are working as expected now. Still some weirdness on handling comparisons. Probably need a function to return a type enum to make sure they are the same first
Mike Lowis [Wed, 19 Jun 2024 18:57:52 +0000 (14:57 -0400)]
implemented basic dictionary
Mike Lowis [Mon, 17 Jun 2024 18:43:13 +0000 (14:43 -0400)]
fix broken string data structure
Mike Lowis [Mon, 17 Jun 2024 18:41:41 +0000 (14:41 -0400)]
implemented object and string functions. Still need array and dict functions
Michael D. Lowis [Mon, 17 Jun 2024 02:41:39 +0000 (22:41 -0400)]
added assert and error
Michael D. Lowis [Fri, 14 Jun 2024 03:14:35 +0000 (23:14 -0400)]
broke runtime up into a static lib
Mike Lowis [Thu, 13 Jun 2024 20:24:42 +0000 (16:24 -0400)]
added stubs for hashes and arrays
Mike Lowis [Thu, 13 Jun 2024 18:15:12 +0000 (14:15 -0400)]
Implemented hash and array access and assignment
Michael D. Lowis [Thu, 13 Jun 2024 02:58:59 +0000 (22:58 -0400)]
finished code generation for hash literals
Michael D. Lowis [Tue, 11 Jun 2024 01:29:16 +0000 (21:29 -0400)]
added array literal parsing and code generation
Michael D. Lowis [Wed, 5 Jun 2024 02:40:10 +0000 (22:40 -0400)]
added string ops and coercion
Mike Lowis [Tue, 4 Jun 2024 20:18:50 +0000 (16:18 -0400)]
implemented basic arithmetic and boolean operators
Mike Lowis [Mon, 3 Jun 2024 20:30:54 +0000 (16:30 -0400)]
added real filename and line numbers to asserts
Mike Lowis [Mon, 3 Jun 2024 18:48:20 +0000 (14:48 -0400)]
fixed boolean operators
Mike Lowis [Mon, 3 Jun 2024 16:43:01 +0000 (12:43 -0400)]
added runtime code for basic operators
Mike Lowis [Mon, 3 Jun 2024 15:58:01 +0000 (11:58 -0400)]
first commit. Basic compilation mechanics working