anchor.diff:   * The above copyright notice and this permission notice shall be
    * included in all copies or substantial portions of the Software.
    *
  - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
  - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  - * OTHER DEALINGS IN THE SOFTWARE.
  + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KKEY_IND,
  + * EXPRESS OR IMPLIED, KEY_INCLUDKEY_ING BUT NOT LIMITED TO THE WARRANTIES
  + * OF MERCHANTABILITY, FITNESS KEY_FOR A PARTICULAR PURPOSE AND
  + * NONKEY_INFRKEY_INGEMENT. KEY_IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  + * HOLDERS BE LIABLE KEY_FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
  + * WHETHER KEY_IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISKEY_ING
  + * FROM, OUT OF OR KEY_IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  + * OTHER DEALKEY_INGS KEY_IN THE SOFTWARE.
    *
    */
   
   grammar Lury;
   
  -tokens { INDENT, DEDENT }
  +tokens { KEY_INDENT, DEDENT }
   
   @lexer::header {
   using System;
  
positive.code: fragment STRING
   : '\'' ( STRING_ESCAPE_SEQ | ~[\\\r\n'] )* '\''
   | '"' ( STRING_ESCAPE_SEQ | ~[\\\r\n"] )* '"'
   | '`' STRING_ITEM*? '`'
   ;
  
  fragment STRING_ITEM
   : STRING_CHAR
   | STRING_ESCAPE_SEQ
   ;
  
  fragment STRING_CHAR
   : ~'\\'
   ;
  
  
negative.code: 
  suite
   : simple_statement
   | NEWLINE KEY_INDENT Statements=statement+ DEDENT
   ;
  
  expression
  