X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=blobdiff_plain;f=code%2Ftokens.js;h=53639a8b6ade4449a75725e9e94ce3af30c63a26;hp=559c437083fa2f156d53e82096499ac21ca5a3a7;hb=b059b718b62f3b4beffb3bd7fbe66af01069f9c9;hpb=53455875b3b1b72c8c0001408ab789f6954c2326 diff --git a/code/tokens.js b/code/tokens.js index 559c4370..53639a8b 100644 --- a/code/tokens.js +++ b/code/tokens.js @@ -84,7 +84,18 @@ String.prototype.tokens = function (prefix, suffix) { (c >= '0' && c <= '9') || c === '_' || c === '-') { str += c; i += 1; - } else { + } else if (c === '?' || c === '!') { + // should only be terminal + str += c; + i += 1; + // make sure next character is not an identifier + if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || + (c >= '0' && c <= '9') || c === '_' || c === '-' || c === '?' || c === '!') { + str += c; + i += 1; + make('name', str).error("Bad identifier"); + } + } else { break; } }