Mercurial > projects > dang
view basic/Messages.d @ 106:89db676fbacb
Now able of understanding strings.
author | Anders Johnsen <skabet@gmail.com> |
---|---|
date | Thu, 22 May 2008 12:09:11 +0200 |
parents | 5f258eaf9517 |
children | d1f68bfb58ae |
line wrap: on
line source
module basic.Messages; enum : uint { // Lex InvalidSymbol, InvalidIlligaleType, UnexpectedEOFBlock, OnlyOneDotFloating, OnlyOneEFloating, // Parse UnexpectedTokMulti, UnexpectedTokSingle, UnexpectedTok, CaseValueMustBeInt, UnexpectedBeginStmt, UnexpectedTokType, ExpectedIdAfterDot, ExpectedExp, ExpectedCastType, InvalidDeclType, InvalidType, // - imports/module ExpectedIdAfterPackage, RenameMustBeSingleIdent, // Imports CannotFindModule, // Strings InvalidStrPrefix, InvalidStrEscape, InvalidUtf8Hex, InvalidHexStrChar, StringShortEscape, StringHexInvalid, } enum MessageType { Warning, Error, } MessageEntry[uint] Messages; struct MessageEntry { MessageType type; char[] message; } private alias MessageType.Error Err; private alias MessageType.Warning War; private alias MessageEntry E; static this() { Messages = [ UnexpectedEOFBlock : E(Err, "Unexpected end of file. Unclosed comment block"), InvalidSymbol : E(Err, "Read invalid symbol: '%0'"), OnlyOneDotFloating : E(Err, "Only one '.' is allowed in an floating number"), OnlyOneEFloating : E(Err, "Only one E is allowed in an floating number"), UnexpectedTokMulti : E(Err, "Unexpected token, got %0 expected one of %1"), UnexpectedTokSingle : E(Err, "Unexpected token, got %0 expected %1"), UnexpectedTok : E(Err, "Unexpected token %0"), CaseValueMustBeInt : E(Err, "Cases can only be integer literals"), UnexpectedBeginStmt : E(Err, "Unexpected begining of statement."), UnexpectedTokType : E(Err, "Unexpected token in Type parsing. Got %0"), ExpectedIdAfterDot : E(Err, "Expected identifier after '.'"), ExpectedExp : E(Err, "Expected expression"), ExpectedCastType : E(Err, "Expected cast type"), InvalidDeclType : E(Err, "Invalid declaration type"), InvalidType : E(Err, "Invalid type"), ExpectedIdAfterPackage : E(Err, "Identifier expected following package"), CannotFindModule : E(Err, "Cannot find module '%0'"), InvalidStrPrefix : E(Err, "Invalid string literal prefix"), InvalidStrEscape : E(Err, "Invalid escape sequence"), InvalidUtf8Hex : E(Err, "Invalid Utf8 hex char"), InvalidHexStrChar : E(Err, "Invalid character in hex string"), StringShortEscape : E(Err, "String literal is to short for escape sequence"), StringHexInvalid : E(Err, "Hex escape sequence have invalid digit at position %0 of %1") ]; }