view testparse.js @ 369:6b5096b07dd5

Lame hack to allow LL dialect code to access the module object when its also the parent of the current object
author Michael Pavone <pavone@retrodev.com>
date Wed, 12 Aug 2015 19:13:04 -0700
parents 668f533e5284
children
line wrap: on
line source


onReady(function() {
	q('#parse').onclick = function() {
		var text = q('textarea').value;
		try {
			var parsed = parser.parse(text);
			q('pre').innerHTML = text + "\n\n" + JSON.stringify(parsed);
			console.log(parsed);
		} catch(e) {
			q('pre').innerHTML = e.message + '\nLine: ' + e.line + '\nCol: ' + e.column;
		}
	}
	q('#tojs').onclick = function() {
		var text = q('textarea').value;
		//try {
			var parsed = parser.parse(text);
			var js = parsed.toJSModule();
			q('pre').innerHTML = js;
			console.log(parsed);
		/*} catch(e) {
			q('pre').innerHTML = e.message + '\nLine: ' + e.line + '\nCol: ' + e.column;
		}*/
	}
	q('#toc').onclick = function() {
		var text = q('textarea').value;
		//try {
			var parsed = parser.parse(text);
			var c = parsed.toCModule();
			setText(q('pre'), c);
			console.log(parsed);
		/*} catch(e) {
			q('pre').innerHTML = e.message + '\nLine: ' + e.line + '\nCol: ' + e.column;
		}*/
	}
	q('#run').onclick = function() {
		var text = q('textarea').value;
		//try {
			var parsed = parser.parse(text);
			var js = parsed.toJSModule();
			mainModule = eval(js)();
			q('pre').innerHTML = mainModule.main();
		/*} catch(e) {
			q('pre').innerHTML = e.message + '\nLine: ' + e.line + '\nCol: ' + e.column;
		}*/
	}
});