]> git.mdlowis.com Git - proto/cerise-c.git/log
proto/cerise-c.git
8 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

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

8 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

8 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

9 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...

9 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

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

10 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

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

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

10 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

10 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

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

10 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...

10 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

10 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

10 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

10 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

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

10 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

10 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.

10 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

10 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

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

10 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

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

14 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

14 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

14 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

14 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

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

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

14 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

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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

15 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

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

15 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

15 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