%{
+#include <config.h>
#include <iostream>
#include <sstream>
static Function* current_function = 0;
static Type* current_type = 0;
static Field* current_field = 0;
-static ClassMember::Visbility current_visibility;
+static ClassMember::Visibility current_visibility;
class ParseError : public std::exception
{
%token T_STRUCT
%token T_STATIC
%token T_SUSPEND
+%token T_CUSTOM
%token T_CONST
%token T_UNSIGNED
%token T_SIGNED
%token T_BOOL
%token T_CHAR
%token T_SHORT
-%token T_INT
%token T_LONG
-%token T_FLOAT
%token T_DOUBLE
%token T_PUBLIC
%token T_PROTECTED
function_attributes:
/* empty */
| T_CONST function_attributes
+ | T_CUSTOM '(' T_STRING ')' function_attributes
+ {
+ current_function->parameter_spec = $3;
+ current_function->custom = true;
+ }
| T_SUSPEND function_attributes
{
current_function->suspend = true;