Chunky Blues — 3 of 59

Scott Hammack and Jessamin Yu

Release 2

Book 2 - Includes

Include Basic Screen Effects by Emily Short.

Include Glulx Text Effects by Emily Short.

Include Epistemology by Eric Eve.

Include Menus by Emily Short.

Include Simple Chat by Mark Tilford.

[allow "and" in grammar]

[Parse Token Letter E]

Include (-

! Object(s) specified now: is that the end of the list, or have we reached

! "and", "but" and so on? If so, create a multiple-object list if we

! haven't already (and are allowed to).

.NextInList;

o = NextWord();

! ##### Check if the next token is a connective; if so, ignore the standard multiple object

! treatment.

AnalyseToken(line_token-->pcount);

if (found_ttype == PREPOSITION_TT

&& found_tdata == AND1__WD or AND2__WD or AND3__WD or BUT1__WD or BUT2__WD or BUT3__WD)

j = false;

else j = true;

if (j && o == AND1__WD or AND2__WD or AND3__WD or BUT1__WD or BUT2__WD or BUT3__WD or comma_word) {

#Ifdef DEBUG;

if (parser_trace >= 3) print " [Read connective '", (address) o, "']^";

#Endif; ! DEBUG

if (~~token_allows_multiple) {

if (multiflag) jump PassToken; ! give UPTO_PE error

etype=MULTI_PE;

jump FailToken;

}

if (o == BUT1__WD or BUT2__WD or BUT3__WD) and_parity = 1-and_parity;

if (~~many_flag) {

multiple_object-->0 = 1;

multiple_object-->1 = single_object;

many_flag = true;

#Ifdef DEBUG;

if (parser_trace >= 3) print " [Making new list from ", (the) single_object, "]^";

#Endif; ! DEBUG

}

dont_infer = true; inferfrom=0; ! Don't print (inferences)

jump ObjectList; ! And back around

}

wn--; ! Word marker back to first not-understood word

-) instead of "Parse Token Letter E" in "Parser.i6t".