Skip to content

Commit 9da14a2

Browse files
author
Zdenko Vujasinovic
committed
Merged
2 parents 3bed4a4 + df30657 commit 9da14a2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+1579
-817
lines changed

docs/v1/annotated-source/grammar.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -575,6 +575,7 @@ <h2 id="grammatical-rules">Grammatical Rules</h2>
575575

576576
<div class="content"><div class='highlight'><pre> Return: [
577577
o <span class="hljs-string">'RETURN Expression'</span>, <span class="hljs-function">-&gt;</span> <span class="hljs-keyword">new</span> Return $<span class="hljs-number">2</span>
578+
o <span class="hljs-string">'RETURN INDENT Object OUTDENT'</span>, <span class="hljs-function">-&gt;</span> <span class="hljs-keyword">new</span> Return <span class="hljs-keyword">new</span> Value $<span class="hljs-number">3</span>
578579
o <span class="hljs-string">'RETURN'</span>, <span class="hljs-function">-&gt;</span> <span class="hljs-keyword">new</span> Return
579580
]
580581

docs/v1/annotated-source/lexer.html

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ <h2 id="tokenizers">Tokenizers</h2>
755755
<span class="hljs-keyword">return</span> indent.length
756756

757757
<span class="hljs-keyword">if</span> size &gt; @indent
758-
<span class="hljs-keyword">if</span> noNewlines <span class="hljs-keyword">or</span> @tag() <span class="hljs-keyword">is</span> <span class="hljs-string">'RETURN'</span>
758+
<span class="hljs-keyword">if</span> noNewlines
759759
@indebt = size - @indent
760760
@suppressNewlines()
761761
<span class="hljs-keyword">return</span> indent.length
@@ -1555,9 +1555,7 @@ <h2 id="helpers">Helpers</h2>
15551555

15561556
<div class="content"><div class='highlight'><pre> unfinished: <span class="hljs-function">-&gt;</span>
15571557
LINE_CONTINUER.test(@chunk) <span class="hljs-keyword">or</span>
1558-
@tag() <span class="hljs-keyword">in</span> [<span class="hljs-string">'\\'</span>, <span class="hljs-string">'.'</span>, <span class="hljs-string">'?.'</span>, <span class="hljs-string">'?::'</span>, <span class="hljs-string">'UNARY'</span>, <span class="hljs-string">'MATH'</span>, <span class="hljs-string">'UNARY_MATH'</span>, <span class="hljs-string">'+'</span>, <span class="hljs-string">'-'</span>,
1559-
<span class="hljs-string">'**'</span>, <span class="hljs-string">'SHIFT'</span>, <span class="hljs-string">'RELATION'</span>, <span class="hljs-string">'COMPARE'</span>, <span class="hljs-string">'&amp;'</span>, <span class="hljs-string">'^'</span>, <span class="hljs-string">'|'</span>, <span class="hljs-string">'&amp;&amp;'</span>, <span class="hljs-string">'||'</span>,
1560-
<span class="hljs-string">'BIN?'</span>, <span class="hljs-string">'THROW'</span>, <span class="hljs-string">'EXTENDS'</span>, <span class="hljs-string">'DEFAULT'</span>]
1558+
@tag() <span class="hljs-keyword">in</span> UNFINISHED
15611559

15621560
formatString: <span class="hljs-function"><span class="hljs-params">(str, options)</span> -&gt;</span>
15631561
@replaceUnicodeCodePointEscapes str.replace(STRING_OMIT, <span class="hljs-string">'$1'</span>), options
@@ -2315,6 +2313,23 @@ <h2 id="constants">Constants</h2>
23152313

23162314
</li>
23172315

