meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
scan_statement [2020/09/26 22:27] – [The SCAN construct also allows the newer LOOKBEHIND construct.] revuskyscan_statement [2021/02/08 18:09] – ↷ Links adapted because of a move operation revusky
Line 98: Line 98:
 ==== The SCAN construct also allows the newer LOOKBEHIND construct. ==== ==== The SCAN construct also allows the newer LOOKBEHIND construct. ====
  
-The [[lookbehind]] construct allows you to express conditions based on scanning backwards in the lookahead/call stack. This can only be used in conjunction with the newer ''SCAN'' statement, not with the legacy ''LOOKAHEAD'' construct. +The [[contextual_predicates]] construct allows you to express conditions based on scanning backwards in the lookahead/call stack. This can only be used in conjunction with the newer ''SCAN'' statement, not with the legacy ''LOOKAHEAD'' construct. 
  
-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 159: Line 159:
 </code> </code>
  
-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, for example [[https://github.com/javacc21/javacc21/blob/master/src/main/grammars/JavaCC.javacc#L1028|here]].+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, for example [[https://github.com/javacc21/javacc21/blob/master/src/main/grammars/JavaCC.javacc#L1950|here]].
  
-==== The newer SCAN construct allows you to use the newer "lookbehind" construct ==== 
- 
-This is documented separately. 
  
 ==== Recap ==== ==== Recap ====
Line 170: Line 167:
   * //numerical// lookahead, i.e. the maximum number of tokens to scan ahead   * //numerical// lookahead, i.e. the maximum number of tokens to scan ahead
   * [[semantic lookahead]], i.e. arbitrary java code enclosed in {..}   * [[semantic lookahead]], i.e. arbitrary java code enclosed in {..}
-  * a [[lookbehind]] predicate+  * a [[contextual_predicates]] predicate
   * [[syntactic lookahead]]   * [[syntactic lookahead]]