meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
scan_statement [2020/09/25 11:04] – [Addendum: the SCAN-less SCAN?] revusky | scan_statement [2021/08/07 08:21] (current) – [The SCAN construct also you to use contextual predicates.] revusky | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== The new SCAN Statement ===== | ===== The new SCAN Statement ===== | ||
- | JavaCC 21 introduces a new '' | + | JavaCC 21 introduces a new '' |
Note, however, that the older '' | Note, however, that the older '' | ||
- | |||
Here is a rundown of the differences between '' | Here is a rundown of the differences between '' | ||
Line 97: | Line 96: | ||
- | ==== The SCAN construct | + | ==== The SCAN construct allows |
- | The // | + | The [[contextual_predicates]] |
- | You can find more information [[lookbehind|here]]. | + | You can find more information [[contextual_predicates|here]]. |
==== Addendum: the SCAN-less SCAN? ==== | ==== Addendum: the SCAN-less SCAN? ==== | ||
Line 160: | Line 159: | ||
</ | </ | ||
- | In this case, because I think it is so common, we decided to allow this. And, in fact, you can see that this is already used in internal development, | + | In this case, because I think it is so common, we decided to allow this. And, in fact, you can see that this is already used in internal development, |
+ | |||
+ | |||
+ | ==== Recap ==== | ||
+ | |||
+ | The new '' | ||
+ | * // | ||
+ | * [[semantic lookahead]], | ||
+ | * a [[contextual_predicates]] predicate | ||
+ | * [[syntactic lookahead]] | ||
+ | |||
+ | Caveats: | ||
+ | * The '' | ||
+ | * If no numerical or syntactic lookahead is specified, the generated code will scan ahead an // | ||
+ | |||
+ | Note that an empty SCAN statement can be simply written alternatively with a lone arrow, i.e. '' | ||
- | ===== The newer SCAN construct allows you to use the newer " | ||
- | This is documented separately. | ||