diff --git a/src/Language/SystemVerilog/Parser/Lex.x b/src/Language/SystemVerilog/Parser/Lex.x index 5d161c7..82c3e87 100644 --- a/src/Language/SystemVerilog/Parser/Lex.x +++ b/src/Language/SystemVerilog/Parser/Lex.x @@ -509,6 +509,8 @@ postProcess stack (Token Id_escaped str pos : ts) = where t' = Token Id_escaped str' pos str' = (++ " ") $ init str +postProcess _ (Token Unknown str pos : _) = + throwError $ show pos ++ ": unknown token '" ++ str ++ "'" postProcess [] (t : ts) = do ts' <- postProcess [] ts return $ t : ts' diff --git a/test/error/double_backtick.sv b/test/error/double_backtick.sv index 0a0718b..0a9efc0 100644 --- a/test/error/double_backtick.sv +++ b/test/error/double_backtick.sv @@ -1,4 +1,5 @@ -// pattern: Parse error: unexpected token '`' +// pattern: unknown token '`' +// location: double_backtick.sv:4:5 module top; `` endmodule diff --git a/test/error/stray_escaped_vendor_comment.sv b/test/error/stray_escaped_vendor_comment.sv index 014d755..ac73f4a 100644 --- a/test/error/stray_escaped_vendor_comment.sv +++ b/test/error/stray_escaped_vendor_comment.sv @@ -1,4 +1,5 @@ -// pattern: Parse error +// pattern: unknown token '`' +// location: stray_escaped_vendor_comment.sv:4:6 module top; /``* some awful garbage *``/ endmodule