diff options
| -rw-r--r-- | lib/qparser/analyzer.ml | 8 | ||||
| -rw-r--r-- | test/syntax_error.ml | 10 | 
2 files changed, 15 insertions, 3 deletions
| diff --git a/lib/qparser/analyzer.ml b/lib/qparser/analyzer.ml index 7d9b7d2..ca2b54f 100644 --- a/lib/qparser/analyzer.ml +++ b/lib/qparser/analyzer.ml @@ -34,11 +34,15 @@ let rec parse :                { code = Interpreter.Custom message; start_pos; end_pos }            in            Error err -      | Lexer.UnclosedQuote -> +      | Lexer.UnclosedQuote | Lex_state.Out_of_context ->            let start_pos, end_pos = Lexbuf.positions l in            let err =              IncrementalParser. -              { code = Interpreter.Custom "Unclosed text"; start_pos; end_pos } +              { +                code = Interpreter.Custom "Unclosed string"; +                start_pos; +                end_pos; +              }            in            Error err      in diff --git a/test/syntax_error.ml b/test/syntax_error.ml index 5587908..2187e89 100644 --- a/test/syntax_error.ml +++ b/test/syntax_error.ml @@ -92,7 +92,7 @@ let missing_ampersand () =  let unclose_comment () =    _test_instruction {| ! that's it|} -    { level = Error; loc = _position; message = "Unclosed text" } +    { level = Error; loc = _position; message = "Unclosed string" }  let syntax_error () =    _test_instruction {|*clr $ cla|} @@ -259,6 +259,13 @@ let unknown_operator () =        message = "Unknown operator. Did you write '+ =' instead of '+=' ?";      } +let nested_string_mess () = +  _test_instruction +    {| +    '<<func('…', '…')>>' +|} +    { level = Error; loc = _position; message = "Unclosed string" } +  let test =    ( "Syntax Errors",      [ @@ -280,4 +287,5 @@ let test =        Alcotest.test_case "(()" `Quick unclosed_paren2;        Alcotest.test_case "act: else" `Quick unclosed_act;        Alcotest.test_case "+ =" `Quick unknown_operator; +      Alcotest.test_case "'<<''>>'" `Quick nested_string_mess;      ] ) | 
