]> git.mdlowis.com Git - proto/obnc.git/log
proto/obnc.git
3 years agoadded base type definitions for llvm ir
Michael D. Lowis [Tue, 8 Feb 2022 21:33:20 +0000 (16:33 -0500)]
added base type definitions for llvm ir

3 years agostarted implementing llvm assembly code generation
Michael D. Lowis [Tue, 8 Feb 2022 21:28:37 +0000 (16:28 -0500)]
started implementing llvm assembly code generation

3 years agofixup ssa variable versioning logic
Michael D. Lowis [Wed, 26 Jan 2022 21:46:30 +0000 (16:46 -0500)]
fixup ssa variable versioning logic

3 years agoadded recursive phi function handling. Still some bugs to work out...
Michael D. Lowis [Tue, 25 Jan 2022 21:44:12 +0000 (16:44 -0500)]
added recursive phi function handling. Still some bugs to work out...

3 years agofixed code for handling returns from functions
Michael D. Lowis [Fri, 3 Dec 2021 20:54:06 +0000 (15:54 -0500)]
fixed code for handling returns from functions

3 years agoattempted to add in function blocks but return statements are not working at the...
Michael D. Lowis [Wed, 1 Dec 2021 21:38:14 +0000 (16:38 -0500)]
attempted to add in function blocks but return statements are not working at the moment

3 years agoreporting if statements correctly now
Michael D. Lowis [Tue, 30 Nov 2021 22:10:27 +0000 (17:10 -0500)]
reporting if statements correctly now

3 years agoimplemented topological sort and fixed up plantuml graph dumping to use it. Next...
Michael D. Lowis [Tue, 30 Nov 2021 15:15:22 +0000 (10:15 -0500)]
implemented topological sort and fixed up plantuml graph dumping to use it. Next step is finishing SSA creation and printing for if statements

3 years agoupdated ssa printing logic to use bitset to avoid multiple visits
Michael D. Lowis [Tue, 30 Nov 2021 04:05:43 +0000 (23:05 -0500)]
updated ssa printing logic to use bitset to avoid multiple visits

3 years agoadded bitset data structure for code generation usage
Michael D. Lowis [Mon, 29 Nov 2021 21:48:01 +0000 (16:48 -0500)]
added bitset data structure for code generation usage

3 years agoif statements are generating mostly-accurate graphs now. Need to prevent double visit...
Michael D. Lowis [Tue, 27 Jul 2021 18:25:08 +0000 (14:25 -0400)]
if statements are generating mostly-accurate graphs now. Need to prevent double visitations and ensure the blocks are printed in an appropriate order

3 years agostarted adding logic to print graphs
Michael D. Lowis [Tue, 27 Jul 2021 03:36:10 +0000 (23:36 -0400)]
started adding logic to print graphs

3 years agostart defining CFG links for blocks
Michael D. Lowis [Mon, 26 Jul 2021 21:01:47 +0000 (17:01 -0400)]
start defining CFG links for blocks

3 years agoadded basic phi function handling for straight line code. Next up is if statements
Michael D. Lowis [Mon, 26 Jul 2021 18:34:55 +0000 (14:34 -0400)]
added basic phi function handling for straight line code. Next up is if statements

3 years agocheckpoint commit
Michael D. Lowis [Mon, 26 Jul 2021 04:06:47 +0000 (00:06 -0400)]
checkpoint commit

3 years agoimplemented basic ssa without phis. phis will come next
Michael D. Lowis [Sat, 24 Jul 2021 03:45:56 +0000 (23:45 -0400)]
implemented basic ssa without phis. phis will come next

3 years agostarted adding print functions for ssa basic blocks
Michael D. Lowis [Fri, 23 Jul 2021 20:56:52 +0000 (16:56 -0400)]
started adding print functions for ssa basic blocks

3 years agostarted implementing statement sequences
Michael D. Lowis [Thu, 22 Jul 2021 02:20:45 +0000 (22:20 -0400)]
started implementing statement sequences

