Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Run Perl 6 code using Perltio 6 JS
  • Loading branch information
azawawi committed Oct 21, 2012
1 parent 8704df2 commit c80952c
Showing 1 changed file with 17 additions and 18 deletions.
35 changes: 17 additions & 18 deletions lib/Farabi6/files/farabi.js
Expand Up @@ -362,25 +362,29 @@ function startFarabi(editorId) {
}

function runOnPerlito6(source) {

var pos = 0;
var ast;
var match;
var $output = $('#output');
window.print = function(s) {
$output.val($output.val() + s + "\n");
}
var ast;
var match;
try {
// compilation unit
match = Perlito6$Grammar.exp_stmts(source, pos);
match = Perlito6$Grammar.exp_stmts(source, 0);
ast = match.scalar();
var tmp = {v_name:"GLOBAL", v_body: ast};
tmp = {v_name:"GLOBAL", v_body: ast};
tmp.__proto__ = CompUnit;
ast = tmp;
pos = match.v_to;
var js = ast.emit_javascript();
console.warn(js);
eval(js);
console.warn(ast.emit_javascript());
eval(ast.emit_javascript());
} catch(err) {
$output.val(perl(err));
// Show error in output tab
$output.val("Error:\n" + perl(err) + "\nCompilation aborted.\n");
}

// Show output tab
$('a[href="#output-tab"]').tab('show');

}

function runOnPerlito5(source) {
Expand Down Expand Up @@ -425,13 +429,8 @@ function runOnPerlito5(source) {
$output.val('');

try {
// Compile Perl 5 source code into JavaScript
var start = $.now();
var js_source = p5pkg["Perlito5"].compile_p5_to_js([source]);

// Run JavaScript inside your browser
start = $.now();;
eval(js_source);
// Compile and run!
eval(p5pkg["Perlito5"].compile_p5_to_js([source]));

}
catch(err) {
Expand Down

0 comments on commit c80952c

Please sign in to comment.