diff options
| author | Andrew M. B. Boktor <[email protected]> | 2012-05-02 12:33:33 -0800 |
|---|---|---|
| committer | Andrew Boktor <[email protected]> | 2014-08-14 13:19:06 -0700 |
| commit | 6bd512ea5b8cc098903fcb2dd802e652bbed2cb4 (patch) | |
| tree | dac4feadd50bdaedd53099e21d26342123a5059a /cuobjdump_to_ptxplus/cuobjdump.l | |
| parent | d1cd69a100116dd8192115c49381d43faa355220 (diff) | |
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]
Diffstat (limited to 'cuobjdump_to_ptxplus/cuobjdump.l')
| -rw-r--r-- | cuobjdump_to_ptxplus/cuobjdump.l | 96 |
1 files changed, 0 insertions, 96 deletions
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 <stdio.h> -#include <string.h> -#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*/ -<ptxcode>{notnewline}*{newline} yylval.string_value = strdup(yytext); return PTXLINE; - - /*ELF code tokens*/ -<elfcode>{whitespace}*"code for sm_"{numeric}+{newline} { - BEGIN(sasscode); - yylval.string_value = strdup(yytext); - return SASSLINE; -} -<elfcode>{notnewline}*{newline} yylval.string_value = strdup(yytext); return ELFLINE; - - /*SASS code tokens*/ -<sasscode>{notnewline}*{newline} yylval.string_value = strdup(yytext); return SASSLINE; - - /*Header tokens*/ -<header>[[:alnum:]_]+ yylval.string_value = strdup(yytext); return IDENTIFIER; -<header>"================" return H_SEPARATOR; -<header>"arch = " return H_ARCH; -<header>"code version = " return H_CODEVERSION; -<header>\[{numeric},{numeric}\] return CODEVERSION; -<header>"producer = " return H_PRODUCER; -<header>"host = " return H_HOST; -<header>"compile_size = " return H_COMPILESIZE; -<header>"identifier = " BEGIN(endheader); return H_IDENTIFIER; -<header>"has debug info"{newline} - - /* Looking for the identifier (filename) then the header is done */ -<endheader>[[:alnum:]_\.]+{newline} yylval.string_value = strdup(yytext); yy_pop_state(); return FILENAME; - - -{newline} return NEWLINE; - - /*Reached end of file*/ -<<EOF>> 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"); -} |
