/* DataDesc/ddt_parse -- automatic parsing of data structures */
-/* Authors: Arnaud Legrand, Martin Quinson */
-/* Copyright (C) 2003, 2004 Martin Quinson. */
+/* Copyright (c) 2004 Arnaud Legrand, Martin Quinson. All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
- under the terms of the license (GNU LGPL) which comes with this package. */
+ * under the terms of the license (GNU LGPL) which comes with this package. */
%option noyywrap
%{
-#include"DataDesc/datadesc_private.h"
-#include"DataDesc/ddt_parse.yy.h"
+#include "gras/DataDesc/datadesc_private.h"
+#include "gras/DataDesc/ddt_parse.yy.h"
#include <string.h>
- YY_BUFFER_STATE input_buffer;
- FILE *file_to_parse;
+ YY_BUFFER_STATE gras_ddt_input_buffer;
+ FILE *gras_ddt_file_to_parse;
int gras_ddt_parse_line_pos = 1;
int gras_ddt_parse_col_pos = 0;
int gras_ddt_parse_char_pos = 0;
int gras_ddt_parse_tok_num = 0;
const char *definition;
- GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(lexer,ddt_parse);
+ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(lexer,ddt_parse,"The crude internals of the lexer used for type parsing");
#define SHOW_WHERE DEBUG4("%d:%d (char #%d): seen '%s'", gras_ddt_parse_line_pos,gras_ddt_parse_col_pos,gras_ddt_parse_char_pos,yytext)
%}
int comment_caller=0;
int annotate_caller=0;
- char string_buf[GRAS_DDT_PARSE_MAX_STR_CONST];
- char *string_buf_ptr = NULL;
-
"//"[^\n]*
"/*g"{space}* { /****************** ANNOTATION ************************/
}
"/*[^g]" { /****************** COMMENTS ************************/
- // constructs like /*g [string] g*/ are not comments but size annotations
+ /* constructs like : */
+ /*g [string] g*/
+ /* are not comments but size annotations */
comment_caller = INITIAL;
BEGIN(comment);
}
case GRAS_DDT_PARSE_TOKEN_LA : {printf("TOKEN_LA ");break;}
case GRAS_DDT_PARSE_TOKEN_RA : {printf("TOKEN_RA ");break;}
case GRAS_DDT_PARSE_TOKEN_WORD : {printf("TOKEN_WORD ");break;}
- // case GRAS_DDT_PARSE_TOKEN_SPACE : {printf("TOKEN_SPACE ");break;}
- // case GRAS_DDT_PARSE_TOKEN_COMMENT : {printf("TOKEN_COMMENT ");break;}
+ /* case GRAS_DDT_PARSE_TOKEN_SPACE : {printf("TOKEN_SPACE ");break;}*/
+ /* case GRAS_DDT_PARSE_TOKEN_COMMENT : {printf("TOKEN_COMMENT ");break;}*/
case GRAS_DDT_PARSE_TOKEN_NEWLINE : {printf("TOKEN_NEWLINE\n");return;}
case GRAS_DDT_PARSE_TOKEN_EMPTY : {printf("TOKEN_EMPTY\n");return;}
default : {printf("Unknown token %d\n", gras_ddt_parse_tok_num);return;}
int gras_ddt_parse_lex_n_dump(void) {
gras_ddt_parse_tok_num = gras_ddt_parse_lex();
- // gras_ddt_parse_char_pos += strlen(yytext);
+ /* gras_ddt_parse_char_pos += strlen(yytext);*/
return(gras_ddt_parse_tok_num);
}
void gras_ddt_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);
+ gras_ddt_file_to_parse = fopen(file,"r");
+ gras_ddt_input_buffer = yy_create_buffer( gras_ddt_file_to_parse, 10 );
+ yy_switch_to_buffer(gras_ddt_input_buffer);
gras_ddt_parse_line_pos = 1;
gras_ddt_parse_char_pos = 0;
}
void gras_ddt_parse_pointer_close(void) {
- yy_delete_buffer(input_buffer);
- fclose(file_to_parse);
+ yy_delete_buffer(gras_ddt_input_buffer);
+ fclose(gras_ddt_file_to_parse);
gras_ddt_parse_line_pos = 1;
gras_ddt_parse_char_pos = 0;
void gras_ddt_parse_pointer_string_init(const char *string_to_parse) {
- input_buffer = yy_scan_string (string_to_parse);
+ gras_ddt_input_buffer = yy_scan_string (string_to_parse);
definition = string_to_parse;
- yy_switch_to_buffer(input_buffer);
+ yy_switch_to_buffer(gras_ddt_input_buffer);
gras_ddt_parse_line_pos = 1;
gras_ddt_parse_char_pos = 0;
}
void gras_ddt_parse_pointer_string_close(void) {
- yy_delete_buffer(input_buffer);
+ yy_delete_buffer(gras_ddt_input_buffer);
gras_ddt_parse_line_pos = 1;
gras_ddt_parse_char_pos = 0;
gras_ddt_parse_tok_num = 0;
+
+ if (0)
+ yyunput('\0',NULL); /* fake a use of this function to calm gcc down */
}
-// Local variables:
-// mode: c
-// End:
+/* Local variables:*/
+/* mode: c */
+/* End: */