xine-lib  1.2.10
goomsl_yacc.h
Go to the documentation of this file.
1 /* A Bison parser, made by GNU Bison 1.875. */
2 
3 /* Skeleton parser for Yacc-like parsing with Bison,
4  Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2, or (at your option)
9  any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
19 
20 /* As a special exception, when this file is copied by Bison into a
21  Bison output file, you may use that output file without restriction.
22  This special exception was added by the Free Software Foundation
23  in version 1.24 of Bison. */
24 
25 /* Tokens. */
26 #ifndef YYTOKENTYPE
27 # define YYTOKENTYPE
28  /* Put the tokens into the symbol table, so that GDB and other debuggers
29  know about them. */
30  enum yytokentype {
32  LTYPE_FLOAT = 259,
33  LTYPE_VAR = 260,
34  LTYPE_PTR = 261,
35  PTR_TK = 262,
36  INT_TK = 263,
37  FLOAT_TK = 264,
38  DECLARE = 265,
39  EXTERNAL = 266,
40  WHILE = 267,
41  DO = 268,
42  NOT = 269,
43  PLUS_EQ = 270,
44  SUB_EQ = 271,
45  DIV_EQ = 272,
46  MUL_EQ = 273,
47  SUP_EQ = 274,
48  LOW_EQ = 275,
49  NOT_EQ = 276,
50  STRUCT = 277,
51  FOR = 278,
52  IN = 279
53  };
54 #endif
55 #define LTYPE_INTEGER 258
56 #define LTYPE_FLOAT 259
57 #define LTYPE_VAR 260
58 #define LTYPE_PTR 261
59 #define PTR_TK 262
60 #define INT_TK 263
61 #define FLOAT_TK 264
62 #define DECLARE 265
63 #define EXTERNAL 266
64 #define WHILE 267
65 #define DO 268
66 #define NOT 269
67 #define PLUS_EQ 270
68 #define SUB_EQ 271
69 #define DIV_EQ 272
70 #define MUL_EQ 273
71 #define SUP_EQ 274
72 #define LOW_EQ 275
73 #define NOT_EQ 276
74 #define STRUCT 277
75 #define FOR 278
76 #define IN 279
77 
78 
79 
80 
81 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
82 #line 1199 "goomsl_yacc.y"
83 typedef union YYSTYPE {
84  int intValue;
85  float floatValue;
86  char charValue;
87  char strValue[2048];
88  NodeType *nPtr;
89  GoomHash *namespace;
92  } YYSTYPE;
93 /* Line 1240 of yacc.c. */
94 #line 95 "goomsl_yacc.h"
95 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
96 # define YYSTYPE_IS_DECLARED 1
97 # define YYSTYPE_IS_TRIVIAL 1
98 #endif
99 
100 extern YYSTYPE yylval;
101 
102 
103 
_ConstIntNodeType::val
int val
Definition: goomsl_private.h:52
gsl_reenternamespace
void gsl_reenternamespace(GoomHash *nsinfo)
Definition: goomsl.c:823
gsl_declare_task
void gsl_declare_task(const char *name)
Definition: goomsl.c:844
goom_hash_put_int
void goom_hash_put_int(GoomHash *_this, const char *key, int i)
Definition: goomsl_hash.c:90
commit_call
static void commit_call(NodeType *node)
Definition: goomsl_yacc.c:1073
is_tmp_expr
static int is_tmp_expr(NodeType *node)
Definition: goomsl_yacc.c:141
gsl_ptr_decl_local
static void gsl_ptr_decl_local(const char *name)
Definition: goomsl_yacc.c:446
new_affect_list_after
static NodeType * new_affect_list_after(NodeType *affect_list)
Definition: goomsl_yacc.c:985
nodeFree
static void nodeFree(NodeType *node)
Definition: goomsl_yacc.c:1235
commit_node
static void commit_node(NodeType *node, int releaseIfTemp)
Definition: goomsl_yacc.c:1170
CONST_INT_NODE
#define CONST_INT_NODE
Definition: goomsl_private.h:16
OPR_AFFECT_LIST
#define OPR_AFFECT_LIST
Definition: goomsl_private.h:45
TYPE_PTR
#define TYPE_PTR
Definition: goomsl_private.h:221
yydefact
static const unsigned char yydefact[]
Definition: goomsl_yacc.c:1624
LTYPE_VAR
#define LTYPE_VAR
Definition: goomsl_yacc.c:81
precommit_div
static void precommit_div(NodeType *mul)
Definition: goomsl_yacc.c:722
OPR_SET
#define OPR_SET
Definition: goomsl_private.h:25
PLUS_EQ
#define PLUS_EQ
Definition: goomsl_yacc.h:67
NOT_EQ
#define NOT_EQ
Definition: goomsl_yacc.h:73
GSL_PUT_JNZERO
static void GSL_PUT_JNZERO(const char *name, int line_number)
Definition: goomsl_yacc.c:188
SUP_EQ
#define SUP_EQ
Definition: goomsl_yacc.h:71
YYSTYPE::nPtr
NodeType * nPtr
Definition: goomsl_yacc.c:1320
_NODE_TYPE::opr
OprNodeType opr
Definition: goomsl_private.h:75
YYTABLE_NINF
#define YYTABLE_NINF
Definition: goomsl_yacc.c:1699
_GSL_StructField::type
int type
Definition: goomsl_private.h:152
yyalloc::yyss
short yyss
Definition: goomsl_yacc.c:1379
yyr1
static const unsigned char yyr1[]
Definition: goomsl_yacc.c:1594
YYTERROR
#define YYTERROR
Definition: goomsl_yacc.c:1833
new_expr1
static NodeType * new_expr1(const char *name, int id, NodeType *expr1)
Definition: goomsl_yacc.c:641
_OprNodeType::type
int type
Definition: goomsl_private.h:61
FLOAT_TK
#define FLOAT_TK
Definition: goomsl_yacc.h:61
TYPE_VAR
#define TYPE_VAR
Definition: goomsl_private.h:220
new_while
static NodeType * new_while(NodeType *expression, NodeType *instr)
Definition: goomsl_yacc.c:838
_GoomSL::num_lines
int num_lines
Definition: goomsl_private.h:166
NOT
#define NOT
Definition: goomsl_yacc.h:66
OPR_IF
#define OPR_IF
Definition: goomsl_private.h:26
DIV_EQ
#define DIV_EQ
Definition: goomsl_yacc.h:69
_ConstPtrNodeType::id
int id
Definition: goomsl_private.h:58
precommit_add
static void precommit_add(NodeType *add)
Definition: goomsl_yacc.c:660
YYSTYPE
union YYSTYPE YYSTYPE
gsl_instr_set_namespace
void gsl_instr_set_namespace(Instruction *_this, GoomHash *ns)
Definition: goomsl.c:132
commit_not
static void commit_not(NodeType *set)
Definition: goomsl_yacc.c:811
OPR_SUB_EQ
#define OPR_SUB_EQ
Definition: goomsl_private.h:41
_GSL_Struct
Definition: goomsl_private.h:157
YYSTYPE::floatValue
float floatValue
Definition: goomsl_yacc.c:1317
_GoomSL::namespaces
GoomHash * namespaces[16]
Definition: goomsl_private.h:174
gsl_declare_var
static void gsl_declare_var(GoomHash *ns, const char *name, int type, void *space)
Definition: goomsl_yacc.c:370
_GoomSL::gsl_struct
GSL_Struct ** gsl_struct
Definition: goomsl_private.h:182
gsl_commit_compilation
void gsl_commit_compilation()
Definition: goomsl_yacc.c:1150
EXTERNAL
#define EXTERNAL
Definition: goomsl_yacc.c:87
lastNode
static NodeType * lastNode
Definition: goomsl_yacc.c:1087
YYTRANSLATE
#define YYTRANSLATE(YYX)
Definition: goomsl_yacc.c:1452
HashValue::i
int i
Definition: goomsl_hash.h:9
goom_hash_put_ptr
void goom_hash_put_ptr(GoomHash *_this, const char *key, void *ptr)
Definition: goomsl_hash.c:102
yytranslate
static const unsigned char yytranslate[]
Definition: goomsl_yacc.c:1456
LTYPE_INTEGER
#define LTYPE_INTEGER
Definition: goomsl_yacc.h:55
commit_test2
static void commit_test2(NodeType *set, const char *type, int instr)
Definition: goomsl_yacc.c:770
gsl_ptr_decl_global
static void gsl_ptr_decl_global(const char *name)
Definition: goomsl_yacc.c:426
YYLAST
#define YYLAST
Definition: goomsl_yacc.c:1437
YYACCEPT
#define YYACCEPT
Definition: goomsl_yacc.c:1803
releaseTemp
static void releaseTemp(int n)
Definition: goomsl_yacc.c:1104
commit_function_outro
static void commit_function_outro(NodeType *node)
Definition: goomsl_yacc.c:968
ALIGN_ADDR
#define ALIGN_ADDR(_addr, _align)
Definition: goomsl_yacc.c:195
gsl_new_struct_field_struct
static GSL_StructField * gsl_new_struct_field_struct(const char *name, const char *type)
Definition: goomsl_yacc.c:332
LTYPE_INTEGER
#define LTYPE_INTEGER
Definition: goomsl_yacc.c:79
new_function_intro
static NodeType * new_function_intro(const char *name)
Definition: goomsl_yacc.c:949
FOR
#define FOR
Definition: goomsl_yacc.c:99
OPR_VAR_LIST
#define OPR_VAR_LIST
Definition: goomsl_private.h:47
new_nop
static NodeType * new_nop(const char *str)
Definition: goomsl_yacc.c:1268
OPR_NODE
#define OPR_NODE
Definition: goomsl_private.h:22
gsl_add_struct_field
static void gsl_add_struct_field(GSL_Struct *s, GSL_StructField *field)
Definition: goomsl_yacc.c:353
TYPE_FLOAT
#define TYPE_FLOAT
Definition: goomsl_private.h:219
YY_REDUCE_PRINT
#define YY_REDUCE_PRINT(Rule)
Definition: goomsl_yacc.c:1951
OPR_EQU
#define OPR_EQU
Definition: goomsl_private.h:31
INSTR_RET
#define INSTR_RET
Definition: goomsl_private.h:233
STRUCT_ALIGNMENT
#define STRUCT_ALIGNMENT
Definition: goomsl_yacc.c:114
YYDSYMPRINTF
#define YYDSYMPRINTF(Title, Token, Value, Location)
Definition: goomsl_yacc.c:1949
get_tmp_id
static int get_tmp_id(NodeType *node)
Definition: goomsl_yacc.c:150
OPR_WHILE
#define OPR_WHILE
Definition: goomsl_private.h:27
LTYPE_VAR
#define LTYPE_VAR
Definition: goomsl_yacc.h:57
field
static int field
Definition: spudec.c:733
yytable
static const unsigned char yytable[]
Definition: goomsl_yacc.c:1700
FIRST_RESERVED
#define FIRST_RESERVED
Definition: goomsl_private.h:216
_GoomSL::currentNS
int currentNS
Definition: goomsl_private.h:173
gsl_append
static NodeType * gsl_append(NodeType *curNode)
Definition: goomsl_yacc.c:1088
PLUS_EQ
#define PLUS_EQ
Definition: goomsl_yacc.c:91
yyparse
int yyparse()
Definition: goomsl_yacc.c:2142
_OprNodeType::nbOp
int nbOp
Definition: goomsl_private.h:62
_NODE_TYPE
Definition: goomsl_private.h:66
goomsl.h
gsl_type_of_var
int gsl_type_of_var(GoomHash *ns, const char *name)
Definition: goomsl_yacc.c:358
new_op
static NodeType * new_op(const char *str, int type, int nbOp)
Definition: goomsl_yacc.c:1273
_NODE_TYPE::unode
union _NODE_TYPE::@40 unode
YYSTACK_FREE
#define YYSTACK_FREE
Definition: goomsl_yacc.c:1367
new_sub_eq
static NodeType * new_sub_eq(NodeType *lvalue, NodeType *expression)
Definition: goomsl_yacc.c:493
new_function_outro
static NodeType * new_function_outro()
Definition: goomsl_yacc.c:965
OPR_BLOCK
#define OPR_BLOCK
Definition: goomsl_private.h:28
commit_while
static void commit_while(NodeType *node)
Definition: goomsl_yacc.c:845
YYSTYPE::strValue
char strValue[2048]
Definition: goomsl_yacc.c:1319
OPR_FUNC_INTRO
#define OPR_FUNC_INTRO
Definition: goomsl_private.h:36
INSTR_CALL
#define INSTR_CALL
Definition: goomsl_private.h:232
precommit_node
static void precommit_node(NodeType *node)
Definition: goomsl_yacc.c:1157
STRUCT
#define STRUCT
Definition: goomsl_yacc.c:98
commit_low
static void commit_low(NodeType *mul)
Definition: goomsl_yacc.c:833
commit_set
static void commit_set(NodeType *set)
Definition: goomsl_yacc.c:468
yynerrs
int yynerrs
Definition: goomsl_yacc.c:2121
nodeNew
static NodeType * nodeNew(const char *str, int type, int line_number)
Definition: goomsl_yacc.c:1215
gsl_float_decl_local
static void gsl_float_decl_local(const char *name)
Definition: goomsl_yacc.c:436
CONST_PTR_NODE
#define CONST_PTR_NODE
Definition: goomsl_private.h:18
YYFINAL
#define YYFINAL
Definition: goomsl_yacc.c:1435
commit_function_intro
static void commit_function_intro(NodeType *node)
Definition: goomsl_yacc.c:956
INSTR_ISEQUAL
#define INSTR_ISEQUAL
Definition: goomsl_private.h:247
commit_div_eq
static void commit_div_eq(NodeType *set)
Definition: goomsl_yacc.c:538
EMPTY_NODE
#define EMPTY_NODE
Definition: goomsl_private.h:15
goom_heap_malloc_with_alignment
void * goom_heap_malloc_with_alignment(GoomHeap *_this, int nb_bytes, int alignment)
Definition: goomsl_heap.c:102
NULL
NULL
Definition: xine_plugin.c:78
new_block
static NodeType * new_block(NodeType *lastNode)
Definition: goomsl_yacc.c:938
commit_foreach
static void commit_foreach(NodeType *node)
Definition: goomsl_yacc.c:872
new_add
static NodeType * new_add(NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:657
gsl_instr_init
Instruction * gsl_instr_init(GoomSL *parent, const char *name, int id, int nb_param, int line_number)
Definition: goomsl.c:175
new_constFloat
static NodeType * new_constFloat(const char *str, int line_number)
Definition: goomsl_yacc.c:1252
LOW_EQ
#define LOW_EQ
Definition: goomsl_yacc.c:96
LTYPE_FLOAT
#define LTYPE_FLOAT
Definition: goomsl_yacc.c:80
gsl_new_struct
static GSL_Struct * gsl_new_struct(GSL_StructField *field)
Definition: goomsl_yacc.c:344
INSTR_JNZERO
#define INSTR_JNZERO
Definition: goomsl_private.h:235
PTR_TK
#define PTR_TK
Definition: goomsl_yacc.h:59
OPR_ADD
#define OPR_ADD
Definition: goomsl_private.h:29
yypgoto
static const yysigned_char yypgoto[]
Definition: goomsl_yacc.c:1688
YYEMPTY
#define YYEMPTY
Definition: goomsl_yacc.c:1800
HashValue::ptr
void * ptr
Definition: goomsl_hash.h:8
yylex
int yylex(void)
Definition: goomsl_lex.c:790
WHILE
#define WHILE
Definition: goomsl_yacc.h:64
lastLabel
static int lastLabel
Definition: goomsl_yacc.c:1145
OPR_FOREACH
#define OPR_FOREACH
Definition: goomsl_private.h:46
NOT_EQ
#define NOT_EQ
Definition: goomsl_yacc.c:97
OPR_MUL
#define OPR_MUL
Definition: goomsl_private.h:30
gsl_int_decl_local
static void gsl_int_decl_local(const char *name)
Definition: goomsl_yacc.c:441
SUP_EQ
#define SUP_EQ
Definition: goomsl_yacc.c:95
STRUCT
#define STRUCT
Definition: goomsl_yacc.h:74
gsl_struct_decl_local
static void gsl_struct_decl_local(const char *struct_name, const char *name)
Definition: goomsl_yacc.c:451
CONST_FLOAT_NODE
#define CONST_FLOAT_NODE
Definition: goomsl_private.h:17
new_div_eq
static NodeType * new_div_eq(NodeType *lvalue, NodeType *expression)
Definition: goomsl_yacc.c:531
_GoomSL::instr
Instruction * instr
Definition: goomsl_private.h:167
YYLEX
#define YYLEX
Definition: goomsl_yacc.c:1852
_OprNodeType::op
struct _NODE_TYPE * op[3]
Definition: goomsl_private.h:63
_OprNodeType::next
struct _NODE_TYPE * next
Definition: goomsl_private.h:64
GOOM_HASH
Definition: goomsl_hash.h:20
nodeClone
static NodeType * nodeClone(NodeType *node)
Definition: goomsl_yacc.c:1224
gsl_get_struct_id
static int gsl_get_struct_id(const char *name)
Definition: goomsl_yacc.c:294
commit_affect_list
static void commit_affect_list(NodeType *node)
Definition: goomsl_yacc.c:1002
YYSTYPE
union YYSTYPE YYSTYPE
YYSTYPE
Definition: goomsl_yacc.c:1315
gsl_leavenamespace
GoomHash * gsl_leavenamespace(void)
Definition: goomsl.c:828
IN
#define IN
Definition: goomsl_yacc.h:76
GSL_PUT_JZERO
static void GSL_PUT_JZERO(const char *name, int line_number)
Definition: goomsl_yacc.c:184
allocateLabel
static int allocateLabel(void)
Definition: goomsl_yacc.c:1146
precommit_sub
static void precommit_sub(NodeType *sub)
Definition: goomsl_yacc.c:668
HashValue
Definition: goomsl_hash.h:7
OPR_MUL_EQ
#define OPR_MUL_EQ
Definition: goomsl_private.h:42
_GSL_Struct::fields
GSL_StructField * fields[64]
Definition: goomsl_private.h:159
_GSL_Struct::fBlock
Block fBlock[64]
Definition: goomsl_private.h:162
precommit_call_expr
static void precommit_call_expr(NodeType *call)
Definition: goomsl_yacc.c:735
commit_if
static void commit_if(NodeType *node)
Definition: goomsl_yacc.c:926
YYSTYPE::gsl_struct_field
GSL_StructField * gsl_struct_field
Definition: goomsl_yacc.c:1323
LOW_EQ
#define LOW_EQ
Definition: goomsl_yacc.h:72
_GSL_Struct::size
int size
Definition: goomsl_private.h:160
LTYPE_FLOAT
#define LTYPE_FLOAT
Definition: goomsl_yacc.h:56
releaseAllTemps
static void releaseAllTemps(void)
Definition: goomsl_yacc.c:1103
_Block::data
int data
Definition: goomsl_private.h:148
commit_plus_eq
static void commit_plus_eq(NodeType *set)
Definition: goomsl_yacc.c:481
OPR_CALL
#define OPR_CALL
Definition: goomsl_private.h:38
INSTR_SET
#define INSTR_SET
Definition: goomsl_private.h:237
new_if
static NodeType * new_if(NodeType *expression, NodeType *instr)
Definition: goomsl_yacc.c:920
gsl_struct_decl_global_from_id
static void gsl_struct_decl_global_from_id(const char *name, int id)
Definition: goomsl_yacc.c:430
YYABORT
#define YYABORT
Definition: goomsl_yacc.c:1804
new_mul_eq
static NodeType * new_mul_eq(NodeType *lvalue, NodeType *expression)
Definition: goomsl_yacc.c:512
INSTR_SUB
#define INSTR_SUB
Definition: goomsl_private.h:246
_GoomSL::structIDS
GoomHash * structIDS
Definition: goomsl_private.h:181
new_expr2
static NodeType * new_expr2(const char *name, int id, NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:648
new_equ
static NodeType * new_equ(NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:822
YYPOPSTACK
#define YYPOPSTACK
OPR_DIV_EQ
#define OPR_DIV_EQ
Definition: goomsl_private.h:43
INT_TK
#define INT_TK
Definition: goomsl_yacc.h:60
YYNTOKENS
#define YYNTOKENS
Definition: goomsl_yacc.c:1440
INSTR_FLOAT
#define INSTR_FLOAT
Definition: goomsl_private.h:239
YYSTACK_BYTES
#define YYSTACK_BYTES(N)
Definition: goomsl_yacc.c:1388
yylval
YYSTYPE yylval
Definition: goomsl_yacc.c:2118
new_plus_eq
static NodeType * new_plus_eq(NodeType *lvalue, NodeType *expression)
Definition: goomsl_yacc.c:474
_Block::size
int size
Definition: goomsl_private.h:149
LTYPE_PTR
#define LTYPE_PTR
Definition: goomsl_yacc.h:58
new_constInt
static NodeType * new_constInt(const char *str, int line_number)
Definition: goomsl_yacc.c:1240
yypact
static const short yypact[]
Definition: goomsl_yacc.c:1661
_NODE_TYPE::vnamespace
GoomHash * vnamespace
Definition: goomsl_private.h:69
GSL_PUT_JUMP
static void GSL_PUT_JUMP(char *name, int line_number)
Definition: goomsl_yacc.c:167
INSTR_JUMP
#define INSTR_JUMP
Definition: goomsl_private.h:230
yysigned_char
short yysigned_char
Definition: goomsl_yacc.c:1431
YYMAXDEPTH
#define YYMAXDEPTH
Definition: goomsl_yacc.c:1972
_NODE_TYPE::line_number
int line_number
Definition: goomsl_private.h:70
new_not
static NodeType * new_not(NodeType *expr1)
Definition: goomsl_yacc.c:808
yycheck
static const short yycheck[]
Definition: goomsl_yacc.c:1727
INSTR_NOT
#define INSTR_NOT
Definition: goomsl_private.h:248
name
const char name[16]
Definition: memcpy.c:569
_ConstFloatNodeType::val
float val
Definition: goomsl_private.h:55
OPR_DIV
#define OPR_DIV
Definition: goomsl_private.h:34
PTR_TK
#define PTR_TK
Definition: goomsl_yacc.c:83
_GoomSL::vars
GoomHash * vars
Definition: goomsl_private.h:172
gsl_prepare_struct
static void gsl_prepare_struct(GSL_Struct *s, int s_align, int i_align, int f_align)
Definition: goomsl_yacc.c:202
yylval
YYSTYPE yylval
Definition: goomsl_yacc.c:2118
_ExternalFunctionStruct
Definition: goomsl_private.h:141
YYINITDEPTH
#define YYINITDEPTH
Definition: goomsl_yacc.c:1957
_GSL_StructField
Definition: goomsl_private.h:151
OPR_LOW
#define OPR_LOW
Definition: goomsl_private.h:33
new_call_expr
static NodeType * new_call_expr(const char *name, NodeType *affect_list)
Definition: goomsl_yacc.c:727
goomsl_private.h
new_constPtr
static NodeType * new_constPtr(const char *str, int line_number)
Definition: goomsl_yacc.c:1246
new_div
static NodeType * new_div(NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:719
yylineno
int yylineno
Definition: goomsl_lex.c:349
new_var
static NodeType * new_var(const char *str, int line_number)
Definition: goomsl_yacc.c:1258
INSTR_MUL
#define INSTR_MUL
Definition: goomsl_private.h:244
INSTR_JZERO
#define INSTR_JZERO
Definition: goomsl_private.h:231
gsl_new_struct_field
static GSL_StructField * gsl_new_struct_field(const char *name, int type)
Definition: goomsl_yacc.c:323
yydestruct
static void yydestruct(int yytype, YYSTYPE *yyvaluep)
Definition: goomsl_yacc.c:2079
commit_block
static void commit_block(NodeType *node)
Definition: goomsl_yacc.c:944
EXTERNAL
#define EXTERNAL
Definition: goomsl_yacc.h:63
OPR_SUB
#define OPR_SUB
Definition: goomsl_private.h:35
OPR_PLUS_EQ
#define OPR_PLUS_EQ
Definition: goomsl_private.h:40
gsl_declare_external_task
void gsl_declare_external_task(const char *name)
Definition: goomsl.c:858
yydefgoto
static const short yydefgoto[]
Definition: goomsl_yacc.c:1651
_ExternalFunctionStruct::is_extern
int is_extern
Definition: goomsl_private.h:144
yychar
int yychar
Definition: goomsl_yacc.c:2115
new_call
static NodeType * new_call(const char *name, NodeType *affect_list)
Definition: goomsl_yacc.c:1032
_GSL_Struct::nbFields
int nbFields
Definition: goomsl_private.h:158
DECLARE
#define DECLARE
Definition: goomsl_yacc.c:86
YYSTYPE::intValue
int intValue
Definition: goomsl_yacc.c:1316
OPR_FUNC_OUTRO
#define OPR_FUNC_OUTRO
Definition: goomsl_private.h:37
INSTR_DIV
#define INSTR_DIV
Definition: goomsl_private.h:245
gsl_add_struct
static void gsl_add_struct(const char *name, GSL_Struct *gsl_struct)
Definition: goomsl_yacc.c:302
allocateTemp
static int allocateTemp(void)
Definition: goomsl_yacc.c:1100
_GoomSL::data_heap
GoomHeap * data_heap
Definition: goomsl_private.h:178
_GSL_Struct::iBlock
Block iBlock[64]
Definition: goomsl_private.h:161
TYPE_INTEGER
#define TYPE_INTEGER
Definition: goomsl_private.h:218
commit_mul_eq
static void commit_mul_eq(NodeType *set)
Definition: goomsl_yacc.c:519
_NODE_TYPE::type
int type
Definition: goomsl_private.h:67
currentGoomSL
GoomSL * currentGoomSL
Definition: goomsl_lex.c:635
commit_sub_eq
static void commit_sub_eq(NodeType *set)
Definition: goomsl_yacc.c:500
DO
#define DO
Definition: goomsl_yacc.c:89
_GoomSL::compilationOK
int compilationOK
Definition: goomsl_private.h:189
commit_ext_call
static void commit_ext_call(NodeType *node)
Definition: goomsl_yacc.c:1063
new_low
static NodeType * new_low(NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:830
gsl_enternamespace
void gsl_enternamespace(const char *name)
Definition: goomsl.c:809
yyalloc::yyvs
YYSTYPE yyvs
Definition: goomsl_yacc.c:1380
FOR
#define FOR
Definition: goomsl_yacc.h:75
yyalloc
Definition: goomsl_yacc.c:1377
_GoomSL
Definition: goomsl_private.h:165
GSL_PUT_JXXX
static void GSL_PUT_JXXX(const char *name, const char *iname, int instr_id, int line_number)
Definition: goomsl_yacc.c:176
is_commutative_expr
static int is_commutative_expr(int itype)
Definition: goomsl_yacc.c:152
yystos
static const unsigned char yystos[]
Definition: goomsl_yacc.c:1756
GSL_PUT_LABEL
static void GSL_PUT_LABEL(char *name, int line_number)
Definition: goomsl_yacc.c:159
new_sub
static NodeType * new_sub(NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:665
YYSTACK_RELOCATE
#define YYSTACK_RELOCATE(Stack)
Definition: goomsl_yacc.c:1415
YYSTACK_ALLOC
#define YYSTACK_ALLOC
Definition: goomsl_yacc.c:1366
_NODE_TYPE::constInt
ConstIntNodeType constInt
Definition: goomsl_private.h:72
INSTR_INT
#define INSTR_INT
Definition: goomsl_private.h:238
precommit_expr
static void precommit_expr(NodeType *expr, const char *type, int instr_id)
Definition: goomsl_yacc.c:551
new_var_list
static NodeType * new_var_list(NodeType *var, NodeType *next)
Definition: goomsl_yacc.c:1020
gsl_float_decl_global
static void gsl_float_decl_global(const char *name)
Definition: goomsl_yacc.c:418
INSTR_PTR
#define INSTR_PTR
Definition: goomsl_private.h:240
SUB_EQ
#define SUB_EQ
Definition: goomsl_yacc.c:92
new_mul
static NodeType * new_mul(NodeType *expr1, NodeType *expr2)
Definition: goomsl_yacc.c:711
_GoomSL::nbStructID
int nbStructID
Definition: goomsl_private.h:180
INT_TK
#define INT_TK
Definition: goomsl_yacc.c:84
gsl_find_namespace
GoomHash * gsl_find_namespace(const char *name)
Definition: goomsl.c:834
commit_equ
static void commit_equ(NodeType *mul)
Definition: goomsl_yacc.c:825
YYSTYPE::charValue
char charValue
Definition: goomsl_yacc.c:1318
new_neg
static NodeType * new_neg(NodeType *expr)
Definition: goomsl_yacc.c:673
_NODE_TYPE::constFloat
ConstFloatNodeType constFloat
Definition: goomsl_private.h:73
OPR_CALL_EXPR
#define OPR_CALL_EXPR
Definition: goomsl_private.h:44
FLOAT_TK
#define FLOAT_TK
Definition: goomsl_yacc.c:85
new_static_foreach
static NodeType * new_static_foreach(NodeType *var, NodeType *var_list, NodeType *instr)
Definition: goomsl_yacc.c:864
WHILE
#define WHILE
Definition: goomsl_yacc.c:88
DECLARE
#define DECLARE
Definition: goomsl_yacc.h:62
LTYPE_PTR
#define LTYPE_PTR
Definition: goomsl_yacc.c:82
new_set
static NodeType * new_set(NodeType *lvalue, NodeType *expression)
Definition: goomsl_yacc.c:461
YYPACT_NINF
#define YYPACT_NINF
Definition: goomsl_yacc.c:1660
INSTR_ADD
#define INSTR_ADD
Definition: goomsl_private.h:243
yytokentype
yytokentype
Definition: goomsl_yacc.c:54
SUB_EQ
#define SUB_EQ
Definition: goomsl_yacc.h:68
MUL_EQ
#define MUL_EQ
Definition: goomsl_yacc.c:94
commit_var_list
static void commit_var_list(NodeType *node)
Definition: goomsl_yacc.c:1027
nodeFreeInternals
static void nodeFreeInternals(NodeType *node)
Definition: goomsl_yacc.c:1231
gsl_declare_global_variable
static void gsl_declare_global_variable(int type, char *name)
Definition: goomsl_yacc.c:1284
goom_hash_get
HashValue * goom_hash_get(GoomHash *_this, const char *key)
Definition: goomsl_hash.c:85
_NODE_TYPE::str
char * str
Definition: goomsl_private.h:68
DO
#define DO
Definition: goomsl_yacc.h:65
precommit_mul
static void precommit_mul(NodeType *mul)
Definition: goomsl_yacc.c:714
INSTR_EXT_CALL
#define INSTR_EXT_CALL
Definition: goomsl_private.h:234
YYSIZE_T
#define YYSIZE_T
Definition: goomsl_yacc.c:1795
_GoomSL::functions
GoomHash * functions
Definition: goomsl_private.h:176
rootNode
static NodeType * rootNode
Definition: goomsl_yacc.c:1086
yyr2
static const unsigned char yyr2[]
Definition: goomsl_yacc.c:1608
MUL_EQ
#define MUL_EQ
Definition: goomsl_yacc.h:70
INSTR_LABEL
#define INSTR_LABEL
Definition: goomsl_private.h:241
gsl_instr_add_param
void gsl_instr_add_param(Instruction *instr, const char *param, int type)
Definition: goomsl.c:141
_NODE_TYPE::constPtr
ConstPtrNodeType constPtr
Definition: goomsl_private.h:74
IN
#define IN
Definition: goomsl_yacc.c:100
YYDPRINTF
#define YYDPRINTF(Args)
Definition: goomsl_yacc.c:1947
YYSTYPE::gsl_struct
GSL_Struct * gsl_struct
Definition: goomsl_yacc.c:1321
OPR_NOT
#define OPR_NOT
Definition: goomsl_private.h:32
goom_heap_malloc_with_alignment_prefixed
void * goom_heap_malloc_with_alignment_prefixed(GoomHeap *_this, int nb_bytes, int alignment, int prefix_bytes)
Definition: goomsl_heap.c:56
_GoomSL::gsl_struct_size
int gsl_struct_size
Definition: goomsl_private.h:183
gsl_int_decl_global
static void gsl_int_decl_global(const char *name)
Definition: goomsl_yacc.c:422
new_affec_list
static NodeType * new_affec_list(NodeType *set, NodeType *next)
Definition: goomsl_yacc.c:978
gsl_struct_decl
static void gsl_struct_decl(GoomHash *namespace, const char *struct_name, const char *name)
Definition: goomsl_yacc.c:412
TYPE_LABEL
#define TYPE_LABEL
Definition: goomsl_private.h:222
NOT
#define NOT
Definition: goomsl_yacc.c:90
DIV_EQ
#define DIV_EQ
Definition: goomsl_yacc.c:93
VAR_NODE
#define VAR_NODE
Definition: goomsl_private.h:19
YY_STACK_PRINT
#define YY_STACK_PRINT(Bottom, Top)
Definition: goomsl_yacc.c:1950
OPR_EXT_CALL
#define OPR_EXT_CALL
Definition: goomsl_private.h:39
INSTR_ISLOWER
#define INSTR_ISLOWER
Definition: goomsl_private.h:242
YYEOF
#define YYEOF
Definition: goomsl_yacc.c:1801
yyerror
void yyerror(const char *)
Definition: goomsl_yacc.c:2989
_GSL_StructField::name
char name[256]
Definition: goomsl_private.h:153
_GSL_StructField::offsetInStruct
int offsetInStruct
Definition: goomsl_private.h:154