3 years agoconstant folding working for new ssa form
Michael D. Lowis [Wed, 21 Jul 2021 03:30:09 +0000 (23:30 -0400)]
constant folding working for new ssa form

3 years agomuch scaffolding for SSA
Michael D. Lowis [Wed, 21 Jul 2021 02:51:47 +0000 (22:51 -0400)]
much scaffolding for SSA

3 years agostarted modifying parser to generate ssa directly graph
Michael D. Lowis [Mon, 19 Jul 2021 20:55:16 +0000 (16:55 -0400)]
started modifying parser to generate ssa directly

3 years agosketched out new ssa-based API
Michael D. Lowis [Mon, 19 Jul 2021 20:37:45 +0000 (16:37 -0400)]
sketched out new ssa-based API

3 years agoremoved distinction between unop and binop in API
Michael D. Lowis [Mon, 19 Jul 2021 03:18:17 +0000 (23:18 -0400)]
removed distinction between unop and binop in API

3 years agocleaned up module entries in the symbol file
Michael D. Lowis [Mon, 19 Jul 2021 02:07:31 +0000 (22:07 -0400)]
cleaned up module entries in the symbol file

3 years agominor cleanup and update of TODO list
Michael D. Lowis [Fri, 16 Jul 2021 20:56:07 +0000 (16:56 -0400)]
minor cleanup and update of TODO list

3 years agoadded type cache output to symbol file
Michael D. Lowis [Fri, 16 Jul 2021 02:46:13 +0000 (22:46 -0400)]
added type cache output to symbol file

3 years agoreorganized file
Michael D. Lowis [Thu, 15 Jul 2021 20:37:44 +0000 (16:37 -0400)]
reorganized file

3 years agostarted writing rudimentary symbol export logic
Michael D. Lowis [Thu, 15 Jul 2021 20:36:35 +0000 (16:36 -0400)]
started writing rudimentary symbol export logic

3 years agoimplemented first pass at module coped identifiers. Still need to add symbol file...
Michael D. Lowis [Thu, 15 Jul 2021 20:07:07 +0000 (16:07 -0400)]
implemented first pass at module coped identifiers. Still need to add symbol file genration and loading

3 years agosketched out strategy for module importing and aliasing as well as symbol resolution
Michael D. Lowis [Wed, 14 Jul 2021 20:47:50 +0000 (16:47 -0400)]
sketched out strategy for module importing and aliasing as well as symbol resolution

3 years agoimplemented function calls
Michael D. Lowis [Wed, 14 Jul 2021 17:14:07 +0000 (13:14 -0400)]
implemented function calls

3 years agoGot If statements and procedure definitions working. AST creation now self optimizes...
Michael D. Lowis [Wed, 14 Jul 2021 14:41:59 +0000 (10:41 -0400)]
Got If statements and procedure definitions working. AST creation now self optimizes by performing constant folding, block coalescing and dead code removal during creation. This will result in less work for the optimizer.

3 years agotweaked ast printing
Michael D. Lowis [Tue, 13 Jul 2021 20:57:25 +0000 (16:57 -0400)]
tweaked ast printing

3 years agosketched out really rough logic for array indexing
Michael D. Lowis [Mon, 12 Jul 2021 20:52:37 +0000 (16:52 -0400)]
sketched out really rough logic for array indexing

3 years agore-enabled variable and type declarations
Michael D. Lowis [Mon, 12 Jul 2021 17:54:51 +0000 (13:54 -0400)]
re-enabled variable and type declarations

3 years agonon-record type definitions are working now.
Michael D. Lowis [Mon, 12 Jul 2021 17:04:27 +0000 (13:04 -0400)]
non-record type definitions are working now.

3 years agogot basic expression parsing back up and running. Verified using constant evaluation...
Michael D. Lowis [Mon, 12 Jul 2021 16:40:17 +0000 (12:40 -0400)]
got basic expression parsing back up and running. Verified using constant evaluation logic

3 years agocleanup dead code from old architecture.
Michael D. Lowis [Mon, 12 Jul 2021 16:11:02 +0000 (12:11 -0400)]
cleanup dead code from old architecture.

