rcl  master
C API providing common ROS client library functionality.
lexer.h
Go to the documentation of this file.
1 // Copyright 2018 Open Source Robotics Foundation, Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef RCL__LEXER_H_
16 #define RCL__LEXER_H_
17 
18 #include <stddef.h>
19 
20 #include "rcl/allocator.h"
21 #include "rcl/macros.h"
22 #include "rcl/types.h"
23 #include "rcl/visibility_control.h"
24 
25 #if __cplusplus
26 extern "C"
27 {
28 #endif
29 
31 typedef enum rcl_lexeme_t
32 {
77 } rcl_lexeme_t;
78 
79 
81 
107 rcl_ret_t
109  const char * text,
110  rcl_allocator_t allocator,
111  rcl_lexeme_t * lexeme,
112  size_t * length);
113 
114 #if __cplusplus
115 }
116 #endif
117 
118 #endif // RCL__LEXER_H_
\1
Definition: lexer.h:52
Indicates no valid lexeme was found (end of input not reached)
Definition: lexer.h:34
\6
Definition: lexer.h:62
rmw_ret_t rcl_ret_t
Definition: types.h:20
\9
Definition: lexer.h:68
\2
Definition: lexer.h:54
Definition: lexer.h:74
rosservice://
Definition: lexer.h:40
:=
Definition: lexer.h:50
\5
Definition: lexer.h:60
\3
Definition: lexer.h:56
a name between slashes, must match (([a-zA-Z](_)?)|_)([0-9a-zA-Z](_)?)*
Definition: lexer.h:70
__ns
Definition: lexer.h:48
Indicates end of input has been reached.
Definition: lexer.h:36
#define RCL_WARN_UNUSED
Ignored return values of functions with this macro will emit a warning.
Definition: macros.h:25
~/
Definition: lexer.h:38
#define RCL_PUBLIC
Definition: visibility_control.h:48
\7
Definition: lexer.h:64
**
Definition: lexer.h:76
\8
Definition: lexer.h:66
rcl_lexeme_t
Type of lexeme found by lexical analysis.
Definition: lexer.h:31
rostopic://
Definition: lexer.h:42
:
Definition: lexer.h:44
\4
Definition: lexer.h:58
/
Definition: lexer.h:72
rcl_ret_t rcl_lexer_analyze(const char *text, rcl_allocator_t allocator, rcl_lexeme_t *lexeme, size_t *length)
Do lexical analysis on a string.
__node
Definition: lexer.h:46