Lines Matching refs:expect
648 struct double_list *expect;
684 llist_traverse(sp->expect, free);
737 ex = sp->expect ? sp->expect->prev->data : 0;
851 // end function segment, expect function body
854 dlist_add(&sp->expect, "}");
855 dlist_add(&sp->expect, 0);
856 dlist_add(&sp->expect, "{");
867 sp->expect->prev->data = "do\0C";
874 // Do we expect something that _must_ come next? (no multiple statements)
880 free(dlist_lpop(&sp->expect));
903 dlist_add(&sp->expect, "do\0A");
917 else if (sp->expect && !ex) {
918 free(dlist_lpop(&sp->expect));
927 if (sp->expect && !sp->expect->prev->data) free(dlist_lpop(&sp->expect));
929 // If we got here we expect a specific word to end this block: is this it?
937 free(dlist_lpop(&sp->expect));
948 free(dlist_lpop(&sp->expect));
956 free(dlist_lpop(&sp->expect));
961 // Do we need to queue up the next thing to expect?
964 dlist_add(&sp->expect, end);
965 dlist_add(&sp->expect, 0); // they're all preceded by a statement
982 if (sp->expect) return 1;
1003 if (sp->expect) {
1006 for (dl = sp->expect; dl; dl = (dl->next == sp->expect) ? 0 : dl->next)