3 years agoadded constant operations for binary operators
Michael D. Lowis [Mon, 12 Jul 2021 11:56:16 +0000 (07:56 -0400)]
added constant operations for binary operators

3 years agounary constant operations are working
Michael D. Lowis [Fri, 9 Jul 2021 19:14:15 +0000 (15:14 -0400)]
unary constant operations are working

3 years agostarted integrating AST generation. Null pointer making its way into printing or...
Michael D. Lowis [Wed, 7 Jul 2021 20:55:03 +0000 (16:55 -0400)]
started integrating AST generation. Null pointer making its way into printing or generation. haven't tracked it down yet

4 years agopush ast.c
Michael D. Lowis [Tue, 6 Jul 2021 01:41:27 +0000 (21:41 -0400)]
push ast.c

4 years agocreated ast.c
Michael D. Lowis [Thu, 24 Jun 2021 20:25:42 +0000 (16:25 -0400)]
created ast.c

4 years agoadded very basic AST definition. Considering ditching ssa-like IR for simpler AST...
Michael D. Lowis [Wed, 23 Jun 2021 20:55:09 +0000 (16:55 -0400)]
added very basic AST definition. Considering ditching ssa-like IR for simpler AST format

4 years agofixed up constants and constant unary ops
Michael D. Lowis [Fri, 11 Jun 2021 20:45:40 +0000 (16:45 -0400)]
fixed up constants and constant unary ops

4 years agocommented out a bunch of code in preparation for IR overhaul
Michael D. Lowis [Thu, 10 Jun 2021 20:44:21 +0000 (16:44 -0400)]
commented out a bunch of code in preparation for IR overhaul

4 years agoattempted to flesh out ssa backend. Considering scrapping it and moving to a tree...
mike lowis [Thu, 10 Jun 2021 11:44:50 +0000 (07:44 -0400)]
attempted to flesh out ssa backend. Considering scrapping it and moving to a tree form instead...

4 years agoadded new backend
mike lowis [Wed, 9 Jun 2021 11:45:35 +0000 (07:45 -0400)]
added new backend

4 years agogot rid of next pointer for Symbol type
mike lowis [Tue, 8 Jun 2021 11:33:19 +0000 (07:33 -0400)]
got rid of next pointer for Symbol type

4 years agostarted sketching API for intermediate language implementation
Michael D. Lowis [Mon, 7 Jun 2021 20:44:27 +0000 (16:44 -0400)]
started sketching API for intermediate language implementation

4 years agofixed up function calls
Michael D. Lowis [Mon, 7 Jun 2021 16:19:16 +0000 (12:19 -0400)]
fixed up function calls

4 years agofixed up code generation with new symbol table approach.
Michael D. Lowis [Mon, 7 Jun 2021 16:05:14 +0000 (12:05 -0400)]
fixed up code generation with new symbol table approach.

4 years agoreworked function definitions and scoping with new symbol table
mike lowis [Mon, 7 Jun 2021 02:46:31 +0000 (22:46 -0400)]
reworked function definitions and scoping with new symbol table

4 years agonew symbol table functioning
mike lowis [Sat, 5 Jun 2021 02:42:45 +0000 (22:42 -0400)]
new symbol table functioning

4 years agoreworking symbol table...very broken
Michael D. Lowis [Sat, 5 Jun 2021 01:53:56 +0000 (21:53 -0400)]
reworking symbol table...very broken

4 years agocheckpoint commit
mike lowis [Tue, 1 Jun 2021 04:04:57 +0000 (00:04 -0400)]
checkpoint commit

4 years agopartial fix-up of array access. Need to generate index calculations
Michael D. Lowis [Fri, 28 May 2021 18:21:26 +0000 (14:21 -0400)]
partial fix-up of array access. Need to generate index calculations

4 years agomoved TODO to dedicated file. removed offset from item type. Defined types for possib...
Michael D. Lowis [Fri, 28 May 2021 16:08:18 +0000 (12:08 -0400)]
moved TODO to dedicated file. removed offset from item type. Defined types for possible SSA form

