.. _program_listing_file_include_rcl_lexer.h: Program Listing for File lexer.h ================================ |exhale_lsh| :ref:`Return to documentation for file ` (``include/rcl/lexer.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 2018 Open Source Robotics Foundation, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. #ifndef RCL__LEXER_H_ #define RCL__LEXER_H_ #include #include "rcl/allocator.h" #include "rcl/macros.h" #include "rcl/types.h" #include "rcl/visibility_control.h" #if __cplusplus extern "C" { #endif typedef enum rcl_lexeme_e { RCL_LEXEME_NONE = 0, RCL_LEXEME_EOF = 1, RCL_LEXEME_TILDE_SLASH = 2, RCL_LEXEME_URL_SERVICE = 3, RCL_LEXEME_URL_TOPIC = 4, RCL_LEXEME_COLON = 5, RCL_LEXEME_NODE = 6, RCL_LEXEME_NS = 7, RCL_LEXEME_SEPARATOR = 8, RCL_LEXEME_BR1 = 9, RCL_LEXEME_BR2 = 10, RCL_LEXEME_BR3 = 11, RCL_LEXEME_BR4 = 12, RCL_LEXEME_BR5 = 13, RCL_LEXEME_BR6 = 14, RCL_LEXEME_BR7 = 15, RCL_LEXEME_BR8 = 16, RCL_LEXEME_BR9 = 17, RCL_LEXEME_TOKEN = 18, RCL_LEXEME_FORWARD_SLASH = 19, RCL_LEXEME_WILD_ONE = 20, RCL_LEXEME_WILD_MULTI = 21, // TODO(hidmic): remove when parameter names are standardized to // use slashes in lieu of dots RCL_LEXEME_DOT = 22, } rcl_lexeme_t; RCL_PUBLIC RCL_WARN_UNUSED rcl_ret_t rcl_lexer_analyze( const char * text, rcl_lexeme_t * lexeme, size_t * length); #if __cplusplus } #endif #endif // RCL__LEXER_H_