2316+
2317+
<li id="section-94">
2318+
<div class="annotation">
2319+
2320+
<div class="pilwrap ">
2321+
<a class="pilcrow" href="#section-94">&#182;</a>
2322+
</div>
2323+
<p>Tokens that, when appearing at the end of a line, suppress a following TERMINATOR/INDENT token</p>
2324+
2325+
</div>
2326+
2327+
<div class="content"><div class='highlight'><pre>UNFINISHED = [<span class="hljs-string">'\\'</span>, <span class="hljs-string">'.'</span>, <span class="hljs-string">'?.'</span>, <span class="hljs-string">'?::'</span>, <span class="hljs-string">'UNARY'</span>, <span class="hljs-string">'MATH'</span>, <span class="hljs-string">'UNARY_MATH'</span>, <span class="hljs-string">'+'</span>, <span class="hljs-string">'-'</span>,
2328+
<span class="hljs-string">'**'</span>, <span class="hljs-string">'SHIFT'</span>, <span class="hljs-string">'RELATION'</span>, <span class="hljs-string">'COMPARE'</span>, <span class="hljs-string">'&amp;'</span>, <span class="hljs-string">'^'</span>, <span class="hljs-string">'|'</span>, <span class="hljs-string">'&amp;&amp;'</span>, <span class="hljs-string">'||'</span>,
2329+
<span class="hljs-string">'BIN?'</span>, <span class="hljs-string">'THROW'</span>, <span class="hljs-string">'EXTENDS'</span>, <span class="hljs-string">'DEFAULT'</span>]</pre></div></div>
2330+
2331+
</li>
2332+
23182333
</ul>
23192334
</div>
23202335
</body>

docs/v1/annotated-source/repl.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ <h1>repl.coffee</h1>
256256
</div>
257257

258258
<div class="content"><div class='highlight'><pre> ast = <span class="hljs-keyword">new</span> Block [
259-
<span class="hljs-keyword">new</span> Assign (<span class="hljs-keyword">new</span> Value <span class="hljs-keyword">new</span> Literal <span class="hljs-string">'_'</span>), ast, <span class="hljs-string">'='</span>
259+
<span class="hljs-keyword">new</span> Assign (<span class="hljs-keyword">new</span> Value <span class="hljs-keyword">new</span> Literal <span class="hljs-string">'__'</span>), ast, <span class="hljs-string">'='</span>
260260
]
261261
js = ast.compile {bare: <span class="hljs-literal">yes</span>, locals: Object.keys(context), referencedVars}
262262
cb <span class="hljs-literal">null</span>, runInContext js, context, filename

docs/v1/annotated-source/rewriter.html

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,7 @@ <h1>rewriter.coffee</h1>
476476
<span class="hljs-title">startImplicitCall</span> = <span class="hljs-params">(j)</span> -&gt;</span>
477477
idx = j ? i
478478
stack.push [<span class="hljs-string">'('</span>, idx, ours: <span class="hljs-literal">yes</span>]
479-
tokens.splice idx, <span class="hljs-number">0</span>, generate <span class="hljs-string">'CALL_START'</span>, <span class="hljs-string">'('</span>
479+
tokens.splice idx, <span class="hljs-number">0</span>, generate <span class="hljs-string">'CALL_START'</span>, <span class="hljs-string">'('</span>, [<span class="hljs-string">''</span>, <span class="hljs-string">'implicit function call'</span>, token[<span class="hljs-number">2</span>]]
480480
i += <span class="hljs-number">1</span> <span class="hljs-keyword">if</span> <span class="hljs-keyword">not</span> j?
481481
<span class="hljs-function">
482482
<span class="hljs-title">endImplicitCall</span> = -&gt;</span>
@@ -752,8 +752,9 @@ <h1>rewriter.coffee</h1>
752752
</div>
753753

754754
<div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> tag <span class="hljs-keyword">in</span> LINEBREAKS
755-
<span class="hljs-keyword">for</span> stackItem <span class="hljs-keyword">in</span> stack <span class="hljs-keyword">by</span> <span class="hljs-number">-1</span> <span class="hljs-keyword">when</span> isImplicitObject stackItem
756-
stackItem[<span class="hljs-number">2</span>].sameLine = <span class="hljs-literal">no</span>
755+
<span class="hljs-keyword">for</span> stackItem <span class="hljs-keyword">in</span> stack <span class="hljs-keyword">by</span> <span class="hljs-number">-1</span>
756+
<span class="hljs-keyword">break</span> <span class="hljs-keyword">unless</span> isImplicit stackItem
757+
stackItem[<span class="hljs-number">2</span>].sameLine = <span class="hljs-literal">no</span> <span class="hljs-keyword">if</span> isImplicitObject stackItem
757758

758759
newLine = prevTag <span class="hljs-keyword">is</span> <span class="hljs-string">'OUTDENT'</span> <span class="hljs-keyword">or</span> prevToken.newLine
759760
<span class="hljs-keyword">if</span> tag <span class="hljs-keyword">in</span> IMPLICIT_END <span class="hljs-keyword">or</span> tag <span class="hljs-keyword">in</span> CALL_CLOSERS <span class="hljs-keyword">and</span> newLine

0 commit comments

Comments
 (0)