OSDN Git Service
Simon Forman [Thu, 28 Nov 2019 15:58:42 +0000 (07:58 -0800)]
Debugging this sucks.
Even with the RISC emu GUI.
Redesign vm? Add more tooling? Use MetaII?
Happy Thanksgiving!
Simon Forman [Thu, 14 Nov 2019 05:15:33 +0000 (21:15 -0800)]
Emit a sort of symbol table.
Simon Forman [Wed, 13 Nov 2019 23:07:27 +0000 (15:07 -0800)]
4 is already an offset
Simon Forman [Wed, 13 Nov 2019 19:41:41 +0000 (11:41 -0800)]
Definitions.
Simon Forman [Wed, 13 Nov 2019 00:09:13 +0000 (16:09 -0800)]
"swap" word.
Simon Forman [Tue, 12 Nov 2019 23:47:33 +0000 (15:47 -0800)]
"new" word.
Simon Forman [Tue, 12 Nov 2019 19:42:24 +0000 (11:42 -0800)]
Refactor sub_base_merge_and_store.
Simon Forman [Tue, 12 Nov 2019 17:23:31 +0000 (09:23 -0800)]
dup cons i
Simon Forman [Tue, 12 Nov 2019 17:18:58 +0000 (09:18 -0800)]
Forgot to "return" from i combinator.
Simon Forman [Tue, 12 Nov 2019 17:06:22 +0000 (09:06 -0800)]
Even "nicer".
Simon Forman [Tue, 12 Nov 2019 17:03:54 +0000 (09:03 -0800)]
Charming.
Simon Forman [Tue, 12 Nov 2019 17:02:19 +0000 (09:02 -0800)]
dexpr//1
Simon Forman [Tue, 12 Nov 2019 16:37:20 +0000 (08:37 -0800)]
The i combinator.
Simon Forman [Mon, 11 Nov 2019 15:51:58 +0000 (07:51 -0800)]
head_addr
Simon Forman [Mon, 11 Nov 2019 15:45:22 +0000 (07:45 -0800)]
Simple push of empty list.
Simon Forman [Sun, 10 Nov 2019 22:35:57 +0000 (14:35 -0800)]
Dup.
ANd portray_clause to stablize output logical variable names.
Simon Forman [Sun, 10 Nov 2019 18:58:47 +0000 (10:58 -0800)]
halt.
Simon Forman [Sun, 10 Nov 2019 18:53:55 +0000 (10:53 -0800)]
word works with negative numbers now.
symbols moved to head of machine code.
Simon Forman [Sun, 10 Nov 2019 05:55:01 +0000 (21:55 -0800)]
merge_and_store, chain_link
Simon Forman [Sun, 10 Nov 2019 05:20:31 +0000 (21:20 -0800)]
Minor refactor.
It doesn't save space (but if I reuse it once it will.)
Simon Forman [Sun, 10 Nov 2019 04:19:15 +0000 (20:19 -0800)]
Pass through label.
Simon Forman [Sun, 10 Nov 2019 02:39:39 +0000 (18:39 -0800)]
if_literal and lookup
Simon Forman [Sun, 10 Nov 2019 02:28:01 +0000 (18:28 -0800)]
incr stack
Really decr, but I'm abstracting.
Simon Forman [Sun, 10 Nov 2019 02:15:56 +0000 (18:15 -0800)]
Refactoring and cleanup.
Simon Forman [Sun, 10 Nov 2019 02:02:07 +0000 (18:02 -0800)]
load
Simon Forman [Sat, 9 Nov 2019 23:20:06 +0000 (15:20 -0800)]
Bleah.
Simon Forman [Sat, 9 Nov 2019 23:12:44 +0000 (15:12 -0800)]
Base address in unpack_pair.
Simon Forman [Sat, 9 Nov 2019 23:03:17 +0000 (15:03 -0800)]
unpack_pair
Simon Forman [Sat, 9 Nov 2019 22:02:18 +0000 (14:02 -0800)]
Minor refactor.
Simon Forman [Sat, 9 Nov 2019 21:59:06 +0000 (13:59 -0800)]
Refactoring, with oddball quoting "symbols".
Simon Forman [Sat, 9 Nov 2019 21:42:14 +0000 (13:42 -0800)]
That works nicely, again.
Simon Forman [Sat, 9 Nov 2019 21:34:51 +0000 (13:34 -0800)]
Convert to ? DCG and it's macro-time!
Simon Forman [Sat, 9 Nov 2019 20:14:51 +0000 (12:14 -0800)]
I think that does it for cons.
Offsets in pair records can be negative.
Simon Forman [Sat, 9 Nov 2019 20:03:13 +0000 (12:03 -0800)]
That's the mainloop converted to permit negative offsets.
Simon Forman [Sat, 9 Nov 2019 19:27:29 +0000 (11:27 -0800)]
Minor cleanup, bug fixes.
Simon Forman [Fri, 8 Nov 2019 23:24:09 +0000 (15:24 -0800)]
Minor bugfix.
asr not ror.
Simon Forman [Fri, 8 Nov 2019 22:06:28 +0000 (14:06 -0800)]
Cons
Simon Forman [Fri, 8 Nov 2019 16:08:53 +0000 (08:08 -0800)]
Just do it in asm.
Simon Forman [Fri, 8 Nov 2019 04:21:26 +0000 (20:21 -0800)]
hmm...
Simon Forman [Fri, 8 Nov 2019 01:25:04 +0000 (17:25 -0800)]
WIth push2 finished that's the mainloop converted.
Simon Forman [Fri, 8 Nov 2019 00:28:28 +0000 (16:28 -0800)]
lookup
Simon Forman [Fri, 8 Nov 2019 00:15:41 +0000 (16:15 -0800)]
if_literal
Simon Forman [Thu, 7 Nov 2019 23:53:07 +0000 (15:53 -0800)]
A start on converting the mainloop.
Simon Forman [Thu, 7 Nov 2019 22:57:41 +0000 (14:57 -0800)]
Take two on the compiler.
Simon Forman [Thu, 7 Nov 2019 15:55:01 +0000 (07:55 -0800)]
Minor cleanup.
Simon Forman [Thu, 7 Nov 2019 15:54:04 +0000 (07:54 -0800)]
Modify error reporting a lil; words word.
Simon Forman [Thu, 7 Nov 2019 15:53:21 +0000 (07:53 -0800)]
Definition of ii combinator.
ii == [dip] dupdip i
a [F] ii
--------------
F a F
Simon Forman [Thu, 7 Nov 2019 15:43:21 +0000 (07:43 -0800)]
Call for_serial/2
Simon Forman [Thu, 22 Aug 2019 22:45:24 +0000 (15:45 -0700)]
Using partial deduction to inline literals, functions, and combinators.
Simon Forman [Wed, 21 Aug 2019 05:00:27 +0000 (22:00 -0700)]
minor cleanup
Simon Forman [Tue, 20 Aug 2019 05:02:06 +0000 (22:02 -0700)]
small func recognizes [] and [X].
Simon Forman [Sun, 18 Aug 2019 23:59:31 +0000 (16:59 -0700)]
Rename bar to korf and some docs.
Simon Forman [Sun, 18 Aug 2019 19:17:37 +0000 (12:17 -0700)]
minor cleanup
Simon Forman [Sun, 18 Aug 2019 18:47:48 +0000 (11:47 -0700)]
reintroduce definition of fork; it doesn't shadow func(fork, ...).
Simon Forman [Sun, 18 Aug 2019 18:09:36 +0000 (11:09 -0700)]
read child output after local thun/3
Simon Forman [Sun, 18 Aug 2019 17:53:25 +0000 (10:53 -0700)]
truly fork, sort of
Simon Forman [Tue, 13 Aug 2019 18:58:31 +0000 (11:58 -0700)]
minor cleanup
Simon Forman [Tue, 13 Aug 2019 18:51:41 +0000 (11:51 -0700)]
Minor cleanup.
Simon Forman [Tue, 13 Aug 2019 18:48:08 +0000 (11:48 -0700)]
Move DCG stuff to own file.
Simon Forman [Tue, 13 Aug 2019 18:29:49 +0000 (11:29 -0700)]
Parse ints; move line/{1,2} to main.pl.
Simon Forman [Tue, 13 Aug 2019 18:24:28 +0000 (11:24 -0700)]
Parse floating point numbers.
Simon Forman [Tue, 13 Aug 2019 05:29:09 +0000 (22:29 -0700)]
minor cleanup
Simon Forman [Tue, 13 Aug 2019 04:59:19 +0000 (21:59 -0700)]
minor cleanup
Simon Forman [Tue, 13 Aug 2019 04:29:26 +0000 (21:29 -0700)]
Numbers can be followed by space or [.
Simon Forman [Tue, 13 Aug 2019 04:13:11 +0000 (21:13 -0700)]
Parse negative numbers.
Simon Forman [Tue, 13 Aug 2019 04:08:35 +0000 (21:08 -0700)]
swapd function
Simon Forman [Tue, 13 Aug 2019 04:08:17 +0000 (21:08 -0700)]
assert_defs/1 got upset about not finding combo/5
Simon Forman [Tue, 13 Aug 2019 03:59:02 +0000 (20:59 -0700)]
Minor cleanup of the parser.
Simon Forman [Tue, 13 Aug 2019 03:12:35 +0000 (20:12 -0700)]
rework parser DCGs
Simon Forman [Tue, 13 Aug 2019 02:25:13 +0000 (19:25 -0700)]
Oops! Regression.
Simon Forman [Tue, 13 Aug 2019 02:17:15 +0000 (19:17 -0700)]
minor cleanup
Simon Forman [Tue, 13 Aug 2019 02:09:49 +0000 (19:09 -0700)]
swoncat and fiddling with parser.
Simon Forman [Mon, 12 Aug 2019 04:30:02 +0000 (21:30 -0700)]
Experiment with putting logic vars on the stack.
Simon Forman [Mon, 12 Aug 2019 03:45:49 +0000 (20:45 -0700)]
Remove a cut that sucked.
Simon Forman [Mon, 12 Aug 2019 02:57:28 +0000 (19:57 -0700)]
unstack, least_fraction
Simon Forman [Mon, 12 Aug 2019 02:41:11 +0000 (19:41 -0700)]
Copyright notices.
Simon Forman [Mon, 12 Aug 2019 02:35:05 +0000 (19:35 -0700)]
The sqrt/1 predicate wasn't working.
Simon Forman [Mon, 12 Aug 2019 01:45:57 +0000 (18:45 -0700)]
Multifile func/3.
Simon Forman [Mon, 12 Aug 2019 00:48:29 +0000 (17:48 -0700)]
Build math & comparision functions.
Simon Forman [Mon, 12 Aug 2019 00:00:38 +0000 (17:00 -0700)]
Clean up REPL formatting.
Simon Forman [Sun, 11 Aug 2019 22:12:56 +0000 (15:12 -0700)]
Don't shadow funcs and combos.
Simon Forman [Sun, 11 Aug 2019 21:56:20 +0000 (14:56 -0700)]
Don't shadow funcs & combos.
Simon Forman [Sun, 11 Aug 2019 21:51:13 +0000 (14:51 -0700)]
Extract mainloop to own file.
Simon Forman [Sun, 11 Aug 2019 05:21:57 +0000 (22:21 -0700)]
Use double-quoted string for codes.
Simon Forman [Sun, 11 Aug 2019 05:07:17 +0000 (22:07 -0700)]
cleanup old files
Simon Forman [Sun, 11 Aug 2019 05:03:44 +0000 (22:03 -0700)]
Build defs.pl from defs.txt.
Simon Forman [Sun, 11 Aug 2019 04:46:48 +0000 (21:46 -0700)]
build defs.pl
Simon Forman [Sun, 11 Aug 2019 04:45:59 +0000 (21:45 -0700)]
build defs.pl
Simon Forman [Sun, 11 Aug 2019 03:57:11 +0000 (20:57 -0700)]
Move parser to own file.
Simon Forman [Sun, 11 Aug 2019 03:42:48 +0000 (20:42 -0700)]
map combo
Simon Forman [Sun, 11 Aug 2019 03:12:41 +0000 (20:12 -0700)]
Bring in funcs and combos.
Simon Forman [Sun, 11 Aug 2019 03:06:12 +0000 (20:06 -0700)]
Omit Prolog toplevel.
Simon Forman [Sun, 11 Aug 2019 03:03:52 +0000 (20:03 -0700)]
Do not need thses files.
Simon Forman [Sun, 11 Aug 2019 02:57:00 +0000 (19:57 -0700)]
Fold in parser, main loop, and support.
Simon Forman [Sun, 11 Aug 2019 02:25:48 +0000 (19:25 -0700)]
Rename foo to thun.
Simon Forman [Sat, 10 Aug 2019 19:19:09 +0000 (12:19 -0700)]
Make a version for GNU Prolog compiler.
Simon Forman [Fri, 9 Aug 2019 23:58:34 +0000 (16:58 -0700)]
Also don't shadow combinators.
(I realized that the way defs are parsed now means that each def
(but the last) is first asserted with the wrong definition expression
(it includes the symbol of the following definition at the end) and
then the parser figures out that there's another defintion following
and re-asserts the correct expression. It would be nice to fix that
but it's kind of a PITA. I used to build a list of definitions and
then assert them all at the end. For now there aren't enough defs to
justify the extra work.
Simon Forman [Fri, 9 Aug 2019 23:53:40 +0000 (16:53 -0700)]
Prevent definitions from shadowing functions.
Simon Forman [Fri, 9 Aug 2019 23:37:33 +0000 (16:37 -0700)]
Demo grow/shrink.
Simon Forman [Fri, 9 Aug 2019 16:28:15 +0000 (09:28 -0700)]
Some trailing whitespace or something.