1
0
mirror of https://github.com/catseye/SixtyPical.git synced 2024-11-25 07:32:16 +00:00
Commit Graph

49 Commits

Author SHA1 Message Date
Chris Pressey
2e2e80664e Forbid nested with interrupts blocks, and more refactoring. 2019-05-14 15:01:10 +01:00
Chris Pressey
0c65954bc5 Updates to README. Fix awkward punctuation in usage message. 2019-04-16 11:37:46 +01:00
Chris Pressey
a10f1c6528 Replace --run option with terser --run-on option. 2019-04-16 10:35:59 +01:00
Chris Pressey
ce8e83908b First cut at a --run option for sixtypical, replacing loadngo.sh. 2019-04-11 16:53:43 +01:00
Chris Pressey
652ab1dc5c Clean up ArgumentParser usage message, add --version argument. 2019-04-10 10:42:50 +01:00
Chris Pressey
a0328b8840 Store type information in SymbolTable shared across phases. 2019-04-10 08:48:33 +01:00
Chris Pressey
b19267d3ba Checkpoint import of changes for version 0.19. 2019-04-08 11:50:54 +01:00
Chris Pressey
0593ce6a66 Move merge_programs() out of main. Handle missing -o options. 2018-09-07 09:26:11 +01:00
Chris Pressey
8ce787a797 Inheritance hierarchy; binding is a little less awful. 2018-09-07 09:10:20 +01:00
Chris Pressey
99a0d5624a Awful binding, but at least this code isn't in main anymore. 2018-09-06 18:25:29 +01:00
Chris Pressey
24f093b1db Make all serialize() methods take addr() as an arg, not kwarg. 2018-09-06 18:11:47 +01:00
Chris Pressey
0a91d6bbc0 Rename method for more distinction/clarity. 2018-09-06 17:21:43 +01:00
Chris Pressey
10062fe2fb Fix whitespace (but not sorting) issue in --dump-fallthru-info. 2018-09-06 16:32:48 +01:00
Chris Pressey
4bba75857f --output cmdline argument, serialize() returns an array of bytes. 2018-09-06 16:18:41 +01:00
Chris Pressey
3fd7e52bc7 Reduce number of errors under Python 3 another smidge. 2018-09-06 14:21:29 +01:00
Chris Pressey
89fa8361a8 Remove --prelude, reform and document --output-formats. 2018-04-23 13:18:01 +01:00
Chris Pressey
2ca843ece7 Begin hooking the fallthru analysis up to the compilation phase. 2018-04-05 10:52:14 +01:00
Chris Pressey
ac24f98dd3 Vastly simplify the fallthru analysis algorithm. 2018-04-05 09:57:14 +01:00
Chris Pressey
b1bcc21ffc Go slightly further with the serialization. 2018-04-04 16:22:14 +01:00
Chris Pressey
30e839033c First cut at serialization of fallthru-optimized routines. 2018-04-04 15:09:48 +01:00
Chris Pressey
aecea9b6a3 Optomize dump() abstraction. (You muss optomize, always optomize.) 2018-04-04 14:20:56 +01:00
Chris Pressey
e39dbf68ed Call it fall_in_map. 2018-04-04 14:16:49 +01:00
Chris Pressey
9c196efe25 Abstraction for dumping JSON info. 2018-04-04 14:13:53 +01:00
Chris Pressey
448849ac4b Successfully break cycle. 2018-04-04 14:01:17 +01:00
Chris Pressey
50433ac860 Find cycles in fallthru map. Try to break them; not right, yet. 2018-04-04 13:37:32 +01:00
Chris Pressey
d883816298 --optimize-fallthru and --dump-fallthru-info options. 2018-04-04 11:54:50 +01:00
Chris Pressey
a0d3ea8167 Add a dedicated module for a dedicated FallthruAnalyzer. 2018-04-04 11:09:39 +01:00
Chris Pressey
b33998cddc First cut at building fallthru map. Needs tests. 2018-03-29 15:07:44 +01:00
Chris Pressey
0093c7b7d9 First cut at support for targetting the Atari 2600. 2018-03-28 14:20:53 +01:00
Chris Pressey
6744ad29a9 Beginnings of modularity. 2018-03-27 16:23:22 +01:00
Chris Pressey
d9e625db30 Clean up driver code, add filename to error messages. 2018-03-27 15:55:29 +01:00
Chris Pressey
b1e9df0d45 Add --output-format and --origin command-line options. 2018-03-13 13:33:01 +00:00
Chris Pressey
72efecbb1a Support different preludes for different archs (c64 and vic20 now.) 2018-03-06 17:00:39 +00:00
Chris Pressey
dbba7cc7b9 Use ArgumentParser instead of OptionParser. 2018-03-06 16:28:34 +00:00
Chris Pressey
ed1ed3eb5d Always analyze before compiling. 2018-02-06 16:14:44 +00:00
Chris Pressey
15072eff52 The evaluator doesn't add much and keeps falling behind; remove it. 2018-02-05 13:17:23 +00:00
Chris Pressey
cf679b293a Ability to --debug analysis. Make 16-bit addition test pass. 2017-12-07 11:49:15 +00:00
Chris Pressey
0b2b5d904e Implement indirect JSRs with trampolines in theory; doesn't work. 2015-10-22 15:45:16 +01:00
Chris Pressey
bb6ad5d3cf Refactor Analyzer. Get analysis tests passing once again. 2015-10-21 15:45:14 +01:00
Chris Pressey
6e0ca3838e Recast Evaluator as an object. Handle goto inside it. 2015-10-20 14:39:32 +01:00
Chris Pressey
c5998ed240 Compile repeat loops. 2015-10-18 13:55:40 +01:00
Chris Pressey
b794d8d273 Get serialization of relative labels correct. 2015-10-17 18:11:23 +01:00
Chris Pressey
a3160a5166 Call defined routines. 2015-10-17 15:23:00 +01:00
Chris Pressey
643a48a2c5 Compiler object, labels, compile 'call'... It prints 'A'! 2015-10-17 15:06:50 +01:00
Chris Pressey
d0e3dfbf84 Add tests for compilation, BASIC header, load-n-go script. 2015-10-17 12:28:39 +01:00
Chris Pressey
5b429adfd9 6502 opcodes are Emittables. Can compile simple programs now! 2015-10-17 11:08:25 +01:00
Chris Pressey
c0243ee6ba Wire up the compiler and wring out obvious bugs. 2015-10-17 10:17:44 +01:00
Chris Pressey
22c58ba556 Improve evaluator internals. Finish test suite for analysis. 2015-10-16 19:32:18 +01:00
Chris Pressey
f92056d640 REBOOT the entire language & implementation as version 0.2-PRE. 2015-10-16 09:30:24 +01:00