Ruby 4.0.5p0 (2026-05-20 revision 64336ffd0ee9e1f4c05891695a3d7b49cb709721)
File List
Here is a list of all documented files with brief descriptions:
 coroutine
 amd64
 
Context.h
 arm32
 
Context.h
 arm64
 
Context.h
 asyncify
 
Context.c
 
Context.h
 emscripten
 
Context.c
 
Context.h
 loongarch64
 
Context.h
 ppc
 
Context.h
 ppc64
 
Context.h
 ppc64le
 
Context.h
 pthread
 
Context.c
 
Context.h
 riscv64
 
Context.h
 ucontext
 
Context.c
 
Context.h
 universal
 
Context.h
 win32
 
Context.h
 win64
 
Context.h
 x86
 
Context.h
 defs
 
id.def
 
known_errors.def
 
opt_insn_unif.def
 
opt_operand.def
 gc
 default
 
default.c
 mmtk
 
mmtk.c
 
mmtk.h
 
gc.h
 
gc_impl.h
 include
 ruby
 backward
 2
 
assume.h
Defines ASSUME / #RB_LIKELY / UNREACHABLE
 
attributes.h
 
bool.h
 
gcc_version_since.h
 
inttypes.h
 
limits.h
 
long_long.h
Defines old LONG_LONG
 
r_cast.h
 
rmodule.h
 
stdalign.h
Defines RUBY_ALIGNAS / RUBY_ALIGNOF
 
stdarg.h
Defines old _
 
cxxanyargs.hpp
Provides old prototypes for C++ programs
 fiber
 
scheduler.h
Scheduler APIs
 internal
 arithmetic
 
char.h
Arithmetic conversion between C's char and Ruby's
 
double.h
Arithmetic conversion between C's double and Ruby's
 
fixnum.h
Handling of integers formerly known as Fixnums
 
gid_t.h
Arithmetic conversion between C's gid_t and Ruby's
 
int.h
Arithmetic conversion between C's int and Ruby's
 
intptr_t.h
Arithmetic conversion between C's intptr_t and Ruby's
 
long.h
Arithmetic conversion between C's long and Ruby's
 
long_long.h
Arithmetic conversion between C's long long and Ruby's
 
mode_t.h
Arithmetic conversion between C's mode_t and Ruby's
 
off_t.h
Arithmetic conversion between C's off_t and Ruby's
 
pid_t.h
Arithmetic conversion between C's pid_t and Ruby's
 
short.h
Arithmetic conversion between C's short and Ruby's
 
size_t.h
Arithmetic conversion between C's size_t and Ruby's
 
st_data_t.h
Arithmetic conversion between C's st_data_t and Ruby's
 
uid_t.h
Arithmetic conversion between C's uid_t and Ruby's
 attr
 
alloc_size.h
Defines RBIMPL_ATTR_ALLOC_SIZE
 
artificial.h
Defines RBIMPL_ATTR_ARTIFICIAL
 
cold.h
Defines RBIMPL_ATTR_COLD
 
const.h
Defines RBIMPL_ATTR_CONST
 
constexpr.h
RBIMPL_ATTR_CONSTEXPR
 
deprecated.h
Defines RBIMPL_ATTR_DEPRECATED
 
diagnose_if.h
Defines RBIMPL_ATTR_DIAGNOSE_IF
 
enum_extensibility.h
RBIMPL_ATTR_ENUM_EXTENSIBILITY
 
error.h
Defines RBIMPL_ATTR_ERROR
 
flag_enum.h
Defines RBIMPL_ATTR_FLAG_ENUM
 
forceinline.h
Defines RBIMPL_ATTR_FORCEINLINE
 
format.h
Defines RBIMPL_ATTR_FORMAT
 
maybe_unused.h
Defines RBIMPL_ATTR_MAYBE_UNUSED
 
noalias.h
Defines RBIMPL_ATTR_NOALIAS
 
nodiscard.h
Defines RBIMPL_ATTR_NODISCARD
 
noexcept.h
Defines RBIMPL_ATTR_NOEXCEPT
 
noinline.h
Defines RBIMPL_ATTR_NOINLINE
 
nonnull.h
Defines RBIMPL_ATTR_NONNULL
 
nonstring.h
Defines RBIMPL_ATTR_NONSTRING
 
noreturn.h
Defines RBIMPL_ATTR_NORETURN
 
packed_struct.h
Defines #RBIMPL_ATTR_PACKED_STRUCT_BEGIN, #RBIMPL_ATTR_PACKED_STRUCT_END, #RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_BEGIN, and #RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_END
 
pure.h
Defines RBIMPL_ATTR_PURE
 
restrict.h
Defines RBIMPL_ATTR_RESTRICT
 
returns_nonnull.h
Defines RBIMPL_ATTR_RETURNS_NONNULL
 
