- scriptified A_BruisAttack.

- removed 'self' as a dedicated token. Internally this gets handled as a normal but implicitly named variable so the token just gets in the way of proper processing.
- removed P_ prefix from SpawnMissile export.
- fixed a crash with misnamed function exports.
This commit is contained in:
Christoph Oelckers 2016-10-23 17:15:24 +02:00
parent da56e5908d
commit 9f8a5dae21
16 changed files with 66 additions and 50 deletions

View file

@ -977,13 +977,6 @@ primary(X) ::= IDENTIFIER(A).
expr->Type = NULL;
X = expr;
}
primary(X) ::= NULL(T).
{
NEW_AST_NODE(Expression, expr, T);
expr->Operation = PEX_Null;
expr->Type = NULL;
X = expr;
}
primary(X) ::= SUPER(T).
{
NEW_AST_NODE(Expression, expr, T);
@ -992,13 +985,7 @@ primary(X) ::= SUPER(T).
X = expr;
}
primary(X) ::= constant(A). { X = A; /*X-overwrites-A*/ }
primary(X) ::= SELF(T).
{
NEW_AST_NODE(Expression, expr, T);
expr->Operation = PEX_Self;
expr->Type = NULL;
X = expr;
}
primary(X) ::= LPAREN expr(A) RPAREN.
{
X = A; /*X-overwrites-A*/

View file

@ -2001,7 +2001,10 @@ void ZCCCompiler::InitFunctions()
{
Error(f, "The function '%s' has not been exported from the executable.", FName(f->Name).GetChars());
}
(*afd->VMPointer)->ImplicitArgs = BYTE(implicitargs);
else
{
(*afd->VMPointer)->ImplicitArgs = BYTE(implicitargs);
}
}
SetImplicitArgs(&args, &argflags, &argnames, c->Type(), varflags);
auto p = f->Params;

View file

@ -4,7 +4,6 @@ xx(Nil, TK_None)
xx(ID, TK_Identifier)
xx(Super, TK_Super)
xx(Null, TK_Null)
xx(Self, TK_Self)
xx(ConstValue, TK_Const)
xx(FuncCall, '(')
xx(ArrayAccess, TK_Array)

View file

@ -155,7 +155,6 @@ static void InitTokenMap()
TOKENDEF (TK_Optional, ZCC_OPTIONAL);
TOKENDEF (TK_Super, ZCC_SUPER);
TOKENDEF (TK_Null, ZCC_NULLPTR);
TOKENDEF (TK_Self, ZCC_SELF);
TOKENDEF ('~', ZCC_TILDE);
TOKENDEF ('!', ZCC_BANG);
TOKENDEF (TK_SizeOf, ZCC_SIZEOF);

View file

@ -44,7 +44,6 @@ enum
};
// Syntax tree structures.
enum EZCCTreeNodeType
{