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

4 years agoimplemented lexer based on oberon spec
mike lowis [Fri, 16 Apr 2021 03:02:06 +0000 (23:02 -0400)]
implemented lexer based on oberon spec

4 years agoremoved unused builtins
mike lowis [Fri, 16 Apr 2021 00:09:26 +0000 (20:09 -0400)]
removed unused builtins

4 years agoadded build script, removed unnecessary files, and changed name
Michael D. Lowis [Thu, 15 Apr 2021 20:25:13 +0000 (16:25 -0400)]
added build script, removed unnecessary files, and changed name

4 years agoplopped in code for a simple compiler based on sclpl. Will start reworking it into...
Michael D. Lowis [Thu, 15 Apr 2021 17:22:18 +0000 (13:22 -0400)]
plopped in code for a simple compiler based on sclpl. Will start reworking it into an Oberon/Cerise compiler

4 years agoignore generated files
Michael D. Lowis [Wed, 14 Apr 2021 20:42:49 +0000 (16:42 -0400)]
ignore generated files

4 years agoremoved generated files
Michael D. Lowis [Wed, 14 Apr 2021 18:41:48 +0000 (14:41 -0400)]
removed generated files

4 years agoupdated wording of terminal symbols
Michael D. Lowis [Wed, 14 Apr 2021 15:08:01 +0000 (11:08 -0400)]
updated wording of terminal symbols

4 years agoremoved remnants of removed binaries
Michael D. Lowis [Wed, 14 Apr 2021 15:07:41 +0000 (11:07 -0400)]
removed remnants of removed binaries

4 years agoupdated spec to match current compiler
mike lowis [Wed, 14 Apr 2021 03:15:43 +0000 (23:15 -0400)]
updated spec to match current compiler

4 years agoreworked logical operators
mike lowis [Tue, 13 Apr 2021 03:07:05 +0000 (23:07 -0400)]
reworked logical operators

4 years agoupdated spec based on current implementation
Michael D. Lowis [Mon, 12 Apr 2021 20:28:16 +0000 (16:28 -0400)]
updated spec based on current implementation

4 years agoupdated documentation
mike lowis [Mon, 12 Apr 2021 02:15:55 +0000 (22:15 -0400)]
updated documentation

4 years agochange not equal operator from # to !=
mike lowis [Mon, 12 Apr 2021 01:38:22 +0000 (21:38 -0400)]
change not equal operator from # to !=