21 using Lucene.Net.Support;
23 namespace Lucene.Net.Demo.Html
46 public override System.String Message
50 if (!specialConstructor)
54 System.Text.StringBuilder expected =
new System.Text.StringBuilder();
56 for (
int i = 0; i < expectedTokenSequences.Length; i++)
58 if (maxSize < expectedTokenSequences[i].Length)
60 maxSize = expectedTokenSequences[i].Length;
62 for (
int j = 0; j < expectedTokenSequences[i].Length; j++)
64 expected.Append(tokenImage[expectedTokenSequences[i][j]]).Append(
" ");
66 if (expectedTokenSequences[i][expectedTokenSequences[i].Length - 1] != 0)
68 expected.Append(
"...");
70 expected.Append(eol).Append(
" ");
72 System.String retval =
"Encountered \"";
74 for (
int i = 0; i < maxSize; i++)
80 retval += tokenImage[0];
83 retval += Add_escapes(tok.
image);
86 retval += (
"\" at line " + currentToken.next.beginLine +
", column " + currentToken.next.beginColumn);
87 retval += (
"." + eol);
88 if (expectedTokenSequences.Length == 1)
90 retval += (
"Was expecting:" + eol +
" ");
94 retval += (
"Was expecting one of:" + eol +
" ");
113 public ParseException(
Token currentTokenVal,
int[][] expectedTokenSequencesVal, System.String[] tokenImageVal):base(
"")
115 specialConstructor =
true;
116 currentToken = currentTokenVal;
117 expectedTokenSequences = expectedTokenSequencesVal;
118 tokenImage = tokenImageVal;
132 specialConstructor =
false;
137 specialConstructor =
false;
144 protected internal bool specialConstructor;
165 protected internal System.String eol =
AppSettings.
Get(
"line.separator",
"\n");
171 protected internal virtual System.String Add_escapes(System.String str)
173 System.Text.StringBuilder retval =
new System.Text.StringBuilder();
175 for (
int i = 0; i < str.Length; i++)
184 retval.Append(
"\\b");
188 retval.Append(
"\\t");
192 retval.Append(
"\\n");
196 retval.Append(
"\\f");
200 retval.Append(
"\\r");
204 retval.Append(
"\\\"");
208 retval.Append(
"\\\'");
212 retval.Append(
"\\\\");
216 if ((ch = str[i]) < 0x20 || ch > 0x7e)
218 System.String s =
"0000" + System.Convert.ToString(ch, 16);
219 retval.Append(
"\\u" + s.Substring(s.Length - 4, (s.Length) - (s.Length - 4)));
229 return retval.ToString();