Untitled diff
625 lines
(function (console) { "use strict";
(function (console) { "use strict";
var $estr = function() { return js_Boot.__string_rec(this,''); };
var $estr = function() { return js_Boot.__string_rec(this,''); };
function $extend(from, fields) {
function $extend(from, fields) {
	function Inherit() {} Inherit.prototype = from; var proto = new Inherit();
	function Inherit() {} Inherit.prototype = from; var proto = new Inherit();
	for (var name in fields) proto[name] = fields[name];
	for (var name in fields) proto[name] = fields[name];
	if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
	if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString;
	return proto;
	return proto;
}
}
var EReg = function(r,opt) {
var EReg = function(r,opt) {
	opt = opt.split("u").join("");
	opt = opt.split("u").join("");
	this.r = new RegExp(r,opt);
	this.r = new RegExp(r,opt);
};
};
EReg.__name__ = ["EReg"];
EReg.__name__ = ["EReg"];
EReg.prototype = {
EReg.prototype = {
	match: function(s) {
	match: function(s) {
		if(this.r.global) this.r.lastIndex = 0;
		if(this.r.global) this.r.lastIndex = 0;
		this.r.m = this.r.exec(s);
		this.r.m = this.r.exec(s);
		this.r.s = s;
		this.r.s = s;
		return this.r.m != null;
		return this.r.m != null;
	}
	}
	,matched: function(n) {
	,matched: function(n) {
		if(this.r.m != null && n >= 0 && n < this.r.m.length) return this.r.m[n]; else throw new js__$Boot_HaxeError("EReg::matched");
		var tmp;
		if(this.r.m != null && n >= 0 && n < this.r.m.length) tmp = this.r.m[n]; else throw new js__$Boot_HaxeError("EReg::matched");
		return tmp;
	}
	}
	,split: function(s) {
	,split: function(s) {
		var d = "#__delim__#";
		var d = "#__delim__#";
		return s.replace(this.r,d).split(d);
		return s.replace(this.r,d).split(d);
	}
	}
	,__class__: EReg
	,__class__: EReg
};
};
var HxOverrides = function() { };
var HxOverrides = function() { };
HxOverrides.__name__ = ["HxOverrides"];
HxOverrides.__name__ = ["HxOverrides"];
HxOverrides.cca = function(s,index) {
HxOverrides.cca = function(s,index) {
	var x = s.charCodeAt(index);
	var x = s.charCodeAt(index);
	if(x != x) return undefined;
	if(x != x) return undefined;
	return x;
	return x;
};
};
HxOverrides.indexOf = function(a,obj,i) {
HxOverrides.indexOf = function(a,obj,i) {
	var len = a.length;
	var len = a.length;
	if(i < 0) {
	if(i < 0) {
		i += len;
		i += len;
		if(i < 0) i = 0;
		if(i < 0) i = 0;
	}
	}
	while(i < len) {
	while(i < len) {
		if(a[i] === obj) return i;
		if(a[i] === obj) return i;
		i++;
		i++;
	}
	}
	return -1;
	return -1;
};
};
var Main = function() {
var Main = function() {
	this.inputChanged = true;
	this.inputChanged = true;
	var _g = this;
	var _g = this;
	this.jsonContainer = window.document.getElementById("json-container");
	this.jsonContainer = window.document.getElementById("json-container");
	this.messagesElement = window.document.getElementById("messages");
	this.messagesElement = window.document.getElementById("messages");
	this.warningsElement = window.document.getElementById("warnings");
	this.warningsElement = window.document.getElementById("warnings");
	this.successElement = window.document.getElementById("success");
	this.successElement = window.document.getElementById("success");
	var savedInput = this.loadInput();
	var savedInput = this.loadInput();
	if(savedInput != null) Editor.setValue(savedInput,1); else Editor.setValue("uniform float time;\n\nvoid main( void ){\n\tgl_FragColor = vec4(sin(time), 0.4, 0.8, 1.0);\n}",1);
	if(savedInput != null) Editor.setValue(savedInput,1); else Editor.setValue("uniform float time;\n\nvoid main( void ){\n\tgl_FragColor = vec4(sin(time), 0.4, 0.8, 1.0);\n}",1);
	Editor.on("change",function(e) {
	Editor.on("change",function(e) {
		_g.inputChanged = true;
		_g.inputChanged = true;
	});
	});
	var reparseTimer = new haxe_Timer(5);
	var reparseTimer = new haxe_Timer(5);
	reparseTimer.run = function() {
	reparseTimer.run = function() {
		if(_g.inputChanged) _g.parseAndEvaluate();
		if(_g.inputChanged) _g.parseAndEvaluate();
	};
	};
	this.parseAndEvaluate();
	this.parseAndEvaluate();
};
};
Main.__name__ = ["Main"];
Main.__name__ = ["Main"];
Main.main = function() {
Main.main = function() {
	new Main();
	new Main();
};
};
Main.prototype = {
Main.prototype = {
	parseAndEvaluate: function() {
	parseAndEvaluate: function() {
		var input = Editor.getValue();
		var input = Editor.getValue();
		try {
		try {
			var tokens = glslparser_Tokenizer.tokenize(input);
			var tokens = glslparser_Tokenizer.tokenize(input);
			var ast = glslparser_Parser.parseTokens(tokens);
			var ast = glslparser_Parser.parseTokens(tokens);
			glslparser_Eval.evaluateConstantExpressions(ast);
			glslparser_Eval.evaluateConstantExpressions(ast);
			this.displayAST(ast);
			this.displayAST(ast);
			this.saveInput(input);
			this.saveInput(input);
			this.showErrors(glslparser_Parser.warnings.concat(glslparser_Tokenizer.warnings));
			this.showErrors(glslparser_Parser.warnings.concat(glslparser_Tokenizer.warnings));
		} catch( e ) {
		} catch( e ) {
			if (e instanceof js__$Boot_HaxeError) e = e.val;
			if (e instanceof js__$Boot_HaxeError) e = e.val;
			this.showErrors([e]);
			this.showErrors([e]);
			this.jsonContainer.innerHTML = "";
			this.jsonContainer.innerHTML = "";
		}
		}
	}
	}
	,displayAST: function(ast) {
	,displayAST: function(ast) {
		this.jsonContainer.innerHTML = "";
		this.jsonContainer.innerHTML = "";
		this.jsonContainer.appendChild((renderjson.set_show_to_level(3).set_sort_objects(true).set_icons("","-"))(ast));
		this.jsonContainer.appendChild((renderjson.set_show_to_level(3).set_sort_objects(true).set_icons("","-"))(ast));
	}
	}
	,showErrors: function(warnings) {
	,showErrors: function(warnings) {
		if(warnings.length > 0) {
		if(warnings.length > 0) {
			var ul = window.document.createElement("ul");
			var ul = window.document.createElement("ul");
			var _g = 0;
			var _g = 0;
			while(_g < warnings.length) {
			while(_g < warnings.length) {
				var w = warnings[_g];
				var w = warnings[_g];
				++_g;
				++_g;
				var li = window.document.createElement("li");
				var li = window.document.createElement("li");
				li.innerHTML = w;
				li.innerHTML = w;
				ul.appendChild(li);
				ul.appendChild(li);
			}
			}
			this.warningsElement.innerHTML = "";
			this.warningsElement.innerHTML = "";
			this.warningsElement.appendChild(ul);
			this.warningsElement.appendChild(ul);
			this.warningsElement.style.width = "100%";
			this.warningsElement.style.width = "100%";
			this.warningsElement.style.display = "";
			this.warningsElement.style.display = "";
			this.successElement.innerHTML = "";
			this.successElement.innerHTML = "";
			this.successElement.style.display = "none";
			this.successElement.style.display = "none";
			this.messagesElement.className = "error";
			this.messagesElement.className = "error";
		} else {
		} else {
			this.successElement.innerHTML = "GLSL parsed without error";
			this.successElement.innerHTML = "GLSL parsed without error";
			this.successElement.style.width = "100%";
			this.successElement.style.width = "100%";
			this.successElement.style.display = "";
			this.successElement.style.display = "";
			this.warningsElement.innerHTML = "";
			this.warningsElement.innerHTML = "";
			this.warningsElement.style.display = "none";
			this.warningsElement.style.display = "none";
			this.messagesElement.className = "success";
			this.messagesElement.className = "success";
		}
		}
		window.fitMessageContent();
		window.fitMessageContent();
	}
	}
	,saveInput: function(input) {
	,saveInput: function(input) {
		js_Browser.getLocalStorage().setItem("glsl-input",input);
		js_Browser.getLocalStorage().setItem("glsl-input",input);
	}
	}
	,loadInput: function() {
	,loadInput: function() {
		return js_Browser.getLocalStorage().getItem("glsl-input");
		return js_Browser.getLocalStorage().getItem("glsl-input");
	}
	}
	,__class__: Main
	,__class__: Main
};
};
Math.__name__ = ["Math"];
Math.__name__ = ["Math"];
var Reflect = function() { };
var Reflect = function() { };
Reflect.__name__ = ["Reflect"];
Reflect.__name__ = ["Reflect"];
Reflect.compare = function(a,b) {
Reflect.compare = function(a,b) {
	if(a == b) return 0; else if(a > b) return 1; else return -1;
	return a == b?0:a > b?1:-1;
};
};
Reflect.isEnumValue = function(v) {
Reflect.isEnumValue = function(v) {
	return v != null && v.__enum__ != null;
	return v != null && v.__enum__ != null;
};
};
var Std = function() { };
var Std = function() { };
Std.__name__ = ["Std"];
Std.__name__ = ["Std"];
Std["is"] = function(v,t) {
	return js_Boot.__instanceof(v,t);
};
Std.string = function(s) {
Std.string = function(s) {
	return js_Boot.__string_rec(s,"");
	return js_Boot.__string_rec(s,"");
};
};
Std.parseInt = function(x) {
Std.parseInt = function(x) {
	var v = parseInt(x,10);
	var v = parseInt(x,10);
	if(v == 0 && (HxOverrides.cca(x,1) == 120 || HxOverrides.cca(x,1) == 88)) v = parseInt(x);
	if(v == 0 && (HxOverrides.cca(x,1) == 120 || HxOverrides.cca(x,1) == 88)) v = parseInt(x);
	if(isNaN(v)) return null;
	if(isNaN(v)) return null;
	return v;
	return v;
};
};
Std.parseFloat = function(x) {
	return parseFloat(x);
};
var Type = function() { };
var Type = function() { };
Type.__name__ = ["Type"];
Type.__name__ = ["Type"];
Type.getClass = function(o) {
	if(o == null) return null; else return js_Boot.getClass(o);
};
Type.getClassName = function(c) {
Type.getClassName = function(c) {
	var a = c.__name__;
	var a = c.__name__;
	if(a == null) return null;
	if(a == null) return null;
	return a.join(".");
	return a.join(".");
};
};
Type.enumEq = function(a,b) {
Type.enumEq = function(a,b) {
	if(a == b) return true;
	if(a == b) return true;
	try {
	try {
		if(a[0] != b[0]) return false;
		if(a[0] != b[0]) return false;
		var _g1 = 2;
		var _g1 = 2;
		var _g = a.length;
		var _g = a.length;
		while(_g1 < _g) {
		while(_g1 < _g) {
			var i = _g1++;
			var i = _g1++;
			if(!Type.enumEq(a[i],b[i])) return false;
			if(!Type.enumEq(a[i],b[i])) return false;
		}
		}
		var e = a.__enum__;
		var e = a.__enum__;
		if(e != b.__enum__ || e == null) return false;
		if(e != b.__enum__ || e == null) return false;
	} catch( e1 ) {
	} catch( e1 ) {
		if (e1 instanceof js__$Boot_HaxeError) e1 = e1.val;
		if (e1 instanceof js__$Boot_HaxeError) e1 = e1.val;
		return false;
		return false;
	}
	}
	return true;
	return true;
};
};
var glslparser_Node = function() {
var glslparser_Node = function() {
	this.nodeTypeName = Type.getClassName(js_Boot.getClass(this)).split(".").pop();
	this.nodeTypeName = Type.getClassName(js_Boot.getClass(this)).split(".").pop();
};
};
glslparser_Node.__name__ = ["glslparser","Node"];
glslparser_Node.__name__ = ["glslparser","Node"];
glslparser_Node.prototype = {
glslparser_Node.prototype = {
	__class__: glslparser_Node
	__class__: glslparser_Node
};
};
var glslparser_TypeSpecifier = function(dataType,qualifier,precision) {
var glslparser_TypeSpecifier = function(dataType,qualifier,precision) {
	this.dataType = dataType;
	this.dataType = dataType;
	this.qualifier = qualifier;
	this.qualifier = qualifier;
	this.precision = precision;
	this.precision = precision;
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_TypeSpecifier.__name__ = ["glslparser","TypeSpecifier"];
glslparser_TypeSpecifier.__name__ = ["glslparser","TypeSpecifier"];
glslparser_TypeSpecifier.__super__ = glslparser_Node;
glslparser_TypeSpecifier.__super__ = glslparser_Node;
glslparser_TypeSpecifier.prototype = $extend(glslparser_Node.prototype,{
glslparser_TypeSpecifier.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_TypeSpecifier
	__class__: glslparser_TypeSpecifier
});
});
var glslparser_StructSpecifier = function(name,structDeclarations) {
var glslparser_StructSpecifier = function(name,structDeclarations) {
	this.name = name;
	this.name = name;
	this.structDeclarations = structDeclarations;
	this.structDeclarations = structDeclarations;
	glslparser_TypeSpecifier.call(this,glslparser_DataType.STRUCT);
	glslparser_TypeSpecifier.call(this,glslparser_DataType.STRUCT);
};
};
glslparser_StructSpecifier.__name__ = ["glslparser","StructSpecifier"];
glslparser_StructSpecifier.__name__ = ["glslparser","StructSpecifier"];
glslparser_StructSpecifier.__super__ = glslparser_TypeSpecifier;
glslparser_StructSpecifier.__super__ = glslparser_TypeSpecifier;
glslparser_StructSpecifier.prototype = $extend(glslparser_TypeSpecifier.prototype,{
glslparser_StructSpecifier.prototype = $extend(glslparser_TypeSpecifier.prototype,{
	__class__: glslparser_StructSpecifier
	__class__: glslparser_StructSpecifier
});
});
var glslparser_StructDeclaration = function(typeSpecifier,declarators) {
var glslparser_StructDeclaration = function(typeSpecifier,declarators) {
	this.typeSpecifier = typeSpecifier;
	this.typeSpecifier = typeSpecifier;
	this.declarators = declarators;
	this.declarators = declarators;
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_StructDeclaration.__name__ = ["glslparser","StructDeclaration"];
glslparser_StructDeclaration.__name__ = ["glslparser","StructDeclaration"];
glslparser_StructDeclaration.__super__ = glslparser_Node;
glslparser_StructDeclaration.__super__ = glslparser_Node;
glslparser_StructDeclaration.prototype = $extend(glslparser_Node.prototype,{
glslparser_StructDeclaration.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_StructDeclaration
	__class__: glslparser_StructDeclaration
});
});
var glslparser_StructDeclarator = function(name) {
var glslparser_StructDeclarator = function(name) {
	this.name = name;
	this.name = name;
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_StructDeclarator.__name__ = ["glslparser","StructDeclarator"];
glslparser_StructDeclarator.__name__ = ["glslparser","StructDeclarator"];
glslparser_StructDeclarator.__super__ = glslparser_Node;
glslparser_StructDeclarator.__super__ = glslparser_Node;
glslparser_StructDeclarator.prototype = $extend(glslparser_Node.prototype,{
glslparser_StructDeclarator.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_StructDeclarator
	__class__: glslparser_StructDeclarator
});
});
var glslparser_StructArrayDeclarator = function(name,arraySizeExpression) {
var glslparser_StructArrayDeclarator = function(name,arraySizeExpression) {
	this.arraySizeExpression = arraySizeExpression;
	this.arraySizeExpression = arraySizeExpression;
	glslparser_StructDeclarator.call(this,name);
	glslparser_StructDeclarator.call(this,name);
};
};
glslparser_StructArrayDeclarator.__name__ = ["glslparser","StructArrayDeclarator"];
glslparser_StructArrayDeclarator.__name__ = ["glslparser","StructArrayDeclarator"];
glslparser_StructArrayDeclarator.__super__ = glslparser_StructDeclarator;
glslparser_StructArrayDeclarator.__super__ = glslparser_StructDeclarator;
glslparser_StructArrayDeclarator.prototype = $extend(glslparser_StructDeclarator.prototype,{
glslparser_StructArrayDeclarator.prototype = $extend(glslparser_StructDeclarator.prototype,{
	__class__: glslparser_StructArrayDeclarator
	__class__: glslparser_StructArrayDeclarator
});
});
var glslparser_Expression = function() {
var glslparser_Expression = function() {
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_Expression.__name__ = ["glslparser","Expression"];
glslparser_Expression.__name__ = ["glslparser","Expression"];
glslparser_Expression.__super__ = glslparser_Node;
glslparser_Expression.__super__ = glslparser_Node;
glslparser_Expression.prototype = $extend(glslparser_Node.prototype,{
glslparser_Expression.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_Expression
	__class__: glslparser_Expression
});
});
var glslparser_TypedExpression = function() { };
var glslparser_TypedExpression = function() { };
glslparser_TypedExpression.__name__ = ["glslparser","TypedExpression"];
glslparser_TypedExpression.__name__ = ["glslparser","TypedExpression"];
glslparser_TypedExpression.prototype = {
glslparser_TypedExpression.prototype = {
	__class__: glslparser_TypedExpression
	__class__: glslparser_TypedExpression
};
};
var glslparser_Identifier = function(name) {
var glslparser_Identifier = function(name) {
	this.name = name;
	this.name = name;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_Identifier.__name__ = ["glslparser","Identifier"];
glslparser_Identifier.__name__ = ["glslparser","Identifier"];
glslparser_Identifier.__super__ = glslparser_Expression;
glslparser_Identifier.__super__ = glslparser_Expression;
glslparser_Identifier.prototype = $extend(glslparser_Expression.prototype,{
glslparser_Identifier.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_Identifier
	__class__: glslparser_Identifier
});
});
var glslparser_Literal = function(value,dataType) {
var glslparser_Literal = function(value,dataType) {
	this.dataType = dataType;
	this.dataType = dataType;
	this.set_value(value);
	this.set_value(value);
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_Literal.__name__ = ["glslparser","Literal"];
glslparser_Literal.__name__ = ["glslparser","Literal"];
glslparser_Literal.__interfaces__ = [glslparser_TypedExpression];
glslparser_Literal.__interfaces__ = [glslparser_TypedExpression];
glslparser_Literal.__super__ = glslparser_Expression;
glslparser_Literal.__super__ = glslparser_Expression;
glslparser_Literal.prototype = $extend(glslparser_Expression.prototype,{
glslparser_Literal.prototype = $extend(glslparser_Expression.prototype,{
	set_value: function(v) {
	set_value: function(v) {
		var _g = this.dataType;
		var _g = this.dataType;
		switch(_g[1]) {
		switch(_g[1]) {
		case 2:
		case 2:
			this.raw = glslparser_Utils.glslIntString(v);
			this.raw = glslparser_Utils.glslIntString(v);
			break;
			break;
		case 1:
		case 1:
			this.raw = glslparser_Utils.glslFloatString(v);
			this.raw = glslparser_Utils.glslFloatString(v);
			break;
			break;
		case 3:
		case 3:
			this.raw = glslparser_Utils.glslBoolString(v);
			this.raw = glslparser_Utils.glslBoolString(v);
			break;
			break;
		default:
		default:
		}
		}
		return this.value = v;
		return this.value = v;
	}
	}
	,__class__: glslparser_Literal
	,__class__: glslparser_Literal
});
});
var glslparser_BinaryExpression = function(op,left,right) {
var glslparser_BinaryExpression = function(op,left,right) {
	this.op = op;
	this.op = op;
	this.left = left;
	this.left = left;
	this.right = right;
	this.right = right;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_BinaryExpression.__name__ = ["glslparser","BinaryExpression"];
glslparser_BinaryExpression.__name__ = ["glslparser","BinaryExpression"];
glslparser_BinaryExpression.__super__ = glslparser_Expression;
glslparser_BinaryExpression.__super__ = glslparser_Expression;
glslparser_BinaryExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_BinaryExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_BinaryExpression
	__class__: glslparser_BinaryExpression
});
});
var glslparser_UnaryExpression = function(op,arg,isPrefix) {
var glslparser_UnaryExpression = function(op,arg,isPrefix) {
	this.op = op;
	this.op = op;
	this.arg = arg;
	this.arg = arg;
	this.isPrefix = isPrefix;
	this.isPrefix = isPrefix;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_UnaryExpression.__name__ = ["glslparser","UnaryExpression"];
glslparser_UnaryExpression.__name__ = ["glslparser","UnaryExpression"];
glslparser_UnaryExpression.__super__ = glslparser_Expression;
glslparser_UnaryExpression.__super__ = glslparser_Expression;
glslparser_UnaryExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_UnaryExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_UnaryExpression
	__class__: glslparser_UnaryExpression
});
});
var glslparser_SequenceExpression = function(expressions) {
var glslparser_SequenceExpression = function(expressions) {
	this.expressions = expressions;
	this.expressions = expressions;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_SequenceExpression.__name__ = ["glslparser","SequenceExpression"];
glslparser_SequenceExpression.__name__ = ["glslparser","SequenceExpression"];
glslparser_SequenceExpression.__super__ = glslparser_Expression;
glslparser_SequenceExpression.__super__ = glslparser_Expression;
glslparser_SequenceExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_SequenceExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_SequenceExpression
	__class__: glslparser_SequenceExpression
});
});
var glslparser_ConditionalExpression = function(test,consequent,alternate) {
var glslparser_ConditionalExpression = function(test,consequent,alternate) {
	this.test = test;
	this.test = test;
	this.consequent = consequent;
	this.consequent = consequent;
	this.alternate = alternate;
	this.alternate = alternate;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_ConditionalExpression.__name__ = ["glslparser","ConditionalExpression"];
glslparser_ConditionalExpression.__name__ = ["glslparser","ConditionalExpression"];
glslparser_ConditionalExpression.__super__ = glslparser_Expression;
glslparser_ConditionalExpression.__super__ = glslparser_Expression;
glslparser_ConditionalExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_ConditionalExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_ConditionalExpression
	__class__: glslparser_ConditionalExpression
});
});
var glslparser_AssignmentExpression = function(op,left,right) {
var glslparser_AssignmentExpression = function(op,left,right) {
	this.op = op;
	this.op = op;
	this.left = left;
	this.left = left;
	this.right = right;
	this.right = right;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_AssignmentExpression.__name__ = ["glslparser","AssignmentExpression"];
glslparser_AssignmentExpression.__name__ = ["glslparser","AssignmentExpression"];
glslparser_AssignmentExpression.__super__ = glslparser_Expression;
glslparser_AssignmentExpression.__super__ = glslparser_Expression;
glslparser_AssignmentExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_AssignmentExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_AssignmentExpression
	__class__: glslparser_AssignmentExpression
});
});
var glslparser_FieldSelectionExpression = function(left,field) {
var glslparser_FieldSelectionExpression = function(left,field) {
	this.left = left;
	this.left = left;
	this.field = field;
	this.field = field;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_FieldSelectionExpression.__name__ = ["glslparser","FieldSelectionExpression"];
glslparser_FieldSelectionExpression.__name__ = ["glslparser","FieldSelectionExpression"];
glslparser_FieldSelectionExpression.__super__ = glslparser_Expression;
glslparser_FieldSelectionExpression.__super__ = glslparser_Expression;
glslparser_FieldSelectionExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_FieldSelectionExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_FieldSelectionExpression
	__class__: glslparser_FieldSelectionExpression
});
});
var glslparser_ArrayElementSelectionExpression = function(left,arrayIndexExpression) {
var glslparser_ArrayElementSelectionExpression = function(left,arrayIndexExpression) {
	this.left = left;
	this.left = left;
	this.arrayIndexExpression = arrayIndexExpression;
	this.arrayIndexExpression = arrayIndexExpression;
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_ArrayElementSelectionExpression.__name__ = ["glslparser","ArrayElementSelectionExpression"];
glslparser_ArrayElementSelectionExpression.__name__ = ["glslparser","ArrayElementSelectionExpression"];
glslparser_ArrayElementSelectionExpression.__super__ = glslparser_Expression;
glslparser_ArrayElementSelectionExpression.__super__ = glslparser_Expression;
glslparser_ArrayElementSelectionExpression.prototype = $extend(glslparser_Expression.prototype,{
glslparser_ArrayElementSelectionExpression.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_ArrayElementSelectionExpression
	__class__: glslparser_ArrayElementSelectionExpression
});
});
var glslparser_FunctionCall = function(name,parameters) {
var glslparser_FunctionCall = function(name,parameters) {
	this.name = name;
	this.name = name;
	if(parameters != null) this.parameters = parameters; else this.parameters = [];
	this.parameters = parameters != null?parameters:[];
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_FunctionCall.__name__ = ["glslparser","FunctionCall"];
glslparser_FunctionCall.__name__ = ["glslparser","FunctionCall"];
glslparser_FunctionCall.__super__ = glslparser_Expression;
glslparser_FunctionCall.__super__ = glslparser_Expression;
glslparser_FunctionCall.prototype = $extend(glslparser_Expression.prototype,{
glslparser_FunctionCall.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_FunctionCall
	__class__: glslparser_FunctionCall
});
});
var glslparser_Constructor = function(dataType,parameters) {
var glslparser_Constructor = function(dataType,parameters) {
	this.dataType = dataType;
	this.dataType = dataType;
	var name;
	var tmp;
	{
	var _g = this.dataType;
		var _g = this.dataType;
	switch(_g[1]) {
		switch(_g[1]) {
	case 19:
		case 19:
		tmp = _g[2];
			var n = _g[2];
		break;
			name = n;
	default:
			break;
		tmp = this.dataType[0].toLowerCase();
		default:
			name = this.dataType[0].toLowerCase();
		}
	}
	}
	var name = tmp;
	glslparser_FunctionCall.call(this,name,parameters);
	glslparser_FunctionCall.call(this,name,parameters);
};
};
glslparser_Constructor.__name__ = ["glslparser","Constructor"];
glslparser_Constructor.__name__ = ["glslparser","Constructor"];
glslparser_Constructor.__interfaces__ = [glslparser_TypedExpression];
glslparser_Constructor.__interfaces__ = [glslparser_TypedExpression];
glslparser_Constructor.__super__ = glslparser_FunctionCall;
glslparser_Constructor.__super__ = glslparser_FunctionCall;
glslparser_Constructor.prototype = $extend(glslparser_FunctionCall.prototype,{
glslparser_Constructor.prototype = $extend(glslparser_FunctionCall.prototype,{
	__class__: glslparser_Constructor
	__class__: glslparser_Constructor
});
});
var glslparser_Declaration = function() {
var glslparser_Declaration = function() {
	glslparser_Expression.call(this);
	glslparser_Expression.call(this);
};
};
glslparser_Declaration.__name__ = ["glslparser","Declaration"];
glslparser_Declaration.__name__ = ["glslparser","Declaration"];
glslparser_Declaration.__super__ = glslparser_Expression;
glslparser_Declaration.__super__ = glslparser_Expression;
glslparser_Declaration.prototype = $extend(glslparser_Expression.prototype,{
glslparser_Declaration.prototype = $extend(glslparser_Expression.prototype,{
	__class__: glslparser_Declaration
	__class__: glslparser_Declaration
});
});
var glslparser_PrecisionDeclaration = function(precision,typeSpecifier) {
var glslparser_PrecisionDeclaration = function(precision,typeSpecifier) {
	this.precision = precision;
	this.precision = precision;
	this.typeSpecifier = typeSpecifier;
	this.typeSpecifier = typeSpecifier;
	glslparser_Declaration.call(this);
	glslparser_Declaration.call(this);
};
};
glslparser_PrecisionDeclaration.__name__ = ["glslparser","PrecisionDeclaration"];
glslparser_PrecisionDeclaration.__name__ = ["glslparser","PrecisionDeclaration"];
glslparser_PrecisionDeclaration.__super__ = glslparser_Declaration;
glslparser_PrecisionDeclaration.__super__ = glslparser_Declaration;
glslparser_PrecisionDeclaration.prototype = $extend(glslparser_Declaration.prototype,{
glslparser_PrecisionDeclaration.prototype = $extend(glslparser_Declaration.prototype,{
	__class__: glslparser_PrecisionDeclaration
	__class__: glslparser_PrecisionDeclaration
});
});
var glslparser_VariableDeclaration = function(typeSpecifier,declarators) {
var glslparser_VariableDeclaration = function(typeSpecifier,declarators) {
	this.typeSpecifier = typeSpecifier;
	this.typeSpecifier = typeSpecifier;
	this.declarators = declarators;
	this.declarators = declarators;
	glslparser_Declaration.call(this);
	glslparser_Declaration.call(this);
};
};
glslparser_VariableDeclaration.__name__ = ["glslparser","VariableDeclaration"];
glslparser_VariableDeclaration.__name__ = ["glslparser","VariableDeclaration"];
glslparser_VariableDeclaration.__super__ = glslparser_Declaration;
glslparser_VariableDeclaration.__super__ = glslparser_Declaration;
glslparser_VariableDeclaration.prototype = $extend(glslparser_Declaration.prototype,{
glslparser_VariableDeclaration.prototype = $extend(glslparser_Declaration.prototype,{
	__class__: glslparser_VariableDeclaration
	__class__: glslparser_VariableDeclaration
});
});
var glslparser_Declarator = function(name,initializer,invariant) {
var glslparser_Declarator = function(name,initializer,invariant) {
	if(invariant == null) invariant = false;
	if(invariant == null) invariant = false;
	this.name = name;
	this.name = name;
	this.initializer = initializer;
	this.initializer = initializer;
	this.invariant = invariant;
	this.invariant = invariant;
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_Declarator.__name__ = ["glslparser","Declarator"];
glslparser_Declarator.__name__ = ["glslparser","Declarator"];
glslparser_Declarator.__super__ = glslparser_Node;
glslparser_Declarator.__super__ = glslparser_Node;
glslparser_Declarator.prototype = $extend(glslparser_Node.prototype,{
glslparser_Declarator.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_Declarator
	__class__: glslparser_Declarator
});
});
var glslparser_ArrayDeclarator = function(name,arraySizeExpression) {
var glslparser_ArrayDeclarator = function(name,arraySizeExpression) {
	this.arraySizeExpression = arraySizeExpression;
	this.arraySizeExpression = arraySizeExpression;
	glslparser_Declarator.call(this,name,null,false);
	glslparser_Declarator.call(this,name,null,false);
};
};
glslparser_ArrayDeclarator.__name__ = ["glslparser","ArrayDeclarator"];
glslparser_ArrayDeclarator.__name__ = ["glslparser","ArrayDeclarator"];
glslparser_ArrayDeclarator.__super__ = glslparser_Declarator;
glslparser_ArrayDeclarator.__super__ = glslparser_Declarator;
glslparser_ArrayDeclarator.prototype = $extend(glslparser_Declarator.prototype,{
glslparser_ArrayDeclarator.prototype = $extend(glslparser_Declarator.prototype,{
	__class__: glslparser_ArrayDeclarator
	__class__: glslparser_ArrayDeclarator
});
});
var glslparser_ParameterDeclaration = function(name,typeSpecifier,parameterQualifier,typeQualifier,arraySizeExpression) {
var glslparser_ParameterDeclaration = function(name,typeSpecifier,parameterQualifier,typeQualifier,arraySizeExpression) {
	this.name = name;
	this.name = name;
	this.typeSpecifier = typeSpecifier;
	this.typeSpecifier = typeSpecifier;
	this.parameterQualifier = parameterQualifier;
	this.parameterQualifier = parameterQualifier;
	this.typeQualifier = typeQualifier;
	this.typeQualifier = typeQualifier;
	this.arraySizeExpression = arraySizeExpression;
	this.arraySizeExpression = arraySizeExpression;
	glslparser_Declaration.call(this);
	glslparser_Declaration.call(this);
};
};
glslparser_ParameterDeclaration.__name__ = ["glslparser","ParameterDeclaration"];
glslparser_ParameterDeclaration.__name__ = ["glslparser","ParameterDeclaration"];
glslparser_ParameterDeclaration.__super__ = glslparser_Declaration;
glslparser_ParameterDeclaration.__super__ = glslparser_Declaration;
glslparser_ParameterDeclaration.prototype = $extend(glslparser_Declaration.prototype,{
glslparser_ParameterDeclaration.prototype = $extend(glslparser_Declaration.prototype,{
	__class__: glslparser_ParameterDeclaration
	__class__: glslparser_ParameterDeclaration
});
});
var glslparser_FunctionDefinition = function(header,body) {
var glslparser_FunctionDefinition = function(header,body) {
	this.header = header;
	this.header = header;
	this.body = body;
	this.body = body;
	glslparser_Declaration.call(this);
	glslparser_Declaration.call(this);
};
};
glslparser_FunctionDefinition.__name__ = ["glslparser","FunctionDefinition"];
glslparser_FunctionDefinition.__name__ = ["glslparser","FunctionDefinition"];
glslparser_FunctionDefinition.__super__ = glslparser_Declaration;
glslparser_FunctionDefinition.__super__ = glslparser_Declaration;
glslparser_FunctionDefinition.prototype = $extend(glslparser_Declaration.prototype,{
glslparser_FunctionDefinition.prototype = $extend(glslparser_Declaration.prototype,{
	__class__: glslparser_FunctionDefinition
	__class__: glslparser_FunctionDefinition
});
});
var glslparser_FunctionPrototype = function(header) {
var glslparser_FunctionPrototype = function(header) {
	this.header = header;
	this.header = header;
	glslparser_Declaration.call(this);
	glslparser_Declaration.call(this);
};
};
glslparser_FunctionPrototype.__name__ = ["glslparser","FunctionPrototype"];
glslparser_FunctionPrototype.__name__ = ["glslparser","FunctionPrototype"];
glslparser_FunctionPrototype.__super__ = glslparser_Declaration;
glslparser_FunctionPrototype.__super__ = glslparser_Declaration;
glslparser_FunctionPrototype.prototype = $extend(glslparser_Declaration.prototype,{
glslparser_FunctionPrototype.prototype = $extend(glslparser_Declaration.prototype,{
	__class__: glslparser_FunctionPrototype
	__class__: glslparser_FunctionPrototype
});
});
var glslparser_FunctionHeader = function(name,returnType,parameters) {
var glslparser_FunctionHeader = function(name,returnType,parameters) {
	this.name = name;
	this.name = name;
	this.returnType = returnType;
	this.returnType = returnType;
	if(parameters != null) this.parameters = parameters; else this.parameters = [];
	this.parameters = parameters != null?parameters:[];
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_FunctionHeader.__name__ = ["glslparser","FunctionHeader"];
glslparser_FunctionHeader.__name__ = ["glslparser","FunctionHeader"];
glslparser_FunctionHeader.__super__ = glslparser_Node;
glslparser_FunctionHeader.__super__ = glslparser_Node;
glslparser_FunctionHeader.prototype = $extend(glslparser_Node.prototype,{
glslparser_FunctionHeader.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_FunctionHeader
	__class__: glslparser_FunctionHeader
});
});
var glslparser_Statement = function(newScope) {
var glslparser_Statement = function(newScope) {
	this.newScope = newScope;
	this.newScope = newScope;
	glslparser_Node.call(this);
	glslparser_Node.call(this);
};
};
glslparser_Statement.__name__ = ["glslparser","Statement"];
glslparser_Statement.__name__ = ["glslparser","Statement"];
glslparser_Statement.__super__ = glslparser_Node;
glslparser_Statement.__super__ = glslparser_Node;
glslparser_Statement.prototype = $extend(glslparser_Node.prototype,{
glslparser_Statement.prototype = $extend(glslparser_Node.prototype,{
	__class__: glslparser_Statement
	__class__: glslparser_Statement
});
});
var glslparser_CompoundStatement = function(statementList,newScope) {
var glslparser_CompoundStatement = function(statementList,newScope) {
	this.statementList = statementList;
	this.statementList = statementList;
	glslparser_Statement.call(this,newScope);
	glslparser_Statement.call(this,newScope);
};
};
glslparser_CompoundStatement.__name__ = ["glslparser","CompoundStatement"];
glslparser_CompoundStatement.__name__ = ["glslparser","CompoundStatement"];
glslparser_CompoundStatement.__super__ = glslparser_Statement;
glslparser_CompoundStatement.__super__ = glslparser_Statement;
glslparser_CompoundStatement.prototype = $extend(glslparser_Statement.prototype,{
glslparser_CompoundStatement.prototype = $extend(glslparser_Statement.prototype,{
	__class__: glslparser_CompoundStatement
	__class__: glslparser_CompoundStatement
});
});
var glslparser_DeclarationStatement = function(declaration) {
var glslparser_DeclarationStatement = function(declaration) {
	this.declaration = declaration;
	this.declaration = declaration;
	glslparser_Statement.call(this,false);
	glslparser_Statement.call(this,false);
};
};
glslparser_DeclarationStatement.__name__ = ["glslparser","DeclarationStatement"];
glslparser_DeclarationStatement.__name__ = ["glslparser","DeclarationStatement"];
glslparser_DeclarationStatement.__super__ = glslparser_Statement;
glslparser_DeclarationStatement.__super__ = glslparser_Statement;
glslparser_DeclarationStatement.prototype = $extend(glslparser_Statement.prototype,{
glslparser_DeclarationStatement.prototype = $extend(glslparser_Statement.prototype,{
	__class__: glslparser_DeclarationStatement
	__class__: glslparser_DeclarationStatement
});
});
var glslparser_ExpressionStatement = function(expression) {
var glslparser_ExpressionStatement = function(expression) {
	this.expression = expression;
	this.expression = expression;
	glslparser_Statement.call(this,false);
	glslparser_Statement.call(this,false);
};
};
glslparser_ExpressionStatement.__name__ = ["glslparser","ExpressionStatement"];
glslparser_ExpressionStatement.__name__ = ["glslparser","ExpressionStatement"];
glslparser_ExpressionStatement.__super__ = glslparser_Statement;
glslparser_ExpressionStatement.__super__ = glslparser_Statement;
glslparser_ExpressionStatement.prototype = $extend(glslparser_Statement.prototype,{
glslparser_ExpressionStatement.prototype = $extend(glslparser_Statement.prototype,{
	__class__: glslparser_ExpressionStatement
	__class__: glslparser_ExpressionStatement
});
});
var glslparser_IterationStatement = function(body) {
var glslparser_IterationStatement = function(body) {
	this.body = body;
	this.body = body;
	glslparser_Statement.call(this,false);
	glslparser_Statement.call(this,false);
};
};
glslparser_IterationStatement.__name__ = ["glslparser","IterationStatement"];
glslparser_IterationStatement.__name__ = ["glslparser","IterationStatement"];
glslparser_IterationStatement.__super__ = glslparser_Statement;
glslparser_IterationStatement.__super__ = glslparser_Statement;
glslparser_IterationStatement.prototype = $extend(glslparser_Statement.prototype,{
glslparser_IterationStatement.prototype = $extend(glslparser_Statement.prototype,{
	__class__: glslparser_IterationStatement
	__class__: glslparser_IterationStatement
});
});
var glslparser_WhileStatement = function(test,body) {
var glslparser_WhileStatement = function(test,body) {
	this.test = test;
	this.test = test;
	glslparser_IterationStatement.call(this,body);
	glslparser_IterationStatement.call(this,body);
};
};
glslparser_WhileStatement.__name__ = ["glslparser","WhileStatement"];
glslparser_WhileStatement.__name__ = ["glslparser","WhileStatement"];
glslparser_WhileStatement.__super__ = glslparser_IterationStatement;
glslparser_WhileStatement.__super__ = glslparser_IterationStatement;
glslparser_WhileStatement.prototype = $extend(glslparser_IterationStatement.prototype,{
glslparser_WhileStatement.prototype = $extend(glslparser_IterationStatement.prototype,{
	__class__: glslparser_WhileStatement
	__class__: glslparser_WhileStatement
});
});
var glslparser_DoWhileStatement = function(test,body) {
var glslparser_DoWhileStatement = function(test,body) {
	this.test = test;
	this.test = test;
	glslparser_IterationStatement.call(this,body);
	glslparser_IterationStatement.call(this,body);
};
};
glslparser_DoWhileStatement.__name__ = ["glslparser","DoWhileStatement"];
glslparser_DoWhileStatement.__name__ = ["glslparser","DoWhileStatement"];
glslparser_DoWhileStatement.__super__ = glslparser_IterationStatement;
glslparser_DoWhileStatement.__super__ = glslparser_IterationStatement;
glslparser_DoWhileStatement.prototype = $extend(glslparser_IterationStatement.prototype,{
glslparser_DoWhileStatement.prototype = $extend(glslparser_IterationStatement.prototype,{
	__class__: glslparser_DoWhileStatement
	__class__: glslparser_DoWhileStatement
});
});
var glslparser_ForStatement = function(init,test,update,body) {
var glslparser_ForStatement = function(init,test,update,body) {
	this.init = init;
	this.init = init;
	this.test = test;
	this.test = test;
	this.update = update;
	this.update = update;
	glslparser_IterationStatement.call(this,body);
	glslparser_IterationStatement.call(this,body);
};
};
glslparser_ForStatement.__name__ = ["glslparser","ForStatement"];
glslparser_ForStatement.__name__ = ["glslparser","ForStatement"];
glslparser_ForStatement.__super__ = glslparser_IterationStatement;
glslparser_ForStatement.__super__ = glslparser_IterationStatement;
glslparser_ForStatement.prototype = $extend(glslparser_IterationStatement.prototype,{
glslparser_ForStatement.prototype = $extend(glslparser_IterationStatement.prototype,{
	__class__: glslparser_ForStatement
	__class__: glslparser_ForStatement
});
});
var glslparser_IfStatement = function(test,consequent,alternate) {
var glslparser_IfStatement = function(test,consequent,alternate) {
	this.test = test;
	this.test = test;
	this.consequent = consequent;
	this.consequent = consequent;
	this.alternate = alternate;
	this.alternate = alternate;
	glslparser_Statement.call(this,false);
	glslparser_Statement.call(this,false);
};
};
glslparser_IfStatement.__name__ = ["glslparser","IfStatement"];
glslparser_IfStatement.__name__ = ["glslparser","IfStatement"];
glslparser_IfStatement.__super__ = glslparser_Statement;
glslparser_IfStatement.__super__ = glslparser_Statement;
glslparser_IfStatement.prototype = $extend(glslparser_Statement.prototype,{
glslparser_IfStatement.prototype = $extend(glslparser_Statement.prototype,{
	__class__: glslparser_IfStatement
	__class__: glslparser_IfStatement
});
});
var glslparser_JumpStatement = function(mode) {
var glslparser_JumpStatement = function(mode) {
	this.mode = mode;
	this.mode = mode;
	glslparser_Statement.call(this,false);
	glslparser_Statement.call(this,false);
};
};
glslparser_JumpStatement.__name__ = ["glslparser","JumpStatement"];
glslparser_JumpStatement.__name__ = ["glslparser","JumpStatement"];
glslparser_JumpStatement.__super__ = glslparser_Statement;
glslparser_JumpStatement.__super__ = glslparser_Statement;
glslparser_JumpStatement.prototype = $extend(glslparser_Statement.prototype,{
glslparser_JumpStatement.prototype = $extend(glslparser_Statement.prototype,{
	__class__: glslparser_JumpStatement
	__class__: glslparser_JumpStatement
});
});
var glslparser_ReturnStatement = function(returnValue) {
var glslparser_ReturnStatement = function(returnValue) {
	this.returnValue = returnValue;
	this.returnValue = returnValue;
	glslparser_JumpStatement.call(this,glslparser_JumpMode.RETURN);
	glslparser_JumpStatement.call(this,glslparser_JumpMode.RETURN);
};
};
glslparser_ReturnStatement.__name__ = ["glslparser","ReturnStatement"];
glslparser_ReturnStatement.__name__ = ["glslparser","ReturnStatement"];
glslparser_ReturnStatement.__super__ = glslparser_JumpStatement;
glslparser_ReturnStatement.__super__ = glslparser_JumpStatement;
glslparser_ReturnStatement.prototype = $extend(glslparser_JumpStatement.prototype,{
glslparser_ReturnStatement.prototype = $extend(glslparser_JumpStatement.prototype,{
	__class__: glslparser_ReturnStatement
	__class__: glslparser_ReturnStatement
});
});
var glslparser_BinaryOperator = { __ename__ : true, __constructs__ : ["STAR","SLASH","PERCENT","PLUS","DASH","LEFT_OP","RIGHT_OP","LEFT_ANGLE","RIGHT_ANGLE","LE_OP","GE_OP","EQ_OP","NE_OP","AMPERSAND","CARET","VERTICAL_BAR","AND_OP","XOR_OP","OR_OP"] };
var glslparser_BinaryOperator = { __ename__ : true, __constructs__ : ["STAR","SLASH","PERCENT","PLUS","DASH","LEFT_OP","RIGHT_OP","LEFT_ANGLE","RIGHT_ANGLE","LE_OP","GE_OP","EQ_OP","NE_OP","AMPERSAND","CARET","VERTICAL_BAR","AND_OP","XOR_OP","OR_OP"] };
glslparser_BinaryOperator.STAR = ["STAR",0];
glslparser_BinaryOperator.STAR = ["STAR",0];
glslparser_BinaryOperator.STAR.toString = $estr;
glslparser_BinaryOperator.STAR.toString = $estr;
glslparser_BinaryOperator.STAR.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.STAR.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.SLASH = ["SLASH",1];
glslparser_BinaryOperator.SLASH = ["SLASH",1];
glslparser_BinaryOperator.SLASH.toString = $estr;
glslparser_BinaryOperator.SLASH.toString = $estr;
glslparser_BinaryOperator.SLASH.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.SLASH.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.PERCENT = ["PERCENT",2];
glslparser_BinaryOperator.PERCENT = ["PERCENT",2];
glslparser_BinaryOperator.PERCENT.toString = $estr;
glslparser_BinaryOperator.PERCENT.toString = $estr;
glslparser_BinaryOperator.PERCENT.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.PERCENT.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.PLUS = ["PLUS",3];
glslparser_BinaryOperator.PLUS = ["PLUS",3];
glslparser_BinaryOperator.PLUS.toString = $estr;
glslparser_BinaryOperator.PLUS.toString = $estr;
glslparser_BinaryOperator.PLUS.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.PLUS.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.DASH = ["DASH",4];
glslparser_BinaryOperator.DASH = ["DASH",4];
glslparser_BinaryOperator.DASH.toString = $estr;
glslparser_BinaryOperator.DASH.toString = $estr;
glslparser_BinaryOperator.DASH.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.DASH.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.LEFT_OP = ["LEFT_OP",5];
glslparser_BinaryOperator.LEFT_OP = ["LEFT_OP",5];
glslparser_BinaryOperator.LEFT_OP.toString = $estr;
glslparser_BinaryOperator.LEFT_OP.toString = $estr;
glslparser_BinaryOperator.LEFT_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.LEFT_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.RIGHT_OP = ["RIGHT_OP",6];
glslparser_BinaryOperator.RIGHT_OP = ["RIGHT_OP",6];
glslparser_BinaryOperator.RIGHT_OP.toString = $estr;
glslparser_BinaryOperator.RIGHT_OP.toString = $estr;
glslparser_BinaryOperator.RIGHT_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.RIGHT_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.LEFT_ANGLE = ["LEFT_ANGLE",7];
glslparser_BinaryOperator.LEFT_ANGLE = ["LEFT_ANGLE",7];
glslparser_BinaryOperator.LEFT_ANGLE.toString = $estr;
glslparser_BinaryOperator.LEFT_ANGLE.toString = $estr;
glslparser_BinaryOperator.LEFT_ANGLE.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.LEFT_ANGLE.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.RIGHT_ANGLE = ["RIGHT_ANGLE",8];
glslparser_BinaryOperator.RIGHT_ANGLE = ["RIGHT_ANGLE",8];
glslparser_BinaryOperator.RIGHT_ANGLE.toString = $estr;
glslparser_BinaryOperator.RIGHT_ANGLE.toString = $estr;
glslparser_BinaryOperator.RIGHT_ANGLE.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.RIGHT_ANGLE.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.LE_OP = ["LE_OP",9];
glslparser_BinaryOperator.LE_OP = ["LE_OP",9];
glslparser_BinaryOperator.LE_OP.toString = $estr;
glslparser_BinaryOperator.LE_OP.toString = $estr;
glslparser_BinaryOperator.LE_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.LE_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.GE_OP = ["GE_OP",10];
glslparser_BinaryOperator.GE_OP = ["GE_OP",10];
glslparser_BinaryOperator.GE_OP.toString = $estr;
glslparser_BinaryOperator.GE_OP.toString = $estr;
glslparser_BinaryOperator.GE_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.GE_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.EQ_OP = ["EQ_OP",11];
glslparser_BinaryOperator.EQ_OP = ["EQ_OP",11];
glslparser_BinaryOperator.EQ_OP.toString = $estr;
glslparser_BinaryOperator.EQ_OP.toString = $estr;
glslparser_BinaryOperator.EQ_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.EQ_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.NE_OP = ["NE_OP",12];
glslparser_BinaryOperator.NE_OP = ["NE_OP",12];
glslparser_BinaryOperator.NE_OP.toString = $estr;
glslparser_BinaryOperator.NE_OP.toString = $estr;
glslparser_BinaryOperator.NE_OP.__enum__ = glslparser_Bi
glslparser_BinaryOperator.NE_OP.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.AMPERSAND = ["AMPERSAND",13];
glslparser_BinaryOperator.AMPERSAND.toString = $estr;
glslparser_BinaryOperator.AMPERSAND.__enum__ = glslparser_BinaryOperator;
glslparser_BinaryOperator.CARET = ["CARET",14];
glslparser_BinaryOperator.CARET.toString = $estr;
glsl