]>
git.mdlowis.com Git - proto/obnc.git/log
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
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...
mike lowis [Wed, 9 Jun 2021 11:45:35 +0000 (07:45 -0400)]
added new backend
mike lowis [Tue, 8 Jun 2021 11:33:19 +0000 (07:33 -0400)]
got rid of next pointer for Symbol type
Michael D. Lowis [Mon, 7 Jun 2021 20:44:27 +0000 (16:44 -0400)]
started sketching API for intermediate language implementation
Michael D. Lowis [Mon, 7 Jun 2021 16:19:16 +0000 (12:19 -0400)]
fixed up function calls
Michael D. Lowis [Mon, 7 Jun 2021 16:05:14 +0000 (12:05 -0400)]
fixed up code generation with new symbol table approach.
mike lowis [Mon, 7 Jun 2021 02:46:31 +0000 (22:46 -0400)]
reworked function definitions and scoping with new symbol table
mike lowis [Sat, 5 Jun 2021 02:42:45 +0000 (22:42 -0400)]
new symbol table functioning
Michael D. Lowis [Sat, 5 Jun 2021 01:53:56 +0000 (21:53 -0400)]
reworking symbol table...very broken
mike lowis [Tue, 1 Jun 2021 04:04:57 +0000 (00:04 -0400)]
checkpoint commit
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
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
Michael D. Lowis [Thu, 27 May 2021 19:55:05 +0000 (15:55 -0400)]
cleaned up record access code
mike lowis [Thu, 27 May 2021 01:31:37 +0000 (21:31 -0400)]
wrapped up initial record support
mike lowis [Wed, 26 May 2021 00:43:09 +0000 (20:43 -0400)]
implemented record types and record member access
mike lowis [Mon, 24 May 2021 02:22:58 +0000 (22:22 -0400)]
reworked field addition to records
Michael D. Lowis [Wed, 19 May 2021 15:56:11 +0000 (11:56 -0400)]
added some helpful info
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.
Michael D. Lowis [Fri, 14 May 2021 21:01:56 +0000 (17:01 -0400)]
segfaults everywhere
Michael D. Lowis [Fri, 14 May 2021 20:23:50 +0000 (16:23 -0400)]
added export bit for fields
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
Michael D. Lowis [Fri, 14 May 2021 13:00:58 +0000 (09:00 -0400)]
Merge branch 'master' of mdlowis.com:~/git/proto/obnc
mike lowis [Fri, 14 May 2021 01:50:53 +0000 (21:50 -0400)]
commented out broken stuff...really gotta get it working...
Michael D. Lowis [Wed, 12 May 2021 13:02:11 +0000 (09:02 -0400)]
Merge branch 'master' of mdlowis.com:~/git/proto/obnc
Michael D. Lowis [Wed, 12 May 2021 13:02:04 +0000 (09:02 -0400)]
minor cleanup
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
Michael D. Lowis [Tue, 11 May 2021 18:03:47 +0000 (14:03 -0400)]
fully implemented first pass at array indexing with range checks
mike lowis [Tue, 11 May 2021 03:00:49 +0000 (23:00 -0400)]
added array temporaries but assignment is still busted
mike lowis [Tue, 11 May 2021 00:44:26 +0000 (20:44 -0400)]
added some error checking to array indexing
Michael D. Lowis [Fri, 7 May 2021 20:52:26 +0000 (16:52 -0400)]
started adding array indexing
mike lowis [Fri, 7 May 2021 03:51:15 +0000 (23:51 -0400)]
started implementing array subscripting
Michael D. Lowis [Thu, 6 May 2021 20:50:16 +0000 (16:50 -0400)]
functions and function calls fully working now
mike lowis [Thu, 6 May 2021 03:52:24 +0000 (23:52 -0400)]
function calls are almost working....
Michael D. Lowis [Wed, 5 May 2021 20:38:36 +0000 (16:38 -0400)]
removed dead code
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
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
mike lowis [Wed, 5 May 2021 02:26:51 +0000 (22:26 -0400)]
partial overhaul of symbol table...
Michael D. Lowis [Tue, 4 May 2021 20:49:38 +0000 (16:49 -0400)]
restructured parser for readability
Michael D. Lowis [Tue, 4 May 2021 19:29:01 +0000 (15:29 -0400)]
started working on argument parsing
mike lowis [Tue, 4 May 2021 03:14:52 +0000 (23:14 -0400)]
Added declarations section to procedure declarations
mike lowis [Tue, 4 May 2021 02:48:53 +0000 (22:48 -0400)]
started parsing procedure declarations
mike lowis [Mon, 3 May 2021 03:20:43 +0000 (23:20 -0400)]
checkpoint commit
Michael D. Lowis [Fri, 30 Apr 2021 20:21:41 +0000 (16:21 -0400)]
reworked global generation to take into account export marker
Michael D. Lowis [Fri, 30 Apr 2021 14:25:47 +0000 (10:25 -0400)]
added array base type handling
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
mike lowis [Fri, 30 Apr 2021 03:08:22 +0000 (23:08 -0400)]
cleaned up loops
Michael D. Lowis [Thu, 29 Apr 2021 17:59:24 +0000 (13:59 -0400)]
added parsing rules for array types
Michael D. Lowis [Thu, 29 Apr 2021 15:59:56 +0000 (11:59 -0400)]
split up and reorganized files
mike lowis [Thu, 29 Apr 2021 03:28:18 +0000 (23:28 -0400)]
added if statement to parser. need to add codegen hooks
Michael D. Lowis [Wed, 28 Apr 2021 18:50:06 +0000 (14:50 -0400)]
added handling of most operators
Michael D. Lowis [Wed, 28 Apr 2021 17:44:49 +0000 (13:44 -0400)]
started fleshing out a C backend
Michael D. Lowis [Wed, 28 Apr 2021 15:17:52 +0000 (11:17 -0400)]
reorganized folder strcuture to allow fo rmultipl backends
mike lowis [Wed, 28 Apr 2021 03:03:00 +0000 (23:03 -0400)]
added more operations
mike lowis [Tue, 27 Apr 2021 03:55:04 +0000 (23:55 -0400)]
fleshed out more kinds of operations
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
mike lowis [Fri, 23 Apr 2021 02:56:20 +0000 (22:56 -0400)]
tweaked module code generation. global var references don't work yet
mike lowis [Fri, 23 Apr 2021 02:00:35 +0000 (22:00 -0400)]
add calls to module init functions
Michael D. Lowis [Thu, 22 Apr 2021 20:45:18 +0000 (16:45 -0400)]
added code to define variables
Michael D. Lowis [Thu, 22 Apr 2021 20:12:28 +0000 (16:12 -0400)]
got primitive code generation working for assignments
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)
mike lowis [Thu, 22 Apr 2021 02:06:48 +0000 (22:06 -0400)]
added scaffolding to generate assembly code
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
Michael D. Lowis [Wed, 21 Apr 2021 19:46:00 +0000 (15:46 -0400)]
added module-level variable declarations
Michael D. Lowis [Wed, 21 Apr 2021 17:58:42 +0000 (13:58 -0400)]
condensed constant declaration tests
Michael D. Lowis [Wed, 21 Apr 2021 17:55:34 +0000 (13:55 -0400)]
rearranged grammar to minimize need for forward declarations
mike lowis [Wed, 21 Apr 2021 03:33:30 +0000 (23:33 -0400)]
implemented constant 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
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
Michael D. Lowis [Tue, 20 Apr 2021 19:28:35 +0000 (15:28 -0400)]
started implementing item based transformation based on oberon0 compiler
Michael D. Lowis [Tue, 20 Apr 2021 19:28:02 +0000 (15:28 -0400)]
Add oberon0 code from wirth for reference
mike lowis [Tue, 20 Apr 2021 03:44:07 +0000 (23:44 -0400)]
implemented basic constant folding ops..
Michael D. Lowis [Mon, 19 Apr 2021 20:33:26 +0000 (16:33 -0400)]
added global and local symbol list
Michael D. Lowis [Mon, 19 Apr 2021 20:31:32 +0000 (16:31 -0400)]
added scaffolding for constant expression evaluation and code generation
mike lowis [Mon, 19 Apr 2021 03:35:47 +0000 (23:35 -0400)]
added codegen module
mike lowis [Mon, 19 Apr 2021 01:09:45 +0000 (21:09 -0400)]
added rule macro to automatically add tracing code
mike lowis [Sat, 17 Apr 2021 04:00:27 +0000 (00:00 -0400)]
added parser scaffolding ofr expressions
Michael D. Lowis [Fri, 16 Apr 2021 20:10:25 +0000 (16:10 -0400)]
Added module and import list rules
Michael D. Lowis [Fri, 16 Apr 2021 18:22:48 +0000 (14:22 -0400)]
implemented basic module skeleton parsing
Michael D. Lowis [Fri, 16 Apr 2021 15:49:09 +0000 (11:49 -0400)]
optimized lexer table
mike lowis [Fri, 16 Apr 2021 03:02:06 +0000 (23:02 -0400)]
implemented lexer based on oberon spec
mike lowis [Fri, 16 Apr 2021 00:09:26 +0000 (20:09 -0400)]
removed unused builtins
Michael D. Lowis [Thu, 15 Apr 2021 20:25:13 +0000 (16:25 -0400)]
added build script, removed unnecessary files, and changed name
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
Michael D. Lowis [Wed, 14 Apr 2021 20:42:49 +0000 (16:42 -0400)]
ignore generated files
Michael D. Lowis [Wed, 14 Apr 2021 18:41:48 +0000 (14:41 -0400)]
removed generated files
Michael D. Lowis [Wed, 14 Apr 2021 15:08:01 +0000 (11:08 -0400)]
updated wording of terminal symbols
Michael D. Lowis [Wed, 14 Apr 2021 15:07:41 +0000 (11:07 -0400)]
removed remnants of removed binaries
mike lowis [Wed, 14 Apr 2021 03:15:43 +0000 (23:15 -0400)]
updated spec to match current compiler
mike lowis [Tue, 13 Apr 2021 03:07:05 +0000 (23:07 -0400)]
reworked logical operators
Michael D. Lowis [Mon, 12 Apr 2021 20:28:16 +0000 (16:28 -0400)]
updated spec based on current implementation
mike lowis [Mon, 12 Apr 2021 02:15:55 +0000 (22:15 -0400)]
updated documentation
mike lowis [Mon, 12 Apr 2021 01:38:22 +0000 (21:38 -0400)]
change not equal operator from # to !=
mike lowis [Mon, 12 Apr 2021 00:41:45 +0000 (20:41 -0400)]
updated docs
mike lowis [Sun, 11 Apr 2021 03:12:51 +0000 (23:12 -0400)]
removed set types from the language
mike lowis [Sun, 11 Apr 2021 01:56:35 +0000 (21:56 -0400)]
removed set type and set operators
mike lowis [Sat, 10 Apr 2021 02:47:25 +0000 (22:47 -0400)]
remove invalid documentation
mike lowis [Sat, 10 Apr 2021 02:28:07 +0000 (22:28 -0400)]
remove unused stuff from install scripts
mike lowis [Sat, 10 Apr 2021 00:37:58 +0000 (20:37 -0400)]
INCL EXCL to Include Exclude
mike lowis [Sat, 10 Apr 2021 00:36:05 +0000 (20:36 -0400)]
ABS to Abs