Refactoring

Step 2
This commit is contained in:
Onoshko Dan 2014-04-17 01:39:27 +07:00
parent 10db7a5ef4
commit db5ea25e30
2 changed files with 947 additions and 922 deletions

View File

@ -47,26 +47,29 @@
<textarea id="source" onkeyup="compile()"></textarea> <textarea id="source" onkeyup="compile()"></textarea>
<textarea id="translation"></textarea> <textarea id="translation"></textarea>
<textarea id="result"></textarea> <textarea id="result"></textarea>
<div id="controls"><button id="exec" onclick="exec()">Execute</button></div> <div id="controls"><button id="exec" onclick="exec()">Execute</button><input type="checkbox" id="is_js" onclick="compile()"><label for="is_js">js parser</label></div>
</body> </body>
<script> <script>
var sourceArea = document.getElementById("source"), var sourceArea = document.getElementById("source"),
translationArea = document.getElementById("translation"), translationArea = document.getElementById("translation"),
resultArea = document.getElementById("result"), resultArea = document.getElementById("result"),
isjs = document.getElementById("is_js"),
source; source;
sourceArea.value = source = localStorage.source; sourceArea.value = source = localStorage.source;
isjs.checked = localStorage.isjs == "t";
function compile(){ function compile(){
source = sourceArea.value; source = sourceArea.value;
localStorage.source = source; localStorage.source = source;
localStorage.isjs = isjs.checked ? "t" : "f";
stream = OutputStream({ beautify : true }); stream = OutputStream({ beautify : true });
compressor = Compressor(); compressor = Compressor();
try { try {
// 1. compile // 1. compile
ast = Cola.parse(source); ast = Cola.parse(source, null, isjs.checked);
ast = translate(ast); if(!isjs.checked) ast = translate(ast);
ast.print(stream); ast.print(stream);
translationArea.value = stream.toString(); translationArea.value = stream.toString();
@ -96,7 +99,7 @@
function Translate(){ function Translate(){
stream = OutputStream({ beautify : true }); stream = OutputStream({ beautify : true });
translate(Cola.parse(source)).print(stream); translate(Cola.parse(source, null, isjs.checked)).print(stream);
return stream.toString(); return stream.toString();
} }

File diff suppressed because it is too large Load Diff