Skip to content

Commit

Permalink
Renamed function "arguments" to function "parameters" in the AST.
Browse files Browse the repository at this point in the history
  • Loading branch information
icculus committed Oct 25, 2010
1 parent 0b8b806 commit 59283c6
Show file tree
Hide file tree
Showing 2 changed files with 58 additions and 58 deletions.
58 changes: 29 additions & 29 deletions mojoshader_compiler.c
Expand Up @@ -137,7 +137,7 @@ typedef enum ASTNodeType
AST_STATEMENT_END_RANGE,

AST_MISC_START_RANGE,
AST_FUNCTION_ARGS,
AST_FUNCTION_PARAMS,
AST_FUNCTION_SIGNATURE,
AST_SCALAR_OR_ARRAY,
AST_TYPEDEF,
Expand Down Expand Up @@ -311,7 +311,7 @@ typedef enum InterpolationModifier
INTERPMOD_SAMPLE
} InterpolationModifier;

typedef struct FunctionArguments
typedef struct FunctionParameters
{
ASTNode ast;
InputModifier input_modifier;
Expand All @@ -320,15 +320,15 @@ typedef struct FunctionArguments
const char *semantic;
InterpolationModifier interpolation_modifier;
Expression *initializer;
struct FunctionArguments *next;
} FunctionArguments;
struct FunctionParameters *next;
} FunctionParameters;

typedef struct FunctionSignature
{
ASTNode ast;
const char *datatype;
const char *identifier;
FunctionArguments *args;
FunctionParameters *params;
FunctionStorageClass storage_class;
const char *semantic;
} FunctionSignature;
Expand Down Expand Up @@ -855,15 +855,15 @@ static void delete_expr(Context *ctx, Expression *expr)
Free(ctx, expr);
} // delete_expr

static FunctionArguments *new_function_arg(Context *ctx,
static FunctionParameters *new_function_param(Context *ctx,
const InputModifier inputmod,
const char *datatype,
const char *identifier,
const char *semantic,
const InterpolationModifier interpmod,
Expression *initializer)
{
NEW_AST_NODE(retval, FunctionArguments, AST_FUNCTION_ARGS);
NEW_AST_NODE(retval, FunctionParameters, AST_FUNCTION_PARAMS);
retval->input_modifier = inputmod;
retval->datatype = datatype;
retval->identifier = identifier;
Expand All @@ -872,25 +872,25 @@ static FunctionArguments *new_function_arg(Context *ctx,
retval->initializer = initializer;
retval->next = NULL;
return retval;
} // new_function_arg
} // new_function_param

static void delete_function_args(Context *ctx, FunctionArguments *args)
static void delete_function_params(Context *ctx, FunctionParameters *params)
{
DELETE_AST_NODE(args);
delete_function_args(ctx, args->next);
delete_expr(ctx, args->initializer);
Free(ctx, args);
} // delete_function_args
DELETE_AST_NODE(params);
delete_function_params(ctx, params->next);
delete_expr(ctx, params->initializer);
Free(ctx, params);
} // delete_function_params

