Allow the leading component of a path to be a ~
This commit is contained in:
		
							parent
							
								
									1816ac0db1
								
							
						
					
					
						commit
						e0953d53de
					
				
					 3 changed files with 19 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -268,7 +268,7 @@ void yyerror(YYLTYPE * loc, yyscan_t scanner, ParseData * data, const char * err
 | 
			
		|||
%token <id> ID ATTRPATH
 | 
			
		||||
%token <e> STR IND_STR
 | 
			
		||||
%token <n> INT
 | 
			
		||||
%token <path> PATH SPATH
 | 
			
		||||
%token <path> PATH HPATH SPATH
 | 
			
		||||
%token <uri> URI
 | 
			
		||||
%token IF THEN ELSE ASSERT WITH LET IN REC INHERIT EQ NEQ AND OR IMPL OR_KW
 | 
			
		||||
%token DOLLAR_CURLY /* == ${ */
 | 
			
		||||
| 
						 | 
				
			
			@ -376,6 +376,14 @@ expr_simple
 | 
			
		|||
      $$ = stripIndentation(CUR_POS, data->symbols, *$2);
 | 
			
		||||
  }
 | 
			
		||||
  | PATH { $$ = new ExprPath(absPath($1, data->basePath)); }
 | 
			
		||||
  | HPATH {
 | 
			
		||||
      auto path = string{$1 + 1};
 | 
			
		||||
      $$ = new ExprConcatStrings(CUR_POS, false, new vector<Expr *>{
 | 
			
		||||
          new ExprPath("/"),
 | 
			
		||||
          new ExprApp(new ExprVar(data->symbols.create("__getEnv")),
 | 
			
		||||
              new ExprString(data->symbols.create("HOME"))),
 | 
			
		||||
          new ExprString(data->symbols.create(path))});
 | 
			
		||||
  }
 | 
			
		||||
  | SPATH {
 | 
			
		||||
      string path($1 + 1, strlen($1) - 2);
 | 
			
		||||
      $$ = new ExprApp(CUR_POS,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue