|  | @@ -13,7 +13,13 @@ string         = ['] val:(("''" {return "'";} / [^'])*) ['] {
 | 
	
		
			
				|  |  |                              ._source_(text())
 | 
	
		
			
				|  |  |                              ._value_(val.join("").replace(/\"/ig, '"'));
 | 
	
		
			
				|  |  |                   }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +character      = "$" char:. 
 | 
	
		
			
				|  |  | +                  {
 | 
	
		
			
				|  |  | +                      return globals.ValueNode._new()
 | 
	
		
			
				|  |  | +                             ._position_((line()).__at(column()))
 | 
	
		
			
				|  |  | +                             ._source_(text())
 | 
	
		
			
				|  |  | +                             ._value_(char);
 | 
	
		
			
				|  |  | +                  }
 | 
	
		
			
				|  |  |  symbol         = "#" rest:bareSymbol {return rest;}
 | 
	
		
			
				|  |  |  bareSymbol         = val:(selector / binarySelector / node:string {return node._value();})
 | 
	
		
			
				|  |  |                    {
 | 
	
	
		
			
				|  | @@ -62,7 +68,7 @@ pseudoVariable = val:(
 | 
	
		
			
				|  |  |                                ._source_(text())
 | 
	
		
			
				|  |  |                                ._value_(val);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  | -parseTimeLiteral        = pseudoVariable / number / literalArray / string / symbol
 | 
	
		
			
				|  |  | +parseTimeLiteral        = pseudoVariable / number / literalArray / string / symbol / character
 | 
	
		
			
				|  |  |  runtimeLiteral        = dynamicDictionary / dynamicArray / block
 | 
	
		
			
				|  |  |  literal        = runtimeLiteral / parseTimeLiteral
 | 
	
		
			
				|  |  |  
 |