mirror of
https://github.com/jashkenas/coffeescript.git
synced 2026-02-16 18:44:56 -05:00
moving 'throw' to a slightly higher level of precedence
This commit is contained in:
2
Cakefile
2
Cakefile
@@ -23,7 +23,7 @@ task 'build', 'build the CoffeeScript language from source', ->
|
|||||||
|
|
||||||
|
|
||||||
task 'build:parser', 'rebuild the Jison parser', ->
|
task 'build:parser', 'rebuild the Jison parser', ->
|
||||||
invoke 'build:compiler'
|
invoke 'build'
|
||||||
parser: require('grammar').parser
|
parser: require('grammar').parser
|
||||||
js: parser.generate()
|
js: parser.generate()
|
||||||
parser_path: 'lib/parser.js'
|
parser_path: 'lib/parser.js'
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
// Precedence ===========================================================
|
// Precedence ===========================================================
|
||||||
operators = [["left", '?'], ["nonassoc", 'UMINUS', 'UPLUS', 'NOT', '!', '!!', '~', '++', '--'], ["left", '*', '/', '%'], ["left", '+', '-'], ["left", '<<', '>>', '>>>'], ["left", '&', '|', '^'], ["left", '<=', '<', '>', '>='], ["right", 'DELETE', 'INSTANCEOF', 'TYPEOF'], ["right", '==', '!=', 'IS', 'ISNT'], ["left", '&&', '||', 'AND', 'OR'], ["right", '-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?='], ["left", '.'], ["right", 'INDENT'], ["left", 'OUTDENT'], ["right", 'WHEN', 'LEADING_WHEN', 'IN', 'OF', 'BY'], ["right", 'THROW', 'FOR', 'NEW', 'SUPER'], ["left", 'EXTENDS'], ["right", 'ASSIGN', 'RETURN'], ["right", '->', '=>', 'UNLESS', 'IF', 'ELSE', 'WHILE']];
|
operators = [["left", '?'], ["nonassoc", 'UMINUS', 'UPLUS', 'NOT', '!', '!!', '~', '++', '--'], ["left", '*', '/', '%'], ["left", '+', '-'], ["left", '<<', '>>', '>>>'], ["left", '&', '|', '^'], ["left", '<=', '<', '>', '>='], ["right", 'DELETE', 'INSTANCEOF', 'TYPEOF'], ["right", '==', '!=', 'IS', 'ISNT'], ["left", '&&', '||', 'AND', 'OR'], ["right", '-=', '+=', '/=', '*=', '%=', '||=', '&&=', '?='], ["left", '.'], ["right", 'INDENT'], ["left", 'OUTDENT'], ["right", 'WHEN', 'LEADING_WHEN', 'IN', 'OF', 'BY', 'THROW'], ["right", 'FOR', 'NEW', 'SUPER'], ["left", 'EXTENDS'], ["right", 'ASSIGN', 'RETURN'], ["right", '->', '=>', 'UNLESS', 'IF', 'ELSE', 'WHILE']];
|
||||||
// Grammar ==============================================================
|
// Grammar ==============================================================
|
||||||
grammar = {
|
grammar = {
|
||||||
// All parsing will end in this rule, being the trunk of the AST.
|
// All parsing will end in this rule, being the trunk of the AST.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -30,8 +30,8 @@ operators: [
|
|||||||
["left", '.']
|
["left", '.']
|
||||||
["right", 'INDENT']
|
["right", 'INDENT']
|
||||||
["left", 'OUTDENT']
|
["left", 'OUTDENT']
|
||||||
["right", 'WHEN', 'LEADING_WHEN', 'IN', 'OF', 'BY']
|
["right", 'WHEN', 'LEADING_WHEN', 'IN', 'OF', 'BY', 'THROW']
|
||||||
["right", 'THROW', 'FOR', 'NEW', 'SUPER']
|
["right", 'FOR', 'NEW', 'SUPER']
|
||||||
["left", 'EXTENDS']
|
["left", 'EXTENDS']
|
||||||
["right", 'ASSIGN', 'RETURN']
|
["right", 'ASSIGN', 'RETURN']
|
||||||
["right", '->', '=>', 'UNLESS', 'IF', 'ELSE', 'WHILE']
|
["right", '->', '=>', 'UNLESS', 'IF', 'ELSE', 'WHILE']
|
||||||
|
|||||||
Reference in New Issue
Block a user