Lines Matching defs:choice
592 // * Choice nodes
625 // * Choice nodes are implemented as follows:
626 // For each choice except the last {
629 // <generate code to test for choice>
633 // <generate code to test for last choice>
652 // by the choice nodes, whereas the registers are saved and restored by
669 // * Choice nodes have 1-character lookahead.
670 // A choice node looks at the following character and eliminates some of
1112 // This is called as we come into a loop choice node and some other tricky
1135 // Here we have a concrete backtrack location. These are set up by choice
2650 // this alternative and back to this choice node. If there are variable
2731 // This class is used when generating the alternatives in a choice node. It
2777 /* Code generation for choice nodes.
2780 * choice. If the quick check succeeds then it jumps to the continuation to
2782 * it falls through to the next choice.
2956 // Quick check was generated for this choice.
2959 // On the last choice in the ChoiceNode we generated the quick
2976 // If this is not the first choice then there could be slow checks from
3285 TableEntryBodyPrinter(StringStream* stream, ChoiceNode* choice)
3286 : stream_(stream), choice_(choice) { }
3292 choice(),
3295 choice()->alternatives()->at(i).node());
3301 ChoiceNode* choice() { return choice_; }
3954 // choice node set up and backtrack. If the first alternative fails then
5024 // Find loop min-iteration. It's the value of the guarded choice node