Always throw real ParseErrors

Also sneak in a colon.

Auditors: emily
This commit is contained in:
Ben Alpert 2013-07-28 17:53:48 -07:00
parent 3b69354fd6
commit cab5af40b6
3 changed files with 5 additions and 4 deletions

View File

@ -17,7 +17,7 @@ var normals = [
[/^[/|@."`0-9]/, "textord"],
[/^[a-zA-Z]/, "mathord"],
[/^[*+-]/, "bin"],
[/^[=<>]/, "rel"],
[/^[=<>:]/, "rel"],
[/^[,;]/, "punct"],
[/^'/, "'"],
[/^\^/, "^"],

View File

@ -130,7 +130,7 @@ Parser.prototype.parseAtom = function(pos) {
var node;
if ((node = this.parseSuperscript(nextPos))) {
if (sup) {
throw "Parse error: Double superscript";
throw new ParseError("Parse error: Double superscript");
}
nextPos = node.position;
sup = node.result;
@ -138,7 +138,7 @@ Parser.prototype.parseAtom = function(pos) {
}
if ((node = this.parseSubscript(nextPos))) {
if (sub) {
throw "Parse error: Double subscript";
throw new ParseError("Parse error: Double subscript");
}
nextPos = node.position;
sub = node.result;

View File

@ -152,7 +152,8 @@ var buildGroup = function(style, color, group, prev) {
} else if (group.type === "namedfn") {
return makeSpan("mop" + color, [textit(group.value.slice(1))]);
} else {
throw "Lex error: Got group of unknown type: '" + group.type + "'";
throw new ParseError(
"Lex error: Got group of unknown type: '" + group.type + "'");
}
};