anchor.diff:      member test.``Lexer seq test`` () =
           lexerTest 
               "+s: NUMBER PLUS NUMBER;"
  -            [PLUS (getSource "+" 0 1); LIDENT (getSource "s" 1 2); COLON (getSource ":" 2 3); UIDENT (getSource "NUMBER" 4 10)
  +            [START_RULE_SIGN (getSource "+" 0 1); LIDENT (getSource "s" 1 2); COLON (getSource ":" 2 3); UIDENT (getSource "NUMBER" 4 10)
               ; UIDENT (getSource "PLUS" 11 15); UIDENT (getSource "NUMBER" 16 22); SEMICOLON (getSource ";" 22 23); EOF (getSource "" 23 23)]
   
       [<Test>]
       member test.``Lexer cls test`` () =
           lexerTest 
               "+s: (MINUS|PLUS)*;"
  -            [PLUS (getSource "+" 0 1); LIDENT (getSource "s" 1 2); COLON (getSource ":" 2 3); LPAREN (getSource "(" 4 5)
  +            [START_RULE_SIGN (getSource "+" 0 1); LIDENT (getSource "s" 1 2); COLON (getSource ":" 2 3); LPAREN (getSource "(" 4 5)
               ; UIDENT (getSource "MINUS" 5 10); BAR (getSource "|" 10 11); UIDENT (getSource "PLUS" 11 15);
               RPAREN (getSource ")" 15 16); STAR (getSource "*" 16 17); SEMICOLON (getSource ";" 17 18); EOF (getSource "" 18 18)]
   
  
positive.code: 
  let dummyPos s = new Source.t(s)
  
  let lexerTest str lexemsListCorrect =
      let buf = LexBuffer<_>.FromString str
      Lexer.currentFile := ""
  
negative.code: type ``YardFrontend Complete tests`` () =    
      [<Test>]
      member test.``L_attr test`` () =
          completeTest
              "  {  let value x = (x:>Lexeme<string>).value  } \n+s: <res:int> = e[1] {res};  e[i]: n=NUMBER {(value n |> int) + i};"
              [ACTION (getSource @"  let value x = (x:>Lexeme<string>).value  " 3 46); START_RULE_SIGN (getSource ":" 2 9);
                  LIDENT (getSource "s" 50 51); COLON(getSource ":" 2 9); PATTERN (getSource "res:int" 54 61); EQUAL(getSource ":" 2 9);
                  LIDENT (getSource "e" 65 66); PARAM (getSource "1" 67 68); ACTION (getSource "res" 71 74);
                  SEMICOLON (getSource ":" 2 9); LIDENT (getSource "e" 78 79); PARAM (getSource "i" 80 81); COLON(getSource ":" 2 9);
  