|
|
|
@ -83,7 +83,7 @@ void align()
|
|
|
|
|
HERE = aligned(HERE);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void word(int ch)
|
|
|
|
|
static void readword(int ch)
|
|
|
|
|
{
|
|
|
|
|
int k;
|
|
|
|
|
do {
|
|
|
|
@ -102,7 +102,6 @@ static void word(int ch)
|
|
|
|
|
|
|
|
|
|
k = key();
|
|
|
|
|
} while (k != ch);
|
|
|
|
|
addkey(k);
|
|
|
|
|
|
|
|
|
|
// Add a null terminator.
|
|
|
|
|
ptr = reinterpret_cast<char *>(HERE);
|
|
|
|
@ -110,12 +109,12 @@ static void word(int ch)
|
|
|
|
|
++HERE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void wordword()
|
|
|
|
|
void word()
|
|
|
|
|
{
|
|
|
|
|
auto here = (char *)HERE;
|
|
|
|
|
++HERE;
|
|
|
|
|
|
|
|
|
|
word(*SP);
|
|
|
|
|
readword(*SP);
|
|
|
|
|
|
|
|
|
|
here[0] = strlen(here + 1);
|
|
|
|
|
HERE = (Cell)here;
|
|
|
|
@ -127,7 +126,7 @@ void colon()
|
|
|
|
|
// Collect (and store) the word's name.
|
|
|
|
|
align();
|
|
|
|
|
auto name = HERE;
|
|
|
|
|
word(' ');
|
|
|
|
|
readword(' ');
|
|
|
|
|
align();
|
|
|
|
|
|
|
|
|
|
// Build the Word structure.
|
|
|
|
@ -171,7 +170,7 @@ void tick()
|
|
|
|
|
{
|
|
|
|
|
// Get the name to look up.
|
|
|
|
|
auto name = (char *)HERE;
|
|
|
|
|
word(' ');
|
|
|
|
|
readword(' ');
|
|
|
|
|
|
|
|
|
|
// Look up the name and push the result.
|
|
|
|
|
int len = HERE - (Cell)name - 1;
|
|
|
|
|