diff cbackend.js @ 97:59a94f3ad56f

Added short-circuit && and || operators
author Mike Pavone <pavone@retrodev.com>
date Thu, 26 Jul 2012 23:40:56 -0700
parents 84b65ee8b78b
children 1a4446f573d3
line wrap: on
line diff
--- a/cbackend.js	Thu Jul 26 18:54:42 2012 -0700
+++ b/cbackend.js	Thu Jul 26 23:40:56 2012 -0700
@@ -13,7 +13,7 @@
 }
 
 op.prototype.toC = function(isReceiver) {
-	var optoMeth = {'+': 'ADD_', '-': 'SUB_', '*': 'MUL_', '/': 'DIV_', '%': 'MOD_', '=': 'EQ_', '!=': 'NEQ_', '<': 'LT_', '>': 'GT_', '>=': 'GEQ_', '<=': 'LEQ_', '.': 'CAT_'};
+	var optoMeth = {'+': 'ADD_', '-': 'SUB_', '*': 'MUL_', '/': 'DIV_', '%': 'MOD_', '=': 'EQ_', '!=': 'NEQ_', '<': 'LT_', '>': 'GT_', '>=': 'GEQ_', '<=': 'LEQ_', '.': 'CAT_', '&&':'if', '||':'ifnot'};
 	var method = optoMeth[this.op];
 	return 'mcall(' + getMethodId(method) + '/* ' + method + ' */, 2, (object *)' + this.left.toC() + ', ' + this.right.toC() + ')\n';
 };