annotate trunk/src/dil/Messages.d @ 405:e2529923a0cb

Added two error messages.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sun, 23 Sep 2007 20:32:12 +0200
parents 6440da4adb07
children 3ead178e0662
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
1 /++
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
2 Author: Aziz Köksal
249
32d354584b28 - Upgraded license notices to GPL3.
aziz
parents: 238
diff changeset
3 License: GPL3
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
4 +/
326
4a7359b88c11 - Added package 'dil' to module declarations.
aziz
parents: 325
diff changeset
5 module dil.Messages;
391
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
6 import common;
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
7
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
8 /// Index into table of compiler messages.
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
9 enum MID
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
10 {
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
11 // Lexer messages:
390
4d36eea1bbc9 Refactored Lexer.scan().
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 389
diff changeset
12 IllegalCharacter,
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
13 InvalidUnicodeCharacter,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
14 InvalidUTF8Sequence,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
15 // ''
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
16 UnterminatedCharacterLiteral,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
17 EmptyCharacterLiteral,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
18 // #line
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
19 ExpectedIdentifierSTLine,
388
ae154eceba65 Applied some fixes to scanning and printing #line tokens.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 375
diff changeset
20 ExpectedIntegerAfterSTLine,
323
6259fb93e3dd - Rewrote scanSpecialToken().
aziz
parents: 309
diff changeset
21 ExpectedFilespec,
6259fb93e3dd - Rewrote scanSpecialToken().
aziz
parents: 309
diff changeset
22 UnterminatedFilespec,
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
23 UnterminatedSpecialToken,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
24 // ""
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
25 UnterminatedString,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
26 // x""
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
27 NonHexCharInHexString,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
28 OddNumberOfDigitsInHexString,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
29 UnterminatedHexString,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
30 // /* */ /+ +/
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
31 UnterminatedBlockComment,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
32 UnterminatedNestedComment,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
33 // `` r""
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
34 UnterminatedRawString,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
35 UnterminatedBackQuoteString,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
36 // \x \u \U
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
37 UndefinedEscapeSequence,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
38 InsufficientHexDigits,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
39 // \&[a-zA-Z][a-zA-Z0-9]+;
272
0bde32503976 - Added module HtmlEntities. It contains a table for converting HTML entities to Unicode characters.
aziz
parents: 249
diff changeset
40 UndefinedHTMLEntity,
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
41 UnterminatedHTMLEntity,
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
42 InvalidBeginHTMLEntity,
56
63af7ddf52e1 - Started properly implementing number scanner. Added stub for real numbers.
aziz
parents: 54
diff changeset
43 // integer overflows
58
50bb7fc9db44 - The types of integers are recognized now.
aziz
parents: 56
diff changeset
44 OverflowDecimalSign,
56
63af7ddf52e1 - Started properly implementing number scanner. Added stub for real numbers.
aziz
parents: 54
diff changeset
45 OverflowDecimalNumber,
63af7ddf52e1 - Started properly implementing number scanner. Added stub for real numbers.
aziz
parents: 54
diff changeset
46 OverflowHexNumber,
63af7ddf52e1 - Started properly implementing number scanner. Added stub for real numbers.
aziz
parents: 54
diff changeset
47 OverflowBinaryNumber,
63af7ddf52e1 - Started properly implementing number scanner. Added stub for real numbers.
aziz
parents: 54
diff changeset
48 OverflowOctalNumber,
63
c29229fbf2f7 - Recognizing floats that start with a dot.
aziz
parents: 62
diff changeset
49 OverflowFloatNumber,
c29229fbf2f7 - Recognizing floats that start with a dot.
aziz
parents: 62
diff changeset
50 OctalNumberHasDecimals,
59
3e594725899a - Issuing error when no digits were found in hex and binary numbers.
aziz
parents: 58
diff changeset
51 NoDigitsInHexNumber,
3e594725899a - Issuing error when no digits were found in hex and binary numbers.
aziz
parents: 58
diff changeset
52 NoDigitsInBinNumber,
62
96af5653acef - Fixed loop of hex number scanner. Moved checks under the switch block.
aziz
parents: 59
diff changeset
53 HexFloatExponentRequired,
389
c4bfceab7246 Applied fixes and improvements to hex float scanner.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 388
diff changeset
54 HexFloatExpMustStartWithDigit,
c4bfceab7246 Applied fixes and improvements to hex float scanner.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 388
diff changeset
55 FloatExpMustStartWithDigit,
86
0459c902a370 - Added code for parsing Assert-, Mixin-, Import-, Typeid- and TypeDotIdExpressions.
aziz
parents: 81
diff changeset
56
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
57 // Parser messages:
86
0459c902a370 - Added code for parsing Assert-, Mixin-, Import-, Typeid- and TypeDotIdExpressions.
aziz
parents: 81
diff changeset
58 ExpectedButFound,
238
f3c6c15961bb - Added method peekNext(). Replaced code that used lx.peek() with peekNext().
aziz
parents: 86
diff changeset
59 RedundantStorageClass,
341
3ac651ea83fb - Fix: created TemplateAliasParameter instead of TemplateTypeParameter.
aziz
parents: 329
diff changeset
60 TemplateTupleParameter,
342
f13d551d7c4f - Added error messages MID.InContract and MID.OutContract.
aziz
parents: 341
diff changeset
61 InContract,
f13d551d7c4f - Added error messages MID.InContract and MID.OutContract.
aziz
parents: 341
diff changeset
62 OutContract,
359
511c14950cac - Added messages MissingLinkageType and UnrecognizedLinkageType.
aziz
parents: 342
diff changeset
63 MissingLinkageType,
511c14950cac - Added messages MissingLinkageType and UnrecognizedLinkageType.
aziz
parents: 342
diff changeset
64 UnrecognizedLinkageType,
405
e2529923a0cb Added two error messages.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 394
diff changeset
65 ExpectedBaseClasses,
e2529923a0cb Added two error messages.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 394
diff changeset
66 BaseClassInForwardDeclaration,
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
67
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
68 // Help messages:
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
69 HelpMain,
329
17f43b0d6106 - Renamed command highlight to generate.
aziz
parents: 327
diff changeset
70 HelpGenerate,
375
0bd21b746a04 - Added code to main() for recognizing options to the importgraph command.
aziz
parents: 359
diff changeset
71 HelpImportGraph,
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
72 }
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
73
394
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
74 private string[] messages;
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
75
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
76 package void SetMessages(string[] msgs)
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
77 {
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
78 assert(MID.max+1 == msgs.length);
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
79 messages = msgs;
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
80 }
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
81
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
82 string GetMsg(MID mid)
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
83 {
394
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
84 assert(mid < messages.length);
6440da4adb07 Fixed forward references of enum MID complaints by compiler.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 391
diff changeset
85 return messages[mid];
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
86 }
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
87
391
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
88 char[] FormatMsg(MID mid, ...)
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
89 {
391
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
90 return Format(_arguments, _argptr, GetMsg(mid));
54
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
91 }
e55bd2270f94 - Relocated messages table to a separate module.
aziz
parents:
diff changeset
92
391
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
93 /+
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
94 char[] FormatArray(char[] format_str, char[][] args)
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
95 {
391
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
96 auto tiinfos = new TypeInfo[args.length];
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
97 foreach (ref tiinfo; tiinfos)
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
98 tiinfo = typeid(char[]);
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
99 return Format(tiinfos, args.ptr, format_str);
309
b4d842b0d2c7 - Added new files Settings.d, config.d and lang_en.d
aziz
parents: 272
diff changeset
100 }
391
33b566df6af4 Migrated project to Tango.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 390
diff changeset
101 +/