Refactoring
Step 2
This commit is contained in:
parent
10db7a5ef4
commit
db5ea25e30
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
1858
lib/parse.js
1858
lib/parse.js
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user