diff options
author | tomsmeding <hallo@tomsmeding.nl> | 2014-04-29 13:28:56 +0200 |
---|---|---|
committer | tomsmeding <hallo@tomsmeding.nl> | 2014-04-29 13:28:56 +0200 |
commit | c29c78930c583f051df3211d9d815a6fc3658ee8 (patch) | |
tree | f008b58f22f79f5aa393f16cc4902a2a50fb53ad /treetree.js | |
parent | 571038785a3750db34261b462206e4fb73b206a7 (diff) |
Stuff
Diffstat (limited to 'treetree.js')
-rwxr-xr-x | treetree.js | 33 |
1 files changed, 26 insertions, 7 deletions
diff --git a/treetree.js b/treetree.js index c71b12c..2b186ae 100755 --- a/treetree.js +++ b/treetree.js @@ -281,12 +281,29 @@ function runCmds(cmds,TR){ TR[1]=inserted_tree; TR[2]=after_inserted; break; - case "INT":break; - case "FLT":break; - case "STR":break; - case "NAN":break; - case "LEN":break; - case "SPL":break; + case "INT": + if(TR==false)throw new TTerror("Cannot INT a non-existant root node!"); + TR[0]=parseInt(TR[0],10); + break; + case "FLT": + if(TR==false)throw new TTerror("Cannot INT a non-existant root node!"); + TR[0]=parseInt(TR[0],10); + break; + case "STR": + if(TR==false)throw new TTerror("Cannot INT a non-existant root node!"); + TR[0]=TR[0].toString(); + break; + case "NAN": + TR=[NaN,TR,false]; + break; + case "LEN": + if(TR==false)throw new TTerror("Cannot LEN a non-existant root node!"); + if(typeof TR[0]!="string")TR=[NaN,TR,false]; + else TR=[TR[0].length,TR,false]; + break; + case "SPL": + throw new TTerror("SPL not implemented!"); + break; case "SUM":break; case "DIF":break; case "PRO":break; @@ -308,7 +325,9 @@ function runCmds(cmds,TR){ case "GRT":break; case "TAU":break; case "E__":break; - case "RND":break; + case "RND": + TR=[~~(Math.pow(2,31)*Math.random()),TR,false]; + break; case "JMP":break; case "EXJ":break; case "IFJ":break; |