static FunctionSignature *new_function_signature(Context *ctx,
const char *datatype,
const char *identifier,
FunctionArguments *args)
FunctionParameters *params)
{
NEW_AST_NODE(retval, FunctionSignature, AST_FUNCTION_SIGNATURE);
retval->datatype = datatype;
retval->identifier = identifier;
retval->args = args;
retval->params = params;
retval->storage_class = FNSTORECLS_NONE;
retval->semantic = NULL;
return retval;
Expand All @@ -899,7 +899,7 @@ static FunctionSignature *new_function_signature(Context *ctx,
static void delete_function_signature(Context *ctx, FunctionSignature *sig)
{
DELETE_AST_NODE(sig);
delete_function_args(ctx, sig->args);
delete_function_params(ctx, sig->params);
Free(ctx, sig);
} // delete_function_signature

Expand Down Expand Up @@ -2057,8 +2057,8 @@ static void print_ast(const int substmt, void *ast)
printf(";%s", nl);
break;

case AST_FUNCTION_ARGS:
switch (((FunctionArguments *) ast)->input_modifier)
case AST_FUNCTION_PARAMS:
switch (((FunctionParameters *) ast)->input_modifier)
{
case INPUTMOD_NONE: break;
case INPUTMOD_IN: printf("in "); break;
Expand All @@ -2067,12 +2067,12 @@ static void print_ast(const int substmt, void *ast)
case INPUTMOD_UNIFORM: printf("uniform "); break;
} // switch

printf("%s %s", (((FunctionArguments *) ast)->datatype),
(((FunctionArguments *) ast)->identifier));
if (((FunctionArguments *) ast)->semantic)
printf(" : %s", ((FunctionArguments *) ast)->semantic);
printf("%s %s", (((FunctionParameters *) ast)->datatype),
(((FunctionParameters *) ast)->identifier));
if (((FunctionParameters *) ast)->semantic)
printf(" : %s", ((FunctionParameters *) ast)->semantic);

switch (((FunctionArguments *) ast)->interpolation_modifier)
switch (((FunctionParameters *) ast)->interpolation_modifier)
{
case INTERPMOD_NONE: break;
case INTERPMOD_LINEAR: printf(" linear"); break;
Expand All @@ -2082,16 +2082,16 @@ static void print_ast(const int substmt, void *ast)
case INTERPMOD_SAMPLE: printf(" sample"); break;
} // switch

if (((FunctionArguments *) ast)->initializer)
if (((FunctionParameters *) ast)->initializer)
{
printf(" = ");
print_ast(0, ((FunctionArguments *) ast)->initializer);
print_ast(0, ((FunctionParameters *) ast)->initializer);
} // if

if (((FunctionArguments *) ast)->next)
if (((FunctionParameters *) ast)->next)
{
printf(", ");
print_ast(0, ((FunctionArguments *) ast)->next);
print_ast(0, ((FunctionParameters *) ast)->next);
} // if
break;

Expand All @@ -2105,7 +2105,7 @@ static void print_ast(const int substmt, void *ast)
((FunctionSignature *) ast)->datatype ?
((FunctionSignature *) ast)->datatype : "void",
((FunctionSignature *) ast)->identifier);
print_ast(0, ((FunctionSignature *) ast)->args);
print_ast(0, ((FunctionSignature *) ast)->params);
printf(")");
if (((FunctionSignature *) ast)->semantic)
printf(" : %s", ((FunctionSignature *) ast)->semantic);
Expand Down
58 changes: 29 additions & 29 deletions mojoshader_parser_hlsl.lemon
Expand Up @@ -107,8 +107,8 @@ function_signature(A) ::= function_details(B). { A = B; }

%type function_details { FunctionSignature * }
%destructor function_details { delete_function_signature(ctx, $$); }
function_details(A) ::= datatype(B) IDENTIFIER(C) LPAREN function_arguments(D) RPAREN. { A = new_function_signature(ctx, B, C.string, D); }
function_details(A) ::= VOID IDENTIFIER(B) LPAREN function_arguments(C) RPAREN. { A = new_function_signature(ctx, NULL, B.string, C); }
function_details(A) ::= datatype(B) IDENTIFIER(C) LPAREN function_parameters(D) RPAREN. { A = new_function_signature(ctx, B, C.string, D); }
function_details(A) ::= VOID IDENTIFIER(B) LPAREN function_parameters(C) RPAREN. { A = new_function_signature(ctx, NULL, B.string, C); }

// !!! FIXME: there is a "target" storage class that is the name of the
// !!! FIXME: platform that this function is meant for...but I don't know
Expand All @@ -120,36 +120,36 @@ function_details(A) ::= VOID IDENTIFIER(B) LPAREN function_arguments(C) RPAREN.
//function_storageclass(A) ::= target(B). { A = B; }
function_storageclass(A) ::= INLINE. { A = FNSTORECLS_INLINE; }

%type function_arguments { FunctionArguments * }
%destructor function_arguments { delete_function_args(ctx, $$); }
function_arguments(A) ::= VOID. { A = NULL; }
function_arguments(A) ::= function_argument_list(B). { REVERSE_LINKED_LIST(FunctionArguments, B); A = B; }
function_arguments(A) ::= . { A = NULL; }
%type function_parameters { FunctionParameters * }
%destructor function_parameters { delete_function_params(ctx, $$); }
function_parameters(A) ::= VOID. { A = NULL; }
function_parameters(A) ::= function_parameter_list(B). { REVERSE_LINKED_LIST(FunctionParameters, B); A = B; }
function_parameters(A) ::= . { A = NULL; }

%type function_argument_list { FunctionArguments * }
%destructor function_argument_list { delete_function_args(ctx, $$); }
function_argument_list(A) ::= function_argument(B). { A = B; }
function_argument_list(A) ::= function_argument_list(B) COMMA function_argument(C). { C->next = B; A = C; }
%type function_parameter_list { FunctionParameters * }
%destructor function_parameter_list { delete_function_params(ctx, $$); }
function_parameter_list(A) ::= function_parameter(B). { A = B; }
function_parameter_list(A) ::= function_parameter_list(B) COMMA function_parameter(C). { C->next = B; A = C; }

// !!! FIXME: this is pretty unreadable.
%type function_argument { FunctionArguments * }
%destructor function_argument { delete_function_args(ctx, $$); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E) interpolation_mod(F) initializer(G). { A = new_function_arg(ctx, B, C, D.string, E, F, G); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E) interpolation_mod(F). { A = new_function_arg(ctx, B, C, D.string, E, F, NULL); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E) initializer(F). { A = new_function_arg(ctx, B, C, D.string, E, INTERPMOD_NONE, F); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E). { A = new_function_arg(ctx, B, C, D.string, E, INTERPMOD_NONE, NULL); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) interpolation_mod(E) initializer(F). { A = new_function_arg(ctx, B, C, D.string, NULL, E, F); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) interpolation_mod(E). { A = new_function_arg(ctx, B, C, D.string, NULL, E, NULL); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) initializer(E). { A = new_function_arg(ctx, B, C, D.string, NULL, INTERPMOD_NONE, E); }
function_argument(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D). { A = new_function_arg(ctx, B, C, D.string, NULL, INTERPMOD_NONE, NULL); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) semantic(D) interpolation_mod(E) initializer(F). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, D, E, F); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) semantic(D) interpolation_mod(E). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, D, E, NULL); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) semantic(D) initializer(E). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, D, INTERPMOD_NONE, E); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) semantic(D). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, D, INTERPMOD_NONE, NULL); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) interpolation_mod(D) initializer(E). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, NULL, D, E); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) interpolation_mod(D). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, NULL, D, NULL); }
function_argument(A) ::= datatype(B) IDENTIFIER(C) initializer(D). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, NULL, INTERPMOD_NONE, D); }
function_argument(A) ::= datatype(B) IDENTIFIER(C). { A = new_function_arg(ctx, INPUTMOD_NONE, B, C.string, NULL, INTERPMOD_NONE, NULL); }
%type function_parameter { FunctionParameters * }
%destructor function_parameter { delete_function_params(ctx, $$); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E) interpolation_mod(F) initializer(G). { A = new_function_param(ctx, B, C, D.string, E, F, G); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E) interpolation_mod(F). { A = new_function_param(ctx, B, C, D.string, E, F, NULL); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E) initializer(F). { A = new_function_param(ctx, B, C, D.string, E, INTERPMOD_NONE, F); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) semantic(E). { A = new_function_param(ctx, B, C, D.string, E, INTERPMOD_NONE, NULL); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) interpolation_mod(E) initializer(F). { A = new_function_param(ctx, B, C, D.string, NULL, E, F); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) interpolation_mod(E). { A = new_function_param(ctx, B, C, D.string, NULL, E, NULL); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D) initializer(E). { A = new_function_param(ctx, B, C, D.string, NULL, INTERPMOD_NONE, E); }
function_parameter(A) ::= input_modifier(B) datatype(C) IDENTIFIER(D). { A = new_function_param(ctx, B, C, D.string, NULL, INTERPMOD_NONE, NULL); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) semantic(D) interpolation_mod(E) initializer(F). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, D, E, F); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) semantic(D) interpolation_mod(E). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, D, E, NULL); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) semantic(D) initializer(E). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, D, INTERPMOD_NONE, E); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) semantic(D). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, D, INTERPMOD_NONE, NULL); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) interpolation_mod(D) initializer(E). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, NULL, D, E); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) interpolation_mod(D). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, NULL, D, NULL); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C) initializer(D). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, NULL, INTERPMOD_NONE, D); }
function_parameter(A) ::= datatype(B) IDENTIFIER(C). { A = new_function_param(ctx, INPUTMOD_NONE, B, C.string, NULL, INTERPMOD_NONE, NULL); }

%type input_modifier { InputModifier }
input_modifier(A) ::= IN. { A = INPUTMOD_IN; }
Expand Down

0 comments on commit 59283c6

Please sign in to comment.