Changeset View
Changeset View
Standalone View
Standalone View
src/services/yacc.y
Show All 39 Lines | |||||
40 | %token GEQ | 40 | %token GEQ | ||
41 | %token LE | 41 | %token LE | ||
42 | %token GR | 42 | %token GR | ||
43 | %token OR | 43 | %token OR | ||
44 | %token AND | 44 | %token AND | ||
45 | %token TOKEN_IN | 45 | %token TOKEN_IN | ||
46 | %token TOKEN_IN_SUBSTRING | 46 | %token TOKEN_IN_SUBSTRING | ||
47 | %token MATCH_INSENSITIVE | 47 | %token MATCH_INSENSITIVE | ||
48 | %token MATCH_SUBSEQUENCE | ||||
49 | %token MATCH_SUBSEQUENCE_INSENSITIVE | ||||
48 | %token TOKEN_IN_INSENSITIVE | 50 | %token TOKEN_IN_INSENSITIVE | ||
49 | %token TOKEN_IN_SUBSTRING_INSENSITIVE | 51 | %token TOKEN_IN_SUBSTRING_INSENSITIVE | ||
50 | %token EXIST | 52 | %token EXIST | ||
51 | %token MAX | 53 | %token MAX | ||
52 | %token MIN | 54 | %token MIN | ||
53 | 55 | | |||
54 | %token <valb> VAL_BOOL | 56 | %token <valb> VAL_BOOL | ||
55 | %token <name> VAL_STRING | 57 | %token <name> VAL_STRING | ||
▲ Show 20 Lines • Show All 61 Lines • ▼ Show 20 Line(s) | 118 | expr_in: expr_twiddle TOKEN_IN VAL_ID { $$ = KTraderParse_newIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 1 ); } | |||
117 | | expr_twiddle TOKEN_IN_INSENSITIVE VAL_ID { $$ = KTraderParse_newIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 0 ); } | 119 | | expr_twiddle TOKEN_IN_INSENSITIVE VAL_ID { $$ = KTraderParse_newIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 0 ); } | ||
118 | | expr_twiddle TOKEN_IN_SUBSTRING VAL_ID { $$ = KTraderParse_newSubstringIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 1 ); } | 120 | | expr_twiddle TOKEN_IN_SUBSTRING VAL_ID { $$ = KTraderParse_newSubstringIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 1 ); } | ||
119 | | expr_twiddle TOKEN_IN_SUBSTRING_INSENSITIVE VAL_ID { $$ = KTraderParse_newSubstringIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 0 ); } | 121 | | expr_twiddle TOKEN_IN_SUBSTRING_INSENSITIVE VAL_ID { $$ = KTraderParse_newSubstringIN( $<ptr>1, KTraderParse_newID( $<name>3 ), 0 ); } | ||
120 | | expr_twiddle { $$ = $<ptr>1; } | 122 | | expr_twiddle { $$ = $<ptr>1; } | ||
121 | ; | 123 | ; | ||
122 | 124 | | |||
123 | expr_twiddle: expr '~' expr { $$ = KTraderParse_newMATCH( $<ptr>1, $<ptr>3, 1 ); } | 125 | expr_twiddle: expr '~' expr { $$ = KTraderParse_newMATCH( $<ptr>1, $<ptr>3, 1 ); } | ||
124 | | expr_twiddle MATCH_INSENSITIVE expr { $$ = KTraderParse_newMATCH( $<ptr>1, $<ptr>3, 0 ); } | 126 | | expr_twiddle MATCH_INSENSITIVE expr { $$ = KTraderParse_newMATCH( $<ptr>1, $<ptr>3, 0 ); } | ||
127 | | expr_twiddle MATCH_SUBSEQUENCE expr { $$ = KTraderParse_newSubsequenceMATCH( $<ptr>1, $<ptr>3, 1 ); } | ||||
128 | | expr_twiddle MATCH_SUBSEQUENCE_INSENSITIVE expr { $$ = KTraderParse_newSubsequenceMATCH( $<ptr>1, $<ptr>3, 0 ); } | ||||
125 | | expr { $$ = $<ptr>1; } | 129 | | expr { $$ = $<ptr>1; } | ||
126 | ; | 130 | ; | ||
127 | 131 | | |||
128 | expr: expr '+' term { $$ = KTraderParse_newCALC( $<ptr>1, $<ptr>3, 1 ); } | 132 | expr: expr '+' term { $$ = KTraderParse_newCALC( $<ptr>1, $<ptr>3, 1 ); } | ||
129 | | expr '-' term { $$ = KTraderParse_newCALC( $<ptr>1, $<ptr>3, 2 ); } | 133 | | expr '-' term { $$ = KTraderParse_newCALC( $<ptr>1, $<ptr>3, 2 ); } | ||
130 | | term { $$ = $<ptr>1; } | 134 | | term { $$ = $<ptr>1; } | ||
131 | ; | 135 | ; | ||
132 | 136 | | |||
Show All 18 Lines | |||||
151 | ; | 155 | ; | ||
152 | 156 | | |||
153 | /* End of grammar */ | 157 | /* End of grammar */ | ||
154 | 158 | | |||
155 | %% | 159 | %% | ||
156 | 160 | | |||
157 | void yyerror ( yyscan_t scanner, const char *s ) /* Called by yyparse on error */ | 161 | void yyerror ( yyscan_t scanner, const char *s ) /* Called by yyparse on error */ | ||
158 | { | 162 | { | ||
163 | (void) scanner; | ||||
159 | KTraderParse_error( s ); | 164 | KTraderParse_error( s ); | ||
160 | } | 165 | } | ||
161 | 166 | | |||
162 | void KTraderParse_mainParse( const char *_code ) | 167 | void KTraderParse_mainParse( const char *_code ) | ||
163 | { | 168 | { | ||
164 | yyscan_t scanner; | 169 | yyscan_t scanner; | ||
165 | kiotraderlex_init(&scanner); | 170 | kiotraderlex_init(&scanner); | ||
166 | KTraderParse_initFlex(_code, scanner); | 171 | KTraderParse_initFlex(_code, scanner); | ||
167 | kiotraderparse(scanner); | 172 | kiotraderparse(scanner); | ||
168 | kiotraderlex_destroy(scanner); | 173 | kiotraderlex_destroy(scanner); | ||
169 | } | 174 | } |