Prism Ruby parser
|
Functions for working with characters and strings. More...
#include "prism/defines.h"
#include "prism/util/pm_newline_list.h"
#include <stdbool.h>
#include <stddef.h>
Go to the source code of this file.
Functions | |
size_t | pm_strspn_whitespace (const uint8_t *string, ptrdiff_t length) |
Returns the number of characters at the start of the string that are whitespace. More... | |
size_t | pm_strspn_whitespace_newlines (const uint8_t *string, ptrdiff_t length, pm_newline_list_t *newline_list) |
Returns the number of characters at the start of the string that are whitespace while also tracking the location of each newline. More... | |
size_t | pm_strspn_inline_whitespace (const uint8_t *string, ptrdiff_t length) |
Returns the number of characters at the start of the string that are inline whitespace. More... | |
size_t | pm_strspn_decimal_digit (const uint8_t *string, ptrdiff_t length) |
Returns the number of characters at the start of the string that are decimal digits. More... | |
size_t | pm_strspn_hexadecimal_digit (const uint8_t *string, ptrdiff_t length) |
Returns the number of characters at the start of the string that are hexadecimal digits. More... | |
size_t | pm_strspn_octal_number (const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) |
Returns the number of characters at the start of the string that are octal digits or underscores. More... | |
size_t | pm_strspn_decimal_number (const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) |
Returns the number of characters at the start of the string that are decimal digits or underscores. More... | |
size_t | pm_strspn_hexadecimal_number (const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) |
Returns the number of characters at the start of the string that are hexadecimal digits or underscores. More... | |
size_t | pm_strspn_regexp_option (const uint8_t *string, ptrdiff_t length) |
Returns the number of characters at the start of the string that are regexp options. More... | |
size_t | pm_strspn_binary_number (const uint8_t *string, ptrdiff_t length, const uint8_t **invalid) |
Returns the number of characters at the start of the string that are binary digits or underscores. More... | |
bool | pm_char_is_whitespace (const uint8_t b) |
Returns true if the given character is a whitespace character. More... | |
bool | pm_char_is_inline_whitespace (const uint8_t b) |
Returns true if the given character is an inline whitespace character. More... | |
bool | pm_char_is_binary_digit (const uint8_t b) |
Returns true if the given character is a binary digit. More... | |
bool | pm_char_is_octal_digit (const uint8_t b) |
Returns true if the given character is an octal digit. More... | |
bool | pm_char_is_decimal_digit (const uint8_t b) |
Returns true if the given character is a decimal digit. More... | |
bool | pm_char_is_hexadecimal_digit (const uint8_t b) |
Returns true if the given character is a hexadecimal digit. More... | |
Functions for working with characters and strings.
size_t pm_strspn_whitespace | ( | const uint8_t * | string, |
ptrdiff_t | length | ||
) |
Returns the number of characters at the start of the string that are whitespace.
Disallows searching past the given maximum number of characters.
string | The string to search. |
length | The maximum number of characters to search. |
Disallows searching past the given maximum number of characters.
size_t pm_strspn_whitespace_newlines | ( | const uint8_t * | string, |
ptrdiff_t | length, | ||
pm_newline_list_t * | newline_list | ||
) |
Returns the number of characters at the start of the string that are whitespace while also tracking the location of each newline.
Disallows searching past the given maximum number of characters.
string | The string to search. |
length | The maximum number of characters to search. |
newline_list | The list of newlines to populate. |
Disallows searching past the given maximum number of characters.
size_t pm_strspn_inline_whitespace | ( | const uint8_t * | string, |
ptrdiff_t | length | ||
) |
Returns the number of characters at the start of the string that are inline whitespace.
Disallows searching past the given maximum number of characters.
string | The string to search. |
length | The maximum number of characters to search. |
Disallows searching past the given maximum number of characters.
size_t pm_strspn_decimal_digit | ( | const uint8_t * | string, |
ptrdiff_t | length | ||
) |
Returns the number of characters at the start of the string that are decimal digits.
Disallows searching past the given maximum number of characters.
string | The string to search. |
length | The maximum number of characters to search. |
Disallows searching past the given maximum number of characters.
size_t pm_strspn_hexadecimal_digit | ( | const uint8_t * | string, |
ptrdiff_t | length | ||
) |
Returns the number of characters at the start of the string that are hexadecimal digits.
Disallows searching past the given maximum number of characters.
string | The string to search. |
length | The maximum number of characters to search. |
Disallows searching past the given maximum number of characters.
size_t pm_strspn_octal_number | ( | const uint8_t * | string, |
ptrdiff_t | length, | ||
const uint8_t ** | invalid | ||
) |
Returns the number of characters at the start of the string that are octal digits or underscores.
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
string | The string to search. |
length | The maximum number of characters to search. |
invalid | The pointer to set to the index of the first invalid underscore. |
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
size_t pm_strspn_decimal_number | ( | const uint8_t * | string, |
ptrdiff_t | length, | ||
const uint8_t ** | invalid | ||
) |
Returns the number of characters at the start of the string that are decimal digits or underscores.
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
string | The string to search. |
length | The maximum number of characters to search. |
invalid | The pointer to set to the index of the first invalid underscore. |
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore
size_t pm_strspn_hexadecimal_number | ( | const uint8_t * | string, |
ptrdiff_t | length, | ||
const uint8_t ** | invalid | ||
) |
Returns the number of characters at the start of the string that are hexadecimal digits or underscores.
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
string | The string to search. |
length | The maximum number of characters to search. |
invalid | The pointer to set to the index of the first invalid underscore. |
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
size_t pm_strspn_regexp_option | ( | const uint8_t * | string, |
ptrdiff_t | length | ||
) |
Returns the number of characters at the start of the string that are regexp options.
Disallows searching past the given maximum number of characters.
string | The string to search. |
length | The maximum number of characters to search. |
Disallows searching past the given maximum number of characters.
size_t pm_strspn_binary_number | ( | const uint8_t * | string, |
ptrdiff_t | length, | ||
const uint8_t ** | invalid | ||
) |
Returns the number of characters at the start of the string that are binary digits or underscores.
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
string | The string to search. |
length | The maximum number of characters to search. |
invalid | The pointer to set to the index of the first invalid underscore. |
Disallows searching past the given maximum number of characters.
If multiple underscores are found in a row or if an underscore is found at the end of the number, then the invalid pointer is set to the index of the first invalid underscore.
bool pm_char_is_whitespace | ( | const uint8_t | b | ) |
Returns true if the given character is a whitespace character.
b | The character to check. |
bool pm_char_is_inline_whitespace | ( | const uint8_t | b | ) |
Returns true if the given character is an inline whitespace character.
b | The character to check. |
bool pm_char_is_binary_digit | ( | const uint8_t | b | ) |
Returns true if the given character is a binary digit.
b | The character to check. |
bool pm_char_is_octal_digit | ( | const uint8_t | b | ) |
Returns true if the given character is an octal digit.
b | The character to check. |
bool pm_char_is_decimal_digit | ( | const uint8_t | b | ) |
Returns true if the given character is a decimal digit.
b | The character to check. |
bool pm_char_is_hexadecimal_digit | ( | const uint8_t | b | ) |
Returns true if the given character is a hexadecimal digit.
b | The character to check. |