Ruby: prism/regexp.h Source File

Ruby 3.3.7p123 (2025-01-15 revision be31f993d7fa0219d85f7b3c694d454da4ecc10b)

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"
12#include "prism/util/pm_memchr.h"
13#include "prism/util/pm_string_list.h"
14#include "prism/util/pm_string.h"
15
16#include <stdbool.h>
17#include <stddef.h>
18#include <string.h>
19
31 PRISM_EXPORTED_FUNCTION bool pm_regexp_named_capture_group_names(const uint8_t *source, size_t size, pm_string_list_t *named_captures, bool encoding_changed, const pm_encoding_t *encoding);
32
33#endif
parser.h
The parser used to parse Ruby source.
pm_memchr.h
A custom memchr implementation.
pm_string.h
A generic string type that can have various ownership semantics.
pm_string_list.h
A list of strings.
defines.h
Macro definitions used throughout the prism library.
PRISM_EXPORTED_FUNCTION
#define PRISM_EXPORTED_FUNCTION
By default, we compile with -fvisibility=hidden.
Definition defines.h:32
encoding.h
The encoding interface and implementations used by the parser.
pm_regexp_named_capture_group_names
PRISM_EXPORTED_FUNCTION bool pm_regexp_named_capture_group_names(const uint8_t *source, size_t size, pm_string_list_t *named_captures, bool encoding_changed, const pm_encoding_t *encoding)
Parse a regular expression and extract the names of all of the named capture groups.
Definition regexp.c:634
stdbool.h
C99 shim for <stdbool.h>
pm_encoding_t
This struct defines the functions necessary to implement the encoding interface so we can determine h...
Definition encoding.h:23
pm_string_list_t
A list of strings.
Definition pm_string_list.h:18