Spaces:
Running
Running
| <html> | |
| <body> | |
| <meta charset='utf-8' /> | |
| <span style="font: 15px arial, sans-serif;">Type any Lojban text in the following textarea. The result will be parsed as you type:</span> | |
| <br /><br /> | |
| <form id="form1" name="form1" method="post" action="" style="width:100%"> | |
| <textarea id="input_textarea" style="width:100%" rows="8" autocomplete="off" autocapitalize="off" autocorrect="off" spellcheck="false" | |
| autofocus></textarea> | |
| <br /> | |
| <span style="font: 15px arial, sans-serif;">Output mode: </span> | |
| <select id="optlist" onChange="run_camxes()"> | |
| <option>Raw output</option> | |
| <option>Condensed</option> | |
| <option id="default">Prettified</option> | |
| <option>Prettified + selmaho</option> | |
| <option>Prettified + sm ext</option> | |
| <option>Prettified --fm</option> | |
| <option>Prettified --fm + selmaho</option> | |
| <option>Prettified --fm + sm ext</option> | |
| </select> | |
| <select id="morpho-mode" onChange="run_camxes();"> | |
| <option>Remove morphology</option> | |
| <option>Keep morphology</option> | |
| </select> | |
| <select id="spaces-display-mode" onChange="run_camxes();"> | |
| <option>Hide spaces</option> | |
| <option>Display spaces as '_'</option> | |
| </select> | |
| <span style="padding-left: 24px; text-align: right; font: 15px arial, sans-serif;">Parser: </span> | |
| <select id="parser" onChange="load_parser();"> | |
| <option>Camxes: Standard</option> | |
| <option>Camxes: Beta</option> | |
| <option>Camxes: Beta CBM</option> | |
| <option>Camxes: Beta CBM CKT</option> | |
| <option>Camxes: Experimental</option> | |
| <option>Zantufa</option> | |
| <!-- <option>Altatufa</option> | |
| <option>Spagetufa</option> --> | |
| <option>Camxes: Hagiwara</option> | |
| </select> | |
| <script> | |
| var parser_list = [ | |
| ["camxes.js", "camxes.peg"], | |
| ["camxes-beta.js", "camxes-beta.peg"], | |
| ["camxes-beta-cbm.js", "camxes-beta-cbm.peg"], | |
| ["camxes-beta-cbm-ckt.js", "camxes-beta-cbm-ckt.peg"], | |
| ["camxes-exp.js", "camxes-exp.js.peg"], | |
| ["http://guskant.github.io/gerna_cipra/js/zantufa-1.js", "http://guskant.github.io/gerna_cipra/zantufa-1.js.peg"], | |
| // ["https://github.com/lagleki/glekitufa/mahantufa/altatufa.js", "https://github.com/lagleki/glekitufa/mahantufa/altatufa.js.peg"], | |
| // ["https://github.com/mezohe/ilmentufa/camxes-exp.js", "https://github.com/mezohe/ilmentufa/camxes-exp.js.peg"], | |
| ["camxes-mh.js", "camxes-mh.js.peg"] | |
| ]; | |
| </script> | |
| <span style="padding-left: 24px; text-align: right; font-size: 12px;"> | |
| <a href="camxes.pegjs" target="_blank" id="peg-link">[ Grammar file ]</a> | |
| </span> | |
| </form> | |
| <div style="display:block; overflow: scroll; max-height:24em; border: solid 1px; padding: 10px; background-color: #DDDDFF;" | |
| height="24em"> | |
| <pre style="white-space: pre-wrap;"><code id="parse_result" width="100%" height="100%"> </code></pre> | |
| </div> | |
| <script type="text/javascript" src="jquery-1.9.1.min.js"></script> | |
| <!-- | |
| <script type="text/javascript" src="camxes.js"></script> | |
| --> | |
| <script type="text/javascript" src="camxes_preproc.js"></script> | |
| <script type="text/javascript" src="camxes_postproc.js"></script> | |
| <script> | |
| document.getElementById("default").defaultSelected = true; | |
| window.onload = load_parser; | |
| var has_first_parser_been_loaded = false; | |
| function load_parser() { | |
| var i = document.getElementById("parser").selectedIndex; | |
| document.getElementById("peg-link").href = parser_list[i][1]; | |
| var getscript_callback = function( data, textStatus, jqxhr ) { | |
| if ( textStatus === "success" ) run_camxes(); | |
| }; | |
| $.getScript( parser_list[i][0], getscript_callback ) | |
| .done(function( script, textStatus ) { | |
| if ( textStatus === "success" ) has_first_parser_been_loaded = true; | |
| }) | |
| .fail(function( jqxhr, settings, exception ) { | |
| alert( "load_parser(): " + exception ); | |
| }); | |
| run_camxes(); | |
| } | |
| /* | |
| * Binding the function run_camxes() to keyup event on input_textarea by using jQuery | |
| */ | |
| $('#input_textarea').bind( "keyup", | |
| function(e) { | |
| run_camxes(); | |
| } ); | |
| function run_camxes() { | |
| if (!has_first_parser_been_loaded) return; | |
| try { | |
| var input = $('#input_textarea').val(); | |
| input = camxes_preprocessing(input); | |
| var result = camxes.parse(input); | |
| } catch (e) { | |
| $('#parse_result').text(e.toString()); | |
| return; | |
| } | |
| /* We get the output mode selected in the combobox */ | |
| var mode = document.getElementById("optlist").selectedIndex; | |
| /* Get the parse tree processing selected in the second combobox */ | |
| if (1 == document.getElementById("morpho-mode").selectedIndex) | |
| mode |= 16; | |
| var b_display_spaces = (1 == document.getElementById("spaces-display-mode").selectedIndex); | |
| if (b_display_spaces) mode |= 8; | |
| /* Postprocessing: if mode == 0, the below function won't modify camxes' output */ | |
| result = camxes_postprocessing(result, mode); | |
| // @ camxes_postproc.js | |
| /* Retrieve the result */ | |
| $('#parse_result').text(result); | |
| } | |
| </script> | |
| </body> | |
| </html> | |