]> git.mdlowis.com Git - proto/cerise-c.git/log
proto/cerise-c.git
12 months agoadd accessor function for testing master
Mike Lowis [Thu, 9 Jan 2025 19:52:20 +0000 (14:52 -0500)]
add accessor function for testing

12 months agofinished record code generation
Mike Lowis [Thu, 9 Jan 2025 02:40:52 +0000 (21:40 -0500)]
finished record code generation

12 months agoimplemented record definition, initialization, and access syntax
Mike Lowis [Wed, 8 Jan 2025 20:04:10 +0000 (15:04 -0500)]
implemented record definition, initialization, and access syntax

12 months agorecords are now flat instead of nested. This makes the code in parser and generator...
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

13 months agocodegeneration is busted but at least it doesnt crash...
Mike Lowis [Mon, 25 Nov 2024 21:17:32 +0000 (16:17 -0500)]
codegeneration is busted but at least it doesnt crash...

14 months agoadded records and record constructors. Code generation for record construction still...
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

14 months agoadded typedef validation and checking
Mike Lowis [Wed, 6 Nov 2024 20:51:06 +0000 (15:51 -0500)]
added typedef validation and checking

14 months agoimplemented fully qualified identifiers. type checker needs updates to properly handl...
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

14 months agoadded qualified_identifier rule
Michael D. Lowis [Mon, 4 Nov 2024 02:44:01 +0000 (21:44 -0500)]
added qualified_identifier rule

14 months agostarted implementing records
Michael D. Lowis [Tue, 29 Oct 2024 04:10:10 +0000 (00:10 -0400)]
started implementing records

14 months agoadded checks to make sure we don't assign to string indexes
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

14 months agoremoved runtime lib and implemented string comparisons and string indexing
Mike Lowis [Thu, 24 Oct 2024 17:54:37 +0000 (13:54 -0400)]
removed runtime lib and implemented string comparisons and string indexing

14 months agoarray literals working again
Michael D. Lowis [Wed, 23 Oct 2024 03:12:44 +0000 (23:12 -0400)]
array literals working again

14 months agoreworked codegen to use real types. collection types are still a work in progress...
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...

14 months agoimplemented dependency compilation and linking of final executable
Mike Lowis [Tue, 22 Oct 2024 18:03:37 +0000 (14:03 -0400)]
implemented dependency compilation and linking of final executable

15 months agofixed code generation of module bound symbols. still need to emit prototypes for...
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

15 months agochange where module resolution happens. Now it is happening in the parser and is...
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

15 months agostarted adding module imports and exports
Michael D. Lowis [Mon, 21 Oct 2024 03:36:44 +0000 (23:36 -0400)]
started adding module imports and exports

15 months agoadded imports and exports
Mike Lowis [Fri, 18 Oct 2024 19:24:29 +0000 (15:24 -0400)]
added imports and exports

15 months agofix line numbering. positions now map to start of token instead of end
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

15 months agotype checker fleshed out more. test file can compile now.
Mike Lowis [Fri, 18 Oct 2024 16:55:14 +0000 (12:55 -0400)]
type checker fleshed out more. test file can compile now.

15 months agofleshed out more type checking rules. Need to flesh out how type inference for functi...
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

15 months agofleshed out more type rules
Michael D. Lowis [Thu, 17 Oct 2024 01:51:01 +0000 (21:51 -0400)]
fleshed out more type rules

15 months agostarted implementing type checker
Mike Lowis [Wed, 16 Oct 2024 19:56:12 +0000 (15:56 -0400)]
started implementing type checker

15 months agofinished implementing test functions for operators
Mike Lowis [Wed, 16 Oct 2024 17:18:31 +0000 (13:18 -0400)]
finished implementing test functions for operators

19 months agodelete old hard coded main
Mike Lowis [Thu, 20 Jun 2024 19:09:19 +0000 (15:09 -0400)]
delete old hard coded main

19 months agoreworked codegen module and now generate the main function instead of hardcoding it
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

19 months agoreworked memory allocations and error messaging
Mike Lowis [Thu, 20 Jun 2024 14:31:31 +0000 (10:31 -0400)]
reworked memory allocations and error messaging

19 months agofixed up operators and added tests
Michael D. Lowis [Thu, 20 Jun 2024 03:53:20 +0000 (23:53 -0400)]
fixed up operators and added tests

19 months agodictionaries are working as expected now. Still some weirdness on handling comparison...
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

19 months agoimplemented basic dictionary
Mike Lowis [Wed, 19 Jun 2024 18:57:52 +0000 (14:57 -0400)]
implemented basic dictionary

19 months agofix broken string data structure
Mike Lowis [Mon, 17 Jun 2024 18:43:13 +0000 (14:43 -0400)]
fix broken string data structure

19 months agoimplemented object and string functions. Still need array and dict functions
Mike Lowis [Mon, 17 Jun 2024 18:41:41 +0000 (14:41 -0400)]
implemented object and string functions. Still need array and dict functions

19 months agoadded assert and error
Michael D. Lowis [Mon, 17 Jun 2024 02:41:39 +0000 (22:41 -0400)]
added assert and error

19 months agobroke runtime up into a static lib
Michael D. Lowis [Fri, 14 Jun 2024 03:14:35 +0000 (23:14 -0400)]
broke runtime up into a static lib

19 months agoadded stubs for hashes and arrays
Mike Lowis [Thu, 13 Jun 2024 20:24:42 +0000 (16:24 -0400)]
added stubs for hashes and arrays

19 months agoImplemented hash and array access and assignment
Mike Lowis [Thu, 13 Jun 2024 18:15:12 +0000 (14:15 -0400)]
Implemented hash and array access and assignment

19 months agofinished code generation for hash literals
Michael D. Lowis [Thu, 13 Jun 2024 02:58:59 +0000 (22:58 -0400)]
finished code generation for hash literals

19 months agoadded array literal parsing and code generation
Michael D. Lowis [Tue, 11 Jun 2024 01:29:16 +0000 (21:29 -0400)]
added array literal parsing and code generation

19 months agoadded string ops and coercion
Michael D. Lowis [Wed, 5 Jun 2024 02:40:10 +0000 (22:40 -0400)]
added string ops and coercion

19 months agoimplemented basic arithmetic and boolean operators
Mike Lowis [Tue, 4 Jun 2024 20:18:50 +0000 (16:18 -0400)]
implemented basic arithmetic and boolean operators

19 months agoadded real filename and line numbers to asserts
Mike Lowis [Mon, 3 Jun 2024 20:30:54 +0000 (16:30 -0400)]
added real filename and line numbers to asserts

19 months agofixed boolean operators
Mike Lowis [Mon, 3 Jun 2024 18:48:20 +0000 (14:48 -0400)]
fixed boolean operators

19 months agoadded runtime code for basic operators
Mike Lowis [Mon, 3 Jun 2024 16:43:01 +0000 (12:43 -0400)]
added runtime code for basic operators

19 months agofirst commit. Basic compilation mechanics working
Mike Lowis [Mon, 3 Jun 2024 15:58:01 +0000 (11:58 -0400)]
first commit. Basic compilation mechanics working