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] |