@@ -2,6 +2,7 @@ module Compiler.Parse.Module exposing
22 ( Error (..)
33 , parser
44 , errorsToString
5+ , errorToString
56 )
67
78
@@ -27,6 +28,31 @@ type Error
2728 | SpaceError Space.Error
2829
2930
31+ errorToString : Error -> String
32+ errorToString error =
33+ when error is
34+ ExpectedKeyword keyword ->
35+ "Expected keyword '" ++ keyword ++ "'"
36+
37+ ExpectedChar char ->
38+ "Expected character '" ++ String.fromChar char ++ "'"
39+
40+ VariableError varError ->
41+ Variable.errorToString varError
42+
43+ OperatorError opError ->
44+ Operator.errorToString opError
45+
46+ ExpectedIntPrecedence ->
47+ "Expected integer precedence value"
48+
49+ DeclarationError declError ->
50+ Declaration.errorToString declError
51+
52+ SpaceError spaceError ->
53+ Space.errorToString spaceError
54+
55+
3056spaceParser : Parser Context Error {}
3157spaceParser =
3258 Parser.mapError SpaceError Space.parser
@@ -408,8 +434,7 @@ errorsToString src deadEnds =
408434 , linesOfExtraContext = 2
409435 }
410436 { deadEndToString = \de -> { row = de.row, col = de.col, context = "" }
411- -- TODO: get rid of Debug
412- , problemToString = \err -> Parser.Other (Debug.toString err)
437+ , problemToString = \err -> Parser.Other (errorToString err)
413438 }
414439 src
415440 (Array.map (\de -> { row = de.row, col = de.col, payload = {}, problem = de.problem }) deadEnds)
0 commit comments