Chris Pressey
|
5f8802b305
|
Arrange license info in repo to follow REUSE 3.0 convention.
|
2024-02-02 12:10:23 +00:00 |
Chris Pressey
|
632c2f4517
|
Correct comment.
|
2019-10-23 15:00:03 +01:00 |
Chris Pressey
|
023a415a14
|
Don't search for filenames given on cmdline in the include path.
|
2019-10-23 10:32:26 +01:00 |
Chris Pressey
|
4b518508d5
|
called_routines are not stored in context at all.
|
2019-10-22 16:26:50 +01:00 |
Chris Pressey
|
d408e740ed
|
Establish an `include` directory and `--include-path` option.
|
2019-10-22 15:10:55 +01:00 |
Chris Pressey
|
c70e4a55e4
|
Merge included programs.
|
2019-10-22 13:26:21 +01:00 |
Chris Pressey
|
175c07781a
|
First cut at include files.
|
2019-10-22 12:54:04 +01:00 |
Chris Pressey
|
987974cc21
|
Simplify, fixing an apparent bug in the process.
|
2019-10-22 12:42:17 +01:00 |
Chris Pressey
|
92b1cfeefb
|
Implement tail-call optimization.
|
2019-10-22 12:23:15 +01:00 |
Chris Pressey
|
78a1f2910c
|
Simplify and improve Emitter abstraction.
|
2019-10-22 11:55:21 +01:00 |
Chris Pressey
|
44d97c33a2
|
Better generation of code at tail of routines.
|
2019-10-22 11:37:00 +01:00 |
Chris Pressey
|
b9df1482c6
|
Pass next routine to each routine being compiled.
|
2019-10-22 10:32:14 +01:00 |
Chris Pressey
|
3d88226058
|
Implement --prune-unreachable-routines.
|
2019-10-22 09:41:30 +01:00 |
Chris Pressey
|
1df6941b01
|
Callgraph uses reachability.
|
2019-10-22 09:07:16 +01:00 |
Chris Pressey
|
1098347fa5
|
Routines can be declared `preserved`.
|
2019-10-21 21:45:59 +01:00 |
Chris Pressey
|
a84cd4de8c
|
Expand on the callgraph tests.
|
2019-10-21 21:35:28 +01:00 |
Chris Pressey
|
b09d0c0b76
|
Routines that are goto'd are also in the call graph.
|
2019-10-21 17:15:28 +01:00 |
Chris Pressey
|
182935a088
|
First cut at finding all routines that could be assigned to vector.
|
2019-10-21 16:12:06 +01:00 |
Chris Pressey
|
7187fa6285
|
Refactor: move to dedicated module.
|
2019-10-21 15:41:17 +01:00 |
Chris Pressey
|
bcc256aa5d
|
Checkpoint.
|
2019-10-21 15:07:54 +01:00 |
Chris Pressey
|
87a2f70092
|
First cut at constructing a call graph.
|
2019-10-21 14:03:35 +01:00 |
Chris Pressey
|
2e2e80664e
|
Forbid nested `with interrupts` blocks, and more refactoring.
|
2019-05-14 15:01:10 +01:00 |
Chris Pressey
|
3f666f4385
|
Add `reset` instruction; much refactoring.
|
2019-05-14 08:56:35 +01:00 |
Chris Pressey
|
dd29b6fd4a
|
Implement local locations that aren't statically initialized.
|
2019-05-13 12:32:18 +01:00 |
Chris Pressey
|
c246424930
|
Fix bug raising InconsistentExitError, and type-bug in ribos2.60p.
|
2019-04-15 17:35:17 +01:00 |
Chris Pressey
|
8d6e5e090d
|
The Type and Ref class hierarchies are now namedtuples.
|
2019-04-10 08:50:13 +01:00 |
Chris Pressey
|
a0328b8840
|
Store type information in SymbolTable shared across phases.
|
2019-04-10 08:48:33 +01:00 |
Chris Pressey
|
394fbddad6
|
Refactor to avoid storing LocationRefs in SymEntry.
|
2019-04-09 09:42:22 +01:00 |
Chris Pressey
|
4615d8d054
|
Distinct AST nodes for call and goto instructions.
|
2019-04-08 16:26:51 +01:00 |
Chris Pressey
|
bd462d6d8b
|
Include more info in --dump-exit-contexts.
|
2019-04-08 12:23:44 +01:00 |
Chris Pressey
|
b19267d3ba
|
Checkpoint import of changes for version 0.19.
|
2019-04-08 11:50:54 +01:00 |
Chris Pressey
|
75449d7271
|
Merge pull request #18 from catseye/more-modes-on-add-and-sub
More modes on add and sub
|
2018-12-12 15:13:26 +00:00 |
Chris Pressey
|
35a1053439
|
Support more modes on `add` and `sub`.
|
2018-12-12 10:34:25 +00:00 |
Chris Pressey
|
69df175230
|
Merge branch 'develop-0.18' of https://github.com/catseye/SixtyPical into inconsistent-initialization
|
2018-12-12 09:58:26 +00:00 |
Chris Pressey
|
d1a29709f2
|
Add example test program for cmp-against-literal-word. Fix it.
|
2018-12-12 09:09:45 +00:00 |
Chris Pressey
|
97e6e619ff
|
`cmp` can compare against a literal word.
|
2018-12-12 09:01:46 +00:00 |
Chris Pressey
|
547b7c960a
|
Restore the debugging (which should be rethought, anyway).
|
2018-12-11 22:40:23 +00:00 |
Chris Pressey
|
d13c6a94a2
|
Drop the check for "consistent initialization" inside `if` blocks.
|
2018-12-11 19:27:40 +00:00 |
Chris Pressey
|
3a4c2e46c1
|
`inc` and `dec` on a known range usually keeps it known, now.
|
2018-12-11 17:35:01 +00:00 |
Chris Pressey
|
bf3f1835ed
|
Merge branch 'develop-0.18' of https://github.com/catseye/SixtyPical into goto-at-end-of-block
|
2018-11-29 17:47:48 +00:00 |
Chris Pressey
|
d1befe7123
|
All tests pass again -- but this needs lots more tests please.
|
2018-11-27 17:11:37 +00:00 |
Chris Pressey
|
07ec6752ee
|
Introduce yet another new error.
|
2018-11-27 17:09:38 +00:00 |
Chris Pressey
|
a53a3529ea
|
Better name for this error.
|
2018-11-27 17:06:07 +00:00 |
Chris Pressey
|
21e623f3ad
|
Collect exit contexts. Disturbs fallthru analysis, but otherwise?
|
2018-11-27 16:59:16 +00:00 |
Chris Pressey
|
0ca545c89a
|
Begin working out what happens when you encounter a goto.
|
2018-11-27 15:44:39 +00:00 |
Chris Pressey
|
27aca3dd86
|
Looks like, when we "goto", we should "pull in" the constraints.
|
2018-11-27 15:10:18 +00:00 |
Chris Pressey
|
6dbce205d1
|
`goto` is no longer restricted to appearing in tail position.
|
2018-11-27 14:25:43 +00:00 |
Chris Pressey
|
d90ac92a33
|
Merge branch 'develop-0.18' into goto-at-end-of-block
|
2018-11-27 13:55:36 +00:00 |
Chris Pressey
|
9e9284bee5
|
`goto` may only occur at the end of a block.
|
2018-11-27 13:43:36 +00:00 |
Chris Pressey
|
94ee042a1e
|
Fix order of operands in word-sized `cmp`.
|
2018-11-27 13:12:55 +00:00 |