static string GetMessage(int ch, StringParserNew p, string message) { string m = message + "\n"; int ldpos = ch < p.value.Length ? ch : p.value.Length; while (0 < ldpos && ch - 20 < ldpos && p.value[ldpos] != '\n' && p.value[ldpos] != '\r') { ldpos--; } string n = p.value.Substring(ldpos, (ldpos + 40 >= p.value.Length) ? p.value.Length - ldpos : ldpos + 40); for (int i = 0; i < n.Length; i++) { if (n[i] == '\n' || n[i] == '\r' || n[i] == '\t') { m += '#'; } else { m += n[i]; } } m += new string(' ', ch - ldpos); m += "^"; return(m); }
internal BadLiteralException(int character, StringParserNew parser, string message) : base(character, parser, message) { }
internal UnexpectedCharException(int character, StringParserNew parser, string message) : base(character, parser, message) { }
private protected BadParseException(int character, StringParserNew parser, string message) : base(GetMessage(character, parser, message)) { }