Fix list AST in javascript parser
							parent
							
								
									4050ebcbde
								
							
						
					
					
						commit
						e99ff9fa6b
					
				| 
						 | 
				
			
			@ -154,7 +154,7 @@ Unary              =   "-" Postfix:p                    => [[ p "-" ast-unop boa
 | 
			
		|||
Postfix            =   PrimExpr:p SpacesNoNl "++"       => [[ p "++" ast-postop boa ]]
 | 
			
		||||
                     | PrimExpr:p SpacesNoNl "--"       => [[ p "--" ast-postop boa ]]
 | 
			
		||||
                     | PrimExpr
 | 
			
		||||
Args               =   Expr ("," Expr)*                      => [[ first2 swap prefix ]]
 | 
			
		||||
Args               =   Expr ("," Expr => [[ second ]])*      => [[ first2 swap prefix ]]
 | 
			
		||||
PrimExpr           =   PrimExpr:p "[" Expr:i "]"             => [[ i p ast-getp boa ]]
 | 
			
		||||
                     | PrimExpr:p "." Name:m "(" Args:as ")" => [[ m p as ast-send boa ]]
 | 
			
		||||
                     | PrimExpr:p "." Name:f                 => [[ f p ast-getp boa ]]
 | 
			
		||||
| 
						 | 
				
			
			@ -169,18 +169,18 @@ PrimExprHd         =   "(" Expr:e ")"                        => [[ e ]]
 | 
			
		|||
                     | "new" Name:n "(" Args:as ")"          => [[ n as ast-new boa ]]
 | 
			
		||||
                     | "[" Args:es "]"                       => [[ es ast-array boa ]]
 | 
			
		||||
                     | Json
 | 
			
		||||
JsonBindings        = JsonBinding ("," JsonBinding)*          => [[ first2 swap prefix ]]
 | 
			
		||||
JsonBindings        = JsonBinding ("," JsonBinding => [[ second ]])*  => [[ first2 swap prefix ]]
 | 
			
		||||
Json               = "{" JsonBindings:bs "}"                  => [[ bs ast-json boa ]]
 | 
			
		||||
JsonBinding        = JsonPropName:n ":" Expr:v               => [[ n v ast-binding boa ]]
 | 
			
		||||
JsonPropName       = Name | Number | String
 | 
			
		||||
Formal             = Spaces Name
 | 
			
		||||
Formals            = Formal ("," Formal)*                    => [[ first2 swap prefix ]]
 | 
			
		||||
Formals            = Formal ("," Formal => [[ second ]])*     => [[ first2 swap prefix ]]
 | 
			
		||||
FuncRest           = "(" Formals:fs ")" "{" SrcElems:body "}" => [[ fs body ast-func boa ]]
 | 
			
		||||
Sc                 = SpacesNoNl ("\n" | "}")| ";"
 | 
			
		||||
Binding            =   Name:n "=" Expr:v                      => [[ n v ast-var boa ]]
 | 
			
		||||
                     | Name:n                                 => [[ n "undefined" ast-get boa ast-var boa ]]
 | 
			
		||||
Block              = "{" SrcElems:ss "}"                      => [[ ss ]]
 | 
			
		||||
Bindings           = Binding ("," Binding)*                   => [[ first2 swap prefix ]]
 | 
			
		||||
Bindings           = Binding ("," Binding => [[ second ]])*   => [[ first2 swap prefix ]]
 | 
			
		||||
For1               =   "var" Binding => [[ second ]] 
 | 
			
		||||
                     | Expr 
 | 
			
		||||
                     | Spaces => [[ "undefined" ast-get boa ]] 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue