jweinst1
6/19/2016 - 7:36 AM

votestatement.js

//method that parses the vote function in hillaryscript

var assigntemplate = function(name, value){
	return "var " + name + " = " + value;
};

//function parses statements like "(xxxx, yyyy) and return var xxxx = yyyy"
function parseVote(code){
	var mode = "name";
	var name = "";
	var value = "";
	code = code.slice(1, -1);
	for(var i=0;i<code.length;i++){
		if(mode === "name"){
			if(code[i] === ","){
				mode = "sep";
			}
			else if(mode === " "){
				throw "Space Error";
			}
			else {
				name += code[i];
			}
		}
		else if(mode === "sep"){
			if(code[i] !== " "){
				value += code[i];
				mode = "val";
			}
		}
		else if(mode === "val"){
			value += code[i];
		}
	}
	return assigntemplate(name, value);
}

/*   parseVote("(foo, 66)")
=> 'var foo = 66'
   */