warning.h
Defines RBIMPL_ATTR_WARNING
 
weakref.h
Defines RBIMPL_ATTR_WEAKREF
 compiler_is
 
apple.h
 
clang.h
 
gcc.h
 
intel.h
 
msvc.h
 
sunpro.h
 core
 
rarray.h
Defines struct RArray
 
rbasic.h
Defines struct RBasic
 
rbignum.h
Routines to manipulate struct RBignum
 
rclass.h
Routines to manipulate struct RClass
 
rdata.h
Defines struct RData
 
rfile.h
Defines struct RFile
 
rhash.h
Routines to manipulate struct RHash
 
rmatch.h
Defines struct RMatch
 
robject.h
Defines struct RObject
 
rregexp.h
Defines struct RRegexp
 
rstring.h
Defines struct RString
 
rstruct.h
Routines to manipulate struct RStruct
 
rtypeddata.h
Defines struct RTypedData
 encoding
 
coderange.h
Routines for code ranges
 
ctype.h
Routines to query chacater types
 
encoding.h
Defines rb_encoding
 
pathname.h
Routines to manipulate encodings of pathnames
 
re.h
Routines to manipulate encodings of symbols
 
sprintf.h
Routines to manipulate encodings of symbols
 
string.h
Routines to manipulate encodings of strings
 
symbol.h
Routines to manipulate encodings of symbols
 
transcode.h
Econv stuff
 has
 
attribute.h
Defines RBIMPL_HAS_ATTRIBUTE
 
builtin.h
Defines RBIMPL_HAS_BUILTIN
 
c_attribute.h
Defines RBIMPL_HAS_C_ATTRIBUTE
 
cpp_attribute.h
Defines RBIMPL_HAS_CPP_ATTRIBUTE
 
declspec_attribute.h
Defines RBIMPL_HAS_DECLSPEC_ATTRIBUTE
 
extension.h
Defines RBIMPL_HAS_EXTENSION
 
feature.h
Defines RBIMPL_HAS_FEATURE
 
warning.h
Defines RBIMPL_HAS_WARNING
 intern
 select
 
largesize.h
Public APIs to provide rb_fd_select()
 
posix.h
Public APIs to provide rb_fd_select()
 
win32.h
Public APIs to provide rb_fd_select()
 
array.h
Public APIs related to rb_cArray
 
bignum.h
Public APIs related to so-called rb_cBignum
 
class.h
Public APIs related to rb_cClass/rb_cModule
 
compar.h
Public APIs related to rb_mComparable
 
complex.h
Public APIs related to rb_cComplex
 
cont.h
Public APIs related to rb_cFiber
 
dir.h
Public APIs related to rb_cDir
 
enum.h
Public APIs related to rb_mEnumerable
 
enumerator.h
Public APIs related to rb_cEnumerator
 
error.h
Public APIs related to rb_eException
 
eval.h
Pre-1.9 era evaluator APIs (now considered miscellaneous)
 
file.h
Public APIs related to rb_cFile
 
hash.h
Public APIs related to rb_cHash
 
io.h
Public APIs related to rb_cIO
 
load.h
Public APIs related to rb_f_require()
 
marshal.h
Public APIs related to rb_mMarshal
 
numeric.h
Public APIs related to rb_cNumeric
 
object.h
Public APIs related to rb_cObject
 
parse.h
Public APIs related to rb_cSymbol
 
proc.h
Public APIs related to rb_cProc
 
process.h
Public APIs related to rb_mProcess
 
random.h
MT19937 backended pseudo random number generator
 
range.h
Public APIs related to rb_cRange
 
rational.h
Public APIs related to rb_cRational
 
re.h
Public APIs related to rb_cRegexp
 
ruby.h
Process-global APIs
 
select.h
Public APIs to provide rb_fd_select()
 
set.h
Public APIs related to rb_cSet
 
signal.h
Signal handling APIs
 
sprintf.h
Our own private printf(3)
 
string.h
Public APIs related to rb_cString
 
struct.h
Public APIs related to rb_cStruct
 
thread.h
Public APIs related to rb_cThread
 
time.h
Public APIs related to rb_cTime
 
variable.h
Public APIs related to names inside of a Ruby program
 
vm.h
Public APIs related to rb_cRubyVM
 
abi.h
 
anyargs.h
Function overloads to issue warnings around ANYARGS
 
arithmetic.h
Conversion between C's arithmetic types and Ruby's numeric types
 
assume.h
Defines RBIMPL_ASSUME / RBIMPL_UNREACHABLE
 
cast.h
 
compiler_is.h
Defines RBIMPL_COMPILER_IS
 
compiler_since.h
Defines RBIMPL_COMPILER_SINCE
 
config.h
 
constant_p.h
Defines RBIMPL_CONSTANT_P
 
core.h
Core data structures, definitions and manipulations
 
