self should be VariableName, not keyword #6

Closed
R167 wants to merge 1 commit from self-not-keyword into master

View file

@ -29,7 +29,7 @@ FunctionDefinition {
ClassDefinition { kw<"class"> VariableName ArgList? Body }
param { (kw<"self"> | VariableName) TypeDef? (AssignOp{"="} test)? | "*" VariableName? | "**" VariableName | "/" }
param { VariableName TypeDef? (AssignOp{"="} test)? | "*" VariableName? | "**" VariableName | "/" }
TypeDef { ":" test }
@ -95,7 +95,7 @@ TryStatement {
Body { ":" (simpleStatement | newline continueBody statement (continueBody statement)* (endBody | eof)) }
lambdaParam { (kw<"self"> | VariableName) (AssignOp{"="} test)? | "*" VariableName? | "**" VariableName }
lambdaParam { VariableName (AssignOp{"="} test)? | "*" VariableName? | "**" VariableName }
lambdaParams[@name="ParamList"] { (lambdaParam ("," lambdaParam)*)? }
@ -145,7 +145,6 @@ expression[@isGroup=Expression] {
ContinuedString { (String | FormatString) (String | FormatString)+ } |
"..." |
kw<"None"> |
kw<"self"> |
@specialize[@name=Boolean]<identifier, "True" | "False">
}

View file

@ -129,9 +129,9 @@ class Bar(Foo): pass
Script(
ClassDefinition(class, VariableName, Body(
AssignStatement(VariableName, AssignOp, Number),
FunctionDefinition(def, VariableName, ParamList(self), Body(PassStatement(pass))),
FunctionDefinition(def, VariableName, ParamList(self), Body(
UpdateStatement(MemberExpression(self, PropertyName), UpdateOp, Number))))),
FunctionDefinition(def, VariableName, ParamList(VariableName), Body(PassStatement(pass))),
FunctionDefinition(def, VariableName, ParamList(VariableName), Body(
UpdateStatement(MemberExpression(VariableName, PropertyName), UpdateOp, Number))))),
ClassDefinition(class, VariableName, ArgList(VariableName), Body(PassStatement(pass))))
# Scope statements
@ -310,3 +310,11 @@ else:
Script(IfStatement(if, VariableName, Body(
IfStatement(if, VariableName, Body(PassStatement(pass)))),
else, Body(PassStatement(pass))))
# Self not reserved
self = True
==>
Script(AssignStatement(VariableName,AssignOp,Boolean))