|
Clan
0.8.0
|
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <osl/macros.h>#include <osl/int.h>#include <osl/vector.h>#include <osl/relation.h>#include <osl/statement.h>#include <osl/strings.h>#include <osl/generic.h>#include <osl/body.h>#include <osl/extensions/arrays.h>#include <osl/extensions/extbody.h>#include <osl/scop.h>#include <clan/macros.h>#include <clan/vector.h>#include <clan/relation.h>#include <clan/relation_list.h>#include <clan/scop.h>#include <clan/symbol.h>#include <clan/statement.h>#include <clan/options.h>
Go to the source code of this file.
Data Structures | |
| union | YYSTYPE |
| union | yyalloc |
Defines | |
| #define | YYBISON 1 |
| #define | YYBISON_VERSION "2.5" |
| #define | YYSKELETON_NAME "yacc.c" |
| #define | YYPURE 0 |
| #define | YYPUSH 0 |
| #define | YYPULL 1 |
| #define | YYLSP_NEEDED 0 |
| #define | YYDEBUG 0 |
| #define | YYERROR_VERBOSE 0 |
| #define | YYTOKEN_TABLE 0 |
| #define | YYTOKENTYPE |
| #define | CONSTANT 258 |
| #define | STRING_LITERAL 259 |
| #define | SIZEOF 260 |
| #define | PTR_OP 261 |
| #define | INC_OP 262 |
| #define | DEC_OP 263 |
| #define | LEFT_OP 264 |
| #define | RIGHT_OP 265 |
| #define | LE_OP 266 |
| #define | GE_OP 267 |
| #define | EQ_OP 268 |
| #define | NE_OP 269 |
| #define | AND_OP 270 |
| #define | OR_OP 271 |
| #define | MUL_ASSIGN 272 |
| #define | DIV_ASSIGN 273 |
| #define | MOD_ASSIGN 274 |
| #define | ADD_ASSIGN 275 |
| #define | SUB_ASSIGN 276 |
| #define | LEFT_ASSIGN 277 |
| #define | RIGHT_ASSIGN 278 |
| #define | AND_ASSIGN 279 |
| #define | XOR_ASSIGN 280 |
| #define | OR_ASSIGN 281 |
| #define | TYPE_NAME 282 |
| #define | TYPEDEF 283 |
| #define | EXTERN 284 |
| #define | STATIC 285 |
| #define | AUTO 286 |
| #define | REGISTER 287 |
| #define | INLINE 288 |
| #define | RESTRICT 289 |
| #define | CHAR 290 |
| #define | SHORT 291 |
| #define | INT 292 |
| #define | LONG 293 |
| #define | SIGNED 294 |
| #define | UNSIGNED 295 |
| #define | FLOAT 296 |
| #define | DOUBLE 297 |
| #define | CONST 298 |
| #define | VOLATILE 299 |
| #define | VOID 300 |
| #define | BOOL 301 |
| #define | COMPLEX 302 |
| #define | IMAGINARY 303 |
| #define | STRUCT 304 |
| #define | UNION 305 |
| #define | ENUM 306 |
| #define | ELLIPSIS 307 |
| #define | CASE 308 |
| #define | DEFAULT 309 |
| #define | IF 310 |
| #define | ELSE 311 |
| #define | SWITCH 312 |
| #define | WHILE 313 |
| #define | DO 314 |
| #define | FOR 315 |
| #define | GOTO 316 |
| #define | CONTINUE 317 |
| #define | BREAK 318 |
| #define | RETURN 319 |
| #define | IGNORE 320 |
| #define | PRAGMA 321 |
| #define | MIN 322 |
| #define | MAX 323 |
| #define | CEILD 324 |
| #define | FLOORD 325 |
| #define | ID 326 |
| #define | INTEGER 327 |
| #define | YYSTYPE_IS_TRIVIAL 1 |
| #define | yystype YYSTYPE /* obsolescent; will be withdrawn */ |
| #define | YYSTYPE_IS_DECLARED 1 |
| #define | YYSIZE_T unsigned int |
| #define | YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
| #define | YY_(msgid) msgid |
| #define | YYUSE(e) ((void) (e)) |
| #define | YYID(n) (n) |
| #define | YYSTACK_ALLOC YYMALLOC |
| #define | YYSTACK_FREE YYFREE |
| #define | YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| #define | YYMALLOC malloc |
| #define | YYFREE free |
| #define | YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
| #define | YYSTACK_BYTES(N) |
| #define | YYCOPY_NEEDED 1 |
| #define | YYSTACK_RELOCATE(Stack_alloc, Stack) |
| #define | YYCOPY(To, From, Count) |
| #define | YYFINAL 7 |
| #define | YYLAST 740 |
| #define | YYNTOKENS 97 |
| #define | YYNNTS 91 |
| #define | YYNRULES 252 |
| #define | YYNSTATES 426 |
| #define | YYUNDEFTOK 2 |
| #define | YYMAXUTOK 327 |
| #define | YYTRANSLATE(YYX) ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| #define | YYPACT_NINF -261 |
| #define | YYTABLE_NINF -85 |
| #define | yypact_value_is_default(yystate) ((yystate) == (-261)) |
| #define | yytable_value_is_error(yytable_value) YYID (0) |
| #define | yyerrok (yyerrstatus = 0) |
| #define | yyclearin (yychar = YYEMPTY) |
| #define | YYEMPTY (-2) |
| #define | YYEOF 0 |
| #define | YYACCEPT goto yyacceptlab |
| #define | YYABORT goto yyabortlab |
| #define | YYERROR goto yyerrorlab |
| #define | YYFAIL goto yyerrlab |
| #define | YYRECOVERING() (!!yyerrstatus) |
| #define | YYBACKUP(Token, Value) |
| #define | YYTERROR 1 |
| #define | YYERRCODE 256 |
| #define | YYRHSLOC(Rhs, K) ((Rhs)[K]) |
| #define | YYLLOC_DEFAULT(Current, Rhs, N) |
| #define | YY_LOCATION_PRINT(File, Loc) ((void) 0) |
| #define | YYLEX yylex () |
| #define | YYDPRINTF(Args) |
| #define | YY_SYMBOL_PRINT(Title, Type, Value, Location) |
| #define | YY_STACK_PRINT(Bottom, Top) |
| #define | YY_REDUCE_PRINT(Rule) |
| #define | YYINITDEPTH 200 |
| #define | YYMAXDEPTH 10000 |
| #define | YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) |
Typedefs | |
| typedef union YYSTYPE | YYSTYPE |
| typedef unsigned char | yytype_uint8 |
| typedef short int | yytype_int8 |
| typedef unsigned short int | yytype_uint16 |
| typedef short int | yytype_int16 |
Enumerations | |
| enum | yytokentype { CONSTANT = 258, STRING_LITERAL = 259, SIZEOF = 260, PTR_OP = 261, INC_OP = 262, DEC_OP = 263, LEFT_OP = 264, RIGHT_OP = 265, LE_OP = 266, GE_OP = 267, EQ_OP = 268, NE_OP = 269, AND_OP = 270, OR_OP = 271, MUL_ASSIGN = 272, DIV_ASSIGN = 273, MOD_ASSIGN = 274, ADD_ASSIGN = 275, SUB_ASSIGN = 276, LEFT_ASSIGN = 277, RIGHT_ASSIGN = 278, AND_ASSIGN = 279, XOR_ASSIGN = 280, OR_ASSIGN = 281, TYPE_NAME = 282, TYPEDEF = 283, EXTERN = 284, STATIC = 285, AUTO = 286, REGISTER = 287, INLINE = 288, RESTRICT = 289, CHAR = 290, SHORT = 291, INT = 292, LONG = 293, SIGNED = 294, UNSIGNED = 295, FLOAT = 296, DOUBLE = 297, CONST = 298, VOLATILE = 299, VOID = 300, BOOL = 301, COMPLEX = 302, IMAGINARY = 303, STRUCT = 304, UNION = 305, ENUM = 306, ELLIPSIS = 307, CASE = 308, DEFAULT = 309, IF = 310, ELSE = 311, SWITCH = 312, WHILE = 313, DO = 314, FOR = 315, GOTO = 316, CONTINUE = 317, BREAK = 318, RETURN = 319, IGNORE = 320, PRAGMA = 321, MIN = 322, MAX = 323, CEILD = 324, FLOORD = 325, ID = 326, INTEGER = 327, CONSTANT = 258, STRING_LITERAL = 259, SIZEOF = 260, PTR_OP = 261, INC_OP = 262, DEC_OP = 263, LEFT_OP = 264, RIGHT_OP = 265, LE_OP = 266, GE_OP = 267, EQ_OP = 268, NE_OP = 269, AND_OP = 270, OR_OP = 271, MUL_ASSIGN = 272, DIV_ASSIGN = 273, MOD_ASSIGN = 274, ADD_ASSIGN = 275, SUB_ASSIGN = 276, LEFT_ASSIGN = 277, RIGHT_ASSIGN = 278, AND_ASSIGN = 279, XOR_ASSIGN = 280, OR_ASSIGN = 281, TYPE_NAME = 282, TYPEDEF = 283, EXTERN = 284, STATIC = 285, AUTO = 286, REGISTER = 287, INLINE = 288, RESTRICT = 289, CHAR = 290, SHORT = 291, INT = 292, LONG = 293, SIGNED = 294, UNSIGNED = 295, FLOAT = 296, DOUBLE = 297, CONST = 298, VOLATILE = 299, VOID = 300, BOOL = 301, COMPLEX = 302, IMAGINARY = 303, STRUCT = 304, UNION = 305, ENUM = 306, ELLIPSIS = 307, CASE = 308, DEFAULT = 309, IF = 310, ELSE = 311, SWITCH = 312, WHILE = 313, DO = 314, FOR = 315, GOTO = 316, CONTINUE = 317, BREAK = 318, RETURN = 319, IGNORE = 320, PRAGMA = 321, MIN = 322, MAX = 323, CEILD = 324, FLOORD = 325, ID = 326, INTEGER = 327 } |
Functions | |
| int | yylex (void) |
| void | yyerror (char *) |
| void | yyrestart (FILE *) |
| void | clan_scanner_initialize () |
| void | clan_scanner_reinitialize (int, int, int) |
| void | clan_scanner_free () |
| void | clan_parser_add_ld () |
| int | clan_parser_nb_ld () |
| void | clan_parser_log (char *) |
| void | clan_parser_increment_loop_depth () |
| void | clan_parser_state_initialize (clan_options_p) |
| osl_scop_p | clan_parse (FILE *, clan_options_p) |
| static void | yydestruct (char *yymsg, int yytype, YYSTYPE *yyvaluep) const |
| int | yyparse () |
| void | clan_parser_state_malloc (int precision) |
| void | clan_parser_state_free () |
| void | clan_parser_reinitialize () |
| void | clan_parser_autoscop () |
Variables | |
| FILE * | yyin = (FILE *) 0 |
| int | scanner_parsing |
| char * | scanner_latest_text |
| char * | scanner_clay |
| int | scanner_line |
| int | scanner_column |
| int | scanner_column_LALR |
| int | scanner_scop_start |
| int | scanner_scop_end |
| int | scanner_pragma |
| osl_scop_p | parser_scop |
| clan_symbol_p | parser_symbol |
| int | parser_recording |
| char * | parser_record |
| int | parser_loop_depth |
| int | parser_if_depth |
| int * | parser_scattering |
| clan_symbol_p * | parser_iterators |
| osl_relation_list_p | parser_stack |
| int * | parser_nb_local_dims |
| int | parser_nb_parameters |
| int * | parser_valid_else |
| int | parser_indent |
| int | parser_error |
| int | parser_ceild |
| int | parser_floord |
| int | parser_min |
| int | parser_max |
| int | parser_autoscop |
| int | parser_line_start |
| int | parser_line_end |
| int | parser_column_start |
| int | parser_column_end |
| clan_options_p | parser_options |
| osl_extbody_p | parser_access_extbody |
| int | parser_access_start |
| int | parser_access_length |
| static const yytype_uint8 | yytranslate [] |
| static const yytype_uint8 | yyr1 [] |
| static const yytype_uint8 | yyr2 [] |
| static const yytype_uint8 | yydefact [] |
| static const yytype_int16 | yydefgoto [] |
| static const yytype_int16 | yypact [] |
| static const yytype_int16 | yypgoto [] |
| static const yytype_int16 | yytable [] |
| static const yytype_int16 | yycheck [] |
| static const yytype_uint8 | yystos [] |
| int | yychar |
| YYSTYPE | yylval |
| int | yynerrs |
| #define ADD_ASSIGN 275 |
| #define AND_ASSIGN 279 |
| #define DIV_ASSIGN 273 |
| #define IGNORE 320 |
Definition at line 322 of file parser.c.
Referenced by clan_scanner().
| #define LEFT_ASSIGN 277 |
| #define MOD_ASSIGN 274 |
| #define MUL_ASSIGN 272 |
| #define RIGHT_ASSIGN 278 |
| #define STRING_LITERAL 259 |
| #define SUB_ASSIGN 276 |
| #define XOR_ASSIGN 280 |
| #define YY_LOCATION_PRINT | ( | File, | |
| Loc | |||
| ) | ((void) 0) |
| #define YY_REDUCE_PRINT | ( | Rule | ) |
| #define YY_STACK_PRINT | ( | Bottom, | |
| Top | |||
| ) |
| #define YY_SYMBOL_PRINT | ( | Title, | |
| Type, | |||
| Value, | |||
| Location | |||
| ) |
Definition at line 1510 of file parser.c.
Referenced by yydestruct(), and yyparse().
| #define YYACCEPT goto yyacceptlab |
| #define YYBACKUP | ( | Token, | |
| Value | |||
| ) |
| #define YYBISON_VERSION "2.5" |
| #define YYCOPY | ( | To, | |
| From, | |||
| Count | |||
| ) |
| #define YYCOPY_NEEDED 1 |
| #define YYERROR_VERBOSE 0 |
| #define YYINITDEPTH 200 |
| #define YYLLOC_DEFAULT | ( | Current, | |
| Rhs, | |||
| N | |||
| ) |
do \
if (YYID (N)) \
{ \
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
} \
else \
{ \
(Current).first_line = (Current).last_line = \
YYRHSLOC (Rhs, 0).last_line; \
(Current).first_column = (Current).last_column = \
YYRHSLOC (Rhs, 0).last_column; \
} \
while (YYID (0))
| #define YYLSP_NEEDED 0 |
| #define YYMAXDEPTH 10000 |
| #define YYPACT_NINF -261 |
| #define yypact_value_is_default | ( | yystate | ) | ((yystate) == (-261)) |
| #define YYPOPSTACK | ( | N | ) | (yyvsp -= (N), yyssp -= (N)) |
Referenced by yyparse().
| #define YYRECOVERING | ( | ) | (!!yyerrstatus) |
| #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) |
| #define YYSKELETON_NAME "yacc.c" |
| #define YYSTACK_ALLOC YYMALLOC |
| #define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM |
| #define YYSTACK_BYTES | ( | N | ) |
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM)
Definition at line 534 of file parser.c.
Referenced by yyparse().
| #define YYSTACK_FREE YYFREE |
| #define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) |
| #define YYSTACK_RELOCATE | ( | Stack_alloc, | |
| Stack | |||
| ) |
do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0))
Definition at line 545 of file parser.c.
Referenced by yyparse().
| #define YYSTYPE_IS_DECLARED 1 |
| #define YYSTYPE_IS_TRIVIAL 1 |
| #define YYTABLE_NINF -85 |
| #define yytable_value_is_error | ( | yytable_value | ) | YYID (0) |
| #define YYTOKEN_TABLE 0 |
| #define YYTOKENTYPE |
| #define YYTRANSLATE | ( | YYX | ) | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
| #define YYUNDEFTOK 2 |
| #define YYUSE | ( | e | ) | ((void) (e)) |
Definition at line 425 of file parser.c.
Referenced by yydestruct().
| typedef short int yytype_int16 |
| typedef short int yytype_int8 |
| typedef unsigned short int yytype_uint16 |
| typedef unsigned char yytype_uint8 |
| enum yytokentype |
| osl_scop_p clan_parse | ( | FILE * | input, |
| clan_options_p | options | ||
| ) |
clan_parse function: this function parses a file to extract a SCoP and returns, if successful, a pointer to the osl_scop_t structure.
| input | The file to parse (already open). |
| options | Options for file parsing. |
Definition at line 4810 of file parser.c.
References clan_options::autoscop, CLAN_debug, clan_parser_autoscop(), clan_parser_state_free(), clan_parser_state_initialize(), clan_parser_state_malloc(), clan_scanner_free(), clan_scanner_initialize(), parser_error, parser_scop, clan_options::precision, yyin, yyparse(), and yyrestart().
Referenced by clan_scop_extract().
| void clan_parser_add_ld | ( | void | ) |
Definition at line 4555 of file parser.c.
References CLAN_DEBUG, CLAN_debug, CLAN_error, CLAN_MAX_LOCAL_DIMS, clan_parser_nb_ld(), parser_if_depth, parser_loop_depth, and parser_nb_local_dims.
Referenced by clan_relation_stride(), and yyparse().
| void clan_parser_autoscop | ( | ) |
clan_parser_autoscop function: this functions performs the automatic extraction of SCoPs from the input file. It leaves the SCoP pragmas already set by the user intact (note that as a consequence, user-SCoPs cannot be inserted to a larger SCoP). It writes a file (named by the CLAN_AUTOPRAGMA_FILE macro) with the input code where new SCoP pragmas have been inserted. If the option -autoscop is set, it puts the list of SCoPs (including automatically discovered SCoPs and user-SCoPs) in parser_scop.
Definition at line 4689 of file parser.c.
References clan_options::autoscop, CLAN_AUTOPRAGMA_FILE, CLAN_DEBUG, CLAN_error, CLAN_FALSE, CLAN_MAX_SCOPS, clan_parser_reinitialize(), clan_scanner_free(), clan_scanner_reinitialize(), clan_scop_print_autopragma(), clan_scop_update_coordinates(), CLAN_TRUE, CLAN_UNDEFINED, CLAN_warning, parser_autoscop, parser_column_end, parser_column_start, parser_error, parser_line_end, parser_line_start, parser_scop, scanner_column, scanner_line, scanner_parsing, scanner_pragma, scanner_scop_end, scanner_scop_start, yyin, yyparse(), and yyrestart().
Referenced by clan_parse().
| void clan_parser_increment_loop_depth | ( | ) |
Definition at line 4580 of file parser.c.
References CLAN_error, CLAN_MAX_DEPTH, parser_if_depth, and parser_loop_depth.
Referenced by yyparse().
| void clan_parser_log | ( | char * | ) |
| int clan_parser_nb_ld | ( | void | ) |
Definition at line 4571 of file parser.c.
References parser_if_depth, parser_loop_depth, and parser_nb_local_dims.
Referenced by clan_parser_add_ld(), clan_relation_stride(), and yyparse().
| void clan_parser_reinitialize | ( | ) |
clan_parser_reinitialize function: this function frees the temporary dynamic variables of the parser and reset the variables to default values. It is meant to be used for a clean restart after a parse error.
Definition at line 4665 of file parser.c.
References clan_parser_state_initialize(), clan_symbol_free(), parser_loop_depth, parser_record, parser_scop, and parser_stack.
Referenced by clan_parser_autoscop().
| void clan_parser_state_free | ( | ) |
clan_parser_state_free function: this function frees the memory allocated for the "parser state", with the exception of the parser_scop.
Definition at line 4612 of file parser.c.
References clan_symbol_free(), parser_nb_local_dims, parser_scattering, parser_stack, and parser_valid_else.
Referenced by clan_parse().
| void clan_parser_state_initialize | ( | clan_options_p | options | ) |
clan_parser_state_initialize function: this function achieves the initialization of the "parser state", with the exception of parser_scop.
Definition at line 4627 of file parser.c.
References CLAN_FALSE, CLAN_MAX_DEPTH, CLAN_UNDEFINED, parser_autoscop, parser_ceild, parser_column_end, parser_column_start, parser_error, parser_floord, parser_if_depth, parser_indent, parser_line_end, parser_line_start, parser_loop_depth, parser_max, parser_min, parser_nb_local_dims, parser_nb_parameters, parser_record, parser_recording, parser_scattering, and parser_valid_else.
Referenced by clan_parse(), clan_parser_reinitialize(), and yyparse().
| void clan_parser_state_malloc | ( | int | precision | ) |
clan_parser_state_malloc function: this function achieves the memory allocation for the "parser state".
| [in] | precision | Precision of the integer elements. |
Definition at line 4592 of file parser.c.
References CLAN_malloc, CLAN_MAX_DEPTH, CLAN_MAX_LOCAL_DIMS, CLAN_MAX_PARAMETERS, parser_nb_local_dims, parser_scattering, parser_stack, and parser_valid_else.
Referenced by clan_parse().
| void clan_scanner_free | ( | ) |
clan_scanner_free function: this function frees the memory allocated for the scanner. It frees flex's buffer (it supposes there is only one buffer) since flex does never free it itself. WARNING: this is probably not portable...
Definition at line 2799 of file scanner.c.
References YY_CURRENT_BUFFER, and yy_delete_buffer().
Referenced by clan_parse(), and clan_parser_autoscop().
| void clan_scanner_initialize | ( | ) |
clan_scanner_initialize function: this function initialises the scanner global variables with default values.
Definition at line 2735 of file scanner.c.
References CLAN_FALSE, CLAN_malloc, CLAN_UNDEFINED, yy_buffer_stack_top, YY_CURRENT_BUFFER, and yy_flush_buffer().
Referenced by clan_parse(), and clan_scanner_reinitialize().
| void clan_scanner_reinitialize | ( | int | pragma, |
| int | line, | ||
| int | column | ||
| ) |
clan_scanner_reinitialize function: this function frees the temporary dynamic variables of the scanner and and reset the variables to default or input values. It is meant to be used for a clean restart after a parse error.
| [in] | pragma | The initialization value of scanner_pragma. |
| [in] | line | The initialization value of scanner_line. |
| [in] | column | The initialization value of scanner_column. |
Definition at line 2763 of file scanner.c.
References clan_scanner_initialize().
Referenced by clan_parser_autoscop().
| static void yydestruct | ( | char * | yymsg, |
| int | yytype, | ||
| YYSTYPE * | yyvaluep | ||
| ) | const [static] |
Definition at line 1782 of file parser.c.
References YYSTYPE::affex, YYSTYPE::list, YYSTYPE::stmt, YYSTYPE::symbol, YY_SYMBOL_PRINT, and YYUSE.
Referenced by yyparse().
| void yyerror | ( | char * | s | ) |
Definition at line 4506 of file parser.c.
References clan_options::autoscop, CLAN_debug, CLAN_TRUE, CLAN_warning, clan_options::name, parser_error, scanner_column, and scanner_line.
Referenced by clan_symbol_new_iterator(), clan_symbol_update_type(), and yyparse().
| int yylex | ( | void | ) |
| int yyparse | ( | ) |
Definition at line 2174 of file parser.c.
References YYSTYPE::affex, clan_options::autoscop, CLAN_DEBUG, CLAN_debug, CLAN_debug_call, CLAN_error, CLAN_FALSE, CLAN_MAX_DEPTH, CLAN_MAX_LOCAL_DIMS, CLAN_MAX_PARAMETERS, clan_parser_add_ld(), clan_parser_increment_loop_depth(), clan_parser_nb_ld(), clan_parser_state_initialize(), clan_relation_and(), clan_relation_build_context(), clan_relation_existential(), clan_relation_greater(), clan_relation_list_define_type(), clan_relation_loop_context(), clan_relation_new_output_scalar(), clan_relation_new_output_vector(), clan_relation_not(), clan_relation_scattering(), clan_relation_stride(), clan_relation_tag_array(), clan_scop_compact(), clan_scop_generate_clay(), clan_scop_generate_coordinates(), clan_scop_generate_scatnames(), clan_scop_simplify(), CLAN_strdup, clan_symbol_add(), clan_symbol_array_to_strings(), clan_symbol_free(), clan_symbol_nb_of_type(), clan_symbol_new_iterator(), clan_symbol_to_arrays(), clan_symbol_to_strings(), clan_symbol_update_type(), CLAN_TRUE, CLAN_TYPE_ARRAY, CLAN_TYPE_FIELD, CLAN_TYPE_FUNCTION, CLAN_TYPE_ITERATOR, CLAN_TYPE_PARAMETER, CLAN_TYPE_RDWR, CLAN_TYPE_WRITE, CLAN_UNDEFINED, clan_vector_term(), clan_options::extbody, clan_symbol::key, YYSTYPE::list, clan_options::name, clan_options::noloopcontext, clan_options::nosimplify, parser_access_extbody, parser_access_length, parser_access_start, parser_autoscop, parser_ceild, parser_column_end, parser_column_start, parser_floord, parser_if_depth, parser_indent, parser_line_end, parser_line_start, parser_loop_depth, parser_max, parser_min, parser_nb_local_dims, parser_nb_parameters, parser_record, parser_recording, parser_scattering, parser_scop, parser_stack, parser_valid_else, clan_options::precision, scanner_clay, scanner_column, scanner_column_LALR, scanner_latest_text, scanner_line, YYSTYPE::setex, YYSTYPE::stmt, YYSTYPE::symbol, clan_symbol::type, YYSTYPE::value, YY_, YY_REDUCE_PRINT, YY_STACK_PRINT, YY_SYMBOL_PRINT, YYABORT, YYACCEPT, yydestruct(), YYDPRINTF, YYEMPTY, YYEOF, yyerror(), YYFINAL, YYID, YYINITDEPTH, YYLAST, YYLEX, yylval, YYMAXDEPTH, yynerrs, YYNTOKENS, yypact_value_is_default, YYPOPSTACK, YYSIZE_T, yyalloc::yyss_alloc, YYSTACK_ALLOC, YYSTACK_BYTES, YYSTACK_FREE, YYSTACK_RELOCATE, yytable_value_is_error, YYTERROR, YYTRANSLATE, and yyalloc::yyvs_alloc.
Referenced by clan_parse(), and clan_parser_autoscop().
| void yyrestart | ( | FILE * | ) |
Referenced by clan_parse(), and clan_parser_autoscop().
| osl_extbody_p parser_access_extbody |
| int parser_autoscop |
Boolean: autoscop in progress
Definition at line 144 of file parser.c.
Referenced by clan_parser_autoscop(), clan_parser_state_initialize(), and yyparse().
| int parser_ceild |
Boolean: ceild used
Definition at line 138 of file parser.c.
Referenced by clan_parser_state_initialize(), and yyparse().
Autoscop end column, exclusive
Definition at line 148 of file parser.c.
Referenced by clan_parser_autoscop(), clan_parser_state_initialize(), and yyparse().
Autoscop start column, inclus.
Definition at line 147 of file parser.c.
Referenced by clan_parser_autoscop(), clan_parser_state_initialize(), and yyparse().
| int parser_error |
Boolean: parse error
Definition at line 136 of file parser.c.
Referenced by clan_parse(), clan_parser_autoscop(), clan_parser_state_initialize(), and yyerror().
| int parser_floord |
Boolean: floord used
Definition at line 139 of file parser.c.
Referenced by clan_parser_state_initialize(), and yyparse().
| int parser_if_depth |
Current if depth
Definition at line 128 of file parser.c.
Referenced by clan_parser_add_ld(), clan_parser_increment_loop_depth(), clan_parser_nb_ld(), clan_parser_state_initialize(), and yyparse().
| int parser_indent |
SCoP indentation
Definition at line 135 of file parser.c.
Referenced by clan_parser_state_initialize(), clan_scop_generate_coordinates(), and yyparse().
| int parser_line_end |
Autoscop end line, inclusive
Definition at line 146 of file parser.c.
Referenced by clan_parser_autoscop(), clan_parser_state_initialize(), and yyparse().
Autoscop start line, inclusive
Definition at line 145 of file parser.c.
Referenced by clan_parser_autoscop(), clan_parser_state_initialize(), and yyparse().
Current loop depth
Definition at line 127 of file parser.c.
Referenced by clan_parser_add_ld(), clan_parser_increment_loop_depth(), clan_parser_nb_ld(), clan_parser_reinitialize(), clan_parser_state_initialize(), and yyparse().
| int parser_max |
Boolean: max used
Definition at line 141 of file parser.c.
Referenced by clan_parser_state_initialize(), and yyparse().
| int parser_min |
Boolean: min used
Definition at line 140 of file parser.c.
Referenced by clan_parser_state_initialize(), and yyparse().
| int* parser_nb_local_dims |
Nb of local dims per depth
Definition at line 132 of file parser.c.
Referenced by clan_parser_add_ld(), clan_parser_nb_ld(), clan_parser_state_free(), clan_parser_state_initialize(), clan_parser_state_malloc(), and yyparse().
Nb of parameter symbols
Definition at line 133 of file parser.c.
Referenced by clan_parser_state_initialize(), and yyparse().
| char* parser_record |
What we record (statement body)
Definition at line 126 of file parser.c.
Referenced by clan_parser_reinitialize(), clan_parser_state_initialize(), and yyparse().
| int parser_recording |
Boolean: do we record or not?
Definition at line 125 of file parser.c.
Referenced by clan_parser_state_initialize(), and yyparse().
| int* parser_scattering |
Current statement scattering
Definition at line 129 of file parser.c.
Referenced by clan_parser_state_free(), clan_parser_state_initialize(), clan_parser_state_malloc(), and yyparse().
| osl_scop_p parser_scop |
SCoP in construction
Definition at line 123 of file parser.c.
Referenced by clan_parse(), clan_parser_autoscop(), clan_parser_reinitialize(), and yyparse().
| osl_relation_list_p parser_stack |
Iteration domain stack
Definition at line 131 of file parser.c.
Referenced by clan_parser_reinitialize(), clan_parser_state_free(), clan_parser_state_malloc(), and yyparse().
| int* parser_valid_else |
Boolean: OK for else per depth
Definition at line 134 of file parser.c.
Referenced by clan_parser_state_free(), clan_parser_state_initialize(), clan_parser_state_malloc(), and yyparse().
| char* scanner_clay |
| int scanner_column |
Scanned column (current)
Current column number
Definition at line 781 of file scanner.c.
Referenced by clan_parser_autoscop(), clan_scanner_count(), yyerror(), and yyparse().
| char* scanner_latest_text |
| int scanner_line |
Current scanned line
Current line number
Definition at line 780 of file scanner.c.
Referenced by clan_parser_autoscop(), yyerror(), and yyparse().
| int scanner_parsing |
| int scanner_pragma |
Between SCoP pragmas or not?
Definition at line 785 of file scanner.c.
Referenced by clan_parser_autoscop().
| int scanner_scop_end |
Scanned SCoP ending line
SCoP ending line
Definition at line 784 of file scanner.c.
Referenced by clan_parser_autoscop(), and clan_scop_generate_coordinates().
Scanned SCoP starting line
SCoP starting line
Definition at line 783 of file scanner.c.
Referenced by clan_parser_autoscop(), and clan_scop_generate_coordinates().
const yytype_int16 yycheck[] [static] |
const yytype_uint8 yydefact[] [static] |
const yytype_int16 yydefgoto[] [static] |
{
-1, 2, 3, 4, 5, 6, 182, 16, 17, 379,
403, 18, 241, 345, 26, 381, 85, 180, 305, 181,
250, 302, 303, 27, 183, 389, 390, 71, 72, 73,
74, 75, 76, 77, 78, 79, 392, 393, 80, 81,
42, 43, 201, 286, 129, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
127, 128, 103, 19, 20, 281, 268, 269, 104, 105,
106, 259, 260, 261, 316, 317, 108, 256, 257, 109,
318, 319, 320, 278, 272, 273, 274, 400, 110, 275,
196
}
| FILE * yyin = (FILE *) 0 |
File to be read by Lex
Definition at line 340 of file scanner.c.
Referenced by clan_parse(), clan_parser_autoscop(), yy_init_globals(), yyget_in(), and yyset_in().
const yytype_int16 yypact[] [static] |
const yytype_int16 yypgoto[] [static] |
{
-261, -261, 515, 536, 33, -261, -6, -261, -261, -261,
-261, -261, -261, -261, -261, -261, -261, -261, -261, -261,
-261, -261, -128, -261, 172, -153, -261, -148, -144, 394,
385, -51, 344, 247, 248, -66, -261, -261, -261, -261,
-261, -261, -261, -261, -18, -261, 512, -38, 296, 311,
225, 316, 417, 437, 427, 432, 438, -261, -179, -124,
-261, -261, -11, -261, -261, -240, 124, -261, -149, -261,
-261, 324, -232, -22, -261, 219, -261, 332, 287, -167,
-242, 8, -99, -261, -260, -261, 256, -261, 511, -103,
-184
}
const yytype_uint8 yyr1[] [static] |
{
0, 97, 98, 98, 98, 98, 99, 100, 100, 102,
101, 103, 103, 103, 104, 103, 105, 105, 107, 106,
106, 109, 110, 108, 112, 111, 113, 111, 115, 114,
116, 116, 117, 118, 118, 118, 118, 118, 118, 118,
118, 119, 119, 120, 120, 121, 122, 122, 123, 123,
124, 124, 125, 125, 126, 126, 126, 126, 126, 126,
126, 126, 127, 127, 128, 128, 129, 129, 129, 130,
130, 130, 131, 131, 131, 132, 132, 132, 133, 133,
134, 134, 135, 135, 136, 136, 137, 137, 137, 137,
137, 138, 138, 138, 139, 138, 138, 138, 138, 140,
140, 141, 141, 141, 141, 141, 142, 142, 142, 142,
142, 142, 143, 143, 144, 144, 145, 145, 145, 145,
146, 146, 146, 147, 147, 147, 148, 148, 148, 148,
148, 149, 149, 149, 150, 150, 151, 151, 152, 152,
153, 153, 154, 154, 155, 155, 156, 156, 157, 157,
158, 158, 158, 158, 158, 158, 158, 158, 158, 158,
159, 159, 160, 161, 160, 162, 163, 163, 163, 163,
163, 163, 164, 164, 164, 164, 164, 165, 165, 165,
165, 165, 165, 165, 165, 165, 165, 165, 165, 166,
166, 166, 167, 167, 168, 168, 169, 170, 170, 170,
170, 171, 171, 172, 172, 172, 173, 173, 173, 174,
174, 175, 175, 176, 176, 177, 177, 178, 178, 178,
178, 178, 178, 178, 179, 179, 179, 179, 180, 180,
181, 181, 182, 182, 183, 183, 183, 184, 184, 185,
185, 186, 186, 186, 187, 187, 187, 187, 187, 187,
187, 187, 187
}
const yytype_uint8 yyr2[] [static] |
{
0, 2, 1, 2, 2, 1, 2, 1, 2, 0,
2, 1, 1, 1, 0, 2, 2, 3, 0, 3,
0, 0, 0, 8, 0, 8, 0, 3, 0, 6,
1, 0, 2, 2, 2, 2, 2, 5, 5, 3,
3, 1, 3, 4, 5, 1, 1, 6, 1, 1,
1, 6, 1, 6, 3, 3, 3, 3, 3, 3,
4, 5, 1, 3, 1, 3, 1, 1, 3, 1,
2, 2, 1, 3, 3, 1, 3, 3, 1, 6,
1, 1, 1, 6, 1, 6, 1, 1, 1, 1,
3, 1, 4, 3, 0, 5, 3, 3, 2, 1,
3, 1, 2, 2, 2, 4, 1, 1, 1, 1,
1, 1, 1, 1, 1, 4, 1, 3, 3, 3,
1, 3, 3, 1, 3, 3, 1, 3, 3, 3,
3, 1, 3, 3, 1, 3, 1, 3, 1, 3,
1, 3, 1, 3, 1, 5, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 3, 1, 0, 3, 1, 1, 2, 1, 2,
1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 5,
4, 2, 1, 1, 1, 2, 3, 2, 1, 2,
1, 1, 3, 1, 2, 3, 4, 5, 2, 1,
3, 1, 3, 1, 1, 2, 1, 1, 3, 4,
3, 4, 4, 3, 1, 2, 2, 3, 1, 2,
1, 3, 1, 3, 2, 2, 1, 1, 3, 1,
2, 1, 1, 2, 3, 2, 3, 3, 4, 2,
3, 3, 4
}
const yytype_uint8 yystos[] [static] |
const yytype_int16 yytable[] [static] |
const yytype_uint8 yytranslate[] [static] |
1.8.0