ctype.h
Our own, locale independent, character handling routines
 
dllexport.h
Tweaking visibility of C variables/functions
 
dosish.h
Support for so-called dosish systems
 
error.h
Declares rb_raise()
 
eval.h
Declares rb_eval_string()
 
event.h
Debugging and tracing APIs
 
fl_type.h
Defines enum ruby_fl_type
 
gc.h
Registering values to the GC
 
glob.h
Declares rb_glob()
 
globals.h
Ruby-level global variables / constants, visible from C
 
interpreter.h
Interpreter embedding APIs
 
iterator.h
Block related APIs
 
memory.h
Memory management stuff
 
method.h
Creation and modification of Ruby methods
 
module.h
Creation and modification of Ruby modules
 
newobj.h
Defines #NEWOBJ
 
scan_args.h
Compile-time static implementation of rb_scan_args()
 
special_consts.h
Defines enum ruby_special_consts
 
static_assert.h
Defines RBIMPL_STATIC_ASSERT
 
stdalign.h
Defines RBIMPL_ALIGNAS / RBIMPL_ALIGNOF
 
stdbool.h
C99 shim for <stdbool.h>
 
stdckdint.h
 
symbol.h
Defines rb_intern
 
value.h
Defines VALUE and ID
 
value_type.h
Defines enum ruby_value_type
 
variable.h
Declares rb_define_variable()
 
warning_push.h
Defines RBIMPL_WARNING_PUSH
 
xmalloc.h
Declares ruby_xmalloc()
 io
 
buffer.h
 
assert.h
 
atomic.h
Atomic operations
 
backward.h
 
debug.h
 
defines.h
 
encoding.h
Encoding relates APIs
 
intern.h
 
io.h
 
memory_view.h
Memory View
 
missing.h
 
onigmo.h
 
oniguruma.h
 
ractor.h
 
random.h
 
re.h
 
regex.h
 
ruby.h
 
st.h
 
subst.h
 
thread.h
 
thread_native.h
 
util.h
 
version.h
 
vm.h
 
win32.h
 
ruby.h
 internal
 
array.h
 
basic_operators.h
 
bignum.h
 
bits.h
 
box.h
 
class.h
 
cmdlineopt.h
 
compar.h
 
compile.h
 
compilers.h
 
complex.h
 
concurrent_set.h
 
cont.h
 
dir.h
 
enc.h
 
encoding.h
 
enum.h
 
enumerator.h
 
error.h
 
eval.h
 
file.h
 
fixnum.h
 
gc.h
 
hash.h
 
imemo.h
 
inits.h
 
io.h
 
load.h
 
loadpath.h
 
math.h
 
missing.h
 
numeric.h
 
object.h
 
parse.h
 
proc.h
 
process.h
 
ractor.h
 
random.h
 
range.h
 
rational.h
 
re.h
 
ruby_parser.h
 
sanitizers.h
 
serial.h
 
set_table.h
 
signal.h
 
st.h
 
static_assert.h
 
string.h
 
struct.h
 
symbol.h
 
thread.h
 
time.h
 
transcode.h
 
util.h
 
variable.h
 
vm.h
 
warnings.h
 missing
 
acosh.c
 
alloca.c
 
cbrt.c
 
close.c
 
crt_externs.h
 
crypt.c
 
crypt.h
 
des_tables.c
 
dtoa.c
 
erf.c
 
explicit_bzero.c
 
ffs.c
 
file.h
 
flock.c
 
hypot.c
 
langinfo.c
 
lgamma_r.c
 
memcmp.c
 
memmove.c
 
mt19937.c
 
nan.c
 
nextafter.c
 
procstat_vm.c
 
setproctitle.c
 
strchr.c
 
strerror.c
 
strlcat.c
 
strlcpy.c
 
strstr.c
 
tgamma.c
 prism
 util
 
pm_buffer.c
 
pm_buffer.h
A wrapper around a contiguous block of allocated memory
 
pm_char.c
 
pm_char.h
Functions for working with characters and strings
 
pm_constant_pool.c
 
pm_constant_pool.h
A data structure that stores a set of strings
 
pm_integer.c
 
pm_integer.h
This module provides functions for working with arbitrary-sized integers
 
pm_list.c
 
pm_list.h
An abstract linked list
 
pm_memchr.c
 
pm_memchr.h
A custom memchr implementation
 
pm_newline_list.c
 
pm_newline_list.h
A list of byte offsets of newlines in a string
 
pm_string.c
 
pm_string.h
A generic string type that can have various ownership semantics
 
pm_strncasecmp.c
 
pm_strncasecmp.h
A custom strncasecmp implementation
 
pm_strpbrk.c
 
pm_strpbrk.h
A custom strpbrk implementation
 
api_node.c
 
api_pack.c
 
ast.h
 