4 years agocleaned up record access code
Michael D. Lowis [Thu, 27 May 2021 19:55:05 +0000 (15:55 -0400)]
cleaned up record access code

4 years agowrapped up initial record support
mike lowis [Thu, 27 May 2021 01:31:37 +0000 (21:31 -0400)]
wrapped up initial record support

4 years agoimplemented record types and record member access
mike lowis [Wed, 26 May 2021 00:43:09 +0000 (20:43 -0400)]
implemented record types and record member access

4 years agoreworked field addition to records
mike lowis [Mon, 24 May 2021 02:22:58 +0000 (22:22 -0400)]
reworked field addition to records

4 years agoadded some helpful info
Michael D. Lowis [Wed, 19 May 2021 15:56:11 +0000 (11:56 -0400)]
added some helpful info

4 years agoimplemented alignment and size calculation on records and arrays. Also added a list...
mike lowis [Tue, 18 May 2021 11:44:20 +0000 (07:44 -0400)]
implemented alignment and size calculation on records and arrays. Also added a list of undefined behaviors in C to keep in mind.

4 years agosegfaults everywhere
Michael D. Lowis [Fri, 14 May 2021 21:01:56 +0000 (17:01 -0400)]
segfaults everywhere

4 years agoadded export bit for fields
Michael D. Lowis [Fri, 14 May 2021 20:23:50 +0000 (16:23 -0400)]
added export bit for fields

4 years agoinitial record pass using symbols. Added a field type, should convert to using that...
Michael D. Lowis [Fri, 14 May 2021 20:23:03 +0000 (16:23 -0400)]
initial record pass using symbols. Added a field type, should convert to using that over the symbol type when specifying record fields

4 years agoMerge branch 'master' of mdlowis.com:~/git/proto/obnc
Michael D. Lowis [Fri, 14 May 2021 13:00:58 +0000 (09:00 -0400)]
Merge branch 'master' of mdlowis.com:~/git/proto/obnc

4 years agocommented out broken stuff...really gotta get it working...
mike lowis [Fri, 14 May 2021 01:50:53 +0000 (21:50 -0400)]
commented out broken stuff...really gotta get it working...

4 years agoMerge branch 'master' of mdlowis.com:~/git/proto/obnc
Michael D. Lowis [Wed, 12 May 2021 13:02:11 +0000 (09:02 -0400)]
Merge branch 'master' of mdlowis.com:~/git/proto/obnc

4 years agominor cleanup
Michael D. Lowis [Wed, 12 May 2021 13:02:04 +0000 (09:02 -0400)]
minor cleanup

4 years agoadded grammar rule for record fields. adding fields doesnt work yet though
mike lowis [Wed, 12 May 2021 02:03:58 +0000 (22:03 -0400)]
added grammar rule for record fields. adding fields doesnt work yet though

4 years agofully implemented first pass at array indexing with range checks
Michael D. Lowis [Tue, 11 May 2021 18:03:47 +0000 (14:03 -0400)]
fully implemented first pass at array indexing with range checks

4 years agoadded array temporaries but assignment is still busted
mike lowis [Tue, 11 May 2021 03:00:49 +0000 (23:00 -0400)]
added array temporaries but assignment is still busted

4 years agoadded some error checking to array indexing
mike lowis [Tue, 11 May 2021 00:44:26 +0000 (20:44 -0400)]
added some error checking to array indexing

4 years agostarted adding array indexing
Michael D. Lowis [Fri, 7 May 2021 20:52:26 +0000 (16:52 -0400)]
started adding array indexing

4 years agostarted implementing array subscripting
mike lowis [Fri, 7 May 2021 03:51:15 +0000 (23:51 -0400)]
started implementing array subscripting

4 years agofunctions and function calls fully working now
Michael D. Lowis [Thu, 6 May 2021 20:50:16 +0000 (16:50 -0400)]
functions and function calls fully working now

