|
The output of my compiler typically looks like:
\ Begin code sample
FORTH CODE
...
...
: ENTRYPOINT
...
;
0 ENTRYPOINT
\ End code sample
Or, in other words, I'm currently (and this isn't permanent) not allowing
programs to be compiled that do not have an explicit call to _some_ entrypoint.
I am not currently engaging in any kind of incremental compilation from my
source language to Forth. As a result, every time code is compiled and sent
to the brick, I don't want any previous definitions to be preserved.
1) Is there a way to "cleanse" a running pbForth instance with a word? In
reading some things found on the WWW re: pbForth, turning the RCX back on
after a POWER_OFF resumes execution from the next instruction in the thread.
I really need my environment to be clean and consistent every time the RCX
is powered on, and not have any behaviors linger between sessions. Is this
possible?
(I just realized that there might be words for capturing the current state
of the dictionary, and later restoring that state. I'll have to go peruse
the standard to discover this, though...)
2) Is there a manual/documentation I should be reading somewhere? I feel bad
asking what seem like simple questions, as I prefer to be as self-sufficient
a user as possible. Perhaps I should be writing documentation as I learn things?
3) I've read the sample scripts with vectored execution. I intend my
compiler to be used in an educational environment, and it bothers me that
pbForth leaves the RCX without an interface. Does anyone have any code that
A) Provides more of an interface while pbForth is running (eg. triangles
are turned on/off when words like MOTOR_SET are called, perhaps?), and
B) Also captures on/off in a separate vectored thread of execution?
4) I've realized that I use (what seems like) very little of pbForth in my
compiled code. Would the removal of all of the words that are unused in my
compilation process significantly reduce the size of the runtime? If that is
the case, I think it might be worth it for me to invest some more time
learning TCL and making my way through the pbForth source. This, of course,
is not high on my immediate list of priorities, but I thought I'd ask.
Question 1 is critical to semantically meaningful operation of a
cross-language compiler targeting pbForth. I do intend to (eventually) hook
a read-eval-print loop into pbForth for real-time usage (which would _not_
require clearing the running Forth environment), but I'm taking one step at
a time.
Thanks,
Matt
|
|
1 Message in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
|