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

4 years agoadded a single case of code generation for binary operators using variables
mike lowis [Mon, 26 Apr 2021 03:36:17 +0000 (23:36 -0400)]
added a single case of code generation for binary operators using variables

4 years agotweaked module code generation. global var references don't work yet
mike lowis [Fri, 23 Apr 2021 02:56:20 +0000 (22:56 -0400)]
tweaked module code generation. global var references don't work yet

4 years agoadd calls to module init functions
mike lowis [Fri, 23 Apr 2021 02:00:35 +0000 (22:00 -0400)]
add calls to module init functions

4 years agoadded code to define variables
Michael D. Lowis [Thu, 22 Apr 2021 20:45:18 +0000 (16:45 -0400)]
added code to define variables

4 years agogot primitive code generation working for assignments
Michael D. Lowis [Thu, 22 Apr 2021 20:12:28 +0000 (16:12 -0400)]
got primitive code generation working for assignments

4 years agoscaffolding is in place for assignment statements. Need to decipher level handling...
Michael D. Lowis [Thu, 22 Apr 2021 13:46:52 +0000 (09:46 -0400)]
scaffolding is in place for assignment statements. Need to decipher level handling and generate the proper code for the assignments (and expressions)

4 years agoadded scaffolding to generate assembly code
mike lowis [Thu, 22 Apr 2021 02:06:48 +0000 (22:06 -0400)]
added scaffolding to generate assembly code

4 years agoreformatted OSP.mod for readability. Started building parser rules for statements...
Michael D. Lowis [Wed, 21 Apr 2021 20:25:41 +0000 (16:25 -0400)]
reformatted OSP.mod for readability. Started building parser rules for statements. Focusing on if statements, assignments, and function calls first

4 years agoadded module-level variable declarations
Michael D. Lowis [Wed, 21 Apr 2021 19:46:00 +0000 (15:46 -0400)]
added module-level variable declarations

4 years agocondensed constant declaration tests
Michael D. Lowis [Wed, 21 Apr 2021 17:58:42 +0000 (13:58 -0400)]
condensed constant declaration tests

4 years agorearranged grammar to minimize need for forward declarations
Michael D. Lowis [Wed, 21 Apr 2021 17:55:34 +0000 (13:55 -0400)]
rearranged grammar to minimize need for forward declarations

4 years agoimplemented constant identifier lookups
mike lowis [Wed, 21 Apr 2021 03:33:30 +0000 (23:33 -0400)]
implemented constant identifier lookups

4 years agoconstant expressions are almost completely implemented. need to add identifier lookups
mike lowis [Wed, 21 Apr 2021 02:41:05 +0000 (22:41 -0400)]
constant expressions are almost completely implemented. need to add identifier lookups

4 years agoadded scaffolding for arithmetic operators. will fill in details later for constant...
Michael D. Lowis [Tue, 20 Apr 2021 20:55:15 +0000 (16:55 -0400)]
added scaffolding for arithmetic operators. will fill in details later for constant calculations

4 years agostarted implementing item based transformation based on oberon0 compiler
Michael D. Lowis [Tue, 20 Apr 2021 19:28:35 +0000 (15:28 -0400)]
started implementing item based transformation based on oberon0 compiler

4 years agoAdd oberon0 code from wirth for reference
Michael D. Lowis [Tue, 20 Apr 2021 19:28:02 +0000 (15:28 -0400)]
Add oberon0 code from wirth for reference

4 years agoimplemented basic constant folding ops..
mike lowis [Tue, 20 Apr 2021 03:44:07 +0000 (23:44 -0400)]
implemented basic constant folding ops..

4 years agoadded global and local symbol list
Michael D. Lowis [Mon, 19 Apr 2021 20:33:26 +0000 (16:33 -0400)]
added global and local symbol list

4 years agoadded scaffolding for constant expression evaluation and code generation
Michael D. Lowis [Mon, 19 Apr 2021 20:31:32 +0000 (16:31 -0400)]
added scaffolding for constant expression evaluation and code generation

4 years agoadded codegen module
mike lowis [Mon, 19 Apr 2021 03:35:47 +0000 (23:35 -0400)]
added codegen module

4 years agoadded rule macro to automatically add tracing code
mike lowis [Mon, 19 Apr 2021 01:09:45 +0000 (21:09 -0400)]
added rule macro to automatically add tracing code

4 years agoadded parser scaffolding ofr expressions
mike lowis [Sat, 17 Apr 2021 04:00:27 +0000 (00:00 -0400)]
added parser scaffolding ofr expressions

4 years agoAdded module and import list rules
Michael D. Lowis [Fri, 16 Apr 2021 20:10:25 +0000 (16:10 -0400)]
Added module and import list rules

4 years agoimplemented basic module skeleton parsing
Michael D. Lowis [Fri, 16 Apr 2021 18:22:48 +0000 (14:22 -0400)]
implemented basic module skeleton parsing

4 years agooptimized lexer table
Michael D. Lowis [Fri, 16 Apr 2021 15:49:09 +0000 (11:49 -0400)]
optimized  lexer table