Skip to content

Commit 36dd387

Browse files
committed
fixes from code review
1 parent 2b7725f commit 36dd387

File tree

7 files changed

+26
-15
lines changed

7 files changed

+26
-15
lines changed

lib/coffeescript/grammar.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/coffeescript/lexer.js

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/coffeescript/parser.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/coffeescript/rewriter.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/grammar.coffee

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -880,9 +880,9 @@ grammar =
880880
o 'Expression ^ Expression', -> new Op $2, $1, $3
881881
o 'Expression | Expression', -> new Op $2, $1, $3
882882
o 'Expression && Expression', -> new Op $2.toString(), $1, $3, undefined, originalOperator: $2.original
883-
o 'Expression LEADING_&& Expression', -> new Op $2.toString(), $1, $3, undefined, originalOperator: $2.original
883+
o 'Expression LEADING_AND Expression', -> new Op $2.toString(), $1, $3, undefined, originalOperator: $2.original
884884
o 'Expression || Expression', -> new Op $2.toString(), $1, $3, undefined, originalOperator: $2.original
885-
o 'Expression LEADING_|| Expression', -> new Op $2.toString(), $1, $3, undefined, originalOperator: $2.original
885+
o 'Expression LEADING_OR Expression', -> new Op $2.toString(), $1, $3, undefined, originalOperator: $2.original
886886
o 'Expression BIN? Expression', -> new Op $2, $1, $3
887887
o 'Expression RELATION Expression', -> new Op $2.toString(), $1, $3, undefined, invertOperator: $2.invert?.original ? $2.invert
888888

@@ -927,8 +927,8 @@ operators = [
927927
['left', '&']
928928
['left', '^']
929929
['left', '|']
930-
['left', '&&', 'LEADING_&&']
931-
['left', '||', 'LEADING_||']
930+
['left', '&&', 'LEADING_AND']
931+
['left', '||', 'LEADING_OR']
932932
['left', 'BIN?']
933933
['nonassoc', 'INDENT', 'OUTDENT']
934934
['right', 'YIELD']

src/lexer.coffee

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,7 +1270,13 @@ POSSIBLY_DIVISION = /// ^ /=?\s ///
12701270
# Other regexes.
12711271
HERECOMMENT_ILLEGAL = /\*\//
12721272
1273+
# When appearing at the beginning of a line, suppresses TERMINATOR and INDENT
1274+
# tokens. So unless the line is outdented, the line's tokens will appear (in the
1275+
# unrewritten token stream) to be a continuation of the previous line
12731276
LINE_CONTINUER = /// ^ \s* (?: , | \??\.(?![.\d]) | \??:: ) ///
1277+
1278+
# When appearing at the beginning of an indented line, causes a TERMINATOR token
1279+
# to be generated rather than an INDENT
12741280
INDENT_SUPPRESSOR = /// ^ \s* (?: and\s+(?!:)\S | or\s+(?!:)\S | && | \|\| ) ///
12751281
12761282
STRING_INVALID_ESCAPE = ///

src/rewriter.coffee

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -670,12 +670,12 @@ exports.Rewriter = class Rewriter
670670
token[1].generated = yes if token.generated
671671
1
672672

673-
# Convert TERMINATOR followed by && or || into a single LEADING_&& or
674-
# LEADING_|| token to disambiguate grammar.
673+
# Convert TERMINATOR followed by && or || into a single LEADING_AND or
674+
# LEADING_OR token to disambiguate grammar.
675675
tagLeadingLogical: ->
676676
@scanTokens (token, i, tokens) ->
677677
return 1 unless token[0] is 'TERMINATOR' and tokens.length >= i + 2 and (operatorToken = tokens[i + 1])[0] in ['&&', '||']
678-
token[0] = "LEADING_#{operatorToken[0]}"
678+
token[0] = "LEADING_#{if operatorToken[0] is '&&' then 'AND' else 'OR'}"
679679
token[1] = operatorToken[1]
680680
token[2].last_line = operatorToken[2].last_line
681681
token[2].last_column = operatorToken[2].last_column

0 commit comments

Comments
 (0)