| 
					
				 | 
			
			
				@@ -36,8 +36,8 @@ number         = n:(numberExp / hex / float / integer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 numberExp      = n:((float / integer) "e" integer) {return parseFloat(n.join(""));} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 hex            = neg:"-"? "16r" num:[0-9a-fA-F]+ {return parseInt(((neg || '') + num.join("")), 16);} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-float          = neg:"-"?digits:[0-9]+ "." dec:[0-9]+ {return parseFloat(((neg || '') + digits.join("") + "." + dec.join("")), 10);} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-integer        = neg:"-"?digits:[0-9]+ {return (parseInt((neg || '') +digits.join(""), 10));} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+float          = neg:"-"? digits:[0-9]+ "." dec:[0-9]+ {return parseFloat(((neg || '') + digits.join("") + "." + dec.join("")), 10);} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+integer        = neg:"-"? digits:[0-9]+ {return (parseInt((neg || '') + digits.join(""), 10));} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 literalArray   = "#(" rest:literalArrayRest {return rest;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 bareLiteralArray   = "(" rest:literalArrayRest {return rest;} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,7 +53,7 @@ dynamicArray   = "{" ws expressions:expressions? ws "."? "}" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ._source_(text()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             ._nodes_(expressions || []); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-dynamicDictionary = "#{" ws expressions: associations? ws "}" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+dynamicDictionary = "#{" ws expressions:associations? ws "}" { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         return globals.DynamicDictionaryNode._new() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                ._position_((line()).__at(column())) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                ._source_(text()) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -82,12 +82,12 @@ variable       = identifier:identifier { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 reference      = variable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-keywordPair    = ws key:keyword ws arg:binarySend {return {key:key, arg: arg};} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+keywordPair    = ws key:keyword ws arg:binarySend {return {key:key, arg:arg};} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 binarySelector = bin:[\\+*/=><,@%~|&-]+ {return bin.join("");} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 unarySelector  = identifier 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-keywordPattern = pairs:(ws key:keyword ws arg:identifier {return {key:key, arg: arg};})+ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+keywordPattern = pairs:(ws key:keyword ws arg:identifier {return {key:key, arg:arg};})+ { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      var keywords = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      var params = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                      var i = 0; 
			 |