This commit is contained in:
artegoser 2023-12-31 08:46:26 +00:00
parent 854d002b9d
commit 037e2124bd
4 changed files with 50 additions and 12 deletions

View file

@ -330,10 +330,12 @@ false
<h2 id="expressionss"><a class="header" href="#expressionss">Expressionss</a></h2> <h2 id="expressionss"><a class="header" href="#expressionss">Expressionss</a></h2>
<h3 id="operator-priority"><a class="header" href="#operator-priority">Operator priority</a></h3> <h3 id="operator-priority"><a class="header" href="#operator-priority">Operator priority</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Operator/Expression</th><th>Associativity</th><th>Parser fn name</th><th>Impl</th></tr></thead><tbody> <div class="table-wrapper"><table><thead><tr><th>Operator/Expression</th><th>Associativity</th><th>Parser fn name</th><th>Impl</th></tr></thead><tbody>
<tr><td>Method calls, Members</td><td>Left to Right</td><td>call</td><td></td></tr> <tr><td>Calls, Identifiers, Literals</td><td>Left to Right</td><td>call</td><td></td></tr>
<tr><td>Function calls</td><td>Left to Right</td><td>call</td><td></td></tr> <tr><td>Members</td><td>Left to Right</td><td>dot</td><td></td></tr>
<tr><td>await</td><td>Right to Left</td><td>call</td><td></td></tr> <tr><td>new</td><td>Right to Left</td><td>new_expr</td><td></td></tr>
<tr><td><code>!</code> <code>++</code> <code>--</code> <code>()</code> <code>~</code></td><td>Left to Right</td><td>factor</td><td></td></tr> <tr><td>delete</td><td>Right to Left</td><td>delete_expr</td><td></td></tr>
<tr><td>await</td><td>Right to Left</td><td>await_expr</td><td></td></tr>
<tr><td><code>!</code> <code>++</code> <code>--</code> <code>()</code> <code>~</code> (unary <code>-</code> <code>+</code>) <code>[]</code> <code>{}</code></td><td>Left to Right</td><td>factor</td><td></td></tr>
<tr><td><code>^</code></td><td>Left to Left</td><td>power</td><td></td></tr> <tr><td><code>^</code></td><td>Left to Left</td><td>power</td><td></td></tr>
<tr><td><code>*</code> <code>/</code> <code>%</code></td><td>Left to Right</td><td>term</td><td></td></tr> <tr><td><code>*</code> <code>/</code> <code>%</code></td><td>Left to Right</td><td>term</td><td></td></tr>
<tr><td><code>+</code> <code>-</code></td><td>Left to Right</td><td>add_sub</td><td></td></tr> <tr><td><code>+</code> <code>-</code></td><td>Left to Right</td><td>add_sub</td><td></td></tr>
@ -347,9 +349,26 @@ false
<tr><td><code>..</code></td><td>Left to Right</td><td>range</td><td></td></tr> <tr><td><code>..</code></td><td>Left to Right</td><td>range</td><td></td></tr>
<tr><td><code>?:</code></td><td>Right to Left</td><td>ternary</td><td></td></tr> <tr><td><code>?:</code></td><td>Right to Left</td><td>ternary</td><td></td></tr>
<tr><td><code>=</code> <code>:=</code> <code>+=</code> <code>-=</code> <code>*=</code> <code>/=</code> <code>^=</code> <code>%=</code></td><td>Right to Left</td><td>assign</td><td></td></tr> <tr><td><code>=</code> <code>:=</code> <code>+=</code> <code>-=</code> <code>*=</code> <code>/=</code> <code>^=</code> <code>%=</code></td><td>Right to Left</td><td>assign</td><td></td></tr>
<tr><td>yield</td><td>Right to Left</td><td>await_yield</td><td></td></tr>
<tr><td><code>,</code></td><td>None</td><td>comma</td><td></td></tr> <tr><td><code>,</code></td><td>None</td><td>comma</td><td></td></tr>
</tbody></table> </tbody></table>
</div>
<h3 id="statements"><a class="header" href="#statements">Statements</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Statement</th><th>Parser fn name</th><th>Trigger token</th><th>Impl</th></tr></thead><tbody>
<tr><td>Variable declaration</td><td>var_decl</td><td>Let</td><td></td></tr>
<tr><td>Async function declaration</td><td>async_fn_decl</td><td>Async</td><td></td></tr>
<tr><td>Function declaration</td><td>fn_decl</td><td>Function</td><td></td></tr>
<tr><td>Return statement</td><td>return_stmt</td><td>Return</td><td></td></tr>
<tr><td>Yield statement</td><td>yield_stmt</td><td>Yield</td><td></td></tr>
<tr><td>Break statement</td><td>break_stmt</td><td>Break</td><td></td></tr>
<tr><td>Continue statement</td><td>continue_stmt</td><td>Continue</td><td></td></tr>
<tr><td>If statement</td><td>if_stmt</td><td>If</td><td></td></tr>
<tr><td>While statement</td><td>while_stmt</td><td>While</td><td></td></tr>
<tr><td>For statement</td><td>for_stmt</td><td>For</td><td></td></tr>
<tr><td>Loop statement</td><td>loop_stmt</td><td>Loop</td><td></td></tr>
<tr><td>Try statement</td><td>try_stmt</td><td>Try</td><td></td></tr>
<tr><td>Throw statement</td><td>throw_stmt</td><td>Throw</td><td></td></tr>
<tr><td>Expression statement</td><td>expr_stmt</td><td>Other</td><td></td></tr>
</tbody></table>
</div><div style="break-before: page; page-break-before: always;"></div><h1 id="examples"><a class="header" href="#examples">Examples</a></h1> </div><div style="break-before: page; page-break-before: always;"></div><h1 id="examples"><a class="header" href="#examples">Examples</a></h1>
<p>This is chapter about how the code in SymboScript looks.</p> <p>This is chapter about how the code in SymboScript looks.</p>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -177,10 +177,12 @@
<h2 id="expressionss"><a class="header" href="#expressionss">Expressionss</a></h2> <h2 id="expressionss"><a class="header" href="#expressionss">Expressionss</a></h2>
<h3 id="operator-priority"><a class="header" href="#operator-priority">Operator priority</a></h3> <h3 id="operator-priority"><a class="header" href="#operator-priority">Operator priority</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Operator/Expression</th><th>Associativity</th><th>Parser fn name</th><th>Impl</th></tr></thead><tbody> <div class="table-wrapper"><table><thead><tr><th>Operator/Expression</th><th>Associativity</th><th>Parser fn name</th><th>Impl</th></tr></thead><tbody>
<tr><td>Method calls, Members</td><td>Left to Right</td><td>call</td><td></td></tr> <tr><td>Calls, Identifiers, Literals</td><td>Left to Right</td><td>call</td><td></td></tr>
<tr><td>Function calls</td><td>Left to Right</td><td>call</td><td></td></tr> <tr><td>Members</td><td>Left to Right</td><td>dot</td><td></td></tr>
<tr><td>await</td><td>Right to Left</td><td>call</td><td></td></tr> <tr><td>new</td><td>Right to Left</td><td>new_expr</td><td></td></tr>
<tr><td><code>!</code> <code>++</code> <code>--</code> <code>()</code> <code>~</code></td><td>Left to Right</td><td>factor</td><td></td></tr> <tr><td>delete</td><td>Right to Left</td><td>delete_expr</td><td></td></tr>
<tr><td>await</td><td>Right to Left</td><td>await_expr</td><td></td></tr>
<tr><td><code>!</code> <code>++</code> <code>--</code> <code>()</code> <code>~</code> (unary <code>-</code> <code>+</code>) <code>[]</code> <code>{}</code></td><td>Left to Right</td><td>factor</td><td></td></tr>
<tr><td><code>^</code></td><td>Left to Left</td><td>power</td><td></td></tr> <tr><td><code>^</code></td><td>Left to Left</td><td>power</td><td></td></tr>
<tr><td><code>*</code> <code>/</code> <code>%</code></td><td>Left to Right</td><td>term</td><td></td></tr> <tr><td><code>*</code> <code>/</code> <code>%</code></td><td>Left to Right</td><td>term</td><td></td></tr>
<tr><td><code>+</code> <code>-</code></td><td>Left to Right</td><td>add_sub</td><td></td></tr> <tr><td><code>+</code> <code>-</code></td><td>Left to Right</td><td>add_sub</td><td></td></tr>
@ -194,9 +196,26 @@
<tr><td><code>..</code></td><td>Left to Right</td><td>range</td><td></td></tr> <tr><td><code>..</code></td><td>Left to Right</td><td>range</td><td></td></tr>
<tr><td><code>?:</code></td><td>Right to Left</td><td>ternary</td><td></td></tr> <tr><td><code>?:</code></td><td>Right to Left</td><td>ternary</td><td></td></tr>
<tr><td><code>=</code> <code>:=</code> <code>+=</code> <code>-=</code> <code>*=</code> <code>/=</code> <code>^=</code> <code>%=</code></td><td>Right to Left</td><td>assign</td><td></td></tr> <tr><td><code>=</code> <code>:=</code> <code>+=</code> <code>-=</code> <code>*=</code> <code>/=</code> <code>^=</code> <code>%=</code></td><td>Right to Left</td><td>assign</td><td></td></tr>
<tr><td>yield</td><td>Right to Left</td><td>await_yield</td><td></td></tr>
<tr><td><code>,</code></td><td>None</td><td>comma</td><td></td></tr> <tr><td><code>,</code></td><td>None</td><td>comma</td><td></td></tr>
</tbody></table> </tbody></table>
</div>
<h3 id="statements"><a class="header" href="#statements">Statements</a></h3>
<div class="table-wrapper"><table><thead><tr><th>Statement</th><th>Parser fn name</th><th>Trigger token</th><th>Impl</th></tr></thead><tbody>
<tr><td>Variable declaration</td><td>var_decl</td><td>Let</td><td></td></tr>
<tr><td>Async function declaration</td><td>async_fn_decl</td><td>Async</td><td></td></tr>
<tr><td>Function declaration</td><td>fn_decl</td><td>Function</td><td></td></tr>
<tr><td>Return statement</td><td>return_stmt</td><td>Return</td><td></td></tr>
<tr><td>Yield statement</td><td>yield_stmt</td><td>Yield</td><td></td></tr>
<tr><td>Break statement</td><td>break_stmt</td><td>Break</td><td></td></tr>
<tr><td>Continue statement</td><td>continue_stmt</td><td>Continue</td><td></td></tr>
<tr><td>If statement</td><td>if_stmt</td><td>If</td><td></td></tr>
<tr><td>While statement</td><td>while_stmt</td><td>While</td><td></td></tr>
<tr><td>For statement</td><td>for_stmt</td><td>For</td><td></td></tr>
<tr><td>Loop statement</td><td>loop_stmt</td><td>Loop</td><td></td></tr>
<tr><td>Try statement</td><td>try_stmt</td><td>Try</td><td></td></tr>
<tr><td>Throw statement</td><td>throw_stmt</td><td>Throw</td><td></td></tr>
<tr><td>Expression statement</td><td>expr_stmt</td><td>Other</td><td></td></tr>
</tbody></table>
</div> </div>
</main> </main>