public LNode ExprStartNNP(bool allowUnassignedVarDecl)
{
// line 714
var attrs = VList<LNode>.Empty;
var hasList = NormalAttributes(ref attrs);
AttributeKeywords(ref attrs);
// line 719
if ((!attrs.IsEmpty || hasList)) {
allowUnassignedVarDecl = true;
}
LNode expr;
TentativeResult result, _;
if ((allowUnassignedVarDecl)) {
expr = TentativeVarDecl(attrs, out result, allowUnassignedVarDecl) ?? TentativeExpr(attrs, out result);
} else {
expr = TentativeExpr(attrs, out result);
if (expr == null || expr.Calls(S.Assign, 2)) {
InputPosition = result.OldPosition;
expr = TentativeVarDecl(attrs, out _, allowUnassignedVarDecl);
}
}
expr = expr ?? Apply(result);
return expr;
}