Use -sdk suffix and reset VERSION to 0.0.0 (#263)
* Fix find_package(rocprofiler) in build tree * Move include/rocprofiler to include/rocprofiler-sdk * Update include/CMakeLists.txt - add_subdirectory(rocprofiler-sdk) * Move lib/rocprofiler to lib/rocprofiler-sdk * Move lib/rocprofiler-tool to lib/rocprofiler-sdk-tool * Update lib/CMakeLists.txt - add_subdirectory(rocprofiler-sdk) - add_subdirectory(rocprofiler-sdk-tool) * Update lib/rocprofiler-sdk/CMakeLists.txt * Rename rocprofiler-tool to rocprofiler-sdk-tool * Replace include rocprofiler/ with include rocprofiler-sdk/ * Replace include lib/rocprofiler/ with include lib/rocprofiler-sdk/ * Set VERSION to 0.0.0 and finish install to rocprofiler-sdk * More fixes for rocprofiler -> rocprofiler-sdk - fix issue with rocprofiler-sdk-config.cmake.in - fix counters xml install path * Fix documentation generation * Create rocprofiler_LIB_ROCPROFILER_SDK_DIR for build tree * cmake formatting (cmake-format) (#264) Co-authored-by: jrmadsen <jrmadsen@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
fe5d074375
commit
9a0c84efa6
@@ -0,0 +1,103 @@
|
||||
%parse-param {RawAST** result}
|
||||
%code requires {
|
||||
#include "raw_ast.hpp"
|
||||
using namespace rocprofiler::counters;
|
||||
#define YYDEBUG 1
|
||||
}
|
||||
|
||||
%{
|
||||
#include <stdexcept>
|
||||
#include <stdio.h>
|
||||
#include <string>
|
||||
|
||||
#include <glog/logging.h>
|
||||
|
||||
#include "raw_ast.hpp"
|
||||
|
||||
int yyparse(rocprofiler::counters::RawAST** result);
|
||||
int yylex(void);
|
||||
void yyerror(rocprofiler::counters::RawAST**, const char *s) { LOG(ERROR) << s; }
|
||||
%}
|
||||
|
||||
/* declare tokens */
|
||||
%token ADD SUB MUL DIV ABS EQUALS
|
||||
%token OP CP O_SQ C_SQ COLON
|
||||
%token EOL
|
||||
|
||||
/* set associativity rules for operand tokens */
|
||||
%right EQUALS
|
||||
%left ADD SUB
|
||||
%left MUL DIV
|
||||
%nonassoc '|' UMINUS CM
|
||||
|
||||
/*declare data types*/
|
||||
%union {
|
||||
RawAST* a; /* For ast node */
|
||||
LinkedList* ll; /* For linked list node */
|
||||
int64_t d;
|
||||
char* s;
|
||||
}
|
||||
|
||||
%token NUMBER RANGE /* set data type for numbers */
|
||||
%token NAME /* set data type for variables and user-defined functions */
|
||||
%token REDUCE SELECT /* set data type for special functions */
|
||||
%type <a> exp /* set data type for expressions */
|
||||
%type <s> NAME
|
||||
%type <d> NUMBER
|
||||
%type <ll> reduce_dim_args select_dim_args
|
||||
|
||||
%nonassoc LOWER_THAN_ELSE
|
||||
%nonassoc ELSE
|
||||
|
||||
// %token <pos_int> POS_INTEGER
|
||||
|
||||
%%
|
||||
|
||||
top:
|
||||
exp { *result = $1;};
|
||||
|
||||
|
||||
exp: NUMBER { $$ = new RawAST(NUMBER_NODE, $1); }
|
||||
| exp ADD exp { $$ = new RawAST(ADDITION_NODE, {$1, $3}); }
|
||||
| exp SUB exp { $$ = new RawAST(SUBTRACTION_NODE, {$1, $3}); }
|
||||
| exp MUL exp { $$ = new RawAST(MULTIPLY_NODE, {$1, $3}); }
|
||||
| exp DIV exp { $$ = new RawAST(DIVIDE_NODE, {$1, $3}); }
|
||||
| OP exp CP { $$ = $2; }
|
||||
| NAME { $$ = new RawAST(REFERENCE_NODE, $1);
|
||||
free($1);
|
||||
}
|
||||
| REDUCE OP exp CM NAME CP {
|
||||
$$ = new RawAST(REDUCE_NODE, $3, $5, NULL);
|
||||
free($5);
|
||||
}
|
||||
| REDUCE OP exp CM NAME CM O_SQ reduce_dim_args C_SQ CP {
|
||||
$$ = new RawAST(REDUCE_NODE, $3, $5, $8);
|
||||
free($5);
|
||||
}
|
||||
| SELECT OP exp CM O_SQ select_dim_args C_SQ CP {
|
||||
$$ = new RawAST(SELECT_NODE, $3, $6);
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
|
||||
reduce_dim_args: NAME { $$ = new LinkedList($1, NULL);
|
||||
free($1);
|
||||
}
|
||||
| NAME CM reduce_dim_args { $$ = new LinkedList($1, $3);
|
||||
free($1);
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
|
||||
select_dim_args: NAME EQUALS NUMBER { $$ = new LinkedList($1, $3, NULL);
|
||||
free($1);
|
||||
}
|
||||
| NAME EQUALS NUMBER CM select_dim_args { $$ = new LinkedList($1, $3, $5);
|
||||
free($1);
|
||||
}
|
||||
;
|
||||
|
||||
|
||||
%%
|
||||
Reference in New Issue
Block a user