mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 01:47:34 +00:00
JSSpecCompiler: Parse arbitrarily large rational numbers in xspec mode
This commit is contained in:
parent
2a2e31f2ed
commit
86d54a8684
9 changed files with 64 additions and 8 deletions
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE inline_dtd[<!ENTITY nbsp " ">]>
|
||||
<specification>
|
||||
<emu-clause id="1" aoid="ArbitrarilyLargeNumbers">
|
||||
<h1><span class="secnum">1</span> ArbitrarilyLargeNumbers ( <var>a</var> )</h1>
|
||||
<emu-alg>
|
||||
<ol>
|
||||
<li>Let <var>a</var> be 1.</li>
|
||||
<li>Let <var>b</var> be 3.6.</li>
|
||||
<li>Let <var>c</var> be -3.6.</li>
|
||||
<li>Let <var>d</var> be -1000000000000000000000.</li>
|
||||
<li>Let <var>e</var> be 1.0000001.</li>
|
||||
<li>Return <var>a</var>+<var>b</var>+<var>c</var>+<var>d</var>+<var>e</var>.</li>
|
||||
</ol>
|
||||
</emu-alg>
|
||||
</emu-clause>
|
||||
</specification>
|
|
@ -0,0 +1,29 @@
|
|||
===== AST after reference-resolving =====
|
||||
ArbitrarilyLargeNumbers(a):
|
||||
TreeList
|
||||
BinaryOperation Assignment
|
||||
Var a
|
||||
MathematicalConstant 1
|
||||
BinaryOperation Assignment
|
||||
Var b
|
||||
MathematicalConstant 3.6
|
||||
BinaryOperation Assignment
|
||||
Var c
|
||||
MathematicalConstant -3.6
|
||||
BinaryOperation Assignment
|
||||
Var d
|
||||
MathematicalConstant -1000000000000000000000
|
||||
BinaryOperation Assignment
|
||||
Var e
|
||||
MathematicalConstant 10000001/10000000
|
||||
ReturnNode
|
||||
BinaryOperation Plus
|
||||
Var a
|
||||
BinaryOperation Plus
|
||||
Var b
|
||||
BinaryOperation Plus
|
||||
Var c
|
||||
BinaryOperation Plus
|
||||
Var d
|
||||
Var e
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue