From 6bd512ea5b8cc098903fcb2dd802e652bbed2cb4 Mon Sep 17 00:00:00 2001 From: "Andrew M. B. Boktor" Date: Wed, 2 May 2012 12:33:33 -0800 Subject: Moving things where they belong cubojdump.l/.y are used to parse the output of cuobjdump, and thus should be part of libcuda not cuobjdump_to_ptxplus Included are also modifications to Makefiles [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 12255] --- cuobjdump_to_ptxplus/cuobjdump.l | 96 ---------------------------------------- 1 file changed, 96 deletions(-) delete mode 100644 cuobjdump_to_ptxplus/cuobjdump.l (limited to 'cuobjdump_to_ptxplus/cuobjdump.l') diff --git a/cuobjdump_to_ptxplus/cuobjdump.l b/cuobjdump_to_ptxplus/cuobjdump.l deleted file mode 100644 index fcd43f8..0000000 --- a/cuobjdump_to_ptxplus/cuobjdump.l +++ /dev/null @@ -1,96 +0,0 @@ - /*Lex file for output of cuobjdump*/ -%{ -#include -#include -#include "cuobjdump_parser.h" - -#define YY_NEVER_INTERACTIVE 1 - -#define YYDEBUG 1 - -#define yylval cuobjdump_lval - -void cuobjdump_error(const char*); -%} - -%option stack -%option noyywrap -%option yylineno - -%s ptxcode -%s sasscode -%s elfcode -%s header -%s endheader - -alpha [a-zA-Z] -numeric [0-9] -whitespace [ \t] -newline [\n] -notnewline [^\n] -newlines {newline}+ -%% - - -"ptxasOptions"{notnewline}*{newline} -[1-9]{numeric}* yylval.string_value = strdup(yytext); return DECIMAL; - - -"Fatbin ptx code:"{newline} { - yy_push_state(ptxcode); - yy_push_state(header); - yylval.string_value = strdup(yytext); - return PTXHEADER; -} -"Fatbin elf code:"{newline} { - yy_push_state(elfcode); - yy_push_state(header); - yylval.string_value = strdup(yytext); - return ELFHEADER; -} - /*PTX code tokens*/ -{notnewline}*{newline} yylval.string_value = strdup(yytext); return PTXLINE; - - /*ELF code tokens*/ -{whitespace}*"code for sm_"{numeric}+{newline} { - BEGIN(sasscode); - yylval.string_value = strdup(yytext); - return SASSLINE; -} -{notnewline}*{newline} yylval.string_value = strdup(yytext); return ELFLINE; - - /*SASS code tokens*/ -{notnewline}*{newline} yylval.string_value = strdup(yytext); return SASSLINE; - - /*Header tokens*/ -
[[:alnum:]_]+ yylval.string_value = strdup(yytext); return IDENTIFIER; -
"================" return H_SEPARATOR; -
"arch = " return H_ARCH; -
"code version = " return H_CODEVERSION; -
\[{numeric},{numeric}\] return CODEVERSION; -
"producer = " return H_PRODUCER; -
"host = " return H_HOST; -
"compile_size = " return H_COMPILESIZE; -
"identifier = " BEGIN(endheader); return H_IDENTIFIER; -
"has debug info"{newline} - - /* Looking for the identifier (filename) then the header is done */ -[[:alnum:]_\.]+{newline} yylval.string_value = strdup(yytext); yy_pop_state(); return FILENAME; - - -{newline} return NEWLINE; - - /*Reached end of file*/ -<> return 0; - - /*No other rule matched. Throw an error*/ -. cuobjdump_error("Invalid token"); - -%% -void cuobjdump_error(const char* message) -{ - printf(" "); printf(message); printf(" near \""); printf(yytext); printf("\""); - printf(" on line "); - char line[5]; sprintf(line, "%i", yylineno); printf(line); - printf("\n"); -} -- cgit v1.3