Ruby 4.0.7p0 (2026-09-15 revision 229531a6cfbf07e3caef30dbac24a2a3f3fed482)
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