A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Lexer.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * *
3  * Copyright 2018 Rice University *
4  * *
5  * Licensed under the Apache License, Version 2.0 (the "License"); *
6  * you may not use this file except in compliance with the License. *
7  * You may obtain a copy of the License at *
8  * *
9  * http://www.apache.org/licenses/LICENSE-2.0 *
10  * *
11  * Unless required by applicable law or agreed to in writing, software *
12  * distributed under the License is distributed on an "AS IS" BASIS, *
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
14  * See the License for the specific language governing permissions and *
15  * limitations under the License. *
16  * *
17  *****************************************************************************/
18 #ifndef _LABCEXER_H_
19 #define _LABCEXER_H_
20 
21 #include "LexerTokens.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 struct LexerExtra {
28  char errorMessage[500];
29 };
30 
31 typedef void* yyscan_t;
32 int yylex_init_extra(struct LexerExtra*, yyscan_t*);
33 int yylex_destroy(yyscan_t);
34 
35 typedef struct yy_buffer_state* YY_BUFFER_STATE;
36 YY_BUFFER_STATE yy_scan_string(const char*, yyscan_t);
37 void yy_delete_buffer(YY_BUFFER_STATE, yyscan_t);
38 
40 void yyerror(yyscan_t, struct AtomicComputationList** myStatement, const char*);
41 
42 // union YYSTYPE;
43 typedef union
44 #ifdef __cplusplus
45  YYSTYPE
46 #endif
47 {
48  char* myChar;
52  struct AttList* myAttList;
53 } YYSTYPE;
54 
55 extern YYSTYPE yylval;
56 int yylex(YYSTYPE*, yyscan_t);
57 
58 
59 #ifdef __cplusplus
60 }
61 #endif
62 
63 #endif
void * yyscan_t
Definition: Lexer.h:31
int yylex(YYSTYPE *, yyscan_t)
struct yy_buffer_state * YY_BUFFER_STATE
Definition: Lexer.h:35
int yylex_init_extra(struct LexerExtra *, yyscan_t *)
struct AtomicComputation * myAtomicComputation
Definition: Lexer.h:50
Definition: Lexer.h:43
struct AtomicComputationList * myAtomicComputationList
Definition: Lexer.h:49
char errorMessage[500]
Definition: Lexer.h:28
int yylex_destroy(yyscan_t)
void yyerror(yyscan_t, struct AtomicComputationList **myStatement, const char *)
char * myChar
Definition: Lexer.h:48
struct TupleSpec * myTupleSpec
Definition: Lexer.h:51
void yy_delete_buffer(YY_BUFFER_STATE, yyscan_t)
struct AttList * myAttList
Definition: Lexer.h:52
YY_BUFFER_STATE yy_scan_string(const char *, yyscan_t)
YYSTYPE yylval