Skip to content

Commit

Permalink
Better error message formatting.
Browse files Browse the repository at this point in the history
  • Loading branch information
JamesDunne committed May 24, 2012
1 parent b82797f commit 168ce13
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
20 changes: 10 additions & 10 deletions WellDunne.ExpressionLibrary/ExpressionLibrary.cs
Expand Up @@ -98,15 +98,15 @@ internal static string kindToString(TokenKind kind)
case TokenKind.Operator: return "operator"; case TokenKind.Operator: return "operator";
case TokenKind.IntegerLiteral: return "integer"; case TokenKind.IntegerLiteral: return "integer";
case TokenKind.DecimalLiteral: return "decimal"; case TokenKind.DecimalLiteral: return "decimal";
case TokenKind.Null: return "null"; case TokenKind.Null: return "'null'";
case TokenKind.True: return "true"; case TokenKind.True: return "'true'";
case TokenKind.False: return "false"; case TokenKind.False: return "'false'";
case TokenKind.ParenOpen: return "("; case TokenKind.ParenOpen: return "'('";
case TokenKind.ParenClose: return ")"; case TokenKind.ParenClose: return "')'";
case TokenKind.BracketOpen: return "["; case TokenKind.BracketOpen: return "'['";
case TokenKind.BracketClose: return "]"; case TokenKind.BracketClose: return "']'";
case TokenKind.Comma: return ","; case TokenKind.Comma: return "','";
case TokenKind.StringLiteral: return "string"; case TokenKind.StringLiteral: return "'string'";
default: return String.Format("<unknown token kind {0}>", kind.ToString()); default: return String.Format("<unknown token kind {0}>", kind.ToString());
} }
} }
Expand Down Expand Up @@ -792,7 +792,7 @@ private bool AdvanceOrError(string error)
private bool Check(TokenKind tokenKind) private bool Check(TokenKind tokenKind)
{ {
if (Eof()) if (Eof())
return Error("Unexpected end of expression"); return Error("Unexpected end of expression while looking for {0}", Token.kindToString(tokenKind));
if (Current.Kind != tokenKind) if (Current.Kind != tokenKind)
return Error("Expected {0} but found {1}", Token.kindToString(tokenKind), Current); return Error("Expected {0} but found {1}", Token.kindToString(tokenKind), Current);
return true; return true;
Expand Down
3 changes: 3 additions & 0 deletions WellDunne.Test/Program.cs
Expand Up @@ -128,6 +128,9 @@ static void Main(string[] args)
@" f gt g", @" f gt g",
@"(f gt g)" @"(f gt g)"
); );

Fails(@"b in [1,");
Fails(@"b in [1");
} }
catch (Exception ex) catch (Exception ex)
{ {
Expand Down

0 comments on commit 168ce13

Please sign in to comment.