Ruby: prism/regexp.h File Reference

Ruby 3.4.8p72 (2025-12-17 revision 995b59f66677d44767ce9faac6957e5543617ff9)

Typedefs | Functions
regexp.h File Reference

A regular expression parser. More...

`#include "prism/defines.h"`
`#include "prism/parser.h"`
`#include "prism/encoding.h"`
`#include "prism/util/pm_memchr.h"`
`#include "prism/util/pm_string.h"`
`#include <stdbool.h>`
`#include <stddef.h>`
`#include <string.h>`

Go to the source code of this file.

## Typedefs
typedef void(* | pm_regexp_name_callback_t) (const pm_string_t *name, void *data)
| This callback is called by pm_regexp_parse() when a named capture group is found.
typedef void(* | pm_regexp_error_callback_t) (const uint8_t *start, const uint8_t *end, const char *message, void *data)
| This callback is called by pm_regexp_parse() when a parse error is found.

## Functions
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.

## Detailed Description

A regular expression parser.

Definition in file regexp.h.

## Typedef Documentation

## ◆ pm_regexp_error_callback_t

typedef void(* pm_regexp_error_callback_t) (const uint8_t *start, const uint8_t *end, const char *message, void *data)

This callback is called by pm_regexp_parse() when a parse error is found.

Definition at line 27 of file regexp.h.

## ◆ pm_regexp_name_callback_t

typedef void(* pm_regexp_name_callback_t) (const pm_string_t *name, void *data)

This callback is called by pm_regexp_parse() when a named capture group is found.

Definition at line 22 of file regexp.h.

## Function Documentation

## ◆ pm_regexp_parse()

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.

Parameters

  parser | The parser that is currently being used.
  source | The source code to parse.
  size | The size of the source code.
  extended_mode | Whether to parse the regular expression in extended mode.
  name_callback | The optional callback to call when a named capture group is found.
  name_data | The optional data to pass to the name callback.
  error_callback | The callback to call when a parse error is found.
  error_data | The data to pass to the error callback.

Parse a regular expression.

Definition at line 776 of file regexp.c.