1+ import js .html .ButtonElement ;
12import js .html .TextAreaElement ;
23import js .html .Event ;
34import js .html .InputElement ;
@@ -7,25 +8,30 @@ import base.Preprocessor;
78import base .Tokenizer ;
89import base .Parser ;
910
11+ final Preprocessor = new Preprocessor ();
12+ final Tokenizer = new Tokenizer ();
13+ final Parser = new Parser ();
14+
15+ final input_textarea : TextAreaElement = cast Browser .document .getElementById (" input" );
16+ final output_textarea : TextAreaElement = cast Browser .document .getElementById (" output" );
17+
18+ final transpile_button : ButtonElement = cast Browser .document .getElementById (" transpile" );
19+
20+ function transpile () {
21+ try {
22+ final processed = Preprocessor .process (input_textarea .value );
23+ final tokens = Tokenizer .process (processed );
24+ final ast = Parser .process (tokens );
25+
26+ final out_code = base.transpiler. Lua .process (ast );
27+
28+ output_textarea .value = out_code ;
29+ } catch (exception ) {
30+ output_textarea .value = exception .toString ();
31+ }
32+ }
33+
1034function main () {
11- final Preprocessor = new Preprocessor ();
12- final Tokenizer = new Tokenizer ();
13- final Parser = new Parser ();
14-
15- final input_textarea : TextAreaElement = cast Browser .document .getElementById (" input" );
16- final output_textarea : TextAreaElement = cast Browser .document .getElementById (" output" );
17-
18- input_textarea .onkeypress = function (e : Event ) {
19- try {
20- final processed = Preprocessor .process (input_textarea .value );
21- final tokens = Tokenizer .process (processed );
22- final ast = Parser .process (tokens );
23-
24- final out_code = base.transpiler. Lua .process (ast );
25-
26- output_textarea .value = out_code ;
27- } catch (exception ) {
28- output_textarea .value = exception .toString ();
29- }
30- };
35+ transpile_button .onclick = transpile ;
36+ input_textarea .onkeypress = transpile ;
3137}
0 commit comments