Prism Ruby parser
Loading...
Searching...
No Matches
regexp.h
Go to the documentation of this file.
1
6#ifndef PRISM_REGEXP_H
7#define PRISM_REGEXP_H
8
9#include "prism/defines.h"
10#include "prism/parser.h"
11#include "prism/encoding.h"
14
15#include <stdbool.h>
16#include <stddef.h>
17#include <string.h>
18
22typedef void (*pm_regexp_name_callback_t)(const pm_string_t *name, void *data);
23
27typedef void (*pm_regexp_error_callback_t)(const uint8_t *start, const uint8_t *end, const char *message, void *data);
28
41PRISM_EXPORTED_FUNCTION void pm_regexp_parse(pm_parser_t *parser, const uint8_t *source, size_t size, bool extended_mode, pm_regexp_name_callback_t name_callback, void *name_data, pm_regexp_error_callback_t error_callback, void *error_data);
42
43#endif
Macro definitions used throughout the prism library.
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
Definition defines.h:50
The encoding interface and implementations used by the parser.
The parser used to parse Ruby source.
A custom memchr implementation.
A generic string type that can have various ownership semantics.
void(* pm_regexp_error_callback_t)(const uint8_t *start, const uint8_t *end, const char *message, void *data)
This callback is called when a parse error is found.
Definition regexp.h:27
PRISM_EXPORTED_FUNCTION void pm_regexp_parse(pm_parser_t *parser, const uint8_t *source, size_t size, bool extended_mode, pm_regexp_name_callback_t name_callback, void *name_data, pm_regexp_error_callback_t error_callback, void *error_data)
Parse a regular expression.
Definition regexp.c:776
void(* pm_regexp_name_callback_t)(const pm_string_t *name, void *data)
This callback is called when a named capture group is found.
Definition regexp.h:22
This struct represents the overall parser.
Definition parser.h:640
A generic string type that can have various ownership semantics.
Definition pm_string.h:33