defines.h
Macro definitions used throughout the prism library
 
diagnostic.c
 
diagnostic.h
A list of diagnostics generated during parsing
 
encoding.c
 
encoding.h
The encoding interface and implementations used by the parser
 
extension.c
 
extension.h
 
node.c
 
node.h
Functions related to nodes in the AST
 
options.c
 
options.h
The options that can be passed to parsing
 
pack.c
 
pack.h
A pack template string parser
 
parser.h
The parser used to parse Ruby source
 
prettyprint.c
 
prettyprint.h
An AST node pretty-printer
 
prism.c
 
prism.h
The main header file for the prism parser
 
regexp.c
 
regexp.h
A regular expression parser
 
serialize.c
 
static_literals.c
 
static_literals.h
A set of static literal nodes that can be checked for duplicates
 
token_type.c
 
version.h
The version of the Prism library
 tool
 lrama
 template
 bison
 
_yacc.h
 
yacc.c
 
yacc.h
 wasm
 tests
 
fiber_test.c
 
machine_test.c
 
setjmp_test.c
 
asyncify.h
 
fiber.c
 
fiber.h
 
machine.c
 
machine.h
 
missing.c
 
runtime.c
 
setjmp.c
 
setjmp.h
 win32
 
dir.h
 
file.c
 
file.h
 
win32.c
 
winmain.c
 
addr2line.c
 
addr2line.h
 
array.c
 
ast.c
 
bignum.c
 
box.c
 
builtin.c
 
builtin.h
 
class.c
 
compar.c
 
compile.c
 
complex.c
 
concurrent_set.c
 
constant.h
 
cont.c
 
darray.h
 
debug.c
 
debug_counter.c
 
debug_counter.h
 
dir.c
 
dln.c
 
dln.h
 
dln_find.c
 
dmydln.c
 
dmyenc.c
 
dmyext.c
 
encindex.h
 
encoding.c
 
enum.c
 
enumerator.c
 
error.c
 
eval.c
 
eval_error.c
 
eval_intern.h
 
eval_jump.c
 
file.c
 
gc.c
 
goruby.c
 
hash.c
 
hrtime.h
 
id.c
 
id.h
 
id_table.c
 
id_table.h
 
imemo.c
 
symbol.h
 
parse.h
 
variable.h
 
method.h
 
version.h
 
inits.c
 
internal.h
 
io.c
 
io_buffer.c
 
iseq.c
 
iseq.h
 
jit.c
 
lex.c
 
load.c
 
loadpath.c
 
localeinit.c
 
main.c
 
marshal.c
 
math.c
 
memory_view.c
 
mini_builtin.c
 
miniinit.c
 
node.c
 
node.h
 
node_dump.c
 
numeric.c
 
object.c
 
pack.c
 
parse.c
 
parse.y
 
parser_bits.h
 
parser_node.h
 
parser_st.c
 
parser_st.h
 
parser_value.h
 
pathname.c
 
prism_compile.c
 
prism_compile.h
 
prism_init.c
 
probes.h
 
probes_helper.h
 
proc.c
 
process.c
 
ractor.c
 
ractor_core.h
 
ractor_sync.c
 
random.c
 
range.c
 
rational.c
 
re.c
 
regcomp.c
 
regenc.c
 
regenc.h
 
regerror.c
 
regexec.c
 
regint.h
 
regparse.c
 
regparse.h
 
regsyntax.c
 
revision.h
 
ruby-runner.c
 
ruby.c
 
ruby_assert.h
 
ruby_atomic.h
 
ruby_parser.c
 
rubyparser.h
 
rubystub.c
 
scheduler.c
 
set.c
 
shape.c
 
shape.h
 
signal.c
 
siphash.c
 
siphash.h
 
sparc.c
 
sprintf.c
 
st.c
 
strftime.c
 
string.c
 
struct.c
 
symbol.c
 
thread.c
 
thread_none.c
 
thread_none.h
 
thread_pthread.c
 
thread_pthread.h
 
thread_pthread_mn.c
 
thread_sync.c
 
thread_win32.c
 
thread_win32.h
 
time.c
 
timev.h
 
transcode.c
 
transcode_data.h
 
universal_parser.c
 
util.c
 
variable.c
 
verconf.h
 
version.c
 
vm.c
 
vm_args.c
 
vm_backtrace.c
 
vm_callinfo.h
 
vm_core.h
 
vm_debug.h
 
vm_dump.c
 
vm_eval.c
 
vm_exec.c
 
vm_exec.h
 
vm_insnhelper.c
 
vm_insnhelper.h
 
vm_method.c
 
vm_opts.h
 
vm_sync.c
 
vm_sync.h
 
vm_trace.c
 
vsnprintf.c
 
weakmap.c
 
yjit.c
 
yjit.h
 
zjit.c
 
zjit.h