4 years agofunction calls are almost working....
mike lowis [Thu, 6 May 2021 03:52:24 +0000 (23:52 -0400)]
function calls are almost working....

4 years agoremoved dead code
Michael D. Lowis [Wed, 5 May 2021 20:38:36 +0000 (16:38 -0400)]
removed dead code

4 years agoAdded logic for parsing args and adding them to symbol table
Michael D. Lowis [Wed, 5 May 2021 16:35:35 +0000 (12:35 -0400)]
Added logic for parsing args and adding them to symbol table

4 years agomostly fixed symbol table. Need to fix the procedure code generation
Michael D. Lowis [Wed, 5 May 2021 14:03:58 +0000 (10:03 -0400)]
mostly fixed symbol table. Need to fix the procedure code generation

4 years agopartial overhaul of symbol table...
mike lowis [Wed, 5 May 2021 02:26:51 +0000 (22:26 -0400)]
partial overhaul of symbol table...

4 years agorestructured parser for readability
Michael D. Lowis [Tue, 4 May 2021 20:49:38 +0000 (16:49 -0400)]
restructured parser for readability

4 years agostarted working on argument parsing
Michael D. Lowis [Tue, 4 May 2021 19:29:01 +0000 (15:29 -0400)]
started working on argument parsing

4 years agoAdded declarations section to procedure declarations
mike lowis [Tue, 4 May 2021 03:14:52 +0000 (23:14 -0400)]
Added declarations section to procedure declarations

4 years agostarted parsing procedure declarations
mike lowis [Tue, 4 May 2021 02:48:53 +0000 (22:48 -0400)]
started parsing procedure declarations

4 years agocheckpoint commit
mike lowis [Mon, 3 May 2021 03:20:43 +0000 (23:20 -0400)]
checkpoint commit

4 years agoreworked global generation to take into account export marker
Michael D. Lowis [Fri, 30 Apr 2021 20:21:41 +0000 (16:21 -0400)]
reworked  global generation to take into account export marker

4 years agoadded array base type handling
Michael D. Lowis [Fri, 30 Apr 2021 14:25:47 +0000 (10:25 -0400)]
added array base type handling

4 years agoimplemented code generation for if statements. Only the C backend for now
Michael D. Lowis [Fri, 30 Apr 2021 13:13:54 +0000 (09:13 -0400)]
implemented code generation for if statements. Only the C backend for now

4 years agocleaned up loops
mike lowis [Fri, 30 Apr 2021 03:08:22 +0000 (23:08 -0400)]
cleaned up loops

4 years agoadded parsing rules for array types
Michael D. Lowis [Thu, 29 Apr 2021 17:59:24 +0000 (13:59 -0400)]
added parsing rules for array types

4 years agosplit up and reorganized files
Michael D. Lowis [Thu, 29 Apr 2021 15:59:56 +0000 (11:59 -0400)]
split up and reorganized files

4 years agoadded if statement to parser. need to add codegen hooks
mike lowis [Thu, 29 Apr 2021 03:28:18 +0000 (23:28 -0400)]
added if statement to parser. need to add codegen hooks

4 years agoadded handling of most operators
Michael D. Lowis [Wed, 28 Apr 2021 18:50:06 +0000 (14:50 -0400)]
added handling of most operators

4 years agostarted fleshing out a C backend
Michael D. Lowis [Wed, 28 Apr 2021 17:44:49 +0000 (13:44 -0400)]
started fleshing out a C backend

4 years agoreorganized folder strcuture to allow fo rmultipl backends
Michael D. Lowis [Wed, 28 Apr 2021 15:17:52 +0000 (11:17 -0400)]
reorganized folder strcuture to allow fo rmultipl backends

4 years agoadded more operations
mike lowis [Wed, 28 Apr 2021 03:03:00 +0000 (23:03 -0400)]
added more operations

4 years agofleshed out more kinds of operations
mike lowis [Tue, 27 Apr 2021 03:55:04 +0000 (23:55 -0400)]
fleshed out more kinds of operations