diff basic/Messages.d @ 89:a49bb982a7b0 new_gen

Using the new SourceLocation system to handle errors. Also, this is the first push for making the errors don't throw, but continue to check the source.
author Anders Johnsen <skabet@gmail.com>
date Sun, 04 May 2008 20:27:01 +0200
parents
children 771ac63898e2
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/basic/Messages.d	Sun May 04 20:27:01 2008 +0200
@@ -0,0 +1,54 @@
+module basic.Messages;
+
+enum : uint
+{
+    InvalidType,
+    InvalidSymbol,
+    InvalidIlligaleType,
+    UnexpectedEOFBlock,
+    OnlyOneDotFloating,
+    OnlyOneEFloating,
+    UnexpectedTokMulti,
+    UnexpectedTokSingle,
+    UnexpectedTok,
+    CaseValueMustBeInt,
+    UnexpectedBeginStmt,
+    UnexpectedTokType,
+    ExpectedIdAfterDot,
+    ExpectedExp,
+    ExpectedCastType
+}
+
+enum MessageType
+{
+    Warning,
+    Error,
+}
+
+MessageEntry[uint] Messages;
+
+struct MessageEntry
+{
+    MessageType type;
+    char[] message;
+}
+
+static this()
+{
+    Messages = [
+        InvalidType         : MessageEntry(MessageType.Error, "InvalidType"),
+        UnexpectedEOFBlock  : MessageEntry(MessageType.Error, "Unexpected end of file. Unclosed comment block"),
+        InvalidSymbol       : MessageEntry(MessageType.Error, "Read invalid symbol: '%0'"),
+        OnlyOneDotFloating  : MessageEntry(MessageType.Error, "Only one '.' is allowed in an floating number"),
+        OnlyOneEFloating    : MessageEntry(MessageType.Error, "Only one E is allowed in an floating number"),
+        UnexpectedTokMulti  : MessageEntry(MessageType.Error, "Unexpected token, got %0 expected one of %1"),
+        UnexpectedTokSingle : MessageEntry(MessageType.Error, "Unexpected token, got %0 expected %1"),
+        UnexpectedTok       : MessageEntry(MessageType.Error, "Unexpected token %0"),
+        CaseValueMustBeInt  : MessageEntry(MessageType.Error, "Cases can only be integer literals"),
+        UnexpectedBeginStmt : MessageEntry(MessageType.Error, "Unexpected begining of statement."),
+        UnexpectedTokType   : MessageEntry(MessageType.Error, "Unexpected token in Type parsing. Got %0"),
+        ExpectedIdAfterDot  : MessageEntry(MessageType.Error, "Expected identifier after '.'"),
+        ExpectedExp         : MessageEntry(MessageType.Error, "Expected expression"),
+        ExpectedCastType    : MessageEntry(MessageType.Error, "Expected cast type")
+    ];
+}