- extended the grammar so that the DECORATE function declaration list can almost be used as-is, with the sole exception of requiring any action function to declare a return type, even if it is void.

This adds:
 * builtin types color, state and sound.
 * ending a parameter list with an ellipsis to declare a varargs list. (A_Jump uses this.)
 * allowing to declare optional arguments by giving them a default value.
 * adding an 'action' qualifier for function declarations.
This commit is contained in:
Christoph Oelckers 2016-10-11 13:11:40 +02:00
commit 6989b81688
5 changed files with 59 additions and 1 deletions

View file

@ -54,7 +54,12 @@ static const char *BuiltInTypeNames[] =
"vector3",
"vector4",
"name",
"usertype"
"color",
"state",
"sound",
"usertype",
};
class FLispString
@ -767,6 +772,7 @@ static void PrintFuncParamDecl(FLispString &out, ZCC_TreeNode *node)
PrintNodes(out, dnode->Type);
out.AddName(dnode->Name);
out.AddHex(dnode->Flags);
PrintNodes(out, dnode->Default);
out.Close();
}