Browse Source

Simplified constructor for identifier expressions

tags/mesa-7.9-rc1
Ian Romanick 15 years ago
parent
commit
d10fe19495
2 changed files with 11 additions and 10 deletions
  1. 9
    0
      ast.h
  2. 2
    10
      glsl_parser.ypp

+ 9
- 0
ast.h View File

ast_expression(int oper, ast_expression *, ast_expression(int oper, ast_expression *,
ast_expression *, ast_expression *); ast_expression *, ast_expression *);


ast_expression(const char *identifier) :
oper(ast_identifier)
{
subexpressions[0] = NULL;
subexpressions[1] = NULL;
subexpressions[2] = NULL;
primary_expression.identifier = (char *) identifier;
}

static const char *operator_string(enum ast_operators op); static const char *operator_string(enum ast_operators op);


virtual ir_instruction *hir(exec_list *instructions, virtual ir_instruction *hir(exec_list *instructions,

+ 2
- 10
glsl_parser.ypp View File

} }
| IDENTIFIER | IDENTIFIER
{ {
ast_expression *expr =
new ast_expression(ast_identifier, NULL, NULL, NULL);
expr->primary_expression.identifier = $1;

$$ = (struct ast_node *) expr;
$$ = new ast_expression($1);
} }
| FIELD_SELECTION | FIELD_SELECTION
{ {
ast_expression *expr =
new ast_expression(ast_identifier, NULL, NULL, NULL);
expr->primary_expression.identifier = $1;

$$ = (struct ast_node *) expr;
$$ = new ast_expression($1);
} }
; ;



Loading…
Cancel
Save