/* gs.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
GRAS_LOG_NEW_DEFAULT_CATEGORY(NDR);
#define _GS_PRIVATE_H
#include "gras_private.h"
-#include "gs/categories.h"
-#include "gs/connection.h"
-#include "gs/sequence.h"
-#include "gs/net_driver.h"
-#include "gs/net_interface_fd.h"
-#include "gs/type_interface_rl.h"
-#include "gs/type_driver.h"
-#include "gs/message.h"
-#include "gs/type.h"
+#include "DataDesc/categories.h"
+#include "DataDesc/connection.h"
+#include "DataDesc/sequence.h"
+#include "DataDesc/net_driver.h"
+#include "DataDesc/net_interface_fd.h"
+#include "DataDesc/type_interface_rl.h"
+#include "DataDesc/type_driver.h"
+#include "DataDesc/message.h"
+#include "DataDesc/type.h"
#endif /* _GS_PRIVATE_H */
/* gs_message.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
/*
* Sequences
/* gs_net_driver.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
//GRAS_LOG_NEW_DEFAULT_CATEGORY(FIXME_net_driver);
/* gs_fd_net_driver.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
struct s_gs_fd_net_driver {
/**/
/* Authors: Arnaud Legrand, Martin Quinson */
-#include "gs/gs_private.h"
-#include "gs/parse.yy.h"
+#include "DataDesc/gs_private.h"
+#include "DataDesc/parse.yy.h"
GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(NDR_parse,NDR);
short is_ref;
} type_modifier_t;
-extern char *gs_parse_text;
+extern char *gras_datadesc_parse_text;
/* prototypes */
static void parse_type_modifier(type_modifier_t *type_modifier);
/* local functions */
static void parse_type_modifier(type_modifier_t *type_modifier) {
do {
- if (gs_parse_tok_num == GS_PARSE_TOKEN_STAR) {
+ if (gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_STAR) {
DEBUG0("This is a reference");
type_modifier->is_ref++;
- } else if (!strcmp(gs_parse_text,"unsigned")) {
+ } else if (!strcmp(gras_datadesc_parse_text,"unsigned")) {
DEBUG0("This is an unsigned");
type_modifier->is_unsigned = 1;
- } else if (!strcmp(gs_parse_text,"short")) {
+ } else if (!strcmp(gras_datadesc_parse_text,"short")) {
DEBUG0("This is short");
type_modifier->is_short = 1;
- } else if (!strcmp(gs_parse_text,"long")) {
+ } else if (!strcmp(gras_datadesc_parse_text,"long")) {
DEBUG0("This is long");
type_modifier->is_long++; /* "long long" needs love */
- } else if (!strcmp(gs_parse_text,"struct")) {
+ } else if (!strcmp(gras_datadesc_parse_text,"struct")) {
DEBUG0("This is a struct");
type_modifier->is_struct = 1;
- } else if (!strcmp(gs_parse_text,"union")) {
+ } else if (!strcmp(gras_datadesc_parse_text,"union")) {
DEBUG0("This is an union");
type_modifier->is_union = 1;
- } else if (!strcmp(gs_parse_text,"enum")) {
+ } else if (!strcmp(gras_datadesc_parse_text,"enum")) {
DEBUG0("This is an enum");
type_modifier->is_enum = 1;
}
- gs_parse_tok_num = gs_parse_lex_n_dump();
- if((gs_parse_tok_num != GS_PARSE_TOKEN_WORD) &&
- (gs_parse_tok_num != GS_PARSE_TOKEN_STAR))
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
+ if((gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_WORD) &&
+ (gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_STAR))
break;
} while(1);
}
gras_dynar_reset(*dynar);
memset(&tm,0,sizeof(tm));
- gs_parse_tok_num = gs_parse_lex_n_dump();
- if(gs_parse_tok_num == GS_PARSE_TOKEN_RP) {
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
+ if(gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_RP) {
return mismatch_error; /* end of the englobing structure or union */
}
DEBUG0("Parse a new statement.");
- if(gs_parse_tok_num != GS_PARSE_TOKEN_WORD) {
+ if(gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_WORD) {
fprintf(stderr,
"Unparsable symbol: found a typeless statement (got '%s' instead). Definition was:\n%s\n",
- gs_parse_text, definition);
+ gras_datadesc_parse_text, definition);
abort();
}
(tm.is_short || tm.is_long || tm.is_unsigned) &&
- strcmp(gs_parse_text,"char") &&
- strcmp(gs_parse_text,"float") &&
- strcmp(gs_parse_text,"double") &&
- strcmp(gs_parse_text,"int") ) {
+ strcmp(gras_datadesc_parse_text,"char") &&
+ strcmp(gras_datadesc_parse_text,"float") &&
+ strcmp(gras_datadesc_parse_text,"double") &&
+ strcmp(gras_datadesc_parse_text,"int") ) {
/* bastard user, they omited "int" ! */
base_type=strdup("int");
DEBUG0("the base type is 'int', which were omited");
} else {
- base_type=strdup(gs_parse_text);
+ base_type=strdup(gras_datadesc_parse_text);
DEBUG1("the base type is '%s'",base_type);
- gs_parse_tok_num = gs_parse_lex_n_dump();
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
}
/**** build the base type for latter use ****/
}
/* Let's code like Alvin ;) */
-#define gs_parse_get_or_create(name,func) \
+#define gras_datadesc_parse_get_or_create(name,func) \
(bag->bag_ops->get_type_by_name(bag, NULL, #name) ? \
bag->bag_ops->get_type_by_name(bag, NULL, #name) : \
gs_type_new_##func##_elemental(bag, NULL, \
} else if (tm.is_unsigned) {
if (!strcmp(base_type,"int")) {
if (tm.is_long == 2) {
- res = gs_parse_get_or_create(unsigned long long int,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(unsigned long long int,unsigned_integer);
} else if (tm.is_long) {
- res = gs_parse_get_or_create(unsigned long int,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(unsigned long int,unsigned_integer);
} else if (tm.is_short) {
- res = gs_parse_get_or_create(unsigned short int,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(unsigned short int,unsigned_integer);
} else {
- res = gs_parse_get_or_create(unsigned int,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(unsigned int,unsigned_integer);
}
} else if (!strcmp(base_type, "char")) {
- res = gs_parse_get_or_create(unsigned char,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(unsigned char,unsigned_integer);
} else { /* impossible, gcc parses this shit before us */
abort();
} else if (!strcmp(base_type, "float")) {
/* no modificator allowed by gcc */
- res = gs_parse_get_or_create(float,floating_point);
+ res = gras_datadesc_parse_get_or_create(float,floating_point);
} else { /* signed integer elemental */
if (!strcmp(base_type,"int")) {
if (tm.is_long == 2) {
- res = gs_parse_get_or_create(signed long long int,signed_integer);
+ res = gras_datadesc_parse_get_or_create(signed long long int,signed_integer);
} else if (tm.is_long) {
- res = gs_parse_get_or_create(signed long int,signed_integer);
+ res = gras_datadesc_parse_get_or_create(signed long int,signed_integer);
} else if (tm.is_short) {
- res = gs_parse_get_or_create(signed short int,signed_integer);
+ res = gras_datadesc_parse_get_or_create(signed short int,signed_integer);
} else {
- res = gs_parse_get_or_create(int,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(int,unsigned_integer);
}
} else if (!strcmp(base_type, "char")) {
- res = gs_parse_get_or_create(char,unsigned_integer);
+ res = gras_datadesc_parse_get_or_create(char,unsigned_integer);
} else { /* impossible */
abort();
expect_a_colon = 0;
for( /* no initialization */ ;
- ((gs_parse_tok_num != GS_PARSE_TOKEN_EMPTY) &&
- (gs_parse_tok_num != GS_PARSE_TOKEN_SEMI_COLON)) ;
+ ((gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_EMPTY) &&
+ (gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_SEMI_COLON)) ;
- gs_parse_tok_num = gs_parse_lex_n_dump() ) {
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump() ) {
if(expect_a_colon) {
- if(gs_parse_tok_num == GS_PARSE_TOKEN_COLON) {
+ if(gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_COLON) {
expect_a_colon = 0;
continue;
} else {
fprintf(stderr,
"Unparsable symbol: Expected a comma (','), got '%s' instead. Definition was:\n%s\n",
- gs_parse_text, definition);
+ gras_datadesc_parse_text, definition);
abort();
}
- } else if(gs_parse_tok_num == GS_PARSE_TOKEN_COLON) {
+ } else if(gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_COLON) {
fprintf(stderr,
"Unparsable symbol: Unexpected comma (','). Definition was:\n%s\n",
definition);
abort();
}
- if(gs_parse_tok_num == GS_PARSE_TOKEN_STAR) {
+ if(gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_STAR) {
starred = 1;
}
/* found a symbol name. Build the type and push it to dynar */
- if(gs_parse_tok_num == GS_PARSE_TOKEN_WORD) {
+ if(gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_WORD) {
if (starred) {
/* FIXME: Build a ref or array on the base type */
fprintf(stderr,
definition);
abort();
}
- DEBUG1("Encountered the variable (field?) %s",gs_parse_text);
+ DEBUG1("Encountered the variable (field?) %s",gras_datadesc_parse_text);
TRY(gras_dynar_push(*dynar, &gs_type_copy(base_type)));
starred = 0;
*/
/* Create the struct descriptor */
- if (gs_parse_tok_num == GS_PARSE_TOKEN_WORD) {
- struct_type = gs_type_new_struct(bag,NULL, gs_parse_text);
- DEBUG1("Parse the struct '%s'", gs_parse_text);
- gs_parse_tok_num = gs_parse_lex_n_dump();
+ if (gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_WORD) {
+ struct_type = gs_type_new_struct(bag,NULL, gras_datadesc_parse_text);
+ DEBUG1("Parse the struct '%s'", gras_datadesc_parse_text);
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
} else {
sprintf(buffname,"anonymous struct %d",anonymous_struct++);
DEBUG1("Parse the anonymous struct nb %d", anonymous_struct);
struct_type = gs_type_new_struct(bag,NULL,buffname);
}
- if (gs_parse_tok_num != GS_PARSE_TOKEN_LP) {
+ if (gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_LP) {
fprintf(stderr,
"Unparasable symbol: I looked for a struct definition, but got %s instead of '{'. The definition was:\n%s\n",
- gs_parse_text,definition);
+ gras_datadesc_parse_text,definition);
abort();
}
return NULL; /* FIXME: LEAK! */
/* terminates */
- if (gs_parse_tok_num != GS_PARSE_TOKEN_RP) {
+ if (gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_RP) {
fprintf(stderr,
"Unparasable symbol: Expected '}' at the end of struct definition, got '%s'. The definition was:\n%s\n",
- gs_parse_text,definition);
+ gras_datadesc_parse_text,definition);
abort();
}
- gs_parse_tok_num = gs_parse_lex_n_dump();
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
gras_dynar_free(fields);
return struct_type;
}
/* get the aliasing name */
- if (gs_parse_tok_num != GS_PARSE_TOKEN_WORD) {
+ if (gras_datadesc_parse_tok_num != GRAS_DATADESC_PARSE_TOKEN_WORD) {
fprintf(stderr,
"Unparsable typedef: Expected the alias name, and got '%s'.\n%s\n",
- gs_parse_text,definition);
+ gras_datadesc_parse_text,definition);
abort();
}
fprintf(stderr, "Cannot handle typedef yet (need love from grassouillet), sorry. Definition was: \n%s\n",definition);
abort();
- // res=gs_type_new_typedef(bag, NULL, strdup(gs_parse_text) );
+ // res=gs_type_new_typedef(bag, NULL, strdup(gras_datadesc_parse_text) );
return typedef_desc;
}
/* init */
DEBUG1("_gs_type_parse(%s)",definition);
- gs_parse_pointer_string_init(definition);
+ gras_datadesc_parse_pointer_string_init(definition);
/* Do I have a typedef, or a raw struct ?*/
- gs_parse_tok_num = gs_parse_lex_n_dump();
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
- if ((gs_parse_tok_num == GS_PARSE_TOKEN_WORD) && (!strcmp(gs_parse_text,"struct"))) {
- gs_parse_tok_num = gs_parse_lex_n_dump();
+ if ((gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_WORD) && (!strcmp(gras_datadesc_parse_text,"struct"))) {
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
res = parse_struct(bag,definition);
- } else if ((gs_parse_tok_num == GS_PARSE_TOKEN_WORD) && (!strcmp(gs_parse_text,"typedef"))) {
- gs_parse_tok_num = gs_parse_lex_n_dump();
+ } else if ((gras_datadesc_parse_tok_num == GRAS_DATADESC_PARSE_TOKEN_WORD) && (!strcmp(gras_datadesc_parse_text,"typedef"))) {
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex_n_dump();
res = parse_typedef(bag,definition);
} else {
abort();
}
- gs_parse_pointer_string_close();
+ gras_datadesc_parse_pointer_string_close();
DEBUG1("end of _gs_type_parse(%s)",definition);
return res;
-#define yy_create_buffer gs_parse__create_buffer
-#define yy_delete_buffer gs_parse__delete_buffer
-#define yy_scan_buffer gs_parse__scan_buffer
-#define yy_scan_string gs_parse__scan_string
-#define yy_scan_bytes gs_parse__scan_bytes
-#define yy_flex_debug gs_parse__flex_debug
-#define yy_init_buffer gs_parse__init_buffer
-#define yy_flush_buffer gs_parse__flush_buffer
-#define yy_load_buffer_state gs_parse__load_buffer_state
-#define yy_switch_to_buffer gs_parse__switch_to_buffer
-#define yyin gs_parse_in
-#define yyleng gs_parse_leng
-#define yylex gs_parse_lex
-#define yyout gs_parse_out
-#define yyrestart gs_parse_restart
-#define yytext gs_parse_text
-
-#line 19 "gs/parse.yy.c"
+#define yy_create_buffer gras_datadesc_parse__create_buffer
+#define yy_delete_buffer gras_datadesc_parse__delete_buffer
+#define yy_scan_buffer gras_datadesc_parse__scan_buffer
+#define yy_scan_string gras_datadesc_parse__scan_string
+#define yy_scan_bytes gras_datadesc_parse__scan_bytes
+#define yy_flex_debug gras_datadesc_parse__flex_debug
+#define yy_init_buffer gras_datadesc_parse__init_buffer
+#define yy_flush_buffer gras_datadesc_parse__flush_buffer
+#define yy_load_buffer_state gras_datadesc_parse__load_buffer_state
+#define yy_switch_to_buffer gras_datadesc_parse__switch_to_buffer
+#define yyin gras_datadesc_parse_in
+#define yyleng gras_datadesc_parse_leng
+#define yylex gras_datadesc_parse_lex
+#define yyout gras_datadesc_parse_out
+#define yyrestart gras_datadesc_parse_restart
+#define yytext gras_datadesc_parse_text
+
+#line 19 "DataDesc/parse.yy.c"
/* A lexical scanner generated by flex */
/* Scanner skeleton version:
- *
+ * $Header$
*/
#define FLEX_SCANNER
#define YY_MORE_ADJ 0
#define YY_RESTORE_YY_MORE_OFFSET
char *yytext;
-#line 1 "gs/parse.yy.l"
+#line 1 "DataDesc/parse.yy.l"
#define INITIAL 0
/**** MSG_LICENCE DO NOT REMOVE ****/
-#line 5 "gs/parse.yy.l"
-#include"gs/gs_private.h"
-#include"gs/parse.yy.h"
+#line 5 "DataDesc/parse.yy.l"
+#include"DataDesc/gs_private.h"
+#include"DataDesc/parse.yy.h"
#include <string.h>
YY_BUFFER_STATE input_buffer;
FILE *file_to_parse;
- int gs_parse_line_pos = 1;
- int gs_parse_char_pos = 0;
- int gs_parse_tok_num = 0;
+ int gras_datadesc_parse_line_pos = 1;
+ int gras_datadesc_parse_char_pos = 0;
+ int gras_datadesc_parse_tok_num = 0;
#define comment 1
#define foo 2
#define str 3
-#line 441 "gs/parse.yy.c"
+#line 441 "DataDesc/parse.yy.c"
/* Macros after this point can all be overridden by user definitions in
* section 1.
register char *yy_cp, *yy_bp;
register int yy_act;
-#line 21 "gs/parse.yy.l"
+#line 21 "DataDesc/parse.yy.l"
int comment_caller=0;
- char string_buf[GS_PARSE_MAX_STR_CONST];
+ char string_buf[GRAS_DATADESC_PARSE_MAX_STR_CONST];
char *string_buf_ptr = NULL;
-#line 610 "gs/parse.yy.c"
+#line 610 "DataDesc/parse.yy.c"
if ( yy_init )
{
case 1:
YY_RULE_SETUP
-#line 27 "gs/parse.yy.l"
+#line 27 "DataDesc/parse.yy.l"
YY_BREAK
case 2:
YY_RULE_SETUP
-#line 28 "gs/parse.yy.l"
+#line 28 "DataDesc/parse.yy.l"
{
comment_caller = INITIAL;
BEGIN(comment);
YY_BREAK
case 3:
YY_RULE_SETUP
-#line 33 "gs/parse.yy.l"
+#line 33 "DataDesc/parse.yy.l"
{
comment_caller = foo;
BEGIN(comment);
YY_BREAK
case 4:
YY_RULE_SETUP
-#line 38 "gs/parse.yy.l"
+#line 38 "DataDesc/parse.yy.l"
/* eat anything that's not a '*' */
YY_BREAK
case 5:
YY_RULE_SETUP
-#line 39 "gs/parse.yy.l"
+#line 39 "DataDesc/parse.yy.l"
/* eat up '*'s not followed by '/'s */
YY_BREAK
case 6:
YY_RULE_SETUP
-#line 40 "gs/parse.yy.l"
-{++gs_parse_line_pos;gs_parse_char_pos=0;}
+#line 40 "DataDesc/parse.yy.l"
+{++gras_datadesc_parse_line_pos;gras_datadesc_parse_char_pos=0;}
YY_BREAK
case 7:
YY_RULE_SETUP
-#line 41 "gs/parse.yy.l"
+#line 41 "DataDesc/parse.yy.l"
BEGIN(comment_caller);
YY_BREAK
case 8:
YY_RULE_SETUP
-#line 43 "gs/parse.yy.l"
-string_buf_ptr = string_buf; gs_parse_char_pos++; BEGIN(str);
+#line 43 "DataDesc/parse.yy.l"
+string_buf_ptr = string_buf; gras_datadesc_parse_char_pos++; BEGIN(str);
YY_BREAK
case 9:
YY_RULE_SETUP
-#line 45 "gs/parse.yy.l"
+#line 45 "DataDesc/parse.yy.l"
{ /* saw closing quote - all done */
BEGIN(INITIAL);
*string_buf_ptr = '\0';
yytext=string_buf;
- gs_parse_char_pos++;
- return GS_PARSE_TOKEN_WORD;
+ gras_datadesc_parse_char_pos++;
+ return GRAS_DATADESC_PARSE_TOKEN_WORD;
/* return string constant token type and
* value to parser
*/
YY_BREAK
case 10:
YY_RULE_SETUP
-#line 56 "gs/parse.yy.l"
+#line 56 "DataDesc/parse.yy.l"
{
/* error - unterminated string constant */
/* generate error message */
YY_BREAK
case 11:
YY_RULE_SETUP
-#line 61 "gs/parse.yy.l"
+#line 61 "DataDesc/parse.yy.l"
{
/* octal escape sequence */
int result;
/* error, constant is out-of-bounds */
*string_buf_ptr++ = result;
- gs_parse_char_pos++;
+ gras_datadesc_parse_char_pos++;
}
YY_BREAK
case 12:
YY_RULE_SETUP
-#line 74 "gs/parse.yy.l"
+#line 74 "DataDesc/parse.yy.l"
{
/* generate error - bad escape sequence; something
* like '\48' or '\0777777'
YY_BREAK
case 13:
YY_RULE_SETUP
-#line 80 "gs/parse.yy.l"
-{*string_buf_ptr++ = '\n'; gs_parse_char_pos++;}
+#line 80 "DataDesc/parse.yy.l"
+{*string_buf_ptr++ = '\n'; gras_datadesc_parse_char_pos++;}
YY_BREAK
case 14:
YY_RULE_SETUP
-#line 81 "gs/parse.yy.l"
-{*string_buf_ptr++ = '\t'; gs_parse_char_pos++;}
+#line 81 "DataDesc/parse.yy.l"
+{*string_buf_ptr++ = '\t'; gras_datadesc_parse_char_pos++;}
YY_BREAK
case 15:
YY_RULE_SETUP
-#line 82 "gs/parse.yy.l"
-{*string_buf_ptr++ = '\r'; gs_parse_char_pos++;}
+#line 82 "DataDesc/parse.yy.l"
+{*string_buf_ptr++ = '\r'; gras_datadesc_parse_char_pos++;}
YY_BREAK
case 16:
YY_RULE_SETUP
-#line 83 "gs/parse.yy.l"
-{*string_buf_ptr++ = '\b'; gs_parse_char_pos++;}
+#line 83 "DataDesc/parse.yy.l"
+{*string_buf_ptr++ = '\b'; gras_datadesc_parse_char_pos++;}
YY_BREAK
case 17:
YY_RULE_SETUP
-#line 84 "gs/parse.yy.l"
-{*string_buf_ptr++ = '\f'; gs_parse_char_pos++;}
+#line 84 "DataDesc/parse.yy.l"
+{*string_buf_ptr++ = '\f'; gras_datadesc_parse_char_pos++;}
YY_BREAK
case 18:
YY_RULE_SETUP
-#line 86 "gs/parse.yy.l"
+#line 86 "DataDesc/parse.yy.l"
{*string_buf_ptr++ = yytext[1];
if(yytext[1]=='\n') {
- ++gs_parse_line_pos;gs_parse_char_pos=0;
- } else { gs_parse_char_pos++;}
+ ++gras_datadesc_parse_line_pos;gras_datadesc_parse_char_pos=0;
+ } else { gras_datadesc_parse_char_pos++;}
}
YY_BREAK
case 19:
YY_RULE_SETUP
-#line 92 "gs/parse.yy.l"
+#line 92 "DataDesc/parse.yy.l"
{
char *yptr = yytext;
while ( *yptr )
*string_buf_ptr++ = *yptr++;
- gs_parse_char_pos++;
+ gras_datadesc_parse_char_pos++;
}
YY_BREAK
case 20:
YY_RULE_SETUP
-#line 100 "gs/parse.yy.l"
-{ gs_parse_char_pos+= strlen(yytext); return(GS_PARSE_TOKEN_WORD);}
+#line 100 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos+= strlen(yytext); return(GRAS_DATADESC_PARSE_TOKEN_WORD);}
YY_BREAK
case 21:
YY_RULE_SETUP
-#line 101 "gs/parse.yy.l"
-{ gs_parse_char_pos++; return(GS_PARSE_TOKEN_LP);}
+#line 101 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos++; return(GRAS_DATADESC_PARSE_TOKEN_LP);}
YY_BREAK
case 22:
YY_RULE_SETUP
-#line 102 "gs/parse.yy.l"
-{ gs_parse_char_pos++;return(GS_PARSE_TOKEN_RP);}
+#line 102 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_RP);}
YY_BREAK
case 23:
YY_RULE_SETUP
-#line 103 "gs/parse.yy.l"
-{ gs_parse_char_pos++;return(GS_PARSE_TOKEN_STAR);}
+#line 103 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_STAR);}
YY_BREAK
case 24:
YY_RULE_SETUP
-#line 104 "gs/parse.yy.l"
-{ gs_parse_char_pos++;return(GS_PARSE_TOKEN_SEMI_COLON);}
+#line 104 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_SEMI_COLON);}
YY_BREAK
case 25:
YY_RULE_SETUP
-#line 105 "gs/parse.yy.l"
-{ gs_parse_char_pos++;return(GS_PARSE_TOKEN_COLON);}
+#line 105 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_COLON);}
YY_BREAK
case 26:
YY_RULE_SETUP
-#line 106 "gs/parse.yy.l"
-{ gs_parse_line_pos++; gs_parse_char_pos=0;}
+#line 106 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_line_pos++; gras_datadesc_parse_char_pos=0;}
YY_BREAK
case 27:
YY_RULE_SETUP
-#line 107 "gs/parse.yy.l"
-{ gs_parse_char_pos++;}
+#line 107 "DataDesc/parse.yy.l"
+{ gras_datadesc_parse_char_pos++;}
YY_BREAK
case 28:
YY_RULE_SETUP
-#line 108 "gs/parse.yy.l"
+#line 108 "DataDesc/parse.yy.l"
ECHO;
YY_BREAK
-#line 876 "gs/parse.yy.c"
+#line 876 "DataDesc/parse.yy.c"
case YY_STATE_EOF(INITIAL):
case YY_STATE_EOF(comment):
case YY_STATE_EOF(foo):
return 0;
}
#endif
-#line 108 "gs/parse.yy.l"
+#line 108 "DataDesc/parse.yy.l"
/* {space}+ { return(TOKEN_SPACE);} */
-void gs_parse_dump(void) {
- switch(gs_parse_tok_num) {
- case GS_PARSE_TOKEN_LP : {printf("TOKEN_LP ");break;}
- case GS_PARSE_TOKEN_RP : {printf("TOKEN_RP ");break;}
- case GS_PARSE_TOKEN_WORD : {printf("TOKEN_WORD ");break;}
- // case GS_PARSE_TOKEN_SPACE : {printf("TOKEN_SPACE ");break;}
- // case GS_PARSE_TOKEN_COMMENT : {printf("TOKEN_COMMENT ");break;}
- case GS_PARSE_TOKEN_NEWLINE : {printf("TOKEN_NEWLINE\n");return;}
- case GS_PARSE_TOKEN_EMPTY : {printf("TOKEN_EMPTY\n");return;}
- default : {printf("Unknown token %d\n", gs_parse_tok_num);return;}
+void gras_datadesc_parse_dump(void) {
+ switch(gras_datadesc_parse_tok_num) {
+ case GRAS_DATADESC_PARSE_TOKEN_LP : {printf("TOKEN_LP ");break;}
+ case GRAS_DATADESC_PARSE_TOKEN_RP : {printf("TOKEN_RP ");break;}
+ case GRAS_DATADESC_PARSE_TOKEN_WORD : {printf("TOKEN_WORD ");break;}
+ // case GRAS_DATADESC_PARSE_TOKEN_SPACE : {printf("TOKEN_SPACE ");break;}
+ // case GRAS_DATADESC_PARSE_TOKEN_COMMENT : {printf("TOKEN_COMMENT ");break;}
+ case GRAS_DATADESC_PARSE_TOKEN_NEWLINE : {printf("TOKEN_NEWLINE\n");return;}
+ case GRAS_DATADESC_PARSE_TOKEN_EMPTY : {printf("TOKEN_EMPTY\n");return;}
+ default : {printf("Unknown token %d\n", gras_datadesc_parse_tok_num);return;}
}
- printf("-->%s<-- [line %d, pos %d]\n",yytext,gs_parse_line_pos,gs_parse_char_pos);
+ printf("-->%s<-- [line %d, pos %d]\n",yytext,gras_datadesc_parse_line_pos,gras_datadesc_parse_char_pos);
return;
}
-int gs_parse_lex_n_dump(void) {
- gs_parse_tok_num = gs_parse_lex();
+int gras_datadesc_parse_lex_n_dump(void) {
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex();
// voir_val();
- // gs_parse_char_pos += strlen(yytext);
- return(gs_parse_tok_num);
+ // gras_datadesc_parse_char_pos += strlen(yytext);
+ return(gras_datadesc_parse_tok_num);
}
-void gs_parse_pointer_init(const char *file) {
+void gras_datadesc_parse_pointer_init(const char *file) {
file_to_parse = fopen(file,"r");
input_buffer = yy_create_buffer( file_to_parse, 10 );
yy_switch_to_buffer(input_buffer);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
-void gs_parse_pointer_close(void) {
+void gras_datadesc_parse_pointer_close(void) {
yy_delete_buffer(input_buffer);
fclose(file_to_parse);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
-void gs_parse_pointer_string_init(const char *string_to_parse) {
+void gras_datadesc_parse_pointer_string_init(const char *string_to_parse) {
input_buffer = yy_scan_string (string_to_parse);
yy_switch_to_buffer(input_buffer);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
-void gs_parse_pointer_string_close(void) {
+void gras_datadesc_parse_pointer_string_close(void) {
yy_delete_buffer(input_buffer);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
// Local variables:
/* Authors: Arnaud Legrand, Martin Quinson */
typedef enum {
- GS_PARSE_TOKEN_EMPTY = 0,
- GS_PARSE_TOKEN_LP = 512,
- GS_PARSE_TOKEN_RP,
- GS_PARSE_TOKEN_WORD,
- GS_PARSE_TOKEN_SPACE,
- GS_PARSE_TOKEN_QUOTE,
- GS_PARSE_TOKEN_COMMENT,
- GS_PARSE_TOKEN_NEWLINE,
- GS_PARSE_TOKEN_STAR,
- GS_PARSE_TOKEN_SEMI_COLON,
- GS_PARSE_TOKEN_COLON,
- GS_PARSE_TOKEN_ERROR
-} gs_parse_token_t;
+ GRAS_DATADESC_PARSE_TOKEN_EMPTY = 0,
+ GRAS_DATADESC_PARSE_TOKEN_LP = 512,
+ GRAS_DATADESC_PARSE_TOKEN_RP,
+ GRAS_DATADESC_PARSE_TOKEN_WORD,
+ GRAS_DATADESC_PARSE_TOKEN_SPACE,
+ GRAS_DATADESC_PARSE_TOKEN_QUOTE,
+ GRAS_DATADESC_PARSE_TOKEN_COMMENT,
+ GRAS_DATADESC_PARSE_TOKEN_NEWLINE,
+ GRAS_DATADESC_PARSE_TOKEN_STAR,
+ GRAS_DATADESC_PARSE_TOKEN_SEMI_COLON,
+ GRAS_DATADESC_PARSE_TOKEN_COLON,
+ GRAS_DATADESC_PARSE_TOKEN_ERROR
+} gras_datadesc_parse_token_t;
-#define GS_PARSE_MAX_STR_CONST 4048
+#define GRAS_DATADESC_PARSE_MAX_STR_CONST 4048
-extern int gs_parse_line_pos;
-extern int gs_parse_char_pos;
-extern int gs_parse_tok_num;
+extern int gras_datadesc_parse_line_pos;
+extern int gras_datadesc_parse_char_pos;
+extern int gras_datadesc_parse_tok_num;
-void gs_parse_dump(void);
-int gs_parse_lex(void);
-int gs_parse_lex_n_dump(void);
-void gs_parse_pointer_init(const char *file);
-void gs_parse_pointer_close(void);
-void gs_parse_pointer_string_init(const char *string_to_parse);
-void gs_parse_pointer_string_close(void);
+void gras_datadesc_parse_dump(void);
+int gras_datadesc_parse_lex(void);
+int gras_datadesc_parse_lex_n_dump(void);
+void gras_datadesc_parse_pointer_init(const char *file);
+void gras_datadesc_parse_pointer_close(void);
+void gras_datadesc_parse_pointer_string_init(const char *string_to_parse);
+void gras_datadesc_parse_pointer_string_close(void);
%option noyywrap
%{
-#include"gs/gs_private.h"
-#include"gs/parse.yy.h"
+#include"DataDesc/gs_private.h"
+#include"DataDesc/parse.yy.h"
#include <string.h>
YY_BUFFER_STATE input_buffer;
FILE *file_to_parse;
- int gs_parse_line_pos = 1;
- int gs_parse_char_pos = 0;
- int gs_parse_tok_num = 0;
+ int gras_datadesc_parse_line_pos = 1;
+ int gras_datadesc_parse_char_pos = 0;
+ int gras_datadesc_parse_tok_num = 0;
%}
%x comment foo str
%%
int comment_caller=0;
- char string_buf[GS_PARSE_MAX_STR_CONST];
+ char string_buf[GRAS_DATADESC_PARSE_MAX_STR_CONST];
char *string_buf_ptr = NULL;
"//"[^\n]*
<comment>[^*\n]* /* eat anything that's not a '*' */
<comment>"*"+[^*/\n]* /* eat up '*'s not followed by '/'s */
-<comment>\n {++gs_parse_line_pos;gs_parse_char_pos=0;}
+<comment>\n {++gras_datadesc_parse_line_pos;gras_datadesc_parse_char_pos=0;}
<comment>"*"+"/" BEGIN(comment_caller);
-\" string_buf_ptr = string_buf; gs_parse_char_pos++; BEGIN(str);
+\" string_buf_ptr = string_buf; gras_datadesc_parse_char_pos++; BEGIN(str);
<str>\" { /* saw closing quote - all done */
BEGIN(INITIAL);
*string_buf_ptr = '\0';
yytext=string_buf;
- gs_parse_char_pos++;
- return GS_PARSE_TOKEN_WORD;
+ gras_datadesc_parse_char_pos++;
+ return GRAS_DATADESC_PARSE_TOKEN_WORD;
/* return string constant token type and
* value to parser
*/
/* error, constant is out-of-bounds */
*string_buf_ptr++ = result;
- gs_parse_char_pos++;
+ gras_datadesc_parse_char_pos++;
}
<str>\\[0-9]+ {
*/
}
-<str>\\n {*string_buf_ptr++ = '\n'; gs_parse_char_pos++;}
-<str>\\t {*string_buf_ptr++ = '\t'; gs_parse_char_pos++;}
-<str>\\r {*string_buf_ptr++ = '\r'; gs_parse_char_pos++;}
-<str>\\b {*string_buf_ptr++ = '\b'; gs_parse_char_pos++;}
-<str>\\f {*string_buf_ptr++ = '\f'; gs_parse_char_pos++;}
+<str>\\n {*string_buf_ptr++ = '\n'; gras_datadesc_parse_char_pos++;}
+<str>\\t {*string_buf_ptr++ = '\t'; gras_datadesc_parse_char_pos++;}
+<str>\\r {*string_buf_ptr++ = '\r'; gras_datadesc_parse_char_pos++;}
+<str>\\b {*string_buf_ptr++ = '\b'; gras_datadesc_parse_char_pos++;}
+<str>\\f {*string_buf_ptr++ = '\f'; gras_datadesc_parse_char_pos++;}
<str>\\(.|\n) {*string_buf_ptr++ = yytext[1];
if(yytext[1]=='\n') {
- ++gs_parse_line_pos;gs_parse_char_pos=0;
- } else { gs_parse_char_pos++;}
+ ++gras_datadesc_parse_line_pos;gras_datadesc_parse_char_pos=0;
+ } else { gras_datadesc_parse_char_pos++;}
}
<str>[^\\\n\"]+ {
while ( *yptr )
*string_buf_ptr++ = *yptr++;
- gs_parse_char_pos++;
+ gras_datadesc_parse_char_pos++;
}
-({letter}|{digit})* { gs_parse_char_pos+= strlen(yytext); return(GS_PARSE_TOKEN_WORD);}
-"{" { gs_parse_char_pos++; return(GS_PARSE_TOKEN_LP);}
-"}" { gs_parse_char_pos++;return(GS_PARSE_TOKEN_RP);}
-"*" { gs_parse_char_pos++;return(GS_PARSE_TOKEN_STAR);}
-";" { gs_parse_char_pos++;return(GS_PARSE_TOKEN_SEMI_COLON);}
-"," { gs_parse_char_pos++;return(GS_PARSE_TOKEN_COLON);}
-"\n" { gs_parse_line_pos++; gs_parse_char_pos=0;}
-. { gs_parse_char_pos++;}
+({letter}|{digit})* { gras_datadesc_parse_char_pos+= strlen(yytext); return(GRAS_DATADESC_PARSE_TOKEN_WORD);}
+"{" { gras_datadesc_parse_char_pos++; return(GRAS_DATADESC_PARSE_TOKEN_LP);}
+"}" { gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_RP);}
+"*" { gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_STAR);}
+";" { gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_SEMI_COLON);}
+"," { gras_datadesc_parse_char_pos++;return(GRAS_DATADESC_PARSE_TOKEN_COLON);}
+"\n" { gras_datadesc_parse_line_pos++; gras_datadesc_parse_char_pos=0;}
+. { gras_datadesc_parse_char_pos++;}
%%
/* {space}+ { return(TOKEN_SPACE);} */
-void gs_parse_dump(void) {
- switch(gs_parse_tok_num) {
- case GS_PARSE_TOKEN_LP : {printf("TOKEN_LP ");break;}
- case GS_PARSE_TOKEN_RP : {printf("TOKEN_RP ");break;}
- case GS_PARSE_TOKEN_WORD : {printf("TOKEN_WORD ");break;}
- // case GS_PARSE_TOKEN_SPACE : {printf("TOKEN_SPACE ");break;}
- // case GS_PARSE_TOKEN_COMMENT : {printf("TOKEN_COMMENT ");break;}
- case GS_PARSE_TOKEN_NEWLINE : {printf("TOKEN_NEWLINE\n");return;}
- case GS_PARSE_TOKEN_EMPTY : {printf("TOKEN_EMPTY\n");return;}
- default : {printf("Unknown token %d\n", gs_parse_tok_num);return;}
+void gras_datadesc_parse_dump(void) {
+ switch(gras_datadesc_parse_tok_num) {
+ case GRAS_DATADESC_PARSE_TOKEN_LP : {printf("TOKEN_LP ");break;}
+ case GRAS_DATADESC_PARSE_TOKEN_RP : {printf("TOKEN_RP ");break;}
+ case GRAS_DATADESC_PARSE_TOKEN_WORD : {printf("TOKEN_WORD ");break;}
+ // case GRAS_DATADESC_PARSE_TOKEN_SPACE : {printf("TOKEN_SPACE ");break;}
+ // case GRAS_DATADESC_PARSE_TOKEN_COMMENT : {printf("TOKEN_COMMENT ");break;}
+ case GRAS_DATADESC_PARSE_TOKEN_NEWLINE : {printf("TOKEN_NEWLINE\n");return;}
+ case GRAS_DATADESC_PARSE_TOKEN_EMPTY : {printf("TOKEN_EMPTY\n");return;}
+ default : {printf("Unknown token %d\n", gras_datadesc_parse_tok_num);return;}
}
- printf("-->%s<-- [line %d, pos %d]\n",yytext,gs_parse_line_pos,gs_parse_char_pos);
+ printf("-->%s<-- [line %d, pos %d]\n",yytext,gras_datadesc_parse_line_pos,gras_datadesc_parse_char_pos);
return;
}
-int gs_parse_lex_n_dump(void) {
- gs_parse_tok_num = gs_parse_lex();
+int gras_datadesc_parse_lex_n_dump(void) {
+ gras_datadesc_parse_tok_num = gras_datadesc_parse_lex();
// voir_val();
- // gs_parse_char_pos += strlen(yytext);
- return(gs_parse_tok_num);
+ // gras_datadesc_parse_char_pos += strlen(yytext);
+ return(gras_datadesc_parse_tok_num);
}
-void gs_parse_pointer_init(const char *file) {
+void gras_datadesc_parse_pointer_init(const char *file) {
file_to_parse = fopen(file,"r");
input_buffer = yy_create_buffer( file_to_parse, 10 );
yy_switch_to_buffer(input_buffer);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
-void gs_parse_pointer_close(void) {
+void gras_datadesc_parse_pointer_close(void) {
yy_delete_buffer(input_buffer);
fclose(file_to_parse);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
-void gs_parse_pointer_string_init(const char *string_to_parse) {
+void gras_datadesc_parse_pointer_string_init(const char *string_to_parse) {
input_buffer = yy_scan_string (string_to_parse);
yy_switch_to_buffer(input_buffer);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
-void gs_parse_pointer_string_close(void) {
+void gras_datadesc_parse_pointer_string_close(void) {
yy_delete_buffer(input_buffer);
- gs_parse_line_pos = 1;
- gs_parse_char_pos = 0;
- gs_parse_tok_num = 0;
+ gras_datadesc_parse_line_pos = 1;
+ gras_datadesc_parse_char_pos = 0;
+ gras_datadesc_parse_tok_num = 0;
}
// Local variables:
/* gs_tools.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
void *
gs_memdup(const void * const ptr,
/* gs_type.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(NDR_type_creation,NDR);
/*......................................................................
/* gs_type_driver.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
static
gras_dict_t *p_type_driver_dict = NULL;
/* gs_rl_type_driver.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(NDR_tdriver_rl,NDR);
/*
/* gs_vars.c */
-#include "gs/gs_private.h"
+#include "DataDesc/gs_private.h"
struct s_gs_var {
struct s_gs_type *p_type;