comment(/********************************************************************** array.c - $Author: shyouhei $ $Date: 2009-02-05 00:55:01 +0100 (Thu, 05 Feb 2009\) $ created at: Fri Aug 6 09:46:12 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("util.h") preprocessor(#include) include("st.h") ident(VALUE) ident(rb_cArray)operator(;) directive(static) ident(ID) ident(id_cmp)operator(;) preprocessor(#define) ident(ARY_DEFAULT_SIZE) integer(16) preprocessor(#define) ident(ARY_MAX_SIZE) operator(()ident(LONG_MAX) operator(/) reserved(sizeof)operator(()ident(VALUE)operator(\)\)) directive(void) ident(rb_mem_clear)operator(()ident(mem)operator(,) ident(size)operator(\)) directive(register) ident(VALUE) operator(*)ident(mem)operator(;) directive(register) pre_type(long) ident(size)operator(;) operator({) reserved(while) operator(()ident(size)operator(--\)) operator({) operator(*)ident(mem)operator(++) operator(=) ident(Qnil)operator(;) operator(}) operator(}) directive(static) directive(inline) directive(void) ident(memfill)operator(()ident(mem)operator(,) ident(size)operator(,) ident(val)operator(\)) directive(register) ident(VALUE) operator(*)ident(mem)operator(;) directive(register) pre_type(long) ident(size)operator(;) directive(register) ident(VALUE) ident(val)operator(;) operator({) reserved(while) operator(()ident(size)operator(--\)) operator({) operator(*)ident(mem)operator(++) operator(=) ident(val)operator(;) operator(}) operator(}) preprocessor(#define) ident(ARY_TMPLOCK) ident(FL_USER1) directive(static) directive(inline) directive(void) ident(rb_ary_modify_check)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(ary)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(ary)operator(,) ident(ARY_TMPLOCK)operator(\)\)) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(ary)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) directive(static) directive(void) ident(rb_ary_modify)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) operator(*)ident(ptr)operator(;) ident(rb_ary_modify_check)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(ptr) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(FL_UNSET)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(MEMCPY)operator(()ident(ptr)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(=) ident(ptr)operator(;) operator(}) operator(}) ident(VALUE) ident(rb_ary_freeze)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(rb_obj_freeze)operator(()ident(ary)operator(\);) operator(}) comment(/* * call-seq: * array.frozen? -> true or false * * Return true if this array is frozen (or temporarily frozen * while being sorted\). */) directive(static) ident(VALUE) ident(rb_ary_frozen_p)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(ary)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(ary)operator(,) ident(ARY_TMPLOCK)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(ary_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(ary_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(ary)operator(,) reserved(struct) ident(RArray)operator(\);) ident(OBJSETUP)operator(()ident(ary)operator(,) ident(klass)operator(,) ident(T_ARRAY)operator(\);) ident(ary)operator(->)ident(len) operator(=) integer(0)operator(;) ident(ary)operator(->)ident(ptr) operator(=) integer(0)operator(;) ident(ary)operator(->)ident(aux)operator(.)ident(capa) operator(=) integer(0)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(ary_new)operator(()ident(klass)operator(,) ident(len)operator(\)) ident(VALUE) ident(klass)operator(;) pre_type(long) ident(len)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(ary_alloc)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(len) operator(>) ident(ARY_MAX_SIZE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) ident(len)operator(++;) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) ident(len)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(len)operator(;) reserved(return) ident(ary)operator(;) operator(}) ident(VALUE) ident(rb_ary_new2)operator(()ident(len)operator(\)) pre_type(long) ident(len)operator(;) operator({) reserved(return) ident(ary_new)operator(()ident(rb_cArray)operator(,) ident(len)operator(\);) operator(}) ident(VALUE) ident(rb_ary_new)operator((\)) operator({) reserved(return) ident(rb_ary_new2)operator(()ident(ARY_DEFAULT_SIZE)operator(\);) operator(}) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(,)ident(b)operator(\)) preprocessor(#else) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(\)) preprocessor(#endif) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_ary_new3)operator(()pre_type(long) ident(n)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_ary_new3)operator(()ident(n)operator(,) ident(va_alist)operator(\)) pre_type(long) ident(n)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(ar)operator(;) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(i)operator(;) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(n)operator(\);) ident(va_init_list)operator(()ident(ar)operator(,) ident(n)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(va_arg)operator(()ident(ar)operator(,) ident(VALUE)operator(\);) operator(}) ident(va_end)operator(()ident(ar)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(n)operator(;) reserved(return) ident(ary)operator(;) operator(}) ident(VALUE) ident(rb_ary_new4)operator(()ident(n)operator(,) ident(elts)operator(\)) pre_type(long) ident(n)operator(;) directive(const) ident(VALUE) operator(*)ident(elts)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(n)operator(\);) reserved(if) operator(()ident(n) operator(>) integer(0) operator(&&) ident(elts)operator(\)) operator({) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(elts)operator(,) ident(VALUE)operator(,) ident(n)operator(\);) operator(}) comment(/* This assignment to len will be moved to the above "if" block in Ruby 1.9 */) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(n)operator(;) reserved(return) ident(ary)operator(;) operator(}) ident(VALUE) ident(rb_assoc_new)operator(()ident(car)operator(,) ident(cdr)operator(\)) ident(VALUE) ident(car)operator(,) ident(cdr)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new2)operator(()integer(2)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) ident(car)operator(;) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(1)operator(]) operator(=) ident(cdr)operator(;) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) integer(2)operator(;) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(to_ary)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(rb_convert_type)operator(()ident(ary)operator(,) ident(T_ARRAY)operator(,) stringoperator(,) stringoperator(\);) operator(}) ident(VALUE) ident(rb_check_array_type)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(rb_check_convert_type)operator(()ident(ary)operator(,) ident(T_ARRAY)operator(,) stringoperator(,) stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(rb_ary_replace) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) comment(/* * call-seq: * Array.new(size=0, obj=nil\) * Array.new(array\) * Array.new(size\) {|index| block } * * Returns a new array. In the first form, the new array is * empty. In the second it is created with _size_ copies of _obj_ * (that is, _size_ references to the same * _obj_\). The third form creates a copy of the array * passed as a parameter (the array is generated by calling * to_ary on the parameter\). In the last form, an array * of the given size is created. Each element in this array is * calculated by passing the element's index to the given block and * storing the return value. * * Array.new * Array.new(2\) * Array.new(5, "A"\) * * # only one copy of the object is created * a = Array.new(2, Hash.new\) * a[0]['cat'] = 'feline' * a * a[1]['cat'] = 'Felix' * a * * # here multiple copies are created * a = Array.new(2\) { Hash.new } * a[0]['cat'] = 'feline' * a * * squares = Array.new(5\) {|i| i*i} * squares * * copy = Array.new(squares\) */) directive(static) ident(VALUE) ident(rb_ary_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(len)operator(;) ident(VALUE) ident(size)operator(,) ident(val)operator(;) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(size)operator(,) operator(&)ident(val)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) integer(0)operator(;) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) operator(!)ident(FIXNUM_P)operator(()ident(size)operator(\)\)) operator({) ident(val) operator(=) ident(rb_check_array_type)operator(()ident(size)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(rb_ary_replace)operator(()ident(ary)operator(,) ident(val)operator(\);) reserved(return) ident(ary)operator(;) operator(}) operator(}) ident(len) operator(=) ident(NUM2LONG)operator(()ident(size)operator(\);) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(len) operator(>) ident(ARY_MAX_SIZE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(len) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(len)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(len)operator(;) operator(}) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(i)operator(,) ident(rb_yield)operator(()ident(LONG2NUM)operator(()ident(i)operator(\)\)\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(i) operator(+) integer(1)operator(;) operator(}) operator(}) reserved(else) operator({) ident(memfill)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(len)operator(,) ident(val)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(len)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * Returns a new array populated with the given objects. * * Array.[]( 1, 'a', /^A/ \) * Array[ 1, 'a', /^A/ ] * [ 1, 'a', /^A/ ] */) directive(static) ident(VALUE) ident(rb_ary_s_create)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(ary_alloc)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) ident(argc)operator(\);) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(argv)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(argc)operator(;) reserved(return) ident(ary)operator(;) operator(}) directive(void) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(idx)operator(,) ident(val)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(idx)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(idx) operator(<) integer(0)operator(\)) operator({) ident(idx) operator(+=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(idx) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(idx) operator(-) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(idx) operator(>=) ident(ARY_MAX_SIZE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(idx)operator(\);) operator(}) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(idx) operator(>=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) pre_type(long) ident(new_capa) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(/) integer(2)operator(;) reserved(if) operator(()ident(new_capa) operator(<) ident(ARY_DEFAULT_SIZE)operator(\)) operator({) ident(new_capa) operator(=) ident(ARY_DEFAULT_SIZE)operator(;) operator(}) reserved(if) operator(()ident(new_capa) operator(>=) ident(ARY_MAX_SIZE) operator(-) ident(idx)operator(\)) operator({) ident(new_capa) operator(=) operator(()ident(ARY_MAX_SIZE) operator(-) ident(idx)operator(\)) operator(/) integer(2)operator(;) operator(}) ident(new_capa) operator(+=) ident(idx)operator(;) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(new_capa)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(new_capa)operator(;) operator(}) reserved(if) operator(()ident(idx) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(rb_mem_clear)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) ident(idx)operator(-)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(+) integer(1)operator(\);) operator(}) reserved(if) operator(()ident(idx) operator(>=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(idx) operator(+) integer(1)operator(;) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(idx)operator(]) operator(=) ident(val)operator(;) operator(}) comment(/* * call-seq: * array << obj -> array * * Append---Pushes the given object on to the end of this array. This * expression returns the array itself, so several appends * may be chained together. * * [ 1, 2 ] << "c" << "d" << [ 3, 4 ] * #=> [ 1, 2, "c", "d", [ 3, 4 ] ] * */) ident(VALUE) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(item)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(item)operator(;) operator({) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) ident(item)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.push(obj, ... \) -> array * * Append---Pushes the given object(s\) on to the end of this array. This * expression returns the array itself, so several appends * may be chained together. * * a = [ "a", "b", "c" ] * a.push("d", "e", "f"\) * #=> ["a", "b", "c", "d", "e", "f"] */) directive(static) ident(VALUE) ident(rb_ary_push_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(while) operator(()ident(argc)operator(--\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) operator(*)ident(argv)operator(++\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.pop -> obj or nil * * Removes the last element from self and returns it, or * nil if the array is empty. * * a = [ "a", "m", "z" ] * a.pop #=> "z" * a #=> ["a", "m"] */) ident(VALUE) ident(rb_ary_pop)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_modify_check)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator((!)ident(FL_TEST)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\)) operator(&&) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(*) integer(2) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(&&) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(>) ident(ARY_DEFAULT_SIZE)operator(\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(*) integer(2)operator(;) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\);) operator(}) reserved(return) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([--)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(];) operator(}) directive(static) ident(VALUE) ident(ary_make_shared)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator((!)ident(FL_TEST)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(NEWOBJ)operator(()ident(shared)operator(,) reserved(struct) ident(RArray)operator(\);) ident(OBJSETUP)operator(()ident(shared)operator(,) ident(rb_cArray)operator(,) ident(T_ARRAY)operator(\);) ident(shared)operator(->)ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(shared)operator(->)ident(ptr) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(;) ident(shared)operator(->)ident(aux)operator(.)ident(capa) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(;) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) operator(()ident(VALUE)operator(\))ident(shared)operator(;) ident(FL_SET)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\);) ident(OBJ_FREEZE)operator(()ident(shared)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(shared)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) operator(}) operator(}) comment(/* * call-seq: * array.shift -> obj or nil * * Returns the first element of self and removes it (shifting all * other elements down by one\). Returns nil if the array * is empty. * * args = [ "-m", "-q", "filename" ] * args.shift #=> "-m" * args #=> ["-q", "filename"] */) ident(VALUE) ident(rb_ary_shift)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(top)operator(;) ident(rb_ary_modify_check)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(top) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(0)operator(];) reserved(if) operator(()ident(RARRAY_LEN)operator(()ident(ary)operator(\)) operator(<) ident(ARY_DEFAULT_SIZE) operator(&&) operator(!)ident(FL_TEST)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(MEMMOVE)operator(()ident(RARRAY_PTR)operator(()ident(ary)operator(\),) ident(RARRAY_PTR)operator(()ident(ary)operator(\)+)integer(1)operator(,) ident(VALUE)operator(,) ident(RARRAY_LEN)operator(()ident(ary)operator(\)-)integer(1)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator((!)ident(FL_TEST)operator(()ident(ary)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) ident(Qnil)operator(;) operator(}) ident(ary_make_shared)operator(()ident(ary)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(++;) comment(/* shift ptr */) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(--;) reserved(return) ident(top)operator(;) operator(}) ident(VALUE) ident(rb_ary_unshift)operator(()ident(ary)operator(,) ident(item)operator(\)) ident(VALUE) ident(ary)operator(,) ident(item)operator(;) operator({) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) pre_type(long) ident(capa_inc) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(/) integer(2)operator(;) reserved(if) operator(()ident(capa_inc) operator(<) ident(ARY_DEFAULT_SIZE)operator(\)) operator({) ident(capa_inc) operator(=) ident(ARY_DEFAULT_SIZE)operator(;) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(+=) ident(capa_inc)operator(;) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\);) operator(}) comment(/* sliding items */) ident(MEMMOVE)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) integer(1)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(++;) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) ident(item)operator(;) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.unshift(obj, ...\) -> array * * Prepends objects to the front of array. * other elements up one. * * a = [ "b", "c", "d" ] * a.unshift("a"\) #=> ["a", "b", "c", "d"] * a.unshift(1, 2\) #=> [ 1, 2, "a", "b", "c", "d"] */) directive(static) ident(VALUE) ident(rb_ary_unshift_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) reserved(return) ident(ary)operator(;) comment(/* make rooms by setting the last item */) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(len) operator(+) ident(argc) operator(-) integer(1)operator(,) ident(Qnil)operator(\);) comment(/* sliding items */) ident(MEMMOVE)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(argc)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(len)operator(\);) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(argv)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* faster version - use this if you don't need to treat negative offset */) directive(static) directive(inline) ident(VALUE) ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(offset)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(offset)operator(;) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(offset) operator(<) integer(0) operator(||) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<=) ident(offset)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(offset)operator(];) operator(}) ident(VALUE) ident(rb_ary_entry)operator(()ident(ary)operator(,) ident(offset)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(offset)operator(;) operator({) reserved(if) operator(()ident(offset) operator(<) integer(0)operator(\)) operator({) ident(offset) operator(+=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(}) reserved(return) ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(offset)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_ary_subseq)operator(()ident(ary)operator(,) ident(beg)operator(,) ident(len)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(beg)operator(,) ident(len)operator(;) operator({) ident(VALUE) ident(klass)operator(,) ident(ary2)operator(,) ident(shared)operator(;) ident(VALUE) operator(*)ident(ptr)operator(;) reserved(if) operator(()ident(beg) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(beg) operator(<) integer(0) operator(||) ident(len) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<) ident(len) operator(||) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<) ident(beg) operator(+) ident(len)operator(\)) operator({) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) ident(beg)operator(;) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) ident(len) operator(=) integer(0)operator(;) operator(}) ident(klass) operator(=) ident(rb_obj_class)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(ary_new)operator(()ident(klass)operator(,) integer(0)operator(\);) ident(shared) operator(=) ident(ary_make_shared)operator(()ident(ary)operator(\);) ident(ptr) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(;) ident(ary2) operator(=) ident(ary_alloc)operator(()ident(klass)operator(\);) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(ptr) operator(=) ident(ptr) operator(+) ident(beg)operator(;) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len) operator(=) ident(len)operator(;) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(shared)operator(;) ident(FL_SET)operator(()ident(ary2)operator(,) ident(ELTS_SHARED)operator(\);) reserved(return) ident(ary2)operator(;) operator(}) comment(/* * call-seq: * array[index] -> obj or nil * array[start, length] -> an_array or nil * array[range] -> an_array or nil * array.slice(index\) -> obj or nil * array.slice(start, length\) -> an_array or nil * array.slice(range\) -> an_array or nil * * Element Reference---Returns the element at _index_, * or returns a subarray starting at _start_ and * continuing for _length_ elements, or returns a subarray * specified by _range_. * Negative indices count backward from the end of the * array (-1 is the last element\). Returns nil if the index * (or starting index\) are out of range. * * a = [ "a", "b", "c", "d", "e" ] * a[2] + a[0] + a[1] #=> "cab" * a[6] #=> nil * a[1, 2] #=> [ "b", "c" ] * a[1..3] #=> [ "b", "c", "d" ] * a[4..7] #=> [ "e" ] * a[6..10] #=> nil * a[-3, 3] #=> [ "c", "d", "e" ] * # special cases * a[5] #=> nil * a[5, 1] #=> [] * a[5..10] #=> [] * */) ident(VALUE) ident(rb_ary_aref)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(arg)operator(;) pre_type(long) ident(beg)operator(,) ident(len)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(beg) operator(=) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(len) operator(=) ident(NUM2LONG)operator(()ident(argv)operator([)integer(1)operator(]\);) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(beg) operator(+=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(}) reserved(return) ident(rb_ary_subseq)operator(()ident(ary)operator(,) ident(beg)operator(,) ident(len)operator(\);) operator(}) reserved(if) operator(()ident(argc) operator(!=) integer(1)operator(\)) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) ident(arg) operator(=) ident(argv)operator([)integer(0)operator(];) comment(/* special case - speeding up */) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(arg)operator(\)\)) operator({) reserved(return) ident(rb_ary_entry)operator(()ident(ary)operator(,) ident(FIX2LONG)operator(()ident(arg)operator(\)\);) operator(}) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(arg)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) comment(/* check if idx is Range */) reserved(switch) operator(()ident(rb_range_beg_len)operator(()ident(arg)operator(,) operator(&)ident(beg)operator(,) operator(&)ident(len)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) integer(0)operator(\)\)) operator({) reserved(case) ident(Qfalse)operator(:) reserved(break)operator(;) reserved(case) ident(Qnil)operator(:) reserved(return) ident(Qnil)operator(;) reserved(default)operator(:) reserved(return) ident(rb_ary_subseq)operator(()ident(ary)operator(,) ident(beg)operator(,) ident(len)operator(\);) operator(}) reserved(return) ident(rb_ary_entry)operator(()ident(ary)operator(,) ident(NUM2LONG)operator(()ident(arg)operator(\)\);) operator(}) comment(/* * call-seq: * array.at(index\) -> obj or nil * * Returns the element at _index_. A * negative index counts from the end of _self_. Returns +nil+ * if the index is out of range. See also Array#[]. * (Array#at is slightly faster than Array#[], * as it does not accept ranges and so on.\) * * a = [ "a", "b", "c", "d", "e" ] * a.at(0\) #=> "a" * a.at(-1\) #=> "e" */) directive(static) ident(VALUE) ident(rb_ary_at)operator(()ident(ary)operator(,) ident(pos)operator(\)) ident(VALUE) ident(ary)operator(,) ident(pos)operator(;) operator({) reserved(return) ident(rb_ary_entry)operator(()ident(ary)operator(,) ident(NUM2LONG)operator(()ident(pos)operator(\)\);) operator(}) comment(/* * call-seq: * array.first -> obj or nil * array.first(n\) -> an_array * * Returns the first element, or the first +n+ elements, of the array. * If the array is empty, the first form returns nil, and the * second form returns an empty array. * * a = [ "q", "r", "s", "t" ] * a.first #=> "q" * a.first(1\) #=> ["q"] * a.first(3\) #=> ["q", "r", "s"] */) directive(static) ident(VALUE) ident(rb_ary_first)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) reserved(else) operator({) ident(VALUE) ident(nv)operator(,) ident(result)operator(;) pre_type(long) ident(n)operator(,) ident(i)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(nv)operator(\);) ident(n) operator(=) ident(NUM2LONG)operator(()ident(nv)operator(\);) reserved(if) operator(()ident(n) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) ident(n) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(n)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(result)operator(;) operator(}) operator(}) comment(/* * call-seq: * array.last -> obj or nil * array.last(n\) -> an_array * * Returns the last element(s\) of self. If the array is empty, * the first form returns nil. * * [ "w", "x", "y", "z" ].last #=> "z" */) directive(static) ident(VALUE) ident(rb_ary_last)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(-)integer(1)operator(];) operator(}) reserved(else) operator({) ident(VALUE) ident(nv)operator(,) ident(result)operator(;) pre_type(long) ident(n)operator(,) ident(i)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(nv)operator(\);) ident(n) operator(=) ident(NUM2LONG)operator(()ident(nv)operator(\);) reserved(if) operator(()ident(n) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) ident(n) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(n)operator(\);) reserved(for) operator(()ident(i)operator(=)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(-)ident(n)operator(;) ident(n)operator(--;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(result)operator(;) operator(}) operator(}) comment(/* * call-seq: * array.fetch(index\) -> obj * array.fetch(index, default \) -> obj * array.fetch(index\) {|index| block } -> obj * * Tries to return the element at position index. If the index * lies outside the array, the first form throws an * IndexError exception, the second form returns * default, and the third form returns the value of invoking * the block, passing in the index. Negative values of index * count from the end of the array. * * a = [ 11, 22, 33, 44 ] * a.fetch(1\) #=> 22 * a.fetch(-1\) #=> 44 * a.fetch(4, 'cat'\) #=> "cat" * a.fetch(4\) { |i| i*i } #=> 16 */) directive(static) ident(VALUE) ident(rb_ary_fetch)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(pos)operator(,) ident(ifnone)operator(;) pre_type(long) ident(block_given)operator(;) pre_type(long) ident(idx)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(pos)operator(,) operator(&)ident(ifnone)operator(\);) ident(block_given) operator(=) ident(rb_block_given_p)operator((\);) reserved(if) operator(()ident(block_given) operator(&&) ident(argc) operator(==) integer(2)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) ident(idx) operator(=) ident(NUM2LONG)operator(()ident(pos)operator(\);) reserved(if) operator(()ident(idx) operator(<) integer(0)operator(\)) operator({) ident(idx) operator(+=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(}) reserved(if) operator(()ident(idx) operator(<) integer(0) operator(||) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<=) ident(idx)operator(\)) operator({) reserved(if) operator(()ident(block_given)operator(\)) reserved(return) ident(rb_yield)operator(()ident(pos)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(idx)operator(\);) operator(}) reserved(return) ident(ifnone)operator(;) operator(}) reserved(return) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(idx)operator(];) operator(}) comment(/* * call-seq: * array.index(obj\) -> int or nil * * Returns the index of the first object in self such that is * == to obj. Returns nil if * no match is found. * * a = [ "a", "b", "c" ] * a.index("b"\) #=> 1 * a.index("z"\) #=> nil */) directive(static) ident(VALUE) ident(rb_ary_index)operator(()ident(ary)operator(,) ident(val)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(val)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(rb_equal)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(val)operator(\)\)) reserved(return) ident(LONG2NUM)operator(()ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * array.rindex(obj\) -> int or nil * * Returns the index of the last object in array * == to obj. Returns nil if * no match is found. * * a = [ "a", "b", "b", "b", "c" ] * a.rindex("b"\) #=> 3 * a.rindex("z"\) #=> nil */) directive(static) ident(VALUE) ident(rb_ary_rindex)operator(()ident(ary)operator(,) ident(val)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(val)operator(;) operator({) pre_type(long) ident(i) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(i)operator(--\)) operator({) reserved(if) operator(()ident(i) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(i) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(rb_equal)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(val)operator(\)\)) reserved(return) ident(LONG2NUM)operator(()ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * array.indexes( i1, i2, ... iN \) -> an_array * array.indices( i1, i2, ... iN \) -> an_array * * Deprecated; use Array#values_at. */) directive(static) ident(VALUE) ident(rb_ary_indexes)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(new_ary)operator(;) pre_type(long) ident(i)operator(;) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(rb_frame_last_func)operator((\)\)\);) ident(new_ary) operator(=) ident(rb_ary_new2)operator(()ident(argc)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(new_ary)operator(,) ident(rb_ary_aref)operator(()integer(1)operator(,) ident(argv)operator(+)ident(i)operator(,) ident(ary)operator(\)\);) operator(}) reserved(return) ident(new_ary)operator(;) operator(}) ident(VALUE) ident(rb_ary_to_ary)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_ARRAY)operator(\)) operator({) reserved(return) ident(obj)operator(;) operator(}) reserved(if) operator(()ident(rb_respond_to)operator(()ident(obj)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) reserved(return) ident(rb_convert_type)operator(()ident(obj)operator(,) ident(T_ARRAY)operator(,) stringoperator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(obj)operator(\);) operator(}) directive(static) directive(void) ident(rb_ary_splice)operator(()ident(ary)operator(,) ident(beg)operator(,) ident(len)operator(,) ident(rpl)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(beg)operator(,) ident(len)operator(;) ident(VALUE) ident(rpl)operator(;) operator({) pre_type(long) ident(rlen)operator(;) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(len)operator(\);) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(beg) operator(+=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(beg) operator(-=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(beg)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<) ident(len) operator(||) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<) ident(beg) operator(+) ident(len)operator(\)) operator({) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) ident(beg)operator(;) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(rpl)operator(\)\)) operator({) ident(rlen) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(rpl) operator(=) ident(rb_ary_to_ary)operator(()ident(rpl)operator(\);) ident(rlen) operator(=) ident(RARRAY)operator(()ident(rpl)operator(\)->)ident(len)operator(;) operator(}) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(beg) operator(>=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) reserved(if) operator(()ident(beg) operator(>) ident(ARY_MAX_SIZE) operator(-) ident(rlen)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(beg)operator(\);) operator(}) ident(len) operator(=) ident(beg) operator(+) ident(rlen)operator(;) reserved(if) operator(()ident(len) operator(>=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(len)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(len)operator(;) operator(}) ident(rb_mem_clear)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) ident(beg) operator(-) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(rlen) operator(>) integer(0)operator(\)) operator({) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(beg)operator(,) ident(RARRAY)operator(()ident(rpl)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(rlen)operator(\);) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(len)operator(;) operator(}) reserved(else) operator({) pre_type(long) ident(alen)operator(;) reserved(if) operator(()ident(beg) operator(+) ident(len) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) ident(beg)operator(;) operator(}) ident(alen) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(+) ident(rlen) operator(-) ident(len)operator(;) reserved(if) operator(()ident(alen) operator(>=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(alen)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(alen)operator(;) operator(}) reserved(if) operator(()ident(len) operator(!=) ident(rlen)operator(\)) operator({) ident(MEMMOVE)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(beg) operator(+) ident(rlen)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(beg) operator(+) ident(len)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) operator(()ident(beg) operator(+) ident(len)operator(\)\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(alen)operator(;) operator(}) reserved(if) operator(()ident(rlen) operator(>) integer(0)operator(\)) operator({) ident(MEMMOVE)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(beg)operator(,) ident(RARRAY)operator(()ident(rpl)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(rlen)operator(\);) operator(}) operator(}) operator(}) comment(/* * call-seq: * array[index] = obj -> obj * array[start, length] = obj or an_array or nil -> obj or an_array or nil * array[range] = obj or an_array or nil -> obj or an_array or nil * * Element Assignment---Sets the element at _index_, * or replaces a subarray starting at _start_ and * continuing for _length_ elements, or replaces a subarray * specified by _range_. If indices are greater than * the current capacity of the array, the array grows * automatically. A negative indices will count backward * from the end of the array. Inserts elements if _length_ is * zero. If +nil+ is used in the second and third form, * deletes elements from _self_. An +IndexError+ is raised if a * negative index points past the beginning of the array. See also * Array#push, and Array#unshift. * * a = Array.new * a[4] = "4"; #=> [nil, nil, nil, nil, "4"] * a[0, 3] = [ 'a', 'b', 'c' ] #=> ["a", "b", "c", nil, "4"] * a[1..2] = [ 1, 2 ] #=> ["a", 1, 2, nil, "4"] * a[0, 2] = "?" #=> ["?", 2, nil, "4"] * a[0..2] = "A" #=> ["A", "4"] * a[-1] = "Z" #=> ["A", "Z"] * a[1..-1] = nil #=> ["A"] */) directive(static) ident(VALUE) ident(rb_ary_aset)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(offset)operator(,) ident(beg)operator(,) ident(len)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(3)operator(\)) operator({) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(argv)operator([)integer(1)operator(]\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(rb_ary_splice)operator(()ident(ary)operator(,) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\),) ident(NUM2LONG)operator(()ident(argv)operator([)integer(1)operator(]\),) ident(argv)operator([)integer(2)operator(]\);) reserved(return) ident(argv)operator([)integer(2)operator(];) operator(}) reserved(if) operator(()ident(argc) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) ident(offset) operator(=) ident(FIX2LONG)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(goto) ident(fixnum)operator(;) operator(}) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_range_beg_len)operator(()ident(argv)operator([)integer(0)operator(],) operator(&)ident(beg)operator(,) operator(&)ident(len)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) integer(1)operator(\)\)) operator({) comment(/* check if idx is Range */) ident(rb_ary_splice)operator(()ident(ary)operator(,) ident(beg)operator(,) ident(len)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(return) ident(argv)operator([)integer(1)operator(];) operator(}) ident(offset) operator(=) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\);) label(fixnum:) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(offset)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(return) ident(argv)operator([)integer(1)operator(];) operator(}) comment(/* * call-seq: * array.insert(index, obj...\) -> array * * Inserts the given values before the element with the given index * (which may be negative\). * * a = %w{ a b c d } * a.insert(2, 99\) #=> ["a", "b", 99, "c", "d"] * a.insert(-2, 1, 2, 3\) #=> ["a", "b", 99, "c", 1, 2, 3, "d"] */) directive(static) ident(VALUE) ident(rb_ary_insert)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(pos)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) reserved(return) ident(ary)operator(;) reserved(if) operator(()ident(argc) operator(<) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(pos) operator(=) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(pos) operator(==) operator(-)integer(1)operator(\)) operator({) ident(pos) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(}) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) ident(pos)operator(++;) operator(}) ident(rb_ary_splice)operator(()ident(ary)operator(,) ident(pos)operator(,) integer(0)operator(,) ident(rb_ary_new4)operator(()ident(argc) operator(-) integer(1)operator(,) ident(argv) operator(+) integer(1)operator(\)\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.each {|item| block } -> array * * Calls block once for each element in self, passing that * element as a parameter. * * a = [ "a", "b", "c" ] * a.each {|x| print x, " -- " } * * produces: * * a -- b -- c -- */) ident(VALUE) ident(rb_ary_each)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.each_index {|index| block } -> array * * Same as Array#each, but passes the index of the element * instead of the element itself. * * a = [ "a", "b", "c" ] * a.each_index {|x| print x, " -- " } * * produces: * * 0 -- 1 -- 2 -- */) directive(static) ident(VALUE) ident(rb_ary_each_index)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(LONG2NUM)operator(()ident(i)operator(\)\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.reverse_each {|item| block } * * Same as Array#each, but traverses self in reverse * order. * * a = [ "a", "b", "c" ] * a.reverse_each {|x| print x, " " } * * produces: * * c b a */) directive(static) ident(VALUE) ident(rb_ary_reverse_each)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(rb_yield)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(len)operator(]\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(<) ident(len)operator(\)) operator({) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.length -> int * * Returns the number of elements in self. May be zero. * * [ 1, 2, 3, 4, 5 ].length #=> 5 */) directive(static) ident(VALUE) ident(rb_ary_length)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(LONG2NUM)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) operator(}) comment(/* * call-seq: * array.empty? -> true or false * * Returns true if self array contains no elements. * * [].empty? #=> true */) directive(static) ident(VALUE) ident(rb_ary_empty_p)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) ident(VALUE) ident(rb_ary_dup)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(dup) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(DUPSETUP)operator(()ident(dup)operator(,) ident(ary)operator(\);) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(dup)operator(\)->)ident(ptr)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(RARRAY)operator(()ident(dup)operator(\)->)ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(return) ident(dup)operator(;) operator(}) directive(extern) ident(VALUE) ident(rb_output_fs)operator(;) directive(static) ident(VALUE) ident(inspect_join)operator(()ident(ary)operator(,) ident(arg)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(rb_ary_join)operator(()ident(arg)operator([)integer(0)operator(],) ident(arg)operator([)integer(1)operator(]\);) operator(}) ident(VALUE) ident(rb_ary_join)operator(()ident(ary)operator(,) ident(sep)operator(\)) ident(VALUE) ident(ary)operator(,) ident(sep)operator(;) operator({) pre_type(long) ident(len) operator(=) integer(1)operator(,) ident(i)operator(;) pre_type(int) ident(taint) operator(=) ident(Qfalse)operator(;) ident(VALUE) ident(result)operator(,) ident(tmp)operator(;) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(ary)operator(\)) operator(||) ident(OBJ_TAINTED)operator(()ident(sep)operator(\)\)) ident(taint) operator(=) ident(Qtrue)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) ident(len) operator(+=) ident(NIL_P)operator(()ident(tmp)operator(\)) operator(?) integer(10) operator(:) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(len)operator(;) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(sep)operator(\)\)) operator({) ident(StringValue)operator(()ident(sep)operator(\);) ident(len) operator(+=) ident(RSTRING)operator(()ident(sep)operator(\)->)ident(len) operator(*) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) integer(1)operator(\);) operator(}) ident(result) operator(=) ident(rb_str_buf_new)operator(()ident(len)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(tmp) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(switch) operator(()ident(TYPE)operator(()ident(tmp)operator(\)\)) operator({) reserved(case) ident(T_STRING)operator(:) reserved(break)operator(;) reserved(case) ident(T_ARRAY)operator(:) reserved(if) operator(()ident(tmp) operator(==) ident(ary) operator(||) ident(rb_inspecting_p)operator(()ident(tmp)operator(\)\)) operator({) ident(tmp) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(tmp)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(sep)operator(;) ident(tmp) operator(=) ident(rb_protect_inspect)operator(()ident(inspect_join)operator(,) ident(ary)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(tmp) operator(=) ident(rb_obj_as_string)operator(()ident(tmp)operator(\);) operator(}) reserved(if) operator(()ident(i) operator(>) integer(0) operator(&&) operator(!)ident(NIL_P)operator(()ident(sep)operator(\)\)) ident(rb_str_buf_append)operator(()ident(result)operator(,) ident(sep)operator(\);) ident(rb_str_buf_append)operator(()ident(result)operator(,) ident(tmp)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(tmp)operator(\)\)) ident(taint) operator(=) ident(Qtrue)operator(;) operator(}) reserved(if) operator(()ident(taint)operator(\)) ident(OBJ_TAINT)operator(()ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * array.join(sep=$,\) -> str * * Returns a string created by converting each element of the array to * a string, separated by sep. * * [ "a", "b", "c" ].join #=> "abc" * [ "a", "b", "c" ].join("-"\) #=> "a-b-c" */) directive(static) ident(VALUE) ident(rb_ary_join_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(sep)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(sep)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(sep)operator(\)\)) ident(sep) operator(=) ident(rb_output_fs)operator(;) reserved(return) ident(rb_ary_join)operator(()ident(ary)operator(,) ident(sep)operator(\);) operator(}) comment(/* * call-seq: * array.to_s -> string * * Returns _self_.join. * * [ "a", "e", "i", "o" ].to_s #=> "aeio" * */) ident(VALUE) ident(rb_ary_to_s)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(return) ident(rb_ary_join)operator(()ident(ary)operator(,) ident(rb_output_fs)operator(\);) operator(}) directive(static) ident(ID) ident(inspect_key)operator(;) reserved(struct) ident(inspect_arg) operator({) ident(VALUE) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(arg1)operator(,) ident(arg2)operator(;) operator(};) directive(static) ident(VALUE) ident(inspect_call)operator(()ident(arg)operator(\)) reserved(struct) ident(inspect_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) operator((*)ident(arg)operator(->)ident(func)operator(\)()ident(arg)operator(->)ident(arg1)operator(,) ident(arg)operator(->)ident(arg2)operator(\);) operator(}) directive(static) ident(VALUE) ident(get_inspect_tbl)operator(()ident(create)operator(\)) pre_type(int) ident(create)operator(;) operator({) ident(VALUE) ident(inspect_tbl) operator(=) ident(rb_thread_local_aref)operator(()ident(rb_thread_current)operator((\),) ident(inspect_key)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(inspect_tbl)operator(\)\)) operator({) reserved(if) operator(()ident(create)operator(\)) operator({) label(tbl_init:) ident(inspect_tbl) operator(=) ident(rb_ary_new)operator((\);) ident(rb_thread_local_aset)operator(()ident(rb_thread_current)operator((\),) ident(inspect_key)operator(,) ident(inspect_tbl)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(inspect_tbl)operator(\)) operator(!=) ident(T_ARRAY)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(if) operator(()ident(create)operator(\)) reserved(goto) ident(tbl_init)operator(;) ident(rb_thread_local_aset)operator(()ident(rb_thread_current)operator((\),) ident(inspect_key)operator(,) ident(Qnil)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(inspect_tbl)operator(;) operator(}) directive(static) ident(VALUE) ident(inspect_ensure)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(inspect_tbl)operator(;) ident(inspect_tbl) operator(=) ident(get_inspect_tbl)operator(()ident(Qfalse)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(inspect_tbl)operator(\)\)) operator({) ident(rb_ary_pop)operator(()ident(inspect_tbl)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) ident(VALUE) ident(rb_protect_inspect)operator(()ident(func)operator(,) ident(obj)operator(,) ident(arg)operator(\)) ident(VALUE) operator((*)ident(func)operator(\)()ident(ANYARGS)operator(\);) ident(VALUE) ident(obj)operator(,) ident(arg)operator(;) operator({) reserved(struct) ident(inspect_arg) ident(iarg)operator(;) ident(VALUE) ident(inspect_tbl)operator(;) ident(VALUE) ident(id)operator(;) ident(inspect_tbl) operator(=) ident(get_inspect_tbl)operator(()ident(Qtrue)operator(\);) ident(id) operator(=) ident(rb_obj_id)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(rb_ary_includes)operator(()ident(inspect_tbl)operator(,) ident(id)operator(\)\)) operator({) reserved(return) operator((*)ident(func)operator(\)()ident(obj)operator(,) ident(arg)operator(\);) operator(}) ident(rb_ary_push)operator(()ident(inspect_tbl)operator(,) ident(id)operator(\);) ident(iarg)operator(.)ident(func) operator(=) ident(func)operator(;) ident(iarg)operator(.)ident(arg1) operator(=) ident(obj)operator(;) ident(iarg)operator(.)ident(arg2) operator(=) ident(arg)operator(;) reserved(return) ident(rb_ensure)operator(()ident(inspect_call)operator(,) operator(()ident(VALUE)operator(\)&)ident(iarg)operator(,) ident(inspect_ensure)operator(,) ident(obj)operator(\);) operator(}) ident(VALUE) ident(rb_inspecting_p)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(inspect_tbl)operator(;) ident(inspect_tbl) operator(=) ident(get_inspect_tbl)operator(()ident(Qfalse)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(inspect_tbl)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(rb_ary_includes)operator(()ident(inspect_tbl)operator(,) ident(rb_obj_id)operator(()ident(obj)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(inspect_ary)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(int) ident(tainted) operator(=) ident(OBJ_TAINTED)operator(()ident(ary)operator(\);) pre_type(long) ident(i)operator(;) ident(VALUE) ident(s)operator(,) ident(str)operator(;) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(s) operator(=) ident(rb_inspect)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(s)operator(\)\)) ident(tainted) operator(=) ident(Qtrue)operator(;) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(s)operator(\);) operator(}) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(tainted)operator(\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * array.inspect -> string * * Create a printable version of array. */) directive(static) ident(VALUE) ident(rb_ary_inspect)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(ary)operator(\)\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) reserved(return) ident(rb_protect_inspect)operator(()ident(inspect_ary)operator(,) ident(ary)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * array.to_a -> array * * Returns _self_. If called on a subclass of Array, converts * the receiver to an Array object. */) directive(static) ident(VALUE) ident(rb_ary_to_a)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(rb_obj_class)operator(()ident(ary)operator(\)) operator(!=) ident(rb_cArray)operator(\)) operator({) ident(VALUE) ident(dup) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(rb_ary_replace)operator(()ident(dup)operator(,) ident(ary)operator(\);) reserved(return) ident(dup)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.to_ary -> array * * Returns _self_. */) directive(static) ident(VALUE) ident(rb_ary_to_ary_m)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(ary)operator(;) operator(}) ident(VALUE) ident(rb_ary_reverse)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) operator(*)ident(p1)operator(,) operator(*)ident(p2)operator(;) ident(VALUE) ident(tmp)operator(;) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) ident(p1) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(;) ident(p2) operator(=) ident(p1) operator(+) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) integer(1)operator(;) comment(/* points last item */) reserved(while) operator(()ident(p1) operator(<) ident(p2)operator(\)) operator({) ident(tmp) operator(=) operator(*)ident(p1)operator(;) operator(*)ident(p1)operator(++) operator(=) operator(*)ident(p2)operator(;) operator(*)ident(p2)operator(--) operator(=) ident(tmp)operator(;) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.reverse! -> array * * Reverses _self_ in place. * * a = [ "a", "b", "c" ] * a.reverse! #=> ["c", "b", "a"] * a #=> ["c", "b", "a"] */) directive(static) ident(VALUE) ident(rb_ary_reverse_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(rb_ary_reverse)operator(()ident(ary)operator(\);) operator(}) comment(/* * call-seq: * array.reverse -> an_array * * Returns a new array containing self's elements in reverse order. * * [ "a", "b", "c" ].reverse #=> ["c", "b", "a"] * [ 1 ].reverse #=> [1] */) directive(static) ident(VALUE) ident(rb_ary_reverse_m)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(rb_ary_reverse)operator(()ident(rb_ary_dup)operator(()ident(ary)operator(\)\);) operator(}) reserved(struct) ident(ary_sort_data) operator({) ident(VALUE) ident(ary)operator(;) ident(VALUE) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator(};) directive(static) directive(void) ident(ary_sort_check)operator(()ident(data)operator(\)) reserved(struct) ident(ary_sort_data) operator(*)ident(data)operator(;) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(data)operator(->)ident(ary)operator(\)->)ident(ptr) operator(!=) ident(data)operator(->)ident(ptr) operator(||) ident(RARRAY)operator(()ident(data)operator(->)ident(ary)operator(\)->)ident(len) operator(!=) ident(data)operator(->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(sort_1)operator(()ident(a)operator(,) ident(b)operator(,) ident(data)operator(\)) ident(VALUE) operator(*)ident(a)operator(,) operator(*)ident(b)operator(;) reserved(struct) ident(ary_sort_data) operator(*)ident(data)operator(;) operator({) ident(VALUE) ident(retval) operator(=) ident(rb_yield_values)operator(()integer(2)operator(,) operator(*)ident(a)operator(,) operator(*)ident(b)operator(\);) pre_type(int) ident(n)operator(;) ident(n) operator(=) ident(rb_cmpint)operator(()ident(retval)operator(,) operator(*)ident(a)operator(,) operator(*)ident(b)operator(\);) ident(ary_sort_check)operator(()ident(data)operator(\);) reserved(return) ident(n)operator(;) operator(}) directive(static) pre_type(int) ident(sort_2)operator(()ident(ap)operator(,) ident(bp)operator(,) ident(data)operator(\)) ident(VALUE) operator(*)ident(ap)operator(,) operator(*)ident(bp)operator(;) reserved(struct) ident(ary_sort_data) operator(*)ident(data)operator(;) operator({) ident(VALUE) ident(retval)operator(;) ident(VALUE) ident(a) operator(=) operator(*)ident(ap)operator(,) ident(b) operator(=) operator(*)ident(bp)operator(;) pre_type(int) ident(n)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(a)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(b)operator(\)\)) operator({) reserved(if) operator((()pre_type(long)operator(\))ident(a) operator(>) operator(()pre_type(long)operator(\))ident(b)operator(\)) reserved(return) integer(1)operator(;) reserved(if) operator((()pre_type(long)operator(\))ident(a) operator(<) operator(()pre_type(long)operator(\))ident(b)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(a)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(b)operator(\)) operator(==) ident(T_STRING)operator(\)) reserved(return) ident(rb_str_cmp)operator(()ident(a)operator(,) ident(b)operator(\);) operator(}) ident(retval) operator(=) ident(rb_funcall)operator(()ident(a)operator(,) ident(id_cmp)operator(,) integer(1)operator(,) ident(b)operator(\);) ident(n) operator(=) ident(rb_cmpint)operator(()ident(retval)operator(,) ident(a)operator(,) ident(b)operator(\);) ident(ary_sort_check)operator(()ident(data)operator(\);) reserved(return) ident(n)operator(;) operator(}) directive(static) ident(VALUE) ident(sort_internal)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(struct) ident(ary_sort_data) ident(data)operator(;) ident(data)operator(.)ident(ary) operator(=) ident(ary)operator(;) ident(data)operator(.)ident(ptr) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(;) ident(data)operator(.)ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(qsort)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) reserved(sizeof)operator(()ident(VALUE)operator(\),) ident(rb_block_given_p)operator((\)?)ident(sort_1)operator(:)ident(sort_2)operator(,) operator(&)ident(data)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(sort_unlock)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(FL_UNSET)operator(()ident(ary)operator(,) ident(ARY_TMPLOCK)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.sort! -> array * array.sort! {| a,b | block } -> array * * Sorts _self_. Comparisons for * the sort will be done using the <=> operator or using * an optional code block. The block implements a comparison between * a and b, returning -1, 0, or +1. See also * Enumerable#sort_by. * * a = [ "d", "a", "e", "c", "b" ] * a.sort #=> ["a", "b", "c", "d", "e"] * a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"] */) ident(VALUE) ident(rb_ary_sort_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) ident(FL_SET)operator(()ident(ary)operator(,) ident(ARY_TMPLOCK)operator(\);) comment(/* prohibit modification during sort */) ident(rb_ensure)operator(()ident(sort_internal)operator(,) ident(ary)operator(,) ident(sort_unlock)operator(,) ident(ary)operator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.sort -> an_array * array.sort {| a,b | block } -> an_array * * Returns a new array created by sorting self. Comparisons for * the sort will be done using the <=> operator or using * an optional code block. The block implements a comparison between * a and b, returning -1, 0, or +1. See also * Enumerable#sort_by. * * a = [ "d", "a", "e", "c", "b" ] * a.sort #=> ["a", "b", "c", "d", "e"] * a.sort {|x,y| y <=> x } #=> ["e", "d", "c", "b", "a"] */) ident(VALUE) ident(rb_ary_sort)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(ary) operator(=) ident(rb_ary_dup)operator(()ident(ary)operator(\);) ident(rb_ary_sort_bang)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.collect {|item| block } -> an_array * array.map {|item| block } -> an_array * * Invokes block once for each element of self. Creates a * new array containing the values returned by the block. * See also Enumerable#collect. * * a = [ "a", "b", "c", "d" ] * a.collect {|x| x + "!" } #=> ["a!", "b!", "c!", "d!"] * a #=> ["a", "b", "c", "d"] */) directive(static) ident(VALUE) ident(rb_ary_collect)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i)operator(;) ident(VALUE) ident(collect)operator(;) reserved(if) operator((!)ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) ident(rb_ary_new4)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(\);) operator(}) ident(collect) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(collect)operator(,) ident(rb_yield)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\);) operator(}) reserved(return) ident(collect)operator(;) operator(}) comment(/* * call-seq: * array.collect! {|item| block } -> array * array.map! {|item| block } -> array * * Invokes the block once for each element of _self_, replacing the * element with the value returned by _block_. * See also Enumerable#collect. * * a = [ "a", "b", "c", "d" ] * a.collect! {|x| x + "!" } * a #=> [ "a!", "b!", "c!", "d!" ] */) directive(static) ident(VALUE) ident(rb_ary_collect_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i)operator(;) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(i)operator(,) ident(rb_yield)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) ident(VALUE) ident(rb_values_at)operator(()ident(obj)operator(,) ident(olen)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(func)operator(\)) ident(VALUE) ident(obj)operator(;) pre_type(long) ident(olen)operator(;) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) operator((*)ident(func)operator(\)) ident(_)operator((()ident(VALUE)operator(,)pre_type(long)operator(\)\);) operator({) ident(VALUE) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(argc)operator(\);) pre_type(long) ident(beg)operator(,) ident(len)operator(,) ident(i)operator(,) ident(j)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(argv)operator([)ident(i)operator(]\)\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) operator((*)ident(func)operator(\)()ident(obj)operator(,) ident(FIX2LONG)operator(()ident(argv)operator([)ident(i)operator(]\)\)\);) reserved(continue)operator(;) operator(}) comment(/* check if idx is Range */) reserved(switch) operator(()ident(rb_range_beg_len)operator(()ident(argv)operator([)ident(i)operator(],) operator(&)ident(beg)operator(,) operator(&)ident(len)operator(,) ident(olen)operator(,) integer(0)operator(\)\)) operator({) reserved(case) ident(Qfalse)operator(:) reserved(break)operator(;) reserved(case) ident(Qnil)operator(:) reserved(continue)operator(;) reserved(default)operator(:) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(len)operator(;) ident(j)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) operator((*)ident(func)operator(\)()ident(obj)operator(,) ident(j)operator(+)ident(beg)operator(\)\);) operator(}) reserved(continue)operator(;) operator(}) ident(rb_ary_push)operator(()ident(result)operator(,) operator((*)ident(func)operator(\)()ident(obj)operator(,) ident(NUM2LONG)operator(()ident(argv)operator([)ident(i)operator(]\)\)\);) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * array.values_at(selector,... \) -> an_array * * Returns an array containing the elements in * _self_ corresponding to the given selector(s\). The selectors * may be either integer indices or ranges. * See also Array#select. * * a = %w{ a b c d e f } * a.values_at(1, 3, 5\) * a.values_at(1, 3, 5, 7\) * a.values_at(-1, -3, -5, -7\) * a.values_at(1..3, 2...5\) */) directive(static) ident(VALUE) ident(rb_ary_values_at)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(rb_values_at)operator(()ident(ary)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(rb_ary_entry)operator(\);) operator(}) comment(/* * call-seq: * array.select {|item| block } -> an_array * * Invokes the block passing in successive elements from array, * returning an array containing those elements for which the block * returns a true value (equivalent to Enumerable#select\). * * a = %w{ a b c d e f } * a.select {|v| v =~ /[aeiou]/} #=> ["a", "e"] */) directive(static) ident(VALUE) ident(rb_ary_select)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(result)operator(;) pre_type(long) ident(i)operator(;) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\)\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(i)operator(\)\);) operator(}) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * array.delete(obj\) -> obj or nil * array.delete(obj\) { block } -> obj or nil * * Deletes items from self that are equal to obj. If * the item is not found, returns nil. If the optional * code block is given, returns the result of block if the item * is not found. * * a = [ "a", "b", "b", "b", "c" ] * a.delete("b"\) #=> "b" * a #=> ["a", "c"] * a.delete("z"\) #=> nil * a.delete("z"\) { "not found" } #=> "not found" */) ident(VALUE) ident(rb_ary_delete)operator(()ident(ary)operator(,) ident(item)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(item)operator(;) operator({) pre_type(long) ident(i1)operator(,) ident(i2)operator(;) reserved(for) operator(()ident(i1) operator(=) ident(i2) operator(=) integer(0)operator(;) ident(i1) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i1)operator(++\)) operator({) ident(VALUE) ident(e) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i1)operator(];) reserved(if) operator(()ident(rb_equal)operator(()ident(e)operator(,) ident(item)operator(\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(i1) operator(!=) ident(i2)operator(\)) operator({) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(i2)operator(,) ident(e)operator(\);) operator(}) ident(i2)operator(++;) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) ident(i2)operator(\)) operator({) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) ident(rb_yield)operator(()ident(item)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(>) ident(i2)operator(\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(i2)operator(;) reserved(if) operator(()ident(i2) operator(*) integer(2) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(&&) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(>) ident(ARY_DEFAULT_SIZE)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(i2) operator(*) integer(2)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(i2) operator(*) integer(2)operator(;) operator(}) operator(}) reserved(return) ident(item)operator(;) operator(}) ident(VALUE) ident(rb_ary_delete_at)operator(()ident(ary)operator(,) ident(pos)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(pos)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(VALUE) ident(del)operator(;) reserved(if) operator(()ident(pos) operator(>=) ident(len)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) ident(pos) operator(+=) ident(len)operator(;) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) operator(}) ident(rb_ary_modify)operator(()ident(ary)operator(\);) ident(del) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(pos)operator(];) reserved(for) operator(()ident(i) operator(=) ident(pos) operator(+) integer(1)operator(;) ident(i) operator(<) ident(len)operator(;) ident(i)operator(++,) ident(pos)operator(++\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(pos)operator(]) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(pos)operator(;) reserved(return) ident(del)operator(;) operator(}) comment(/* * call-seq: * array.delete_at(index\) -> obj or nil * * Deletes the element at the specified index, returning that element, * or nil if the index is out of range. See also * Array#slice!. * * a = %w( ant bat cat dog \) * a.delete_at(2\) #=> "cat" * a #=> ["ant", "bat", "dog"] * a.delete_at(99\) #=> nil */) directive(static) ident(VALUE) ident(rb_ary_delete_at_m)operator(()ident(ary)operator(,) ident(pos)operator(\)) ident(VALUE) ident(ary)operator(,) ident(pos)operator(;) operator({) reserved(return) ident(rb_ary_delete_at)operator(()ident(ary)operator(,) ident(NUM2LONG)operator(()ident(pos)operator(\)\);) operator(}) comment(/* * call-seq: * array.slice!(index\) -> obj or nil * array.slice!(start, length\) -> sub_array or nil * array.slice!(range\) -> sub_array or nil * * Deletes the element(s\) given by an index (optionally with a length\) * or by a range. Returns the deleted object, subarray, or * nil if the index is out of range. Equivalent to: * * def slice!(*args\) * result = self[*args] * self[*args] = nil * result * end * * a = [ "a", "b", "c" ] * a.slice!(1\) #=> "b" * a #=> ["a", "c"] * a.slice!(-1\) #=> "c" * a #=> ["a"] * a.slice!(100\) #=> nil * a #=> ["a"] */) directive(static) ident(VALUE) ident(rb_ary_slice_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(arg1)operator(,) ident(arg2)operator(;) pre_type(long) ident(pos)operator(,) ident(len)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(arg1)operator(,) operator(&)ident(arg2)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(pos) operator(=) ident(NUM2LONG)operator(()ident(arg1)operator(\);) ident(len) operator(=) ident(NUM2LONG)operator(()ident(arg2)operator(\);) label(delete_pos_len:) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) ident(pos) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(+) ident(pos)operator(;) operator(}) ident(arg2) operator(=) ident(rb_ary_subseq)operator(()ident(ary)operator(,) ident(pos)operator(,) ident(len)operator(\);) ident(rb_ary_splice)operator(()ident(ary)operator(,) ident(pos)operator(,) ident(len)operator(,) ident(Qnil)operator(\);) comment(/* Qnil/rb_ary_new2(0\) */) reserved(return) ident(arg2)operator(;) operator(}) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(arg1)operator(\)) operator(&&) ident(rb_range_beg_len)operator(()ident(arg1)operator(,) operator(&)ident(pos)operator(,) operator(&)ident(len)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) integer(1)operator(\)\)) operator({) reserved(goto) ident(delete_pos_len)operator(;) operator(}) reserved(return) ident(rb_ary_delete_at)operator(()ident(ary)operator(,) ident(NUM2LONG)operator(()ident(arg1)operator(\)\);) operator(}) comment(/* * call-seq: * array.reject! {|item| block } -> array or nil * * Equivalent to Array#delete_if, deleting elements from * _self_ for which the block evaluates to true, but returns * nil if no changes were made. Also see * Enumerable#reject. */) directive(static) ident(VALUE) ident(rb_ary_reject_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i1)operator(,) ident(i2)operator(;) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(for) operator(()ident(i1) operator(=) ident(i2) operator(=) integer(0)operator(;) ident(i1) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i1)operator(++\)) operator({) ident(VALUE) ident(v) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i1)operator(];) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(v)operator(\)\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(i1) operator(!=) ident(i2)operator(\)) operator({) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(i2)operator(,) ident(v)operator(\);) operator(}) ident(i2)operator(++;) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) ident(i2)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(i2) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(i2)operator(;) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.reject {|item| block } -> an_array * * Returns a new array containing the items in _self_ * for which the block is not true. */) directive(static) ident(VALUE) ident(rb_ary_reject)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(ary) operator(=) ident(rb_ary_dup)operator(()ident(ary)operator(\);) ident(rb_ary_reject_bang)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.delete_if {|item| block } -> array * * Deletes every element of self for which block evaluates * to true. * * a = [ "a", "b", "c" ] * a.delete_if {|x| x >= "b" } #=> ["a"] */) directive(static) ident(VALUE) ident(rb_ary_delete_if)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_reject_bang)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.zip(arg, ...\) -> an_array * array.zip(arg, ...\) {| arr | block } -> nil * * Converts any arguments to arrays, then merges elements of * self with corresponding elements from each argument. This * generates a sequence of self.size n-element * arrays, where n is one more that the count of arguments. If * the size of any argument is less than enumObj.size, * nil values are supplied. If a block given, it is * invoked for each output array, otherwise an array of arrays is * returned. * * a = [ 4, 5, 6 ] * b = [ 7, 8, 9 ] * * [1,2,3].zip(a, b\) #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]] * [1,2].zip(a,b\) #=> [[1, 4, 7], [2, 5, 8]] * a.zip([1,2],[8]\) #=> [[4,1,8], [5,2,nil], [6,nil,nil]] */) directive(static) ident(VALUE) ident(rb_ary_zip)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) pre_type(int) ident(i)operator(,) ident(j)operator(;) pre_type(long) ident(len)operator(;) ident(VALUE) ident(result)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(argv)operator([)ident(i)operator(]) operator(=) ident(to_ary)operator(()ident(argv)operator([)ident(i)operator(]\);) operator(}) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_ary_new2)operator(()ident(argc)operator(+)integer(1)operator(\);) ident(rb_ary_push)operator(()ident(tmp)operator(,) ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(i)operator(\)\);) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(argc)operator(;) ident(j)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(tmp)operator(,) ident(rb_ary_elt)operator(()ident(argv)operator([)ident(j)operator(],) ident(i)operator(\)\);) operator(}) ident(rb_yield)operator(()ident(tmp)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(len)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_ary_new2)operator(()ident(argc)operator(+)integer(1)operator(\);) ident(rb_ary_push)operator(()ident(tmp)operator(,) ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(i)operator(\)\);) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(argc)operator(;) ident(j)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(tmp)operator(,) ident(rb_ary_elt)operator(()ident(argv)operator([)ident(j)operator(],) ident(i)operator(\)\);) operator(}) ident(rb_ary_push)operator(()ident(result)operator(,) ident(tmp)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * array.transpose -> an_array * * Assumes that self is an array of arrays and transposes the * rows and columns. * * a = [[1,2], [3,4], [5,6]] * a.transpose #=> [[1, 3, 5], [2, 4, 6]] */) directive(static) ident(VALUE) ident(rb_ary_transpose)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(elen) operator(=) operator(-)integer(1)operator(,) ident(alen)operator(,) ident(i)operator(,) ident(j)operator(;) ident(VALUE) ident(tmp)operator(,) ident(result) operator(=) integer(0)operator(;) ident(alen) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(alen) operator(==) integer(0)operator(\)) reserved(return) ident(rb_ary_dup)operator(()ident(ary)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(alen)operator(;) ident(i)operator(++\)) operator({) ident(tmp) operator(=) ident(to_ary)operator(()ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(i)operator(\)\);) reserved(if) operator(()ident(elen) operator(<) integer(0)operator(\)) operator({) comment(/* first element */) ident(elen) operator(=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(;) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(elen)operator(\);) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(elen)operator(;) ident(j)operator(++\)) operator({) ident(rb_ary_store)operator(()ident(result)operator(,) ident(j)operator(,) ident(rb_ary_new2)operator(()ident(alen)operator(\)\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(elen) operator(!=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(,) ident(elen)operator(\);) operator(}) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(elen)operator(;) ident(j)operator(++\)) operator({) ident(rb_ary_store)operator(()ident(rb_ary_elt)operator(()ident(result)operator(,) ident(j)operator(\),) ident(i)operator(,) ident(rb_ary_elt)operator(()ident(tmp)operator(,) ident(j)operator(\)\);) operator(}) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * array.replace(other_array\) -> array * * Replaces the contents of self with the contents of * other_array, truncating or expanding if necessary. * * a = [ "a", "b", "c", "d", "e" ] * a.replace([ "x", "y", "z" ]\) #=> ["x", "y", "z"] * a #=> ["x", "y", "z"] */) directive(static) ident(VALUE) ident(rb_ary_replace)operator(()ident(copy)operator(,) ident(orig)operator(\)) ident(VALUE) ident(copy)operator(,) ident(orig)operator(;) operator({) ident(VALUE) ident(shared)operator(;) ident(rb_ary_modify)operator(()ident(copy)operator(\);) ident(orig) operator(=) ident(to_ary)operator(()ident(orig)operator(\);) reserved(if) operator(()ident(copy) operator(==) ident(orig)operator(\)) reserved(return) ident(copy)operator(;) ident(shared) operator(=) ident(ary_make_shared)operator(()ident(orig)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(copy)operator(\)->)ident(ptr) operator(&&) operator(!)ident(FL_TEST)operator(()ident(copy)operator(,) ident(ELTS_SHARED)operator(\)\)) ident(free)operator(()ident(RARRAY)operator(()ident(copy)operator(\)->)ident(ptr)operator(\);) ident(RARRAY)operator(()ident(copy)operator(\)->)ident(ptr) operator(=) ident(RARRAY)operator(()ident(orig)operator(\)->)ident(ptr)operator(;) ident(RARRAY)operator(()ident(copy)operator(\)->)ident(len) operator(=) ident(RARRAY)operator(()ident(orig)operator(\)->)ident(len)operator(;) ident(RARRAY)operator(()ident(copy)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(shared)operator(;) ident(FL_SET)operator(()ident(copy)operator(,) ident(ELTS_SHARED)operator(\);) reserved(return) ident(copy)operator(;) operator(}) comment(/* * call-seq: * array.clear -> array * * Removes all elements from _self_. * * a = [ "a", "b", "c", "d", "e" ] * a.clear #=> [ ] */) ident(VALUE) ident(rb_ary_clear)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_modify)operator(()ident(ary)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) integer(0)operator(;) reserved(if) operator(()ident(ARY_DEFAULT_SIZE) operator(*) integer(2) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(ARY_DEFAULT_SIZE) operator(*) integer(2)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(ARY_DEFAULT_SIZE) operator(*) integer(2)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.fill(obj\) -> array * array.fill(obj, start [, length]\) -> array * array.fill(obj, range \) -> array * array.fill {|index| block } -> array * array.fill(start [, length] \) {|index| block } -> array * array.fill(range\) {|index| block } -> array * * The first three forms set the selected elements of self (which * may be the entire array\) to obj. A start of * nil is equivalent to zero. A length of * nil is equivalent to self.length. The last three * forms fill the array with the value of the block. The block is * passed the absolute index of each element to be filled. * * a = [ "a", "b", "c", "d" ] * a.fill("x"\) #=> ["x", "x", "x", "x"] * a.fill("z", 2, 2\) #=> ["x", "x", "z", "z"] * a.fill("y", 0..1\) #=> ["y", "y", "z", "z"] * a.fill {|i| i*i} #=> [0, 1, 4, 9] * a.fill(-2\) {|i| i*i*i} #=> [0, 1, 8, 27] */) directive(static) ident(VALUE) ident(rb_ary_fill)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ary)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(item)operator(,) ident(arg1)operator(,) ident(arg2)operator(;) pre_type(long) ident(beg) operator(=) integer(0)operator(,) ident(end) operator(=) integer(0)operator(,) ident(len) operator(=) integer(0)operator(;) ident(VALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(int) ident(block_p) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(block_p) operator(=) ident(Qtrue)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(arg1)operator(,) operator(&)ident(arg2)operator(\);) ident(argc) operator(+=) integer(1)operator(;) comment(/* hackish */) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(item)operator(,) operator(&)ident(arg1)operator(,) operator(&)ident(arg2)operator(\);) operator(}) reserved(switch) operator(()ident(argc)operator(\)) operator({) reserved(case) integer(1)operator(:) ident(beg) operator(=) integer(0)operator(;) ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) reserved(if) operator(()ident(rb_range_beg_len)operator(()ident(arg1)operator(,) operator(&)ident(beg)operator(,) operator(&)ident(len)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) integer(1)operator(\)\)) operator({) reserved(break)operator(;) operator(}) comment(/* fall through */) reserved(case) integer(3)operator(:) ident(beg) operator(=) ident(NIL_P)operator(()ident(arg1)operator(\)) operator(?) integer(0) operator(:) ident(NUM2LONG)operator(()ident(arg1)operator(\);) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(beg) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(+) ident(beg)operator(;) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) ident(beg) operator(=) integer(0)operator(;) operator(}) ident(len) operator(=) ident(NIL_P)operator(()ident(arg2)operator(\)) operator(?) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) ident(beg) operator(:) ident(NUM2LONG)operator(()ident(arg2)operator(\);) reserved(break)operator(;) operator(}) ident(rb_ary_modify)operator(()ident(ary)operator(\);) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) reserved(return) ident(ary)operator(;) operator(}) reserved(if) operator(()ident(beg) operator(>=) ident(ARY_MAX_SIZE) operator(||) ident(len) operator(>) ident(ARY_MAX_SIZE) operator(-) ident(beg)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(end) operator(=) ident(beg) operator(+) ident(len)operator(;) reserved(if) operator(()ident(end) operator(>) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) reserved(if) operator(()ident(end) operator(>=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(end)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(end)operator(;) operator(}) ident(rb_mem_clear)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) ident(end) operator(-) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(end)operator(;) operator(}) reserved(if) operator(()ident(block_p)operator(\)) operator({) ident(VALUE) ident(v)operator(;) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)ident(beg)operator(;) ident(i)operator(<)ident(end)operator(;) ident(i)operator(++\)) operator({) ident(v) operator(=) ident(rb_yield)operator(()ident(LONG2NUM)operator(()ident(i)operator(\)\);) reserved(if) operator(()ident(i)operator(>=)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) reserved(break)operator(;) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(v)operator(;) operator(}) operator(}) reserved(else) operator({) ident(p) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr) operator(+) ident(beg)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) ident(item)operator(;) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array + other_array -> an_array * * Concatenation---Returns a new array built by concatenating the * two arrays together to produce a third array. * * [ 1, 2, 3 ] + [ 4, 5 ] #=> [ 1, 2, 3, 4, 5 ] */) ident(VALUE) ident(rb_ary_plus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(z)operator(;) pre_type(long) ident(len)operator(;) ident(y) operator(=) ident(to_ary)operator(()ident(y)operator(\);) ident(len) operator(=) ident(RARRAY)operator(()ident(x)operator(\)->)ident(len) operator(+) ident(RARRAY)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(z) operator(=) ident(rb_ary_new2)operator(()ident(len)operator(\);) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(z)operator(\)->)ident(ptr)operator(,) ident(RARRAY)operator(()ident(x)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(x)operator(\)->)ident(len)operator(\);) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(z)operator(\)->)ident(ptr) operator(+) ident(RARRAY)operator(()ident(x)operator(\)->)ident(len)operator(,) ident(RARRAY)operator(()ident(y)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(y)operator(\)->)ident(len)operator(\);) ident(RARRAY)operator(()ident(z)operator(\)->)ident(len) operator(=) ident(len)operator(;) reserved(return) ident(z)operator(;) operator(}) comment(/* * call-seq: * array.concat(other_array\) -> array * * Appends the elements in other_array to _self_. * * [ "a", "b" ].concat( ["c", "d"] \) #=> [ "a", "b", "c", "d" ] */) ident(VALUE) ident(rb_ary_concat)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(y) operator(=) ident(to_ary)operator(()ident(y)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(y)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(rb_ary_splice)operator(()ident(x)operator(,) ident(RARRAY)operator(()ident(x)operator(\)->)ident(len)operator(,) integer(0)operator(,) ident(y)operator(\);) operator(}) reserved(return) ident(x)operator(;) operator(}) comment(/* * call-seq: * array * int -> an_array * array * str -> a_string * * Repetition---With a String argument, equivalent to * self.join(str\). Otherwise, returns a new array * built by concatenating the _int_ copies of _self_. * * * [ 1, 2, 3 ] * 3 #=> [ 1, 2, 3, 1, 2, 3, 1, 2, 3 ] * [ 1, 2, 3 ] * "," #=> "1,2,3" * */) directive(static) ident(VALUE) ident(rb_ary_times)operator(()ident(ary)operator(,) ident(times)operator(\)) ident(VALUE) ident(ary)operator(,) ident(times)operator(;) operator({) ident(VALUE) ident(ary2)operator(,) ident(tmp)operator(;) pre_type(long) ident(i)operator(,) ident(len)operator(;) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(times)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(rb_ary_join)operator(()ident(ary)operator(,) ident(tmp)operator(\);) operator(}) ident(len) operator(=) ident(NUM2LONG)operator(()ident(times)operator(\);) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(ary_new)operator(()ident(rb_obj_class)operator(()ident(ary)operator(\),) integer(0)operator(\);) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(ARY_MAX_SIZE)operator(/)ident(len) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(len) operator(*=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(ary2) operator(=) ident(ary_new)operator(()ident(rb_obj_class)operator(()ident(ary)operator(\),) ident(len)operator(\);) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len) operator(=) ident(len)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(+=)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(MEMCPY)operator(()ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(ptr)operator(+)ident(i)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) operator(}) ident(OBJ_INFECT)operator(()ident(ary2)operator(,) ident(ary)operator(\);) reserved(return) ident(ary2)operator(;) operator(}) comment(/* * call-seq: * array.assoc(obj\) -> an_array or nil * * Searches through an array whose elements are also arrays * comparing _obj_ with the first element of each contained array * using obj.==. * Returns the first contained array that matches (that * is, the first associated array\), * or +nil+ if no match is found. * See also Array#rassoc. * * s1 = [ "colors", "red", "blue", "green" ] * s2 = [ "letters", "a", "b", "c" ] * s3 = "foo" * a = [ s1, s2, s3 ] * a.assoc("letters"\) #=> [ "letters", "a", "b", "c" ] * a.assoc("foo"\) #=> nil */) ident(VALUE) ident(rb_ary_assoc)operator(()ident(ary)operator(,) ident(key)operator(\)) ident(VALUE) ident(ary)operator(,) ident(key)operator(;) operator({) pre_type(long) ident(i)operator(;) ident(VALUE) ident(v)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(++)ident(i)operator(\)) operator({) ident(v) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(==) ident(T_ARRAY) operator(&&) ident(RARRAY)operator(()ident(v)operator(\)->)ident(len) operator(>) integer(0) operator(&&) ident(rb_equal)operator(()ident(RARRAY)operator(()ident(v)operator(\)->)ident(ptr)operator([)integer(0)operator(],) ident(key)operator(\)\)) reserved(return) ident(v)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * array.rassoc(key\) -> an_array or nil * * Searches through the array whose elements are also arrays. Compares * key with the second element of each contained array using * ==. Returns the first contained array that matches. See * also Array#assoc. * * a = [ [ 1, "one"], [2, "two"], [3, "three"], ["ii", "two"] ] * a.rassoc("two"\) #=> [2, "two"] * a.rassoc("four"\) #=> nil */) ident(VALUE) ident(rb_ary_rassoc)operator(()ident(ary)operator(,) ident(value)operator(\)) ident(VALUE) ident(ary)operator(,) ident(value)operator(;) operator({) pre_type(long) ident(i)operator(;) ident(VALUE) ident(v)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) operator(++)ident(i)operator(\)) operator({) ident(v) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(==) ident(T_ARRAY) operator(&&) ident(RARRAY)operator(()ident(v)operator(\)->)ident(len) operator(>) integer(1) operator(&&) ident(rb_equal)operator(()ident(RARRAY)operator(()ident(v)operator(\)->)ident(ptr)operator([)integer(1)operator(],) ident(value)operator(\)\)) reserved(return) ident(v)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(recursive_equal)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((!)ident(rb_equal)operator(()ident(rb_ary_elt)operator(()ident(ary1)operator(,) ident(i)operator(\),) ident(rb_ary_elt)operator(()ident(ary2)operator(,) ident(i)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * array == other_array -> bool * * Equality---Two arrays are equal if they contain the same number * of elements and if each element is equal to (according to * Object.==\) the corresponding element in the other array. * * [ "a", "c" ] == [ "a", "c", 7 ] #=> false * [ "a", "c", 7 ] == [ "a", "c", 7 ] #=> true * [ "a", "c", 7 ] == [ "a", "d", "f" ] #=> false * */) directive(static) ident(VALUE) ident(rb_ary_equal)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) reserved(if) operator(()ident(ary1) operator(==) ident(ary2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(ary2)operator(\)) operator(!=) ident(T_ARRAY)operator(\)) operator({) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(ary2)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(rb_equal)operator(()ident(ary2)operator(,) ident(ary1)operator(\);) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len) operator(!=) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(ary1)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(rb_protect_inspect)operator(()ident(recursive_equal)operator(,) ident(ary1)operator(,) ident(ary2)operator(\);) operator(}) directive(static) ident(VALUE) ident(recursive_eql)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((!)ident(rb_eql)operator(()ident(rb_ary_elt)operator(()ident(ary1)operator(,) ident(i)operator(\),) ident(rb_ary_elt)operator(()ident(ary2)operator(,) ident(i)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * array.eql?(other\) -> true or false * * Returns true if _array_ and _other_ are the same object, * or are both arrays with the same content. */) directive(static) ident(VALUE) ident(rb_ary_eql)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) reserved(if) operator(()ident(ary1) operator(==) ident(ary2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(ary2)operator(\)) operator(!=) ident(T_ARRAY)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len) operator(!=) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(ary1)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(rb_protect_inspect)operator(()ident(recursive_eql)operator(,) ident(ary1)operator(,) ident(ary2)operator(\);) operator(}) directive(static) ident(VALUE) ident(recursive_hash) ident(_)operator((()ident(VALUE) ident(ary)operator(\)\);) directive(static) ident(VALUE) ident(recursive_hash)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(h)operator(;) ident(VALUE) ident(n)operator(;) ident(h) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(h) operator(=) operator(()ident(h) operator(<<) integer(1)operator(\)) operator(|) operator(()ident(h)operator(<)integer(0) operator(?) integer(1) operator(:) integer(0)operator(\);) ident(n) operator(=) ident(rb_hash)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) ident(h) operator(^=) ident(NUM2LONG)operator(()ident(n)operator(\);) operator(}) reserved(return) ident(LONG2FIX)operator(()ident(h)operator(\);) operator(}) comment(/* * call-seq: * array.hash -> fixnum * * Compute a hash-code for this array. Two arrays with the same content * will have the same hash code (and will compare using eql?\). */) directive(static) ident(VALUE) ident(rb_ary_hash)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(ary)operator(\)\)) operator({) reserved(return) ident(LONG2FIX)operator(()integer(0)operator(\);) operator(}) reserved(return) ident(rb_protect_inspect)operator(()ident(recursive_hash)operator(,) ident(ary)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * array.include?(obj\) -> true or false * * Returns true if the given object is present in * self (that is, if any object == anObject\), * false otherwise. * * a = [ "a", "b", "c" ] * a.include?("b"\) #=> true * a.include?("z"\) #=> false */) ident(VALUE) ident(rb_ary_includes)operator(()ident(ary)operator(,) ident(item)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(item)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(rb_equal)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(item)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) ident(VALUE) ident(recursive_cmp)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(len)operator(;) ident(len) operator(=) ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(>) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(\)) operator({) ident(len) operator(=) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(v) operator(=) ident(rb_funcall)operator(()ident(rb_ary_elt)operator(()ident(ary1)operator(,) ident(i)operator(\),) ident(id_cmp)operator(,) integer(1)operator(,) ident(rb_ary_elt)operator(()ident(ary2)operator(,) ident(i)operator(\)\);) reserved(if) operator(()ident(v) operator(!=) ident(INT2FIX)operator(()integer(0)operator(\)\)) operator({) reserved(return) ident(v)operator(;) operator(}) operator(}) reserved(return) ident(Qundef)operator(;) operator(}) comment(/* * call-seq: * array <=> other_array -> -1, 0, +1 * * Comparison---Returns an integer (-1, 0, * or +1\) if this array is less than, equal to, or greater than * other_array. Each object in each array is compared * (using <=>\). If any value isn't * equal, then that inequality is the return value. If all the * values found are equal, then the return is based on a * comparison of the array lengths. Thus, two arrays are * ``equal'' according to Array#<=> if and only if they have * the same length and the value of each element is equal to the * value of the corresponding element in the other array. * * [ "a", "a", "c" ] <=> [ "a", "b", "c" ] #=> -1 * [ 1, 2, 3, 4, 5, 6 ] <=> [ 1, 2 ] #=> +1 * */) ident(VALUE) ident(rb_ary_cmp)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) pre_type(long) ident(len)operator(;) ident(VALUE) ident(v)operator(;) ident(ary2) operator(=) ident(to_ary)operator(()ident(ary2)operator(\);) reserved(if) operator(()ident(ary1) operator(==) ident(ary2)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(ary1)operator(\)\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) ident(v) operator(=) ident(rb_protect_inspect)operator(()ident(recursive_cmp)operator(,) ident(ary1)operator(,) ident(ary2)operator(\);) reserved(if) operator(()ident(v) operator(!=) ident(Qundef)operator(\)) reserved(return) ident(v)operator(;) ident(len) operator(=) ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len) operator(-) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(len) operator(>) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) directive(static) ident(VALUE) ident(ary_make_hash)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) ident(VALUE) ident(hash) operator(=) ident(rb_hash_new)operator((\);) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(Qtrue)operator(\);) operator(}) reserved(if) operator(()ident(ary2)operator(\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(Qtrue)operator(\);) operator(}) operator(}) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * array - other_array -> an_array * * Array Difference---Returns a new array that is a copy of * the original array, removing any items that also appear in * other_array. (If you need set-like behavior, see the * library class Set.\) * * [ 1, 1, 2, 2, 3, 3, 4, 5 ] - [ 1, 2, 4 ] #=> [ 3, 3, 5 ] */) directive(static) ident(VALUE) ident(rb_ary_diff)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) ident(VALUE) ident(ary3)operator(;) directive(volatile) ident(VALUE) ident(hash)operator(;) pre_type(long) ident(i)operator(;) ident(hash) operator(=) ident(ary_make_hash)operator(()ident(to_ary)operator(()ident(ary2)operator(\),) integer(0)operator(\);) ident(ary3) operator(=) ident(rb_ary_new)operator((\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(ptr)operator([)ident(i)operator(],) integer(0)operator(\)\)) reserved(continue)operator(;) ident(rb_ary_push)operator(()ident(ary3)operator(,) ident(rb_ary_elt)operator(()ident(ary1)operator(,) ident(i)operator(\)\);) operator(}) reserved(return) ident(ary3)operator(;) operator(}) comment(/* * call-seq: * array & other_array * * Set Intersection---Returns a new array * containing elements common to the two arrays, with no duplicates. * * [ 1, 1, 3, 5 ] & [ 1, 2, 3 ] #=> [ 1, 3 ] */) directive(static) ident(VALUE) ident(rb_ary_and)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) ident(VALUE) ident(hash)operator(,) ident(ary3)operator(,) ident(v)operator(,) ident(vv)operator(;) pre_type(long) ident(i)operator(;) ident(ary2) operator(=) ident(to_ary)operator(()ident(ary2)operator(\);) ident(ary3) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len) operator(<) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len) operator(?) ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len) operator(:) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(\);) ident(hash) operator(=) ident(ary_make_hash)operator(()ident(ary2)operator(,) integer(0)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(v) operator(=) ident(vv) operator(=) ident(rb_ary_elt)operator(()ident(ary1)operator(,) ident(i)operator(\);) reserved(if) operator(()ident(st_delete)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(vv)operator(,) integer(0)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary3)operator(,) ident(v)operator(\);) operator(}) operator(}) reserved(return) ident(ary3)operator(;) operator(}) comment(/* * call-seq: * array | other_array -> an_array * * Set Union---Returns a new array by joining this array with * other_array, removing duplicates. * * [ "a", "b", "c" ] | [ "c", "d", "a" ] * #=> [ "a", "b", "c", "d" ] */) directive(static) ident(VALUE) ident(rb_ary_or)operator(()ident(ary1)operator(,) ident(ary2)operator(\)) ident(VALUE) ident(ary1)operator(,) ident(ary2)operator(;) operator({) ident(VALUE) ident(hash)operator(,) ident(ary3)operator(;) ident(VALUE) ident(v)operator(,) ident(vv)operator(;) pre_type(long) ident(i)operator(;) ident(ary2) operator(=) ident(to_ary)operator(()ident(ary2)operator(\);) ident(ary3) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(+)ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(\);) ident(hash) operator(=) ident(ary_make_hash)operator(()ident(ary1)operator(,) ident(ary2)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary1)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(v) operator(=) ident(vv) operator(=) ident(rb_ary_elt)operator(()ident(ary1)operator(,) ident(i)operator(\);) reserved(if) operator(()ident(st_delete)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(vv)operator(,) integer(0)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary3)operator(,) ident(v)operator(\);) operator(}) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(v) operator(=) ident(vv) operator(=) ident(rb_ary_elt)operator(()ident(ary2)operator(,) ident(i)operator(\);) reserved(if) operator(()ident(st_delete)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(vv)operator(,) integer(0)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary3)operator(,) ident(v)operator(\);) operator(}) operator(}) reserved(return) ident(ary3)operator(;) operator(}) comment(/* * call-seq: * array.uniq! -> array or nil * * Removes duplicate elements from _self_. * Returns nil if no changes are made (that is, no * duplicates are found\). * * a = [ "a", "a", "b", "b", "c" ] * a.uniq! #=> ["a", "b", "c"] * b = [ "a", "b", "c" ] * b.uniq! #=> nil */) directive(static) ident(VALUE) ident(rb_ary_uniq_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) ident(hash)operator(,) ident(v)operator(,) ident(vv)operator(;) pre_type(long) ident(i)operator(,) ident(j)operator(;) ident(hash) operator(=) ident(ary_make_hash)operator(()ident(ary)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)ident(j)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(v) operator(=) ident(vv) operator(=) ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(i)operator(\);) reserved(if) operator(()ident(st_delete)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(vv)operator(,) integer(0)operator(\)\)) operator({) ident(rb_ary_store)operator(()ident(ary)operator(,) ident(j)operator(++,) ident(v)operator(\);) operator(}) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(j)operator(;) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.uniq -> an_array * * Returns a new array by removing duplicate values in self. * * a = [ "a", "a", "b", "b", "c" ] * a.uniq #=> ["a", "b", "c"] */) directive(static) ident(VALUE) ident(rb_ary_uniq)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(ary) operator(=) ident(rb_ary_dup)operator(()ident(ary)operator(\);) ident(rb_ary_uniq_bang)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.compact! -> array or nil * * Removes +nil+ elements from array. * Returns +nil+ if no changes were made. * * [ "a", nil, "b", nil, "c" ].compact! #=> [ "a", "b", "c" ] * [ "a", "b", "c" ].compact! #=> nil */) directive(static) ident(VALUE) ident(rb_ary_compact_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(VALUE) operator(*)ident(p)operator(,) operator(*)ident(t)operator(,) operator(*)ident(end)operator(;) ident(rb_ary_modify)operator(()ident(ary)operator(\);) ident(p) operator(=) ident(t) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(;) ident(end) operator(=) ident(p) operator(+) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(t) operator(<) ident(end)operator(\)) operator({) reserved(if) operator(()ident(NIL_P)operator((*)ident(t)operator(\)\)) ident(t)operator(++;) reserved(else) operator(*)ident(p)operator(++) operator(=) operator(*)ident(t)operator(++;) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) operator(()ident(p) operator(-) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(\)\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) operator(()ident(p) operator(-) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(\);) ident(REALLOC_N)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.compact -> an_array * * Returns a copy of _self_ with all +nil+ elements removed. * * [ "a", nil, "b", nil, "c", nil ].compact * #=> [ "a", "b", "c" ] */) directive(static) ident(VALUE) ident(rb_ary_compact)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(ary) operator(=) ident(rb_ary_dup)operator(()ident(ary)operator(\);) ident(rb_ary_compact_bang)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.nitems -> int * * Returns the number of non-nil elements in _self_. * May be zero. * * [ 1, nil, 3, nil, 5 ].nitems #=> 3 */) directive(static) ident(VALUE) ident(rb_ary_nitems)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(n) operator(=) integer(0)operator(;) ident(VALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) ident(p) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator((*)ident(p)operator(\)\)) ident(n)operator(++;) ident(p)operator(++;) operator(}) reserved(return) ident(LONG2NUM)operator(()ident(n)operator(\);) operator(}) directive(static) pre_type(long) ident(flatten)operator(()ident(ary)operator(,) ident(idx)operator(,) ident(ary2)operator(,) ident(memo)operator(\)) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(idx)operator(;) ident(VALUE) ident(ary2)operator(,) ident(memo)operator(;) operator({) ident(VALUE) ident(id)operator(;) pre_type(long) ident(i) operator(=) ident(idx)operator(;) pre_type(long) ident(n)operator(,) ident(lim) operator(=) ident(idx) operator(+) ident(RARRAY)operator(()ident(ary2)operator(\)->)ident(len)operator(;) ident(id) operator(=) ident(rb_obj_id)operator(()ident(ary2)operator(\);) reserved(if) operator(()ident(rb_ary_includes)operator(()ident(memo)operator(,) ident(id)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(rb_ary_push)operator(()ident(memo)operator(,) ident(id)operator(\);) ident(rb_ary_splice)operator(()ident(ary)operator(,) ident(idx)operator(,) integer(1)operator(,) ident(ary2)operator(\);) reserved(while) operator(()ident(i) operator(<) ident(lim)operator(\)) operator({) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(rb_ary_elt)operator(()ident(ary)operator(,) ident(i)operator(\)\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(n) operator(=) ident(flatten)operator(()ident(ary)operator(,) ident(i)operator(,) ident(tmp)operator(,) ident(memo)operator(\);) ident(i) operator(+=) ident(n)operator(;) ident(lim) operator(+=) ident(n)operator(;) operator(}) ident(i)operator(++;) operator(}) ident(rb_ary_pop)operator(()ident(memo)operator(\);) reserved(return) ident(lim) operator(-) ident(idx) operator(-) integer(1)operator(;) comment(/* returns number of increased items */) operator(}) comment(/* * call-seq: * array.flatten! -> array or nil * * Flattens _self_ in place. * Returns nil if no modifications were made (i.e., * array contains no subarrays.\) * * a = [ 1, 2, [3, [4, 5] ] ] * a.flatten! #=> [1, 2, 3, 4, 5] * a.flatten! #=> nil * a #=> [1, 2, 3, 4, 5] */) directive(static) ident(VALUE) ident(rb_ary_flatten_bang)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) pre_type(long) ident(i) operator(=) integer(0)operator(;) pre_type(int) ident(mod) operator(=) integer(0)operator(;) ident(VALUE) ident(memo) operator(=) ident(Qnil)operator(;) reserved(while) operator(()ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(\)) operator({) ident(VALUE) ident(ary2) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(ary2)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(memo)operator(\)\)) operator({) ident(memo) operator(=) ident(rb_ary_new)operator((\);) operator(}) ident(i) operator(+=) ident(flatten)operator(()ident(ary)operator(,) ident(i)operator(,) ident(tmp)operator(,) ident(memo)operator(\);) ident(mod) operator(=) integer(1)operator(;) operator(}) ident(i)operator(++;) operator(}) reserved(if) operator(()ident(mod) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * array.flatten -> an_array * * Returns a new array that is a one-dimensional flattening of this * array (recursively\). That is, for every element that is an array, * extract its elements into the new array. * * s = [ 1, 2, 3 ] #=> [1, 2, 3] * t = [ 4, 5, 6, [7, 8] ] #=> [4, 5, 6, [7, 8]] * a = [ s, t, 9, 10 ] #=> [[1, 2, 3], [4, 5, 6, [7, 8]], 9, 10] * a.flatten #=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 */) directive(static) ident(VALUE) ident(rb_ary_flatten)operator(()ident(ary)operator(\)) ident(VALUE) ident(ary)operator(;) operator({) ident(ary) operator(=) ident(rb_ary_dup)operator(()ident(ary)operator(\);) ident(rb_ary_flatten_bang)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* Arrays are ordered, integer-indexed collections of any object. * Array indexing starts at 0, as in C or Java. A negative index is * assumed to be relative to the end of the array---that is, an index of -1 * indicates the last element of the array, -2 is the next to last * element in the array, and so on. */) directive(void) ident(Init_Array)operator((\)) operator({) ident(rb_cArray) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cArray)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cArray)operator(,) ident(ary_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_s_create)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_replace)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_to_ary_m)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_frozen_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_aref)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_aset)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_at)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_fetch)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_first)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_last)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_concat)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_push)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_push_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_pop)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_shift)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_unshift_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_insert)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_each)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_each_index)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_reverse_each)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_length)operator(,) integer(0)operator(\);) ident(rb_define_alias)operator(()ident(rb_cArray)operator(,) stringoperator(,) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_empty_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_index)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_rindex)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_indexes)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_indexes)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_join_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_reverse_m)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_reverse_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_sort)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_sort_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_collect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_collect_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_collect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_collect_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_select)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_values_at)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_delete)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_delete_at_m)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_delete_if)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_reject)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_reject_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_zip)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_transpose)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_replace)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_clear)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_fill)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_includes)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) string)delimiter(")>operator(,) ident(rb_ary_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_aref)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_slice_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_assoc)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_rassoc)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_plus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_times)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_diff)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_and)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_or)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_uniq)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_uniq_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_compact)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_compact_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_flatten)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_flatten_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(rb_ary_nitems)operator(,) integer(0)operator(\);) ident(id_cmp) operator(=) ident(rb_intern)operator(()string)delimiter(")>operator(\);) ident(inspect_key) operator(=) ident(rb_intern)operator(()stringoperator(\);) operator(}) comment(/********************************************************************** bignum.c - $Author: wyhaines $ $Date: 2009-07-14 17:05:27 +0200 (Tue, 14 Jul 2009\) $ created at: Fri Jun 10 00:48:55 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_IEEEFP_H) preprocessor(#include) include() preprocessor(#endif) ident(VALUE) ident(rb_cBignum)operator(;) preprocessor(#if) ident(defined) ident(__MINGW32__) preprocessor(#define) ident(USHORT) ident(_USHORT) preprocessor(#endif) preprocessor(#define) ident(BDIGITS)operator(()ident(x)operator(\)) operator((()ident(BDIGIT)operator(*\))ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(digits)operator(\)) preprocessor(#define) ident(BITSPERDIG) operator(()ident(SIZEOF_BDIGITS)operator(*)ident(CHAR_BIT)operator(\)) preprocessor(#define) ident(BIGRAD) operator((()ident(BDIGIT_DBL)operator(\))integer(1) operator(<<) ident(BITSPERDIG)operator(\)) preprocessor(#define) ident(DIGSPERLONG) operator((()pre_type(unsigned) pre_type(int)operator(\)()ident(SIZEOF_LONG)operator(/)ident(SIZEOF_BDIGITS)operator(\)\)) preprocessor(#if) ident(HAVE_LONG_LONG) preprocessor(# define) ident(DIGSPERLL) operator((()pre_type(unsigned) pre_type(int)operator(\)()ident(SIZEOF_LONG_LONG)operator(/)ident(SIZEOF_BDIGITS)operator(\)\)) preprocessor(#endif) preprocessor(#define) ident(BIGUP)operator(()ident(x)operator(\)) operator((()ident(BDIGIT_DBL)operator(\)()ident(x)operator(\)) operator(<<) ident(BITSPERDIG)operator(\)) preprocessor(#define) ident(BIGDN)operator(()ident(x)operator(\)) ident(RSHIFT)operator(()ident(x)operator(,)ident(BITSPERDIG)operator(\)) preprocessor(#define) ident(BIGLO)operator(()ident(x)operator(\)) operator((()ident(BDIGIT)operator(\)(()ident(x)operator(\)) operator(&) operator(()ident(BIGRAD)operator(-)integer(1)operator(\)\)\)) preprocessor(#define) ident(BDIGMAX) operator((()ident(BDIGIT)operator(\)-)integer(1)operator(\)) preprocessor(#define) ident(BIGZEROP)operator(()ident(x)operator(\)) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(==) integer(0) operator(||) \ operator(()ident(BDIGITS)operator(()ident(x)operator(\)[)integer(0)operator(]) operator(==) integer(0) operator(&&) \ operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(==) integer(1) operator(||) ident(bigzero_p)operator(()ident(x)operator(\)\)\)\)) directive(static) pre_type(int) ident(bigzero_p)operator(()ident(VALUE)operator(\);) directive(static) pre_type(int) ident(bigzero_p)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) operator(++)ident(i)operator(\)) operator({) reserved(if) operator(()ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(]\)) reserved(return) integer(0)operator(;) operator(}) reserved(return) integer(1)operator(;) operator(}) directive(static) ident(VALUE) ident(bignew_1)operator(()ident(klass)operator(,) ident(len)operator(,) ident(sign)operator(\)) ident(VALUE) ident(klass)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(sign)operator(;) operator({) ident(NEWOBJ)operator(()ident(big)operator(,) reserved(struct) ident(RBignum)operator(\);) ident(OBJSETUP)operator(()ident(big)operator(,) ident(klass)operator(,) ident(T_BIGNUM)operator(\);) ident(big)operator(->)ident(sign) operator(=) ident(sign)operator(?)integer(1)operator(:)integer(0)operator(;) ident(big)operator(->)ident(len) operator(=) ident(len)operator(;) ident(big)operator(->)ident(digits) operator(=) ident(ALLOC_N)operator(()ident(BDIGIT)operator(,) ident(len)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(big)operator(;) operator(}) preprocessor(#define) ident(bignew)operator(()ident(len)operator(,)ident(sign)operator(\)) ident(bignew_1)operator(()ident(rb_cBignum)operator(,)ident(len)operator(,)ident(sign)operator(\)) ident(VALUE) ident(rb_big_clone)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(z) operator(=) ident(bignew_1)operator(()ident(CLASS_OF)operator(()ident(x)operator(\),) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\);) ident(MEMCPY)operator(()ident(BDIGITS)operator(()ident(z)operator(\),) ident(BDIGITS)operator(()ident(x)operator(\),) ident(BDIGIT)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\);) reserved(return) ident(z)operator(;) operator(}) comment(/* modify a bignum by 2's complement */) directive(static) directive(void) ident(get2comp)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(long) ident(i) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(BDIGIT) operator(*)ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(BDIGIT_DBL) ident(num)operator(;) reserved(if) operator((!)ident(i)operator(\)) reserved(return)operator(;) reserved(while) operator(()ident(i)operator(--\)) ident(ds)operator([)ident(i)operator(]) operator(=) operator(~)ident(ds)operator([)ident(i)operator(];) ident(i) operator(=) integer(0)operator(;) ident(num) operator(=) integer(1)operator(;) reserved(do) operator({) ident(num) operator(+=) ident(ds)operator([)ident(i)operator(];) ident(ds)operator([)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) reserved(while) operator(()ident(i) operator(<) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(num) operator(!=) integer(0)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(digits)operator(,) ident(BDIGIT)operator(,) operator(++)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\);) ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(ds)operator([)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(-)integer(1)operator(]) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(?) operator(~)integer(0) operator(:) integer(1)operator(;) operator(}) operator(}) directive(void) ident(rb_big_2comp)operator(()ident(x)operator(\)) comment(/* get 2's complement */) ident(VALUE) ident(x)operator(;) operator({) ident(get2comp)operator(()ident(x)operator(\);) operator(}) directive(static) ident(VALUE) ident(bigtrunc)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(BDIGIT) operator(*)ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(x)operator(;) reserved(while) operator((--)ident(len) operator(&&) operator(!)ident(ds)operator([)ident(len)operator(]\);) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(=) operator(++)ident(len)operator(;) reserved(return) ident(x)operator(;) operator(}) directive(static) ident(VALUE) ident(bigfixize)operator(()ident(VALUE) ident(x)operator(\)) operator({) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(BDIGIT) operator(*)ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) reserved(if) operator(()ident(len)operator(*)ident(SIZEOF_BDIGITS) operator(<=) reserved(sizeof)operator(()ident(VALUE)operator(\)\)) operator({) pre_type(long) ident(num) operator(=) integer(0)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(num) operator(=) ident(BIGUP)operator(()ident(num)operator(\)) operator(+) ident(ds)operator([)ident(len)operator(];) operator(}) reserved(if) operator(()ident(num) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) reserved(if) operator(()ident(POSFIXABLE)operator(()ident(num)operator(\)\)) reserved(return) ident(LONG2FIX)operator(()ident(num)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(NEGFIXABLE)operator((-()pre_type(long)operator(\))ident(num)operator(\)\)) reserved(return) ident(LONG2FIX)operator((-()pre_type(long)operator(\))ident(num)operator(\);) operator(}) operator(}) operator(}) reserved(return) ident(x)operator(;) operator(}) directive(static) ident(VALUE) ident(bignorm)operator(()ident(VALUE) ident(x)operator(\)) operator({) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(x)operator(\)) operator(&&) ident(TYPE)operator(()ident(x)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) ident(x) operator(=) ident(bigfixize)operator(()ident(bigtrunc)operator(()ident(x)operator(\)\);) operator(}) reserved(return) ident(x)operator(;) operator(}) ident(VALUE) ident(rb_big_norm)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) reserved(return) ident(bignorm)operator(()ident(x)operator(\);) operator(}) ident(VALUE) ident(rb_uint2big)operator(()ident(n)operator(\)) pre_type(unsigned) pre_type(long) ident(n)operator(;) operator({) ident(BDIGIT_DBL) ident(num) operator(=) ident(n)operator(;) pre_type(long) ident(i) operator(=) integer(0)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) ident(VALUE) ident(big)operator(;) ident(big) operator(=) ident(bignew)operator(()ident(DIGSPERLONG)operator(,) integer(1)operator(\);) ident(digits) operator(=) ident(BDIGITS)operator(()ident(big)operator(\);) reserved(while) operator(()ident(i) operator(<) ident(DIGSPERLONG)operator(\)) operator({) ident(digits)operator([)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) ident(i) operator(=) ident(DIGSPERLONG)operator(;) reserved(while) operator((--)ident(i) operator(&&) operator(!)ident(digits)operator([)ident(i)operator(]\)) operator(;) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(len) operator(=) ident(i)operator(+)integer(1)operator(;) reserved(return) ident(big)operator(;) operator(}) ident(VALUE) ident(rb_int2big)operator(()ident(n)operator(\)) pre_type(long) ident(n)operator(;) operator({) pre_type(long) ident(neg) operator(=) integer(0)operator(;) ident(VALUE) ident(big)operator(;) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) ident(n) operator(=) operator(-)ident(n)operator(;) ident(neg) operator(=) integer(1)operator(;) operator(}) ident(big) operator(=) ident(rb_uint2big)operator(()ident(n)operator(\);) reserved(if) operator(()ident(neg)operator(\)) operator({) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(sign) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(big)operator(;) operator(}) ident(VALUE) ident(rb_uint2inum)operator(()ident(n)operator(\)) pre_type(unsigned) pre_type(long) ident(n)operator(;) operator({) reserved(if) operator(()ident(POSFIXABLE)operator(()ident(n)operator(\)\)) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) reserved(return) ident(rb_uint2big)operator(()ident(n)operator(\);) operator(}) ident(VALUE) ident(rb_int2inum)operator(()ident(n)operator(\)) pre_type(long) ident(n)operator(;) operator({) reserved(if) operator(()ident(FIXABLE)operator(()ident(n)operator(\)\)) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) reserved(return) ident(rb_int2big)operator(()ident(n)operator(\);) operator(}) preprocessor(#ifdef) ident(HAVE_LONG_LONG) directive(void) ident(rb_quad_pack)operator(()ident(buf)operator(,) ident(val)operator(\)) pre_type(char) operator(*)ident(buf)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(LONG_LONG) ident(q)operator(;) ident(val) operator(=) ident(rb_to_int)operator(()ident(val)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) operator({) ident(q) operator(=) ident(FIX2LONG)operator(()ident(val)operator(\);) operator(}) reserved(else) operator({) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(len)operator(;) ident(BDIGIT) operator(*)ident(ds)operator(;) reserved(if) operator(()ident(len) operator(>) ident(SIZEOF_LONG_LONG)operator(/)ident(SIZEOF_BDIGITS)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) ident(ds) operator(=) ident(BDIGITS)operator(()ident(val)operator(\);) ident(q) operator(=) integer(0)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(q) operator(=) ident(BIGUP)operator(()ident(q)operator(\);) ident(q) operator(+=) ident(ds)operator([)ident(len)operator(];) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(sign)operator(\)) ident(q) operator(=) operator(-)ident(q)operator(;) operator(}) ident(memcpy)operator(()ident(buf)operator(,) operator(()pre_type(char)operator(*\)&)ident(q)operator(,) ident(SIZEOF_LONG_LONG)operator(\);) operator(}) ident(VALUE) ident(rb_quad_unpack)operator(()ident(buf)operator(,) ident(sign)operator(\)) directive(const) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(sign)operator(;) operator({) pre_type(unsigned) ident(LONG_LONG) ident(q)operator(;) pre_type(long) ident(neg) operator(=) integer(0)operator(;) pre_type(long) ident(i)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) ident(VALUE) ident(big)operator(;) ident(memcpy)operator((&)ident(q)operator(,) ident(buf)operator(,) ident(SIZEOF_LONG_LONG)operator(\);) reserved(if) operator(()ident(sign)operator(\)) operator({) reserved(if) operator(()ident(FIXABLE)operator((()ident(LONG_LONG)operator(\))ident(q)operator(\)\)) reserved(return) ident(LONG2FIX)operator((()ident(LONG_LONG)operator(\))ident(q)operator(\);) reserved(if) operator((()ident(LONG_LONG)operator(\))ident(q) operator(<) integer(0)operator(\)) operator({) ident(q) operator(=) operator(-()ident(LONG_LONG)operator(\))ident(q)operator(;) ident(neg) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(POSFIXABLE)operator(()ident(q)operator(\)\)) reserved(return) ident(LONG2FIX)operator(()ident(q)operator(\);) operator(}) ident(i) operator(=) integer(0)operator(;) ident(big) operator(=) ident(bignew)operator(()ident(DIGSPERLL)operator(,) integer(1)operator(\);) ident(digits) operator(=) ident(BDIGITS)operator(()ident(big)operator(\);) reserved(while) operator(()ident(i) operator(<) ident(DIGSPERLL)operator(\)) operator({) ident(digits)operator([)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(q)operator(\);) ident(q) operator(=) ident(BIGDN)operator(()ident(q)operator(\);) operator(}) ident(i) operator(=) ident(DIGSPERLL)operator(;) reserved(while) operator(()ident(i)operator(--) operator(&&) operator(!)ident(digits)operator([)ident(i)operator(]\)) operator(;) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(len) operator(=) ident(i)operator(+)integer(1)operator(;) reserved(if) operator(()ident(neg)operator(\)) operator({) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(sign) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(bignorm)operator(()ident(big)operator(\);) operator(}) preprocessor(#else) preprocessor(#define) ident(QUAD_SIZE) integer(8) directive(void) ident(rb_quad_pack)operator(()ident(buf)operator(,) ident(val)operator(\)) pre_type(char) operator(*)ident(buf)operator(;) ident(VALUE) ident(val)operator(;) operator({) pre_type(long) ident(len)operator(;) ident(memset)operator(()ident(buf)operator(,) integer(0)operator(,) ident(QUAD_SIZE)operator(\);) ident(val) operator(=) ident(rb_to_int)operator(()ident(val)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) operator({) ident(val) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(val)operator(\)\);) operator(}) ident(len) operator(=) ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(len) operator(*) ident(SIZEOF_BDIGITS)operator(;) reserved(if) operator(()ident(len) operator(>) ident(QUAD_SIZE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) ident(memcpy)operator(()ident(buf)operator(,) operator(()pre_type(char)operator(*\))ident(BDIGITS)operator(()ident(val)operator(\),) ident(len)operator(\);) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(sign)operator(\)) operator({) ident(len) operator(=) ident(QUAD_SIZE)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) operator(*)ident(buf) operator(=) operator(~*)ident(buf)operator(;) ident(buf)operator(++;) operator(}) operator(}) operator(}) preprocessor(#define) ident(BNEG)operator(()ident(b)operator(\)) operator(()ident(RSHIFT)operator(((()ident(BDIGIT)operator(*\))ident(b)operator(\)[)ident(QUAD_SIZE)operator(/)ident(SIZEOF_BDIGITS)operator(-)integer(1)operator(],)ident(BITSPERDIG)operator(-)integer(1)operator(\)) operator(!=) integer(0)operator(\)) ident(VALUE) ident(rb_quad_unpack)operator(()ident(buf)operator(,) ident(sign)operator(\)) directive(const) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(sign)operator(;) operator({) ident(VALUE) ident(big) operator(=) ident(bignew)operator(()ident(QUAD_SIZE)operator(/)ident(SIZEOF_BDIGITS)operator(,) integer(1)operator(\);) ident(memcpy)operator((()pre_type(char)operator(*\))ident(BDIGITS)operator(()ident(big)operator(\),) ident(buf)operator(,) ident(QUAD_SIZE)operator(\);) reserved(if) operator(()ident(sign) operator(&&) ident(BNEG)operator(()ident(buf)operator(\)\)) operator({) pre_type(long) ident(len) operator(=) ident(QUAD_SIZE)operator(;) pre_type(char) operator(*)ident(tmp) operator(=) operator(()pre_type(char)operator(*\))ident(BDIGITS)operator(()ident(big)operator(\);) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(sign) operator(=) integer(0)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) operator(*)ident(tmp) operator(=) operator(~*)ident(tmp)operator(;) ident(tmp)operator(++;) operator(}) operator(}) reserved(return) ident(bignorm)operator(()ident(big)operator(\);) operator(}) preprocessor(#endif) ident(VALUE) ident(rb_cstr_to_inum)operator(()ident(str)operator(,) ident(base)operator(,) ident(badcheck)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) ident(base)operator(;) pre_type(int) ident(badcheck)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(s) operator(=) ident(str)operator(;) pre_type(char) operator(*)ident(end)operator(;) pre_type(char) ident(sign) operator(=) integer(1)operator(,) ident(nondigit) operator(=) integer(0)operator(;) pre_type(int) ident(c)operator(;) ident(BDIGIT_DBL) ident(num)operator(;) pre_type(long) ident(len)operator(,) ident(blen) operator(=) integer(1)operator(;) pre_type(long) ident(i)operator(;) ident(VALUE) ident(z)operator(;) ident(BDIGIT) operator(*)ident(zds)operator(;) preprocessor(#define) ident(conv_digit)operator(()ident(c)operator(\)) \ operator((!)ident(ISASCII)operator(()ident(c)operator(\)) operator(?) operator(-)integer(1) operator(:) \ ident(isdigit)operator(()ident(c)operator(\)) operator(?) operator((()ident(c)operator(\)) operator(-) char('0')operator(\)) operator(:) \ ident(islower)operator(()ident(c)operator(\)) operator(?) operator((()ident(c)operator(\)) operator(-) char('a') operator(+) integer(10)operator(\)) operator(:) \ ident(isupper)operator(()ident(c)operator(\)) operator(?) operator((()ident(c)operator(\)) operator(-) char('A') operator(+) integer(10)operator(\)) operator(:) \ operator(-)integer(1)operator(\)) reserved(if) operator((!)ident(str)operator(\)) operator({) reserved(if) operator(()ident(badcheck)operator(\)) reserved(goto) ident(bad)operator(;) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(badcheck)operator(\)) operator({) reserved(while) operator(()ident(ISSPACE)operator((*)ident(str)operator(\)\)) ident(str)operator(++;) operator(}) reserved(else) operator({) reserved(while) operator(()ident(ISSPACE)operator((*)ident(str)operator(\)) operator(||) operator(*)ident(str) operator(==) char('_')operator(\)) ident(str)operator(++;) operator(}) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('+')operator(\)) operator({) ident(str)operator(++;) operator(}) reserved(else) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) ident(str)operator(++;) ident(sign) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('+') operator(||) ident(str)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) reserved(if) operator(()ident(badcheck)operator(\)) reserved(goto) ident(bad)operator(;) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(base) operator(<=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('0')operator(\)) operator({) reserved(switch) operator(()ident(str)operator([)integer(1)operator(]\)) operator({) reserved(case) char('x')operator(:) reserved(case) char('X')operator(:) ident(base) operator(=) integer(16)operator(;) reserved(break)operator(;) reserved(case) char('b')operator(:) reserved(case) char('B')operator(:) ident(base) operator(=) integer(2)operator(;) reserved(break)operator(;) reserved(case) char('o')operator(:) reserved(case) char('O')operator(:) ident(base) operator(=) integer(8)operator(;) reserved(break)operator(;) reserved(case) char('d')operator(:) reserved(case) char('D')operator(:) ident(base) operator(=) integer(10)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(base) operator(=) integer(8)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(base) operator(<) operator(-)integer(1)operator(\)) operator({) ident(base) operator(=) operator(-)ident(base)operator(;) operator(}) reserved(else) operator({) ident(base) operator(=) integer(10)operator(;) operator(}) operator(}) reserved(switch) operator(()ident(base)operator(\)) operator({) reserved(case) integer(2)operator(:) ident(len) operator(=) integer(1)operator(;) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('0') operator(&&) operator(()ident(str)operator([)integer(1)operator(]) operator(==) char('b')operator(||)ident(str)operator([)integer(1)operator(]) operator(==) char('B')operator(\)\)) operator({) ident(str) operator(+=) integer(2)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(3)operator(:) ident(len) operator(=) integer(2)operator(;) reserved(break)operator(;) reserved(case) integer(8)operator(:) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('0') operator(&&) operator(()ident(str)operator([)integer(1)operator(]) operator(==) char('o')operator(||)ident(str)operator([)integer(1)operator(]) operator(==) char('O')operator(\)\)) operator({) ident(str) operator(+=) integer(2)operator(;) operator(}) reserved(case) integer(4)operator(:) reserved(case) integer(5)operator(:) reserved(case) integer(6)operator(:) reserved(case) integer(7)operator(:) ident(len) operator(=) integer(3)operator(;) reserved(break)operator(;) reserved(case) integer(10)operator(:) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('0') operator(&&) operator(()ident(str)operator([)integer(1)operator(]) operator(==) char('d')operator(||)ident(str)operator([)integer(1)operator(]) operator(==) char('D')operator(\)\)) operator({) ident(str) operator(+=) integer(2)operator(;) operator(}) reserved(case) integer(9)operator(:) reserved(case) integer(11)operator(:) reserved(case) integer(12)operator(:) reserved(case) integer(13)operator(:) reserved(case) integer(14)operator(:) reserved(case) integer(15)operator(:) ident(len) operator(=) integer(4)operator(;) reserved(break)operator(;) reserved(case) integer(16)operator(:) ident(len) operator(=) integer(4)operator(;) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('0') operator(&&) operator(()ident(str)operator([)integer(1)operator(]) operator(==) char('x')operator(||)ident(str)operator([)integer(1)operator(]) operator(==) char('X')operator(\)\)) operator({) ident(str) operator(+=) integer(2)operator(;) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(base) operator(<) integer(2) operator(||) integer(36) operator(<) ident(base)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(base)operator(\);) operator(}) reserved(if) operator(()ident(base) operator(<=) integer(32)operator(\)) operator({) ident(len) operator(=) integer(5)operator(;) operator(}) reserved(else) operator({) ident(len) operator(=) integer(6)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(if) operator((*)ident(str) operator(==) char('0')operator(\)) operator({) comment(/* squeeze preceeding 0s */) reserved(while) operator((*++)ident(str) operator(==) char('0')operator(\);) reserved(if) operator((!()ident(c) operator(=) operator(*)ident(str)operator(\)) operator(||) ident(ISSPACE)operator(()ident(c)operator(\)\)) operator(--)ident(str)operator(;) operator(}) ident(c) operator(=) operator(*)ident(str)operator(;) ident(c) operator(=) ident(conv_digit)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(<) integer(0) operator(||) ident(c) operator(>=) ident(base)operator(\)) operator({) reserved(if) operator(()ident(badcheck)operator(\)) reserved(goto) ident(bad)operator(;) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) ident(len) operator(*=) ident(strlen)operator(()ident(str)operator(\)*)reserved(sizeof)operator(()pre_type(char)operator(\);) reserved(if) operator(()ident(len) operator(<=) operator(()reserved(sizeof)operator(()ident(VALUE)operator(\)*)ident(CHAR_BIT)operator(\)\)) operator({) pre_type(unsigned) pre_type(long) ident(val) operator(=) ident(strtoul)operator((()pre_type(char)operator(*\))ident(str)operator(,) operator(&)ident(end)operator(,) ident(base)operator(\);) reserved(if) operator((*)ident(end) operator(==) char('_')operator(\)) reserved(goto) ident(bigparse)operator(;) reserved(if) operator(()ident(badcheck)operator(\)) operator({) reserved(if) operator(()ident(end) operator(==) ident(str)operator(\)) reserved(goto) ident(bad)operator(;) comment(/* no number */) reserved(while) operator((*)ident(end) operator(&&) ident(ISSPACE)operator((*)ident(end)operator(\)\)) ident(end)operator(++;) reserved(if) operator((*)ident(end)operator(\)) reserved(goto) ident(bad)operator(;) comment(/* trailing garbage */) operator(}) reserved(if) operator(()ident(POSFIXABLE)operator(()ident(val)operator(\)\)) operator({) reserved(if) operator(()ident(sign)operator(\)) reserved(return) ident(LONG2FIX)operator(()ident(val)operator(\);) reserved(else) operator({) pre_type(long) ident(result) operator(=) operator(-()pre_type(long)operator(\))ident(val)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(result)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(big) operator(=) ident(rb_uint2big)operator(()ident(val)operator(\);) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(sign) operator(=) ident(sign)operator(;) reserved(return) ident(bignorm)operator(()ident(big)operator(\);) operator(}) operator(}) label(bigparse:) ident(len) operator(=) operator(()ident(len)operator(/)ident(BITSPERDIG)operator(\)+)integer(1)operator(;) reserved(if) operator(()ident(badcheck) operator(&&) operator(*)ident(str) operator(==) char('_')operator(\)) reserved(goto) ident(bad)operator(;) ident(z) operator(=) ident(bignew)operator(()ident(len)operator(,) ident(sign)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(for) operator(()ident(i)operator(=)ident(len)operator(;)ident(i)operator(--;\)) ident(zds)operator([)ident(i)operator(]=)integer(0)operator(;) reserved(while) operator((()ident(c) operator(=) operator(*)ident(str)operator(++\)) operator(!=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) reserved(if) operator(()ident(badcheck)operator(\)) operator({) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(bad)operator(;) ident(nondigit) operator(=) ident(c)operator(;) operator(}) reserved(continue)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(c) operator(=) ident(conv_digit)operator(()ident(c)operator(\)\)) operator(<) integer(0)operator(\)) operator({) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(c) operator(>=) ident(base)operator(\)) reserved(break)operator(;) ident(nondigit) operator(=) integer(0)operator(;) ident(i) operator(=) integer(0)operator(;) ident(num) operator(=) ident(c)operator(;) reserved(for) operator((;;\)) operator({) reserved(while) operator(()ident(i)operator(<)ident(blen)operator(\)) operator({) ident(num) operator(+=) operator(()ident(BDIGIT_DBL)operator(\))ident(zds)operator([)ident(i)operator(]*)ident(base)operator(;) ident(zds)operator([)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) reserved(if) operator(()ident(num)operator(\)) operator({) ident(blen)operator(++;) reserved(continue)operator(;) operator(}) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(badcheck)operator(\)) operator({) ident(str)operator(--;) reserved(if) operator(()ident(s)operator(+)integer(1) operator(<) ident(str) operator(&&) ident(str)operator([-)integer(1)operator(]) operator(==) char('_')operator(\)) reserved(goto) ident(bad)operator(;) reserved(while) operator((*)ident(str) operator(&&) ident(ISSPACE)operator((*)ident(str)operator(\)\)) ident(str)operator(++;) reserved(if) operator((*)ident(str)operator(\)) operator({) label(bad:) ident(rb_invalid_str)operator(()ident(s)operator(,) stringoperator(\);) operator(}) operator(}) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) ident(VALUE) ident(rb_str_to_inum)operator(()ident(str)operator(,) ident(base)operator(,) ident(badcheck)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(int) ident(base)operator(;) pre_type(int) ident(badcheck)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) ident(StringValue)operator(()ident(str)operator(\);) reserved(if) operator(()ident(badcheck)operator(\)) operator({) ident(s) operator(=) ident(StringValueCStr)operator(()ident(str)operator(\);) operator(}) reserved(else) operator({) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) operator(}) reserved(if) operator(()ident(s)operator(\)) operator({) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(s)operator([)ident(len)operator(]\)) operator({) comment(/* no sentinel somehow */) pre_type(char) operator(*)ident(p) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len)operator(+)integer(1)operator(\);) ident(MEMCPY)operator(()ident(p)operator(,) ident(s)operator(,) pre_type(char)operator(,) ident(len)operator(\);) ident(p)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) ident(s) operator(=) ident(p)operator(;) operator(}) operator(}) reserved(return) ident(rb_cstr_to_inum)operator(()ident(s)operator(,) ident(base)operator(,) ident(badcheck)operator(\);) operator(}) preprocessor(#if) ident(HAVE_LONG_LONG) ident(VALUE) ident(rb_ull2big)operator(()ident(n)operator(\)) pre_type(unsigned) ident(LONG_LONG) ident(n)operator(;) operator({) ident(BDIGIT_DBL) ident(num) operator(=) ident(n)operator(;) pre_type(long) ident(i) operator(=) integer(0)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) ident(VALUE) ident(big)operator(;) ident(big) operator(=) ident(bignew)operator(()ident(DIGSPERLL)operator(,) integer(1)operator(\);) ident(digits) operator(=) ident(BDIGITS)operator(()ident(big)operator(\);) reserved(while) operator(()ident(i) operator(<) ident(DIGSPERLL)operator(\)) operator({) ident(digits)operator([)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) ident(i) operator(=) ident(DIGSPERLL)operator(;) reserved(while) operator(()ident(i)operator(--) operator(&&) operator(!)ident(digits)operator([)ident(i)operator(]\)) operator(;) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(len) operator(=) ident(i)operator(+)integer(1)operator(;) reserved(return) ident(big)operator(;) operator(}) ident(VALUE) ident(rb_ll2big)operator(()ident(n)operator(\)) ident(LONG_LONG) ident(n)operator(;) operator({) pre_type(long) ident(neg) operator(=) integer(0)operator(;) ident(VALUE) ident(big)operator(;) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) ident(n) operator(=) operator(-)ident(n)operator(;) ident(neg) operator(=) integer(1)operator(;) operator(}) ident(big) operator(=) ident(rb_ull2big)operator(()ident(n)operator(\);) reserved(if) operator(()ident(neg)operator(\)) operator({) ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(sign) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(big)operator(;) operator(}) ident(VALUE) ident(rb_ull2inum)operator(()ident(n)operator(\)) pre_type(unsigned) ident(LONG_LONG) ident(n)operator(;) operator({) reserved(if) operator(()ident(POSFIXABLE)operator(()ident(n)operator(\)\)) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) reserved(return) ident(rb_ull2big)operator(()ident(n)operator(\);) operator(}) ident(VALUE) ident(rb_ll2inum)operator(()ident(n)operator(\)) ident(LONG_LONG) ident(n)operator(;) operator({) reserved(if) operator(()ident(FIXABLE)operator(()ident(n)operator(\)\)) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) reserved(return) ident(rb_ll2big)operator(()ident(n)operator(\);) operator(}) preprocessor(#endif) comment(/* HAVE_LONG_LONG */) ident(VALUE) ident(rb_cstr2inum)operator(()ident(str)operator(,) ident(base)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) ident(base)operator(;) operator({) reserved(return) ident(rb_cstr_to_inum)operator(()ident(str)operator(,) ident(base)operator(,) ident(base)operator(==)integer(0)operator(\);) operator(}) ident(VALUE) ident(rb_str2inum)operator(()ident(str)operator(,) ident(base)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(int) ident(base)operator(;) operator({) reserved(return) ident(rb_str_to_inum)operator(()ident(str)operator(,) ident(base)operator(,) ident(base)operator(==)integer(0)operator(\);) operator(}) directive(const) pre_type(char) ident(ruby_digitmap)operator([]) operator(=) stringoperator(;) ident(VALUE) ident(rb_big2str0)operator(()ident(x)operator(,) ident(base)operator(,) ident(trim)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(int) ident(base)operator(;) pre_type(int) ident(trim)operator(;) operator({) directive(volatile) ident(VALUE) ident(t)operator(;) ident(BDIGIT) operator(*)ident(ds)operator(;) pre_type(long) ident(i)operator(,) ident(j)operator(,) ident(hbase)operator(;) ident(VALUE) ident(ss)operator(;) pre_type(char) operator(*)ident(s)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)\)) operator({) reserved(return) ident(rb_fix2str)operator(()ident(x)operator(,) ident(base)operator(\);) operator(}) ident(i) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(BIGZEROP)operator(()ident(x)operator(\)\)) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(i) operator(>=) ident(LONG_MAX)operator(/)ident(SIZEOF_BDIGITS)operator(/)ident(CHAR_BIT)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) ident(j) operator(=) ident(SIZEOF_BDIGITS)operator(*)ident(CHAR_BIT)operator(*)ident(i)operator(;) reserved(switch) operator(()ident(base)operator(\)) operator({) reserved(case) integer(2)operator(:) reserved(break)operator(;) reserved(case) integer(3)operator(:) ident(j) operator(=) ident(j) operator(*) integer(53L) operator(/) integer(84) operator(+) integer(1)operator(;) reserved(break)operator(;) reserved(case) integer(4)operator(:) reserved(case) integer(5)operator(:) reserved(case) integer(6)operator(:) reserved(case) integer(7)operator(:) ident(j) operator(=) operator(()ident(j) operator(+) integer(1)operator(\)) operator(/) integer(2)operator(;) reserved(break)operator(;) reserved(case) integer(8)operator(:) reserved(case) integer(9)operator(:) ident(j) operator(=) operator(()ident(j) operator(+) integer(2)operator(\)) operator(/) integer(3)operator(;) reserved(break)operator(;) reserved(case) integer(10)operator(:) reserved(case) integer(11)operator(:) reserved(case) integer(12)operator(:) reserved(case) integer(13)operator(:) reserved(case) integer(14)operator(:) reserved(case) integer(15)operator(:) ident(j) operator(=) ident(j) operator(*) integer(28L) operator(/) integer(93) operator(+) integer(1)operator(;) reserved(break)operator(;) reserved(case) integer(16)operator(:) reserved(case) integer(17)operator(:) reserved(case) integer(18)operator(:) reserved(case) integer(19)operator(:) reserved(case) integer(20)operator(:) reserved(case) integer(21)operator(:) reserved(case) integer(22)operator(:) reserved(case) integer(23)operator(:) reserved(case) integer(24)operator(:) reserved(case) integer(25)operator(:) reserved(case) integer(26)operator(:) reserved(case) integer(27)operator(:) reserved(case) integer(28)operator(:) reserved(case) integer(29)operator(:) reserved(case) integer(30)operator(:) reserved(case) integer(31)operator(:) ident(j) operator(=) operator(()ident(j) operator(+) integer(3)operator(\)) operator(/) integer(4)operator(;) reserved(break)operator(;) reserved(case) integer(32)operator(:) reserved(case) integer(33)operator(:) reserved(case) integer(34)operator(:) reserved(case) integer(35)operator(:) reserved(case) integer(36)operator(:) ident(j) operator(=) operator(()ident(j) operator(+) integer(4)operator(\)) operator(/) integer(5)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(base)operator(\);) reserved(break)operator(;) operator(}) ident(j)operator(++;) comment(/* space for sign */) ident(hbase) operator(=) ident(base) operator(*) ident(base)operator(;) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(>) integer(2) ident(hbase) operator(*=) ident(hbase)operator(;) preprocessor(#endif) ident(t) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(ds) operator(=) ident(BDIGITS)operator(()ident(t)operator(\);) ident(ss) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(j)operator(+)integer(1)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(ss)operator(\)->)ident(ptr)operator(;) ident(s)operator([)integer(0)operator(]) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(?) char('+') operator(:) char('-')operator(;) ident(TRAP_BEG)operator(;) reserved(while) operator(()ident(i) operator(&&) ident(j) operator(>) integer(1)operator(\)) operator({) pre_type(long) ident(k) operator(=) ident(i)operator(;) ident(BDIGIT_DBL) ident(num) operator(=) integer(0)operator(;) reserved(while) operator(()ident(k)operator(--\)) operator({) ident(num) operator(=) ident(BIGUP)operator(()ident(num)operator(\)) operator(+) ident(ds)operator([)ident(k)operator(];) ident(ds)operator([)ident(k)operator(]) operator(=) operator(()ident(BDIGIT)operator(\)()ident(num) operator(/) ident(hbase)operator(\);) ident(num) operator(%=) ident(hbase)operator(;) operator(}) reserved(if) operator(()ident(trim) operator(&&) ident(ds)operator([)ident(i)operator(-)integer(1)operator(]) operator(==) integer(0)operator(\)) ident(i)operator(--;) ident(k) operator(=) ident(SIZEOF_BDIGITS)operator(;) reserved(while) operator(()ident(k)operator(--\)) operator({) ident(s)operator([--)ident(j)operator(]) operator(=) ident(ruby_digitmap)operator([)ident(num) operator(%) ident(base)operator(];) ident(num) operator(/=) ident(base)operator(;) reserved(if) operator((!)ident(trim) operator(&&) ident(j) operator(<=) integer(1)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(trim) operator(&&) ident(i) operator(==) integer(0) operator(&&) ident(num) operator(==) integer(0)operator(\)) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(trim)operator(\)) operator({)reserved(while) operator(()ident(s)operator([)ident(j)operator(]) operator(==) char('0')operator(\)) ident(j)operator(++;}) ident(i) operator(=) ident(RSTRING)operator(()ident(ss)operator(\)->)ident(len) operator(-) ident(j)operator(;) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(memmove)operator(()ident(s)operator(,) ident(s)operator(+)ident(j)operator(,) ident(i)operator(\);) ident(RSTRING)operator(()ident(ss)operator(\)->)ident(len) operator(=) ident(i)operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) ident(memmove)operator(()ident(s)operator(+)integer(1)operator(,) ident(s)operator(+)ident(j)operator(,) ident(i)operator(\);) ident(RSTRING)operator(()ident(ss)operator(\)->)ident(len) operator(=) ident(i)operator(;) operator(}) ident(s)operator([)ident(RSTRING)operator(()ident(ss)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) ident(TRAP_END)operator(;) reserved(return) ident(ss)operator(;) operator(}) ident(VALUE) ident(rb_big2str)operator(()ident(VALUE) ident(x)operator(,) pre_type(int) ident(base)operator(\)) operator({) reserved(return) ident(rb_big2str0)operator(()ident(x)operator(,) ident(base)operator(,) ident(Qtrue)operator(\);) operator(}) comment(/* * call-seq: * big.to_s(base=10\) => string * * Returns a string containing the representation of big radix * base (2 through 36\). * * 12345654321.to_s #=> "12345654321" * 12345654321.to_s(2\) #=> "1011011111110110111011110000110001" * 12345654321.to_s(8\) #=> "133766736061" * 12345654321.to_s(16\) #=> "2dfdbbc31" * 78546939656932.to_s(36\) #=> "rubyrules" */) directive(static) ident(VALUE) ident(rb_big_to_s)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(x)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(b)operator(;) pre_type(int) ident(base)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(b)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) ident(base) operator(=) integer(10)operator(;) reserved(else) ident(base) operator(=) ident(NUM2INT)operator(()ident(b)operator(\);) reserved(return) ident(rb_big2str)operator(()ident(x)operator(,) ident(base)operator(\);) operator(}) directive(static) pre_type(unsigned) pre_type(long) ident(big2ulong)operator(()ident(x)operator(,) ident(type)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(char) operator(*)ident(type)operator(;) operator({) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(BDIGIT_DBL) ident(num)operator(;) ident(BDIGIT) operator(*)ident(ds)operator(;) reserved(if) operator(()ident(len) operator(>) ident(SIZEOF_LONG)operator(/)ident(SIZEOF_BDIGITS)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(type)operator(\);) ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(num) operator(=) integer(0)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(num) operator(=) ident(BIGUP)operator(()ident(num)operator(\);) ident(num) operator(+=) ident(ds)operator([)ident(len)operator(];) operator(}) reserved(return) ident(num)operator(;) operator(}) pre_type(unsigned) pre_type(long) ident(rb_big2ulong_pack)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(unsigned) pre_type(long) ident(num) operator(=) ident(big2ulong)operator(()ident(x)operator(,) stringoperator(\);) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) reserved(return) operator(-)ident(num)operator(;) operator(}) reserved(return) ident(num)operator(;) operator(}) pre_type(unsigned) pre_type(long) ident(rb_big2ulong)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(unsigned) pre_type(long) ident(num) operator(=) ident(big2ulong)operator(()ident(x)operator(,) stringoperator(\);) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) reserved(if) operator((()pre_type(long)operator(\))ident(num) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) reserved(return) operator(-)ident(num)operator(;) operator(}) reserved(return) ident(num)operator(;) operator(}) pre_type(long) ident(rb_big2long)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(unsigned) pre_type(long) ident(num) operator(=) ident(big2ulong)operator(()ident(x)operator(,) stringoperator(\);) reserved(if) operator((()pre_type(long)operator(\))ident(num) operator(<) integer(0) operator(&&) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(||) operator(()pre_type(long)operator(\))ident(num) operator(!=) ident(LONG_MIN)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) reserved(return) operator(-()pre_type(long)operator(\))ident(num)operator(;) reserved(return) ident(num)operator(;) operator(}) preprocessor(#if) ident(HAVE_LONG_LONG) directive(static) pre_type(unsigned) ident(LONG_LONG) ident(big2ull)operator(()ident(x)operator(,) ident(type)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(char) operator(*)ident(type)operator(;) operator({) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(BDIGIT_DBL) ident(num)operator(;) ident(BDIGIT) operator(*)ident(ds)operator(;) reserved(if) operator(()ident(len) operator(>) ident(SIZEOF_LONG_LONG)operator(/)ident(SIZEOF_BDIGITS)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(type)operator(\);) ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(num) operator(=) integer(0)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(num) operator(=) ident(BIGUP)operator(()ident(num)operator(\);) ident(num) operator(+=) ident(ds)operator([)ident(len)operator(];) operator(}) reserved(return) ident(num)operator(;) operator(}) pre_type(unsigned) ident(LONG_LONG) ident(rb_big2ull)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(unsigned) ident(LONG_LONG) ident(num) operator(=) ident(big2ull)operator(()ident(x)operator(,) stringoperator(\);) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) reserved(return) operator(-)ident(num)operator(;) reserved(return) ident(num)operator(;) operator(}) ident(LONG_LONG) ident(rb_big2ll)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(unsigned) ident(LONG_LONG) ident(num) operator(=) ident(big2ull)operator(()ident(x)operator(,) stringoperator(\);) reserved(if) operator((()ident(LONG_LONG)operator(\))ident(num) operator(<) integer(0) operator(&&) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(||) operator(()ident(LONG_LONG)operator(\))ident(num) operator(!=) ident(LLONG_MIN)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) reserved(return) operator(-()ident(LONG_LONG)operator(\))ident(num)operator(;) reserved(return) ident(num)operator(;) operator(}) preprocessor(#endif) comment(/* HAVE_LONG_LONG */) directive(static) ident(VALUE) ident(dbl2big)operator(()ident(d)operator(\)) pre_type(double) ident(d)operator(;) operator({) pre_type(long) ident(i) operator(=) integer(0)operator(;) ident(BDIGIT) ident(c)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) ident(VALUE) ident(z)operator(;) pre_type(double) ident(u) operator(=) operator(()ident(d) operator(<) integer(0)operator(\)?-)ident(d)operator(:)ident(d)operator(;) reserved(if) operator(()ident(isinf)operator(()ident(d)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eFloatDomainError)operator(,) ident(d) operator(<) integer(0) operator(?) string operator(:) stringoperator(\);) operator(}) reserved(if) operator(()ident(isnan)operator(()ident(d)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eFloatDomainError)operator(,) stringoperator(\);) operator(}) reserved(while) operator((!)ident(POSFIXABLE)operator(()ident(u)operator(\)) operator(||) integer(0) operator(!=) operator(()pre_type(long)operator(\))ident(u)operator(\)) operator({) ident(u) operator(/=) operator(()pre_type(double)operator(\)()ident(BIGRAD)operator(\);) ident(i)operator(++;) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(i)operator(,) ident(d)operator(>=)integer(0)operator(\);) ident(digits) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(while) operator(()ident(i)operator(--\)) operator({) ident(u) operator(*=) ident(BIGRAD)operator(;) ident(c) operator(=) operator(()ident(BDIGIT)operator(\))ident(u)operator(;) ident(u) operator(-=) ident(c)operator(;) ident(digits)operator([)ident(i)operator(]) operator(=) ident(c)operator(;) operator(}) reserved(return) ident(z)operator(;) operator(}) ident(VALUE) ident(rb_dbl2big)operator(()ident(d)operator(\)) pre_type(double) ident(d)operator(;) operator({) reserved(return) ident(bignorm)operator(()ident(dbl2big)operator(()ident(d)operator(\)\);) operator(}) pre_type(double) ident(rb_big2dbl)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(double) ident(d) operator(=) float(0)float(.0)operator(;) pre_type(long) ident(i) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(BDIGIT) operator(*)ident(ds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) reserved(while) operator(()ident(i)operator(--\)) operator({) ident(d) operator(=) ident(ds)operator([)ident(i)operator(]) operator(+) ident(BIGRAD)operator(*)ident(d)operator(;) operator(}) reserved(if) operator(()ident(isinf)operator(()ident(d)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(d) operator(=) ident(HUGE_VAL)operator(;) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) ident(d) operator(=) operator(-)ident(d)operator(;) reserved(return) ident(d)operator(;) operator(}) comment(/* * call-seq: * big.to_f -> float * * Converts big to a Float. If big doesn't * fit in a Float, the result is infinity. * */) directive(static) ident(VALUE) ident(rb_big_to_f)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) reserved(return) ident(rb_float_new)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\)\);) operator(}) comment(/* * call-seq: * big <=> numeric => -1, 0, +1 * * Comparison---Returns -1, 0, or +1 depending on whether big is * less than, equal to, or greater than numeric. This is the * basis for the tests in Comparable. * */) directive(static) ident(VALUE) ident(rb_big_cmp)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(xlen) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) operator({) pre_type(double) ident(a) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isinf)operator(()ident(a)operator(\)\)) operator({) reserved(if) operator(()ident(a) operator(>) float(0)float(.0)operator(\)) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) reserved(return) ident(rb_dbl_cmp)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\),) ident(a)operator(\);) operator(}) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_cmp)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(>) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(<) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(if) operator(()ident(xlen) operator(<) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) reserved(return) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator(?) ident(INT2FIX)operator((-)integer(1)operator(\)) operator(:) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(if) operator(()ident(xlen) operator(>) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) reserved(return) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator(?) ident(INT2FIX)operator(()integer(1)operator(\)) operator(:) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(while)operator(()ident(xlen)operator(--) operator(&&) operator(()ident(BDIGITS)operator(()ident(x)operator(\)[)ident(xlen)operator(]==)ident(BDIGITS)operator(()ident(y)operator(\)[)ident(xlen)operator(]\)\);) reserved(if) operator((-)integer(1) operator(==) ident(xlen)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(return) operator(()ident(BDIGITS)operator(()ident(x)operator(\)[)ident(xlen)operator(]) operator(>) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(xlen)operator(]\)) operator(?) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(?) ident(INT2FIX)operator(()integer(1)operator(\)) operator(:) ident(INT2FIX)operator((-)integer(1)operator(\)\)) operator(:) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(?) ident(INT2FIX)operator((-)integer(1)operator(\)) operator(:) ident(INT2FIX)operator(()integer(1)operator(\)\);) operator(}) comment(/* * call-seq: * big == obj => true or false * * Returns true only if obj has the same value * as big. Contrast this with Bignum#eql?, which * requires obj to be a Bignum. * * 68719476736 == 68719476736.0 #=> true */) directive(static) ident(VALUE) ident(rb_big_eq)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) operator({) directive(volatile) pre_type(double) ident(a)operator(,) ident(b)operator(;) ident(a) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(x)operator(\);) reserved(return) operator(()ident(a) operator(==) ident(b)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) reserved(default)operator(:) reserved(return) ident(rb_equal)operator(()ident(y)operator(,) ident(x)operator(\);) operator(}) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(!=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(!=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(MEMCMP)operator(()ident(BDIGITS)operator(()ident(x)operator(\),)ident(BDIGITS)operator(()ident(y)operator(\),)ident(BDIGIT)operator(,)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator(!=) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * big.eql?(obj\) => true or false * * Returns true only if obj is a * Bignum with the same value as big. Contrast this * with Bignum#==, which performs type conversions. * * 68719476736.eql?(68719476736.0\) #=> false */) directive(static) ident(VALUE) ident(rb_big_eql)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(!=) ident(T_BIGNUM)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(!=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(!=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(MEMCMP)operator(()ident(BDIGITS)operator(()ident(x)operator(\),)ident(BDIGITS)operator(()ident(y)operator(\),)ident(BDIGIT)operator(,)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator(!=) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * -big => other_big * * Unary minus (returns a new Bignum whose value is 0-big\) */) directive(static) ident(VALUE) ident(rb_big_uminus)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(z) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign) operator(=) operator(!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(;) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * ~big => integer * * Inverts the bits in big. As Bignums are conceptually infinite * length, the result acts as if it had an infinite number of one * bits to the left. In hex representations, this is displayed * as two periods to the left of the digits. * * sprintf("%X", ~0x1122334455\) #=> "..FEEDDCCBBAA" */) directive(static) ident(VALUE) ident(rb_big_neg)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(z) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) pre_type(long) ident(i)operator(;) ident(BDIGIT) operator(*)ident(ds)operator(;) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) ident(get2comp)operator(()ident(z)operator(\);) ident(ds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) ident(i) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) reserved(if) operator((!)ident(i)operator(\)) reserved(return) ident(INT2FIX)operator((~)integer(0)operator(\);) reserved(while) operator(()ident(i)operator(--\)) ident(ds)operator([)ident(i)operator(]) operator(=) operator(~)ident(ds)operator([)ident(i)operator(];) ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign) operator(=) operator(!)ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign)operator(;) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) ident(get2comp)operator(()ident(z)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) directive(static) ident(VALUE) ident(bigsub)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(z) operator(=) integer(0)operator(;) ident(BDIGIT) operator(*)ident(zds)operator(;) ident(BDIGIT_DBL_SIGNED) ident(num)operator(;) pre_type(long) ident(i) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) comment(/* if x is larger than y, swap */) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(<) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator({) ident(z) operator(=) ident(x)operator(;) ident(x) operator(=) ident(y)operator(;) ident(y) operator(=) ident(z)operator(;) comment(/* swap x y */) operator(}) reserved(else) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(==) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator({) reserved(while) operator(()ident(i) operator(>) integer(0)operator(\)) operator({) ident(i)operator(--;) reserved(if) operator(()ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(]) operator(>) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(i)operator(]\)) operator({) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(]) operator(<) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(i)operator(]\)) operator({) ident(z) operator(=) ident(x)operator(;) ident(x) operator(=) ident(y)operator(;) ident(y) operator(=) ident(z)operator(;) comment(/* swap x y */) reserved(break)operator(;) operator(}) operator(}) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(,) ident(z)operator(==)integer(0)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(,) ident(num) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(num) operator(+=) operator(()ident(BDIGIT_DBL_SIGNED)operator(\))ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(]) operator(-) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(i)operator(];) ident(zds)operator([)ident(i)operator(]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) reserved(while) operator(()ident(num) operator(&&) ident(i) operator(<) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\)) operator({) ident(num) operator(+=) ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(];) ident(zds)operator([)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) reserved(while) operator(()ident(i) operator(<) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(];) ident(i)operator(++;) operator(}) reserved(return) ident(z)operator(;) operator(}) directive(static) ident(VALUE) ident(bigadd)operator(()ident(x)operator(,) ident(y)operator(,) ident(sign)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) pre_type(int) ident(sign)operator(;) operator({) ident(VALUE) ident(z)operator(;) ident(BDIGIT_DBL) ident(num)operator(;) pre_type(long) ident(i)operator(,) ident(len)operator(;) ident(sign) operator(=) operator(()ident(sign) operator(==) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\);) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(!=) ident(sign)operator(\)) operator({) reserved(if) operator(()ident(sign)operator(\)) reserved(return) ident(bigsub)operator(()ident(y)operator(,) ident(x)operator(\);) reserved(return) ident(bigsub)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(>) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator({) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(+) integer(1)operator(;) ident(z) operator(=) ident(x)operator(;) ident(x) operator(=) ident(y)operator(;) ident(y) operator(=) ident(z)operator(;) operator(}) reserved(else) operator({) ident(len) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len) operator(+) integer(1)operator(;) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(len)operator(,) ident(sign)operator(\);) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(,) ident(num) operator(=) integer(0)operator(;) ident(i) operator(<) ident(len)operator(;) ident(i)operator(++\)) operator({) ident(num) operator(+=) operator(()ident(BDIGIT_DBL)operator(\))ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(]) operator(+) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(i)operator(];) ident(BDIGITS)operator(()ident(z)operator(\)[)ident(i)operator(]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) ident(len) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(num) operator(&&) ident(i) operator(<) ident(len)operator(\)) operator({) ident(num) operator(+=) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(i)operator(];) ident(BDIGITS)operator(()ident(z)operator(\)[)ident(i)operator(++]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) reserved(while) operator(()ident(i) operator(<) ident(len)operator(\)) operator({) ident(BDIGITS)operator(()ident(z)operator(\)[)ident(i)operator(]) operator(=) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(i)operator(];) ident(i)operator(++;) operator(}) ident(BDIGITS)operator(()ident(z)operator(\)[)ident(i)operator(]) operator(=) operator(()ident(BDIGIT)operator(\))ident(num)operator(;) reserved(return) ident(z)operator(;) operator(}) comment(/* * call-seq: * big + other => Numeric * * Adds big and other, returning the result. */) ident(VALUE) ident(rb_big_plus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) comment(/* fall through */) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(bignorm)operator(()ident(bigadd)operator(()ident(x)operator(,) ident(y)operator(,) integer(1)operator(\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\)) operator(+) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * big - other => Numeric * * Subtracts other from big, returning the result. */) ident(VALUE) ident(rb_big_minus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) comment(/* fall through */) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(bignorm)operator(()ident(bigadd)operator(()ident(x)operator(,) ident(y)operator(,) integer(0)operator(\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\)) operator(-) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) ident(VALUE) ident(rb_big_mul0)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(j)operator(;) ident(BDIGIT_DBL) ident(n) operator(=) integer(0)operator(;) ident(VALUE) ident(z)operator(;) ident(BDIGIT) operator(*)ident(zds)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)\)) ident(x) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(x)operator(\)\);) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\)) operator(*) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(j) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(+) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len) operator(+) integer(1)operator(;) ident(z) operator(=) ident(bignew)operator(()ident(j)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(==)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(while) operator(()ident(j)operator(--\)) ident(zds)operator([)ident(j)operator(]) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(BDIGIT_DBL) ident(dd) operator(=) ident(BDIGITS)operator(()ident(x)operator(\)[)ident(i)operator(];) reserved(if) operator(()ident(dd) operator(==) integer(0)operator(\)) reserved(continue)operator(;) ident(n) operator(=) integer(0)operator(;) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(j) operator(<) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(j)operator(++\)) operator({) ident(BDIGIT_DBL) ident(ee) operator(=) ident(n) operator(+) operator(()ident(BDIGIT_DBL)operator(\))ident(dd) operator(*) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(j)operator(];) ident(n) operator(=) ident(zds)operator([)ident(i) operator(+) ident(j)operator(]) operator(+) ident(ee)operator(;) reserved(if) operator(()ident(ee)operator(\)) ident(zds)operator([)ident(i) operator(+) ident(j)operator(]) operator(=) ident(BIGLO)operator(()ident(n)operator(\);) ident(n) operator(=) ident(BIGDN)operator(()ident(n)operator(\);) operator(}) reserved(if) operator(()ident(n)operator(\)) operator({) ident(zds)operator([)ident(i) operator(+) ident(j)operator(]) operator(=) ident(n)operator(;) operator(}) operator(}) reserved(return) ident(z)operator(;) operator(}) comment(/* * call-seq: * big * other => Numeric * * Multiplies big and other, returning the result. */) ident(VALUE) ident(rb_big_mul)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(bignorm)operator(()ident(rb_big_mul0)operator(()ident(x)operator(,) ident(y)operator(\)\);) operator(}) directive(static) directive(void) ident(bigdivrem)operator(()ident(x)operator(,) ident(y)operator(,) ident(divp)operator(,) ident(modp)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) ident(VALUE) operator(*)ident(divp)operator(,) operator(*)ident(modp)operator(;) operator({) pre_type(long) ident(nx) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(,) ident(ny) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) pre_type(long) ident(i)operator(,) ident(j)operator(;) ident(VALUE) ident(yy)operator(,) ident(z)operator(;) ident(BDIGIT) operator(*)ident(xds)operator(,) operator(*)ident(yds)operator(,) operator(*)ident(zds)operator(,) operator(*)ident(tds)operator(;) ident(BDIGIT_DBL) ident(t2)operator(;) ident(BDIGIT_DBL_SIGNED) ident(num)operator(;) ident(BDIGIT) ident(dd)operator(,) ident(q)operator(;) reserved(if) operator(()ident(BIGZEROP)operator(()ident(y)operator(\)\)) ident(rb_num_zerodiv)operator((\);) ident(yds) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) reserved(if) operator(()ident(nx) operator(<) ident(ny) operator(||) operator(()ident(nx) operator(==) ident(ny) operator(&&) ident(BDIGITS)operator(()ident(x)operator(\)[)ident(nx) operator(-) integer(1)operator(]) operator(<) ident(BDIGITS)operator(()ident(y)operator(\)[)ident(ny) operator(-) integer(1)operator(]\)\)) operator({) reserved(if) operator(()ident(divp)operator(\)) operator(*)ident(divp) operator(=) ident(rb_int2big)operator(()integer(0)operator(\);) reserved(if) operator(()ident(modp)operator(\)) operator(*)ident(modp) operator(=) ident(x)operator(;) reserved(return)operator(;) operator(}) ident(xds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) reserved(if) operator(()ident(ny) operator(==) integer(1)operator(\)) operator({) ident(dd) operator(=) ident(yds)operator([)integer(0)operator(];) ident(z) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) ident(t2) operator(=) integer(0)operator(;) ident(i) operator(=) ident(nx)operator(;) reserved(while) operator(()ident(i)operator(--\)) operator({) ident(t2) operator(=) ident(BIGUP)operator(()ident(t2)operator(\)) operator(+) ident(zds)operator([)ident(i)operator(];) ident(zds)operator([)ident(i)operator(]) operator(=) operator(()ident(BDIGIT)operator(\)()ident(t2) operator(/) ident(dd)operator(\);) ident(t2) operator(%=) ident(dd)operator(;) operator(}) ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(==)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(;) reserved(if) operator(()ident(modp)operator(\)) operator({) operator(*)ident(modp) operator(=) ident(rb_uint2big)operator((()pre_type(unsigned) pre_type(long)operator(\))ident(t2)operator(\);) ident(RBIGNUM)operator((*)ident(modp)operator(\)->)ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(;) operator(}) reserved(if) operator(()ident(divp)operator(\)) operator(*)ident(divp) operator(=) ident(z)operator(;) reserved(return)operator(;) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(nx)operator(==)ident(ny)operator(?)ident(nx)operator(+)integer(2)operator(:)ident(nx)operator(+)integer(1)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(==)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(if) operator(()ident(nx)operator(==)ident(ny)operator(\)) ident(zds)operator([)ident(nx)operator(+)integer(1)operator(]) operator(=) integer(0)operator(;) reserved(while) operator((!)ident(yds)operator([)ident(ny)operator(-)integer(1)operator(]\)) ident(ny)operator(--;) ident(dd) operator(=) integer(0)operator(;) ident(q) operator(=) ident(yds)operator([)ident(ny)operator(-)integer(1)operator(];) reserved(while) operator((()ident(q) operator(&) operator(()integer(1)operator(<<()ident(BITSPERDIG)operator(-)integer(1)operator(\)\)\)) operator(==) integer(0)operator(\)) operator({) ident(q) operator(<<=) integer(1)operator(;) ident(dd)operator(++;) operator(}) reserved(if) operator(()ident(dd)operator(\)) operator({) ident(yy) operator(=) ident(rb_big_clone)operator(()ident(y)operator(\);) ident(tds) operator(=) ident(BDIGITS)operator(()ident(yy)operator(\);) ident(j) operator(=) integer(0)operator(;) ident(t2) operator(=) integer(0)operator(;) reserved(while) operator(()ident(j)operator(<)ident(ny)operator(\)) operator({) ident(t2) operator(+=) operator(()ident(BDIGIT_DBL)operator(\))ident(yds)operator([)ident(j)operator(]<<)ident(dd)operator(;) ident(tds)operator([)ident(j)operator(++]) operator(=) ident(BIGLO)operator(()ident(t2)operator(\);) ident(t2) operator(=) ident(BIGDN)operator(()ident(t2)operator(\);) operator(}) ident(yds) operator(=) ident(tds)operator(;) ident(j) operator(=) integer(0)operator(;) ident(t2) operator(=) integer(0)operator(;) reserved(while) operator(()ident(j)operator(<)ident(nx)operator(\)) operator({) ident(t2) operator(+=) operator(()ident(BDIGIT_DBL)operator(\))ident(xds)operator([)ident(j)operator(]<<)ident(dd)operator(;) ident(zds)operator([)ident(j)operator(++]) operator(=) ident(BIGLO)operator(()ident(t2)operator(\);) ident(t2) operator(=) ident(BIGDN)operator(()ident(t2)operator(\);) operator(}) ident(zds)operator([)ident(j)operator(]) operator(=) operator(()ident(BDIGIT)operator(\))ident(t2)operator(;) operator(}) reserved(else) operator({) ident(zds)operator([)ident(nx)operator(]) operator(=) integer(0)operator(;) ident(j) operator(=) ident(nx)operator(;) reserved(while) operator(()ident(j)operator(--\)) ident(zds)operator([)ident(j)operator(]) operator(=) ident(xds)operator([)ident(j)operator(];) operator(}) ident(j) operator(=) ident(nx)operator(==)ident(ny)operator(?)ident(nx)operator(+)integer(1)operator(:)ident(nx)operator(;) reserved(do) operator({) reserved(if) operator(()ident(zds)operator([)ident(j)operator(]) operator(==) ident(yds)operator([)ident(ny)operator(-)integer(1)operator(]\)) ident(q) operator(=) ident(BIGRAD)operator(-)integer(1)operator(;) reserved(else) ident(q) operator(=) operator(()ident(BDIGIT)operator(\)(()ident(BIGUP)operator(()ident(zds)operator([)ident(j)operator(]\)) operator(+) ident(zds)operator([)ident(j)operator(-)integer(1)operator(]\))operator(/)ident(yds)operator([)ident(ny)operator(-)integer(1)operator(]\);) reserved(if) operator(()ident(q)operator(\)) operator({) ident(i) operator(=) integer(0)operator(;) ident(num) operator(=) integer(0)operator(;) ident(t2) operator(=) integer(0)operator(;) reserved(do) operator({) comment(/* multiply and subtract */) ident(BDIGIT_DBL) ident(ee)operator(;) ident(t2) operator(+=) operator(()ident(BDIGIT_DBL)operator(\))ident(yds)operator([)ident(i)operator(]) operator(*) ident(q)operator(;) ident(ee) operator(=) ident(num) operator(-) ident(BIGLO)operator(()ident(t2)operator(\);) ident(num) operator(=) operator(()ident(BDIGIT_DBL)operator(\))ident(zds)operator([)ident(j) operator(-) ident(ny) operator(+) ident(i)operator(]) operator(+) ident(ee)operator(;) reserved(if) operator(()ident(ee)operator(\)) ident(zds)operator([)ident(j) operator(-) ident(ny) operator(+) ident(i)operator(]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) ident(t2) operator(=) ident(BIGDN)operator(()ident(t2)operator(\);) operator(}) reserved(while) operator((++)ident(i) operator(<) ident(ny)operator(\);) ident(num) operator(+=) ident(zds)operator([)ident(j) operator(-) ident(ny) operator(+) ident(i)operator(]) operator(-) ident(t2)operator(;)comment(/* borrow from high digit; don't update */) reserved(while) operator(()ident(num)operator(\)) operator({) comment(/* "add back" required */) ident(i) operator(=) integer(0)operator(;) ident(num) operator(=) integer(0)operator(;) ident(q)operator(--;) reserved(do) operator({) ident(BDIGIT_DBL) ident(ee) operator(=) ident(num) operator(+) ident(yds)operator([)ident(i)operator(];) ident(num) operator(=) operator(()ident(BDIGIT_DBL)operator(\))ident(zds)operator([)ident(j) operator(-) ident(ny) operator(+) ident(i)operator(]) operator(+) ident(ee)operator(;) reserved(if) operator(()ident(ee)operator(\)) ident(zds)operator([)ident(j) operator(-) ident(ny) operator(+) ident(i)operator(]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) reserved(while) operator((++)ident(i) operator(<) ident(ny)operator(\);) ident(num)operator(--;) operator(}) operator(}) ident(zds)operator([)ident(j)operator(]) operator(=) ident(q)operator(;) operator(}) reserved(while) operator((--)ident(j) operator(>=) ident(ny)operator(\);) reserved(if) operator(()ident(divp)operator(\)) operator({) comment(/* move quotient down in z */) operator(*)ident(divp) operator(=) ident(rb_big_clone)operator(()ident(z)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator((*)ident(divp)operator(\);) ident(j) operator(=) operator(()ident(nx)operator(==)ident(ny) operator(?) ident(nx)operator(+)integer(2) operator(:) ident(nx)operator(+)integer(1)operator(\)) operator(-) ident(ny)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;)ident(i) operator(<) ident(j)operator(;)ident(i)operator(++\)) ident(zds)operator([)ident(i)operator(]) operator(=) ident(zds)operator([)ident(i)operator(+)ident(ny)operator(];) ident(RBIGNUM)operator((*)ident(divp)operator(\)->)ident(len) operator(=) ident(i)operator(;) operator(}) reserved(if) operator(()ident(modp)operator(\)) operator({) comment(/* normalize remainder */) operator(*)ident(modp) operator(=) ident(rb_big_clone)operator(()ident(z)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator((*)ident(modp)operator(\);) reserved(while) operator((--)ident(ny) operator(&&) operator(!)ident(zds)operator([)ident(ny)operator(]\);) operator(++)ident(ny)operator(;) reserved(if) operator(()ident(dd)operator(\)) operator({) ident(t2) operator(=) integer(0)operator(;) ident(i) operator(=) ident(ny)operator(;) reserved(while)operator(()ident(i)operator(--\)) operator({) ident(t2) operator(=) operator(()ident(t2) operator(|) ident(zds)operator([)ident(i)operator(]\)) operator(>>) ident(dd)operator(;) ident(q) operator(=) ident(zds)operator([)ident(i)operator(];) ident(zds)operator([)ident(i)operator(]) operator(=) ident(BIGLO)operator(()ident(t2)operator(\);) ident(t2) operator(=) ident(BIGUP)operator(()ident(q)operator(\);) operator(}) operator(}) ident(RBIGNUM)operator((*)ident(modp)operator(\)->)ident(len) operator(=) ident(ny)operator(;) ident(RBIGNUM)operator((*)ident(modp)operator(\)->)ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(;) operator(}) operator(}) directive(static) directive(void) ident(bigdivmod)operator(()ident(x)operator(,) ident(y)operator(,) ident(divp)operator(,) ident(modp)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) ident(VALUE) operator(*)ident(divp)operator(,) operator(*)ident(modp)operator(;) operator({) ident(VALUE) ident(mod)operator(;) ident(bigdivrem)operator(()ident(x)operator(,) ident(y)operator(,) ident(divp)operator(,) operator(&)ident(mod)operator(\);) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(!=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign) operator(&&) operator(!)ident(BIGZEROP)operator(()ident(mod)operator(\)\)) operator({) reserved(if) operator(()ident(divp)operator(\)) operator(*)ident(divp) operator(=) ident(bigadd)operator((*)ident(divp)operator(,) ident(rb_int2big)operator(()integer(1)operator(\),) integer(0)operator(\);) reserved(if) operator(()ident(modp)operator(\)) operator(*)ident(modp) operator(=) ident(bigadd)operator(()ident(mod)operator(,) ident(y)operator(,) integer(1)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(divp)operator(\)) operator(*)ident(divp) operator(=) operator(*)ident(divp)operator(;) reserved(if) operator(()ident(modp)operator(\)) operator(*)ident(modp) operator(=) ident(mod)operator(;) operator(}) operator(}) comment(/* * call-seq: * big / other => Numeric * big.div(other\) => Numeric * * Divides big by other, returning the result. */) directive(static) ident(VALUE) ident(rb_big_div)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(z)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\)) operator(/) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(bigdivmod)operator(()ident(x)operator(,) ident(y)operator(,) operator(&)ident(z)operator(,) integer(0)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * big % other => Numeric * big.modulo(other\) => Numeric * * Returns big modulo other. See Numeric.divmod for more * information. */) directive(static) ident(VALUE) ident(rb_big_modulo)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(z)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(bigdivmod)operator(()ident(x)operator(,) ident(y)operator(,) integer(0)operator(,) operator(&)ident(z)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * big.remainder(numeric\) => number * * Returns the remainder after dividing big by numeric. * * -1234567890987654321.remainder(13731\) #=> -6966 * -1234567890987654321.remainder(13731.24\) #=> -9906.22531493148 */) directive(static) ident(VALUE) ident(rb_big_remainder)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(z)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(bigdivrem)operator(()ident(x)operator(,) ident(y)operator(,) integer(0)operator(,) operator(&)ident(z)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) directive(static) ident(VALUE) ident(big_lshift) ident(_)operator((()ident(VALUE)operator(,) pre_type(unsigned) pre_type(long)operator(\)\);) directive(static) ident(VALUE) ident(big_rshift) ident(_)operator((()ident(VALUE)operator(,) pre_type(unsigned) pre_type(long)operator(\)\);) directive(static) ident(VALUE) ident(big_shift)operator(()ident(x)operator(,) ident(n)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(int) ident(n)operator(;) operator({) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) reserved(return) ident(big_lshift)operator(()ident(x)operator(,) operator(()pre_type(unsigned) pre_type(int)operator(\))ident(n)operator(\);) reserved(else) reserved(if) operator(()ident(n) operator(>) integer(0)operator(\)) reserved(return) ident(big_rshift)operator(()ident(x)operator(,) operator(()pre_type(unsigned) pre_type(int)operator(\))ident(n)operator(\);) reserved(return) ident(x)operator(;) operator(}) comment(/* * call-seq: * big.divmod(numeric\) => array * * See Numeric#divmod. * */) ident(VALUE) ident(rb_big_divmod)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(div)operator(,) ident(mod)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(bigdivmod)operator(()ident(x)operator(,) ident(y)operator(,) operator(&)ident(div)operator(,) operator(&)ident(mod)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(bignorm)operator(()ident(div)operator(\),) ident(bignorm)operator(()ident(mod)operator(\)\);) operator(}) comment(/* * call-seq: * big.quo(numeric\) -> float * * Returns the floating point result of dividing big by * numeric. * * -1234567890987654321.quo(13731\) #=> -89910996357705.5 * -1234567890987654321.quo(13731.24\) #=> -89909424858035.7 * */) directive(static) ident(VALUE) ident(rb_big_quo)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(dx) operator(=) ident(rb_big2dbl)operator(()ident(x)operator(\);) pre_type(double) ident(dy)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(dy) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(dy) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(dy) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(return) ident(rb_float_new)operator(()ident(dx) operator(/) ident(dy)operator(\);) operator(}) comment(/* * call-seq: * big ** exponent #=> numeric * * Raises _big_ to the _exponent_ power (which may be an integer, float, * or anything that will coerce to a number\). The result may be * a Fixnum, Bignum, or Float * * 123456789 ** 2 #=> 15241578750190521 * 123456789 ** 1.2 #=> 5126464716.09932 * 123456789 ** -2 #=> 6.5610001194102e-17 */) ident(VALUE) ident(rb_big_pow)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(d)operator(;) pre_type(long) ident(yy)operator(;) reserved(if) operator(()ident(y) operator(==) ident(INT2FIX)operator(()integer(0)operator(\)\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) ident(d) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(rb_warn)operator(()stringoperator(\);) ident(d) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FIXNUM)operator(:) ident(yy) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(yy) operator(>) integer(0)operator(\)) operator({) ident(VALUE) ident(z) operator(=) ident(x)operator(;) directive(const) pre_type(long) ident(BIGLEN_LIMIT) operator(=) integer(1024)operator(*)integer(1024) operator(/) ident(SIZEOF_BDIGITS)operator(;) reserved(if) operator((()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(>) ident(BIGLEN_LIMIT)operator(\)) operator(||) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(>) ident(BIGLEN_LIMIT) operator(/) ident(yy)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(d) operator(=) operator(()pre_type(double)operator(\))ident(yy)operator(;) reserved(break)operator(;) operator(}) reserved(for) operator((;;\)) operator({) ident(yy) operator(-=) integer(1)operator(;) reserved(if) operator(()ident(yy) operator(==) integer(0)operator(\)) reserved(break)operator(;) reserved(while) operator(()ident(yy) operator(%) integer(2) operator(==) integer(0)operator(\)) operator({) ident(yy) operator(/=) integer(2)operator(;) ident(x) operator(=) ident(rb_big_mul0)operator(()ident(x)operator(,) ident(x)operator(\);) ident(bigtrunc)operator(()ident(x)operator(\);) operator(}) ident(z) operator(=) ident(rb_big_mul0)operator(()ident(z)operator(,) ident(x)operator(\);) ident(bigtrunc)operator(()ident(z)operator(\);) operator(}) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) ident(d) operator(=) operator(()pre_type(double)operator(\))ident(yy)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(return) ident(rb_float_new)operator(()ident(pow)operator(()ident(rb_big2dbl)operator(()ident(x)operator(\),) ident(d)operator(\)\);) operator(}) comment(/* * call-seq: * big & numeric => integer * * Performs bitwise +and+ between _big_ and _numeric_. */) ident(VALUE) ident(rb_big_and)operator(()ident(xx)operator(,) ident(yy)operator(\)) ident(VALUE) ident(xx)operator(,) ident(yy)operator(;) operator({) directive(volatile) ident(VALUE) ident(x)operator(,) ident(y)operator(,) ident(z)operator(;) ident(BDIGIT) operator(*)ident(ds1)operator(,) operator(*)ident(ds2)operator(,) operator(*)ident(zds)operator(;) pre_type(long) ident(i)operator(,) ident(l1)operator(,) ident(l2)operator(;) pre_type(char) ident(sign)operator(;) ident(x) operator(=) ident(xx)operator(;) ident(y) operator(=) ident(rb_to_int)operator(()ident(yy)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) operator({) ident(y) operator(=) ident(rb_big_clone)operator(()ident(y)operator(\);) ident(get2comp)operator(()ident(y)operator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(x) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(get2comp)operator(()ident(x)operator(\);) operator(}) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(>) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator({) ident(l1) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(l2) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(ds1) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) ident(ds2) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(;) operator(}) reserved(else) operator({) ident(l1) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(l2) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(ds1) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(ds2) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(;) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(l2)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(||) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(l1)operator(;) ident(i)operator(++\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(ds1)operator([)ident(i)operator(]) operator(&) ident(ds2)operator([)ident(i)operator(];) operator(}) reserved(for) operator((;) ident(i)operator(<)ident(l2)operator(;) ident(i)operator(++\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(sign)operator(?)integer(0)operator(:)ident(ds2)operator([)ident(i)operator(];) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign)operator(\)) ident(get2comp)operator(()ident(z)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * big | numeric => integer * * Performs bitwise +or+ between _big_ and _numeric_. */) ident(VALUE) ident(rb_big_or)operator(()ident(xx)operator(,) ident(yy)operator(\)) ident(VALUE) ident(xx)operator(,) ident(yy)operator(;) operator({) directive(volatile) ident(VALUE) ident(x)operator(,) ident(y)operator(,) ident(z)operator(;) ident(BDIGIT) operator(*)ident(ds1)operator(,) operator(*)ident(ds2)operator(,) operator(*)ident(zds)operator(;) pre_type(long) ident(i)operator(,) ident(l1)operator(,) ident(l2)operator(;) pre_type(char) ident(sign)operator(;) ident(x) operator(=) ident(xx)operator(;) ident(y) operator(=) ident(rb_to_int)operator(()ident(yy)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) operator({) ident(y) operator(=) ident(rb_big_clone)operator(()ident(y)operator(\);) ident(get2comp)operator(()ident(y)operator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(x) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(get2comp)operator(()ident(x)operator(\);) operator(}) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(>) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator({) ident(l1) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(l2) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(ds1) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) ident(ds2) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(;) operator(}) reserved(else) operator({) ident(l1) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(l2) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(ds1) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(ds2) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(;) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(l2)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(&&) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(l1)operator(;) ident(i)operator(++\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(ds1)operator([)ident(i)operator(]) operator(|) ident(ds2)operator([)ident(i)operator(];) operator(}) reserved(for) operator((;) ident(i)operator(<)ident(l2)operator(;) ident(i)operator(++\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(sign)operator(?)ident(ds2)operator([)ident(i)operator(]:()ident(BIGRAD)operator(-)integer(1)operator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign)operator(\)) ident(get2comp)operator(()ident(z)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * big ^ numeric => integer * * Performs bitwise +exclusive or+ between _big_ and _numeric_. */) ident(VALUE) ident(rb_big_xor)operator(()ident(xx)operator(,) ident(yy)operator(\)) ident(VALUE) ident(xx)operator(,) ident(yy)operator(;) operator({) directive(volatile) ident(VALUE) ident(x)operator(,) ident(y)operator(;) ident(VALUE) ident(z)operator(;) ident(BDIGIT) operator(*)ident(ds1)operator(,) operator(*)ident(ds2)operator(,) operator(*)ident(zds)operator(;) pre_type(long) ident(i)operator(,) ident(l1)operator(,) ident(l2)operator(;) pre_type(char) ident(sign)operator(;) ident(x) operator(=) ident(xx)operator(;) ident(y) operator(=) ident(rb_to_int)operator(()ident(yy)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) ident(y) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) operator({) ident(y) operator(=) ident(rb_big_clone)operator(()ident(y)operator(\);) ident(get2comp)operator(()ident(y)operator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(x) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(get2comp)operator(()ident(x)operator(\);) operator(}) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len) operator(>) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(\)) operator({) ident(l1) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(l2) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(ds1) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) ident(ds2) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(;) operator(}) reserved(else) operator({) ident(l1) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(l2) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len)operator(;) ident(ds1) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(ds2) operator(=) ident(BDIGITS)operator(()ident(y)operator(\);) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(;) operator(}) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(?)integer(1)operator(:)integer(0)operator(;) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign) operator(=) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(?)integer(1)operator(:)integer(0)operator(;) ident(z) operator(=) ident(bignew)operator(()ident(l2)operator(,) operator(!()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(^) ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(l1)operator(;) ident(i)operator(++\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(ds1)operator([)ident(i)operator(]) operator(^) ident(ds2)operator([)ident(i)operator(];) operator(}) reserved(for) operator((;) ident(i)operator(<)ident(l2)operator(;) ident(i)operator(++\)) operator({) ident(zds)operator([)ident(i)operator(]) operator(=) ident(sign)operator(?)ident(ds2)operator([)ident(i)operator(]:~)ident(ds2)operator([)ident(i)operator(];) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(z)operator(\)->)ident(sign)operator(\)) ident(get2comp)operator(()ident(z)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) directive(static) ident(VALUE) ident(check_shiftdown)operator(()ident(VALUE) ident(y)operator(,) ident(VALUE) ident(x)operator(\)) operator({) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(len) operator(>) ident(SIZEOF_LONG) operator(/) ident(SIZEOF_BDIGITS)operator(\)) operator({) reserved(return) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(?) ident(INT2FIX)operator(()integer(0)operator(\)) operator(:) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * big << numeric => integer * * Shifts big left _numeric_ positions (right if _numeric_ is negative\). */) ident(VALUE) ident(rb_big_lshift)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(shift)operator(;) pre_type(int) ident(neg) operator(=) integer(0)operator(;) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) ident(shift) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(shift) operator(<) integer(0)operator(\)) operator({) ident(neg) operator(=) integer(1)operator(;) ident(shift) operator(=) operator(-)ident(shift)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) operator({) ident(VALUE) ident(t) operator(=) ident(check_shiftdown)operator(()ident(y)operator(,) ident(x)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(t)operator(\)\)) reserved(return) ident(t)operator(;) ident(neg) operator(=) integer(1)operator(;) operator(}) ident(shift) operator(=) ident(big2ulong)operator(()ident(y)operator(,) stringoperator(,) ident(Qtrue)operator(\);) reserved(break)operator(;) operator(}) ident(y) operator(=) ident(rb_to_int)operator(()ident(y)operator(\);) operator(}) reserved(if) operator(()ident(neg)operator(\)) reserved(return) ident(big_rshift)operator(()ident(x)operator(,) ident(shift)operator(\);) reserved(return) ident(big_lshift)operator(()ident(x)operator(,) ident(shift)operator(\);) operator(}) directive(static) ident(VALUE) ident(big_lshift)operator(()ident(x)operator(,) ident(shift)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(unsigned) pre_type(long) ident(shift)operator(;) operator({) ident(BDIGIT) operator(*)ident(xds)operator(,) operator(*)ident(zds)operator(;) pre_type(long) ident(s1) operator(=) ident(shift)operator(/)ident(BITSPERDIG)operator(;) pre_type(int) ident(s2) operator(=) ident(shift)operator(%)ident(BITSPERDIG)operator(;) ident(VALUE) ident(z)operator(;) ident(BDIGIT_DBL) ident(num) operator(=) integer(0)operator(;) pre_type(long) ident(len)operator(,) ident(i)operator(;) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(z) operator(=) ident(bignew)operator(()ident(len)operator(+)ident(s1)operator(+)integer(1)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\);) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(s1)operator(;) ident(i)operator(++\)) operator({) operator(*)ident(zds)operator(++) operator(=) integer(0)operator(;) operator(}) ident(xds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(num) operator(=) ident(num) operator(|) operator(()ident(BDIGIT_DBL)operator(\)*)ident(xds)operator(++<<)ident(s2)operator(;) operator(*)ident(zds)operator(++) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) operator(*)ident(zds) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * big >> numeric => integer * * Shifts big right _numeric_ positions (left if _numeric_ is negative\). */) ident(VALUE) ident(rb_big_rshift)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(shift)operator(;) pre_type(int) ident(neg) operator(=) integer(0)operator(;) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) ident(shift) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(shift) operator(<) integer(0)operator(\)) operator({) ident(neg) operator(=) integer(1)operator(;) ident(shift) operator(=) operator(-)ident(shift)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(if) operator(()ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) operator({) ident(VALUE) ident(t) operator(=) ident(check_shiftdown)operator(()ident(y)operator(,) ident(x)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(t)operator(\)\)) reserved(return) ident(t)operator(;) operator(}) reserved(else) operator({) ident(neg) operator(=) integer(1)operator(;) operator(}) ident(shift) operator(=) ident(big2ulong)operator(()ident(y)operator(,) stringoperator(,) ident(Qtrue)operator(\);) reserved(break)operator(;) operator(}) ident(y) operator(=) ident(rb_to_int)operator(()ident(y)operator(\);) operator(}) reserved(if) operator(()ident(neg)operator(\)) reserved(return) ident(big_lshift)operator(()ident(x)operator(,) ident(shift)operator(\);) reserved(return) ident(big_rshift)operator(()ident(x)operator(,) ident(shift)operator(\);) operator(}) directive(static) ident(VALUE) ident(big_rshift)operator(()ident(x)operator(,) ident(shift)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(unsigned) pre_type(long) ident(shift)operator(;) operator({) ident(BDIGIT) operator(*)ident(xds)operator(,) operator(*)ident(zds)operator(;) pre_type(long) ident(s1) operator(=) ident(shift)operator(/)ident(BITSPERDIG)operator(;) pre_type(int) ident(s2) operator(=) ident(shift)operator(%)ident(BITSPERDIG)operator(;) ident(VALUE) ident(z)operator(;) ident(BDIGIT_DBL) ident(num) operator(=) integer(0)operator(;) pre_type(long) ident(i)operator(,) ident(j)operator(;) directive(volatile) ident(VALUE) ident(save_x)operator(;) reserved(if) operator(()ident(s1) operator(>) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\)) operator({) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(save_x) operator(=) ident(x) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(get2comp)operator(()ident(x)operator(\);) operator(}) ident(xds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(i) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) ident(j) operator(=) ident(i) operator(-) ident(s1)operator(;) reserved(if) operator(()ident(j) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) ident(z) operator(=) ident(bignew)operator(()ident(j)operator(,) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\);) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(num) operator(=) operator((()ident(BDIGIT_DBL)operator(\)~)integer(0)operator(\)) operator(<<) ident(BITSPERDIG)operator(;) operator(}) ident(zds) operator(=) ident(BDIGITS)operator(()ident(z)operator(\);) reserved(while) operator(()ident(i)operator(--,) ident(j)operator(--\)) operator({) ident(num) operator(=) operator(()ident(num) operator(|) ident(xds)operator([)ident(i)operator(]\)) operator(>>) ident(s2)operator(;) ident(zds)operator([)ident(j)operator(]) operator(=) ident(BIGLO)operator(()ident(num)operator(\);) ident(num) operator(=) ident(BIGUP)operator(()ident(xds)operator([)ident(i)operator(]\);) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(get2comp)operator(()ident(z)operator(\);) operator(}) reserved(return) ident(bignorm)operator(()ident(z)operator(\);) operator(}) comment(/* * call-seq: * big[n] -> 0, 1 * * Bit Reference---Returns the nth bit in the (assumed\) binary * representation of big, where big[0] is the least * significant bit. * * a = 9**15 * 50.downto(0\) do |n| * print a[n] * end * * produces: * * 000101110110100000111000011110010100111100010111001 * */) directive(static) ident(VALUE) ident(rb_big_aref)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(BDIGIT) operator(*)ident(xds)operator(;) ident(BDIGIT_DBL) ident(num)operator(;) pre_type(unsigned) pre_type(long) ident(shift)operator(;) pre_type(long) ident(i)operator(,) ident(s1)operator(,) ident(s2)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(y)operator(\)->)ident(sign)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(RBIGNUM)operator(()ident(bigtrunc)operator(()ident(y)operator(\)\)->)ident(len) operator(>) ident(SIZEOF_LONG)operator(/)ident(SIZEOF_BDIGITS)operator(\)) operator({) label(out_of_range:) reserved(return) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(?) ident(INT2FIX)operator(()integer(0)operator(\)) operator(:) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) ident(shift) operator(=) ident(big2ulong)operator(()ident(y)operator(,) stringoperator(,) ident(Qfalse)operator(\);) operator(}) reserved(else) operator({) ident(i) operator(=) ident(NUM2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) ident(shift) operator(=) operator(()ident(VALUE)operator(\))ident(i)operator(;) operator(}) ident(s1) operator(=) ident(shift)operator(/)ident(BITSPERDIG)operator(;) ident(s2) operator(=) ident(shift)operator(%)ident(BITSPERDIG)operator(;) reserved(if) operator(()ident(s1) operator(>=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(\)) reserved(goto) ident(out_of_range)operator(;) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(xds) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(i) operator(=) integer(0)operator(;) ident(num) operator(=) integer(1)operator(;) reserved(while) operator(()ident(num) operator(+=) operator(~)ident(xds)operator([)ident(i)operator(],) operator(++)ident(i) operator(<=) ident(s1)operator(\)) operator({) ident(num) operator(=) ident(BIGDN)operator(()ident(num)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(num) operator(=) ident(BDIGITS)operator(()ident(x)operator(\)[)ident(s1)operator(];) operator(}) reserved(if) operator(()ident(num) operator(&) operator((()ident(BDIGIT_DBL)operator(\))integer(1)operator(<<)ident(s2)operator(\)\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * big.hash => fixnum * * Compute a hash based on the value of _big_. */) directive(static) ident(VALUE) ident(rb_big_hash)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(len)operator(,) ident(key)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) ident(key) operator(=) integer(0)operator(;) ident(digits) operator(=) ident(BDIGITS)operator(()ident(x)operator(\);) ident(len) operator(=) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(len)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(key) operator(^=) operator(*)ident(digits)operator(++;) operator(}) reserved(return) ident(LONG2FIX)operator(()ident(key)operator(\);) operator(}) comment(/* * MISSING: documentation */) directive(static) ident(VALUE) ident(rb_big_coerce)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) reserved(return) ident(rb_assoc_new)operator(()ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(y)operator(\)\),) ident(x)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(return) ident(rb_assoc_new)operator(()ident(y)operator(,) ident(x)operator(\);) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(y)operator(\)\);) operator(}) comment(/* not reached */) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * big.abs -> aBignum * * Returns the absolute value of big. * * -1234567890987654321.abs #=> 1234567890987654321 */) directive(static) ident(VALUE) ident(rb_big_abs)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign)operator(\)) operator({) ident(x) operator(=) ident(rb_big_clone)operator(()ident(x)operator(\);) ident(RBIGNUM)operator(()ident(x)operator(\)->)ident(sign) operator(=) integer(1)operator(;) operator(}) reserved(return) ident(x)operator(;) operator(}) ident(VALUE) ident(rb_big_rand)operator(()ident(max)operator(,) ident(rand_buf)operator(\)) ident(VALUE) ident(max)operator(;) pre_type(double) operator(*)ident(rand_buf)operator(;) operator({) ident(VALUE) ident(v)operator(;) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(max)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(BIGZEROP)operator(()ident(max)operator(\)\)) operator({) reserved(return) ident(rb_float_new)operator(()ident(rand_buf)operator([)integer(0)operator(]\);) operator(}) ident(v) operator(=) ident(bignew)operator(()ident(len)operator(,)integer(1)operator(\);) ident(len)operator(--;) ident(BDIGITS)operator(()ident(v)operator(\)[)ident(len)operator(]) operator(=) ident(BDIGITS)operator(()ident(max)operator(\)[)ident(len)operator(]) operator(*) ident(rand_buf)operator([)ident(len)operator(];) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(BDIGITS)operator(()ident(v)operator(\)[)ident(len)operator(]) operator(=) operator((()ident(BDIGIT)operator(\)~)integer(0)operator(\)) operator(*) ident(rand_buf)operator([)ident(len)operator(];) operator(}) reserved(return) ident(v)operator(;) operator(}) comment(/* * call-seq: * big.size -> integer * * Returns the number of bytes in the machine representation of * big. * * (256**10 - 1\).size #=> 12 * (256**20 - 1\).size #=> 20 * (256**40 - 1\).size #=> 40 */) directive(static) ident(VALUE) ident(rb_big_size)operator(()ident(big)operator(\)) ident(VALUE) ident(big)operator(;) operator({) reserved(return) ident(LONG2FIX)operator(()ident(RBIGNUM)operator(()ident(big)operator(\)->)ident(len)operator(*)ident(SIZEOF_BDIGITS)operator(\);) operator(}) comment(/* * Bignum objects hold integers outside the range of * Fixnum. Bignum objects are created * automatically when integer calculations would otherwise overflow a * Fixnum. When a calculation involving * Bignum objects returns a result that will fit in a * Fixnum, the result is automatically converted. * * For the purposes of the bitwise operations and [], a * Bignum is treated as if it were an infinite-length * bitstring with 2's complement representation. * * While Fixnum values are immediate, Bignum * objects are not---assignment and parameter passing work with * references to objects, not the objects themselves. * */) directive(void) ident(Init_Bignum)operator((\)) operator({) ident(rb_cBignum) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cInteger)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_to_s)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_coerce)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_uminus)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_plus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_minus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_mul)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_div)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_modulo)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_div)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_divmod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_modulo)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_remainder)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_quo)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_pow)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_and)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_or)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_xor)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_neg)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_lshift)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) string>)delimiter(")>operator(,) ident(rb_big_rshift)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_aref)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) string)delimiter(")>operator(,) ident(rb_big_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_eq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_to_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_abs)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cBignum)operator(,) stringoperator(,) ident(rb_big_size)operator(,) integer(0)operator(\);) operator(}) comment(/********************************************************************** class.c - $Author: shyouhei $ $Date: 2009-01-16 02:58:45 +0100 (Fri, 16 Jan 2009\) $ created at: Tue Aug 10 15:05:44 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include("node.h") preprocessor(#include) include("st.h") preprocessor(#include) include() directive(extern) ident(st_table) operator(*)ident(rb_class_tbl)operator(;) ident(VALUE) ident(rb_class_boot)operator(()ident(super)operator(\)) ident(VALUE) ident(super)operator(;) operator({) ident(NEWOBJ)operator(()ident(klass)operator(,) reserved(struct) ident(RClass)operator(\);) ident(OBJSETUP)operator(()ident(klass)operator(,) ident(rb_cClass)operator(,) ident(T_CLASS)operator(\);) ident(klass)operator(->)ident(super) operator(=) ident(super)operator(;) ident(klass)operator(->)ident(iv_tbl) operator(=) integer(0)operator(;) ident(klass)operator(->)ident(m_tbl) operator(=) integer(0)operator(;) comment(/* safe GC */) ident(klass)operator(->)ident(m_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(OBJ_INFECT)operator(()ident(klass)operator(,) ident(super)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(klass)operator(;) operator(}) ident(VALUE) ident(rb_class_new)operator(()ident(super)operator(\)) ident(VALUE) ident(super)operator(;) operator({) ident(Check_Type)operator(()ident(super)operator(,) ident(T_CLASS)operator(\);) reserved(if) operator(()ident(super) operator(==) ident(rb_cClass)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(super)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_class_boot)operator(()ident(super)operator(\);) operator(}) reserved(struct) ident(clone_method_data) operator({) ident(st_table) operator(*)ident(tbl)operator(;) ident(VALUE) ident(klass)operator(;) operator(};) directive(static) pre_type(int) ident(clone_method)operator(()ident(mid)operator(,) ident(body)operator(,) ident(data)operator(\)) ident(ID) ident(mid)operator(;) ident(NODE) operator(*)ident(body)operator(;) reserved(struct) ident(clone_method_data) operator(*)ident(data)operator(;) operator({) ident(NODE) operator(*)ident(fbody) operator(=) ident(body)operator(->)ident(nd_body)operator(;) reserved(if) operator(()ident(fbody) operator(&&) ident(nd_type)operator(()ident(fbody)operator(\)) operator(==) ident(NODE_SCOPE)operator(\)) operator({) ident(NODE) operator(*)ident(cref) operator(=) operator(()ident(NODE)operator(*\))ident(fbody)operator(->)ident(nd_rval)operator(;) reserved(if) operator(()ident(cref)operator(\)) ident(cref) operator(=) ident(cref)operator(->)ident(nd_next)operator(;) ident(fbody) operator(=) ident(rb_copy_node_scope)operator(()ident(fbody)operator(,) ident(NEW_CREF)operator(()ident(data)operator(->)ident(klass)operator(,) ident(cref)operator(\)\);) operator(}) ident(st_insert)operator(()ident(data)operator(->)ident(tbl)operator(,) ident(mid)operator(,) operator(()ident(st_data_t)operator(\))ident(NEW_METHOD)operator(()ident(fbody)operator(,) ident(body)operator(->)ident(nd_noex)operator(\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* :nodoc: */) ident(VALUE) ident(rb_mod_init_copy)operator(()ident(clone)operator(,) ident(orig)operator(\)) ident(VALUE) ident(clone)operator(,) ident(orig)operator(;) operator({) ident(rb_obj_init_copy)operator(()ident(clone)operator(,) ident(orig)operator(\);) reserved(if) operator((!)ident(FL_TEST)operator(()ident(CLASS_OF)operator(()ident(clone)operator(\),) ident(FL_SINGLETON)operator(\)\)) operator({) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass) operator(=) ident(RBASIC)operator(()ident(orig)operator(\)->)ident(klass)operator(;) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass) operator(=) ident(rb_singleton_class_clone)operator(()ident(clone)operator(\);) operator(}) ident(RCLASS)operator(()ident(clone)operator(\)->)ident(super) operator(=) ident(RCLASS)operator(()ident(orig)operator(\)->)ident(super)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(orig)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(ID) ident(id)operator(;) ident(RCLASS)operator(()ident(clone)operator(\)->)ident(iv_tbl) operator(=) ident(st_copy)operator(()ident(RCLASS)operator(()ident(orig)operator(\)->)ident(iv_tbl)operator(\);) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(st_delete)operator(()ident(RCLASS)operator(()ident(clone)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) integer(0)operator(\);) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(st_delete)operator(()ident(RCLASS)operator(()ident(clone)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(RCLASS)operator(()ident(orig)operator(\)->)ident(m_tbl)operator(\)) operator({) reserved(struct) ident(clone_method_data) ident(data)operator(;) ident(data)operator(.)ident(tbl) operator(=) ident(RCLASS)operator(()ident(clone)operator(\)->)ident(m_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(data)operator(.)ident(klass) operator(=) operator(()ident(VALUE)operator(\))ident(clone)operator(;) ident(st_foreach)operator(()ident(RCLASS)operator(()ident(orig)operator(\)->)ident(m_tbl)operator(,) ident(clone_method)operator(,) operator(()ident(st_data_t)operator(\)&)ident(data)operator(\);) operator(}) reserved(return) ident(clone)operator(;) operator(}) comment(/* :nodoc: */) ident(VALUE) ident(rb_class_init_copy)operator(()ident(clone)operator(,) ident(orig)operator(\)) ident(VALUE) ident(clone)operator(,) ident(orig)operator(;) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(clone)operator(\)->)ident(super) operator(!=) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(orig)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_mod_init_copy)operator(()ident(clone)operator(,) ident(orig)operator(\);) operator(}) ident(VALUE) ident(rb_singleton_class_clone)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass)operator(;) reserved(if) operator((!)ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) reserved(return) ident(klass)operator(;) reserved(else) operator({) comment(/* copy singleton(unnamed\) class */) ident(NEWOBJ)operator(()ident(clone)operator(,) reserved(struct) ident(RClass)operator(\);) ident(OBJSETUP)operator(()ident(clone)operator(,) integer(0)operator(,) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(flags)operator(\);) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_CLASS)operator(\)) operator({) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass) operator(=) operator(()ident(VALUE)operator(\))ident(clone)operator(;) operator(}) reserved(else) operator({) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass) operator(=) ident(rb_singleton_class_clone)operator(()ident(klass)operator(\);) operator(}) ident(clone)operator(->)ident(super) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) ident(clone)operator(->)ident(iv_tbl) operator(=) integer(0)operator(;) ident(clone)operator(->)ident(m_tbl) operator(=) integer(0)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(clone)operator(->)ident(iv_tbl) operator(=) ident(st_copy)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(\);) operator(}) operator({) reserved(struct) ident(clone_method_data) ident(data)operator(;) ident(data)operator(.)ident(tbl) operator(=) ident(clone)operator(->)ident(m_tbl) operator(=) ident(st_init_numtable)operator((\);) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) ident(data)operator(.)ident(klass) operator(=) ident(obj)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(data)operator(.)ident(klass) operator(=) integer(0)operator(;) reserved(break)operator(;) operator(}) ident(st_foreach)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(clone_method)operator(,) operator(()ident(st_data_t)operator(\)&)ident(data)operator(\);) operator(}) ident(rb_singleton_class_attached)operator(()ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass)operator(,) operator(()ident(VALUE)operator(\))ident(clone)operator(\);) ident(FL_SET)operator(()ident(clone)operator(,) ident(FL_SINGLETON)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(clone)operator(;) operator(}) operator(}) directive(void) ident(rb_singleton_class_attached)operator(()ident(klass)operator(,) ident(obj)operator(\)) ident(VALUE) ident(klass)operator(,) ident(obj)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) reserved(if) operator((!)ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) ident(st_insert)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(rb_intern)operator(()stringoperator(\),) ident(obj)operator(\);) operator(}) operator(}) ident(VALUE) ident(rb_make_metaclass)operator(()ident(obj)operator(,) ident(super)operator(\)) ident(VALUE) ident(obj)operator(,) ident(super)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(rb_class_boot)operator(()ident(super)operator(\);) ident(FL_SET)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\);) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass) operator(=) ident(klass)operator(;) ident(rb_singleton_class_attached)operator(()ident(klass)operator(,) ident(obj)operator(\);) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_CLASS) operator(&&) ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass) operator(=) ident(klass)operator(;) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super) operator(=) ident(RBASIC)operator(()ident(rb_class_real)operator(()ident(RCLASS)operator(()ident(obj)operator(\)->)ident(super)operator(\)\)->)ident(klass)operator(;) operator(}) reserved(else) operator({) ident(VALUE) ident(metasuper) operator(=) ident(RBASIC)operator(()ident(rb_class_real)operator(()ident(super)operator(\)\)->)ident(klass)operator(;) comment(/* metaclass of a superclass may be NULL at boot time */) reserved(if) operator(()ident(metasuper)operator(\)) operator({) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass) operator(=) ident(metasuper)operator(;) operator(}) operator(}) reserved(return) ident(klass)operator(;) operator(}) ident(VALUE) ident(rb_define_class_id)operator(()ident(id)operator(,) ident(super)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(super)operator(;) operator({) ident(VALUE) ident(klass)operator(;) reserved(if) operator((!)ident(super)operator(\)) ident(super) operator(=) ident(rb_cObject)operator(;) ident(klass) operator(=) ident(rb_class_new)operator(()ident(super)operator(\);) ident(rb_make_metaclass)operator(()ident(klass)operator(,) ident(RBASIC)operator(()ident(super)operator(\)->)ident(klass)operator(\);) reserved(return) ident(klass)operator(;) operator(}) directive(void) ident(rb_check_inheritable)operator(()ident(super)operator(\)) ident(VALUE) ident(super)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(super)operator(\)) operator(!=) ident(T_CLASS)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(super)operator(\)\);) operator(}) reserved(if) operator(()ident(RBASIC)operator(()ident(super)operator(\)->)ident(flags) operator(&) ident(FL_SINGLETON)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) operator(}) ident(VALUE) ident(rb_class_inherited)operator(()ident(super)operator(,) ident(klass)operator(\)) ident(VALUE) ident(super)operator(,) ident(klass)operator(;) operator({) reserved(if) operator((!)ident(super)operator(\)) ident(super) operator(=) ident(rb_cObject)operator(;) reserved(return) ident(rb_funcall)operator(()ident(super)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(klass)operator(\);) operator(}) ident(VALUE) ident(rb_define_class)operator(()ident(name)operator(,) ident(super)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(super)operator(;) operator({) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator(()ident(rb_const_defined)operator(()ident(rb_cObject)operator(,) ident(id)operator(\)\)) operator({) ident(klass) operator(=) ident(rb_const_get)operator(()ident(rb_cObject)operator(,) ident(id)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(!=) ident(T_CLASS)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) reserved(if) operator(()ident(rb_class_real)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(\)) operator(!=) ident(super)operator(\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) reserved(return) ident(klass)operator(;) operator(}) reserved(if) operator((!)ident(super)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(name)operator(\);) operator(}) ident(klass) operator(=) ident(rb_define_class_id)operator(()ident(id)operator(,) ident(super)operator(\);) ident(st_add_direct)operator(()ident(rb_class_tbl)operator(,) ident(id)operator(,) ident(klass)operator(\);) ident(rb_name_class)operator(()ident(klass)operator(,) ident(id)operator(\);) ident(rb_const_set)operator(()ident(rb_cObject)operator(,) ident(id)operator(,) ident(klass)operator(\);) ident(rb_class_inherited)operator(()ident(super)operator(,) ident(klass)operator(\);) reserved(return) ident(klass)operator(;) operator(}) ident(VALUE) ident(rb_define_class_under)operator(()ident(outer)operator(,) ident(name)operator(,) ident(super)operator(\)) ident(VALUE) ident(outer)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(super)operator(;) operator({) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator(()ident(rb_const_defined_at)operator(()ident(outer)operator(,) ident(id)operator(\)\)) operator({) ident(klass) operator(=) ident(rb_const_get_at)operator(()ident(outer)operator(,) ident(id)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(!=) ident(T_CLASS)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) reserved(if) operator(()ident(rb_class_real)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(\)) operator(!=) ident(super)operator(\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) reserved(return) ident(klass)operator(;) operator(}) reserved(if) operator((!)ident(super)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_class2name)operator(()ident(outer)operator(\),) ident(name)operator(\);) operator(}) ident(klass) operator(=) ident(rb_define_class_id)operator(()ident(id)operator(,) ident(super)operator(\);) ident(rb_set_class_path)operator(()ident(klass)operator(,) ident(outer)operator(,) ident(name)operator(\);) ident(rb_const_set)operator(()ident(outer)operator(,) ident(id)operator(,) ident(klass)operator(\);) ident(rb_class_inherited)operator(()ident(super)operator(,) ident(klass)operator(\);) reserved(return) ident(klass)operator(;) operator(}) ident(VALUE) ident(rb_module_new)operator((\)) operator({) ident(NEWOBJ)operator(()ident(mdl)operator(,) reserved(struct) ident(RClass)operator(\);) ident(OBJSETUP)operator(()ident(mdl)operator(,) ident(rb_cModule)operator(,) ident(T_MODULE)operator(\);) ident(mdl)operator(->)ident(super) operator(=) integer(0)operator(;) ident(mdl)operator(->)ident(iv_tbl) operator(=) integer(0)operator(;) ident(mdl)operator(->)ident(m_tbl) operator(=) integer(0)operator(;) ident(mdl)operator(->)ident(m_tbl) operator(=) ident(st_init_numtable)operator((\);) reserved(return) operator(()ident(VALUE)operator(\))ident(mdl)operator(;) operator(}) ident(VALUE) ident(rb_define_module_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(mdl)operator(;) ident(mdl) operator(=) ident(rb_module_new)operator((\);) ident(rb_name_class)operator(()ident(mdl)operator(,) ident(id)operator(\);) reserved(return) ident(mdl)operator(;) operator(}) ident(VALUE) ident(rb_define_module)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(VALUE) ident(module)operator(;) ident(ID) ident(id)operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator(()ident(rb_const_defined)operator(()ident(rb_cObject)operator(,) ident(id)operator(\)\)) operator({) ident(module) operator(=) ident(rb_const_get)operator(()ident(rb_cObject)operator(,) ident(id)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(module)operator(\)) operator(==) ident(T_MODULE)operator(\)) reserved(return) ident(module)operator(;) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(module)operator(\)\);) operator(}) ident(module) operator(=) ident(rb_define_module_id)operator(()ident(id)operator(\);) ident(st_add_direct)operator(()ident(rb_class_tbl)operator(,) ident(id)operator(,) ident(module)operator(\);) ident(rb_const_set)operator(()ident(rb_cObject)operator(,) ident(id)operator(,) ident(module)operator(\);) reserved(return) ident(module)operator(;) operator(}) ident(VALUE) ident(rb_define_module_under)operator(()ident(outer)operator(,) ident(name)operator(\)) ident(VALUE) ident(outer)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(VALUE) ident(module)operator(;) ident(ID) ident(id)operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator(()ident(rb_const_defined_at)operator(()ident(outer)operator(,) ident(id)operator(\)\)) operator({) ident(module) operator(=) ident(rb_const_get_at)operator(()ident(outer)operator(,) ident(id)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(module)operator(\)) operator(==) ident(T_MODULE)operator(\)) reserved(return) ident(module)operator(;) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(outer)operator(\),) ident(rb_obj_classname)operator(()ident(module)operator(\)\);) operator(}) ident(module) operator(=) ident(rb_define_module_id)operator(()ident(id)operator(\);) ident(rb_const_set)operator(()ident(outer)operator(,) ident(id)operator(,) ident(module)operator(\);) ident(rb_set_class_path)operator(()ident(module)operator(,) ident(outer)operator(,) ident(name)operator(\);) reserved(return) ident(module)operator(;) operator(}) directive(static) ident(VALUE) ident(include_class_new)operator(()ident(module)operator(,) ident(super)operator(\)) ident(VALUE) ident(module)operator(,) ident(super)operator(;) operator({) ident(NEWOBJ)operator(()ident(klass)operator(,) reserved(struct) ident(RClass)operator(\);) ident(OBJSETUP)operator(()ident(klass)operator(,) ident(rb_cClass)operator(,) ident(T_ICLASS)operator(\);) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(module)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(module) operator(=) ident(RBASIC)operator(()ident(module)operator(\)->)ident(klass)operator(;) operator(}) reserved(if) operator((!)ident(RCLASS)operator(()ident(module)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(RCLASS)operator(()ident(module)operator(\)->)ident(iv_tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) ident(klass)operator(->)ident(iv_tbl) operator(=) ident(RCLASS)operator(()ident(module)operator(\)->)ident(iv_tbl)operator(;) ident(klass)operator(->)ident(m_tbl) operator(=) ident(RCLASS)operator(()ident(module)operator(\)->)ident(m_tbl)operator(;) ident(klass)operator(->)ident(super) operator(=) ident(super)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(module)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass) operator(=) ident(RBASIC)operator(()ident(module)operator(\)->)ident(klass)operator(;) operator(}) reserved(else) operator({) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass) operator(=) ident(module)operator(;) operator(}) ident(OBJ_INFECT)operator(()ident(klass)operator(,) ident(module)operator(\);) ident(OBJ_INFECT)operator(()ident(klass)operator(,) ident(super)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(klass)operator(;) operator(}) directive(void) ident(rb_include_module)operator(()ident(klass)operator(,) ident(module)operator(\)) ident(VALUE) ident(klass)operator(,) ident(module)operator(;) operator({) ident(VALUE) ident(p)operator(,) ident(c)operator(;) pre_type(int) ident(changed) operator(=) integer(0)operator(;) ident(rb_frozen_class_p)operator(()ident(klass)operator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(klass)operator(\)\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(module)operator(\)) operator(!=) ident(T_MODULE)operator(\)) operator({) ident(Check_Type)operator(()ident(module)operator(,) ident(T_MODULE)operator(\);) operator(}) ident(OBJ_INFECT)operator(()ident(klass)operator(,) ident(module)operator(\);) ident(c) operator(=) ident(klass)operator(;) reserved(while) operator(()ident(module)operator(\)) operator({) pre_type(int) ident(superclass_seen) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(module)operator(\)->)ident(m_tbl)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) comment(/* ignore if the module included already in superclasses */) reserved(for) operator(()ident(p) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) ident(p)operator(;) ident(p) operator(=) ident(RCLASS)operator(()ident(p)operator(\)->)ident(super)operator(\)) operator({) reserved(switch) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)\)) operator({) reserved(case) ident(T_ICLASS)operator(:) reserved(if) operator(()ident(RCLASS)operator(()ident(p)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(module)operator(\)->)ident(m_tbl)operator(\)) operator({) reserved(if) operator((!)ident(superclass_seen)operator(\)) operator({) ident(c) operator(=) ident(p)operator(;) comment(/* move insertion point */) operator(}) reserved(goto) ident(skip)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(T_CLASS)operator(:) ident(superclass_seen) operator(=) ident(Qtrue)operator(;) reserved(break)operator(;) operator(}) operator(}) ident(c) operator(=) ident(RCLASS)operator(()ident(c)operator(\)->)ident(super) operator(=) ident(include_class_new)operator(()ident(module)operator(,) ident(RCLASS)operator(()ident(c)operator(\)->)ident(super)operator(\);) ident(changed) operator(=) integer(1)operator(;) label(skip:) ident(module) operator(=) ident(RCLASS)operator(()ident(module)operator(\)->)ident(super)operator(;) operator(}) reserved(if) operator(()ident(changed)operator(\)) ident(rb_clear_cache)operator((\);) operator(}) comment(/* * call-seq: * mod.included_modules -> array * * Returns the list of modules included in mod. * * module Mixin * end * * module Outer * include Mixin * end * * Mixin.included_modules #=> [] * Outer.included_modules #=> [Mixin] */) ident(VALUE) ident(rb_mod_included_modules)operator(()ident(mod)operator(\)) ident(VALUE) ident(mod)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(VALUE) ident(p)operator(;) reserved(for) operator(()ident(p) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(super)operator(;) ident(p)operator(;) ident(p) operator(=) ident(RCLASS)operator(()ident(p)operator(\)->)ident(super)operator(\)) operator({) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(RBASIC)operator(()ident(p)operator(\)->)ident(klass)operator(\);) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * mod.include?(module\) => true or false * * Returns true if module is included in * mod or one of mod's ancestors. * * module A * end * class B * include A * end * class C < B * end * B.include?(A\) #=> true * C.include?(A\) #=> true * A.include?(A\) #=> false */) ident(VALUE) ident(rb_mod_include_p)operator(()ident(mod)operator(,) ident(mod2)operator(\)) ident(VALUE) ident(mod)operator(;) ident(VALUE) ident(mod2)operator(;) operator({) ident(VALUE) ident(p)operator(;) ident(Check_Type)operator(()ident(mod2)operator(,) ident(T_MODULE)operator(\);) reserved(for) operator(()ident(p) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(super)operator(;) ident(p)operator(;) ident(p) operator(=) ident(RCLASS)operator(()ident(p)operator(\)->)ident(super)operator(\)) operator({) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) reserved(if) operator(()ident(RBASIC)operator(()ident(p)operator(\)->)ident(klass) operator(==) ident(mod2)operator(\)) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * mod.ancestors -> array * * Returns a list of modules included in mod (including * mod itself\). * * module Mod * include Math * include Comparable * end * * Mod.ancestors #=> [Mod, Comparable, Math] * Math.ancestors #=> [Math] */) ident(VALUE) ident(rb_mod_ancestors)operator(()ident(mod)operator(\)) ident(VALUE) ident(mod)operator(;) operator({) ident(VALUE) ident(p)operator(,) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(for) operator(()ident(p) operator(=) ident(mod)operator(;) ident(p)operator(;) ident(p) operator(=) ident(RCLASS)operator(()ident(p)operator(\)->)ident(super)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(p)operator(,) ident(FL_SINGLETON)operator(\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(RBASIC)operator(()ident(p)operator(\)->)ident(klass)operator(\);) operator(}) reserved(else) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(p)operator(\);) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) preprocessor(#define) ident(VISI)operator(()ident(x)operator(\)) operator((()ident(x)operator(\)&)ident(NOEX_MASK)operator(\)) preprocessor(#define) ident(VISI_CHECK)operator(()ident(x)operator(,)ident(f)operator(\)) operator(()ident(VISI)operator(()ident(x)operator(\)) operator(==) operator(()ident(f)operator(\)\)) directive(static) pre_type(int) ident(ins_methods_push)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(,) ident(visi)operator(\)) ident(ID) ident(name)operator(;) pre_type(long) ident(type)operator(;) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(visi)operator(;) operator({) reserved(if) operator(()ident(type) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(switch) operator(()ident(visi)operator(\)) operator({) reserved(case) ident(NOEX_PRIVATE)operator(:) reserved(case) ident(NOEX_PROTECTED)operator(:) reserved(case) ident(NOEX_PUBLIC)operator(:) ident(visi) operator(=) operator(()ident(type) operator(==) ident(visi)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(visi) operator(=) operator(()ident(type) operator(!=) ident(NOEX_PRIVATE)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(visi)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(name)operator(\)\)\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) pre_type(int) ident(ins_methods_i)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(\)) ident(ID) ident(name)operator(;) pre_type(long) ident(type)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(ins_methods_push)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(,) operator(-)integer(1)operator(\);) comment(/* everything but private */) operator(}) directive(static) pre_type(int) ident(ins_methods_prot_i)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(\)) ident(ID) ident(name)operator(;) pre_type(long) ident(type)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(ins_methods_push)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(,) ident(NOEX_PROTECTED)operator(\);) operator(}) directive(static) pre_type(int) ident(ins_methods_priv_i)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(\)) ident(ID) ident(name)operator(;) pre_type(long) ident(type)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(ins_methods_push)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(,) ident(NOEX_PRIVATE)operator(\);) operator(}) directive(static) pre_type(int) ident(ins_methods_pub_i)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(\)) ident(ID) ident(name)operator(;) pre_type(long) ident(type)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(return) ident(ins_methods_push)operator(()ident(name)operator(,) ident(type)operator(,) ident(ary)operator(,) ident(NOEX_PUBLIC)operator(\);) operator(}) directive(static) pre_type(int) ident(method_entry)operator(()ident(key)operator(,) ident(body)operator(,) ident(list)operator(\)) ident(ID) ident(key)operator(;) ident(NODE) operator(*)ident(body)operator(;) ident(st_table) operator(*)ident(list)operator(;) operator({) pre_type(long) ident(type)operator(;) reserved(if) operator(()ident(key) operator(==) ident(ID_ALLOCATOR)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(list)operator(,) ident(key)operator(,) integer(0)operator(\)\)) operator({) reserved(if) operator((!)ident(body)operator(->)ident(nd_body)operator(\)) ident(type) operator(=) operator(-)integer(1)operator(;) comment(/* none */) reserved(else) ident(type) operator(=) ident(VISI)operator(()ident(body)operator(->)ident(nd_noex)operator(\);) ident(st_add_direct)operator(()ident(list)operator(,) ident(key)operator(,) ident(type)operator(\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(class_instance_method_list)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(,) ident(func)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) pre_type(int) operator((*)ident(func)operator(\)) ident(_)operator((()ident(ID)operator(,) pre_type(long)operator(,) ident(VALUE)operator(\)\);) operator({) ident(VALUE) ident(ary)operator(;) pre_type(int) ident(recur)operator(;) ident(st_table) operator(*)ident(list)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(recur) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) ident(VALUE) ident(r)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(r)operator(\);) ident(recur) operator(=) ident(RTEST)operator(()ident(r)operator(\);) operator(}) ident(list) operator(=) ident(st_init_numtable)operator((\);) reserved(for) operator((;) ident(mod)operator(;) ident(mod) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(super)operator(\)) operator({) ident(st_foreach)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(m_tbl)operator(,) ident(method_entry)operator(,) operator(()ident(st_data_t)operator(\))ident(list)operator(\);) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(mod)operator(\)) operator(==) ident(T_ICLASS)operator(\)) reserved(continue)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(mod)operator(,) ident(FL_SINGLETON)operator(\)\)) reserved(continue)operator(;) reserved(if) operator((!)ident(recur)operator(\)) reserved(break)operator(;) operator(}) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(st_foreach)operator(()ident(list)operator(,) ident(func)operator(,) ident(ary)operator(\);) ident(st_free_table)operator(()ident(list)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * mod.instance_methods(include_super=true\) => array * * Returns an array containing the names of public instance methods in * the receiver. For a module, these are the public methods; for a * class, they are the instance (not singleton\) methods. With no * argument, or with an argument that is false, the * instance methods in mod are returned, otherwise the methods * in mod and mod's superclasses are returned. * * module A * def method1(\) end * end * class B * def method2(\) end * end * class C < B * def method3(\) end * end * * A.instance_methods #=> ["method1"] * B.instance_methods(false\) #=> ["method2"] * C.instance_methods(false\) #=> ["method3"] * C.instance_methods(true\).length #=> 43 */) ident(VALUE) ident(rb_class_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) reserved(return) ident(class_instance_method_list)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(,) ident(ins_methods_i)operator(\);) operator(}) comment(/* * call-seq: * mod.protected_instance_methods(include_super=true\) => array * * Returns a list of the protected instance methods defined in * mod. If the optional parameter is not false, the * methods of any ancestors are included. */) ident(VALUE) ident(rb_class_protected_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) reserved(return) ident(class_instance_method_list)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(,) ident(ins_methods_prot_i)operator(\);) operator(}) comment(/* * call-seq: * mod.private_instance_methods(include_super=true\) => array * * Returns a list of the private instance methods defined in * mod. If the optional parameter is not false, the * methods of any ancestors are included. * * module Mod * def method1(\) end * private :method1 * def method2(\) end * end * Mod.instance_methods #=> ["method2"] * Mod.private_instance_methods #=> ["method1"] */) ident(VALUE) ident(rb_class_private_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) reserved(return) ident(class_instance_method_list)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(,) ident(ins_methods_priv_i)operator(\);) operator(}) comment(/* * call-seq: * mod.public_instance_methods(include_super=true\) => array * * Returns a list of the public instance methods defined in mod. * If the optional parameter is not false, the methods of * any ancestors are included. */) ident(VALUE) ident(rb_class_public_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) reserved(return) ident(class_instance_method_list)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(,) ident(ins_methods_pub_i)operator(\);) operator(}) comment(/* * call-seq: * obj.singleton_methods(all=true\) => array * * Returns an array of the names of singleton methods for obj. * If the optional all parameter is true, the list will include * methods in modules included in obj. * * module Other * def three(\) end * end * * class Single * def Single.four(\) end * end * * a = Single.new * * def a.one(\) * end * * class << a * include Other * def two(\) * end * end * * Single.singleton_methods #=> ["four"] * a.singleton_methods(false\) #=> ["two", "one"] * a.singleton_methods #=> ["two", "one", "three"] */) ident(VALUE) ident(rb_obj_singleton_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(recur)operator(,) ident(ary)operator(,) ident(klass)operator(;) ident(st_table) operator(*)ident(list)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(recur)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(recur) operator(=) ident(Qtrue)operator(;) operator(}) ident(klass) operator(=) ident(CLASS_OF)operator(()ident(obj)operator(\);) ident(list) operator(=) ident(st_init_numtable)operator((\);) reserved(if) operator(()ident(klass) operator(&&) ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(st_foreach)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(method_entry)operator(,) operator(()ident(st_data_t)operator(\))ident(list)operator(\);) ident(klass) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(recur)operator(\)\)) operator({) reserved(while) operator(()ident(klass) operator(&&) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)) operator(||) ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_ICLASS)operator(\)\)) operator({) ident(st_foreach)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(method_entry)operator(,) operator(()ident(st_data_t)operator(\))ident(list)operator(\);) ident(klass) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) operator(}) operator(}) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(st_foreach)operator(()ident(list)operator(,) ident(ins_methods_i)operator(,) ident(ary)operator(\);) ident(st_free_table)operator(()ident(list)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(void) ident(rb_define_method_id)operator(()ident(klass)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(name)operator(,) ident(NEW_CFUNC)operator(()ident(func)operator(,)ident(argc)operator(\),) ident(NOEX_PUBLIC)operator(\);) operator(}) directive(void) ident(rb_define_method)operator(()ident(klass)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) pre_type(int) ident(ex) operator(=) ident(NOEX_PUBLIC)operator(;) ident(rb_add_method)operator(()ident(klass)operator(,) ident(id)operator(,) ident(NEW_CFUNC)operator(()ident(func)operator(,) ident(argc)operator(\),) ident(ex)operator(\);) operator(}) directive(void) ident(rb_define_protected_method)operator(()ident(klass)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(rb_intern)operator(()ident(name)operator(\),) ident(NEW_CFUNC)operator(()ident(func)operator(,) ident(argc)operator(\),) ident(NOEX_PROTECTED)operator(\);) operator(}) directive(void) ident(rb_define_private_method)operator(()ident(klass)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(rb_intern)operator(()ident(name)operator(\),) ident(NEW_CFUNC)operator(()ident(func)operator(,) ident(argc)operator(\),) ident(NOEX_PRIVATE)operator(\);) operator(}) directive(void) ident(rb_undef_method)operator(()ident(klass)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(rb_intern)operator(()ident(name)operator(\),) integer(0)operator(,) ident(NOEX_UNDEF)operator(\);) operator(}) preprocessor(#define) ident(SPECIAL_SINGLETON)operator(()ident(x)operator(,)ident(c)operator(\)) reserved(do) operator({)\ reserved(if) operator(()ident(obj) operator(==) operator(()ident(x)operator(\)\)) operator({)\ reserved(return) ident(c)operator(;)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) ident(VALUE) ident(rb_singleton_class)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(klass)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(obj)operator(\)) operator(||) ident(SYMBOL_P)operator(()ident(obj)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) ident(SPECIAL_SINGLETON)operator(()ident(Qnil)operator(,) ident(rb_cNilClass)operator(\);) ident(SPECIAL_SINGLETON)operator(()ident(Qfalse)operator(,) ident(rb_cFalseClass)operator(\);) ident(SPECIAL_SINGLETON)operator(()ident(Qtrue)operator(,) ident(rb_cTrueClass)operator(\);) ident(rb_bug)operator(()stringoperator(,) ident(obj)operator(\);) operator(}) ident(DEFER_INTS)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass)operator(,) ident(FL_SINGLETON)operator(\)) operator(&&) ident(rb_iv_get)operator(()ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass)operator(,) stringoperator(\)) operator(==) ident(obj)operator(\)) operator({) ident(klass) operator(=) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass)operator(;) operator(}) reserved(else) operator({) ident(klass) operator(=) ident(rb_make_metaclass)operator(()ident(obj)operator(,) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass)operator(\);) operator(}) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) operator({) ident(OBJ_TAINT)operator(()ident(klass)operator(\);) operator(}) reserved(else) operator({) ident(FL_UNSET)operator(()ident(klass)operator(,) ident(FL_TAINT)operator(\);) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) ident(OBJ_FREEZE)operator(()ident(klass)operator(\);) ident(ALLOW_INTS)operator(;) reserved(return) ident(klass)operator(;) operator(}) directive(void) ident(rb_define_singleton_method)operator(()ident(obj)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) ident(VALUE) ident(obj)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_define_method)operator(()ident(rb_singleton_class)operator(()ident(obj)operator(\),) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\);) operator(}) directive(void) ident(rb_define_module_function)operator(()ident(module)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) ident(VALUE) ident(module)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_define_private_method)operator(()ident(module)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\);) ident(rb_define_singleton_method)operator(()ident(module)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\);) operator(}) directive(void) ident(rb_define_global_function)operator(()ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_define_module_function)operator(()ident(rb_mKernel)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\);) operator(}) directive(void) ident(rb_define_alias)operator(()ident(klass)operator(,) ident(name1)operator(,) ident(name2)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name1)operator(,) operator(*)ident(name2)operator(;) operator({) ident(rb_alias)operator(()ident(klass)operator(,) ident(rb_intern)operator(()ident(name1)operator(\),) ident(rb_intern)operator(()ident(name2)operator(\)\);) operator(}) directive(void) ident(rb_define_attr)operator(()ident(klass)operator(,) ident(name)operator(,) ident(read)operator(,) ident(write)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) pre_type(int) ident(read)operator(,) ident(write)operator(;) operator({) ident(rb_attr)operator(()ident(klass)operator(,) ident(rb_intern)operator(()ident(name)operator(\),) ident(read)operator(,) ident(write)operator(,) ident(Qfalse)operator(\);) operator(}) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(,)ident(b)operator(\)) preprocessor(#else) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(\)) preprocessor(#endif) pre_type(int) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_scan_args)operator(()pre_type(int) ident(argc)operator(,) directive(const) ident(VALUE) operator(*)ident(argv)operator(,) directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(fmt)operator(,) ident(va_alist)operator(\)) pre_type(int) ident(argc)operator(;) directive(const) ident(VALUE) operator(*)ident(argv)operator(;) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(int) ident(n)operator(,) ident(i) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(fmt)operator(;) ident(VALUE) operator(*)ident(var)operator(;) ident(va_list) ident(vargs)operator(;) ident(va_init_list)operator(()ident(vargs)operator(,) ident(fmt)operator(\);) reserved(if) operator((*)ident(p) operator(==) char('*')operator(\)) reserved(goto) ident(rest_arg)operator(;) reserved(if) operator(()ident(ISDIGIT)operator((*)ident(p)operator(\)\)) operator({) ident(n) operator(=) operator(*)ident(p) operator(-) char('0')operator(;) reserved(if) operator(()ident(n) operator(>) ident(argc)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(n)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) ident(var) operator(=) ident(va_arg)operator(()ident(vargs)operator(,) ident(VALUE)operator(*\);) reserved(if) operator(()ident(var)operator(\)) operator(*)ident(var) operator(=) ident(argv)operator([)ident(i)operator(];) operator(}) ident(p)operator(++;) operator(}) reserved(else) operator({) reserved(goto) ident(error)operator(;) operator(}) reserved(if) operator(()ident(ISDIGIT)operator((*)ident(p)operator(\)\)) operator({) ident(n) operator(=) ident(i) operator(+) operator(*)ident(p) operator(-) char('0')operator(;) reserved(for) operator((;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) ident(var) operator(=) ident(va_arg)operator(()ident(vargs)operator(,) ident(VALUE)operator(*\);) reserved(if) operator(()ident(argc) operator(>) ident(i)operator(\)) operator({) reserved(if) operator(()ident(var)operator(\)) operator(*)ident(var) operator(=) ident(argv)operator([)ident(i)operator(];) operator(}) reserved(else) operator({) reserved(if) operator(()ident(var)operator(\)) operator(*)ident(var) operator(=) ident(Qnil)operator(;) operator(}) operator(}) ident(p)operator(++;) operator(}) reserved(if)operator((*)ident(p) operator(==) char('*')operator(\)) operator({) label(rest_arg:) ident(var) operator(=) ident(va_arg)operator(()ident(vargs)operator(,) ident(VALUE)operator(*\);) reserved(if) operator(()ident(argc) operator(>) ident(i)operator(\)) operator({) reserved(if) operator(()ident(var)operator(\)) operator(*)ident(var) operator(=) ident(rb_ary_new4)operator(()ident(argc)operator(-)ident(i)operator(,) ident(argv)operator(+)ident(i)operator(\);) ident(i) operator(=) ident(argc)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(var)operator(\)) operator(*)ident(var) operator(=) ident(rb_ary_new)operator((\);) operator(}) ident(p)operator(++;) operator(}) reserved(if) operator((*)ident(p) operator(==) char('&')operator(\)) operator({) ident(var) operator(=) ident(va_arg)operator(()ident(vargs)operator(,) ident(VALUE)operator(*\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) operator(*)ident(var) operator(=) ident(rb_block_proc)operator((\);) operator(}) reserved(else) operator({) operator(*)ident(var) operator(=) ident(Qnil)operator(;) operator(}) ident(p)operator(++;) operator(}) ident(va_end)operator(()ident(vargs)operator(\);) reserved(if) operator((*)ident(p) operator(!=) char('\\0')operator(\)) operator({) reserved(goto) ident(error)operator(;) operator(}) reserved(if) operator(()ident(argc) operator(>) ident(i)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(i)operator(\);) operator(}) reserved(return) ident(argc)operator(;) label(error:) ident(rb_fatal)operator(()stringoperator(,) ident(fmt)operator(\);) reserved(return) integer(0)operator(;) operator(}) comment(/********************************************************************** compar.c - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Thu Aug 26 14:39:48 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") ident(VALUE) ident(rb_mComparable)operator(;) directive(static) ident(ID) ident(cmp)operator(;) pre_type(int) ident(rb_cmpint)operator(()ident(val)operator(,) ident(a)operator(,) ident(b)operator(\)) ident(VALUE) ident(val)operator(,) ident(a)operator(,) ident(b)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(rb_cmperr)operator(()ident(a)operator(,) ident(b)operator(\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) reserved(return) ident(FIX2INT)operator(()ident(val)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(if) operator(()ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(sign)operator(\)) reserved(return) integer(1)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(val)operator(,) char('>')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)\)) reserved(return) integer(1)operator(;) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(val)operator(,) char('<')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)\)) reserved(return) operator(-)integer(1)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(void) ident(rb_cmperr)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(classname)operator(;) reserved(if) operator(()ident(SPECIAL_CONST_P)operator(()ident(y)operator(\)\)) operator({) ident(y) operator(=) ident(rb_inspect)operator(()ident(y)operator(\);) ident(classname) operator(=) ident(StringValuePtr)operator(()ident(y)operator(\);) operator(}) reserved(else) operator({) ident(classname) operator(=) ident(rb_obj_classname)operator(()ident(y)operator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\),) ident(classname)operator(\);) operator(}) preprocessor(#define) ident(cmperr)operator((\)) operator(()ident(rb_cmperr)operator(()ident(x)operator(,) ident(y)operator(\),) ident(Qnil)operator(\)) directive(static) ident(VALUE) ident(cmp_eq)operator(()ident(a)operator(\)) ident(VALUE) operator(*)ident(a)operator(;) operator({) ident(VALUE) ident(c) operator(=) ident(rb_funcall)operator(()ident(a)operator([)integer(0)operator(],) ident(cmp)operator(,) integer(1)operator(,) ident(a)operator([)integer(1)operator(]\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(rb_cmpint)operator(()ident(c)operator(,) ident(a)operator([)integer(0)operator(],) ident(a)operator([)integer(1)operator(]\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(cmp_failed)operator((\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * obj == other => true or false * * Compares two objects based on the receiver's <=> * method, returning true if it returns 0. Also returns true if * _obj_ and _other_ are the same object. */) directive(static) ident(VALUE) ident(cmp_equal)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(a)operator([)integer(2)operator(];) reserved(if) operator(()ident(x) operator(==) ident(y)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(a)operator([)integer(0)operator(]) operator(=) ident(x)operator(;) ident(a)operator([)integer(1)operator(]) operator(=) ident(y)operator(;) reserved(return) ident(rb_rescue)operator(()ident(cmp_eq)operator(,) operator(()ident(VALUE)operator(\))ident(a)operator(,) ident(cmp_failed)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * obj > other => true or false * * Compares two objects based on the receiver's <=> * method, returning true if it returns 1. */) directive(static) ident(VALUE) ident(cmp_gt)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(c) operator(=) ident(rb_funcall)operator(()ident(x)operator(,) ident(cmp)operator(,) integer(1)operator(,) ident(y)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) reserved(return) ident(cmperr)operator((\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(c)operator(,) ident(x)operator(,) ident(y)operator(\)) operator(>) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj >= other => true or false * * Compares two objects based on the receiver's <=> * method, returning true if it returns 0 or 1. */) directive(static) ident(VALUE) ident(cmp_ge)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(c) operator(=) ident(rb_funcall)operator(()ident(x)operator(,) ident(cmp)operator(,) integer(1)operator(,) ident(y)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) reserved(return) ident(cmperr)operator((\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(c)operator(,) ident(x)operator(,) ident(y)operator(\)) operator(>=) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj < other => true or false * * Compares two objects based on the receiver's <=> * method, returning true if it returns -1. */) directive(static) ident(VALUE) ident(cmp_lt)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(c) operator(=) ident(rb_funcall)operator(()ident(x)operator(,) ident(cmp)operator(,) integer(1)operator(,) ident(y)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) reserved(return) ident(cmperr)operator((\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(c)operator(,) ident(x)operator(,) ident(y)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj <= other => true or false * * Compares two objects based on the receiver's <=> * method, returning true if it returns -1 or 0. */) directive(static) ident(VALUE) ident(cmp_le)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(c) operator(=) ident(rb_funcall)operator(()ident(x)operator(,) ident(cmp)operator(,) integer(1)operator(,) ident(y)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) reserved(return) ident(cmperr)operator((\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(c)operator(,) ident(x)operator(,) ident(y)operator(\)) operator(<=) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj.between?(min, max\) => true or false * * Returns false if obj <=> * min is less than zero or if anObject <=> * max is greater than zero, true otherwise. * * 3.between?(1, 5\) #=> true * 6.between?(1, 5\) #=> false * 'cat'.between?('ant', 'dog'\) #=> true * 'gnu'.between?('ant', 'dog'\) #=> false * */) directive(static) ident(VALUE) ident(cmp_between)operator(()ident(x)operator(,) ident(min)operator(,) ident(max)operator(\)) ident(VALUE) ident(x)operator(,) ident(min)operator(,) ident(max)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(cmp_lt)operator(()ident(x)operator(,) ident(min)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RTEST)operator(()ident(cmp_gt)operator(()ident(x)operator(,) ident(max)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * The Comparable mixin is used by classes whose objects * may be ordered. The class must define the <=> operator, * which compares the receiver against another object, returning -1, 0, * or +1 depending on whether the receiver is less than, equal to, or * greater than the other object. Comparable uses * <=> to implement the conventional comparison operators * (<, <=, ==, >=, * and >\) and the method between?. * * class SizeMatters * include Comparable * attr :str * def <=>(anOther\) * str.size <=> anOther.str.size * end * def initialize(str\) * @str = str * end * def inspect * @str * end * end * * s1 = SizeMatters.new("Z"\) * s2 = SizeMatters.new("YY"\) * s3 = SizeMatters.new("XXX"\) * s4 = SizeMatters.new("WWWW"\) * s5 = SizeMatters.new("VVVVV"\) * * s1 < s2 #=> true * s4.between?(s1, s3\) #=> false * s4.between?(s3, s5\) #=> true * [ s3, s2, s5, s4, s1 ].sort #=> [Z, YY, XXX, WWWW, VVVVV] * */) directive(void) ident(Init_Comparable)operator((\)) operator({) ident(rb_mComparable) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_method)operator(()ident(rb_mComparable)operator(,) stringoperator(,) ident(cmp_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mComparable)operator(,) string)delimiter(")>operator(,) ident(cmp_gt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mComparable)operator(,) string=)delimiter(")>operator(,) ident(cmp_ge)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mComparable)operator(,) stringoperator(,) ident(cmp_lt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mComparable)operator(,) stringoperator(,) ident(cmp_le)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mComparable)operator(,) stringoperator(,) ident(cmp_between)operator(,) integer(2)operator(\);) ident(cmp) operator(=) ident(rb_intern)operator(()string)delimiter(")>operator(\);) operator(}) comment(/********************************************************************** dir.c - $Author: shyouhei $ $Date: 2009-02-04 06:26:31 +0100 (Wed, 04 Feb 2009\) $ created at: Wed Jan 5 09:51:01 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined) ident(HAVE_DIRENT_H) operator(&&) operator(!)ident(defined) ident(_WIN32) preprocessor(# include) include() preprocessor(# define) ident(NAMLEN)operator(()ident(dirent)operator(\)) ident(strlen)operator((()ident(dirent)operator(\)->)ident(d_name)operator(\)) preprocessor(#elif) ident(defined) ident(HAVE_DIRECT_H) operator(&&) operator(!)ident(defined) ident(_WIN32) preprocessor(# include) include() preprocessor(# define) ident(NAMLEN)operator(()ident(dirent)operator(\)) ident(strlen)operator((()ident(dirent)operator(\)->)ident(d_name)operator(\)) preprocessor(#else) preprocessor(# define) ident(dirent) ident(direct) preprocessor(# if) operator(!)ident(defined) ident(__NeXT__) preprocessor(# define) ident(NAMLEN)operator(()ident(dirent)operator(\)) operator(()ident(dirent)operator(\)->)ident(d_namlen) preprocessor(# else) preprocessor(# )comment(/* On some versions of NextStep, d_namlen is always zero, so avoid it. */) preprocessor(# define) ident(NAMLEN)operator(()ident(dirent)operator(\)) ident(strlen)operator((()ident(dirent)operator(\)->)ident(d_name)operator(\)) preprocessor(# endif) preprocessor(# if) ident(HAVE_SYS_NDIR_H) preprocessor(# include) include() preprocessor(# endif) preprocessor(# if) ident(HAVE_SYS_DIR_H) preprocessor(# include) include() preprocessor(# endif) preprocessor(# if) ident(HAVE_NDIR_H) preprocessor(# include) include() preprocessor(# endif) preprocessor(# ifdef) ident(_WIN32) preprocessor(# include) include("win32/dir.h") preprocessor(# endif) preprocessor(#endif) preprocessor(#include) include() preprocessor(#ifndef) ident(HAVE_STDLIB_H) pre_type(char) operator(*)ident(getenv)operator((\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRING_H) pre_type(char) operator(*)ident(strchr) ident(_)operator((()pre_type(char)operator(*,)pre_type(char)operator(\)\);) preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include("util.h") preprocessor(#if) operator(!)ident(defined) ident(HAVE_LSTAT) operator(&&) operator(!)ident(defined) ident(lstat) preprocessor(#define) ident(lstat) ident(stat) preprocessor(#endif) preprocessor(#ifndef) ident(CASEFOLD_FILESYSTEM) preprocessor(# if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__VMS) preprocessor(# define) ident(CASEFOLD_FILESYSTEM) integer(1) preprocessor(# else) preprocessor(# define) ident(CASEFOLD_FILESYSTEM) integer(0) preprocessor(# endif) preprocessor(#endif) preprocessor(#define) ident(FNM_NOESCAPE) hex(0x01) preprocessor(#define) ident(FNM_PATHNAME) hex(0x02) preprocessor(#define) ident(FNM_DOTMATCH) hex(0x04) preprocessor(#define) ident(FNM_CASEFOLD) hex(0x08) preprocessor(#if) ident(CASEFOLD_FILESYSTEM) preprocessor(#define) ident(FNM_SYSCASE) ident(FNM_CASEFOLD) preprocessor(#else) preprocessor(#define) ident(FNM_SYSCASE) integer(0) preprocessor(#endif) preprocessor(#define) ident(FNM_NOMATCH) integer(1) preprocessor(#define) ident(FNM_ERROR) integer(2) preprocessor(#define) ident(downcase)operator(()ident(c)operator(\)) operator(()ident(nocase) operator(&&) ident(ISUPPER)operator(()ident(c)operator(\)) operator(?) ident(tolower)operator(()ident(c)operator(\)) operator(:) operator(()ident(c)operator(\)\)) preprocessor(#define) ident(compare)operator(()ident(c1)operator(,) ident(c2)operator(\)) operator(((()pre_type(unsigned) pre_type(char)operator(\)()ident(c1)operator(\)\)) operator(-) operator((()pre_type(unsigned) pre_type(char)operator(\)()ident(c2)operator(\)\)\)) comment(/* caution: in case *p == '\\0' Next(p\) == p + 1 in single byte environment Next(p\) == p in multi byte environment */) preprocessor(#if) ident(defined)operator(()ident(CharNext)operator(\)) preprocessor(# define) ident(Next)operator(()ident(p)operator(\)) ident(CharNext)operator(()ident(p)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(DJGPP)operator(\)) preprocessor(# define) ident(Next)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(+) ident(mblen)operator(()ident(p)operator(,) ident(RUBY_MBCHAR_MAXSIZE)operator(\)\)) preprocessor(#elif) ident(defined)operator(()ident(__EMX__)operator(\)) preprocessor(# define) ident(Next)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(+) ident(emx_mblen)operator(()ident(p)operator(\)\)) directive(static) directive(inline) pre_type(int) ident(emx_mblen)operator(()directive(const) pre_type(char) operator(*)ident(p)operator(\)) operator({) pre_type(int) ident(n) operator(=) ident(mblen)operator(()ident(p)operator(,) ident(RUBY_MBCHAR_MAXSIZE)operator(\);) reserved(return) operator(()ident(n) operator(<) integer(0)operator(\)) operator(?) integer(1) operator(:) ident(n)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifndef) ident(Next) comment(/* single byte environment */) preprocessor(# define) ident(Next)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(+) integer(1)operator(\)) preprocessor(# define) ident(Inc)operator(()ident(p)operator(\)) operator((++()ident(p)operator(\)\)) preprocessor(# define) ident(Compare)operator(()ident(p1)operator(,) ident(p2)operator(\)) operator(()ident(compare)operator(()ident(downcase)operator((*()ident(p1)operator(\)\),) ident(downcase)operator((*()ident(p2)operator(\)\)\)\)) preprocessor(#else) comment(/* multi byte environment */) preprocessor(# define) ident(Inc)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(=) ident(Next)operator(()ident(p)operator(\)\)) preprocessor(# define) ident(Compare)operator(()ident(p1)operator(,) ident(p2)operator(\)) operator(()ident(CompareImpl)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(nocase)operator(\)\)) directive(static) pre_type(int) ident(CompareImpl)operator(()directive(const) pre_type(char) operator(*)ident(p1)operator(,) directive(const) pre_type(char) operator(*)ident(p2)operator(,) pre_type(int) ident(nocase)operator(\)) operator({) directive(const) pre_type(int) ident(len1) operator(=) ident(Next)operator(()ident(p1)operator(\)) operator(-) ident(p1)operator(;) directive(const) pre_type(int) ident(len2) operator(=) ident(Next)operator(()ident(p2)operator(\)) operator(-) ident(p2)operator(;) preprocessor(#ifdef) ident(_WIN32) pre_type(char) ident(buf1)operator([)integer(10)operator(],) ident(buf2)operator([)integer(10)operator(];) comment(/* large enough? */) preprocessor(#endif) reserved(if) operator(()ident(len1) operator(<) integer(0) operator(||) ident(len2) operator(<) integer(0)operator(\)) operator({) ident(rb_fatal)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(len1) operator(==) integer(0)operator(\)) reserved(return) ident(len2)operator(;) reserved(if) operator(()ident(len2) operator(==) integer(0)operator(\)) reserved(return) operator(-)ident(len1)operator(;) preprocessor(#ifdef) ident(_WIN32) reserved(if) operator(()ident(nocase) operator(&&) ident(rb_w32_iswinnt)operator((\)\)) operator({) reserved(if) operator(()ident(len1) operator(>) integer(1)operator(\)) operator({) reserved(if) operator(()ident(len1) operator(>=) reserved(sizeof)operator(()ident(buf1)operator(\)\)) operator({) ident(rb_fatal)operator(()stringoperator(\);) operator(}) ident(memcpy)operator(()ident(buf1)operator(,) ident(p1)operator(,) ident(len1)operator(\);) ident(buf1)operator([)ident(len1)operator(]) operator(=) char('\\0')operator(;) ident(CharLower)operator(()ident(buf1)operator(\);) ident(p1) operator(=) ident(buf1)operator(;) comment(/* trick */) operator(}) reserved(if) operator(()ident(len2) operator(>) integer(1)operator(\)) operator({) reserved(if) operator(()ident(len2) operator(>=) reserved(sizeof)operator(()ident(buf2)operator(\)\)) operator({) ident(rb_fatal)operator(()stringoperator(\);) operator(}) ident(memcpy)operator(()ident(buf2)operator(,) ident(p2)operator(,) ident(len2)operator(\);) ident(buf2)operator([)ident(len2)operator(]) operator(=) char('\\0')operator(;) ident(CharLower)operator(()ident(buf2)operator(\);) ident(p2) operator(=) ident(buf2)operator(;) comment(/* trick */) operator(}) operator(}) preprocessor(#endif) reserved(if) operator(()ident(len1) operator(==) integer(1)operator(\)) reserved(if) operator(()ident(len2) operator(==) integer(1)operator(\)) reserved(return) ident(compare)operator(()ident(downcase)operator((*)ident(p1)operator(\),) ident(downcase)operator((*)ident(p2)operator(\)\);) reserved(else) operator({) directive(const) pre_type(int) ident(ret) operator(=) ident(compare)operator(()ident(downcase)operator((*)ident(p1)operator(\),) operator(*)ident(p2)operator(\);) reserved(return) ident(ret) operator(?) ident(ret) operator(:) operator(-)integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(len2) operator(==) integer(1)operator(\)) operator({) directive(const) pre_type(int) ident(ret) operator(=) ident(compare)operator((*)ident(p1)operator(,) ident(downcase)operator((*)ident(p2)operator(\)\);) reserved(return) ident(ret) operator(?) ident(ret) operator(:) integer(1)operator(;) operator(}) reserved(else) operator({) directive(const) pre_type(int) ident(ret) operator(=) ident(memcmp)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(len1) operator(<) ident(len2) operator(?) ident(len1) operator(:) ident(len2)operator(\);) reserved(return) ident(ret) operator(?) ident(ret) operator(:) ident(len1) operator(-) ident(len2)operator(;) operator(}) operator(}) preprocessor(#endif) comment(/* environment */) directive(static) pre_type(char) operator(*) ident(bracket)operator(()ident(p)operator(,) ident(s)operator(,) ident(flags)operator(\)) directive(const) pre_type(char) operator(*)ident(p)operator(;) comment(/* pattern (next to '['\) */) directive(const) pre_type(char) operator(*)ident(s)operator(;) comment(/* string */) pre_type(int) ident(flags)operator(;) operator({) directive(const) pre_type(int) ident(nocase) operator(=) ident(flags) operator(&) ident(FNM_CASEFOLD)operator(;) directive(const) pre_type(int) ident(escape) operator(=) operator(!()ident(flags) operator(&) ident(FNM_NOESCAPE)operator(\);) pre_type(int) ident(ok) operator(=) integer(0)operator(,) ident(not) operator(=) integer(0)operator(;) reserved(if) operator((*)ident(p) operator(==) char('!') operator(||) operator(*)ident(p) operator(==) char('^')operator(\)) operator({) ident(not) operator(=) integer(1)operator(;) ident(p)operator(++;) operator(}) reserved(while) operator((*)ident(p) operator(!=) char(']')operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(t1) operator(=) ident(p)operator(;) reserved(if) operator(()ident(escape) operator(&&) operator(*)ident(t1) operator(==) char('\\\\')operator(\)) ident(t1)operator(++;) reserved(if) operator((!*)ident(t1)operator(\)) reserved(return) pre_constant(NULL)operator(;) ident(p) operator(=) ident(Next)operator(()ident(t1)operator(\);) reserved(if) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('-') operator(&&) ident(p)operator([)integer(1)operator(]) operator(!=) char(']')operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(t2) operator(=) ident(p) operator(+) integer(1)operator(;) reserved(if) operator(()ident(escape) operator(&&) operator(*)ident(t2) operator(==) char('\\\\')operator(\)) ident(t2)operator(++;) reserved(if) operator((!*)ident(t2)operator(\)) reserved(return) pre_constant(NULL)operator(;) ident(p) operator(=) ident(Next)operator(()ident(t2)operator(\);) reserved(if) operator((!)ident(ok) operator(&&) ident(Compare)operator(()ident(t1)operator(,) ident(s)operator(\)) operator(<=) integer(0) operator(&&) ident(Compare)operator(()ident(s)operator(,) ident(t2)operator(\)) operator(<=) integer(0)operator(\)) ident(ok) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator((!)ident(ok) operator(&&) ident(Compare)operator(()ident(t1)operator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) ident(ok) operator(=) integer(1)operator(;) operator(}) reserved(return) ident(ok) operator(==) ident(not) operator(?) pre_constant(NULL) operator(:) operator(()pre_type(char) operator(*\))ident(p) operator(+) integer(1)operator(;) operator(}) comment(/* If FNM_PATHNAME is set, only path element will be matched. (upto '/' or '\\0'\) Otherwise, entire string will be matched. End marker itself won't be compared. And if function succeeds, *pcur reaches end marker. */) preprocessor(#define) ident(UNESCAPE)operator(()ident(p)operator(\)) operator(()ident(escape) operator(&&) operator(*()ident(p)operator(\)) operator(==) char('\\\\') operator(?) operator(()ident(p)operator(\)) operator(+) integer(1) operator(:) operator(()ident(p)operator(\)\)) preprocessor(#define) ident(ISEND)operator(()ident(p)operator(\)) operator((!*()ident(p)operator(\)) operator(||) operator(()ident(pathname) operator(&&) operator(*()ident(p)operator(\)) operator(==) char('/')operator(\)\)) preprocessor(#define) ident(RETURN)operator(()ident(val)operator(\)) reserved(return) operator(*)ident(pcur) operator(=) ident(p)operator(,) operator(*)ident(scur) operator(=) ident(s)operator(,) operator(()ident(val)operator(\);) directive(static) pre_type(int) ident(fnmatch_helper)operator(()ident(pcur)operator(,) ident(scur)operator(,) ident(flags)operator(\)) directive(const) pre_type(char) operator(**)ident(pcur)operator(;) comment(/* pattern */) directive(const) pre_type(char) operator(**)ident(scur)operator(;) comment(/* string */) pre_type(int) ident(flags)operator(;) operator({) directive(const) pre_type(int) ident(period) operator(=) operator(!()ident(flags) operator(&) ident(FNM_DOTMATCH)operator(\);) directive(const) pre_type(int) ident(pathname) operator(=) ident(flags) operator(&) ident(FNM_PATHNAME)operator(;) directive(const) pre_type(int) ident(escape) operator(=) operator(!()ident(flags) operator(&) ident(FNM_NOESCAPE)operator(\);) directive(const) pre_type(int) ident(nocase) operator(=) ident(flags) operator(&) ident(FNM_CASEFOLD)operator(;) directive(const) pre_type(char) operator(*)ident(ptmp) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(stmp) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(p) operator(=) operator(*)ident(pcur)operator(;) directive(const) pre_type(char) operator(*)ident(s) operator(=) operator(*)ident(scur)operator(;) reserved(if) operator(()ident(period) operator(&&) operator(*)ident(s) operator(==) char('.') operator(&&) operator(*)ident(UNESCAPE)operator(()ident(p)operator(\)) operator(!=) char('.')operator(\)) comment(/* leading period */) ident(RETURN)operator(()ident(FNM_NOMATCH)operator(\);) reserved(while) operator(()integer(1)operator(\)) operator({) reserved(switch) operator((*)ident(p)operator(\)) operator({) reserved(case) char('*')operator(:) reserved(do) operator({) ident(p)operator(++;) operator(}) reserved(while) operator((*)ident(p) operator(==) char('*')operator(\);) reserved(if) operator(()ident(ISEND)operator(()ident(UNESCAPE)operator(()ident(p)operator(\)\)\)) operator({) ident(p) operator(=) ident(UNESCAPE)operator(()ident(p)operator(\);) ident(RETURN)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(ISEND)operator(()ident(s)operator(\)\)) ident(RETURN)operator(()ident(FNM_NOMATCH)operator(\);) ident(ptmp) operator(=) ident(p)operator(;) ident(stmp) operator(=) ident(s)operator(;) reserved(continue)operator(;) reserved(case) char('?')operator(:) reserved(if) operator(()ident(ISEND)operator(()ident(s)operator(\)\)) ident(RETURN)operator(()ident(FNM_NOMATCH)operator(\);) ident(p)operator(++;) ident(Inc)operator(()ident(s)operator(\);) reserved(continue)operator(;) reserved(case) char('[')operator(:) operator({) directive(const) pre_type(char) operator(*)ident(t)operator(;) reserved(if) operator(()ident(ISEND)operator(()ident(s)operator(\)\)) ident(RETURN)operator(()ident(FNM_NOMATCH)operator(\);) reserved(if) operator(()ident(t) operator(=) ident(bracket)operator(()ident(p) operator(+) integer(1)operator(,) ident(s)operator(,) ident(flags)operator(\)\)) operator({) ident(p) operator(=) ident(t)operator(;) ident(Inc)operator(()ident(s)operator(\);) reserved(continue)operator(;) operator(}) reserved(goto) ident(failed)operator(;) operator(}) operator(}) comment(/* ordinary */) ident(p) operator(=) ident(UNESCAPE)operator(()ident(p)operator(\);) reserved(if) operator(()ident(ISEND)operator(()ident(s)operator(\)\)) ident(RETURN)operator(()ident(ISEND)operator(()ident(p)operator(\)) operator(?) integer(0) operator(:) ident(FNM_NOMATCH)operator(\);) reserved(if) operator(()ident(ISEND)operator(()ident(p)operator(\)\)) reserved(goto) ident(failed)operator(;) reserved(if) operator(()ident(Compare)operator(()ident(p)operator(,) ident(s)operator(\)) operator(!=) integer(0)operator(\)) reserved(goto) ident(failed)operator(;) ident(Inc)operator(()ident(p)operator(\);) ident(Inc)operator(()ident(s)operator(\);) reserved(continue)operator(;) label(failed:) comment(/* try next '*' position */) reserved(if) operator(()ident(ptmp) operator(&&) ident(stmp)operator(\)) operator({) ident(p) operator(=) ident(ptmp)operator(;) ident(Inc)operator(()ident(stmp)operator(\);) comment(/* !ISEND(*stmp\) */) ident(s) operator(=) ident(stmp)operator(;) reserved(continue)operator(;) operator(}) ident(RETURN)operator(()ident(FNM_NOMATCH)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(fnmatch)operator(()ident(p)operator(,) ident(s)operator(,) ident(flags)operator(\)) directive(const) pre_type(char) operator(*)ident(p)operator(;) comment(/* pattern */) directive(const) pre_type(char) operator(*)ident(s)operator(;) comment(/* string */) pre_type(int) ident(flags)operator(;) operator({) directive(const) pre_type(int) ident(period) operator(=) operator(!()ident(flags) operator(&) ident(FNM_DOTMATCH)operator(\);) directive(const) pre_type(int) ident(pathname) operator(=) ident(flags) operator(&) ident(FNM_PATHNAME)operator(;) directive(const) pre_type(char) operator(*)ident(ptmp) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(stmp) operator(=) integer(0)operator(;) reserved(if) operator(()ident(pathname)operator(\)) operator({) reserved(while) operator(()integer(1)operator(\)) operator({) reserved(if) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(1)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(2)operator(]) operator(==) char('/')operator(\)) operator({) reserved(do) operator({) ident(p) operator(+=) integer(3)operator(;) operator(}) reserved(while) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(1)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(2)operator(]) operator(==) char('/')operator(\);) ident(ptmp) operator(=) ident(p)operator(;) ident(stmp) operator(=) ident(s)operator(;) operator(}) reserved(if) operator(()ident(fnmatch_helper)operator((&)ident(p)operator(,) operator(&)ident(s)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(while) operator((*)ident(s) operator(&&) operator(*)ident(s) operator(!=) char('/')operator(\)) ident(Inc)operator(()ident(s)operator(\);) reserved(if) operator((*)ident(p) operator(&&) operator(*)ident(s)operator(\)) operator({) ident(p)operator(++;) ident(s)operator(++;) reserved(continue)operator(;) operator(}) reserved(if) operator((!*)ident(p) operator(&&) operator(!*)ident(s)operator(\)) reserved(return) integer(0)operator(;) operator(}) comment(/* failed : try next recursion */) reserved(if) operator(()ident(ptmp) operator(&&) ident(stmp) operator(&&) operator(!()ident(period) operator(&&) operator(*)ident(stmp) operator(==) char('.')operator(\)\)) operator({) reserved(while) operator((*)ident(stmp) operator(&&) operator(*)ident(stmp) operator(!=) char('/')operator(\)) ident(Inc)operator(()ident(stmp)operator(\);) reserved(if) operator((*)ident(stmp)operator(\)) operator({) ident(p) operator(=) ident(ptmp)operator(;) ident(stmp)operator(++;) ident(s) operator(=) ident(stmp)operator(;) reserved(continue)operator(;) operator(}) operator(}) reserved(return) ident(FNM_NOMATCH)operator(;) operator(}) operator(}) reserved(else) reserved(return) ident(fnmatch_helper)operator((&)ident(p)operator(,) operator(&)ident(s)operator(,) ident(flags)operator(\);) operator(}) ident(VALUE) ident(rb_cDir)operator(;) reserved(struct) ident(dir_data) operator({) ident(DIR) operator(*)ident(dir)operator(;) pre_type(char) operator(*)ident(path)operator(;) operator(};) directive(static) directive(void) ident(free_dir)operator(()ident(dir)operator(\)) reserved(struct) ident(dir_data) operator(*)ident(dir)operator(;) operator({) reserved(if) operator(()ident(dir)operator(\)) operator({) reserved(if) operator(()ident(dir)operator(->)ident(dir)operator(\)) ident(closedir)operator(()ident(dir)operator(->)ident(dir)operator(\);) reserved(if) operator(()ident(dir)operator(->)ident(path)operator(\)) ident(free)operator(()ident(dir)operator(->)ident(path)operator(\);) operator(}) ident(free)operator(()ident(dir)operator(\);) operator(}) directive(static) ident(VALUE) ident(dir_close) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(dir_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(dir_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) ident(VALUE) ident(obj) operator(=) ident(Data_Make_Struct)operator(()ident(klass)operator(,) reserved(struct) ident(dir_data)operator(,) integer(0)operator(,) ident(free_dir)operator(,) ident(dirp)operator(\);) ident(dirp)operator(->)ident(dir) operator(=) pre_constant(NULL)operator(;) ident(dirp)operator(->)ident(path) operator(=) pre_constant(NULL)operator(;) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * Dir.new( string \) -> aDir * * Returns a new directory object for the named directory. */) directive(static) ident(VALUE) ident(dir_initialize)operator(()ident(dir)operator(,) ident(dirname)operator(\)) ident(VALUE) ident(dir)operator(,) ident(dirname)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dp)operator(;) ident(SafeStringValue)operator(()ident(dirname)operator(\);) ident(Data_Get_Struct)operator(()ident(dir)operator(,) reserved(struct) ident(dir_data)operator(,) ident(dp)operator(\);) reserved(if) operator(()ident(dp)operator(->)ident(dir)operator(\)) ident(closedir)operator(()ident(dp)operator(->)ident(dir)operator(\);) reserved(if) operator(()ident(dp)operator(->)ident(path)operator(\)) ident(free)operator(()ident(dp)operator(->)ident(path)operator(\);) ident(dp)operator(->)ident(dir) operator(=) pre_constant(NULL)operator(;) ident(dp)operator(->)ident(path) operator(=) pre_constant(NULL)operator(;) ident(dp)operator(->)ident(dir) operator(=) ident(opendir)operator(()ident(RSTRING)operator(()ident(dirname)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(dp)operator(->)ident(dir) operator(==) pre_constant(NULL)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EMFILE) operator(||) ident(errno) operator(==) ident(ENFILE)operator(\)) operator({) ident(rb_gc)operator((\);) ident(dp)operator(->)ident(dir) operator(=) ident(opendir)operator(()ident(RSTRING)operator(()ident(dirname)operator(\)->)ident(ptr)operator(\);) operator(}) reserved(if) operator(()ident(dp)operator(->)ident(dir) operator(==) pre_constant(NULL)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(dirname)operator(\)->)ident(ptr)operator(\);) operator(}) operator(}) ident(dp)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(RSTRING)operator(()ident(dirname)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(dir)operator(;) operator(}) comment(/* * call-seq: * Dir.open( string \) => aDir * Dir.open( string \) {| aDir | block } => anObject * * With no block, open is a synonym for * Dir::new. If a block is present, it is passed * aDir as a parameter. The directory is closed at the end of * the block, and Dir::open returns the value of the * block. */) directive(static) ident(VALUE) ident(dir_s_open)operator(()ident(klass)operator(,) ident(dirname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(dirname)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dp)operator(;) ident(VALUE) ident(dir) operator(=) ident(Data_Make_Struct)operator(()ident(klass)operator(,) reserved(struct) ident(dir_data)operator(,) integer(0)operator(,) ident(free_dir)operator(,) ident(dp)operator(\);) ident(dir_initialize)operator(()ident(dir)operator(,) ident(dirname)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(dir)operator(,) ident(dir_close)operator(,) ident(dir)operator(\);) operator(}) reserved(return) ident(dir)operator(;) operator(}) directive(static) directive(void) ident(dir_closed)operator((\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) directive(static) directive(void) ident(dir_check)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(dir)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) ident(rb_check_frozen)operator(()ident(dir)operator(\);) operator(}) preprocessor(#define) ident(GetDIR)operator(()ident(obj)operator(,) ident(dirp)operator(\)) reserved(do) operator({)\ ident(dir_check)operator(()ident(dir)operator(\);)\ ident(Data_Get_Struct)operator(()ident(obj)operator(,) reserved(struct) ident(dir_data)operator(,) ident(dirp)operator(\);)\ reserved(if) operator(()ident(dirp)operator(->)ident(dir) operator(==) pre_constant(NULL)operator(\)) ident(dir_closed)operator((\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* * call-seq: * dir.inspect => string * * Return a string describing this Dir object. */) directive(static) ident(VALUE) ident(dir_inspect)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) reserved(if) operator(()ident(dirp)operator(->)ident(path)operator(\)) operator({) pre_type(char) operator(*)ident(c) operator(=) ident(rb_obj_classname)operator(()ident(dir)operator(\);) pre_type(int) ident(len) operator(=) ident(strlen)operator(()ident(c)operator(\)) operator(+) ident(strlen)operator(()ident(dirp)operator(->)ident(path)operator(\)) operator(+) integer(4)operator(;) ident(VALUE) ident(s) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(RSTRING_PTR)operator(()ident(s)operator(\),) ident(len)operator(+)integer(1)operator(,) string)delimiter(")>operator(,) ident(c)operator(,) ident(dirp)operator(->)ident(path)operator(\);) reserved(return) ident(s)operator(;) operator(}) reserved(return) ident(rb_funcall)operator(()ident(dir)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * dir.path => string or nil * * Returns the path parameter passed to dir's constructor. * * d = Dir.new(".."\) * d.path #=> ".." */) directive(static) ident(VALUE) ident(dir_path)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) reserved(if) operator((!)ident(dirp)operator(->)ident(path)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_str_new2)operator(()ident(dirp)operator(->)ident(path)operator(\);) operator(}) comment(/* * call-seq: * dir.read => string or nil * * Reads the next entry from dir and returns it as a string. * Returns nil at the end of the stream. * * d = Dir.new("testdir"\) * d.read #=> "." * d.read #=> ".." * d.read #=> "config.h" */) directive(static) ident(VALUE) ident(dir_read)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) reserved(struct) ident(dirent) operator(*)ident(dp)operator(;) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(dp) operator(=) ident(readdir)operator(()ident(dirp)operator(->)ident(dir)operator(\);) reserved(if) operator(()ident(dp)operator(\)) operator({) reserved(return) ident(rb_tainted_str_new)operator(()ident(dp)operator(->)ident(d_name)operator(,) ident(NAMLEN)operator(()ident(dp)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(errno) operator(==) integer(0)operator(\)) operator({) comment(/* end of stream */) reserved(return) ident(Qnil)operator(;) operator(}) reserved(else) operator({) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call-seq: * dir.each { |filename| block } => dir * * Calls the block once for each entry in this directory, passing the * filename of each entry as a parameter to the block. * * d = Dir.new("testdir"\) * d.each {|x| puts "Got #{x}" } * * produces: * * Got . * Got .. * Got config.h * Got main.rb */) directive(static) ident(VALUE) ident(dir_each)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) reserved(struct) ident(dirent) operator(*)ident(dp)operator(;) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) ident(rewinddir)operator(()ident(dirp)operator(->)ident(dir)operator(\);) reserved(for) operator(()ident(dp) operator(=) ident(readdir)operator(()ident(dirp)operator(->)ident(dir)operator(\);) ident(dp) operator(!=) pre_constant(NULL)operator(;) ident(dp) operator(=) ident(readdir)operator(()ident(dirp)operator(->)ident(dir)operator(\)\)) operator({) ident(rb_yield)operator(()ident(rb_tainted_str_new)operator(()ident(dp)operator(->)ident(d_name)operator(,) ident(NAMLEN)operator(()ident(dp)operator(\)\)\);) reserved(if) operator(()ident(dirp)operator(->)ident(dir) operator(==) pre_constant(NULL)operator(\)) ident(dir_closed)operator((\);) operator(}) reserved(return) ident(dir)operator(;) operator(}) comment(/* * call-seq: * dir.pos => integer * dir.tell => integer * * Returns the current position in dir. See also * Dir#seek. * * d = Dir.new("testdir"\) * d.tell #=> 0 * d.read #=> "." * d.tell #=> 12 */) directive(static) ident(VALUE) ident(dir_tell)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_TELLDIR) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) pre_type(long) ident(pos)operator(;) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) ident(pos) operator(=) ident(telldir)operator(()ident(dirp)operator(->)ident(dir)operator(\);) reserved(return) ident(rb_int2inum)operator(()ident(pos)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * dir.seek( integer \) => dir * * Seeks to a particular location in dir. integer * must be a value returned by Dir#tell. * * d = Dir.new("testdir"\) #=> # * d.read #=> "." * i = d.tell #=> 12 * d.read #=> ".." * d.seek(i\) #=> # * d.read #=> ".." */) directive(static) ident(VALUE) ident(dir_seek)operator(()ident(dir)operator(,) ident(pos)operator(\)) ident(VALUE) ident(dir)operator(,) ident(pos)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) ident(off_t) ident(p) operator(=) ident(NUM2OFFT)operator(()ident(pos)operator(\);) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) preprocessor(#ifdef) ident(HAVE_SEEKDIR) ident(seekdir)operator(()ident(dirp)operator(->)ident(dir)operator(,) ident(p)operator(\);) reserved(return) ident(dir)operator(;) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * dir.pos( integer \) => integer * * Synonym for Dir#seek, but returns the position * parameter. * * d = Dir.new("testdir"\) #=> # * d.read #=> "." * i = d.pos #=> 12 * d.read #=> ".." * d.pos = i #=> 12 * d.read #=> ".." */) directive(static) ident(VALUE) ident(dir_set_pos)operator(()ident(dir)operator(,) ident(pos)operator(\)) ident(VALUE) ident(dir)operator(,) ident(pos)operator(;) operator({) ident(dir_seek)operator(()ident(dir)operator(,) ident(pos)operator(\);) reserved(return) ident(pos)operator(;) operator(}) comment(/* * call-seq: * dir.rewind => dir * * Repositions dir to the first entry. * * d = Dir.new("testdir"\) * d.read #=> "." * d.rewind #=> # * d.read #=> "." */) directive(static) ident(VALUE) ident(dir_rewind)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(dir)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) ident(rewinddir)operator(()ident(dirp)operator(->)ident(dir)operator(\);) reserved(return) ident(dir)operator(;) operator(}) comment(/* * call-seq: * dir.close => nil * * Closes the directory stream. Any further attempts to access * dir will raise an IOError. * * d = Dir.new("testdir"\) * d.close #=> nil */) directive(static) ident(VALUE) ident(dir_close)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) reserved(struct) ident(dir_data) operator(*)ident(dirp)operator(;) ident(GetDIR)operator(()ident(dir)operator(,) ident(dirp)operator(\);) ident(closedir)operator(()ident(dirp)operator(->)ident(dir)operator(\);) ident(dirp)operator(->)ident(dir) operator(=) pre_constant(NULL)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) directive(void) ident(dir_chdir)operator(()ident(path)operator(\)) ident(VALUE) ident(path)operator(;) operator({) reserved(if) operator(()ident(chdir)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) operator(}) directive(static) pre_type(int) ident(chdir_blocking) operator(=) integer(0)operator(;) directive(static) ident(VALUE) ident(chdir_thread) operator(=) ident(Qnil)operator(;) reserved(struct) ident(chdir_data) operator({) ident(VALUE) ident(old_path)operator(,) ident(new_path)operator(;) pre_type(int) ident(done)operator(;) operator(};) directive(static) ident(VALUE) ident(chdir_yield)operator(()ident(args)operator(\)) reserved(struct) ident(chdir_data) operator(*)ident(args)operator(;) operator({) ident(dir_chdir)operator(()ident(args)operator(->)ident(new_path)operator(\);) ident(args)operator(->)ident(done) operator(=) ident(Qtrue)operator(;) ident(chdir_blocking)operator(++;) reserved(if) operator(()ident(chdir_thread) operator(==) ident(Qnil)operator(\)) ident(chdir_thread) operator(=) ident(rb_thread_current)operator((\);) reserved(return) ident(rb_yield)operator(()ident(args)operator(->)ident(new_path)operator(\);) operator(}) directive(static) ident(VALUE) ident(chdir_restore)operator(()ident(args)operator(\)) reserved(struct) ident(chdir_data) operator(*)ident(args)operator(;) operator({) reserved(if) operator(()ident(args)operator(->)ident(done)operator(\)) operator({) ident(chdir_blocking)operator(--;) reserved(if) operator(()ident(chdir_blocking) operator(==) integer(0)operator(\)) ident(chdir_thread) operator(=) ident(Qnil)operator(;) ident(dir_chdir)operator(()ident(args)operator(->)ident(old_path)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Dir.chdir( [ string] \) => 0 * Dir.chdir( [ string] \) {| path | block } => anObject * * Changes the current working directory of the process to the given * string. When called without an argument, changes the directory to * the value of the environment variable HOME, or * LOGDIR. SystemCallError (probably * Errno::ENOENT\) if the target directory does not exist. * * If a block is given, it is passed the name of the new current * directory, and the block is executed with that as the current * directory. The original working directory is restored when the block * exits. The return value of chdir is the value of the * block. chdir blocks can be nested, but in a * multi-threaded program an error will be raised if a thread attempts * to open a chdir block while another thread has one * open. * * Dir.chdir("/var/spool/mail"\) * puts Dir.pwd * Dir.chdir("/tmp"\) do * puts Dir.pwd * Dir.chdir("/usr"\) do * puts Dir.pwd * end * puts Dir.pwd * end * puts Dir.pwd * * produces: * * /var/spool/mail * /tmp * /usr * /tmp * /var/spool/mail */) directive(static) ident(VALUE) ident(dir_s_chdir)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(path) operator(=) ident(Qnil)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(path)operator(\)) operator(==) integer(1)operator(\)) operator({) ident(SafeStringValue)operator(()ident(path)operator(\);) operator(}) reserved(else) operator({) directive(const) pre_type(char) operator(*)ident(dist) operator(=) ident(getenv)operator(()stringoperator(\);) reserved(if) operator((!)ident(dist)operator(\)) operator({) ident(dist) operator(=) ident(getenv)operator(()stringoperator(\);) reserved(if) operator((!)ident(dist)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(path) operator(=) ident(rb_str_new2)operator(()ident(dist)operator(\);) operator(}) reserved(if) operator(()ident(chdir_blocking) operator(>) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(rb_block_given_p)operator((\)) operator(||) ident(rb_thread_current)operator((\)) operator(!=) ident(chdir_thread)operator(\)) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(struct) ident(chdir_data) ident(args)operator(;) pre_type(char) operator(*)ident(cwd) operator(=) ident(my_getcwd)operator((\);) ident(args)operator(.)ident(old_path) operator(=) ident(rb_tainted_str_new2)operator(()ident(cwd)operator(\);) ident(free)operator(()ident(cwd)operator(\);) ident(args)operator(.)ident(new_path) operator(=) ident(path)operator(;) ident(args)operator(.)ident(done) operator(=) ident(Qfalse)operator(;) reserved(return) ident(rb_ensure)operator(()ident(chdir_yield)operator(,) operator(()ident(VALUE)operator(\)&)ident(args)operator(,) ident(chdir_restore)operator(,) operator(()ident(VALUE)operator(\)&)ident(args)operator(\);) operator(}) ident(dir_chdir)operator(()ident(path)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * Dir.getwd => string * Dir.pwd => string * * Returns the path to the current working directory of this process as * a string. * * Dir.chdir("/tmp"\) #=> 0 * Dir.getwd #=> "/tmp" */) directive(static) ident(VALUE) ident(dir_s_getwd)operator(()ident(dir)operator(\)) ident(VALUE) ident(dir)operator(;) operator({) pre_type(char) operator(*)ident(path)operator(;) ident(VALUE) ident(cwd)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(path) operator(=) ident(my_getcwd)operator((\);) ident(cwd) operator(=) ident(rb_tainted_str_new2)operator(()ident(path)operator(\);) ident(free)operator(()ident(path)operator(\);) reserved(return) ident(cwd)operator(;) operator(}) directive(static) directive(void) ident(check_dirname) ident(_)operator((()directive(volatile) ident(VALUE) operator(*\)\);) directive(static) directive(void) ident(check_dirname)operator(()ident(dir)operator(\)) directive(volatile) ident(VALUE) operator(*)ident(dir)operator(;) operator({) pre_type(char) operator(*)ident(path)operator(,) operator(*)ident(pend)operator(;) ident(SafeStringValue)operator((*)ident(dir)operator(\);) ident(rb_secure)operator(()integer(2)operator(\);) ident(path) operator(=) ident(RSTRING)operator((*)ident(dir)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(path) operator(&&) operator(*()ident(pend) operator(=) ident(rb_path_end)operator(()ident(rb_path_skip_prefix)operator(()ident(path)operator(\)\)\)\)) operator({) operator(*)ident(dir) operator(=) ident(rb_str_new)operator(()ident(path)operator(,) ident(pend) operator(-) ident(path)operator(\);) operator(}) operator(}) comment(/* * call-seq: * Dir.chroot( string \) => 0 * * Changes this process's idea of the file system root. Only a * privileged process may make this call. Not available on all * platforms. On Unix systems, see chroot(2\) for more * information. */) directive(static) ident(VALUE) ident(dir_s_chroot)operator(()ident(dir)operator(,) ident(path)operator(\)) ident(VALUE) ident(dir)operator(,) ident(path)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_CHROOT)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) ident(check_dirname)operator((&)ident(path)operator(\);) reserved(if) operator(()ident(chroot)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * Dir.mkdir( string [, integer] \) => 0 * * Makes a new directory named by string, with permissions * specified by the optional parameter anInteger. The * permissions may be modified by the value of * File::umask, and are ignored on NT. Raises a * SystemCallError if the directory cannot be created. See * also the discussion of permissions in the class documentation for * File. * */) directive(static) ident(VALUE) ident(dir_s_mkdir)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(path)operator(,) ident(vmode)operator(;) pre_type(int) ident(mode)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(path)operator(,) operator(&)ident(vmode)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(mode) operator(=) ident(NUM2INT)operator(()ident(vmode)operator(\);) operator(}) reserved(else) operator({) ident(mode) operator(=) oct(0777)operator(;) operator(}) ident(check_dirname)operator((&)ident(path)operator(\);) reserved(if) operator(()ident(mkdir)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(,) ident(mode)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * Dir.delete( string \) => 0 * Dir.rmdir( string \) => 0 * Dir.unlink( string \) => 0 * * Deletes the named directory. Raises a subclass of * SystemCallError if the directory isn't empty. */) directive(static) ident(VALUE) ident(dir_s_rmdir)operator(()ident(obj)operator(,) ident(dir)operator(\)) ident(VALUE) ident(obj)operator(,) ident(dir)operator(;) operator({) ident(check_dirname)operator((&)ident(dir)operator(\);) reserved(if) operator(()ident(rmdir)operator(()ident(RSTRING)operator(()ident(dir)operator(\)->)ident(ptr)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(dir)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) directive(static) directive(void) ident(sys_warning_1)operator(()ident(mesg)operator(\)) directive(const) pre_type(char)operator(*) ident(mesg)operator(;) operator({) ident(rb_sys_warning)operator(()stringoperator(,) ident(mesg)operator(\);) operator(}) preprocessor(#define) ident(GLOB_VERBOSE) operator(()integer(1)ident(UL) operator(<<) operator(()reserved(sizeof)operator(()pre_type(int)operator(\)) operator(*) ident(CHAR_BIT) operator(-) integer(1)operator(\)\)) preprocessor(#define) ident(sys_warning)operator(()ident(val)operator(\)) \ operator(()directive(void)operator(\)(()ident(flags) operator(&) ident(GLOB_VERBOSE)operator(\)) operator(&&) ident(rb_protect)operator((()ident(VALUE) operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(sys_warning_1)operator(,) operator(()ident(VALUE)operator(\)()ident(val)operator(\),) integer(0)operator(\)\)) preprocessor(#define) ident(GLOB_ALLOC)operator(()ident(type)operator(\)) operator(()ident(type) operator(*\))ident(malloc)operator(()reserved(sizeof)operator(()ident(type)operator(\)\)) preprocessor(#define) ident(GLOB_ALLOC_N)operator(()ident(type)operator(,) ident(n)operator(\)) operator(()ident(type) operator(*\))ident(malloc)operator(()reserved(sizeof)operator(()ident(type)operator(\)) operator(*) operator(()ident(n)operator(\)\)) preprocessor(#define) ident(GLOB_JUMP_TAG)operator(()ident(status)operator(\)) operator((()ident(status) operator(==) operator(-)integer(1)operator(\)) operator(?) ident(rb_memerror)operator((\)) operator(:) ident(rb_jump_tag)operator(()ident(status)operator(\)\)) comment(/* * ENOTDIR can be returned by stat(2\) if a non-leaf element of the path * is not a directory. */) preprocessor(#define) ident(to_be_ignored)operator(()ident(e)operator(\)) operator((()ident(e)operator(\)) operator(==) ident(ENOENT) operator(||) operator(()ident(e)operator(\)) operator(==) ident(ENOTDIR)operator(\)) comment(/* System call with warning */) directive(static) pre_type(int) ident(do_stat)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(,) reserved(struct) ident(stat) operator(*)ident(pst)operator(,) pre_type(int) ident(flags)operator(\)) operator({) pre_type(int) ident(ret) operator(=) ident(stat)operator(()ident(path)operator(,) ident(pst)operator(\);) reserved(if) operator(()ident(ret) operator(<) integer(0) operator(&&) operator(!)ident(to_be_ignored)operator(()ident(errno)operator(\)\)) ident(sys_warning)operator(()ident(path)operator(\);) reserved(return) ident(ret)operator(;) operator(}) directive(static) pre_type(int) ident(do_lstat)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(,) reserved(struct) ident(stat) operator(*)ident(pst)operator(,) pre_type(int) ident(flags)operator(\)) operator({) pre_type(int) ident(ret) operator(=) ident(lstat)operator(()ident(path)operator(,) ident(pst)operator(\);) reserved(if) operator(()ident(ret) operator(<) integer(0) operator(&&) operator(!)ident(to_be_ignored)operator(()ident(errno)operator(\)\)) ident(sys_warning)operator(()ident(path)operator(\);) reserved(return) ident(ret)operator(;) operator(}) directive(static) ident(DIR) operator(*) ident(do_opendir)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(,) pre_type(int) ident(flags)operator(\)) operator({) ident(DIR) operator(*)ident(dirp) operator(=) ident(opendir)operator(()ident(path)operator(\);) reserved(if) operator(()ident(dirp) operator(==) pre_constant(NULL) operator(&&) operator(!)ident(to_be_ignored)operator(()ident(errno)operator(\)\)) ident(sys_warning)operator(()ident(path)operator(\);) reserved(return) ident(dirp)operator(;) operator(}) comment(/* Return nonzero if S has any special globbing chars in it. */) directive(static) pre_type(int) ident(has_magic)operator(()ident(s)operator(,) ident(flags)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(int) ident(flags)operator(;) operator({) directive(const) pre_type(int) ident(escape) operator(=) operator(!()ident(flags) operator(&) ident(FNM_NOESCAPE)operator(\);) directive(const) pre_type(int) ident(nocase) operator(=) ident(flags) operator(&) ident(FNM_CASEFOLD)operator(;) directive(register) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(s)operator(;) directive(register) pre_type(char) ident(c)operator(;) reserved(while) operator(()ident(c) operator(=) operator(*)ident(p)operator(++\)) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('*')operator(:) reserved(case) char('?')operator(:) reserved(case) char('[')operator(:) reserved(return) integer(1)operator(;) reserved(case) char('\\\\')operator(:) reserved(if) operator(()ident(escape) operator(&&) operator(!()ident(c) operator(=) operator(*)ident(p)operator(++\)\)) reserved(return) integer(0)operator(;) reserved(continue)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(FNM_SYSCASE) operator(&&) ident(ISALPHA)operator(()ident(c)operator(\)) operator(&&) ident(nocase)operator(\)) reserved(return) integer(1)operator(;) operator(}) ident(p) operator(=) ident(Next)operator(()ident(p)operator(-)integer(1)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/* Find separator in globbing pattern. */) directive(static) pre_type(char) operator(*) ident(find_dirsep)operator(()directive(const) pre_type(char) operator(*)ident(s)operator(,) pre_type(int) ident(flags)operator(\)) operator({) directive(const) pre_type(int) ident(escape) operator(=) operator(!()ident(flags) operator(&) ident(FNM_NOESCAPE)operator(\);) directive(register) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(s)operator(;) directive(register) pre_type(char) ident(c)operator(;) pre_type(int) ident(open) operator(=) integer(0)operator(;) reserved(while) operator(()ident(c) operator(=) operator(*)ident(p)operator(++\)) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('[')operator(:) ident(open) operator(=) integer(1)operator(;) reserved(continue)operator(;) reserved(case) char(']')operator(:) ident(open) operator(=) integer(0)operator(;) reserved(continue)operator(;) reserved(case) char('/')operator(:) reserved(if) operator((!)ident(open)operator(\)) reserved(return) operator(()pre_type(char) operator(*\))ident(p)operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('\\\\')operator(:) reserved(if) operator(()ident(escape) operator(&&) operator(!()ident(c) operator(=) operator(*)ident(p)operator(++\)\)) reserved(return) operator(()pre_type(char) operator(*\))ident(p)operator(-)integer(1)operator(;) reserved(continue)operator(;) operator(}) ident(p) operator(=) ident(Next)operator(()ident(p)operator(-)integer(1)operator(\);) operator(}) reserved(return) operator(()pre_type(char) operator(*\))ident(p)operator(-)integer(1)operator(;) operator(}) comment(/* Remove escaping backslashes */) directive(static) directive(void) ident(remove_backslashes)operator(()ident(p)operator(\)) pre_type(char) operator(*)ident(p)operator(;) operator({) pre_type(char) operator(*)ident(t) operator(=) ident(p)operator(;) pre_type(char) operator(*)ident(s) operator(=) ident(p)operator(;) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('\\\\')operator(\)) operator({) reserved(if) operator(()ident(t) operator(!=) ident(s)operator(\)) ident(memmove)operator(()ident(t)operator(,) ident(s)operator(,) ident(p) operator(-) ident(s)operator(\);) ident(t) operator(+=) ident(p) operator(-) ident(s)operator(;) ident(s) operator(=) operator(++)ident(p)operator(;) reserved(if) operator((!*)ident(p)operator(\)) reserved(break)operator(;) operator(}) ident(Inc)operator(()ident(p)operator(\);) operator(}) reserved(while) operator((*)ident(p)operator(++\);) reserved(if) operator(()ident(t) operator(!=) ident(s)operator(\)) ident(memmove)operator(()ident(t)operator(,) ident(s)operator(,) ident(p) operator(-) ident(s)operator(\);) comment(/* move '\\0' too */) operator(}) comment(/* Globing pattern */) reserved(enum) ident(glob_pattern_type) operator({) ident(PLAIN)operator(,) ident(MAGICAL)operator(,) ident(RECURSIVE)operator(,) ident(MATCH_ALL)operator(,) ident(MATCH_DIR) operator(};) reserved(struct) ident(glob_pattern) operator({) pre_type(char) operator(*)ident(str)operator(;) reserved(enum) ident(glob_pattern_type) ident(type)operator(;) reserved(struct) ident(glob_pattern) operator(*)ident(next)operator(;) operator(};) directive(static) directive(void) ident(glob_free_pattern)operator(()reserved(struct) ident(glob_pattern) operator(*)ident(list)operator(\);) directive(static) reserved(struct) ident(glob_pattern) operator(*) ident(glob_make_pattern)operator(()directive(const) pre_type(char) operator(*)ident(p)operator(,) pre_type(int) ident(flags)operator(\)) operator({) reserved(struct) ident(glob_pattern) operator(*)ident(list)operator(,) operator(*)ident(tmp)operator(,) operator(**)ident(tail) operator(=) operator(&)ident(list)operator(;) pre_type(int) ident(dirsep) operator(=) integer(0)operator(;) comment(/* pattern is terminated with '/' */) reserved(while) operator((*)ident(p)operator(\)) operator({) ident(tmp) operator(=) ident(GLOB_ALLOC)operator(()reserved(struct) ident(glob_pattern)operator(\);) reserved(if) operator((!)ident(tmp)operator(\)) reserved(goto) ident(error)operator(;) reserved(if) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(1)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(2)operator(]) operator(==) char('/')operator(\)) operator({) comment(/* fold continuous RECURSIVEs (needed in glob_helper\) */) reserved(do) operator({) ident(p) operator(+=) integer(3)operator(;) operator(}) reserved(while) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(1)operator(]) operator(==) char('*') operator(&&) ident(p)operator([)integer(2)operator(]) operator(==) char('/')operator(\);) ident(tmp)operator(->)ident(type) operator(=) ident(RECURSIVE)operator(;) ident(tmp)operator(->)ident(str) operator(=) integer(0)operator(;) ident(dirsep) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) directive(const) pre_type(char) operator(*)ident(m) operator(=) ident(find_dirsep)operator(()ident(p)operator(,) ident(flags)operator(\);) pre_type(char) operator(*)ident(buf) operator(=) ident(GLOB_ALLOC_N)operator(()pre_type(char)operator(,) ident(m)operator(-)ident(p)operator(+)integer(1)operator(\);) reserved(if) operator((!)ident(buf)operator(\)) operator({) ident(free)operator(()ident(tmp)operator(\);) reserved(goto) ident(error)operator(;) operator(}) ident(memcpy)operator(()ident(buf)operator(,) ident(p)operator(,) ident(m)operator(-)ident(p)operator(\);) ident(buf)operator([)ident(m)operator(-)ident(p)operator(]) operator(=) char('\\0')operator(;) ident(tmp)operator(->)ident(type) operator(=) ident(has_magic)operator(()ident(buf)operator(,) ident(flags)operator(\)) operator(?) ident(MAGICAL) operator(:) ident(PLAIN)operator(;) ident(tmp)operator(->)ident(str) operator(=) ident(buf)operator(;) reserved(if) operator((*)ident(m)operator(\)) operator({) ident(dirsep) operator(=) integer(1)operator(;) ident(p) operator(=) ident(m) operator(+) integer(1)operator(;) operator(}) reserved(else) operator({) ident(dirsep) operator(=) integer(0)operator(;) ident(p) operator(=) ident(m)operator(;) operator(}) operator(}) operator(*)ident(tail) operator(=) ident(tmp)operator(;) ident(tail) operator(=) operator(&)ident(tmp)operator(->)ident(next)operator(;) operator(}) ident(tmp) operator(=) ident(GLOB_ALLOC)operator(()reserved(struct) ident(glob_pattern)operator(\);) reserved(if) operator((!)ident(tmp)operator(\)) operator({) label(error:) operator(*)ident(tail) operator(=) integer(0)operator(;) ident(glob_free_pattern)operator(()ident(list)operator(\);) reserved(return) integer(0)operator(;) operator(}) ident(tmp)operator(->)ident(type) operator(=) ident(dirsep) operator(?) ident(MATCH_DIR) operator(:) ident(MATCH_ALL)operator(;) ident(tmp)operator(->)ident(str) operator(=) integer(0)operator(;) operator(*)ident(tail) operator(=) ident(tmp)operator(;) ident(tmp)operator(->)ident(next) operator(=) integer(0)operator(;) reserved(return) ident(list)operator(;) operator(}) directive(static) directive(void) ident(glob_free_pattern)operator(()reserved(struct) ident(glob_pattern) operator(*)ident(list)operator(\)) operator({) reserved(while) operator(()ident(list)operator(\)) operator({) reserved(struct) ident(glob_pattern) operator(*)ident(tmp) operator(=) ident(list)operator(;) ident(list) operator(=) ident(list)operator(->)ident(next)operator(;) reserved(if) operator(()ident(tmp)operator(->)ident(str)operator(\)) ident(free)operator(()ident(tmp)operator(->)ident(str)operator(\);) ident(free)operator(()ident(tmp)operator(\);) operator(}) operator(}) directive(static) pre_type(char) operator(*) ident(join_path)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(,) pre_type(int) ident(dirsep)operator(,) directive(const) pre_type(char) operator(*)ident(name)operator(\)) operator({) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(path)operator(\);) pre_type(char) operator(*)ident(buf) operator(=) ident(GLOB_ALLOC_N)operator(()pre_type(char)operator(,) ident(len)operator(+)ident(strlen)operator(()ident(name)operator(\)+()ident(dirsep)operator(?)integer(1)operator(:)integer(0)operator(\)+)integer(1)operator(\);) reserved(if) operator((!)ident(buf)operator(\)) reserved(return) integer(0)operator(;) ident(memcpy)operator(()ident(buf)operator(,) ident(path)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(dirsep)operator(\)) operator({) ident(strcpy)operator(()ident(buf)operator(+)ident(len)operator(,) stringoperator(\);) ident(len)operator(++;) operator(}) ident(strcpy)operator(()ident(buf)operator(+)ident(len)operator(,) ident(name)operator(\);) reserved(return) ident(buf)operator(;) operator(}) reserved(enum) ident(answer) operator({) ident(YES)operator(,) ident(NO)operator(,) ident(UNKNOWN) operator(};) preprocessor(#ifndef) ident(S_ISLNK) preprocessor(# ifndef) ident(S_IFLNK) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) operator(()integer(0)operator(\)) preprocessor(# else) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFLNK)operator(\)) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifndef) ident(S_ISDIR) preprocessor(# define) ident(S_ISDIR)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFDIR)operator(\)) preprocessor(#endif) reserved(struct) ident(glob_args) operator({) directive(void) operator((*)ident(func)operator(\)) ident(_)operator((()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) directive(const) pre_type(char) operator(*)ident(c)operator(;) ident(VALUE) ident(v)operator(;) operator(};) directive(static) ident(VALUE) ident(glob_func_caller) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(glob_func_caller)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(struct) ident(glob_args) operator(*)ident(args) operator(=) operator(()reserved(struct) ident(glob_args) operator(*\))ident(val)operator(;) operator((*)ident(args)operator(->)ident(func)operator(\)()ident(args)operator(->)ident(c)operator(,) ident(args)operator(->)ident(v)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) preprocessor(#define) ident(glob_call_func)operator(()ident(func)operator(,) ident(path)operator(,) ident(arg)operator(\)) operator((*)ident(func)operator(\)()ident(path)operator(,) ident(arg)operator(\)) directive(static) pre_type(int) ident(glob_helper) ident(_)operator((()directive(const) pre_type(char) operator(*,) pre_type(int)operator(,) reserved(enum) ident(answer)operator(,) reserved(enum) ident(answer)operator(,) reserved(struct) ident(glob_pattern) operator(**,) reserved(struct) ident(glob_pattern) operator(**,) pre_type(int)operator(,) ident(ruby_glob_func) operator(*,) ident(VALUE)operator(\)\);) directive(static) pre_type(int) ident(glob_helper)operator(()ident(path)operator(,) ident(dirsep)operator(,) ident(exist)operator(,) ident(isdir)operator(,) ident(beg)operator(,) ident(end)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) pre_type(int) ident(dirsep)operator(;) comment(/* '/' should be placed before appending child entry's name to 'path'. */) reserved(enum) ident(answer) ident(exist)operator(;) comment(/* Does 'path' indicate an existing entry? */) reserved(enum) ident(answer) ident(isdir)operator(;) comment(/* Does 'path' indicate a directory or a symlink to a directory? */) reserved(struct) ident(glob_pattern) operator(**)ident(beg)operator(;) reserved(struct) ident(glob_pattern) operator(**)ident(end)operator(;) pre_type(int) ident(flags)operator(;) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(arg)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) pre_type(int) ident(status) operator(=) integer(0)operator(;) reserved(struct) ident(glob_pattern) operator(**)ident(cur)operator(,) operator(**)ident(new_beg)operator(,) operator(**)ident(new_end)operator(;) pre_type(int) ident(plain) operator(=) integer(0)operator(,) ident(magical) operator(=) integer(0)operator(,) ident(recursive) operator(=) integer(0)operator(,) ident(match_all) operator(=) integer(0)operator(,) ident(match_dir) operator(=) integer(0)operator(;) pre_type(int) ident(escape) operator(=) operator(!()ident(flags) operator(&) ident(FNM_NOESCAPE)operator(\);) reserved(for) operator(()ident(cur) operator(=) ident(beg)operator(;) ident(cur) operator(<) ident(end)operator(;) operator(++)ident(cur)operator(\)) operator({) reserved(struct) ident(glob_pattern) operator(*)ident(p) operator(=) operator(*)ident(cur)operator(;) reserved(if) operator(()ident(p)operator(->)ident(type) operator(==) ident(RECURSIVE)operator(\)) operator({) ident(recursive) operator(=) integer(1)operator(;) ident(p) operator(=) ident(p)operator(->)ident(next)operator(;) operator(}) reserved(switch) operator(()ident(p)operator(->)ident(type)operator(\)) operator({) reserved(case) ident(PLAIN)operator(:) ident(plain) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(MAGICAL)operator(:) ident(magical) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(MATCH_ALL)operator(:) ident(match_all) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(MATCH_DIR)operator(:) ident(match_dir) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(RECURSIVE)operator(:) ident(rb_bug)operator(()stringoperator(\);) operator(}) operator(}) reserved(if) operator((*)ident(path)operator(\)) operator({) reserved(if) operator(()ident(match_all) operator(&&) ident(exist) operator(==) ident(UNKNOWN)operator(\)) operator({) reserved(if) operator(()ident(do_lstat)operator(()ident(path)operator(,) operator(&)ident(st)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(exist) operator(=) ident(YES)operator(;) ident(isdir) operator(=) ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(?) ident(YES) operator(:) ident(S_ISLNK)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(?) ident(UNKNOWN) operator(:) ident(NO)operator(;) operator(}) reserved(else) operator({) ident(exist) operator(=) ident(NO)operator(;) ident(isdir) operator(=) ident(NO)operator(;) operator(}) operator(}) reserved(if) operator(()ident(match_dir) operator(&&) ident(isdir) operator(==) ident(UNKNOWN)operator(\)) operator({) reserved(if) operator(()ident(do_stat)operator(()ident(path)operator(,) operator(&)ident(st)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(exist) operator(=) ident(YES)operator(;) ident(isdir) operator(=) ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(?) ident(YES) operator(:) ident(NO)operator(;) operator(}) reserved(else) operator({) ident(exist) operator(=) ident(NO)operator(;) ident(isdir) operator(=) ident(NO)operator(;) operator(}) operator(}) reserved(if) operator(()ident(match_all) operator(&&) ident(exist) operator(==) ident(YES)operator(\)) operator({) ident(status) operator(=) ident(glob_call_func)operator(()ident(func)operator(,) ident(path)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(status)operator(\)) reserved(return) ident(status)operator(;) operator(}) reserved(if) operator(()ident(match_dir) operator(&&) ident(isdir) operator(==) ident(YES)operator(\)) operator({) pre_type(char) operator(*)ident(tmp) operator(=) ident(join_path)operator(()ident(path)operator(,) ident(dirsep)operator(,) stringoperator(\);) reserved(if) operator((!)ident(tmp)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(status) operator(=) ident(glob_call_func)operator(()ident(func)operator(,) ident(tmp)operator(,) ident(arg)operator(\);) ident(free)operator(()ident(tmp)operator(\);) reserved(if) operator(()ident(status)operator(\)) reserved(return) ident(status)operator(;) operator(}) operator(}) reserved(if) operator(()ident(exist) operator(==) ident(NO) operator(||) ident(isdir) operator(==) ident(NO)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(magical) operator(||) ident(recursive)operator(\)) operator({) reserved(struct) ident(dirent) operator(*)ident(dp)operator(;) ident(DIR) operator(*)ident(dirp) operator(=) ident(do_opendir)operator((*)ident(path) operator(?) ident(path) operator(:) stringoperator(,) ident(flags)operator(\);) reserved(if) operator(()ident(dirp) operator(==) pre_constant(NULL)operator(\)) reserved(return) integer(0)operator(;) reserved(for) operator(()ident(dp) operator(=) ident(readdir)operator(()ident(dirp)operator(\);) ident(dp) operator(!=) pre_constant(NULL)operator(;) ident(dp) operator(=) ident(readdir)operator(()ident(dirp)operator(\)\)) operator({) pre_type(char) operator(*)ident(buf) operator(=) ident(join_path)operator(()ident(path)operator(,) ident(dirsep)operator(,) ident(dp)operator(->)ident(d_name)operator(\);) reserved(enum) ident(answer) ident(new_isdir) operator(=) ident(UNKNOWN)operator(;) reserved(if) operator((!)ident(buf)operator(\)) operator({) ident(status) operator(=) operator(-)integer(1)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(recursive) operator(&&) ident(strcmp)operator(()ident(dp)operator(->)ident(d_name)operator(,) stringoperator(\)) operator(!=) integer(0) operator(&&) ident(strcmp)operator(()ident(dp)operator(->)ident(d_name)operator(,) stringoperator(\)) operator(!=) integer(0) operator(&&) ident(fnmatch)operator(()stringoperator(,) ident(dp)operator(->)ident(d_name)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) operator({) preprocessor(#ifndef) ident(_WIN32) reserved(if) operator(()ident(do_lstat)operator(()ident(buf)operator(,) operator(&)ident(st)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) ident(new_isdir) operator(=) ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(?) ident(YES) operator(:) ident(S_ISLNK)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(?) ident(UNKNOWN) operator(:) ident(NO)operator(;) reserved(else) ident(new_isdir) operator(=) ident(NO)operator(;) preprocessor(#else) ident(new_isdir) operator(=) ident(dp)operator(->)ident(d_isdir) operator(?) operator((!)ident(dp)operator(->)ident(d_isrep) operator(?) ident(YES) operator(:) ident(UNKNOWN)operator(\)) operator(:) ident(NO)operator(;) preprocessor(#endif) operator(}) ident(new_beg) operator(=) ident(new_end) operator(=) ident(GLOB_ALLOC_N)operator(()reserved(struct) ident(glob_pattern) operator(*,) operator(()ident(end) operator(-) ident(beg)operator(\)) operator(*) integer(2)operator(\);) reserved(if) operator((!)ident(new_beg)operator(\)) operator({) ident(status) operator(=) operator(-)integer(1)operator(;) reserved(break)operator(;) operator(}) reserved(for) operator(()ident(cur) operator(=) ident(beg)operator(;) ident(cur) operator(<) ident(end)operator(;) operator(++)ident(cur)operator(\)) operator({) reserved(struct) ident(glob_pattern) operator(*)ident(p) operator(=) operator(*)ident(cur)operator(;) reserved(if) operator(()ident(p)operator(->)ident(type) operator(==) ident(RECURSIVE)operator(\)) operator({) reserved(if) operator(()ident(new_isdir) operator(==) ident(YES)operator(\)) comment(/* not symlink but real directory */) operator(*)ident(new_end)operator(++) operator(=) ident(p)operator(;) comment(/* append recursive pattern */) ident(p) operator(=) ident(p)operator(->)ident(next)operator(;) comment(/* 0 times recursion */) operator(}) reserved(if) operator(()ident(p)operator(->)ident(type) operator(==) ident(PLAIN) operator(||) ident(p)operator(->)ident(type) operator(==) ident(MAGICAL)operator(\)) operator({) reserved(if) operator(()ident(fnmatch)operator(()ident(p)operator(->)ident(str)operator(,) ident(dp)operator(->)ident(d_name)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) operator(*)ident(new_end)operator(++) operator(=) ident(p)operator(->)ident(next)operator(;) operator(}) operator(}) ident(status) operator(=) ident(glob_helper)operator(()ident(buf)operator(,) integer(1)operator(,) ident(YES)operator(,) ident(new_isdir)operator(,) ident(new_beg)operator(,) ident(new_end)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\);) ident(free)operator(()ident(buf)operator(\);) ident(free)operator(()ident(new_beg)operator(\);) reserved(if) operator(()ident(status)operator(\)) reserved(break)operator(;) operator(}) ident(closedir)operator(()ident(dirp)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(plain)operator(\)) operator({) reserved(struct) ident(glob_pattern) operator(**)ident(copy_beg)operator(,) operator(**)ident(copy_end)operator(,) operator(**)ident(cur2)operator(;) ident(copy_beg) operator(=) ident(copy_end) operator(=) ident(GLOB_ALLOC_N)operator(()reserved(struct) ident(glob_pattern) operator(*,) ident(end) operator(-) ident(beg)operator(\);) reserved(if) operator((!)ident(copy_beg)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(for) operator(()ident(cur) operator(=) ident(beg)operator(;) ident(cur) operator(<) ident(end)operator(;) operator(++)ident(cur)operator(\)) operator(*)ident(copy_end)operator(++) operator(=) operator((*)ident(cur)operator(\)->)ident(type) operator(==) ident(PLAIN) operator(?) operator(*)ident(cur) operator(:) integer(0)operator(;) reserved(for) operator(()ident(cur) operator(=) ident(copy_beg)operator(;) ident(cur) operator(<) ident(copy_end)operator(;) operator(++)ident(cur)operator(\)) operator({) reserved(if) operator((*)ident(cur)operator(\)) operator({) pre_type(char) operator(*)ident(buf)operator(;) pre_type(char) operator(*)ident(name)operator(;) ident(name) operator(=) ident(GLOB_ALLOC_N)operator(()pre_type(char)operator(,) ident(strlen)operator(((*)ident(cur)operator(\)->)ident(str)operator(\)) operator(+) integer(1)operator(\);) reserved(if) operator((!)ident(name)operator(\)) operator({) ident(status) operator(=) operator(-)integer(1)operator(;) reserved(break)operator(;) operator(}) ident(strcpy)operator(()ident(name)operator(,) operator((*)ident(cur)operator(\)->)ident(str)operator(\);) reserved(if) operator(()ident(escape)operator(\)) ident(remove_backslashes)operator(()ident(name)operator(\);) ident(new_beg) operator(=) ident(new_end) operator(=) ident(GLOB_ALLOC_N)operator(()reserved(struct) ident(glob_pattern) operator(*,) ident(end) operator(-) ident(beg)operator(\);) reserved(if) operator((!)ident(new_beg)operator(\)) operator({) ident(free)operator(()ident(name)operator(\);) ident(status) operator(=) operator(-)integer(1)operator(;) reserved(break)operator(;) operator(}) operator(*)ident(new_end)operator(++) operator(=) operator((*)ident(cur)operator(\)->)ident(next)operator(;) reserved(for) operator(()ident(cur2) operator(=) ident(cur) operator(+) integer(1)operator(;) ident(cur2) operator(<) ident(copy_end)operator(;) operator(++)ident(cur2)operator(\)) operator({) reserved(if) operator((*)ident(cur2) operator(&&) ident(fnmatch)operator(((*)ident(cur2)operator(\)->)ident(str)operator(,) ident(name)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) operator({) operator(*)ident(new_end)operator(++) operator(=) operator((*)ident(cur2)operator(\)->)ident(next)operator(;) operator(*)ident(cur2) operator(=) integer(0)operator(;) operator(}) operator(}) ident(buf) operator(=) ident(join_path)operator(()ident(path)operator(,) ident(dirsep)operator(,) ident(name)operator(\);) ident(free)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(buf)operator(\)) operator({) ident(free)operator(()ident(new_beg)operator(\);) ident(status) operator(=) operator(-)integer(1)operator(;) reserved(break)operator(;) operator(}) ident(status) operator(=) ident(glob_helper)operator(()ident(buf)operator(,) integer(1)operator(,) ident(UNKNOWN)operator(,) ident(UNKNOWN)operator(,) ident(new_beg)operator(,) ident(new_end)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\);) ident(free)operator(()ident(buf)operator(\);) ident(free)operator(()ident(new_beg)operator(\);) reserved(if) operator(()ident(status)operator(\)) reserved(break)operator(;) operator(}) operator(}) ident(free)operator(()ident(copy_beg)operator(\);) operator(}) reserved(return) ident(status)operator(;) operator(}) directive(static) pre_type(int) ident(ruby_glob0)operator(()ident(path)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) pre_type(int) ident(flags)operator(;) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(arg)operator(;) operator({) reserved(struct) ident(glob_pattern) operator(*)ident(list)operator(;) directive(const) pre_type(char) operator(*)ident(root)operator(,) operator(*)ident(start)operator(;) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(n)operator(;) pre_type(int) ident(status)operator(;) ident(start) operator(=) ident(root) operator(=) ident(path)operator(;) ident(flags) operator(|=) ident(FNM_SYSCASE)operator(;) preprocessor(#if) ident(defined) ident(DOSISH) ident(root) operator(=) ident(rb_path_skip_prefix)operator(()ident(root)operator(\);) preprocessor(#endif) reserved(if) operator(()ident(root) operator(&&) operator(*)ident(root) operator(==) char('/')operator(\)) ident(root)operator(++;) ident(n) operator(=) ident(root) operator(-) ident(start)operator(;) ident(buf) operator(=) ident(GLOB_ALLOC_N)operator(()pre_type(char)operator(,) ident(n) operator(+) integer(1)operator(\);) reserved(if) operator((!)ident(buf)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(MEMCPY)operator(()ident(buf)operator(,) ident(start)operator(,) pre_type(char)operator(,) ident(n)operator(\);) ident(buf)operator([)ident(n)operator(]) operator(=) char('\\0')operator(;) ident(list) operator(=) ident(glob_make_pattern)operator(()ident(root)operator(,) ident(flags)operator(\);) reserved(if) operator((!)ident(list)operator(\)) operator({) ident(free)operator(()ident(buf)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(status) operator(=) ident(glob_helper)operator(()ident(buf)operator(,) integer(0)operator(,) ident(UNKNOWN)operator(,) ident(UNKNOWN)operator(,) operator(&)ident(list)operator(,) operator(&)ident(list) operator(+) integer(1)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\);) ident(glob_free_pattern)operator(()ident(list)operator(\);) ident(free)operator(()ident(buf)operator(\);) reserved(return) ident(status)operator(;) operator(}) pre_type(int) ident(ruby_glob)operator(()ident(path)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) pre_type(int) ident(flags)operator(;) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(arg)operator(;) operator({) reserved(return) ident(ruby_glob0)operator(()ident(path)operator(,) ident(flags) operator(&) operator(~)ident(GLOB_VERBOSE)operator(,) ident(func)operator(,) ident(arg)operator(\);) operator(}) directive(static) pre_type(int) ident(rb_glob_caller) ident(_)operator((()directive(const) pre_type(char) operator(*,) ident(VALUE)operator(\)\);) directive(static) pre_type(int) ident(rb_glob_caller)operator(()ident(path)operator(,) ident(a)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) ident(VALUE) ident(a)operator(;) operator({) pre_type(int) ident(status)operator(;) reserved(struct) ident(glob_args) operator(*)ident(args) operator(=) operator(()reserved(struct) ident(glob_args) operator(*\))ident(a)operator(;) ident(args)operator(->)ident(c) operator(=) ident(path)operator(;) ident(rb_protect)operator(()ident(glob_func_caller)operator(,) ident(a)operator(,) operator(&)ident(status)operator(\);) reserved(return) ident(status)operator(;) operator(}) directive(static) pre_type(int) ident(rb_glob2)operator(()ident(path)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) pre_type(int) ident(flags)operator(;) directive(void) operator((*)ident(func)operator(\)) ident(_)operator((()directive(const) pre_type(char) operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(arg)operator(;) operator({) reserved(struct) ident(glob_args) ident(args)operator(;) ident(args)operator(.)ident(func) operator(=) ident(func)operator(;) ident(args)operator(.)ident(v) operator(=) ident(arg)operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FNM_SYSCASE)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) reserved(return) ident(ruby_glob0)operator(()ident(path)operator(,) ident(flags) operator(|) ident(GLOB_VERBOSE)operator(,) ident(rb_glob_caller)operator(,) operator(()ident(VALUE)operator(\)&)ident(args)operator(\);) operator(}) directive(void) ident(rb_glob)operator(()ident(path)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator((*)ident(func)operator(\)) ident(_)operator((()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(arg)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(rb_glob2)operator(()ident(path)operator(,) integer(0)operator(,) ident(func)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(status)operator(\)) ident(GLOB_JUMP_TAG)operator(()ident(status)operator(\);) operator(}) directive(static) directive(void) ident(push_pattern) ident(_)operator((()directive(const) pre_type(char)operator(*) ident(path)operator(,) ident(VALUE) ident(ary)operator(\)\);) directive(static) directive(void) ident(push_pattern)operator(()ident(path)operator(,) ident(ary)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_tainted_str_new2)operator(()ident(path)operator(\)\);) operator(}) pre_type(int) ident(ruby_brace_expand)operator(()ident(str)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) ident(flags)operator(;) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(arg)operator(;) operator({) directive(const) pre_type(int) ident(escape) operator(=) operator(!()ident(flags) operator(&) ident(FNM_NOESCAPE)operator(\);) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(s) operator(=) ident(p)operator(;) directive(const) pre_type(char) operator(*)ident(lbrace) operator(=) integer(0)operator(,) operator(*)ident(rbrace) operator(=) integer(0)operator(;) pre_type(int) ident(nest) operator(=) integer(0)operator(,) ident(status) operator(=) integer(0)operator(;) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('{') operator(&&) ident(nest)operator(++) operator(==) integer(0)operator(\)) operator({) ident(lbrace) operator(=) ident(p)operator(;) operator(}) reserved(if) operator((*)ident(p) operator(==) char('}') operator(&&) operator(--)ident(nest) operator(<=) integer(0)operator(\)) operator({) ident(rbrace) operator(=) ident(p)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((*)ident(p) operator(==) char('\\\\') operator(&&) ident(escape)operator(\)) operator({) reserved(if) operator((!*++)ident(p)operator(\)) reserved(break)operator(;) operator(}) ident(Inc)operator(()ident(p)operator(\);) operator(}) reserved(if) operator(()ident(lbrace) operator(&&) ident(rbrace)operator(\)) operator({) pre_type(char) operator(*)ident(buf) operator(=) ident(GLOB_ALLOC_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(s)operator(\)) operator(+) integer(1)operator(\);) pre_type(long) ident(shift)operator(;) reserved(if) operator((!)ident(buf)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(memcpy)operator(()ident(buf)operator(,) ident(s)operator(,) ident(lbrace)operator(-)ident(s)operator(\);) ident(shift) operator(=) operator(()ident(lbrace)operator(-)ident(s)operator(\);) ident(p) operator(=) ident(lbrace)operator(;) reserved(while) operator(()ident(p) operator(<) ident(rbrace)operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(t) operator(=) operator(++)ident(p)operator(;) ident(nest) operator(=) integer(0)operator(;) reserved(while) operator(()ident(p) operator(<) ident(rbrace) operator(&&) operator(!(*)ident(p) operator(==) char(',') operator(&&) ident(nest) operator(==) integer(0)operator(\)\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('{')operator(\)) ident(nest)operator(++;) reserved(if) operator((*)ident(p) operator(==) char('}')operator(\)) ident(nest)operator(--;) reserved(if) operator((*)ident(p) operator(==) char('\\\\') operator(&&) ident(escape)operator(\)) operator({) reserved(if) operator((++)ident(p) operator(==) ident(rbrace)operator(\)) reserved(break)operator(;) operator(}) ident(Inc)operator(()ident(p)operator(\);) operator(}) ident(memcpy)operator(()ident(buf)operator(+)ident(shift)operator(,) ident(t)operator(,) ident(p)operator(-)ident(t)operator(\);) ident(strcpy)operator(()ident(buf)operator(+)ident(shift)operator(+()ident(p)operator(-)ident(t)operator(\),) ident(rbrace)operator(+)integer(1)operator(\);) ident(status) operator(=) ident(ruby_brace_expand)operator(()ident(buf)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(status)operator(\)) reserved(break)operator(;) operator(}) ident(free)operator(()ident(buf)operator(\);) operator(}) reserved(else) reserved(if) operator((!)ident(lbrace) operator(&&) operator(!)ident(rbrace)operator(\)) operator({) ident(status) operator(=) operator((*)ident(func)operator(\)()ident(s)operator(,) ident(arg)operator(\);) operator(}) reserved(return) ident(status)operator(;) operator(}) reserved(struct) ident(brace_args) operator({) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(value)operator(;) pre_type(int) ident(flags)operator(;) operator(};) directive(static) pre_type(int) ident(glob_brace) ident(_)operator((()directive(const) pre_type(char) operator(*,) ident(VALUE)operator(\)\);) directive(static) pre_type(int) ident(glob_brace)operator(()ident(path)operator(,) ident(val)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(struct) ident(brace_args) operator(*)ident(arg) operator(=) operator(()reserved(struct) ident(brace_args) operator(*\))ident(val)operator(;) reserved(return) ident(ruby_glob0)operator(()ident(path)operator(,) ident(arg)operator(->)ident(flags)operator(,) ident(arg)operator(->)ident(func)operator(,) ident(arg)operator(->)ident(value)operator(\);) operator(}) directive(static) pre_type(int) ident(ruby_brace_glob0)operator(()ident(str)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) ident(flags)operator(;) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(arg)operator(;) operator({) reserved(struct) ident(brace_args) ident(args)operator(;) ident(args)operator(.)ident(func) operator(=) ident(func)operator(;) ident(args)operator(.)ident(value) operator(=) ident(arg)operator(;) ident(args)operator(.)ident(flags) operator(=) ident(flags)operator(;) reserved(return) ident(ruby_brace_expand)operator(()ident(str)operator(,) ident(flags)operator(,) ident(glob_brace)operator(,) operator(()ident(VALUE)operator(\)&)ident(args)operator(\);) operator(}) pre_type(int) ident(ruby_brace_glob)operator(()ident(str)operator(,) ident(flags)operator(,) ident(func)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) ident(flags)operator(;) ident(ruby_glob_func) operator(*)ident(func)operator(;) ident(VALUE) ident(arg)operator(;) operator({) reserved(return) ident(ruby_brace_glob0)operator(()ident(str)operator(,) ident(flags) operator(&) operator(~)ident(GLOB_VERBOSE)operator(,) ident(func)operator(,) ident(arg)operator(\);) operator(}) directive(static) pre_type(int) ident(push_glob)operator(()ident(VALUE) ident(ary)operator(,) directive(const) pre_type(char) operator(*)ident(str)operator(,) pre_type(int) ident(flags)operator(\)) operator({) reserved(struct) ident(glob_args) ident(args)operator(;) ident(args)operator(.)ident(func) operator(=) ident(push_pattern)operator(;) ident(args)operator(.)ident(v) operator(=) ident(ary)operator(;) reserved(return) ident(ruby_brace_glob0)operator(()ident(str)operator(,) ident(flags) operator(|) ident(GLOB_VERBOSE)operator(,) ident(rb_glob_caller)operator(,) operator(()ident(VALUE)operator(\)&)ident(args)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_push_glob)operator(()ident(str)operator(,) ident(flags)operator(\)) comment(/* '\\0' is delimiter */) ident(VALUE) ident(str)operator(;) pre_type(int) ident(flags)operator(;) operator({) pre_type(long) ident(offset) operator(=) integer(0)operator(;) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(SafeStringValue)operator(()ident(str)operator(\);) reserved(while) operator(()ident(offset) operator(<) ident(RSTRING_LEN)operator(()ident(str)operator(\)\)) operator({) pre_type(int) ident(status) operator(=) ident(push_glob)operator(()ident(ary)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(offset)operator(,) ident(flags)operator(\);) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) reserved(if) operator(()ident(status)operator(\)) ident(GLOB_JUMP_TAG)operator(()ident(status)operator(\);) reserved(if) operator(()ident(offset) operator(>=) ident(RSTRING_LEN)operator(()ident(str)operator(\)\)) reserved(break)operator(;) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(offset)operator(;) ident(p) operator(+=) ident(strlen)operator(()ident(p)operator(\)) operator(+) integer(1)operator(;) ident(pend) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(RSTRING_LEN)operator(()ident(str)operator(\);) reserved(while) operator(()ident(p) operator(<) ident(pend) operator(&&) operator(!*)ident(p)operator(\)) ident(p)operator(++;) ident(offset) operator(=) ident(p) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(dir_globs)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(flags)operator(\)) pre_type(long) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) pre_type(int) ident(flags)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(argc)operator(;) operator(++)ident(i)operator(\)) operator({) pre_type(int) ident(status)operator(;) ident(VALUE) ident(str) operator(=) ident(argv)operator([)ident(i)operator(];) ident(SafeStringValue)operator(()ident(str)operator(\);) ident(status) operator(=) ident(push_glob)operator(()ident(ary)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(flags)operator(\);) reserved(if) operator(()ident(status)operator(\)) ident(GLOB_JUMP_TAG)operator(()ident(status)operator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * Dir[ array ] => array * Dir[ string [, string ...] ] => array * * Equivalent to calling * Dir.glob(array,0\) and * Dir.glob([string,...],0\). * */) directive(static) ident(VALUE) ident(dir_s_aref)operator(()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(,) ident(VALUE) ident(obj)operator(\)) operator({) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(rb_push_glob)operator(()ident(argv)operator([)integer(0)operator(],) integer(0)operator(\);) operator(}) reserved(return) ident(dir_globs)operator(()ident(argc)operator(,) ident(argv)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * Dir.glob( pattern, [flags] \) => array * Dir.glob( pattern, [flags] \) {| filename | block } => nil * * Returns the filenames found by expanding pattern which is * an +Array+ of the patterns or the pattern +String+, either as an * array or as parameters to the block. Note that this pattern * is not a regexp (it's closer to a shell glob\). See * File::fnmatch for the meaning of the flags * parameter. Note that case sensitivity depends on your system (so * File::FNM_CASEFOLD is ignored\) * * *:: Matches any file. Can be restricted by * other values in the glob. * * will match all files; c* will * match all files beginning with * c; *c will match * all files ending with c; and * *c* will match all files that * have c in them (including at * the beginning or end\). Equivalent to * / .* /x in regexp. * **:: Matches directories recursively. * ?:: Matches any one character. Equivalent to * /.{1}/ in regexp. * [set]:: Matches any one character in +set+. * Behaves exactly like character sets in * Regexp, including set negation * ([^a-z]\). * {p,q}:: Matches either literal p or * literal q. Matching literals * may be more than one character in length. * More than two literals may be specified. * Equivalent to pattern alternation in * regexp. * \\:: Escapes the next metacharacter. * * Dir["config.?"] #=> ["config.h"] * Dir.glob("config.?"\) #=> ["config.h"] * Dir.glob("*.[a-z][a-z]"\) #=> ["main.rb"] * Dir.glob("*.[^r]*"\) #=> ["config.h"] * Dir.glob("*.{rb,h}"\) #=> ["main.rb", "config.h"] * Dir.glob("*"\) #=> ["config.h", "main.rb"] * Dir.glob("*", File::FNM_DOTMATCH\) #=> [".", "..", "config.h", "main.rb"] * * rbfiles = File.join("**", "*.rb"\) * Dir.glob(rbfiles\) #=> ["main.rb", * "lib/song.rb", * "lib/song/karaoke.rb"] * libdirs = File.join("**", "lib"\) * Dir.glob(libdirs\) #=> ["lib"] * * librbfiles = File.join("**", "lib", "**", "*.rb"\) * Dir.glob(librbfiles\) #=> ["lib/song.rb", * "lib/song/karaoke.rb"] * * librbfiles = File.join("**", "lib", "*.rb"\) * Dir.glob(librbfiles\) #=> ["lib/song.rb"] */) directive(static) ident(VALUE) ident(dir_s_glob)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(str)operator(,) ident(rflags)operator(,) ident(ary)operator(;) pre_type(int) ident(flags)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(str)operator(,) operator(&)ident(rflags)operator(\)) operator(==) integer(2)operator(\)) ident(flags) operator(=) ident(NUM2INT)operator(()ident(rflags)operator(\);) reserved(else) ident(flags) operator(=) integer(0)operator(;) ident(ary) operator(=) ident(rb_check_array_type)operator(()ident(str)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(ary)operator(\)\)) operator({) ident(ary) operator(=) ident(rb_push_glob)operator(()ident(str)operator(,) ident(flags)operator(\);) operator(}) reserved(else) operator({) directive(volatile) ident(VALUE) ident(v) operator(=) ident(ary)operator(;) ident(ary) operator(=) ident(dir_globs)operator(()ident(RARRAY_LEN)operator(()ident(v)operator(\),) ident(RARRAY_PTR)operator(()ident(v)operator(\),) ident(flags)operator(\);) operator(}) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_ary_each)operator(()ident(ary)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(dir_open_dir)operator(()ident(path)operator(\)) ident(VALUE) ident(path)operator(;) operator({) ident(VALUE) ident(dir) operator(=) ident(rb_funcall)operator(()ident(rb_cDir)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(path)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(dir)operator(\)) operator(!=) ident(T_DATA) operator(||) ident(RDATA)operator(()ident(dir)operator(\)->)ident(dfree) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(free_dir)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(dir)operator(\)\);) operator(}) reserved(return) ident(dir)operator(;) operator(}) comment(/* * call-seq: * Dir.foreach( dirname \) {| filename | block } => nil * * Calls the block once for each entry in the named directory, passing * the filename of each entry as a parameter to the block. * * Dir.foreach("testdir"\) {|x| puts "Got #{x}" } * * produces: * * Got . * Got .. * Got config.h * Got main.rb * */) directive(static) ident(VALUE) ident(dir_foreach)operator(()ident(io)operator(,) ident(dirname)operator(\)) ident(VALUE) ident(io)operator(,) ident(dirname)operator(;) operator({) ident(VALUE) ident(dir)operator(;) ident(dir) operator(=) ident(dir_open_dir)operator(()ident(dirname)operator(\);) ident(rb_ensure)operator(()ident(dir_each)operator(,) ident(dir)operator(,) ident(dir_close)operator(,) ident(dir)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Dir.entries( dirname \) => array * * Returns an array containing all of the filenames in the given * directory. Will raise a SystemCallError if the named * directory doesn't exist. * * Dir.entries("testdir"\) #=> [".", "..", "config.h", "main.rb"] * */) directive(static) ident(VALUE) ident(dir_entries)operator(()ident(io)operator(,) ident(dirname)operator(\)) ident(VALUE) ident(io)operator(,) ident(dirname)operator(;) operator({) ident(VALUE) ident(dir)operator(;) ident(dir) operator(=) ident(dir_open_dir)operator(()ident(dirname)operator(\);) reserved(return) ident(rb_ensure)operator(()ident(rb_Array)operator(,) ident(dir)operator(,) ident(dir_close)operator(,) ident(dir)operator(\);) operator(}) comment(/* * call-seq: * File.fnmatch( pattern, path, [flags] \) => (true or false\) * File.fnmatch?( pattern, path, [flags] \) => (true or false\) * * Returns true if path matches against pattern The * pattern is not a regular expression; instead it follows rules * similar to shell filename globbing. It may contain the following * metacharacters: * * *:: Matches any file. Can be restricted by * other values in the glob. * * will match all files; c* will * match all files beginning with * c; *c will match * all files ending with c; and * *c* will match all files that * have c in them (including at * the beginning or end\). Equivalent to * / .* /x in regexp. * **:: Matches directories recursively or files * expansively. * ?:: Matches any one character. Equivalent to * /.{1}/ in regexp. * [set]:: Matches any one character in +set+. * Behaves exactly like character sets in * Regexp, including set negation * ([^a-z]\). * \\:: Escapes the next metacharacter. * * flags is a bitwise OR of the FNM_xxx * parameters. The same glob pattern and flags are used by * Dir::glob. * * File.fnmatch('cat', 'cat'\) #=> true : match entire string * File.fnmatch('cat', 'category'\) #=> false : only match partial string * File.fnmatch('c{at,ub}s', 'cats'\) #=> false : { } isn't supported * * File.fnmatch('c?t', 'cat'\) #=> true : '?' match only 1 character * File.fnmatch('c??t', 'cat'\) #=> false : ditto * File.fnmatch('c*', 'cats'\) #=> true : '*' match 0 or more characters * File.fnmatch('c*t', 'c/a/b/t'\) #=> true : ditto * File.fnmatch('ca[a-z]', 'cat'\) #=> true : inclusive bracket expression * File.fnmatch('ca[^t]', 'cat'\) #=> false : exclusive bracket expression ('^' or '!'\) * * File.fnmatch('cat', 'CAT'\) #=> false : case sensitive * File.fnmatch('cat', 'CAT', File::FNM_CASEFOLD\) #=> true : case insensitive * * File.fnmatch('?', '/', File::FNM_PATHNAME\) #=> false : wildcard doesn't match '/' on FNM_PATHNAME * File.fnmatch('*', '/', File::FNM_PATHNAME\) #=> false : ditto * File.fnmatch('[/]', '/', File::FNM_PATHNAME\) #=> false : ditto * * File.fnmatch('\\?', '?'\) #=> true : escaped wildcard becomes ordinary * File.fnmatch('\\a', 'a'\) #=> true : escaped ordinary remains ordinary * File.fnmatch('\\a', '\\a', File::FNM_NOESCAPE\) #=> true : FNM_NOESACPE makes '\\' ordinary * File.fnmatch('[\\?]', '?'\) #=> true : can escape inside bracket expression * * File.fnmatch('*', '.profile'\) #=> false : wildcard doesn't match leading * File.fnmatch('*', '.profile', File::FNM_DOTMATCH\) #=> true period by default. * File.fnmatch('.*', '.profile'\) #=> true * * rbfiles = '**' '/' '*.rb' # you don't have to do like this. just write in single string. * File.fnmatch(rbfiles, 'main.rb'\) #=> false * File.fnmatch(rbfiles, './main.rb'\) #=> false * File.fnmatch(rbfiles, 'lib/song.rb'\) #=> true * File.fnmatch('**.rb', 'main.rb'\) #=> true * File.fnmatch('**.rb', './main.rb'\) #=> false * File.fnmatch('**.rb', 'lib/song.rb'\) #=> true * File.fnmatch('*', 'dave/.profile'\) #=> true * * pattern = '*' '/' '*' * File.fnmatch(pattern, 'dave/.profile', File::FNM_PATHNAME\) #=> false * File.fnmatch(pattern, 'dave/.profile', File::FNM_PATHNAME | File::FNM_DOTMATCH\) #=> true * * pattern = '**' '/' 'foo' * File.fnmatch(pattern, 'a/b/c/foo', File::FNM_PATHNAME\) #=> true * File.fnmatch(pattern, '/a/b/c/foo', File::FNM_PATHNAME\) #=> true * File.fnmatch(pattern, 'c:/a/b/c/foo', File::FNM_PATHNAME\) #=> true * File.fnmatch(pattern, 'a/.b/c/foo', File::FNM_PATHNAME\) #=> false * File.fnmatch(pattern, 'a/.b/c/foo', File::FNM_PATHNAME | File::FNM_DOTMATCH\) #=> true */) directive(static) ident(VALUE) ident(file_s_fnmatch)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(pattern)operator(,) ident(path)operator(;) ident(VALUE) ident(rflags)operator(;) pre_type(int) ident(flags)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(pattern)operator(,) operator(&)ident(path)operator(,) operator(&)ident(rflags)operator(\)) operator(==) integer(3)operator(\)) ident(flags) operator(=) ident(NUM2INT)operator(()ident(rflags)operator(\);) reserved(else) ident(flags) operator(=) integer(0)operator(;) ident(StringValue)operator(()ident(pattern)operator(\);) ident(StringValue)operator(()ident(path)operator(\);) reserved(if) operator(()ident(fnmatch)operator(()ident(RSTRING)operator(()ident(pattern)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(,) ident(flags)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * Objects of class Dir are directory streams representing * directories in the underlying file system. They provide a variety of * ways to list directories and their contents. See also * File. * * The directory used in these examples contains the two regular files * (config.h and main.rb\), the parent * directory (..\), and the directory itself * (.\). */) directive(void) ident(Init_Dir)operator((\)) operator({) ident(rb_cDir) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cDir)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cDir)operator(,) ident(dir_s_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,) stringoperator(,) ident(dir_s_open)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,) stringoperator(,) ident(dir_foreach)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,) stringoperator(,) ident(dir_entries)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_initialize)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_path)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_read)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_each)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_rewind)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_tell)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_seek)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_tell)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_set_pos)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_close)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_chdir)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_getwd)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_getwd)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_chroot)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_mkdir)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_rmdir)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_rmdir)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_rmdir)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_glob)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cDir)operator(,)stringoperator(,) ident(dir_s_aref)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,)stringoperator(,) ident(file_s_fnmatch)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,)stringoperator(,) ident(file_s_fnmatch)operator(,) operator(-)integer(1)operator(\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(FNM_NOESCAPE)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(FNM_PATHNAME)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(FNM_DOTMATCH)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(FNM_CASEFOLD)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(FNM_SYSCASE)operator(\)\);) operator(}) comment(/********************************************************************** dln.c - $Author: shyouhei $ $Date: 2008-06-15 15:25:08 +0200 (Sun, 15 Jun 2008\) $ created at: Tue Jan 18 17:05:06 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("dln.h") preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifdef) ident(__CHECKER__) preprocessor(#undef) ident(HAVE_DLOPEN) preprocessor(#undef) ident(USE_DLN_A_OUT) preprocessor(#undef) ident(USE_DLN_DLOPEN) preprocessor(#endif) preprocessor(#ifdef) ident(USE_DLN_A_OUT) pre_type(char) operator(*)ident(dln_argv0)operator(;) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_ALLOCA_H)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_STRING_H) preprocessor(# include) include() preprocessor(#else) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifndef) ident(xmalloc) directive(void) operator(*)ident(xmalloc)operator((\);) directive(void) operator(*)ident(xcalloc)operator((\);) directive(void) operator(*)ident(xrealloc)operator((\);) preprocessor(#endif) preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#include) include("missing/file.h") preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifndef) ident(S_ISDIR) preprocessor(# define) ident(S_ISDIR)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFDIR)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_PARAM_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifndef) ident(MAXPATHLEN) preprocessor(# define) ident(MAXPATHLEN) integer(1024) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifndef) ident(_WIN32) pre_type(char) operator(*)ident(getenv)operator((\);) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#pragma) ident(builtins) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(__MACOS__) preprocessor(# include) include() preprocessor(# include) include() preprocessor(# include) include() preprocessor(# include) include("macruby_private.h") preprocessor(#endif) preprocessor(#ifdef) ident(__BEOS__) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifndef) ident(NO_DLN_LOAD) preprocessor(#if) ident(defined)operator(()ident(HAVE_DLOPEN)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(USE_DLN_A_OUT)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_AIX)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__APPLE__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_UNICOSMP)operator(\)) comment(/* dynamic load with dlopen(\) */) preprocessor(# define) ident(USE_DLN_DLOPEN) preprocessor(#endif) preprocessor(#ifndef) ident(FUNCNAME_PATTERN) preprocessor(# if) ident(defined)operator(()ident(__hp9000s300)operator(\)) operator(||) operator(()ident(defined)operator(()ident(__NetBSD__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__ELF__)operator(\)\)) operator(||) ident(defined)operator(()ident(__BORLANDC__)operator(\)) operator(||) operator(()ident(defined)operator(()ident(__FreeBSD__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__ELF__)operator(\)\)) operator(||) operator(()ident(defined)operator(()ident(__OpenBSD__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__ELF__)operator(\)\)) operator(||) ident(defined)operator(()ident(NeXT)operator(\)) operator(||) ident(defined)operator(()ident(__WATCOMC__)operator(\)) operator(||) ident(defined)operator(()ident(__APPLE__)operator(\)) preprocessor(# define) ident(FUNCNAME_PATTERN) string preprocessor(# else) preprocessor(# define) ident(FUNCNAME_PATTERN) string preprocessor(# endif) preprocessor(#endif) directive(static) pre_type(int) ident(init_funcname_len)operator(()ident(buf)operator(,) ident(file)operator(\)) pre_type(char) operator(**)ident(buf)operator(;) directive(const) pre_type(char) operator(*)ident(file)operator(;) operator({) pre_type(char) operator(*)ident(p)operator(;) directive(const) pre_type(char) operator(*)ident(slash)operator(;) pre_type(int) ident(len)operator(;) comment(/* Load the file as an object one */) reserved(for) operator(()ident(slash) operator(=) ident(file)operator(-)integer(1)operator(;) operator(*)ident(file)operator(;) ident(file)operator(++\)) comment(/* Find position of last '/' */) preprocessor(#ifdef) ident(__MACOS__) reserved(if) operator((*)ident(file) operator(==) char(':')operator(\)) ident(slash) operator(=) ident(file)operator(;) preprocessor(#else) reserved(if) operator((*)ident(file) operator(==) char('/')operator(\)) ident(slash) operator(=) ident(file)operator(;) preprocessor(#endif) ident(len) operator(=) ident(strlen)operator(()ident(FUNCNAME_PATTERN)operator(\)) operator(+) ident(strlen)operator(()ident(slash) operator(+) integer(1)operator(\);) operator(*)ident(buf) operator(=) ident(xmalloc)operator(()ident(len)operator(\);) ident(snprintf)operator((*)ident(buf)operator(,) ident(len)operator(,) ident(FUNCNAME_PATTERN)operator(,) ident(slash) operator(+) integer(1)operator(\);) reserved(for) operator(()ident(p) operator(=) operator(*)ident(buf)operator(;) operator(*)ident(p)operator(;) ident(p)operator(++\)) operator({) comment(/* Delete suffix if it exists */) reserved(if) operator((*)ident(p) operator(==) char('.')operator(\)) operator({) operator(*)ident(p) operator(=) char('\\0')operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(return) ident(p) operator(-) operator(*)ident(buf)operator(;) operator(}) preprocessor(#define) ident(init_funcname)operator(()ident(buf)operator(,) ident(file)operator(\)) reserved(do) operator({)\ pre_type(int) ident(len) operator(=) ident(init_funcname_len)operator(()ident(buf)operator(,) ident(file)operator(\);)\ pre_type(char) operator(*)ident(tmp) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len)operator(+)integer(1)operator(\);)\ reserved(if) operator((!)ident(tmp)operator(\)) operator({)\ ident(free)operator((*)ident(buf)operator(\);)\ ident(rb_memerror)operator((\);)\ operator(})\ ident(strcpy)operator(()ident(tmp)operator(,) operator(*)ident(buf)operator(\);)\ ident(free)operator((*)ident(buf)operator(\);)\ operator(*)ident(buf) operator(=) ident(tmp)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#ifdef) ident(USE_DLN_A_OUT) preprocessor(#ifndef) ident(LIBC_NAME) preprocessor(# define) ident(LIBC_NAME) string preprocessor(#endif) preprocessor(#ifndef) ident(DLN_DEFAULT_LIB_PATH) preprocessor(# define) ident(DLN_DEFAULT_LIB_PATH) string preprocessor(#endif) preprocessor(#include) include() directive(static) pre_type(int) ident(dln_errno)operator(;) preprocessor(#define) ident(DLN_ENOEXEC) ident(ENOEXEC) comment(/* Exec format error */) preprocessor(#define) ident(DLN_ECONFL) integer(1201) comment(/* Symbol name conflict */) preprocessor(#define) ident(DLN_ENOINIT) integer(1202) comment(/* No initializer given */) preprocessor(#define) ident(DLN_EUNDEF) integer(1203) comment(/* Undefine symbol remains */) preprocessor(#define) ident(DLN_ENOTLIB) integer(1204) comment(/* Not a library file */) preprocessor(#define) ident(DLN_EBADLIB) integer(1205) comment(/* Malformed library file */) preprocessor(#define) ident(DLN_EINIT) integer(1206) comment(/* Not initialized */) directive(static) pre_type(int) ident(dln_init_p) operator(=) integer(0)operator(;) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifndef) ident(N_COMM) preprocessor(# define) ident(N_COMM) hex(0x12) preprocessor(#endif) preprocessor(#ifndef) ident(N_MAGIC) preprocessor(# define) ident(N_MAGIC)operator(()ident(x)operator(\)) operator(()ident(x)operator(\))operator(.)ident(a_magic) preprocessor(#endif) preprocessor(#define) ident(INVALID_OBJECT)operator(()ident(h)operator(\)) operator(()ident(N_MAGIC)operator(()ident(h)operator(\)) operator(!=) ident(OMAGIC)operator(\)) preprocessor(#include) include("util.h") preprocessor(#include) include("st.h") directive(static) ident(st_table) operator(*)ident(sym_tbl)operator(;) directive(static) ident(st_table) operator(*)ident(undef_tbl)operator(;) directive(static) pre_type(int) ident(load_lib)operator((\);) directive(static) pre_type(int) ident(load_header)operator(()ident(fd)operator(,) ident(hdrp)operator(,) ident(disp)operator(\)) pre_type(int) ident(fd)operator(;) reserved(struct) ident(exec) operator(*)ident(hdrp)operator(;) pre_type(long) ident(disp)operator(;) operator({) pre_type(int) ident(size)operator(;) ident(lseek)operator(()ident(fd)operator(,) ident(disp)operator(,) integer(0)operator(\);) ident(size) operator(=) ident(read)operator(()ident(fd)operator(,) ident(hdrp)operator(,) reserved(sizeof)operator(()reserved(struct) ident(exec)operator(\)\);) reserved(if) operator(()ident(size) operator(==) operator(-)integer(1)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(size) operator(!=) reserved(sizeof)operator(()reserved(struct) ident(exec)operator(\)) operator(||) ident(N_BADMAG)operator((*)ident(hdrp)operator(\)\)) operator({) ident(dln_errno) operator(=) ident(DLN_ENOEXEC)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) preprocessor(#if) ident(defined)operator(()ident(sequent)operator(\)) preprocessor(#define) ident(RELOC_SYMBOL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_symbolnum)operator(\)) preprocessor(#define) ident(RELOC_MEMORY_SUB_P)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_bsr)operator(\)) preprocessor(#define) ident(RELOC_PCREL_P)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_pcrel) operator(||) operator(()ident(r)operator(\)->)ident(r_bsr)operator(\)) preprocessor(#define) ident(RELOC_TARGET_SIZE)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_length)operator(\)) preprocessor(#endif) comment(/* Default macros */) preprocessor(#ifndef) ident(RELOC_ADDRESS) preprocessor(#define) ident(RELOC_ADDRESS)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_address)operator(\)) preprocessor(#define) ident(RELOC_EXTERN_P)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_extern)operator(\)) preprocessor(#define) ident(RELOC_SYMBOL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_symbolnum)operator(\)) preprocessor(#define) ident(RELOC_MEMORY_SUB_P)operator(()ident(r)operator(\)) integer(0) preprocessor(#define) ident(RELOC_PCREL_P)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_pcrel)operator(\)) preprocessor(#define) ident(RELOC_TARGET_SIZE)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_length)operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) operator(&&) ident(defined)operator(()ident(sparc)operator(\)) comment(/* Sparc (Sun 4\) macros */) preprocessor(# undef) ident(relocation_info) preprocessor(# define) ident(relocation_info) ident(reloc_info_sparc) preprocessor(# define) ident(R_RIGHTSHIFT)operator(()ident(r)operator(\)) operator(()ident(reloc_r_rightshift)operator([()ident(r)operator(\)->)ident(r_type)operator(]\)) preprocessor(# define) ident(R_BITSIZE)operator(()ident(r)operator(\)) operator(()ident(reloc_r_bitsize)operator([()ident(r)operator(\)->)ident(r_type)operator(]\)) preprocessor(# define) ident(R_LENGTH)operator(()ident(r)operator(\)) operator(()ident(reloc_r_length)operator([()ident(r)operator(\)->)ident(r_type)operator(]\)) directive(static) pre_type(int) ident(reloc_r_rightshift)operator([]) operator(=) operator({) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(2)operator(,) integer(2)operator(,) integer(10)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(};) directive(static) pre_type(int) ident(reloc_r_bitsize)operator([]) operator(=) operator({) integer(8)operator(,) integer(16)operator(,) integer(32)operator(,) integer(8)operator(,) integer(16)operator(,) integer(32)operator(,) integer(30)operator(,) integer(22)operator(,) integer(22)operator(,) integer(22)operator(,) integer(13)operator(,) integer(10)operator(,) integer(32)operator(,) integer(32)operator(,) integer(16)operator(,) operator(};) directive(static) pre_type(int) ident(reloc_r_length)operator([]) operator(=) operator({) integer(0)operator(,) integer(1)operator(,) integer(2)operator(,) integer(0)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) operator(};) preprocessor(# define) ident(R_PCREL)operator(()ident(r)operator(\)) \ operator((()ident(r)operator(\)->)ident(r_type) operator(>=) ident(RELOC_DISP8) operator(&&) operator(()ident(r)operator(\)->)ident(r_type) operator(<=) ident(RELOC_WDISP22)operator(\)) preprocessor(# define) ident(R_SYMBOL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_index)operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(sequent)operator(\)) preprocessor(#define) ident(R_SYMBOL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_symbolnum)operator(\)) preprocessor(#define) ident(R_MEMORY_SUB)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_bsr)operator(\)) preprocessor(#define) ident(R_PCREL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_pcrel) operator(||) operator(()ident(r)operator(\)->)ident(r_bsr)operator(\)) preprocessor(#define) ident(R_LENGTH)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_length)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(R_SYMBOL) preprocessor(# define) ident(R_SYMBOL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_symbolnum)operator(\)) preprocessor(# define) ident(R_MEMORY_SUB)operator(()ident(r)operator(\)) integer(0) preprocessor(# define) ident(R_PCREL)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_pcrel)operator(\)) preprocessor(# define) ident(R_LENGTH)operator(()ident(r)operator(\)) operator((()ident(r)operator(\)->)ident(r_length)operator(\)) preprocessor(#endif) directive(static) reserved(struct) ident(relocation_info) operator(*) ident(load_reloc)operator(()ident(fd)operator(,) ident(hdrp)operator(,) ident(disp)operator(\)) pre_type(int) ident(fd)operator(;) reserved(struct) ident(exec) operator(*)ident(hdrp)operator(;) pre_type(long) ident(disp)operator(;) operator({) reserved(struct) ident(relocation_info) operator(*)ident(reloc)operator(;) pre_type(int) ident(size)operator(;) ident(lseek)operator(()ident(fd)operator(,) ident(disp) operator(+) ident(N_TXTOFF)operator((*)ident(hdrp)operator(\)) operator(+) ident(hdrp)operator(->)ident(a_text) operator(+) ident(hdrp)operator(->)ident(a_data)operator(,) integer(0)operator(\);) ident(size) operator(=) ident(hdrp)operator(->)ident(a_trsize) operator(+) ident(hdrp)operator(->)ident(a_drsize)operator(;) ident(reloc) operator(=) operator(()reserved(struct) ident(relocation_info)operator(*\))ident(xmalloc)operator(()ident(size)operator(\);) reserved(if) operator(()ident(reloc) operator(==) pre_constant(NULL)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) pre_constant(NULL)operator(;) operator(}) reserved(if) operator(()ident(read)operator(()ident(fd)operator(,) ident(reloc)operator(,) ident(size)operator(\)) operator(!=) ident(size)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) ident(free)operator(()ident(reloc)operator(\);) reserved(return) pre_constant(NULL)operator(;) operator(}) reserved(return) ident(reloc)operator(;) operator(}) directive(static) reserved(struct) ident(nlist) operator(*) ident(load_sym)operator(()ident(fd)operator(,) ident(hdrp)operator(,) ident(disp)operator(\)) pre_type(int) ident(fd)operator(;) reserved(struct) ident(exec) operator(*)ident(hdrp)operator(;) pre_type(long) ident(disp)operator(;) operator({) reserved(struct) ident(nlist) operator(*) ident(buffer)operator(;) reserved(struct) ident(nlist) operator(*) ident(sym)operator(;) reserved(struct) ident(nlist) operator(*) ident(end)operator(;) pre_type(long) ident(displ)operator(;) pre_type(int) ident(size)operator(;) ident(lseek)operator(()ident(fd)operator(,) ident(N_SYMOFF)operator((*)ident(hdrp)operator(\)) operator(+) ident(hdrp)operator(->)ident(a_syms) operator(+) ident(disp)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(read)operator(()ident(fd)operator(,) operator(&)ident(size)operator(,) reserved(sizeof)operator(()pre_type(int)operator(\)\)) operator(!=) reserved(sizeof)operator(()pre_type(int)operator(\)\)) operator({) reserved(goto) ident(err_noexec)operator(;) operator(}) ident(buffer) operator(=) operator(()reserved(struct) ident(nlist)operator(*\))ident(xmalloc)operator(()ident(hdrp)operator(->)ident(a_syms) operator(+) ident(size)operator(\);) reserved(if) operator(()ident(buffer) operator(==) pre_constant(NULL)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) pre_constant(NULL)operator(;) operator(}) ident(lseek)operator(()ident(fd)operator(,) ident(disp) operator(+) ident(N_SYMOFF)operator((*)ident(hdrp)operator(\),) integer(0)operator(\);) reserved(if) operator(()ident(read)operator(()ident(fd)operator(,) ident(buffer)operator(,) ident(hdrp)operator(->)ident(a_syms) operator(+) ident(size)operator(\)) operator(!=) ident(hdrp)operator(->)ident(a_syms) operator(+) ident(size)operator(\)) operator({) ident(free)operator(()ident(buffer)operator(\);) reserved(goto) ident(err_noexec)operator(;) operator(}) ident(sym) operator(=) ident(buffer)operator(;) ident(end) operator(=) ident(sym) operator(+) ident(hdrp)operator(->)ident(a_syms) operator(/) reserved(sizeof)operator(()reserved(struct) ident(nlist)operator(\);) ident(displ) operator(=) operator(()pre_type(long)operator(\))ident(buffer) operator(+) operator(()pre_type(long)operator(\)()ident(hdrp)operator(->)ident(a_syms)operator(\);) reserved(while) operator(()ident(sym) operator(<) ident(end)operator(\)) operator({) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name) operator(=) operator(()pre_type(char)operator(*\))ident(sym)operator(->)ident(n_un)operator(.)ident(n_strx) operator(+) ident(displ)operator(;) ident(sym)operator(++;) operator(}) reserved(return) ident(buffer)operator(;) label(err_noexec:) ident(dln_errno) operator(=) ident(DLN_ENOEXEC)operator(;) reserved(return) pre_constant(NULL)operator(;) operator(}) directive(static) ident(st_table) operator(*) ident(sym_hash)operator(()ident(hdrp)operator(,) ident(syms)operator(\)) reserved(struct) ident(exec) operator(*)ident(hdrp)operator(;) reserved(struct) ident(nlist) operator(*)ident(syms)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(struct) ident(nlist) operator(*)ident(sym) operator(=) ident(syms)operator(;) reserved(struct) ident(nlist) operator(*)ident(end) operator(=) ident(syms) operator(+) operator(()ident(hdrp)operator(->)ident(a_syms) operator(/) reserved(sizeof)operator(()reserved(struct) ident(nlist)operator(\)\);) ident(tbl) operator(=) ident(st_init_strtable)operator((\);) reserved(if) operator(()ident(tbl) operator(==) pre_constant(NULL)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) pre_constant(NULL)operator(;) operator(}) reserved(while) operator(()ident(sym) operator(<) ident(end)operator(\)) operator({) ident(st_insert)operator(()ident(tbl)operator(,) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(,) ident(sym)operator(\);) ident(sym)operator(++;) operator(}) reserved(return) ident(tbl)operator(;) operator(}) directive(static) pre_type(int) ident(dln_init)operator(()ident(prog)operator(\)) directive(const) pre_type(char) operator(*)ident(prog)operator(;) operator({) pre_type(char) operator(*)ident(file)operator(;) pre_type(int) ident(fd)operator(;) reserved(struct) ident(exec) ident(hdr)operator(;) reserved(struct) ident(nlist) operator(*)ident(syms)operator(;) reserved(if) operator(()ident(dln_init_p) operator(==) integer(1)operator(\)) reserved(return) integer(0)operator(;) ident(file) operator(=) ident(dln_find_exe)operator(()ident(prog)operator(,) pre_constant(NULL)operator(\);) reserved(if) operator(()ident(file) operator(==) pre_constant(NULL) operator(||) operator(()ident(fd) operator(=) ident(open)operator(()ident(file)operator(,) ident(O_RDONLY)operator(\)\)) operator(<) integer(0)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(load_header)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) integer(0)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(syms) operator(=) ident(load_sym)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(syms) operator(==) pre_constant(NULL)operator(\)) operator({) ident(close)operator(()ident(fd)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(sym_tbl) operator(=) ident(sym_hash)operator((&)ident(hdr)operator(,) ident(syms)operator(\);) reserved(if) operator(()ident(sym_tbl) operator(==) pre_constant(NULL)operator(\)) operator({) comment(/* file may be start with #! */) pre_type(char) ident(c) operator(=) char('\\0')operator(;) pre_type(char) ident(buf)operator([)ident(MAXPATHLEN)operator(];) pre_type(char) operator(*)ident(p)operator(;) ident(free)operator(()ident(syms)operator(\);) ident(lseek)operator(()ident(fd)operator(,) integer(0L)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(read)operator(()ident(fd)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(c) operator(!=) char('#')operator(\)) reserved(goto) ident(err_noexec)operator(;) reserved(if) operator(()ident(read)operator(()ident(fd)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(c) operator(!=) char('!')operator(\)) reserved(goto) ident(err_noexec)operator(;) ident(p) operator(=) ident(buf)operator(;) comment(/* skip forwarding spaces */) reserved(while) operator(()ident(read)operator(()ident(fd)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\)) operator(==) integer(1)operator(\)) operator({) reserved(if) operator(()ident(c) operator(==) char('\\n')operator(\)) reserved(goto) ident(err_noexec)operator(;) reserved(if) operator(()ident(c) operator(!=) char('\\t') operator(&&) ident(c) operator(!=) char(' ')operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) ident(c)operator(;) reserved(break)operator(;) operator(}) operator(}) comment(/* read in command name */) reserved(while) operator(()ident(read)operator(()ident(fd)operator(,) ident(p)operator(,) integer(1)operator(\)) operator(==) integer(1)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('\\n') operator(||) operator(*)ident(p) operator(==) char('\\t') operator(||) operator(*)ident(p) operator(==) char(' ')operator(\)) reserved(break)operator(;) ident(p)operator(++;) reserved(if) operator(()ident(p)operator(-)ident(buf) operator(>=) ident(MAXPATHLEN)operator(\)) operator({) ident(dln_errno) operator(=) ident(ENAMETOOLONG)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) operator(*)ident(p) operator(=) char('\\0')operator(;) reserved(return) ident(dln_init)operator(()ident(buf)operator(\);) operator(}) ident(dln_init_p) operator(=) integer(1)operator(;) ident(undef_tbl) operator(=) ident(st_init_strtable)operator((\);) ident(close)operator(()ident(fd)operator(\);) reserved(return) integer(0)operator(;) label(err_noexec:) ident(close)operator(()ident(fd)operator(\);) ident(dln_errno) operator(=) ident(DLN_ENOEXEC)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) directive(static) pre_type(long) ident(load_text_data)operator(()ident(fd)operator(,) ident(hdrp)operator(,) ident(bss)operator(,) ident(disp)operator(\)) pre_type(int) ident(fd)operator(;) reserved(struct) ident(exec) operator(*)ident(hdrp)operator(;) pre_type(int) ident(bss)operator(;) pre_type(long) ident(disp)operator(;) operator({) pre_type(int) ident(size)operator(;) pre_type(unsigned) pre_type(char)operator(*) ident(addr)operator(;) ident(lseek)operator(()ident(fd)operator(,) ident(disp) operator(+) ident(N_TXTOFF)operator((*)ident(hdrp)operator(\),) integer(0)operator(\);) ident(size) operator(=) ident(hdrp)operator(->)ident(a_text) operator(+) ident(hdrp)operator(->)ident(a_data)operator(;) reserved(if) operator(()ident(bss) operator(==) operator(-)integer(1)operator(\)) ident(size) operator(+=) ident(hdrp)operator(->)ident(a_bss)operator(;) reserved(else) reserved(if) operator(()ident(bss) operator(>) integer(1)operator(\)) ident(size) operator(+=) ident(bss)operator(;) ident(addr) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(xmalloc)operator(()ident(size)operator(\);) reserved(if) operator(()ident(addr) operator(==) pre_constant(NULL)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(read)operator(()ident(fd)operator(,) ident(addr)operator(,) ident(size)operator(\)) operator(!=) ident(size)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) ident(free)operator(()ident(addr)operator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(bss) operator(==) operator(-)integer(1)operator(\)) operator({) ident(memset)operator(()ident(addr) operator(+) ident(hdrp)operator(->)ident(a_text) operator(+) ident(hdrp)operator(->)ident(a_data)operator(,) integer(0)operator(,) ident(hdrp)operator(->)ident(a_bss)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(bss) operator(>) integer(0)operator(\)) operator({) ident(memset)operator(()ident(addr) operator(+) ident(hdrp)operator(->)ident(a_text) operator(+) ident(hdrp)operator(->)ident(a_data)operator(,) integer(0)operator(,) ident(bss)operator(\);) operator(}) reserved(return) operator(()pre_type(long)operator(\))ident(addr)operator(;) operator(}) directive(static) pre_type(int) ident(undef_print)operator(()ident(key)operator(,) ident(value)operator(\)) pre_type(char) operator(*)ident(key)operator(,) operator(*)ident(value)operator(;) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(key)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) directive(void) ident(dln_print_undef)operator((\)) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(\);) ident(st_foreach)operator(()ident(undef_tbl)operator(,) ident(undef_print)operator(,) pre_constant(NULL)operator(\);) operator(}) directive(static) directive(void) ident(dln_undefined)operator((\)) operator({) reserved(if) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(\);) ident(dln_print_undef)operator((\);) ident(rb_exit)operator(()integer(1)operator(\);) operator(}) operator(}) reserved(struct) ident(undef) operator({) pre_type(char) operator(*)ident(name)operator(;) reserved(struct) ident(relocation_info) ident(reloc)operator(;) pre_type(long) ident(base)operator(;) pre_type(char) operator(*)ident(addr)operator(;) reserved(union) operator({) pre_type(char) ident(c)operator(;) pre_type(short) ident(s)operator(;) pre_type(long) ident(l)operator(;) operator(}) ident(u)operator(;) operator(};) directive(static) ident(st_table) operator(*)ident(reloc_tbl) operator(=) pre_constant(NULL)operator(;) directive(static) directive(void) ident(link_undef)operator(()ident(name)operator(,) ident(base)operator(,) ident(reloc)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) pre_type(long) ident(base)operator(;) reserved(struct) ident(relocation_info) operator(*)ident(reloc)operator(;) operator({) directive(static) pre_type(int) ident(u_no) operator(=) integer(0)operator(;) reserved(struct) ident(undef) operator(*)ident(obj)operator(;) pre_type(char) operator(*)ident(addr) operator(=) operator(()pre_type(char)operator(*\)()ident(reloc)operator(->)ident(r_address) operator(+) ident(base)operator(\);) ident(obj) operator(=) operator(()reserved(struct) ident(undef)operator(*\))ident(xmalloc)operator(()reserved(sizeof)operator(()reserved(struct) ident(undef)operator(\)\);) ident(obj)operator(->)ident(name) operator(=) ident(strdup)operator(()ident(name)operator(\);) ident(obj)operator(->)ident(reloc) operator(=) operator(*)ident(reloc)operator(;) ident(obj)operator(->)ident(base) operator(=) ident(base)operator(;) reserved(switch) operator(()ident(R_LENGTH)operator(()ident(reloc)operator(\)\)) operator({) reserved(case) integer(0)operator(:) comment(/* byte */) ident(obj)operator(->)ident(u)operator(.)ident(c) operator(=) operator(*)ident(addr)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) comment(/* word */) ident(obj)operator(->)ident(u)operator(.)ident(s) operator(=) operator(*()pre_type(short)operator(*\))ident(addr)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) comment(/* long */) ident(obj)operator(->)ident(u)operator(.)ident(l) operator(=) operator(*()pre_type(long)operator(*\))ident(addr)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(reloc_tbl) operator(==) pre_constant(NULL)operator(\)) operator({) ident(reloc_tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) ident(st_insert)operator(()ident(reloc_tbl)operator(,) ident(u_no)operator(++,) ident(obj)operator(\);) operator(}) reserved(struct) ident(reloc_arg) operator({) directive(const) pre_type(char) operator(*)ident(name)operator(;) pre_type(long) ident(value)operator(;) operator(};) directive(static) pre_type(int) ident(reloc_undef)operator(()ident(no)operator(,) ident(undef)operator(,) ident(arg)operator(\)) pre_type(int) ident(no)operator(;) reserved(struct) ident(undef) operator(*)ident(undef)operator(;) reserved(struct) ident(reloc_arg) operator(*)ident(arg)operator(;) operator({) pre_type(int) ident(datum)operator(;) pre_type(char) operator(*)ident(address)operator(;) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) operator(&&) ident(defined)operator(()ident(sparc)operator(\)) pre_type(unsigned) pre_type(int) ident(mask) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator(()ident(strcmp)operator(()ident(arg)operator(->)ident(name)operator(,) ident(undef)operator(->)ident(name)operator(\)) operator(!=) integer(0)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(address) operator(=) operator(()pre_type(char)operator(*\)()ident(undef)operator(->)ident(base) operator(+) ident(undef)operator(->)ident(reloc)operator(.)ident(r_address)operator(\);) ident(datum) operator(=) ident(arg)operator(->)ident(value)operator(;) reserved(if) operator(()ident(R_PCREL)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) ident(datum) operator(-=) ident(undef)operator(->)ident(base)operator(;) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) operator(&&) ident(defined)operator(()ident(sparc)operator(\)) ident(datum) operator(+=) ident(undef)operator(->)ident(reloc)operator(.)ident(r_addend)operator(;) ident(datum) operator(>>=) ident(R_RIGHTSHIFT)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\);) ident(mask) operator(=) operator(()integer(1) operator(<<) ident(R_BITSIZE)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) operator(-) integer(1)operator(;) ident(mask) operator(|=) ident(mask) operator(-)integer(1)operator(;) ident(datum) operator(&=) ident(mask)operator(;) reserved(switch) operator(()ident(R_LENGTH)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) operator({) reserved(case) integer(0)operator(:) operator(*)ident(address) operator(=) ident(undef)operator(->)ident(u)operator(.)ident(c)operator(;) operator(*)ident(address) operator(&=) operator(~)ident(mask)operator(;) operator(*)ident(address) operator(|=) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) operator(*()pre_type(short) operator(*\))ident(address) operator(=) ident(undef)operator(->)ident(u)operator(.)ident(s)operator(;) operator(*()pre_type(short) operator(*\))ident(address) operator(&=) operator(~)ident(mask)operator(;) operator(*()pre_type(short) operator(*\))ident(address) operator(|=) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) operator(*()pre_type(long) operator(*\))ident(address) operator(=) ident(undef)operator(->)ident(u)operator(.)ident(l)operator(;) operator(*()pre_type(long) operator(*\))ident(address) operator(&=) operator(~)ident(mask)operator(;) operator(*()pre_type(long) operator(*\))ident(address) operator(|=) ident(datum)operator(;) reserved(break)operator(;) operator(}) preprocessor(#else) reserved(switch) operator(()ident(R_LENGTH)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) operator({) reserved(case) integer(0)operator(:) comment(/* byte */) reserved(if) operator(()ident(R_MEMORY_SUB)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) operator(*)ident(address) operator(=) ident(datum) operator(-) operator(*)ident(address)operator(;) reserved(else) operator(*)ident(address) operator(=) ident(undef)operator(->)ident(u)operator(.)ident(c) operator(+) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) comment(/* word */) reserved(if) operator(()ident(R_MEMORY_SUB)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) operator(*()pre_type(short)operator(*\))ident(address) operator(=) ident(datum) operator(-) operator(*()pre_type(short)operator(*\))ident(address)operator(;) reserved(else) operator(*()pre_type(short)operator(*\))ident(address) operator(=) ident(undef)operator(->)ident(u)operator(.)ident(s) operator(+) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) comment(/* long */) reserved(if) operator(()ident(R_MEMORY_SUB)operator((&()ident(undef)operator(->)ident(reloc)operator(\)\)\)) operator(*()pre_type(long)operator(*\))ident(address) operator(=) ident(datum) operator(-) operator(*()pre_type(long)operator(*\))ident(address)operator(;) reserved(else) operator(*()pre_type(long)operator(*\))ident(address) operator(=) ident(undef)operator(->)ident(u)operator(.)ident(l) operator(+) ident(datum)operator(;) reserved(break)operator(;) operator(}) preprocessor(#endif) ident(free)operator(()ident(undef)operator(->)ident(name)operator(\);) ident(free)operator(()ident(undef)operator(\);) reserved(return) ident(ST_DELETE)operator(;) operator(}) directive(static) directive(void) ident(unlink_undef)operator(()ident(name)operator(,) ident(value)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) pre_type(long) ident(value)operator(;) operator({) reserved(struct) ident(reloc_arg) ident(arg)operator(;) ident(arg)operator(.)ident(name) operator(=) ident(name)operator(;) ident(arg)operator(.)ident(value) operator(=) ident(value)operator(;) ident(st_foreach)operator(()ident(reloc_tbl)operator(,) ident(reloc_undef)operator(,) operator(&)ident(arg)operator(\);) operator(}) preprocessor(#ifdef) ident(N_INDR) reserved(struct) ident(indr_data) operator({) pre_type(char) operator(*)ident(name0)operator(,) operator(*)ident(name1)operator(;) operator(};) directive(static) pre_type(int) ident(reloc_repl)operator(()ident(no)operator(,) ident(undef)operator(,) ident(data)operator(\)) pre_type(int) ident(no)operator(;) reserved(struct) ident(undef) operator(*)ident(undef)operator(;) reserved(struct) ident(indr_data) operator(*)ident(data)operator(;) operator({) reserved(if) operator(()ident(strcmp)operator(()ident(data)operator(->)ident(name0)operator(,) ident(undef)operator(->)ident(name)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(free)operator(()ident(undef)operator(->)ident(name)operator(\);) ident(undef)operator(->)ident(name) operator(=) ident(strdup)operator(()ident(data)operator(->)ident(name1)operator(\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) preprocessor(#endif) directive(static) pre_type(int) ident(load_1)operator(()ident(fd)operator(,) ident(disp)operator(,) ident(need_init)operator(\)) pre_type(int) ident(fd)operator(;) pre_type(long) ident(disp)operator(;) directive(const) pre_type(char) operator(*)ident(need_init)operator(;) operator({) directive(static) pre_type(char) operator(*)ident(libc) operator(=) ident(LIBC_NAME)operator(;) reserved(struct) ident(exec) ident(hdr)operator(;) reserved(struct) ident(relocation_info) operator(*)ident(reloc) operator(=) pre_constant(NULL)operator(;) pre_type(long) ident(block) operator(=) integer(0)operator(;) pre_type(long) ident(new_common) operator(=) integer(0)operator(;) comment(/* Length of new common */) reserved(struct) ident(nlist) operator(*)ident(syms) operator(=) pre_constant(NULL)operator(;) reserved(struct) ident(nlist) operator(*)ident(sym)operator(;) reserved(struct) ident(nlist) operator(*)ident(end)operator(;) pre_type(int) ident(init_p) operator(=) integer(0)operator(;) reserved(if) operator(()ident(load_header)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) ident(disp)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(INVALID_OBJECT)operator(()ident(hdr)operator(\)\)) operator({) ident(dln_errno) operator(=) ident(DLN_ENOEXEC)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(reloc) operator(=) ident(load_reloc)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) ident(disp)operator(\);) reserved(if) operator(()ident(reloc) operator(==) pre_constant(NULL)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(syms) operator(=) ident(load_sym)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) ident(disp)operator(\);) reserved(if) operator(()ident(syms) operator(==) pre_constant(NULL)operator(\)) operator({) ident(free)operator(()ident(reloc)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(sym) operator(=) ident(syms)operator(;) ident(end) operator(=) ident(syms) operator(+) operator(()ident(hdr)operator(.)ident(a_syms) operator(/) reserved(sizeof)operator(()reserved(struct) ident(nlist)operator(\)\);) reserved(while) operator(()ident(sym) operator(<) ident(end)operator(\)) operator({) reserved(struct) ident(nlist) operator(*)ident(old_sym)operator(;) pre_type(int) ident(value) operator(=) ident(sym)operator(->)ident(n_value)operator(;) preprocessor(#ifdef) ident(N_INDR) reserved(if) operator(()ident(sym)operator(->)ident(n_type) operator(==) operator(()ident(N_INDR) operator(|) ident(N_EXT)operator(\)\)) operator({) pre_type(char) operator(*)ident(key) operator(=) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_tbl)operator(,) ident(sym)operator([)integer(1)operator(])operator(.)ident(n_un)operator(.)ident(n_name)operator(,) operator(&)ident(old_sym)operator(\)\)) operator({) reserved(if) operator(()ident(st_delete)operator(()ident(undef_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(key)operator(,) pre_constant(NULL)operator(\)\)) operator({) ident(unlink_undef)operator(()ident(key)operator(,) ident(old_sym)operator(->)ident(n_value)operator(\);) ident(free)operator(()ident(key)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(struct) ident(indr_data) ident(data)operator(;) ident(data)operator(.)ident(name0) operator(=) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(;) ident(data)operator(.)ident(name1) operator(=) ident(sym)operator([)integer(1)operator(])operator(.)ident(n_un)operator(.)ident(n_name)operator(;) ident(st_foreach)operator(()ident(reloc_tbl)operator(,) ident(reloc_repl)operator(,) operator(&)ident(data)operator(\);) ident(st_insert)operator(()ident(undef_tbl)operator(,) ident(strdup)operator(()ident(sym)operator([)integer(1)operator(])operator(.)ident(n_un)operator(.)ident(n_name)operator(\),) pre_constant(NULL)operator(\);) reserved(if) operator(()ident(st_delete)operator(()ident(undef_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(key)operator(,) pre_constant(NULL)operator(\)\)) operator({) ident(free)operator(()ident(key)operator(\);) operator(}) operator(}) ident(sym) operator(+=) integer(2)operator(;) reserved(continue)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(sym)operator(->)ident(n_type) operator(==) operator(()ident(N_UNDF) operator(|) ident(N_EXT)operator(\)\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_tbl)operator(,) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(,) operator(&)ident(old_sym)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(old_sym) operator(=) pre_constant(NULL)operator(;) operator(}) reserved(if) operator(()ident(value)operator(\)) operator({) reserved(if) operator(()ident(old_sym)operator(\)) operator({) ident(sym)operator(->)ident(n_type) operator(=) ident(N_EXT) operator(|) ident(N_COMM)operator(;) ident(sym)operator(->)ident(n_value) operator(=) ident(old_sym)operator(->)ident(n_value)operator(;) operator(}) reserved(else) operator({) pre_type(int) ident(rnd) operator(=) ident(value) operator(>=) reserved(sizeof)operator(()pre_type(double)operator(\)) operator(?) reserved(sizeof)operator(()pre_type(double)operator(\)) operator(-) integer(1) operator(:) ident(value) operator(>=) reserved(sizeof)operator(()pre_type(long)operator(\)) operator(?) reserved(sizeof)operator(()pre_type(long)operator(\)) operator(-) integer(1) operator(:) reserved(sizeof)operator(()pre_type(short)operator(\)) operator(-) integer(1)operator(;) ident(sym)operator(->)ident(n_type) operator(=) ident(N_COMM)operator(;) ident(new_common) operator(+=) ident(rnd)operator(;) ident(new_common) operator(&=) operator(~()pre_type(long)operator(\))ident(rnd)operator(;) ident(sym)operator(->)ident(n_value) operator(=) ident(new_common)operator(;) ident(new_common) operator(+=) ident(value)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(old_sym)operator(\)) operator({) ident(sym)operator(->)ident(n_type) operator(=) ident(N_EXT) operator(|) ident(N_COMM)operator(;) ident(sym)operator(->)ident(n_value) operator(=) ident(old_sym)operator(->)ident(n_value)operator(;) operator(}) reserved(else) operator({) ident(sym)operator(->)ident(n_value) operator(=) operator(()pre_type(long)operator(\))ident(dln_undefined)operator(;) ident(st_insert)operator(()ident(undef_tbl)operator(,) ident(strdup)operator(()ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(\),) pre_constant(NULL)operator(\);) operator(}) operator(}) operator(}) ident(sym)operator(++;) operator(}) ident(block) operator(=) ident(load_text_data)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) ident(hdr)operator(.)ident(a_bss) operator(+) ident(new_common)operator(,) ident(disp)operator(\);) reserved(if) operator(()ident(block) operator(==) integer(0)operator(\)) reserved(goto) ident(err_exit)operator(;) ident(sym) operator(=) ident(syms)operator(;) reserved(while) operator(()ident(sym) operator(<) ident(end)operator(\)) operator({) reserved(struct) ident(nlist) operator(*)ident(new_sym)operator(;) pre_type(char) operator(*)ident(key)operator(;) reserved(switch) operator(()ident(sym)operator(->)ident(n_type)operator(\)) operator({) reserved(case) ident(N_COMM)operator(:) ident(sym)operator(->)ident(n_value) operator(+=) ident(hdr)operator(.)ident(a_text) operator(+) ident(hdr)operator(.)ident(a_data)operator(;) reserved(case) ident(N_TEXT)operator(|)ident(N_EXT)operator(:) reserved(case) ident(N_DATA)operator(|)ident(N_EXT)operator(:) ident(sym)operator(->)ident(n_value) operator(+=) ident(block)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_tbl)operator(,) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(,) operator(&)ident(new_sym)operator(\)) operator(!=) integer(0) operator(&&) ident(new_sym)operator(->)ident(n_value) operator(!=) operator(()pre_type(long)operator(\))ident(dln_undefined)operator(\)) operator({) ident(dln_errno) operator(=) ident(DLN_ECONFL)operator(;) reserved(goto) ident(err_exit)operator(;) operator(}) ident(key) operator(=) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(;) reserved(if) operator(()ident(st_delete)operator(()ident(undef_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(key)operator(,) pre_constant(NULL)operator(\)) operator(!=) integer(0)operator(\)) operator({) ident(unlink_undef)operator(()ident(key)operator(,) ident(sym)operator(->)ident(n_value)operator(\);) ident(free)operator(()ident(key)operator(\);) operator(}) ident(new_sym) operator(=) operator(()reserved(struct) ident(nlist)operator(*\))ident(xmalloc)operator(()reserved(sizeof)operator(()reserved(struct) ident(nlist)operator(\)\);) operator(*)ident(new_sym) operator(=) operator(*)ident(sym)operator(;) ident(new_sym)operator(->)ident(n_un)operator(.)ident(n_name) operator(=) ident(strdup)operator(()ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(\);) ident(st_insert)operator(()ident(sym_tbl)operator(,) ident(new_sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(,) ident(new_sym)operator(\);) reserved(break)operator(;) reserved(case) ident(N_TEXT)operator(:) reserved(case) ident(N_DATA)operator(:) ident(sym)operator(->)ident(n_value) operator(+=) ident(block)operator(;) reserved(break)operator(;) operator(}) ident(sym)operator(++;) operator(}) comment(/* * First comes the text-relocation */) operator({) reserved(struct) ident(relocation_info) operator(*) ident(rel) operator(=) ident(reloc)operator(;) reserved(struct) ident(relocation_info) operator(*) ident(rel_beg) operator(=) ident(reloc) operator(+) operator(()ident(hdr)operator(.)ident(a_trsize)operator(/)reserved(sizeof)operator(()reserved(struct) ident(relocation_info)operator(\)\);) reserved(struct) ident(relocation_info) operator(*) ident(rel_end) operator(=) ident(reloc) operator(+) operator(()ident(hdr)operator(.)ident(a_trsize)operator(+)ident(hdr)operator(.)ident(a_drsize)operator(\))operator(/)reserved(sizeof)operator(()reserved(struct) ident(relocation_info)operator(\);) reserved(while) operator(()ident(rel) operator(<) ident(rel_end)operator(\)) operator({) pre_type(char) operator(*)ident(address) operator(=) operator(()pre_type(char)operator(*\)()ident(rel)operator(->)ident(r_address) operator(+) ident(block)operator(\);) pre_type(long) ident(datum) operator(=) integer(0)operator(;) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) operator(&&) ident(defined)operator(()ident(sparc)operator(\)) pre_type(unsigned) pre_type(int) ident(mask) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if)operator(()ident(rel) operator(>=) ident(rel_beg)operator(\)) ident(address) operator(+=) ident(hdr)operator(.)ident(a_text)operator(;) reserved(if) operator(()ident(rel)operator(->)ident(r_extern)operator(\)) operator({) comment(/* Look it up in symbol-table */) ident(sym) operator(=) operator(&()ident(syms)operator([)ident(R_SYMBOL)operator(()ident(rel)operator(\)]\);) reserved(switch) operator(()ident(sym)operator(->)ident(n_type)operator(\)) operator({) reserved(case) ident(N_EXT)operator(|)ident(N_UNDF)operator(:) ident(link_undef)operator(()ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(,) ident(block)operator(,) ident(rel)operator(\);) reserved(case) ident(N_EXT)operator(|)ident(N_COMM)operator(:) reserved(case) ident(N_COMM)operator(:) ident(datum) operator(=) ident(sym)operator(->)ident(n_value)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(goto) ident(err_exit)operator(;) operator(}) operator(}) comment(/* end.. look it up */) reserved(else) operator({) comment(/* is static */) reserved(switch) operator(()ident(R_SYMBOL)operator(()ident(rel)operator(\)\)) operator({) reserved(case) ident(N_TEXT)operator(:) reserved(case) ident(N_DATA)operator(:) ident(datum) operator(=) ident(block)operator(;) reserved(break)operator(;) reserved(case) ident(N_BSS)operator(:) ident(datum) operator(=) ident(block) operator(+) ident(new_common)operator(;) reserved(break)operator(;) reserved(case) ident(N_ABS)operator(:) reserved(break)operator(;) operator(}) operator(}) comment(/* end .. is static */) reserved(if) operator(()ident(R_PCREL)operator(()ident(rel)operator(\)\)) ident(datum) operator(-=) ident(block)operator(;) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) operator(&&) ident(defined)operator(()ident(sparc)operator(\)) ident(datum) operator(+=) ident(rel)operator(->)ident(r_addend)operator(;) ident(datum) operator(>>=) ident(R_RIGHTSHIFT)operator(()ident(rel)operator(\);) ident(mask) operator(=) operator(()integer(1) operator(<<) ident(R_BITSIZE)operator(()ident(rel)operator(\)\)) operator(-) integer(1)operator(;) ident(mask) operator(|=) ident(mask) operator(-)integer(1)operator(;) ident(datum) operator(&=) ident(mask)operator(;) reserved(switch) operator(()ident(R_LENGTH)operator(()ident(rel)operator(\)\)) operator({) reserved(case) integer(0)operator(:) operator(*)ident(address) operator(&=) operator(~)ident(mask)operator(;) operator(*)ident(address) operator(|=) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) operator(*()pre_type(short) operator(*\))ident(address) operator(&=) operator(~)ident(mask)operator(;) operator(*()pre_type(short) operator(*\))ident(address) operator(|=) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) operator(*()pre_type(long) operator(*\))ident(address) operator(&=) operator(~)ident(mask)operator(;) operator(*()pre_type(long) operator(*\))ident(address) operator(|=) ident(datum)operator(;) reserved(break)operator(;) operator(}) preprocessor(#else) reserved(switch) operator(()ident(R_LENGTH)operator(()ident(rel)operator(\)\)) operator({) reserved(case) integer(0)operator(:) comment(/* byte */) reserved(if) operator(()ident(datum) operator(<) operator(-)integer(128) operator(||) ident(datum) operator(>) integer(127)operator(\)) reserved(goto) ident(err_exit)operator(;) operator(*)ident(address) operator(+=) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) comment(/* word */) operator(*()pre_type(short) operator(*\))ident(address) operator(+=) ident(datum)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) comment(/* long */) operator(*()pre_type(long) operator(*\))ident(address) operator(+=) ident(datum)operator(;) reserved(break)operator(;) operator(}) preprocessor(#endif) ident(rel)operator(++;) operator(}) operator(}) reserved(if) operator(()ident(need_init)operator(\)) operator({) pre_type(int) ident(len)operator(;) pre_type(char) operator(**)ident(libs_to_be_linked) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(buf)operator(;) reserved(if) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(load_lib)operator(()ident(libc)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(err_exit)operator(;) operator(}) ident(init_funcname)operator((&)ident(buf)operator(,) ident(need_init)operator(\);) ident(len) operator(=) ident(strlen)operator(()ident(buf)operator(\);) reserved(for) operator(()ident(sym) operator(=) ident(syms)operator(;) ident(sym)operator(<)ident(end)operator(;) ident(sym)operator(++\)) operator({) pre_type(char) operator(*)ident(name) operator(=) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(;) reserved(if) operator(()ident(name)operator([)integer(0)operator(]) operator(==) char('_') operator(&&) ident(sym)operator(->)ident(n_value) operator(>=) ident(block)operator(\)) operator({) reserved(if) operator(()ident(strcmp)operator(()ident(name)operator(+)integer(1)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(libs_to_be_linked) operator(=) operator(()pre_type(char)operator(**\))ident(sym)operator(->)ident(n_value)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strcmp)operator(()ident(name)operator(+)integer(1)operator(,) ident(buf)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(init_p) operator(=) integer(1)operator(;) operator((()pre_type(int) operator((*\)(\)\))ident(sym)operator(->)ident(n_value)operator(\)(\);) operator(}) operator(}) operator(}) reserved(if) operator(()ident(libs_to_be_linked) operator(&&) ident(undef_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) reserved(while) operator((*)ident(libs_to_be_linked)operator(\)) operator({) ident(load_lib)operator((*)ident(libs_to_be_linked)operator(\);) ident(libs_to_be_linked)operator(++;) operator(}) operator(}) operator(}) ident(free)operator(()ident(reloc)operator(\);) ident(free)operator(()ident(syms)operator(\);) reserved(if) operator(()ident(need_init)operator(\)) operator({) reserved(if) operator(()ident(init_p) operator(==) integer(0)operator(\)) operator({) ident(dln_errno) operator(=) ident(DLN_ENOINIT)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(load_lib)operator(()ident(libc)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(err_exit)operator(;) reserved(if) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) ident(dln_errno) operator(=) ident(DLN_EUNDEF)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) operator(}) reserved(return) integer(0)operator(;) label(err_exit:) reserved(if) operator(()ident(syms)operator(\)) ident(free)operator(()ident(syms)operator(\);) reserved(if) operator(()ident(reloc)operator(\)) ident(free)operator(()ident(reloc)operator(\);) reserved(if) operator(()ident(block)operator(\)) ident(free)operator((()pre_type(char)operator(*\))ident(block)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) directive(static) pre_type(int) ident(target_offset)operator(;) directive(static) pre_type(int) ident(search_undef)operator(()ident(key)operator(,) ident(value)operator(,) ident(lib_tbl)operator(\)) directive(const) pre_type(char) operator(*)ident(key)operator(;) pre_type(int) ident(value)operator(;) ident(st_table) operator(*)ident(lib_tbl)operator(;) operator({) pre_type(long) ident(offset)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(lib_tbl)operator(,) ident(key)operator(,) operator(&)ident(offset)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(target_offset) operator(=) ident(offset)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(struct) ident(symdef) operator({) pre_type(int) ident(rb_str_index)operator(;) pre_type(int) ident(lib_offset)operator(;) operator(};) pre_type(char) operator(*)ident(dln_librrb_ary_path) operator(=) ident(DLN_DEFAULT_LIB_PATH)operator(;) directive(static) pre_type(int) ident(load_lib)operator(()ident(lib)operator(\)) directive(const) pre_type(char) operator(*)ident(lib)operator(;) operator({) pre_type(char) operator(*)ident(path)operator(,) operator(*)ident(file)operator(;) pre_type(char) ident(armagic)operator([)ident(SARMAG)operator(];) pre_type(int) ident(fd)operator(,) ident(size)operator(;) reserved(struct) ident(ar_hdr) ident(ahdr)operator(;) ident(st_table) operator(*)ident(lib_tbl) operator(=) pre_constant(NULL)operator(;) pre_type(int) operator(*)ident(data)operator(,) ident(nsym)operator(;) reserved(struct) ident(symdef) operator(*)ident(base)operator(;) pre_type(char) operator(*)ident(name_base)operator(;) reserved(if) operator(()ident(dln_init_p) operator(==) integer(0)operator(\)) operator({) ident(dln_errno) operator(=) ident(DLN_ENOINIT)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) ident(dln_errno) operator(=) ident(DLN_EBADLIB)operator(;) reserved(if) operator(()ident(lib)operator([)integer(0)operator(]) operator(==) char('-') operator(&&) ident(lib)operator([)integer(1)operator(]) operator(==) char('l')operator(\)) operator({) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(lib)operator(\)) operator(+) integer(4)operator(;) pre_type(char) operator(*)ident(p) operator(=) ident(alloca)operator(()ident(len)operator(\);) ident(snprintf)operator(()ident(p)operator(,) ident(len)operator(,) stringoperator(,) ident(lib)operator(+)integer(2)operator(\);) ident(lib) operator(=) ident(p)operator(;) operator(}) comment(/* library search path: */) comment(/* look for environment variable DLN_LIBRARY_PATH first. */) comment(/* then variable dln_librrb_ary_path. */) comment(/* if path is still NULL, use "." for path. */) ident(path) operator(=) ident(getenv)operator(()stringoperator(\);) reserved(if) operator(()ident(path) operator(==) pre_constant(NULL)operator(\)) ident(path) operator(=) ident(dln_librrb_ary_path)operator(;) ident(file) operator(=) ident(dln_find_file)operator(()ident(lib)operator(,) ident(path)operator(\);) ident(fd) operator(=) ident(open)operator(()ident(file)operator(,) ident(O_RDONLY)operator(\);) reserved(if) operator(()ident(fd) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(syserr)operator(;) ident(size) operator(=) ident(read)operator(()ident(fd)operator(,) ident(armagic)operator(,) ident(SARMAG)operator(\);) reserved(if) operator(()ident(size) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(syserr)operator(;) reserved(if) operator(()ident(size) operator(!=) ident(SARMAG)operator(\)) operator({) ident(dln_errno) operator(=) ident(DLN_ENOTLIB)operator(;) reserved(goto) ident(badlib)operator(;) operator(}) ident(size) operator(=) ident(read)operator(()ident(fd)operator(,) operator(&)ident(ahdr)operator(,) reserved(sizeof)operator(()ident(ahdr)operator(\)\);) reserved(if) operator(()ident(size) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(syserr)operator(;) reserved(if) operator(()ident(size) operator(!=) reserved(sizeof)operator(()ident(ahdr)operator(\)) operator(||) ident(sscanf)operator(()ident(ahdr)operator(.)ident(ar_size)operator(,) stringoperator(,) operator(&)ident(size)operator(\)) operator(!=) integer(1)operator(\)) operator({) reserved(goto) ident(badlib)operator(;) operator(}) reserved(if) operator(()ident(strncmp)operator(()ident(ahdr)operator(.)ident(ar_name)operator(,) stringoperator(,) integer(9)operator(\)) operator(==) integer(0)operator(\)) operator({) comment(/* make hash table from __.SYMDEF */) ident(lib_tbl) operator(=) ident(st_init_strtable)operator((\);) ident(data) operator(=) operator(()pre_type(int)operator(*\))ident(xmalloc)operator(()ident(size)operator(\);) reserved(if) operator(()ident(data) operator(==) pre_constant(NULL)operator(\)) reserved(goto) ident(syserr)operator(;) ident(size) operator(=) ident(read)operator(()ident(fd)operator(,) ident(data)operator(,) ident(size)operator(\);) ident(nsym) operator(=) operator(*)ident(data) operator(/) reserved(sizeof)operator(()reserved(struct) ident(symdef)operator(\);) ident(base) operator(=) operator(()reserved(struct) ident(symdef)operator(*\)()ident(data) operator(+) integer(1)operator(\);) ident(name_base) operator(=) operator(()pre_type(char)operator(*\)()ident(base) operator(+) ident(nsym)operator(\)) operator(+) reserved(sizeof)operator(()pre_type(int)operator(\);) reserved(while) operator(()ident(nsym) operator(>) integer(0)operator(\)) operator({) pre_type(char) operator(*)ident(name) operator(=) ident(name_base) operator(+) ident(base)operator(->)ident(rb_str_index)operator(;) ident(st_insert)operator(()ident(lib_tbl)operator(,) ident(name)operator(,) ident(base)operator(->)ident(lib_offset) operator(+) reserved(sizeof)operator(()ident(ahdr)operator(\)\);) ident(nsym)operator(--;) ident(base)operator(++;) operator(}) reserved(for) operator((;;\)) operator({) ident(target_offset) operator(=) operator(-)integer(1)operator(;) ident(st_foreach)operator(()ident(undef_tbl)operator(,) ident(search_undef)operator(,) ident(lib_tbl)operator(\);) reserved(if) operator(()ident(target_offset) operator(==) operator(-)integer(1)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(load_1)operator(()ident(fd)operator(,) ident(target_offset)operator(,) integer(0)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(st_free_table)operator(()ident(lib_tbl)operator(\);) ident(free)operator(()ident(data)operator(\);) reserved(goto) ident(badlib)operator(;) operator(}) reserved(if) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(==) integer(0)operator(\)) reserved(break)operator(;) operator(}) ident(free)operator(()ident(data)operator(\);) ident(st_free_table)operator(()ident(lib_tbl)operator(\);) operator(}) reserved(else) operator({) comment(/* linear library, need to scan (FUTURE\) */) reserved(for) operator((;;\)) operator({) pre_type(int) ident(offset) operator(=) ident(SARMAG)operator(;) pre_type(int) ident(found) operator(=) integer(0)operator(;) reserved(struct) ident(exec) ident(hdr)operator(;) reserved(struct) ident(nlist) operator(*)ident(syms)operator(,) operator(*)ident(sym)operator(,) operator(*)ident(end)operator(;) reserved(while) operator(()ident(undef_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) ident(found) operator(=) integer(0)operator(;) ident(lseek)operator(()ident(fd)operator(,) ident(offset)operator(,) integer(0)operator(\);) ident(size) operator(=) ident(read)operator(()ident(fd)operator(,) operator(&)ident(ahdr)operator(,) reserved(sizeof)operator(()ident(ahdr)operator(\)\);) reserved(if) operator(()ident(size) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(syserr)operator(;) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(size) operator(!=) reserved(sizeof)operator(()ident(ahdr)operator(\)) operator(||) ident(sscanf)operator(()ident(ahdr)operator(.)ident(ar_size)operator(,) stringoperator(,) operator(&)ident(size)operator(\)) operator(!=) integer(1)operator(\)) operator({) reserved(goto) ident(badlib)operator(;) operator(}) ident(offset) operator(+=) reserved(sizeof)operator(()ident(ahdr)operator(\);) reserved(if) operator(()ident(load_header)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) ident(offset)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(badlib)operator(;) ident(syms) operator(=) ident(load_sym)operator(()ident(fd)operator(,) operator(&)ident(hdr)operator(,) ident(offset)operator(\);) reserved(if) operator(()ident(syms) operator(==) pre_constant(NULL)operator(\)) reserved(goto) ident(badlib)operator(;) ident(sym) operator(=) ident(syms)operator(;) ident(end) operator(=) ident(syms) operator(+) operator(()ident(hdr)operator(.)ident(a_syms) operator(/) reserved(sizeof)operator(()reserved(struct) ident(nlist)operator(\)\);) reserved(while) operator(()ident(sym) operator(<) ident(end)operator(\)) operator({) reserved(if) operator(()ident(sym)operator(->)ident(n_type) operator(==) ident(N_EXT)operator(|)ident(N_TEXT) operator(&&) ident(st_lookup)operator(()ident(undef_tbl)operator(,) ident(sym)operator(->)ident(n_un)operator(.)ident(n_name)operator(,) pre_constant(NULL)operator(\)\)) operator({) reserved(break)operator(;) operator(}) ident(sym)operator(++;) operator(}) reserved(if) operator(()ident(sym) operator(<) ident(end)operator(\)) operator({) ident(found)operator(++;) ident(free)operator(()ident(syms)operator(\);) reserved(if) operator(()ident(load_1)operator(()ident(fd)operator(,) ident(offset)operator(,) integer(0)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(goto) ident(badlib)operator(;) operator(}) operator(}) ident(offset) operator(+=) ident(size)operator(;) reserved(if) operator(()ident(offset) operator(&) integer(1)operator(\)) ident(offset)operator(++;) operator(}) reserved(if) operator(()ident(found)operator(\)) reserved(break)operator(;) operator(}) operator(}) ident(close)operator(()ident(fd)operator(\);) reserved(return) integer(0)operator(;) label(syserr:) ident(dln_errno) operator(=) ident(errno)operator(;) label(badlib:) reserved(if) operator(()ident(fd) operator(>=) integer(0)operator(\)) ident(close)operator(()ident(fd)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) directive(static) pre_type(int) ident(load)operator(()ident(file)operator(\)) directive(const) pre_type(char) operator(*)ident(file)operator(;) operator({) pre_type(int) ident(fd)operator(;) pre_type(int) ident(result)operator(;) reserved(if) operator(()ident(dln_init_p) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(dln_init)operator(()ident(dln_argv0)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(result) operator(=) ident(strlen)operator(()ident(file)operator(\);) reserved(if) operator(()ident(file)operator([)ident(result)operator(-)integer(1)operator(]) operator(==) char('a')operator(\)) operator({) reserved(return) ident(load_lib)operator(()ident(file)operator(\);) operator(}) ident(fd) operator(=) ident(open)operator(()ident(file)operator(,) ident(O_RDONLY)operator(\);) reserved(if) operator(()ident(fd) operator(==) operator(-)integer(1)operator(\)) operator({) ident(dln_errno) operator(=) ident(errno)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(result) operator(=) ident(load_1)operator(()ident(fd)operator(,) integer(0)operator(,) ident(file)operator(\);) ident(close)operator(()ident(fd)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(void)operator(*) ident(dln_sym)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) reserved(struct) ident(nlist) operator(*)ident(sym)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_tbl)operator(,) ident(name)operator(,) operator(&)ident(sym)operator(\)\)) reserved(return) operator(()directive(void)operator(*\))ident(sym)operator(->)ident(n_value)operator(;) reserved(return) pre_constant(NULL)operator(;) operator(}) preprocessor(#endif) comment(/* USE_DLN_A_OUT */) preprocessor(#ifdef) ident(USE_DLN_DLOPEN) preprocessor(# if) ident(defined)operator(()ident(__NetBSD__)operator(\)) operator(&&) ident(defined)operator(()ident(__NetBSD_Version__)operator(\)) operator(&&) ident(__NetBSD_Version__) operator(<) integer(105000000) preprocessor(# include) include() preprocessor(# include) include() preprocessor(# else) preprocessor(# include) include() preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(__hpux) preprocessor(#include) include() preprocessor(#include) include("dl.h") preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(_AIX)operator(\)) preprocessor(#include) include() comment(/* for isdigit(\) */) preprocessor(#include) include() comment(/* for global errno */) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(NeXT) preprocessor(#if) ident(NS_TARGET_MAJOR) operator(<) integer(4) preprocessor(#include) include() preprocessor(#else) preprocessor(#include) include() preprocessor(#ifndef) ident(NSLINKMODULE_OPTION_BINDNOW) preprocessor(#define) ident(NSLINKMODULE_OPTION_BINDNOW) integer(1) preprocessor(#endif) preprocessor(#endif) preprocessor(#else) preprocessor(#ifdef) ident(__APPLE__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#endif) preprocessor(#if) ident(defined) ident(_WIN32) operator(&&) operator(!)ident(defined) ident(__CYGWIN__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(_WIN32_WCE) preprocessor(#undef) ident(FormatMessage) preprocessor(#define) ident(FormatMessage) ident(FormatMessageA) preprocessor(#undef) ident(LoadLibrary) preprocessor(#define) ident(LoadLibrary) ident(LoadLibraryA) preprocessor(#undef) ident(GetProcAddress) preprocessor(#define) ident(GetProcAddress) ident(GetProcAddressA) preprocessor(#endif) directive(static) directive(const) pre_type(char) operator(*) ident(dln_strerror)operator((\)) operator({) preprocessor(#ifdef) ident(USE_DLN_A_OUT) pre_type(char) operator(*)ident(strerror)operator((\);) reserved(switch) operator(()ident(dln_errno)operator(\)) operator({) reserved(case) ident(DLN_ECONFL)operator(:) reserved(return) stringoperator(;) reserved(case) ident(DLN_ENOINIT)operator(:) reserved(return) stringoperator(;) reserved(case) ident(DLN_EUNDEF)operator(:) reserved(return) stringoperator(;) reserved(case) ident(DLN_ENOTLIB)operator(:) reserved(return) stringoperator(;) reserved(case) ident(DLN_EBADLIB)operator(:) reserved(return) stringoperator(;) reserved(case) ident(DLN_EINIT)operator(:) reserved(return) stringoperator(;) reserved(default)operator(:) reserved(return) ident(strerror)operator(()ident(dln_errno)operator(\);) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(USE_DLN_DLOPEN) reserved(return) operator(()pre_type(char)operator(*\))ident(dlerror)operator((\);) preprocessor(#endif) preprocessor(#if) ident(defined) ident(_WIN32) operator(&&) operator(!)ident(defined) ident(__CYGWIN__) directive(static) pre_type(char) ident(message)operator([)integer(1024)operator(];) pre_type(int) ident(error) operator(=) ident(GetLastError)operator((\);) pre_type(char) operator(*)ident(p) operator(=) ident(message)operator(;) ident(p) operator(+=) ident(sprintf)operator(()ident(message)operator(,) stringoperator(,) ident(error)operator(\);) ident(FormatMessage)operator(() ident(FORMAT_MESSAGE_FROM_SYSTEM) operator(|) ident(FORMAT_MESSAGE_IGNORE_INSERTS)operator(,) pre_constant(NULL)operator(,) ident(error)operator(,) ident(MAKELANGID)operator(()ident(LANG_NEUTRAL)operator(,) ident(SUBLANG_DEFAULT)operator(\),) ident(p)operator(,) reserved(sizeof) ident(message) operator(-) ident(strlen)operator(()ident(message)operator(\),) pre_constant(NULL)operator(\);) reserved(for) operator(()ident(p) operator(=) ident(message)operator(;) operator(*)ident(p)operator(;) ident(p)operator(++\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('\\n') operator(||) operator(*)ident(p) operator(==) char('\\r')operator(\)) operator(*)ident(p) operator(=) char(' ')operator(;) operator(}) reserved(return) ident(message)operator(;) preprocessor(#endif) operator(}) preprocessor(#if) ident(defined)operator(()ident(_AIX)operator(\)) operator(&&) operator(!) ident(defined)operator(()ident(_IA64)operator(\)) directive(static) directive(void) ident(aix_loaderror)operator(()directive(const) pre_type(char) operator(*)ident(pathname)operator(\)) operator({) pre_type(char) operator(*)ident(message)operator([)integer(8)operator(],) ident(errbuf)operator([)integer(1024)operator(];) pre_type(int) ident(i)operator(,)ident(j)operator(;) reserved(struct) ident(errtab) operator({) pre_type(int) ident(errnum)operator(;) pre_type(char) operator(*)ident(errstr)operator(;) operator(}) ident(load_errtab)operator([]) operator(=) operator({) operator({)ident(L_ERROR_TOOMANY)operator(,) stringoperator(},) operator({)ident(L_ERROR_NOLIB)operator(,) stringoperator(},) operator({)ident(L_ERROR_UNDEF)operator(,) stringoperator(},) operator({)ident(L_ERROR_RLDBAD)operator(,) stringoperator(},) operator({)ident(L_ERROR_FORMAT)operator(,) stringoperator(},) operator({)ident(L_ERROR_MEMBER)operator(,) stringoperator(},) operator({)ident(L_ERROR_TYPE)operator(,) stringoperator(},) operator({)ident(L_ERROR_ALIGN)operator(,) stringoperator(},) operator({)ident(L_ERROR_SYSTEM)operator(,) stringoperator(},) operator({)ident(L_ERROR_ERRNO)operator(,) pre_constant(NULL)operator(}) operator(};) preprocessor(#define) ident(LOAD_ERRTAB_LEN) operator(()reserved(sizeof)operator(()ident(load_errtab)operator(\))operator(/)reserved(sizeof)operator(()ident(load_errtab)operator([)integer(0)operator(]\)\)) preprocessor(#define) ident(ERRBUF_APPEND)operator(()ident(s)operator(\)) ident(strncat)operator(()ident(errbuf)operator(,) ident(s)operator(,) reserved(sizeof)operator(()ident(errbuf)operator(\)-)ident(strlen)operator(()ident(errbuf)operator(\)-)integer(1)operator(\)) ident(snprintf)operator(()ident(errbuf)operator(,) integer(1024)operator(,) stringoperator(,) ident(pathname)operator(\);) reserved(if) operator((!)ident(loadquery)operator(()integer(1)operator(,) operator(&)ident(message)operator([)integer(0)operator(],) reserved(sizeof)operator(()ident(message)operator(\)\)\)) ident(ERRBUF_APPEND)operator(()ident(strerror)operator(()ident(errno)operator(\)\);) reserved(for)operator(()ident(i) operator(=) integer(0)operator(;) ident(message)operator([)ident(i)operator(]) operator(&&) operator(*)ident(message)operator([)ident(i)operator(];) ident(i)operator(++\)) operator({) pre_type(int) ident(nerr) operator(=) ident(atoi)operator(()ident(message)operator([)ident(i)operator(]\);) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(LOAD_ERRTAB_LEN)operator(;) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(nerr) operator(==) ident(load_errtab)operator([)ident(i)operator(])operator(.)ident(errnum) operator(&&) ident(load_errtab)operator([)ident(i)operator(])operator(.)ident(errstr)operator(\)) ident(ERRBUF_APPEND)operator(()ident(load_errtab)operator([)ident(i)operator(])operator(.)ident(errstr)operator(\);) operator(}) reserved(while) operator(()ident(isdigit)operator((*)ident(message)operator([)ident(i)operator(]\)\)) ident(message)operator([)ident(i)operator(]++;) ident(ERRBUF_APPEND)operator(()ident(message)operator([)ident(i)operator(]\);) ident(ERRBUF_APPEND)operator(()stringoperator(\);) operator(}) ident(errbuf)operator([)ident(strlen)operator(()ident(errbuf)operator(\)-)integer(1)operator(]) operator(=) char('\\0')operator(;) comment(/* trim off last newline */) ident(rb_loaderror)operator(()ident(errbuf)operator(\);) reserved(return)operator(;) operator(}) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() directive(static) pre_type(char) operator(*)ident(vms_filespec)operator(;) directive(static) pre_type(int) ident(vms_fileact)operator(()pre_type(char) operator(*)ident(filespec)operator(,) pre_type(int) ident(type)operator(\);) directive(static) pre_type(long) ident(vms_fisexh)operator(()pre_type(long) operator(*)ident(sigarr)operator(,) pre_type(long) operator(*)ident(mecarr)operator(\);) preprocessor(#endif) preprocessor(#endif) comment(/* NO_DLN_LOAD */) directive(void)operator(*) ident(dln_load)operator(()ident(file)operator(\)) directive(const) pre_type(char) operator(*)ident(file)operator(;) operator({) preprocessor(#ifdef) ident(NO_DLN_LOAD) ident(rb_raise)operator(()ident(rb_eLoadError)operator(,) stringoperator(\);) preprocessor(#else) preprocessor(#if) operator(!)ident(defined)operator(()ident(_AIX)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(NeXT)operator(\)) directive(const) pre_type(char) operator(*)ident(error) operator(=) integer(0)operator(;) preprocessor(#define) ident(DLN_ERROR)operator((\)) operator(()ident(error) operator(=) ident(dln_strerror)operator((\),) ident(strcpy)operator(()ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(error)operator(\)) operator(+) integer(1)operator(\),) ident(error)operator(\)\)) preprocessor(#endif) preprocessor(#if) ident(defined) ident(_WIN32) operator(&&) operator(!)ident(defined) ident(__CYGWIN__) ident(HINSTANCE) ident(handle)operator(;) pre_type(char) ident(winfile)operator([)ident(MAXPATHLEN)operator(];) directive(void) operator((*)ident(init_fct)operator(\)(\);) pre_type(char) operator(*)ident(buf)operator(;) reserved(if) operator(()ident(strlen)operator(()ident(file)operator(\)) operator(>=) ident(MAXPATHLEN)operator(\)) ident(rb_loaderror)operator(()stringoperator(\);) comment(/* Load the file as an object one */) ident(init_funcname)operator((&)ident(buf)operator(,) ident(file)operator(\);) ident(strcpy)operator(()ident(winfile)operator(,) ident(file)operator(\);) comment(/* Load file */) reserved(if) operator((()ident(handle) operator(=) ident(LoadLibrary)operator(()ident(winfile)operator(\)\)) operator(==) pre_constant(NULL)operator(\)) operator({) ident(error) operator(=) ident(dln_strerror)operator((\);) reserved(goto) ident(failed)operator(;) operator(}) reserved(if) operator((()ident(init_fct) operator(=) operator(()directive(void)operator((*\)(\)\))ident(GetProcAddress)operator(()ident(handle)operator(,) ident(buf)operator(\)\)) operator(==) pre_constant(NULL)operator(\)) operator({) ident(rb_loaderror)operator(()stringoperator(,) ident(dln_strerror)operator((\),) ident(buf)operator(,) ident(file)operator(\);) operator(}) comment(/* Call the init code */) operator((*)ident(init_fct)operator(\)(\);) reserved(return) ident(handle)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(USE_DLN_A_OUT) reserved(if) operator(()ident(load)operator(()ident(file)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(error) operator(=) ident(dln_strerror)operator((\);) reserved(goto) ident(failed)operator(;) operator(}) reserved(return) integer(0)operator(;) preprocessor(#else) pre_type(char) operator(*)ident(buf)operator(;) comment(/* Load the file as an object one */) ident(init_funcname)operator((&)ident(buf)operator(,) ident(file)operator(\);) preprocessor(#ifdef) ident(USE_DLN_DLOPEN) preprocessor(#define) ident(DLN_DEFINED) operator({) directive(void) operator(*)ident(handle)operator(;) directive(void) operator((*)ident(init_fct)operator(\)(\);) preprocessor(#ifndef) ident(RTLD_LAZY) preprocessor(# define) ident(RTLD_LAZY) integer(1) preprocessor(#endif) preprocessor(#ifdef) ident(__INTERIX) preprocessor(# undef) ident(RTLD_GLOBAL) preprocessor(#endif) preprocessor(#ifndef) ident(RTLD_GLOBAL) preprocessor(# define) ident(RTLD_GLOBAL) integer(0) preprocessor(#endif) comment(/* Load file */) reserved(if) operator((()ident(handle) operator(=) operator(()directive(void)operator(*\))ident(dlopen)operator(()ident(file)operator(,) ident(RTLD_LAZY)operator(|)ident(RTLD_GLOBAL)operator(\)\)) operator(==) pre_constant(NULL)operator(\)) operator({) ident(error) operator(=) ident(dln_strerror)operator((\);) reserved(goto) ident(failed)operator(;) operator(}) ident(init_fct) operator(=) operator(()directive(void)operator((*\)(\)\))ident(dlsym)operator(()ident(handle)operator(,) ident(buf)operator(\);) reserved(if) operator(()ident(init_fct) operator(==) pre_constant(NULL)operator(\)) operator({) ident(error) operator(=) ident(DLN_ERROR)operator((\);) ident(dlclose)operator(()ident(handle)operator(\);) reserved(goto) ident(failed)operator(;) operator(}) comment(/* Call the init code */) operator((*)ident(init_fct)operator(\)(\);) reserved(return) ident(handle)operator(;) operator(}) preprocessor(#endif) comment(/* USE_DLN_DLOPEN */) preprocessor(#ifdef) ident(__hpux) preprocessor(#define) ident(DLN_DEFINED) operator({) ident(shl_t) ident(lib) operator(=) pre_constant(NULL)operator(;) pre_type(int) ident(flags)operator(;) directive(void) operator((*)ident(init_fct)operator(\)(\);) ident(flags) operator(=) ident(BIND_DEFERRED)operator(;) ident(lib) operator(=) ident(shl_load)operator(()ident(file)operator(,) ident(flags)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(lib) operator(==) pre_constant(NULL)operator(\)) operator({) directive(extern) pre_type(int) ident(errno)operator(;) ident(rb_loaderror)operator(()stringoperator(,) ident(strerror)operator(()ident(errno)operator(\),) ident(file)operator(\);) operator(}) ident(shl_findsym)operator((&)ident(lib)operator(,) ident(buf)operator(,) ident(TYPE_PROCEDURE)operator(,) operator(()directive(void)operator(*\)&)ident(init_fct)operator(\);) reserved(if) operator(()ident(init_fct) operator(==) pre_constant(NULL)operator(\)) operator({) ident(shl_findsym)operator((&)ident(lib)operator(,) ident(buf)operator(,) ident(TYPE_UNDEFINED)operator(,) operator(()directive(void)operator(*\)&)ident(init_fct)operator(\);) reserved(if) operator(()ident(init_fct) operator(==) pre_constant(NULL)operator(\)) operator({) ident(errno) operator(=) ident(ENOSYM)operator(;) ident(rb_loaderror)operator(()stringoperator(,) ident(strerror)operator(()ident(ENOSYM)operator(\),) ident(file)operator(\);) operator(}) operator(}) operator((*)ident(init_fct)operator(\)(\);) reserved(return) operator(()directive(void)operator(*\))ident(lib)operator(;) operator(}) preprocessor(#endif) comment(/* hpux */) preprocessor(#if) ident(defined)operator(()ident(_AIX)operator(\)) operator(&&) operator(!) ident(defined)operator(()ident(_IA64)operator(\)) preprocessor(#define) ident(DLN_DEFINED) operator({) directive(void) operator((*)ident(init_fct)operator(\)(\);) ident(init_fct) operator(=) operator(()directive(void)operator((*\)(\)\))ident(load)operator((()pre_type(char)operator(*\))ident(file)operator(,) integer(1)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(init_fct) operator(==) pre_constant(NULL)operator(\)) operator({) ident(aix_loaderror)operator(()ident(file)operator(\);) operator(}) reserved(if) operator(()ident(loadbind)operator(()integer(0)operator(,) operator(()directive(void)operator(*\))ident(dln_load)operator(,) operator(()directive(void)operator(*\))ident(init_fct)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(aix_loaderror)operator(()ident(file)operator(\);) operator(}) operator((*)ident(init_fct)operator(\)(\);) reserved(return) operator(()directive(void)operator(*\))ident(init_fct)operator(;) operator(}) preprocessor(#endif) comment(/* _AIX */) preprocessor(#if) ident(defined)operator(()ident(NeXT)operator(\)) operator(||) ident(defined)operator(()ident(__APPLE__)operator(\)) preprocessor(#define) ident(DLN_DEFINED) comment(/*---------------------------------------------------- By SHIROYAMA Takayuki Psi@fortune.nest.or.jp Special Thanks... Yu tomoak-i@is.aist-nara.ac.jp, Mi hisho@tasihara.nest.or.jp, sunshine@sunshineco.com, and... Miss ARAI Akino(^^;\) ----------------------------------------------------*/) preprocessor(#if) ident(defined)operator(()ident(NeXT)operator(\)) operator(&&) operator(()ident(NS_TARGET_MAJOR) operator(<) integer(4)operator(\))comment(/* NeXTSTEP rld functions */) operator({) ident(NXStream)operator(*) ident(s)operator(;) pre_type(unsigned) pre_type(long) ident(init_address)operator(;) pre_type(char) operator(*)ident(object_files)operator([)integer(2)operator(]) operator(=) operator({)pre_constant(NULL)operator(,) pre_constant(NULL)operator(};) directive(void) operator((*)ident(init_fct)operator(\)(\);) ident(object_files)operator([)integer(0)operator(]) operator(=) operator(()pre_type(char)operator(*\))ident(file)operator(;) ident(s) operator(=) ident(NXOpenFile)operator(()integer(2)operator(,)ident(NX_WRITEONLY)operator(\);) comment(/* Load object file, if return value ==0 , load failed*/) reserved(if)operator(()ident(rld_load)operator(()ident(s)operator(,) pre_constant(NULL)operator(,) ident(object_files)operator(,) pre_constant(NULL)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(NXFlush)operator(()ident(s)operator(\);) ident(NXClose)operator(()ident(s)operator(\);) ident(rb_loaderror)operator(()stringoperator(,) ident(file)operator(\);) operator(}) comment(/* lookup the initial function */) reserved(if)operator(()ident(rld_lookup)operator(()ident(s)operator(,) ident(buf)operator(,) operator(&)ident(init_address)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(NXFlush)operator(()ident(s)operator(\);) ident(NXClose)operator(()ident(s)operator(\);) ident(rb_loaderror)operator(()stringoperator(,) ident(file)operator(\);) operator(}) ident(NXFlush)operator(()ident(s)operator(\);) ident(NXClose)operator(()ident(s)operator(\);) comment(/* Cannot call *init_address directory, so copy this value to funtion pointer */) ident(init_fct) operator(=) operator(()directive(void)operator((*\)(\)\))ident(init_address)operator(;) operator((*)ident(init_fct)operator(\)(\);) reserved(return) operator(()directive(void)operator(*\))ident(init_address)operator(;) operator(}) preprocessor(#else)comment(/* OPENSTEP dyld functions */) operator({) pre_type(int) ident(dyld_result)operator(;) ident(NSObjectFileImage) ident(obj_file)operator(;) comment(/* handle, but not use it */) comment(/* "file" is module file name . "buf" is pointer to initial function name with "_" . */) directive(void) operator((*)ident(init_fct)operator(\)(\);) ident(dyld_result) operator(=) ident(NSCreateObjectFileImageFromFile)operator(()ident(file)operator(,) operator(&)ident(obj_file)operator(\);) reserved(if) operator(()ident(dyld_result) operator(!=) ident(NSObjectFileImageSuccess)operator(\)) operator({) ident(rb_loaderror)operator(()stringoperator(,) ident(file)operator(\);) operator(}) ident(NSLinkModule)operator(()ident(obj_file)operator(,) ident(file)operator(,) ident(NSLINKMODULE_OPTION_BINDNOW)operator(\);) comment(/* lookup the initial function */) reserved(if)operator((!)ident(NSIsSymbolNameDefined)operator(()ident(buf)operator(\)\)) operator({) ident(rb_loaderror)operator(()stringoperator(,)ident(file)operator(\);) operator(}) ident(init_fct) operator(=) ident(NSAddressOfSymbol)operator(()ident(NSLookupAndBindSymbol)operator(()ident(buf)operator(\)\);) operator((*)ident(init_fct)operator(\)(\);) reserved(return) operator(()directive(void)operator(*\))ident(init_fct)operator(;) operator(}) preprocessor(#endif) comment(/* rld or dyld */) preprocessor(#endif) preprocessor(#ifdef) ident(__BEOS__) preprocessor(# define) ident(DLN_DEFINED) operator({) ident(status_t) ident(err_stat)operator(;) comment(/* BeOS error status code */) ident(image_id) ident(img_id)operator(;) comment(/* extention module unique id */) directive(void) operator((*)ident(init_fct)operator(\)(\);) comment(/* initialize function for extention module */) comment(/* load extention module */) ident(img_id) operator(=) ident(load_add_on)operator(()ident(file)operator(\);) reserved(if) operator(()ident(img_id) operator(<=) integer(0)operator(\)) operator({) ident(rb_loaderror)operator(()stringoperator(,) ident(file)operator(\);) operator(}) comment(/* find symbol for module initialize function. */) comment(/* The Be Book KernelKit Images section described to use B_SYMBOL_TYPE_TEXT for symbol of function, not B_SYMBOL_TYPE_CODE. Why ? */) comment(/* strcat(init_fct_symname, "__Fv"\); */) comment(/* parameter nothing. */) comment(/* "__Fv" dont need! The Be Book Bug ? */) ident(err_stat) operator(=) ident(get_image_symbol)operator(()ident(img_id)operator(,) ident(buf)operator(,) ident(B_SYMBOL_TYPE_TEXT)operator(,) operator(()directive(void) operator(**\)&)ident(init_fct)operator(\);) reserved(if) operator(()ident(err_stat) operator(!=) ident(B_NO_ERROR)operator(\)) operator({) pre_type(char) ident(real_name)operator([)ident(MAXPATHLEN)operator(];) ident(strcpy)operator(()ident(real_name)operator(,) ident(buf)operator(\);) ident(strcat)operator(()ident(real_name)operator(,) stringoperator(\);) ident(err_stat) operator(=) ident(get_image_symbol)operator(()ident(img_id)operator(,) ident(real_name)operator(,) ident(B_SYMBOL_TYPE_TEXT)operator(,) operator(()directive(void) operator(**\)&)ident(init_fct)operator(\);) operator(}) reserved(if) operator((()ident(B_BAD_IMAGE_ID) operator(==) ident(err_stat)operator(\)) operator(||) operator(()ident(B_BAD_INDEX) operator(==) ident(err_stat)operator(\)\)) operator({) ident(unload_add_on)operator(()ident(img_id)operator(\);) ident(rb_loaderror)operator(()stringoperator(,) ident(file)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(B_NO_ERROR) operator(!=) ident(err_stat)operator(\)) operator({) pre_type(char) ident(errmsg)operator([]) operator(=) stringoperator(;) ident(unload_add_on)operator(()ident(img_id)operator(\);) ident(rb_loaderror)operator(()ident(errmsg)operator(,) ident(strerror)operator(()ident(err_stat)operator(\),) ident(buf)operator(\);) operator(}) comment(/* call module initialize function. */) operator((*)ident(init_fct)operator(\)(\);) reserved(return) operator(()directive(void)operator(*\))ident(img_id)operator(;) operator(}) preprocessor(#endif) comment(/* __BEOS__*/) preprocessor(#ifdef) ident(__MACOS__) preprocessor(# define) ident(DLN_DEFINED) operator({) ident(OSErr) ident(err)operator(;) ident(FSSpec) ident(libspec)operator(;) ident(CFragConnectionID) ident(connID)operator(;) ident(Ptr) ident(mainAddr)operator(;) pre_type(char) ident(errMessage)operator([)integer(1024)operator(];) ident(Boolean) ident(isfolder)operator(,) ident(didsomething)operator(;) ident(Str63) ident(fragname)operator(;) ident(Ptr) ident(symAddr)operator(;) ident(CFragSymbolClass) ident(class)operator(;) directive(void) operator((*)ident(init_fct)operator(\)(\);) pre_type(char) ident(fullpath)operator([)ident(MAXPATHLEN)operator(];) ident(strcpy)operator(()ident(fullpath)operator(,) ident(file)operator(\);) comment(/* resolve any aliases to find the real file */) ident(c2pstr)operator(()ident(fullpath)operator(\);) operator(()directive(void)operator(\))ident(FSMakeFSSpec)operator(()integer(0)operator(,) integer(0)operator(,) ident(fullpath)operator(,) operator(&)ident(libspec)operator(\);) ident(err) operator(=) ident(ResolveAliasFile)operator((&)ident(libspec)operator(,) integer(1)operator(,) operator(&)ident(isfolder)operator(,) operator(&)ident(didsomething)operator(\);) reserved(if) operator(()ident(err)operator(\)) operator({) ident(rb_loaderror)operator(()stringoperator(,) ident(file)operator(\);) operator(}) comment(/* Load the fragment (or return the connID if it is already loaded */) ident(fragname)operator([)integer(0)operator(]) operator(=) integer(0)operator(;) ident(err) operator(=) ident(GetDiskFragment)operator((&)ident(libspec)operator(,) integer(0)operator(,) integer(0)operator(,) ident(fragname)operator(,) ident(kLoadCFrag)operator(,) operator(&)ident(connID)operator(,) operator(&)ident(mainAddr)operator(,) ident(errMessage)operator(\);) reserved(if) operator(()ident(err)operator(\)) operator({) ident(p2cstr)operator(()ident(errMessage)operator(\);) ident(rb_loaderror)operator(()stringoperator(,)ident(errMessage) operator(,) ident(file)operator(\);) operator(}) comment(/* Locate the address of the correct init function */) ident(c2pstr)operator(()ident(buf)operator(\);) ident(err) operator(=) ident(FindSymbol)operator(()ident(connID)operator(,) ident(buf)operator(,) operator(&)ident(symAddr)operator(,) operator(&)ident(class)operator(\);) reserved(if) operator(()ident(err)operator(\)) operator({) ident(rb_loaderror)operator(()string operator(,) ident(file)operator(\);) operator(}) ident(init_fct) operator(=) operator(()directive(void) operator((*\)(\)\))ident(symAddr)operator(;) operator((*)ident(init_fct)operator(\)(\);) reserved(return) operator(()directive(void)operator(*\))ident(init_fct)operator(;) operator(}) preprocessor(#endif) comment(/* __MACOS__ */) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#define) ident(DLN_DEFINED) operator({) pre_type(long) ident(status)operator(;) directive(void) operator((*)ident(init_fct)operator(\)(\);) pre_type(char) operator(*)ident(fname)operator(,) operator(*)ident(p1)operator(,) operator(*)ident(p2)operator(;) ident($)ident(DESCRIPTOR)operator(()ident(fname_d)operator(,) stringoperator(\);) ident($)ident(DESCRIPTOR)operator(()ident(image_d)operator(,) stringoperator(\);) ident($)ident(DESCRIPTOR)operator(()ident(buf_d)operator(,) stringoperator(\);) ident(decc)ident($)ident(to_vms)operator(()ident(file)operator(,) ident(vms_fileact)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(fname) operator(=) operator(()pre_type(char) operator(*\))ident(__alloca)operator(()ident(strlen)operator(()ident(file)operator(\)+)integer(1)operator(\);) ident(strcpy)operator(()ident(fname)operator(,)ident(file)operator(\);) reserved(if) operator(()ident(p1) operator(=) ident(strrchr)operator(()ident(fname)operator(,)char('/')operator(\)\)) ident(fname) operator(=) ident(p1) operator(+) integer(1)operator(;) reserved(if) operator(()ident(p2) operator(=) ident(strrchr)operator(()ident(fname)operator(,)char('.')operator(\)\)) operator(*)ident(p2) operator(=) char('\\0')operator(;) ident(fname_d)operator(.)ident(dsc)ident($)ident(w_length) operator(=) ident(strlen)operator(()ident(fname)operator(\);) ident(fname_d)operator(.)ident(dsc)ident($)ident(a_pointer) operator(=) ident(fname)operator(;) ident(image_d)operator(.)ident(dsc)ident($)ident(w_length) operator(=) ident(strlen)operator(()ident(vms_filespec)operator(\);) ident(image_d)operator(.)ident(dsc)ident($)ident(a_pointer) operator(=) ident(vms_filespec)operator(;) ident(buf_d)operator(.)ident(dsc)ident($)ident(w_length) operator(=) ident(strlen)operator(()ident(buf)operator(\);) ident(buf_d)operator(.)ident(dsc)ident($)ident(a_pointer) operator(=) ident(buf)operator(;) ident(lib)ident($)ident(establish)operator(()ident(vms_fisexh)operator(\);) ident(status) operator(=) ident(lib)ident($)ident(find_image_symbol) operator(() operator(&)ident(fname_d)operator(,) operator(&)ident(buf_d)operator(,) operator(&)ident(init_fct)operator(,) operator(&)ident(image_d)operator(\);) ident(lib)ident($)ident(establish)operator(()integer(0)operator(\);) reserved(if) operator(()ident(status) operator(==) ident(RMS)ident($)ident(_FNF)operator(\)) operator({) ident(error) operator(=) ident(dln_strerror)operator((\);) reserved(goto) ident(failed)operator(;) operator(}) reserved(else) reserved(if) operator((!)ident($)ident(VMS_STATUS_SUCCESS)operator(()ident(status)operator(\)\)) operator({) ident(error) operator(=) ident(DLN_ERROR)operator((\);) reserved(goto) ident(failed)operator(;) operator(}) comment(/* Call the init code */) operator((*)ident(init_fct)operator(\)(\);) reserved(return) integer(1)operator(;) operator(}) preprocessor(#endif) comment(/* __VMS */) preprocessor(#ifndef) ident(DLN_DEFINED) ident(rb_notimplement)operator((\);) preprocessor(#endif) preprocessor(#endif) comment(/* USE_DLN_A_OUT */) preprocessor(#endif) preprocessor(#if) operator(!)ident(defined)operator(()ident(_AIX)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(NeXT)operator(\)) label(failed:) ident(rb_loaderror)operator(()stringoperator(,) ident(error)operator(,) ident(file)operator(\);) preprocessor(#endif) preprocessor(#endif) comment(/* NO_DLN_LOAD */) reserved(return) integer(0)operator(;) comment(/* dummy return */) operator(}) directive(static) pre_type(char) operator(*)ident(dln_find_1)operator((\);) pre_type(char) operator(*) ident(dln_find_exe)operator(()ident(fname)operator(,) ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) reserved(if) operator((!)ident(path)operator(\)) operator({) ident(path) operator(=) ident(getenv)operator(()ident(PATH_ENV)operator(\);) operator(}) reserved(if) operator((!)ident(path)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__MACOS__)operator(\)) ident(path) operator(=) stringoperator(;) preprocessor(#else) ident(path) operator(=) stringoperator(;) preprocessor(#endif) operator(}) reserved(return) ident(dln_find_1)operator(()ident(fname)operator(,) ident(path)operator(,) integer(1)operator(\);) operator(}) pre_type(char) operator(*) ident(dln_find_file)operator(()ident(fname)operator(,) ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) preprocessor(#ifndef) ident(__MACOS__) reserved(if) operator((!)ident(path)operator(\)) ident(path) operator(=) stringoperator(;) reserved(return) ident(dln_find_1)operator(()ident(fname)operator(,) ident(path)operator(,) integer(0)operator(\);) preprocessor(#else) reserved(if) operator((!)ident(path)operator(\)) ident(path) operator(=) stringoperator(;) reserved(return) ident(_macruby_path_conv_posix_to_macos)operator(()ident(dln_find_1)operator(()ident(fname)operator(,) ident(path)operator(,) integer(0)operator(\)\);) preprocessor(#endif) operator(}) directive(static) pre_type(char) ident(fbuf)operator([)ident(MAXPATHLEN)operator(];) directive(static) pre_type(char) operator(*) ident(dln_find_1)operator(()ident(fname)operator(,) ident(path)operator(,) ident(exe_flag)operator(\)) pre_type(char) operator(*)ident(fname)operator(;) pre_type(char) operator(*)ident(path)operator(;) pre_type(int) ident(exe_flag)operator(;) comment(/* non 0 if looking for executable. */) operator({) directive(register) pre_type(char) operator(*)ident(dp)operator(;) directive(register) pre_type(char) operator(*)ident(ep)operator(;) directive(register) pre_type(char) operator(*)ident(bp)operator(;) reserved(struct) ident(stat) ident(st)operator(;) preprocessor(#ifdef) ident(__MACOS__) directive(const) pre_type(char)operator(*) ident(mac_fullpath)operator(;) preprocessor(#endif) reserved(if) operator((!)ident(fname)operator(\)) reserved(return) ident(fname)operator(;) reserved(if) operator(()ident(fname)operator([)integer(0)operator(]) operator(==) char('/')operator(\)) reserved(return) ident(fname)operator(;) reserved(if) operator(()ident(strncmp)operator(()stringoperator(,) ident(fname)operator(,) integer(2)operator(\)) operator(==) integer(0) operator(||) ident(strncmp)operator(()stringoperator(,) ident(fname)operator(,) integer(3)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(fname)operator(;) reserved(if) operator(()ident(exe_flag) operator(&&) ident(strchr)operator(()ident(fname)operator(,) char('/')operator(\)\)) reserved(return) ident(fname)operator(;) preprocessor(#ifdef) ident(DOSISH) reserved(if) operator(()ident(fname)operator([)integer(0)operator(]) operator(==) char('\\\\')operator(\)) reserved(return) ident(fname)operator(;) preprocessor(# ifdef) ident(DOSISH_DRIVE_LETTER) reserved(if) operator(()ident(strlen)operator(()ident(fname)operator(\)) operator(>) integer(2) operator(&&) ident(fname)operator([)integer(1)operator(]) operator(==) char(':')operator(\)) reserved(return) ident(fname)operator(;) preprocessor(# endif) reserved(if) operator(()ident(strncmp)operator(()stringoperator(,) ident(fname)operator(,) integer(2)operator(\)) operator(==) integer(0) operator(||) ident(strncmp)operator(()stringoperator(,) ident(fname)operator(,) integer(3)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(fname)operator(;) reserved(if) operator(()ident(exe_flag) operator(&&) ident(strchr)operator(()ident(fname)operator(,) char('\\\\')operator(\)\)) reserved(return) ident(fname)operator(;) preprocessor(#endif) reserved(for) operator(()ident(dp) operator(=) ident(path)operator(;;) ident(dp) operator(=) operator(++)ident(ep)operator(\)) operator({) directive(register) pre_type(int) ident(l)operator(;) pre_type(int) ident(i)operator(;) pre_type(int) ident(fspace)operator(;) comment(/* extract a component */) ident(ep) operator(=) ident(strchr)operator(()ident(dp)operator(,) ident(PATH_SEP)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(ep) operator(==) pre_constant(NULL)operator(\)) ident(ep) operator(=) ident(dp)operator(+)ident(strlen)operator(()ident(dp)operator(\);) comment(/* find the length of that component */) ident(l) operator(=) ident(ep) operator(-) ident(dp)operator(;) ident(bp) operator(=) ident(fbuf)operator(;) ident(fspace) operator(=) reserved(sizeof) ident(fbuf) operator(-) integer(2)operator(;) reserved(if) operator(()ident(l) operator(>) integer(0)operator(\)) operator({) comment(/* ** If the length of the component is zero length, ** start from the current directory. If the ** component begins with "~", start from the ** user's $HOME environment variable. Otherwise ** take the path literally. */) reserved(if) operator((*)ident(dp) operator(==) char('~') operator(&&) operator(()ident(l) operator(==) integer(1) operator(||) preprocessor(#if) ident(defined)operator(()ident(DOSISH)operator(\)) ident(dp)operator([)integer(1)operator(]) operator(==) char('\\\\') operator(||) preprocessor(#endif) ident(dp)operator([)integer(1)operator(]) operator(==) char('/')operator(\)\)) operator({) pre_type(char) operator(*)ident(home)operator(;) ident(home) operator(=) ident(getenv)operator(()stringoperator(\);) reserved(if) operator(()ident(home) operator(!=) pre_constant(NULL)operator(\)) operator({) ident(i) operator(=) ident(strlen)operator(()ident(home)operator(\);) reserved(if) operator((()ident(fspace) operator(-=) ident(i)operator(\)) operator(<) integer(0)operator(\)) reserved(goto) ident(toolong)operator(;) ident(memcpy)operator(()ident(bp)operator(,) ident(home)operator(,) ident(i)operator(\);) ident(bp) operator(+=) ident(i)operator(;) operator(}) ident(dp)operator(++;) ident(l)operator(--;) operator(}) reserved(if) operator(()ident(l) operator(>) integer(0)operator(\)) operator({) reserved(if) operator((()ident(fspace) operator(-=) ident(l)operator(\)) operator(<) integer(0)operator(\)) reserved(goto) ident(toolong)operator(;) ident(memcpy)operator(()ident(bp)operator(,) ident(dp)operator(,) ident(l)operator(\);) ident(bp) operator(+=) ident(l)operator(;) operator(}) comment(/* add a "/" between directory and filename */) reserved(if) operator(()ident(ep)operator([-)integer(1)operator(]) operator(!=) char('/')operator(\)) operator(*)ident(bp)operator(++) operator(=) char('/')operator(;) operator(}) comment(/* now append the file name */) ident(i) operator(=) ident(strlen)operator(()ident(fname)operator(\);) reserved(if) operator((()ident(fspace) operator(-=) ident(i)operator(\)) operator(<) integer(0)operator(\)) operator({) label(toolong:) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(\);) operator(*)ident(bp) operator(=) char('\\0')operator(;) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(fbuf)operator(\);) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(fname)operator(\);) reserved(goto) ident(next)operator(;) operator(}) ident(memcpy)operator(()ident(bp)operator(,) ident(fname)operator(,) ident(i) operator(+) integer(1)operator(\);) preprocessor(#if) ident(defined)operator(()ident(DOSISH)operator(\)) reserved(if) operator(()ident(exe_flag)operator(\)) operator({) directive(static) directive(const) pre_type(char) ident(extension)operator([][)integer(5)operator(]) operator(=) operator({) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) stringoperator(,) stringoperator(,) stringoperator(,) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) preprocessor(#endif) preprocessor(#elif) ident(defined)operator(()ident(__EMX__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) comment(/* end of __EMX__ or _WIN32 */) preprocessor(#else) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) comment(/* __human68k__ */) preprocessor(#endif) operator(};) pre_type(int) ident(j)operator(;) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(j) operator(<) reserved(sizeof)operator(()ident(extension)operator(\)) operator(/) reserved(sizeof)operator(()ident(extension)operator([)integer(0)operator(]\);) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(fspace) operator(<) ident(strlen)operator(()ident(extension)operator([)ident(j)operator(]\)\)) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(\);) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) operator(()pre_type(int)operator(\)) operator(()ident(bp) operator(-) ident(fbuf)operator(\),) ident(fbuf)operator(\);) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(fname)operator(,) ident(extension)operator([)ident(j)operator(]\);) reserved(continue)operator(;) operator(}) ident(strcpy)operator(()ident(bp) operator(+) ident(i)operator(,) ident(extension)operator([)ident(j)operator(]\);) preprocessor(#ifndef) ident(__MACOS__) reserved(if) operator(()ident(stat)operator(()ident(fbuf)operator(,) operator(&)ident(st)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(fbuf)operator(;) preprocessor(#else) reserved(if) operator(()ident(mac_fullpath) operator(=) ident(_macruby_exist_file_in_libdir_as_posix_name)operator(()ident(fbuf)operator(\)\)) reserved(return) ident(mac_fullpath)operator(;) preprocessor(#endif) operator(}) reserved(goto) ident(next)operator(;) operator(}) preprocessor(#endif) comment(/* MSDOS or _WIN32 or __human68k__ or __EMX__ */) preprocessor(#ifndef) ident(__MACOS__) reserved(if) operator(()ident(stat)operator(()ident(fbuf)operator(,) operator(&)ident(st)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(exe_flag) operator(==) integer(0)operator(\)) reserved(return) ident(fbuf)operator(;) comment(/* looking for executable */) reserved(if) operator((!)ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(&&) ident(eaccess)operator(()ident(fbuf)operator(,) ident(X_OK)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(fbuf)operator(;) operator(}) preprocessor(#else) reserved(if) operator(()ident(mac_fullpath) operator(=) ident(_macruby_exist_file_in_libdir_as_posix_name)operator(()ident(fbuf)operator(\)\)) operator({) reserved(if) operator(()ident(exe_flag) operator(==) integer(0)operator(\)) reserved(return) ident(mac_fullpath)operator(;) comment(/* looking for executable */) reserved(if) operator(()ident(stat)operator(()ident(mac_fullpath)operator(,) operator(&)ident(st)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(&&) ident(eaccess)operator(()ident(mac_fullpath)operator(,) ident(X_OK)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(mac_fullpath)operator(;) operator(}) operator(}) preprocessor(#endif) label(next:) comment(/* if not, and no other alternatives, life is bleak */) reserved(if) operator((*)ident(ep) operator(==) char('\\0')operator(\)) operator({) reserved(return) pre_constant(NULL)operator(;) operator(}) comment(/* otherwise try the next component in the search path */) operator(}) operator(}) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) comment(/* action routine for decc$to_vms */) directive(static) pre_type(int) ident(vms_fileact)operator(()pre_type(char) operator(*)ident(filespec)operator(,) pre_type(int) ident(type)operator(\)) operator({) reserved(if) operator(()ident(vms_filespec)operator(\)) ident(free)operator(()ident(vms_filespec)operator(\);) ident(vms_filespec) operator(=) ident(malloc)operator(()ident(strlen)operator(()ident(filespec)operator(\)+)integer(1)operator(\);) ident(strcpy)operator(()ident(vms_filespec)operator(,) ident(filespec)operator(\);) reserved(return) integer(1)operator(;) operator(}) comment(/* exception handler for LIB$FIND_IMAGE_SYMBOL */) directive(static) pre_type(long) ident(vms_fisexh)operator(()pre_type(long) operator(*)ident(sigarr)operator(,) pre_type(long) operator(*)ident(mecarr)operator(\)) operator({) ident(sys)ident($)ident(unwind)operator(()integer(1)operator(,) integer(0)operator(\);) reserved(return) integer(1)operator(;) operator(}) preprocessor(#endif) comment(/* __VMS */) preprocessor(#define) ident(NO_DLN_LOAD) integer(1) preprocessor(#include) include("dln.c") directive(void) ident(Init_ext)operator((\)) operator({) operator(}) comment(/********************************************************************** enum.c - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Fri Oct 1 15:15:19 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("node.h") preprocessor(#include) include("util.h") ident(VALUE) ident(rb_mEnumerable)operator(;) directive(static) ident(ID) ident(id_each)operator(,) ident(id_eqq)operator(,) ident(id_cmp)operator(;) ident(VALUE) ident(rb_each)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(obj)operator(,) ident(id_each)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) directive(static) ident(VALUE) ident(grep_i)operator(()ident(i)operator(,) ident(arg)operator(\)) ident(VALUE) ident(i)operator(,) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(arg)operator([)integer(0)operator(],) ident(id_eqq)operator(,) integer(1)operator(,) ident(i)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(arg)operator([)integer(1)operator(],) ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(grep_iter_i)operator(()ident(i)operator(,) ident(arg)operator(\)) ident(VALUE) ident(i)operator(,) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(arg)operator([)integer(0)operator(],) ident(id_eqq)operator(,) integer(1)operator(,) ident(i)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(arg)operator([)integer(1)operator(],) ident(rb_yield)operator(()ident(i)operator(\)\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.grep(pattern\) => array * enum.grep(pattern\) {| obj | block } => array * * Returns an array of every element in enum for which * Pattern === element. If the optional block is * supplied, each matching element is passed to it, and the block's * result is stored in the output array. * * (1..100\).grep 38..44 #=> [38, 39, 40, 41, 42, 43, 44] * c = IO.constants * c.grep(/SEEK/\) #=> ["SEEK_END", "SEEK_SET", "SEEK_CUR"] * res = c.grep(/SEEK/\) {|v| IO.const_get(v\) } * res #=> [2, 0, 1] * */) directive(static) ident(VALUE) ident(enum_grep)operator(()ident(obj)operator(,) ident(pat)operator(\)) ident(VALUE) ident(obj)operator(,) ident(pat)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(VALUE) ident(arg)operator([)integer(2)operator(];) ident(arg)operator([)integer(0)operator(]) operator(=) ident(pat)operator(;) ident(arg)operator([)integer(1)operator(]) operator(=) ident(ary)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(rb_block_given_p)operator((\)) operator(?) ident(grep_iter_i) operator(:) ident(grep_i)operator(,) operator(()ident(VALUE)operator(\))ident(arg)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(find_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(i)operator(\)\)\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) ident(rb_iter_break)operator((\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.detect(ifnone = nil\) {| obj | block } => obj or nil * enum.find(ifnone = nil\) {| obj | block } => obj or nil * * Passes each entry in enum to block. Returns the * first for which block is not false. If no * object matches, calls ifnone and returns its result when it * is specified, or returns nil * * (1..10\).detect {|i| i % 5 == 0 and i % 7 == 0 } #=> nil * (1..100\).detect {|i| i % 5 == 0 and i % 7 == 0 } #=> 35 * */) directive(static) ident(VALUE) ident(enum_find)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE)operator(*) ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(memo) operator(=) ident(Qundef)operator(;) ident(VALUE) ident(if_none)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(if_none)operator(\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(find_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(memo)operator(\);) reserved(if) operator(()ident(memo) operator(!=) ident(Qundef)operator(\)) operator({) reserved(return) ident(memo)operator(;) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(if_none)operator(\)\)) operator({) reserved(return) ident(rb_funcall)operator(()ident(if_none)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(find_all_i)operator(()ident(i)operator(,) ident(ary)operator(\)) ident(VALUE) ident(i)operator(,) ident(ary)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(i)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.find_all {| obj | block } => array * enum.select {| obj | block } => array * * Returns an array containing all elements of enum for which * block is not false (see also * Enumerable#reject\). * * (1..10\).find_all {|i| i % 3 == 0 } #=> [3, 6, 9] * */) directive(static) ident(VALUE) ident(enum_find_all)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(find_all_i)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(reject_i)operator(()ident(i)operator(,) ident(ary)operator(\)) ident(VALUE) ident(i)operator(,) ident(ary)operator(;) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(rb_yield)operator(()ident(i)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.reject {| obj | block } => array * * Returns an array for all elements of enum for which * block is false (see also Enumerable#find_all\). * * (1..10\).reject {|i| i % 3 == 0 } #=> [1, 2, 4, 5, 7, 8, 10] * */) directive(static) ident(VALUE) ident(enum_reject)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(reject_i)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(collect_i)operator(()ident(i)operator(,) ident(ary)operator(\)) ident(VALUE) ident(i)operator(,) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_yield)operator(()ident(i)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(collect_all)operator(()ident(i)operator(,) ident(ary)operator(\)) ident(VALUE) ident(i)operator(,) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(i)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.collect {| obj | block } => array * enum.map {| obj | block } => array * * Returns a new array with the results of running block once * for every element in enum. * * (1..4\).collect {|i| i*i } #=> [1, 4, 9, 16] * (1..4\).collect { "cat" } #=> ["cat", "cat", "cat", "cat"] * */) directive(static) ident(VALUE) ident(enum_collect)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(rb_block_given_p)operator((\)) operator(?) ident(collect_i) operator(:) ident(collect_all)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * enum.to_a => array * enum.entries => array * * Returns an array containing the items in enum. * * (1..7\).to_a #=> [1, 2, 3, 4, 5, 6, 7] * { 'a'=>1, 'b'=>2, 'c'=>3 }.to_a #=> [["a", 1], ["b", 2], ["c", 3]] */) directive(static) ident(VALUE) ident(enum_to_a)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(collect_all)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(inject_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator((*)ident(memo) operator(==) ident(Qundef)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) reserved(else) operator({) operator(*)ident(memo) operator(=) ident(rb_yield_values)operator(()integer(2)operator(,) operator(*)ident(memo)operator(,) ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.inject(initial\) {| memo, obj | block } => obj * enum.inject {| memo, obj | block } => obj * * Combines the elements of enum by applying the block to an * accumulator value (memo\) and each element in turn. At each * step, memo is set to the value returned by the block. The * first form lets you supply an initial value for memo. The * second form uses the first element of the collection as a the * initial value (and skips that element while iterating\). * * # Sum some numbers * (5..10\).inject {|sum, n| sum + n } #=> 45 * # Multiply some numbers * (5..10\).inject(1\) {|product, n| product * n } #=> 151200 * * # find the longest word * longest = %w{ cat sheep bear }.inject do |memo,word| * memo.length > word.length ? memo : word * end * longest #=> "sheep" * * # find the length of the longest word * longest = %w{ cat sheep bear }.inject(0\) do |memo,word| * memo >= word.length ? memo : word.length * end * longest #=> 5 * */) directive(static) ident(VALUE) ident(enum_inject)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(,) ident(obj)operator(;) operator({) ident(VALUE) ident(memo) operator(=) ident(Qundef)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(memo)operator(\)) operator(==) integer(0)operator(\)) ident(memo) operator(=) ident(Qundef)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(inject_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(memo)operator(\);) reserved(if) operator(()ident(memo) operator(==) ident(Qundef)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(memo)operator(;) operator(}) directive(static) ident(VALUE) ident(partition_i)operator(()ident(i)operator(,) ident(ary)operator(\)) ident(VALUE) ident(i)operator(,) operator(*)ident(ary)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(i)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator([)integer(0)operator(],) ident(i)operator(\);) operator(}) reserved(else) operator({) ident(rb_ary_push)operator(()ident(ary)operator([)integer(1)operator(],) ident(i)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.partition {| obj | block } => [ true_array, false_array ] * * Returns two arrays, the first containing the elements of * enum for which the block evaluates to true, the second * containing the rest. * * (1..6\).partition {|i| (i&1\).zero?} #=> [[2, 4, 6], [1, 3, 5]] * */) directive(static) ident(VALUE) ident(enum_partition)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary)operator([)integer(2)operator(];) ident(ary)operator([)integer(0)operator(]) operator(=) ident(rb_ary_new)operator((\);) ident(ary)operator([)integer(1)operator(]) operator(=) ident(rb_ary_new)operator((\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(partition_i)operator(,) operator(()ident(VALUE)operator(\))ident(ary)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(ary)operator([)integer(0)operator(],) ident(ary)operator([)integer(1)operator(]\);) operator(}) comment(/* * call-seq: * enum.sort => array * enum.sort {| a, b | block } => array * * Returns an array containing the items in enum sorted, * either according to their own <=> method, or by using * the results of the supplied block. The block should return -1, 0, or * +1 depending on the comparison between a and b. As of * Ruby 1.8, the method Enumerable#sort_by implements a * built-in Schwartzian Transform, useful when key computation or * comparison is expensive.. * * %w(rhea kea flea\).sort #=> ["flea", "kea", "rhea"] * (1..10\).sort {|a,b| b <=> a} #=> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] */) directive(static) ident(VALUE) ident(enum_sort)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_ary_sort)operator(()ident(enum_to_a)operator(()ident(obj)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(sort_by_i)operator(()ident(i)operator(,) ident(ary)operator(\)) ident(VALUE) ident(i)operator(,) ident(ary)operator(;) operator({) ident(VALUE) ident(v)operator(;) ident(NODE) operator(*)ident(memo)operator(;) ident(v) operator(=) ident(rb_yield)operator(()ident(i)operator(\);) reserved(if) operator(()ident(RBASIC)operator(()ident(ary)operator(\)->)ident(klass)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(memo) operator(=) ident(rb_node_newnode)operator(()ident(NODE_MEMO)operator(,) ident(v)operator(,) ident(i)operator(,) integer(0)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) operator(()ident(VALUE)operator(\))ident(memo)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) pre_type(int) ident(sort_by_cmp)operator(()ident(aa)operator(,) ident(bb)operator(\)) ident(NODE) operator(**)ident(aa)operator(,) operator(**)ident(bb)operator(;) operator({) ident(VALUE) ident(a) operator(=) ident(aa)operator([)integer(0)operator(]->)ident(u1)operator(.)ident(value)operator(;) ident(VALUE) ident(b) operator(=) ident(bb)operator([)integer(0)operator(]->)ident(u1)operator(.)ident(value)operator(;) reserved(return) ident(rb_cmpint)operator(()ident(rb_funcall)operator(()ident(a)operator(,) ident(id_cmp)operator(,) integer(1)operator(,) ident(b)operator(\),) ident(a)operator(,) ident(b)operator(\);) operator(}) comment(/* * call-seq: * enum.sort_by {| obj | block } => array * * Sorts enum using a set of keys generated by mapping the * values in enum through the given block. * * %w{ apple pear fig }.sort_by {|word| word.length} #=> ["fig", "pear", "apple"] * * The current implementation of sort_by generates an * array of tuples containing the original collection element and the * mapped value. This makes sort_by fairly expensive when * the keysets are simple * * require 'benchmark' * include Benchmark * * a = (1..100000\).map {rand(100000\)} * * bm(10\) do |b| * b.report("Sort"\) { a.sort } * b.report("Sort by"\) { a.sort_by {|a| a} } * end * * produces: * * user system total real * Sort 0.180000 0.000000 0.180000 ( 0.175469\) * Sort by 1.980000 0.040000 2.020000 ( 2.013586\) * * However, consider the case where comparing the keys is a non-trivial * operation. The following code sorts some files on modification time * using the basic sort method. * * files = Dir["*"] * sorted = files.sort {|a,b| File.new(a\).mtime <=> File.new(b\).mtime} * sorted #=> ["mon", "tues", "wed", "thurs"] * * This sort is inefficient: it generates two new File * objects during every comparison. A slightly better technique is to * use the Kernel#test method to generate the modification * times directly. * * files = Dir["*"] * sorted = files.sort { |a,b| * test(?M, a\) <=> test(?M, b\) * } * sorted #=> ["mon", "tues", "wed", "thurs"] * * This still generates many unnecessary Time objects. A * more efficient technique is to cache the sort keys (modification * times in this case\) before the sort. Perl users often call this * approach a Schwartzian Transform, after Randal Schwartz. We * construct a temporary array, where each element is an array * containing our sort key along with the filename. We sort this array, * and then extract the filename from the result. * * sorted = Dir["*"].collect { |f| * [test(?M, f\), f] * }.sort.collect { |f| f[1] } * sorted #=> ["mon", "tues", "wed", "thurs"] * * This is exactly what sort_by does internally. * * sorted = Dir["*"].sort_by {|f| test(?M, f\)} * sorted #=> ["mon", "tues", "wed", "thurs"] */) directive(static) ident(VALUE) ident(enum_sort_by)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_ARRAY)operator(\)) operator({) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(obj)operator(\)->)ident(len)operator(\);) operator(}) reserved(else) operator({) ident(ary) operator(=) ident(rb_ary_new)operator((\);) operator(}) ident(RBASIC)operator(()ident(ary)operator(\)->)ident(klass) operator(=) integer(0)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(sort_by_i)operator(,) ident(ary)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) ident(qsort)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(,) reserved(sizeof)operator(()ident(VALUE)operator(\),) ident(sort_by_cmp)operator(,) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(RBASIC)operator(()ident(ary)operator(\)->)ident(klass)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(RNODE)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)->)ident(u2)operator(.)ident(value)operator(;) operator(}) ident(RBASIC)operator(()ident(ary)operator(\)->)ident(klass) operator(=) ident(rb_cArray)operator(;) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(all_iter_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(rb_yield)operator(()ident(i)operator(\)\)\)) operator({) operator(*)ident(memo) operator(=) ident(Qfalse)operator(;) ident(rb_iter_break)operator((\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(all_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(i)operator(\)\)) operator({) operator(*)ident(memo) operator(=) ident(Qfalse)operator(;) ident(rb_iter_break)operator((\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.all? [{|obj| block } ] => true or false * * Passes each element of the collection to the given block. The method * returns true if the block never returns * false or nil. If the block is not given, * Ruby adds an implicit block of {|obj| obj} (that is * all? will return true only if none of the * collection members are false or nil.\) * * %w{ ant bear cat}.all? {|word| word.length >= 3} #=> true * %w{ ant bear cat}.all? {|word| word.length >= 4} #=> false * [ nil, true, 99 ].all? #=> false * */) directive(static) ident(VALUE) ident(enum_all)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qtrue)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(rb_block_given_p)operator((\)) operator(?) ident(all_iter_i) operator(:) ident(all_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(any_iter_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(i)operator(\)\)\)) operator({) operator(*)ident(memo) operator(=) ident(Qtrue)operator(;) ident(rb_iter_break)operator((\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(any_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(i)operator(\)\)) operator({) operator(*)ident(memo) operator(=) ident(Qtrue)operator(;) ident(rb_iter_break)operator((\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.any? [{|obj| block } ] => true or false * * Passes each element of the collection to the given block. The method * returns true if the block ever returns a value other * than false or nil. If the block is not * given, Ruby adds an implicit block of {|obj| obj} (that * is any? will return true if at least one * of the collection members is not false or * nil. * * %w{ ant bear cat}.any? {|word| word.length >= 3} #=> true * %w{ ant bear cat}.any? {|word| word.length >= 4} #=> true * [ nil, true, 99 ].any? #=> true * */) directive(static) ident(VALUE) ident(enum_any)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qfalse)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(rb_block_given_p)operator((\)) operator(?) ident(any_iter_i) operator(:) ident(any_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(min_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) ident(VALUE) ident(cmp)operator(;) reserved(if) operator((*)ident(memo) operator(==) ident(Qundef)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) reserved(else) operator({) ident(cmp) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) ident(id_cmp)operator(,) integer(1)operator(,) operator(*)ident(memo)operator(\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(cmp)operator(,) ident(i)operator(,) operator(*)ident(memo)operator(\)) operator(<) integer(0)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(min_ii)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) ident(VALUE) ident(cmp)operator(;) reserved(if) operator((*)ident(memo) operator(==) ident(Qundef)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) reserved(else) operator({) ident(cmp) operator(=) ident(rb_yield_values)operator(()integer(2)operator(,) ident(i)operator(,) operator(*)ident(memo)operator(\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(cmp)operator(,) ident(i)operator(,) operator(*)ident(memo)operator(\)) operator(<) integer(0)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.min => obj * enum.min {| a,b | block } => obj * * Returns the object in enum with the minimum value. The * first form assumes all objects implement Comparable; * the second uses the block to return a <=> b. * * a = %w(albatross dog horse\) * a.min #=> "albatross" * a.min {|a,b| a.length <=> b.length } #=> "dog" */) directive(static) ident(VALUE) ident(enum_min)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qundef)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(rb_block_given_p)operator((\)) operator(?) ident(min_ii) operator(:) ident(min_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(result)operator(\);) reserved(if) operator(()ident(result) operator(==) ident(Qundef)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * enum.max => obj * enum.max {| a,b | block } => obj * * Returns the object in enum with the maximum value. The * first form assumes all objects implement Comparable; * the second uses the block to return a <=> b. * * a = %w(albatross dog horse\) * a.max #=> "horse" * a.max {|a,b| a.length <=> b.length } #=> "albatross" */) directive(static) ident(VALUE) ident(max_i)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) ident(VALUE) ident(cmp)operator(;) reserved(if) operator((*)ident(memo) operator(==) ident(Qundef)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) reserved(else) operator({) ident(cmp) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) ident(id_cmp)operator(,) integer(1)operator(,) operator(*)ident(memo)operator(\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(cmp)operator(,) ident(i)operator(,) operator(*)ident(memo)operator(\)) operator(>) integer(0)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(max_ii)operator(()ident(i)operator(,) ident(memo)operator(\)) ident(VALUE) ident(i)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) ident(VALUE) ident(cmp)operator(;) reserved(if) operator((*)ident(memo) operator(==) ident(Qundef)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) reserved(else) operator({) ident(cmp) operator(=) ident(rb_yield_values)operator(()integer(2)operator(,) ident(i)operator(,) operator(*)ident(memo)operator(\);) reserved(if) operator(()ident(rb_cmpint)operator(()ident(cmp)operator(,) ident(i)operator(,) operator(*)ident(memo)operator(\)) operator(>) integer(0)operator(\)) operator({) operator(*)ident(memo) operator(=) ident(i)operator(;) operator(}) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.max => obj * enum.max {|a,b| block } => obj * * Returns the object in _enum_ with the maximum value. The * first form assumes all objects implement Comparable; * the second uses the block to return a <=> b. * * a = %w(albatross dog horse\) * a.max #=> "horse" * a.max {|a,b| a.length <=> b.length } #=> "albatross" */) directive(static) ident(VALUE) ident(enum_max)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qundef)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(rb_block_given_p)operator((\)) operator(?) ident(max_ii) operator(:) ident(max_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(result)operator(\);) reserved(if) operator(()ident(result) operator(==) ident(Qundef)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(member_i)operator(()ident(item)operator(,) ident(memo)operator(\)) ident(VALUE) ident(item)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) reserved(if) operator(()ident(rb_equal)operator(()ident(item)operator(,) ident(memo)operator([)integer(0)operator(]\)\)) operator({) ident(memo)operator([)integer(1)operator(]) operator(=) ident(Qtrue)operator(;) ident(rb_iter_break)operator((\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.include?(obj\) => true or false * enum.member?(obj\) => true or false * * Returns true if any member of enum equals * obj. Equality is tested using ==. * * IO.constants.include? "SEEK_SET" #=> true * IO.constants.include? "SEEK_NO_FURTHER" #=> false * */) directive(static) ident(VALUE) ident(enum_member)operator(()ident(obj)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(,) ident(val)operator(;) operator({) ident(VALUE) ident(memo)operator([)integer(2)operator(];) ident(memo)operator([)integer(0)operator(]) operator(=) ident(val)operator(;) ident(memo)operator([)integer(1)operator(]) operator(=) ident(Qfalse)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(member_i)operator(,) operator(()ident(VALUE)operator(\))ident(memo)operator(\);) reserved(return) ident(memo)operator([)integer(1)operator(];) operator(}) directive(static) ident(VALUE) ident(each_with_index_i)operator(()ident(val)operator(,) ident(memo)operator(\)) ident(VALUE) ident(val)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) ident(rb_yield_values)operator(()integer(2)operator(,) ident(val)operator(,) ident(INT2FIX)operator((*)ident(memo)operator(\)\);) operator(++*)ident(memo)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.each_with_index {|obj, i| block } -> enum * * Calls block with two arguments, the item and its index, for * each item in enum. * * hash = Hash.new * %w(cat dog wombat\).each_with_index {|item, index| * hash[item] = index * } * hash #=> {"cat"=>0, "wombat"=>2, "dog"=>1} * */) directive(static) ident(VALUE) ident(enum_each_with_index)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(memo) operator(=) integer(0)operator(;) ident(rb_need_block)operator((\);) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(each_with_index_i)operator(,) operator(()ident(VALUE)operator(\)&)ident(memo)operator(\);) reserved(return) ident(obj)operator(;) operator(}) directive(static) ident(VALUE) ident(zip_i)operator(()ident(val)operator(,) ident(memo)operator(\)) ident(VALUE) ident(val)operator(;) ident(VALUE) operator(*)ident(memo)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(memo)operator([)integer(0)operator(];) ident(VALUE) ident(args) operator(=) ident(memo)operator([)integer(1)operator(];) pre_type(int) ident(idx) operator(=) ident(memo)operator([)integer(2)operator(]++;) ident(VALUE) ident(tmp)operator(;) pre_type(int) ident(i)operator(;) ident(tmp) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(args)operator(\)->)ident(len) operator(+) integer(1)operator(\);) ident(rb_ary_store)operator(()ident(tmp)operator(,) integer(0)operator(,) ident(val)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(args)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(tmp)operator(,) ident(rb_ary_entry)operator(()ident(RARRAY)operator(()ident(args)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(idx)operator(\)\);) operator(}) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_yield)operator(()ident(tmp)operator(\);) operator(}) reserved(else) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(tmp)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * enum.zip(arg, ...\) => array * enum.zip(arg, ...\) {|arr| block } => nil * * Converts any arguments to arrays, then merges elements of * enum with corresponding elements from each argument. This * generates a sequence of enum#size n-element * arrays, where n is one more that the count of arguments. If * the size of any argument is less than enum#size, * nil values are supplied. If a block given, it is * invoked for each output array, otherwise an array of arrays is * returned. * * a = [ 4, 5, 6 ] * b = [ 7, 8, 9 ] * * (1..3\).zip(a, b\) #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]] * "cat\\ndog".zip([1]\) #=> [["cat\\n", 1], ["dog", nil]] * (1..3\).zip #=> [[1], [2], [3]] * */) directive(static) ident(VALUE) ident(enum_zip)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(VALUE) ident(result)operator(;) ident(VALUE) ident(memo)operator([)integer(3)operator(];) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(argv)operator([)ident(i)operator(]) operator(=) ident(rb_convert_type)operator(()ident(argv)operator([)ident(i)operator(],) ident(T_ARRAY)operator(,) stringoperator(,) stringoperator(\);) operator(}) ident(result) operator(=) ident(rb_block_given_p)operator((\)) operator(?) ident(Qnil) operator(:) ident(rb_ary_new)operator((\);) ident(memo)operator([)integer(0)operator(]) operator(=) ident(result)operator(;) ident(memo)operator([)integer(1)operator(]) operator(=) ident(rb_ary_new4)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(memo)operator([)integer(2)operator(]) operator(=) integer(0)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(obj)operator(,) ident(zip_i)operator(,) operator(()ident(VALUE)operator(\))ident(memo)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * The Enumerable mixin provides collection classes with * several traversal and searching methods, and with the ability to * sort. The class must provide a method each, which * yields successive members of the collection. If * Enumerable#max, #min, or * #sort is used, the objects in the collection must also * implement a meaningful <=> operator, as these methods * rely on an ordering between members of the collection. */) directive(void) ident(Init_Enumerable)operator((\)) operator({) ident(rb_mEnumerable) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_sort)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_sort_by)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_grep)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_find)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_find)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_find_all)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_find_all)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_reject)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_collect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_collect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_inject)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_partition)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_all)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_any)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_min)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_max)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_member)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_member)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,)stringoperator(,) ident(enum_each_with_index)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mEnumerable)operator(,) stringoperator(,) ident(enum_zip)operator(,) operator(-)integer(1)operator(\);) ident(id_eqq) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_each) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_cmp) operator(=) ident(rb_intern)operator(()string)delimiter(")>operator(\);) operator(}) comment(/********************************************************************** error.c - $Author: shyouhei $ $Date: 2008-08-04 05:16:55 +0200 (Mon, 04 Aug 2008\) $ created at: Mon Aug 9 16:11:34 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("env.h") preprocessor(#include) include("st.h") preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(,)ident(b)operator(\)) preprocessor(#else) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifndef) ident(EXIT_SUCCESS) preprocessor(#define) ident(EXIT_SUCCESS) integer(0) preprocessor(#endif) directive(extern) directive(const) pre_type(char) ident(ruby_version)operator([],) ident(ruby_release_date)operator([],) ident(ruby_platform)operator([];) pre_type(int) ident(ruby_nerrs)operator(;) directive(static) pre_type(int) ident(err_position)operator(()ident(buf)operator(,) ident(len)operator(\)) pre_type(char) operator(*)ident(buf)operator(;) pre_type(long) ident(len)operator(;) operator({) ident(ruby_set_current_source)operator((\);) reserved(if) operator((!)ident(ruby_sourcefile)operator(\)) operator({) reserved(return) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ruby_sourceline) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(snprintf)operator(()ident(buf)operator(,) ident(len)operator(,) stringoperator(,) ident(ruby_sourcefile)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(snprintf)operator(()ident(buf)operator(,) ident(len)operator(,) stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(err_snprintf)operator(()ident(buf)operator(,) ident(len)operator(,) ident(fmt)operator(,) ident(args)operator(\)) pre_type(char) operator(*)ident(buf)operator(;) pre_type(long) ident(len)operator(;) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_list) ident(args)operator(;) operator({) pre_type(long) ident(n)operator(;) ident(n) operator(=) ident(err_position)operator(()ident(buf)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(len) operator(>) ident(n)operator(\)) operator({) ident(vsnprintf)operator((()pre_type(char)operator(*\))ident(buf)operator(+)ident(n)operator(,) ident(len)operator(-)ident(n)operator(,) ident(fmt)operator(,) ident(args)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(err_append) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(static) directive(void) ident(err_print)operator(()ident(fmt)operator(,) ident(args)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_list) ident(args)operator(;) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(err_snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(err_append)operator(()ident(buf)operator(\);) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_compile_error)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_compile_error)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(args)operator(;) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(err_print)operator(()ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(ruby_nerrs)operator(++;) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_compile_error_append)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_compile_error_append)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(args)operator(;) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(vsnprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(err_append)operator(()ident(buf)operator(\);) operator(}) directive(static) directive(void) ident(warn_print)operator(()ident(fmt)operator(,) ident(args)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_list) ident(args)operator(;) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) pre_type(int) ident(len)operator(;) ident(err_snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(len) operator(=) ident(strlen)operator(()ident(buf)operator(\);) ident(buf)operator([)ident(len)operator(++]) operator(=) char('\\n')operator(;) ident(rb_write_error2)operator(()ident(buf)operator(,) ident(len)operator(\);) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_warn)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_warn)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_list) ident(args)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_verbose)operator(\)\)) reserved(return)operator(;) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(fmt)operator(\);) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(warn_print)operator(()ident(buf)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) operator(}) comment(/* rb_warning(\) reports only in verbose mode */) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_warning)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_warning)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_list) ident(args)operator(;) reserved(if) operator((!)ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) reserved(return)operator(;) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(fmt)operator(\);) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(warn_print)operator(()ident(buf)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) operator(}) comment(/* * call-seq: * warn(msg\) => nil * * Display the given message (followed by a newline\) on STDERR unless * warnings are disabled (for example with the -W0 flag\). */) directive(static) ident(VALUE) ident(rb_warn_m)operator(()ident(self)operator(,) ident(mesg)operator(\)) ident(VALUE) ident(self)operator(,) ident(mesg)operator(;) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(ruby_verbose)operator(\)\)) operator({) ident(rb_io_write)operator(()ident(rb_stderr)operator(,) ident(mesg)operator(\);) ident(rb_io_write)operator(()ident(rb_stderr)operator(,) ident(rb_default_rs)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_bug)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_bug)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_list) ident(args)operator(;) ident(FILE) operator(*)ident(out) operator(=) ident(stderr)operator(;) pre_type(int) ident(len) operator(=) ident(err_position)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(\);) reserved(if) operator(()ident(fwrite)operator(()ident(buf)operator(,) integer(1)operator(,) ident(len)operator(,) ident(out)operator(\)) operator(==) ident(len) operator(||) ident(fwrite)operator(()ident(buf)operator(,) integer(1)operator(,) ident(len)operator(,) operator(()ident(out) operator(=) ident(stdout)operator(\)\)) operator(==) ident(len)operator(\)) operator({) ident(fputs)operator(()stringoperator(,) ident(out)operator(\);) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(vfprintf)operator(()ident(out)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(fprintf)operator(()ident(out)operator(,) stringoperator(,) ident(ruby_version)operator(,) ident(ruby_release_date)operator(,) ident(ruby_platform)operator(\);) operator(}) ident(abort)operator((\);) operator(}) directive(static) reserved(struct) ident(types) operator({) pre_type(int) ident(type)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator(}) ident(builtin_types)operator([]) operator(=) operator({) operator({)ident(T_NIL)operator(,) stringoperator(},) operator({)ident(T_OBJECT)operator(,) stringoperator(},) operator({)ident(T_CLASS)operator(,) stringoperator(},) operator({)ident(T_ICLASS)operator(,) stringoperator(},) comment(/* internal use: mixed-in module holder */) operator({)ident(T_MODULE)operator(,) stringoperator(},) operator({)ident(T_FLOAT)operator(,) stringoperator(},) operator({)ident(T_STRING)operator(,) stringoperator(},) operator({)ident(T_REGEXP)operator(,) stringoperator(},) operator({)ident(T_ARRAY)operator(,) stringoperator(},) operator({)ident(T_FIXNUM)operator(,) stringoperator(},) operator({)ident(T_HASH)operator(,) stringoperator(},) operator({)ident(T_STRUCT)operator(,) stringoperator(},) operator({)ident(T_BIGNUM)operator(,) stringoperator(},) operator({)ident(T_FILE)operator(,) stringoperator(},) operator({)ident(T_TRUE)operator(,) stringoperator(},) operator({)ident(T_FALSE)operator(,) stringoperator(},) operator({)ident(T_SYMBOL)operator(,) stringoperator(},) comment(/* :symbol */) operator({)ident(T_DATA)operator(,) stringoperator(},) comment(/* internal use: wrapped C pointers */) operator({)ident(T_MATCH)operator(,) stringoperator(},) comment(/* data of $~ */) operator({)ident(T_VARMAP)operator(,) stringoperator(},) comment(/* internal use: dynamic variables */) operator({)ident(T_SCOPE)operator(,) stringoperator(},) comment(/* internal use: variable scope */) operator({)ident(T_NODE)operator(,) stringoperator(},) comment(/* internal use: syntax tree node */) operator({)ident(T_UNDEF)operator(,) stringoperator(},) comment(/* internal use: #undef; should not happen */) operator({-)integer(1)operator(,) integer(0)operator(}) operator(};) directive(void) ident(rb_check_type)operator(()ident(x)operator(,) ident(t)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(int) ident(t)operator(;) operator({) reserved(struct) ident(types) operator(*)ident(type) operator(=) ident(builtin_types)operator(;) reserved(if) operator(()ident(x) operator(==) ident(Qundef)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(x)operator(\)) operator(!=) ident(t)operator(\)) operator({) reserved(while) operator(()ident(type)operator(->)ident(type) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(type)operator(->)ident(type) operator(==) ident(t)operator(\)) operator({) pre_type(char) operator(*)ident(etype)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(x)operator(\)\)) operator({) ident(etype) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)\)) operator({) ident(etype) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(x)operator(\)\)) operator({) ident(etype) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(x)operator(\)\)) operator({) ident(etype) operator(=) ident(RSTRING)operator(()ident(rb_obj_as_string)operator(()ident(x)operator(\)\)->)ident(ptr)operator(;) operator(}) reserved(else) operator({) ident(etype) operator(=) ident(rb_obj_classname)operator(()ident(x)operator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(etype)operator(,) ident(type)operator(->)ident(name)operator(\);) operator(}) ident(type)operator(++;) operator(}) ident(rb_bug)operator(()stringoperator(,) ident(t)operator(\);) operator(}) operator(}) comment(/* exception classes */) preprocessor(#include) include() ident(VALUE) ident(rb_eException)operator(;) ident(VALUE) ident(rb_eSystemExit)operator(;) ident(VALUE) ident(rb_eInterrupt)operator(;) ident(VALUE) ident(rb_eSignal)operator(;) ident(VALUE) ident(rb_eFatal)operator(;) ident(VALUE) ident(rb_eStandardError)operator(;) ident(VALUE) ident(rb_eRuntimeError)operator(;) ident(VALUE) ident(rb_eTypeError)operator(;) ident(VALUE) ident(rb_eArgError)operator(;) ident(VALUE) ident(rb_eIndexError)operator(;) ident(VALUE) ident(rb_eRangeError)operator(;) ident(VALUE) ident(rb_eNameError)operator(;) ident(VALUE) ident(rb_eNoMethodError)operator(;) ident(VALUE) ident(rb_eSecurityError)operator(;) ident(VALUE) ident(rb_eNotImpError)operator(;) ident(VALUE) ident(rb_eNoMemError)operator(;) ident(VALUE) ident(rb_cNameErrorMesg)operator(;) ident(VALUE) ident(rb_eScriptError)operator(;) ident(VALUE) ident(rb_eSyntaxError)operator(;) ident(VALUE) ident(rb_eLoadError)operator(;) ident(VALUE) ident(rb_eSystemCallError)operator(;) ident(VALUE) ident(rb_mErrno)operator(;) ident(VALUE) ident(rb_exc_new)operator(()ident(etype)operator(,) ident(ptr)operator(,) ident(len)operator(\)) ident(VALUE) ident(etype)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(etype)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(rb_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\)\);) operator(}) ident(VALUE) ident(rb_exc_new2)operator(()ident(etype)operator(,) ident(s)operator(\)) ident(VALUE) ident(etype)operator(;) directive(const) pre_type(char) operator(*)ident(s)operator(;) operator({) reserved(return) ident(rb_exc_new)operator(()ident(etype)operator(,) ident(s)operator(,) ident(strlen)operator(()ident(s)operator(\)\);) operator(}) ident(VALUE) ident(rb_exc_new3)operator(()ident(etype)operator(,) ident(str)operator(\)) ident(VALUE) ident(etype)operator(,) ident(str)operator(;) operator({) ident(StringValue)operator(()ident(str)operator(\);) reserved(return) ident(rb_funcall)operator(()ident(etype)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(str)operator(\);) operator(}) comment(/* * call-seq: * Exception.new(msg = nil\) => exception * * Construct a new Exception object, optionally passing in * a message. */) directive(static) ident(VALUE) ident(exc_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(exc)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(exc)operator(;) operator({) ident(VALUE) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(arg)operator(\);) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(arg)operator(\);) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(Qnil)operator(\);) reserved(return) ident(exc)operator(;) operator(}) comment(/* * Document-method: exception * * call-seq: * exc.exception(string\) -> an_exception or exc * * With no argument, or if the argument is the same as the receiver, * return the receiver. Otherwise, create a new * exception object of the same class as the receiver, but with a * message equal to string.to_str. * */) directive(static) ident(VALUE) ident(exc_exception)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(exc)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) reserved(return) ident(self)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(self) operator(==) ident(argv)operator([)integer(0)operator(]\)) reserved(return) ident(self)operator(;) ident(exc) operator(=) ident(rb_obj_clone)operator(()ident(self)operator(\);) ident(exc_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(exc)operator(\);) reserved(return) ident(exc)operator(;) operator(}) comment(/* * call-seq: * exception.to_s => string * * Returns exception's message (or the name of the exception if * no message is set\). */) directive(static) ident(VALUE) ident(exc_to_s)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) ident(VALUE) ident(mesg) operator(=) ident(rb_attr_get)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) reserved(if) operator(()ident(NIL_P)operator(()ident(mesg)operator(\)\)) reserved(return) ident(rb_class_name)operator(()ident(CLASS_OF)operator(()ident(exc)operator(\)\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(exc)operator(\)\)) ident(OBJ_TAINT)operator(()ident(mesg)operator(\);) reserved(return) ident(mesg)operator(;) operator(}) comment(/* * call-seq: * exception.message => string * exception.to_str => string * * Returns the result of invoking exception.to_s. * Normally this returns the exception's message or name. By * supplying a to_str method, exceptions are agreeing to * be used where Strings are expected. */) directive(static) ident(VALUE) ident(exc_to_str)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * exception.inspect => string * * Return this exception's class name an message */) directive(static) ident(VALUE) ident(exc_inspect)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) ident(VALUE) ident(str)operator(,) ident(klass)operator(;) ident(klass) operator(=) ident(CLASS_OF)operator(()ident(exc)operator(\);) ident(exc) operator(=) ident(rb_obj_as_string)operator(()ident(exc)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(exc)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_str_dup)operator(()ident(rb_class_name)operator(()ident(klass)operator(\)\);) operator(}) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(klass) operator(=) ident(rb_class_name)operator(()ident(klass)operator(\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(klass)operator(\);) ident(rb_str_buf_cat)operator(()ident(str)operator(,) stringoperator(,) integer(2)operator(\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(exc)operator(\);) ident(rb_str_buf_cat)operator(()ident(str)operator(,) string)delimiter(")>operator(,) integer(1)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * exception.backtrace => array * * Returns any backtrace associated with the exception. The backtrace * is an array of strings, each containing either ``filename:lineNo: in * `method''' or ``filename:lineNo.'' * * def a * raise "boom" * end * * def b * a(\) * end * * begin * b(\) * rescue => detail * print detail.backtrace.join("\\n"\) * end * * produces: * * prog.rb:2:in `a' * prog.rb:6:in `b' * prog.rb:10 */) directive(static) ident(VALUE) ident(exc_backtrace)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) directive(static) ident(ID) ident(bt)operator(;) reserved(if) operator((!)ident(bt)operator(\)) ident(bt) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(return) ident(rb_attr_get)operator(()ident(exc)operator(,) ident(bt)operator(\);) operator(}) ident(VALUE) ident(rb_check_backtrace)operator(()ident(bt)operator(\)) ident(VALUE) ident(bt)operator(;) operator({) pre_type(long) ident(i)operator(;) directive(static) pre_type(char) operator(*)ident(err) operator(=) stringoperator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(bt)operator(\)\)) operator({) pre_type(int) ident(t) operator(=) ident(TYPE)operator(()ident(bt)operator(\);) reserved(if) operator(()ident(t) operator(==) ident(T_STRING)operator(\)) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(bt)operator(\);) reserved(if) operator(()ident(t) operator(!=) ident(T_ARRAY)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) ident(err)operator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(RARRAY)operator(()ident(bt)operator(\)->)ident(len)operator(;)ident(i)operator(++\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(RARRAY)operator(()ident(bt)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) ident(err)operator(\);) operator(}) operator(}) operator(}) reserved(return) ident(bt)operator(;) operator(}) comment(/* * call-seq: * exc.set_backtrace(array\) => array * * Sets the backtrace information associated with exc. The * argument must be an array of String objects in the * format described in Exception#backtrace. * */) directive(static) ident(VALUE) ident(exc_set_backtrace)operator(()ident(exc)operator(,) ident(bt)operator(\)) ident(VALUE) ident(exc)operator(;) ident(VALUE) ident(bt)operator(;) operator({) reserved(return) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(rb_check_backtrace)operator(()ident(bt)operator(\)\);) operator(}) comment(/* * call-seq: * SystemExit.new(status=0\) => system_exit * * Create a new +SystemExit+ exception with the given status. */) directive(static) ident(VALUE) ident(exit_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(exc)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(exc)operator(;) operator({) ident(VALUE) ident(status) operator(=) ident(INT2FIX)operator(()ident(EXIT_SUCCESS)operator(\);) reserved(if) operator(()ident(argc) operator(>) integer(0) operator(&&) ident(FIXNUM_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) ident(status) operator(=) operator(*)ident(argv)operator(++;) operator(--)ident(argc)operator(;) operator(}) ident(rb_call_super)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(status)operator(\);) reserved(return) ident(exc)operator(;) operator(}) comment(/* * call-seq: * system_exit.status => fixnum * * Return the status value associated with this system exit. */) directive(static) ident(VALUE) ident(exit_status)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) reserved(return) ident(rb_attr_get)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) operator(}) comment(/* * call-seq: * system_exit.success? => true or false * * Returns +true+ if exiting successful, +false+ if not. */) directive(static) ident(VALUE) ident(exit_success_p)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) ident(VALUE) ident(status) operator(=) ident(rb_attr_get)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) reserved(if) operator(()ident(NIL_P)operator(()ident(status)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(status) operator(==) ident(INT2FIX)operator(()ident(EXIT_SUCCESS)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_name_error)operator(()ident(ID) ident(id)operator(,) directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_name_error)operator(()ident(id)operator(,) ident(fmt)operator(,) ident(va_alist)operator(\)) ident(ID) ident(id)operator(;) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(VALUE) ident(exc)operator(,) ident(argv)operator([)integer(2)operator(];) ident(va_list) ident(args)operator(;) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(vsnprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(argv)operator([)integer(0)operator(]) operator(=) ident(rb_str_new2)operator(()ident(buf)operator(\);) ident(argv)operator([)integer(1)operator(]) operator(=) ident(ID2SYM)operator(()ident(id)operator(\);) ident(exc) operator(=) ident(rb_class_new_instance)operator(()integer(2)operator(,) ident(argv)operator(,) ident(rb_eNameError)operator(\);) ident(rb_exc_raise)operator(()ident(exc)operator(\);) operator(}) comment(/* * call-seq: * NameError.new(msg [, name]\) => name_error * * Construct a new NameError exception. If given the name * parameter may subsequently be examined using the NameError.name * method. */) directive(static) ident(VALUE) ident(name_err_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(name)operator(;) ident(name) operator(=) operator(()ident(argc) operator(>) integer(1)operator(\)) operator(?) ident(argv)operator([--)ident(argc)operator(]) operator(:) ident(Qnil)operator(;) ident(rb_call_super)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(rb_iv_set)operator(()ident(self)operator(,) stringoperator(,) ident(name)operator(\);) reserved(return) ident(self)operator(;) operator(}) comment(/* * call-seq: * name_error.name => string or nil * * Return the name associated with this NameError exception. */) directive(static) ident(VALUE) ident(name_err_name)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_attr_get)operator(()ident(self)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) operator(}) comment(/* * call-seq: * name_error.to_s => string * * Produce a nicely-formated string representing the +NameError+. */) directive(static) ident(VALUE) ident(name_err_to_s)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) ident(VALUE) ident(mesg) operator(=) ident(rb_attr_get)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\)\),) ident(str) operator(=) ident(mesg)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(mesg)operator(\)\)) reserved(return) ident(rb_class_name)operator(()ident(CLASS_OF)operator(()ident(exc)operator(\)\);) ident(StringValue)operator(()ident(str)operator(\);) reserved(if) operator(()ident(str) operator(!=) ident(mesg)operator(\)) operator({) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(mesg) operator(=) ident(str)operator(\);) operator(}) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(exc)operator(\)\)) ident(OBJ_TAINT)operator(()ident(mesg)operator(\);) reserved(return) ident(mesg)operator(;) operator(}) comment(/* * call-seq: * NoMethodError.new(msg, name [, args]\) => no_method_error * * Construct a NoMethodError exception for a method of the given name * called with the given arguments. The name may be accessed using * the #name method on the resulting object, and the * arguments using the #args method. */) directive(static) ident(VALUE) ident(nometh_err_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(args) operator(=) operator(()ident(argc) operator(>) integer(2)operator(\)) operator(?) ident(argv)operator([--)ident(argc)operator(]) operator(:) ident(Qnil)operator(;) ident(name_err_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\);) ident(rb_iv_set)operator(()ident(self)operator(,) stringoperator(,) ident(args)operator(\);) reserved(return) ident(self)operator(;) operator(}) comment(/* :nodoc: */) directive(static) directive(void) ident(name_err_mesg_mark)operator(()ident(ptr)operator(\)) ident(VALUE) operator(*)ident(ptr)operator(;) operator({) ident(rb_gc_mark_locations)operator(()ident(ptr)operator(,) ident(ptr)operator(+)integer(3)operator(\);) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(name_err_mesg_new)operator(()ident(obj)operator(,) ident(mesg)operator(,) ident(recv)operator(,) ident(method)operator(\)) ident(VALUE) ident(obj)operator(,) ident(mesg)operator(,) ident(recv)operator(,) ident(method)operator(;) operator({) ident(VALUE) operator(*)ident(ptr) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) integer(3)operator(\);) ident(ptr)operator([)integer(0)operator(]) operator(=) ident(mesg)operator(;) ident(ptr)operator([)integer(1)operator(]) operator(=) ident(recv)operator(;) ident(ptr)operator([)integer(2)operator(]) operator(=) ident(method)operator(;) reserved(return) ident(Data_Wrap_Struct)operator(()ident(rb_cNameErrorMesg)operator(,) ident(name_err_mesg_mark)operator(,) operator(-)integer(1)operator(,) ident(ptr)operator(\);) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(name_err_mesg_to_str)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) operator(*)ident(ptr)operator(,) ident(mesg)operator(;) ident(Data_Get_Struct)operator(()ident(obj)operator(,) ident(VALUE)operator(,) ident(ptr)operator(\);) ident(mesg) operator(=) ident(ptr)operator([)integer(0)operator(];) reserved(if) operator(()ident(NIL_P)operator(()ident(mesg)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(else) operator({) pre_type(char) operator(*)ident(desc) operator(=) integer(0)operator(;) ident(VALUE) ident(d) operator(=) integer(0)operator(,) ident(args)operator([)integer(3)operator(];) ident(obj) operator(=) ident(ptr)operator([)integer(1)operator(];) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_NIL)operator(:) ident(desc) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(T_TRUE)operator(:) ident(desc) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(T_FALSE)operator(:) ident(desc) operator(=) stringoperator(;) reserved(break)operator(;) reserved(default)operator(:) ident(d) operator(=) ident(rb_protect)operator(()ident(rb_inspect)operator(,) ident(obj)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(d)operator(\)) operator(||) ident(RSTRING)operator(()ident(d)operator(\)->)ident(len) operator(>) integer(65)operator(\)) operator({) ident(d) operator(=) ident(rb_any_to_s)operator(()ident(obj)operator(\);) operator(}) ident(desc) operator(=) ident(RSTRING)operator(()ident(d)operator(\)->)ident(ptr)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(desc) operator(&&) ident(desc)operator([)integer(0)operator(]) operator(!=) char('#')operator(\)) operator({) ident(d) operator(=) ident(rb_str_new2)operator(()ident(desc)operator(\);) ident(rb_str_cat2)operator(()ident(d)operator(,) stringoperator(\);) ident(rb_str_cat2)operator(()ident(d)operator(,) ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) operator(}) ident(args)operator([)integer(0)operator(]) operator(=) ident(mesg)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(ptr)operator([)integer(2)operator(];) ident(args)operator([)integer(2)operator(]) operator(=) ident(d)operator(;) ident(mesg) operator(=) ident(rb_f_sprintf)operator(()integer(3)operator(,) ident(args)operator(\);) operator(}) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) ident(OBJ_TAINT)operator(()ident(mesg)operator(\);) reserved(return) ident(mesg)operator(;) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(name_err_mesg_load)operator(()ident(klass)operator(,) ident(str)operator(\)) ident(VALUE) ident(klass)operator(,) ident(str)operator(;) operator({) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * no_method_error.args => obj * * Return the arguments passed in as the third parameter to * the constructor. */) directive(static) ident(VALUE) ident(nometh_err_args)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_attr_get)operator(()ident(self)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) operator(}) directive(void) ident(rb_invalid_str)operator(()ident(str)operator(,) ident(type)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(,) operator(*)ident(type)operator(;) operator({) ident(VALUE) ident(s) operator(=) ident(rb_str_inspect)operator(()ident(rb_str_new2)operator(()ident(str)operator(\)\);) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(type)operator(,) ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator(\);) operator(}) comment(/* * Document-module: Errno * * Ruby exception objects are subclasses of Exception. * However, operating systems typically report errors using plain * integers. Module Errno is created dynamically to map * these operating system errors to Ruby classes, with each error * number generating its own subclass of SystemCallError. * As the subclass is created in module Errno, its name * will start Errno::. * * The names of the Errno:: classes depend on * the environment in which Ruby runs. On a typical Unix or Windows * platform, there are Errno classes such as * Errno::EACCES, Errno::EAGAIN, * Errno::EINTR, and so on. * * The integer operating system error number corresponding to a * particular error is available as the class constant * Errno::error::Errno. * * Errno::EACCES::Errno #=> 13 * Errno::EAGAIN::Errno #=> 11 * Errno::EINTR::Errno #=> 4 * * The full list of operating system errors on your particular platform * are available as the constants of Errno. * * Errno.constants #=> E2BIG, EACCES, EADDRINUSE, EADDRNOTAVAIL, ... */) directive(static) ident(st_table) operator(*)ident(syserr_tbl)operator(;) directive(static) ident(VALUE) ident(set_syserr)operator(()ident(n)operator(,) ident(name)operator(\)) pre_type(int) ident(n)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(VALUE) ident(error)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(syserr_tbl)operator(,) ident(n)operator(,) operator(&)ident(error)operator(\)\)) operator({) ident(error) operator(=) ident(rb_define_class_under)operator(()ident(rb_mErrno)operator(,) ident(name)operator(,) ident(rb_eSystemCallError)operator(\);) ident(rb_define_const)operator(()ident(error)operator(,) stringoperator(,) ident(INT2NUM)operator(()ident(n)operator(\)\);) ident(st_add_direct)operator(()ident(syserr_tbl)operator(,) ident(n)operator(,) ident(error)operator(\);) operator(}) reserved(else) operator({) ident(rb_define_const)operator(()ident(rb_mErrno)operator(,) ident(name)operator(,) ident(error)operator(\);) operator(}) reserved(return) ident(error)operator(;) operator(}) directive(static) ident(VALUE) ident(get_syserr)operator(()ident(n)operator(\)) pre_type(int) ident(n)operator(;) operator({) ident(VALUE) ident(error)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(syserr_tbl)operator(,) ident(n)operator(,) operator(&)ident(error)operator(\)\)) operator({) pre_type(char) ident(name)operator([)integer(8)operator(];) comment(/* some Windows' errno have 5 digits. */) ident(snprintf)operator(()ident(name)operator(,) reserved(sizeof)operator(()ident(name)operator(\),) stringoperator(,) ident(n)operator(\);) ident(error) operator(=) ident(set_syserr)operator(()ident(n)operator(,) ident(name)operator(\);) operator(}) reserved(return) ident(error)operator(;) operator(}) comment(/* * call-seq: * SystemCallError.new(msg, errno\) => system_call_error_subclass * * If _errno_ corresponds to a known system error code, constructs * the appropriate Errno class for that error, otherwise * constructs a generic SystemCallError object. The * error number is subsequently available via the errno * method. */) directive(static) ident(VALUE) ident(syserr_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#if) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__VMS)operator(\)) pre_type(char) operator(*)ident(strerror)operator((\);) preprocessor(#endif) pre_type(char) operator(*)ident(err)operator(;) ident(VALUE) ident(mesg)operator(,) ident(error)operator(;) ident(VALUE) ident(klass) operator(=) ident(rb_obj_class)operator(()ident(self)operator(\);) reserved(if) operator(()ident(klass) operator(==) ident(rb_eSystemCallError)operator(\)) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(mesg)operator(,) operator(&)ident(error)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(FIXNUM_P)operator(()ident(mesg)operator(\)\)) operator({) ident(error) operator(=) ident(mesg)operator(;) ident(mesg) operator(=) ident(Qnil)operator(;) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(error)operator(\)) operator(&&) ident(st_lookup)operator(()ident(syserr_tbl)operator(,) ident(NUM2LONG)operator(()ident(error)operator(\),) operator(&)ident(klass)operator(\)\)) operator({) comment(/* change class */) reserved(if) operator(()ident(TYPE)operator(()ident(self)operator(\)) operator(!=) ident(T_OBJECT)operator(\)) operator({) comment(/* insurance to avoid type crash */) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(RBASIC)operator(()ident(self)operator(\)->)ident(klass) operator(=) ident(klass)operator(;) operator(}) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(mesg)operator(\);) ident(error) operator(=) ident(rb_const_get)operator(()ident(klass)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(error)operator(\)\)) ident(err) operator(=) ident(strerror)operator(()ident(NUM2LONG)operator(()ident(error)operator(\)\);) reserved(else) ident(err) operator(=) stringoperator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(mesg)operator(\)\)) operator({) ident(VALUE) ident(str) operator(=) ident(mesg)operator(;) ident(size_t) ident(len)operator(;) ident(StringValue)operator(()ident(str)operator(\);) ident(len) operator(=) ident(strlen)operator(()ident(err)operator(\)+)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(+)integer(3)operator(;) ident(mesg) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(RSTRING)operator(()ident(mesg)operator(\)->)ident(ptr)operator(,) ident(len)operator(+)integer(1)operator(,) stringoperator(,) ident(err)operator(,) operator(()pre_type(int)operator(\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(rb_str_resize)operator(()ident(mesg)operator(,) ident(strlen)operator(()ident(RSTRING)operator(()ident(mesg)operator(\)->)ident(ptr)operator(\)\);) operator(}) reserved(else) operator({) ident(mesg) operator(=) ident(rb_str_new2)operator(()ident(err)operator(\);) operator(}) ident(rb_call_super)operator(()integer(1)operator(,) operator(&)ident(mesg)operator(\);) ident(rb_iv_set)operator(()ident(self)operator(,) stringoperator(,) ident(error)operator(\);) reserved(return) ident(self)operator(;) operator(}) comment(/* * call-seq: * system_call_error.errno => fixnum * * Return this SystemCallError's error number. */) directive(static) ident(VALUE) ident(syserr_errno)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_attr_get)operator(()ident(self)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) operator(}) comment(/* * call-seq: * system_call_error === other => true or false * * Return +true+ if the receiver is a generic +SystemCallError+, or * if the error numbers _self_ and _other_ are the same. */) directive(static) ident(VALUE) ident(syserr_eqq)operator(()ident(self)operator(,) ident(exc)operator(\)) ident(VALUE) ident(self)operator(,) ident(exc)operator(;) operator({) ident(VALUE) ident(num)operator(,) ident(e)operator(;) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(exc)operator(,) ident(rb_eSystemCallError)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(self) operator(==) ident(rb_eSystemCallError)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(num) operator(=) ident(rb_attr_get)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) reserved(if) operator(()ident(NIL_P)operator(()ident(num)operator(\)\)) operator({) ident(VALUE) ident(klass) operator(=) ident(CLASS_OF)operator(()ident(exc)operator(\);) reserved(while) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_ICLASS) operator(||) ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(klass) operator(=) operator(()ident(VALUE)operator(\))ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) operator(}) ident(num) operator(=) ident(rb_const_get)operator(()ident(klass)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) operator(}) ident(e) operator(=) ident(rb_const_get)operator(()ident(self)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(num)operator(\)) operator(?) ident(num) operator(==) ident(e) operator(:) ident(rb_equal)operator(()ident(num)operator(,) ident(e)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * Descendents of class Exception are used to communicate * between raise methods and rescue * statements in begin/end blocks. Exception * objects carry information about the exception---its type (the * exception's class name\), an optional descriptive string, and * optional traceback information. Programs may subclass * Exception to add additional information. */) directive(void) ident(Init_Exception)operator((\)) operator({) ident(rb_eException) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(rb_class_new_instance)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_exception)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_to_str)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_to_str)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_backtrace)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eException)operator(,) stringoperator(,) ident(exc_set_backtrace)operator(,) integer(1)operator(\);) ident(rb_eSystemExit) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eException)operator(\);) ident(rb_define_method)operator(()ident(rb_eSystemExit)operator(,) stringoperator(,) ident(exit_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eSystemExit)operator(,) stringoperator(,) ident(exit_status)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eSystemExit)operator(,) stringoperator(,) ident(exit_success_p)operator(,) integer(0)operator(\);) ident(rb_eFatal) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eException)operator(\);) ident(rb_eSignal) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eException)operator(\);) ident(rb_eInterrupt) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eSignal)operator(\);) ident(rb_eStandardError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eException)operator(\);) ident(rb_eTypeError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eArgError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eIndexError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eRangeError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eNameError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_define_method)operator(()ident(rb_eNameError)operator(,) stringoperator(,) ident(name_err_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eNameError)operator(,) stringoperator(,) ident(name_err_name)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eNameError)operator(,) stringoperator(,) ident(name_err_to_s)operator(,) integer(0)operator(\);) ident(rb_cNameErrorMesg) operator(=) ident(rb_define_class_under)operator(()ident(rb_eNameError)operator(,) stringoperator(,) ident(rb_cData)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cNameErrorMesg)operator(,) stringoperator(,) ident(name_err_mesg_new)operator(,) integer(3)operator(\);) ident(rb_define_method)operator(()ident(rb_cNameErrorMesg)operator(,) stringoperator(,) ident(name_err_mesg_to_str)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNameErrorMesg)operator(,) stringoperator(,) ident(name_err_mesg_to_str)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cNameErrorMesg)operator(,) stringoperator(,) ident(name_err_mesg_load)operator(,) integer(1)operator(\);) ident(rb_eNoMethodError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eNameError)operator(\);) ident(rb_define_method)operator(()ident(rb_eNoMethodError)operator(,) stringoperator(,) ident(nometh_err_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eNoMethodError)operator(,) stringoperator(,) ident(nometh_err_args)operator(,) integer(0)operator(\);) ident(rb_eScriptError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eException)operator(\);) ident(rb_eSyntaxError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eScriptError)operator(\);) ident(rb_eLoadError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eScriptError)operator(\);) ident(rb_eNotImpError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eScriptError)operator(\);) ident(rb_eRuntimeError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eSecurityError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eNoMemError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eException)operator(\);) ident(syserr_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(rb_eSystemCallError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_define_method)operator(()ident(rb_eSystemCallError)operator(,) stringoperator(,) ident(syserr_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_eSystemCallError)operator(,) stringoperator(,) ident(syserr_errno)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_eSystemCallError)operator(,) stringoperator(,) ident(syserr_eqq)operator(,) integer(1)operator(\);) ident(rb_mErrno) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_warn_m)operator(,) integer(1)operator(\);) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_raise)operator(()ident(VALUE) ident(exc)operator(,) directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_raise)operator(()ident(exc)operator(,) ident(fmt)operator(,) ident(va_alist)operator(\)) ident(VALUE) ident(exc)operator(;) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(args)operator(;) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_init_list)operator(()ident(args)operator(,)ident(fmt)operator(\);) ident(vsnprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(rb_exc_raise)operator(()ident(rb_exc_new2)operator(()ident(exc)operator(,) ident(buf)operator(\)\);) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_loaderror)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_loaderror)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(args)operator(;) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(vsnprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(rb_exc_raise)operator(()ident(rb_exc_new2)operator(()ident(rb_eLoadError)operator(,) ident(buf)operator(\)\);) operator(}) directive(void) ident(rb_notimplement)operator((\)) operator({) ident(rb_raise)operator(()ident(rb_eNotImpError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)\);) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_fatal)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_fatal)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(args)operator(;) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(vsnprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(ruby_in_eval) operator(=) integer(0)operator(;) ident(rb_exc_fatal)operator(()ident(rb_exc_new2)operator(()ident(rb_eFatal)operator(,) ident(buf)operator(\)\);) operator(}) directive(void) ident(rb_sys_fail)operator(()ident(mesg)operator(\)) directive(const) pre_type(char) operator(*)ident(mesg)operator(;) operator({) pre_type(int) ident(n) operator(=) ident(errno)operator(;) ident(VALUE) ident(arg)operator(;) ident(errno) operator(=) integer(0)operator(;) reserved(if) operator(()ident(n) operator(==) integer(0)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(,) ident(mesg) operator(?) ident(mesg) operator(:) stringoperator(\);) operator(}) ident(arg) operator(=) ident(mesg) operator(?) ident(rb_str_new2)operator(()ident(mesg)operator(\)) operator(:) ident(Qnil)operator(;) ident(rb_exc_raise)operator(()ident(rb_class_new_instance)operator(()integer(1)operator(,) operator(&)ident(arg)operator(,) ident(get_syserr)operator(()ident(n)operator(\)\)\);) operator(}) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_sys_warning)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_sys_warning)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_list) ident(args)operator(;) pre_type(int) ident(errno_save)operator(;) ident(errno_save) operator(=) ident(errno)operator(;) reserved(if) operator((!)ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) reserved(return)operator(;) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(fmt)operator(\);) ident(snprintf)operator(()ident(buf)operator(+)ident(strlen)operator(()ident(buf)operator(\),) ident(BUFSIZ)operator(-)ident(strlen)operator(()ident(buf)operator(\),) stringoperator(,) ident(strerror)operator(()ident(errno_save)operator(\)\);) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(warn_print)operator(()ident(buf)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(errno) operator(=) ident(errno_save)operator(;) operator(}) directive(void) ident(rb_load_fail)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) ident(rb_loaderror)operator(()stringoperator(,) ident(strerror)operator(()ident(errno)operator(\),) ident(path)operator(\);) operator(}) directive(void) ident(rb_error_frozen)operator(()ident(what)operator(\)) directive(const) pre_type(char) operator(*)ident(what)operator(;) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(what)operator(\);) operator(}) directive(void) ident(rb_check_frozen)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) ident(rb_error_frozen)operator(()ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) operator(}) directive(void) ident(Init_syserr)operator((\)) operator({) preprocessor(#ifdef) ident(EPERM) ident(set_syserr)operator(()ident(EPERM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOENT) ident(set_syserr)operator(()ident(ENOENT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESRCH) ident(set_syserr)operator(()ident(ESRCH)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EINTR) ident(set_syserr)operator(()ident(EINTR)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EIO) ident(set_syserr)operator(()ident(EIO)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENXIO) ident(set_syserr)operator(()ident(ENXIO)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(E2BIG) ident(set_syserr)operator(()ident(E2BIG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOEXEC) ident(set_syserr)operator(()ident(ENOEXEC)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADF) ident(set_syserr)operator(()ident(EBADF)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ECHILD) ident(set_syserr)operator(()ident(ECHILD)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EAGAIN) ident(set_syserr)operator(()ident(EAGAIN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOMEM) ident(set_syserr)operator(()ident(ENOMEM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EACCES) ident(set_syserr)operator(()ident(EACCES)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EFAULT) ident(set_syserr)operator(()ident(EFAULT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTBLK) ident(set_syserr)operator(()ident(ENOTBLK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBUSY) ident(set_syserr)operator(()ident(EBUSY)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EEXIST) ident(set_syserr)operator(()ident(EEXIST)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EXDEV) ident(set_syserr)operator(()ident(EXDEV)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENODEV) ident(set_syserr)operator(()ident(ENODEV)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTDIR) ident(set_syserr)operator(()ident(ENOTDIR)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EISDIR) ident(set_syserr)operator(()ident(EISDIR)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EINVAL) ident(set_syserr)operator(()ident(EINVAL)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENFILE) ident(set_syserr)operator(()ident(ENFILE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EMFILE) ident(set_syserr)operator(()ident(EMFILE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTTY) ident(set_syserr)operator(()ident(ENOTTY)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ETXTBSY) ident(set_syserr)operator(()ident(ETXTBSY)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EFBIG) ident(set_syserr)operator(()ident(EFBIG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOSPC) ident(set_syserr)operator(()ident(ENOSPC)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESPIPE) ident(set_syserr)operator(()ident(ESPIPE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EROFS) ident(set_syserr)operator(()ident(EROFS)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EMLINK) ident(set_syserr)operator(()ident(EMLINK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EPIPE) ident(set_syserr)operator(()ident(EPIPE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EDOM) ident(set_syserr)operator(()ident(EDOM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ERANGE) ident(set_syserr)operator(()ident(ERANGE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EDEADLK) ident(set_syserr)operator(()ident(EDEADLK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENAMETOOLONG) ident(set_syserr)operator(()ident(ENAMETOOLONG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOLCK) ident(set_syserr)operator(()ident(ENOLCK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOSYS) ident(set_syserr)operator(()ident(ENOSYS)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTEMPTY) ident(set_syserr)operator(()ident(ENOTEMPTY)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELOOP) ident(set_syserr)operator(()ident(ELOOP)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EWOULDBLOCK) ident(set_syserr)operator(()ident(EWOULDBLOCK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOMSG) ident(set_syserr)operator(()ident(ENOMSG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EIDRM) ident(set_syserr)operator(()ident(EIDRM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ECHRNG) ident(set_syserr)operator(()ident(ECHRNG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EL2NSYNC) ident(set_syserr)operator(()ident(EL2NSYNC)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EL3HLT) ident(set_syserr)operator(()ident(EL3HLT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EL3RST) ident(set_syserr)operator(()ident(EL3RST)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELNRNG) ident(set_syserr)operator(()ident(ELNRNG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EUNATCH) ident(set_syserr)operator(()ident(EUNATCH)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOCSI) ident(set_syserr)operator(()ident(ENOCSI)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EL2HLT) ident(set_syserr)operator(()ident(EL2HLT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADE) ident(set_syserr)operator(()ident(EBADE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADR) ident(set_syserr)operator(()ident(EBADR)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EXFULL) ident(set_syserr)operator(()ident(EXFULL)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOANO) ident(set_syserr)operator(()ident(ENOANO)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADRQC) ident(set_syserr)operator(()ident(EBADRQC)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADSLT) ident(set_syserr)operator(()ident(EBADSLT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EDEADLOCK) ident(set_syserr)operator(()ident(EDEADLOCK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBFONT) ident(set_syserr)operator(()ident(EBFONT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOSTR) ident(set_syserr)operator(()ident(ENOSTR)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENODATA) ident(set_syserr)operator(()ident(ENODATA)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ETIME) ident(set_syserr)operator(()ident(ETIME)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOSR) ident(set_syserr)operator(()ident(ENOSR)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENONET) ident(set_syserr)operator(()ident(ENONET)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOPKG) ident(set_syserr)operator(()ident(ENOPKG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EREMOTE) ident(set_syserr)operator(()ident(EREMOTE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOLINK) ident(set_syserr)operator(()ident(ENOLINK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EADV) ident(set_syserr)operator(()ident(EADV)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESRMNT) ident(set_syserr)operator(()ident(ESRMNT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ECOMM) ident(set_syserr)operator(()ident(ECOMM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EPROTO) ident(set_syserr)operator(()ident(EPROTO)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EMULTIHOP) ident(set_syserr)operator(()ident(EMULTIHOP)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EDOTDOT) ident(set_syserr)operator(()ident(EDOTDOT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADMSG) ident(set_syserr)operator(()ident(EBADMSG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EOVERFLOW) ident(set_syserr)operator(()ident(EOVERFLOW)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTUNIQ) ident(set_syserr)operator(()ident(ENOTUNIQ)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EBADFD) ident(set_syserr)operator(()ident(EBADFD)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EREMCHG) ident(set_syserr)operator(()ident(EREMCHG)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELIBACC) ident(set_syserr)operator(()ident(ELIBACC)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELIBBAD) ident(set_syserr)operator(()ident(ELIBBAD)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELIBSCN) ident(set_syserr)operator(()ident(ELIBSCN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELIBMAX) ident(set_syserr)operator(()ident(ELIBMAX)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ELIBEXEC) ident(set_syserr)operator(()ident(ELIBEXEC)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EILSEQ) ident(set_syserr)operator(()ident(EILSEQ)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ERESTART) ident(set_syserr)operator(()ident(ERESTART)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESTRPIPE) ident(set_syserr)operator(()ident(ESTRPIPE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EUSERS) ident(set_syserr)operator(()ident(EUSERS)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTSOCK) ident(set_syserr)operator(()ident(ENOTSOCK)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EDESTADDRREQ) ident(set_syserr)operator(()ident(EDESTADDRREQ)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EMSGSIZE) ident(set_syserr)operator(()ident(EMSGSIZE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EPROTOTYPE) ident(set_syserr)operator(()ident(EPROTOTYPE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOPROTOOPT) ident(set_syserr)operator(()ident(ENOPROTOOPT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EPROTONOSUPPORT) ident(set_syserr)operator(()ident(EPROTONOSUPPORT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESOCKTNOSUPPORT) ident(set_syserr)operator(()ident(ESOCKTNOSUPPORT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EOPNOTSUPP) ident(set_syserr)operator(()ident(EOPNOTSUPP)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EPFNOSUPPORT) ident(set_syserr)operator(()ident(EPFNOSUPPORT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EAFNOSUPPORT) ident(set_syserr)operator(()ident(EAFNOSUPPORT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EADDRINUSE) ident(set_syserr)operator(()ident(EADDRINUSE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EADDRNOTAVAIL) ident(set_syserr)operator(()ident(EADDRNOTAVAIL)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENETDOWN) ident(set_syserr)operator(()ident(ENETDOWN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENETUNREACH) ident(set_syserr)operator(()ident(ENETUNREACH)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENETRESET) ident(set_syserr)operator(()ident(ENETRESET)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ECONNABORTED) ident(set_syserr)operator(()ident(ECONNABORTED)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ECONNRESET) ident(set_syserr)operator(()ident(ECONNRESET)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOBUFS) ident(set_syserr)operator(()ident(ENOBUFS)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EISCONN) ident(set_syserr)operator(()ident(EISCONN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTCONN) ident(set_syserr)operator(()ident(ENOTCONN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESHUTDOWN) ident(set_syserr)operator(()ident(ESHUTDOWN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ETOOMANYREFS) ident(set_syserr)operator(()ident(ETOOMANYREFS)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ETIMEDOUT) ident(set_syserr)operator(()ident(ETIMEDOUT)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ECONNREFUSED) ident(set_syserr)operator(()ident(ECONNREFUSED)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EHOSTDOWN) ident(set_syserr)operator(()ident(EHOSTDOWN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EHOSTUNREACH) ident(set_syserr)operator(()ident(EHOSTUNREACH)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EALREADY) ident(set_syserr)operator(()ident(EALREADY)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EINPROGRESS) ident(set_syserr)operator(()ident(EINPROGRESS)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ESTALE) ident(set_syserr)operator(()ident(ESTALE)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EUCLEAN) ident(set_syserr)operator(()ident(EUCLEAN)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENOTNAM) ident(set_syserr)operator(()ident(ENOTNAM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(ENAVAIL) ident(set_syserr)operator(()ident(ENAVAIL)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EISNAM) ident(set_syserr)operator(()ident(EISNAM)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EREMOTEIO) ident(set_syserr)operator(()ident(EREMOTEIO)operator(,) stringoperator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(EDQUOT) ident(set_syserr)operator(()ident(EDQUOT)operator(,) stringoperator(\);) preprocessor(#endif) operator(}) directive(static) directive(void) ident(err_append)operator(()ident(s)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) operator({) directive(extern) ident(VALUE) ident(ruby_errinfo)operator(;) reserved(if) operator(()ident(ruby_in_eval)operator(\)) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) operator({) ident(ruby_errinfo) operator(=) ident(rb_exc_new2)operator(()ident(rb_eSyntaxError)operator(,) ident(s)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(str) operator(=) ident(rb_obj_as_string)operator(()ident(ruby_errinfo)operator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(s)operator(\);) ident(ruby_errinfo) operator(=) ident(rb_exc_new3)operator(()ident(rb_eSyntaxError)operator(,) ident(str)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(rb_write_error)operator(()ident(s)operator(\);) ident(rb_write_error)operator(()stringoperator(\);) operator(}) operator(}) comment(/********************************************************************** eval.c - $Author: wyhaines $ $Date: 2009-08-20 19:22:00 +0200 (Thu, 20 Aug 2009\) $ created at: Thu Jun 10 14:22:17 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("node.h") preprocessor(#include) include("env.h") preprocessor(#include) include("util.h") preprocessor(#include) include("rubysig.h") preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifndef) ident(EXIT_SUCCESS) preprocessor(#define) ident(EXIT_SUCCESS) integer(0) preprocessor(#endif) preprocessor(#ifndef) ident(EXIT_FAILURE) preprocessor(#define) ident(EXIT_FAILURE) integer(1) preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include("st.h") preprocessor(#include) include("dln.h") preprocessor(#ifdef) ident(__APPLE__) preprocessor(#include) include() preprocessor(#endif) comment(/* Make alloca work the best possible way. */) preprocessor(#ifdef) ident(__GNUC__) preprocessor(# ifndef) ident(atarist) preprocessor(# ifndef) ident(alloca) preprocessor(# define) ident(alloca) ident(__builtin_alloca) preprocessor(# endif) preprocessor(# endif) comment(/* atarist */) preprocessor(#else) preprocessor(# ifdef) ident(HAVE_ALLOCA_H) preprocessor(# include) include() preprocessor(# else) preprocessor(# ifndef) ident(_AIX) preprocessor(# ifndef) ident(alloca) comment(/* predefined by HP cc +Olibcalls */) directive(void) operator(*)ident(alloca) operator((\);) preprocessor(# endif) preprocessor(# endif) comment(/* AIX */) preprocessor(# endif) comment(/* HAVE_ALLOCA_H */) preprocessor(#endif) comment(/* __GNUC__ */) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(,)ident(b)operator(\)) preprocessor(#else) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRING_H) pre_type(char) operator(*)ident(strrchr) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(HAVE_FCNTL_H)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) preprocessor(#include) include() preprocessor(#elif) ident(defined)operator(()ident(HAVE_SYS_FCNTL_H)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__BEOS__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(BONE)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(__MACOS__) preprocessor(#include) include("macruby_private.h") preprocessor(#endif) preprocessor(#ifdef) ident(__VMS) preprocessor(#include) include("vmsruby_private.h") preprocessor(#endif) preprocessor(#ifdef) ident(USE_CONTEXT) ident(NORETURN)operator(()directive(static) directive(void) ident(rb_jump_context)operator(()ident(rb_jmpbuf_t)operator(,) pre_type(int)operator(\)\);) directive(static) directive(inline) directive(void) ident(rb_jump_context)operator(()ident(env)operator(,) ident(val)operator(\)) ident(rb_jmpbuf_t) ident(env)operator(;) pre_type(int) ident(val)operator(;) operator({) ident(env)operator(->)ident(status) operator(=) ident(val)operator(;) ident(setcontext)operator((&)ident(env)operator(->)ident(context)operator(\);) ident(abort)operator((\);) comment(/* ensure noreturn */) operator(}) comment(/* * PRE_GETCONTEXT and POST_GETCONTEXT is a magic for getcontext, gcc, * IA64 register stack and SPARC register window combination problem. * * Assume following code sequence. * * 1. set a register in the register stack/window such as r32/l0. * 2. call getcontext. * 3. use the register. * 4. update the register for other use. * 5. call setcontext indirectly (or directly\). * * This code should be run as 1->2->3->4->5->3->4. * But after second getcontext return (second 3\), * the register is broken (updated\). * It's because getcontext/setcontext doesn't preserve the content of the * register stack/window. * * setjmp also doesn't preserve the content of the register stack/window. * But it has not the problem because gcc knows setjmp may return twice. * gcc detects setjmp and generates setjmp safe code. * * So setjmp calls before and after the getcontext call makes the code * somewhat safe. * It fix the problem on IA64. * It is not required that setjmp is called at run time, since the problem is * register usage. * * Since the magic setjmp is not enough for SPARC, * inline asm is used to prohibit registers in register windows. * * Since the problem is fixed at gcc 4.0.3, the magic is applied only for * prior versions of gcc. * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21957 * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22127 */) preprocessor(# define) ident(GCC_VERSION_BEFORE)operator(()ident(major)operator(,) ident(minor)operator(,) ident(patchlevel)operator(\)) \ operator(()ident(defined)operator(()ident(__GNUC__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__INTEL_COMPILER)operator(\)) operator(&&) \ operator((()ident(__GNUC__) operator(<) operator(()ident(major)operator(\)\)) operator(||) \ operator(()ident(__GNUC__) operator(==) operator(()ident(major)operator(\)) operator(&&) ident(__GNUC_MINOR__) operator(<) operator(()ident(minor)operator(\)\)) operator(||) \ operator(()ident(__GNUC__) operator(==) operator(()ident(major)operator(\)) operator(&&) ident(__GNUC_MINOR__) operator(==) operator(()ident(minor)operator(\)) operator(&&) ident(__GNUC_PATCHLEVEL__) operator(<) operator(()ident(patchlevel)operator(\)\)\)\)) preprocessor(# if) ident(GCC_VERSION_BEFORE)operator(()integer(4)operator(,)integer(0)operator(,)integer(3)operator(\)) operator(&&) operator(()ident(defined)operator(()ident(sparc)operator(\)) operator(||) ident(defined)operator(()ident(__sparc__)operator(\)\)) preprocessor(# ifdef) ident(__pic__) comment(/* * %l7 is excluded for PIC because it is PIC register. * http://lists.freebsd.org/pipermail/freebsd-sparc64/2006-January/003739.html */) preprocessor(# define) ident(PRE_GETCONTEXT) \ operator(({) ident(__asm__) directive(volatile) operator(()string operator(:) operator(:) operator(:) \ stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) \ stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) \ stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(\);) operator(}\)) preprocessor(# else) preprocessor(# define) ident(PRE_GETCONTEXT) \ operator(({) ident(__asm__) directive(volatile) operator(()string operator(:) operator(:) operator(:) \ stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) \ stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) \ stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(\);) operator(}\)) preprocessor(# endif) preprocessor(# define) ident(POST_GETCONTEXT) ident(PRE_GETCONTEXT) preprocessor(# elif) ident(GCC_VERSION_BEFORE)operator(()integer(4)operator(,)integer(0)operator(,)integer(3)operator(\)) operator(&&) ident(defined)operator(()ident(__ia64)operator(\)) directive(static) ident(jmp_buf) ident(function_call_may_return_twice_jmp_buf)operator(;) pre_type(int) ident(function_call_may_return_twice_false_1) operator(=) integer(0)operator(;) pre_type(int) ident(function_call_may_return_twice_false_2) operator(=) integer(0)operator(;) preprocessor(# define) ident(PRE_GETCONTEXT) \ operator(()ident(function_call_may_return_twice_false_1) operator(?) \ ident(setjmp)operator(()ident(function_call_may_return_twice_jmp_buf)operator(\)) operator(:) \ integer(0)operator(\)) preprocessor(# define) ident(POST_GETCONTEXT) \ operator(()ident(function_call_may_return_twice_false_2) operator(?) \ ident(setjmp)operator(()ident(function_call_may_return_twice_jmp_buf)operator(\)) operator(:) \ integer(0)operator(\)) preprocessor(# elif) ident(defined)operator(()ident(__FreeBSD__)operator(\)) operator(&&) ident(__FreeBSD__) operator(<) integer(7) comment(/* * workaround for FreeBSD/i386 getcontext/setcontext bug. * clear the carry flag by (0 ? ... : ...\). * FreeBSD PR 92110 http://www.freebsd.org/cgi/query-pr.cgi?pr=92110 * [ruby-dev:28263] */) directive(static) pre_type(int) directive(volatile) ident(freebsd_clear_carry_flag) operator(=) integer(0)operator(;) preprocessor(# define) ident(PRE_GETCONTEXT) \ operator(()ident(freebsd_clear_carry_flag) operator(?) operator(()ident(freebsd_clear_carry_flag) operator(=) integer(0)operator(\)) operator(:) integer(0)operator(\)) preprocessor(# endif) preprocessor(# ifndef) ident(PRE_GETCONTEXT) preprocessor(# define) ident(PRE_GETCONTEXT) integer(0) preprocessor(# endif) preprocessor(# ifndef) ident(POST_GETCONTEXT) preprocessor(# define) ident(POST_GETCONTEXT) integer(0) preprocessor(# endif) preprocessor(# define) ident(ruby_longjmp)operator(()ident(env)operator(,) ident(val)operator(\)) ident(rb_jump_context)operator(()ident(env)operator(,) ident(val)operator(\)) preprocessor(# define) ident(ruby_setjmp)operator(()ident(just_before_setjmp)operator(,) ident(j)operator(\)) operator((()ident(j)operator(\)->)ident(status) operator(=) integer(0)operator(,) \ operator(()ident(just_before_setjmp)operator(\),) \ ident(PRE_GETCONTEXT)operator(,) \ ident(getcontext)operator((&()ident(j)operator(\)->)ident(context)operator(\),) \ ident(POST_GETCONTEXT)operator(,) \ operator(()ident(j)operator(\)->)ident(status)operator(\)) preprocessor(#else) preprocessor(# if) operator(!)ident(defined)operator(()ident(setjmp)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE__SETJMP)operator(\)) preprocessor(# define) ident(ruby_setjmp)operator(()ident(just_before_setjmp)operator(,) ident(env)operator(\)) \ operator((()ident(just_before_setjmp)operator(\),) ident(_setjmp)operator(()ident(env)operator(\)\)) preprocessor(# define) ident(ruby_longjmp)operator(()ident(env)operator(,)ident(val)operator(\)) ident(_longjmp)operator(()ident(env)operator(,)ident(val)operator(\)) preprocessor(# else) preprocessor(# define) ident(ruby_setjmp)operator(()ident(just_before_setjmp)operator(,) ident(env)operator(\)) \ operator((()ident(just_before_setjmp)operator(\),) ident(setjmp)operator(()ident(env)operator(\)\)) preprocessor(# define) ident(ruby_longjmp)operator(()ident(env)operator(,)ident(val)operator(\)) ident(longjmp)operator(()ident(env)operator(,)ident(val)operator(\)) preprocessor(# endif) preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#pragma) ident(nostandard) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_SELECT_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() ident(VALUE) ident(rb_cProc)operator(;) ident(VALUE) ident(rb_cBinding)operator(;) directive(static) ident(VALUE) ident(proc_invoke) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(,)ident(VALUE)operator(,)ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_f_binding) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) directive(void) ident(rb_f_END) ident(_)operator((()directive(void)operator(\)\);) directive(static) ident(VALUE) ident(rb_f_block_given_p) ident(_)operator((()directive(void)operator(\)\);) directive(static) ident(VALUE) ident(block_pass) ident(_)operator((()ident(VALUE)operator(,)ident(NODE)operator(*\)\);) ident(VALUE) ident(rb_cMethod)operator(;) directive(static) ident(VALUE) ident(method_call) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_cUnboundMethod)operator(;) directive(static) ident(VALUE) ident(umethod_bind) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_mod_define_method) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(NORETURN)operator(()directive(static) directive(void) ident(rb_raise_jump) ident(_)operator((()ident(VALUE)operator(\)\)\);) directive(static) ident(VALUE) ident(rb_make_exception) ident(_)operator((()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(\)\);) directive(static) pre_type(int) ident(scope_vmode)operator(;) preprocessor(#define) ident(SCOPE_PUBLIC) integer(0) preprocessor(#define) ident(SCOPE_PRIVATE) integer(1) preprocessor(#define) ident(SCOPE_PROTECTED) integer(2) preprocessor(#define) ident(SCOPE_MODFUNC) integer(5) preprocessor(#define) ident(SCOPE_MASK) integer(7) preprocessor(#define) ident(SCOPE_SET)operator(()ident(f)operator(\)) operator(()ident(scope_vmode)operator(=()ident(f)operator(\)\)) preprocessor(#define) ident(SCOPE_TEST)operator(()ident(f)operator(\)) operator(()ident(scope_vmode)operator(&()ident(f)operator(\)\)) ident(VALUE) operator((*)ident(ruby_sandbox_save)operator(\))ident(_)operator((()ident(rb_thread_t)operator(\)\);) ident(VALUE) operator((*)ident(ruby_sandbox_restore)operator(\))ident(_)operator((()ident(rb_thread_t)operator(\)\);) ident(NODE)operator(*) ident(ruby_current_node)operator(;) pre_type(int) ident(ruby_safe_level) operator(=) integer(0)operator(;) comment(/* safe-level: 0 - strings from streams/environment/ARGV are tainted (default\) 1 - no dangerous operation by tainted value 2 - process/file operations prohibited 3 - all generated objects are tainted 4 - no global (non-tainted\) variable modification/no direct output */) directive(static) ident(VALUE) ident(safe_getter) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(void) ident(safe_setter) ident(_)operator((()ident(VALUE) ident(val)operator(\)\);) directive(void) ident(rb_secure)operator(()ident(level)operator(\)) pre_type(int) ident(level)operator(;) operator({) reserved(if) operator(()ident(level) operator(<=) ident(ruby_safe_level)operator(\)) operator({) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\),) ident(ruby_safe_level)operator(\);) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(ruby_safe_level)operator(\);) operator(}) operator(}) operator(}) directive(void) ident(rb_secure_update)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) directive(void) ident(rb_check_safe_obj)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) reserved(if) operator(()ident(ruby_safe_level) operator(>) integer(0) operator(&&) ident(OBJ_TAINTED)operator(()ident(x)operator(\)\){) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)\);) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) operator(}) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) directive(void) ident(rb_check_safe_str)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(rb_check_safe_obj)operator(()ident(x)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(x)operator(\)!=) ident(T_STRING)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\)\);) operator(}) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(print_undef) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\)\);) directive(static) directive(void) ident(print_undef)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator(?) string operator(:) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\)\);) operator(}) directive(static) ident(ID) ident(removed)operator(,) ident(singleton_removed)operator(,) ident(undefined)operator(,) ident(singleton_undefined)operator(;) preprocessor(#define) ident(CACHE_SIZE) hex(0x800) preprocessor(#define) ident(CACHE_MASK) hex(0x7ff) preprocessor(#define) ident(EXPR1)operator(()ident(c)operator(,)ident(m)operator(\)) operator((((()ident(c)operator(\)>>)integer(3)operator(\)^()ident(m)operator(\)\)&)ident(CACHE_MASK)operator(\)) reserved(struct) ident(cache_entry) operator({) comment(/* method hash table. */) ident(ID) ident(mid)operator(;) comment(/* method's id */) ident(ID) ident(mid0)operator(;) comment(/* method's original id */) ident(VALUE) ident(klass)operator(;) comment(/* receiver's class */) ident(VALUE) ident(origin)operator(;) comment(/* where method defined */) ident(NODE) operator(*)ident(method)operator(;) pre_type(int) ident(noex)operator(;) operator(};) directive(static) reserved(struct) ident(cache_entry) ident(cache)operator([)ident(CACHE_SIZE)operator(];) directive(static) pre_type(int) ident(ruby_running) operator(=) integer(0)operator(;) directive(void) ident(rb_clear_cache)operator((\)) operator({) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(,) operator(*)ident(end)operator(;) reserved(if) operator((!)ident(ruby_running)operator(\)) reserved(return)operator(;) ident(ent) operator(=) ident(cache)operator(;) ident(end) operator(=) ident(ent) operator(+) ident(CACHE_SIZE)operator(;) reserved(while) operator(()ident(ent) operator(<) ident(end)operator(\)) operator({) ident(ent)operator(->)ident(mid) operator(=) integer(0)operator(;) ident(ent)operator(++;) operator(}) operator(}) directive(static) directive(void) ident(rb_clear_cache_for_undef)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(,) operator(*)ident(end)operator(;) reserved(if) operator((!)ident(ruby_running)operator(\)) reserved(return)operator(;) ident(ent) operator(=) ident(cache)operator(;) ident(end) operator(=) ident(ent) operator(+) ident(CACHE_SIZE)operator(;) reserved(while) operator(()ident(ent) operator(<) ident(end)operator(\)) operator({) reserved(if) operator(()ident(ent)operator(->)ident(mid) operator(==) ident(id) operator(&&) ident(RCLASS)operator(()ident(ent)operator(->)ident(origin)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(\)) operator({) ident(ent)operator(->)ident(mid) operator(=) integer(0)operator(;) operator(}) ident(ent)operator(++;) operator(}) operator(}) directive(static) directive(void) ident(rb_clear_cache_by_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(,) operator(*)ident(end)operator(;) reserved(if) operator((!)ident(ruby_running)operator(\)) reserved(return)operator(;) ident(ent) operator(=) ident(cache)operator(;) ident(end) operator(=) ident(ent) operator(+) ident(CACHE_SIZE)operator(;) reserved(while) operator(()ident(ent) operator(<) ident(end)operator(\)) operator({) reserved(if) operator(()ident(ent)operator(->)ident(mid) operator(==) ident(id)operator(\)) operator({) ident(ent)operator(->)ident(mid) operator(=) integer(0)operator(;) operator(}) ident(ent)operator(++;) operator(}) operator(}) directive(void) ident(rb_clear_cache_by_class)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(,) operator(*)ident(end)operator(;) reserved(if) operator((!)ident(ruby_running)operator(\)) reserved(return)operator(;) ident(ent) operator(=) ident(cache)operator(;) ident(end) operator(=) ident(ent) operator(+) ident(CACHE_SIZE)operator(;) reserved(while) operator(()ident(ent) operator(<) ident(end)operator(\)) operator({) reserved(if) operator(()ident(ent)operator(->)ident(klass) operator(==) ident(klass) operator(||) ident(ent)operator(->)ident(origin) operator(==) ident(klass)operator(\)) operator({) ident(ent)operator(->)ident(mid) operator(=) integer(0)operator(;) operator(}) ident(ent)operator(++;) operator(}) operator(}) directive(static) ident(ID) ident(init)operator(,) ident(eqq)operator(,) ident(each)operator(,) ident(aref)operator(,) ident(aset)operator(,) ident(match)operator(,) ident(missing)operator(;) directive(static) ident(ID) ident(added)operator(,) ident(singleton_added)operator(;) directive(static) ident(ID) ident(__id__)operator(,) ident(__send__)operator(,) ident(respond_to)operator(;) preprocessor(#define) ident(NOEX_TAINTED) integer(8) preprocessor(#define) ident(NOEX_SAFE)operator(()ident(n)operator(\)) operator((()ident(n)operator(\)) operator(>>) integer(4)operator(\)) preprocessor(#define) ident(NOEX_WITH)operator(()ident(n)operator(,) ident(v)operator(\)) operator((()ident(n)operator(\)) operator(|) operator(()ident(v)operator(\)) operator(<<) integer(4)operator(\)) preprocessor(#define) ident(NOEX_WITH_SAFE)operator(()ident(n)operator(\)) ident(NOEX_WITH)operator(()ident(n)operator(,) ident(ruby_safe_level)operator(\)) directive(void) ident(rb_add_method)operator(()ident(klass)operator(,) ident(mid)operator(,) ident(node)operator(,) ident(noex)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(mid)operator(;) ident(NODE) operator(*)ident(node)operator(;) pre_type(int) ident(noex)operator(;) operator({) ident(NODE) operator(*)ident(body)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(klass)operator(\)\)) ident(klass) operator(=) ident(rb_cObject)operator(;) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) operator(()ident(klass) operator(==) ident(rb_cObject) operator(||) operator(!)ident(OBJ_TAINTED)operator(()ident(klass)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)) operator(&&) ident(node) operator(&&) ident(nd_type)operator(()ident(node)operator(\)) operator(!=) ident(NODE_ZSUPER) operator(&&) operator(()ident(mid) operator(==) ident(rb_intern)operator(()string operator(\)||) ident(mid) operator(==) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) ident(noex) operator(=) ident(NOEX_PRIVATE) operator(|) ident(noex)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)) operator(&&) ident(node) operator(&&) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_CFUNC) operator(&&) ident(mid) operator(==) ident(rb_intern)operator(()stringoperator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_class2name)operator(()ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\)\)\);) ident(mid) operator(=) ident(ID_ALLOCATOR)operator(;) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(klass)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) ident(rb_clear_cache_by_id)operator(()ident(mid)operator(\);) ident(body) operator(=) ident(NEW_METHOD)operator(()ident(node)operator(,) ident(NOEX_WITH_SAFE)operator(()ident(noex)operator(\)\);) ident(st_insert)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(mid)operator(,) operator(()ident(st_data_t)operator(\))ident(body)operator(\);) reserved(if) operator(()ident(node) operator(&&) ident(mid) operator(!=) ident(ID_ALLOCATOR) operator(&&) ident(ruby_running)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_funcall)operator(()ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\),) ident(singleton_added)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(mid)operator(\)\);) operator(}) reserved(else) operator({) ident(rb_funcall)operator(()ident(klass)operator(,) ident(added)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(mid)operator(\)\);) operator(}) operator(}) operator(}) directive(void) ident(rb_define_alloc_func)operator(()ident(klass)operator(,) ident(func)operator(\)) ident(VALUE) ident(klass)operator(;) ident(VALUE) operator((*)ident(func)operator(\)) ident(_)operator((()ident(VALUE)operator(\)\);) operator({) ident(Check_Type)operator(()ident(klass)operator(,) ident(T_CLASS)operator(\);) ident(rb_add_method)operator(()ident(rb_singleton_class)operator(()ident(klass)operator(\),) ident(ID_ALLOCATOR)operator(,) ident(NEW_CFUNC)operator(()ident(func)operator(,) integer(0)operator(\),) ident(NOEX_PRIVATE)operator(\);) operator(}) directive(void) ident(rb_undef_alloc_func)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(Check_Type)operator(()ident(klass)operator(,) ident(T_CLASS)operator(\);) ident(rb_add_method)operator(()ident(rb_singleton_class)operator(()ident(klass)operator(\),) ident(ID_ALLOCATOR)operator(,) integer(0)operator(,) ident(NOEX_UNDEF)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(search_method)operator(()ident(klass)operator(,) ident(id)operator(,) ident(origin)operator(\)) ident(VALUE) ident(klass)operator(,) operator(*)ident(origin)operator(;) ident(ID) ident(id)operator(;) operator({) ident(st_data_t) ident(body)operator(;) reserved(if) operator((!)ident(klass)operator(\)) reserved(return) integer(0)operator(;) reserved(while) operator((!)ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(id)operator(,) operator(&)ident(body)operator(\)\)) operator({) ident(klass) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) reserved(if) operator((!)ident(klass)operator(\)) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(origin)operator(\)) operator(*)ident(origin) operator(=) ident(klass)operator(;) reserved(return) operator(()ident(NODE) operator(*\))ident(body)operator(;) operator(}) directive(static) ident(NODE)operator(*) ident(rb_get_method_body)operator(()ident(klassp)operator(,) ident(idp)operator(,) ident(noexp)operator(\)) ident(VALUE) operator(*)ident(klassp)operator(;) ident(ID) operator(*)ident(idp)operator(;) pre_type(int) operator(*)ident(noexp)operator(;) operator({) ident(ID) ident(id) operator(=) operator(*)ident(idp)operator(;) ident(VALUE) ident(klass) operator(=) operator(*)ident(klassp)operator(;) ident(VALUE) ident(origin)operator(;) ident(NODE) operator(*) directive(volatile) ident(body)operator(;) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(;) reserved(if) operator((()ident(body) operator(=) ident(search_method)operator(()ident(klass)operator(,) ident(id)operator(,) operator(&)ident(origin)operator(\)\)) operator(==) integer(0) operator(||) operator(!)ident(body)operator(->)ident(nd_body)operator(\)) operator({) comment(/* store empty info in cache */) ident(ent) operator(=) ident(cache) operator(+) ident(EXPR1)operator(()ident(klass)operator(,) ident(id)operator(\);) ident(ent)operator(->)ident(klass) operator(=) ident(klass)operator(;) ident(ent)operator(->)ident(origin) operator(=) ident(klass)operator(;) ident(ent)operator(->)ident(mid) operator(=) ident(ent)operator(->)ident(mid0) operator(=) ident(id)operator(;) ident(ent)operator(->)ident(noex) operator(=) integer(0)operator(;) ident(ent)operator(->)ident(method) operator(=) integer(0)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(ruby_running)operator(\)) operator({) comment(/* store in cache */) ident(ent) operator(=) ident(cache) operator(+) ident(EXPR1)operator(()ident(klass)operator(,) ident(id)operator(\);) ident(ent)operator(->)ident(klass) operator(=) ident(klass)operator(;) ident(ent)operator(->)ident(noex) operator(=) ident(body)operator(->)ident(nd_noex)operator(;) reserved(if) operator(()ident(noexp)operator(\)) operator(*)ident(noexp) operator(=) ident(body)operator(->)ident(nd_noex)operator(;) ident(body) operator(=) ident(body)operator(->)ident(nd_body)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_FBODY)operator(\)) operator({) ident(ent)operator(->)ident(mid) operator(=) ident(id)operator(;) operator(*)ident(klassp) operator(=) ident(body)operator(->)ident(nd_orig)operator(;) ident(ent)operator(->)ident(origin) operator(=) ident(body)operator(->)ident(nd_orig)operator(;) operator(*)ident(idp) operator(=) ident(ent)operator(->)ident(mid0) operator(=) ident(body)operator(->)ident(nd_mid)operator(;) ident(body) operator(=) ident(ent)operator(->)ident(method) operator(=) ident(body)operator(->)ident(nd_head)operator(;) operator(}) reserved(else) operator({) operator(*)ident(klassp) operator(=) ident(origin)operator(;) ident(ent)operator(->)ident(origin) operator(=) ident(origin)operator(;) ident(ent)operator(->)ident(mid) operator(=) ident(ent)operator(->)ident(mid0) operator(=) ident(id)operator(;) ident(ent)operator(->)ident(method) operator(=) ident(body)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(noexp)operator(\)) operator(*)ident(noexp) operator(=) ident(body)operator(->)ident(nd_noex)operator(;) ident(body) operator(=) ident(body)operator(->)ident(nd_body)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_FBODY)operator(\)) operator({) operator(*)ident(klassp) operator(=) ident(body)operator(->)ident(nd_orig)operator(;) operator(*)ident(idp) operator(=) ident(body)operator(->)ident(nd_mid)operator(;) ident(body) operator(=) ident(body)operator(->)ident(nd_head)operator(;) operator(}) reserved(else) operator({) operator(*)ident(klassp) operator(=) ident(origin)operator(;) operator(}) operator(}) reserved(return) ident(body)operator(;) operator(}) ident(NODE)operator(*) ident(rb_method_node)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) pre_type(int) ident(noex)operator(;) reserved(return) ident(rb_get_method_body)operator((&)ident(klass)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\);) operator(}) directive(static) directive(void) ident(remove_method)operator(()ident(klass)operator(,) ident(mid)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(mid)operator(;) operator({) ident(st_data_t) ident(data)operator(;) ident(NODE) operator(*)ident(body) operator(=) integer(0)operator(;) reserved(if) operator(()ident(klass) operator(==) ident(rb_cObject)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(klass)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(klass)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator(()ident(mid) operator(==) ident(__id__) operator(||) ident(mid) operator(==) ident(__send__) operator(||) ident(mid) operator(==) ident(init)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(mid)operator(\)\);) operator(}) reserved(if) operator(()ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(mid)operator(,) operator(&)ident(data)operator(\)\)) operator({) ident(body) operator(=) operator(()ident(NODE) operator(*\))ident(data)operator(;) reserved(if) operator((!)ident(body) operator(||) operator(!)ident(body)operator(->)ident(nd_body)operator(\)) ident(body) operator(=) integer(0)operator(;) reserved(else) operator({) ident(st_delete)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) operator(&)ident(mid)operator(,) operator(&)ident(data)operator(\);) operator(}) operator(}) reserved(if) operator((!)ident(body)operator(\)) operator({) ident(rb_name_error)operator(()ident(mid)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(mid)operator(\),) ident(rb_class2name)operator(()ident(klass)operator(\)\);) operator(}) ident(rb_clear_cache_for_undef)operator(()ident(klass)operator(,) ident(mid)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_funcall)operator(()ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\),) ident(singleton_removed)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(mid)operator(\)\);) operator(}) reserved(else) operator({) ident(rb_funcall)operator(()ident(klass)operator(,) ident(removed)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(mid)operator(\)\);) operator(}) operator(}) directive(void) ident(rb_remove_method)operator(()ident(klass)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(remove_method)operator(()ident(klass)operator(,) ident(rb_intern)operator(()ident(name)operator(\)\);) operator(}) comment(/* * call-seq: * remove_method(symbol\) => self * * Removes the method identified by _symbol_ from the current * class. For an example, see Module.undef_method. */) directive(static) ident(VALUE) ident(rb_mod_remove_method)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(remove_method)operator(()ident(mod)operator(,) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\)\);) operator(}) reserved(return) ident(mod)operator(;) operator(}) preprocessor(#undef) ident(rb_disable_super) preprocessor(#undef) ident(rb_enable_super) directive(void) ident(rb_disable_super)operator(()ident(klass)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) comment(/* obsolete - no use */) operator(}) directive(void) ident(rb_enable_super)operator(()ident(klass)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) directive(static) directive(void) ident(rb_export_method)operator(()ident(klass)operator(,) ident(name)operator(,) ident(noex)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(name)operator(;) ident(ID) ident(noex)operator(;) operator({) ident(NODE) operator(*)ident(body)operator(;) ident(VALUE) ident(origin)operator(;) reserved(if) operator(()ident(klass) operator(==) ident(rb_cObject)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) ident(body) operator(=) ident(search_method)operator(()ident(klass)operator(,) ident(name)operator(,) operator(&)ident(origin)operator(\);) reserved(if) operator((!)ident(body) operator(&&) ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(body) operator(=) ident(search_method)operator(()ident(rb_cObject)operator(,) ident(name)operator(,) operator(&)ident(origin)operator(\);) operator(}) reserved(if) operator((!)ident(body) operator(||) operator(!)ident(body)operator(->)ident(nd_body)operator(\)) operator({) ident(print_undef)operator(()ident(klass)operator(,) ident(name)operator(\);) operator(}) reserved(if) operator(()ident(body)operator(->)ident(nd_noex) operator(!=) ident(noex)operator(\)) operator({) reserved(if) operator(()ident(klass) operator(==) ident(origin)operator(\)) operator({) ident(body)operator(->)ident(nd_noex) operator(=) ident(noex)operator(;) operator(}) reserved(else) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(name)operator(,) ident(NEW_ZSUPER)operator((\),) ident(noex)operator(\);) operator(}) operator(}) operator(}) pre_type(int) ident(rb_method_boundp)operator(()ident(klass)operator(,) ident(id)operator(,) ident(ex)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(ex)operator(;) operator({) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(;) pre_type(int) ident(noex)operator(;) comment(/* is it in the method cache? */) ident(ent) operator(=) ident(cache) operator(+) ident(EXPR1)operator(()ident(klass)operator(,) ident(id)operator(\);) reserved(if) operator(()ident(ent)operator(->)ident(mid) operator(==) ident(id) operator(&&) ident(ent)operator(->)ident(klass) operator(==) ident(klass)operator(\)) operator({) reserved(if) operator(()ident(ex) operator(&&) operator(()ident(ent)operator(->)ident(noex) operator(&) ident(NOEX_PRIVATE)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((!)ident(ent)operator(->)ident(method)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(if) operator(()ident(rb_get_method_body)operator((&)ident(klass)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) operator({) reserved(if) operator(()ident(ex) operator(&&) operator(()ident(noex) operator(&) ident(NOEX_PRIVATE)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(void) ident(rb_attr)operator(()ident(klass)operator(,) ident(id)operator(,) ident(read)operator(,) ident(write)operator(,) ident(ex)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(read)operator(,) ident(write)operator(,) ident(ex)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(name)operator(;) pre_type(char) operator(*)ident(buf)operator(;) ident(ID) ident(attriv)operator(;) pre_type(int) ident(noex)operator(;) ident(size_t) ident(len)operator(;) reserved(if) operator((!)ident(ex)operator(\)) ident(noex) operator(=) ident(NOEX_PUBLIC)operator(;) reserved(else) operator({) reserved(if) operator(()ident(SCOPE_TEST)operator(()ident(SCOPE_PRIVATE)operator(\)\)) operator({) ident(noex) operator(=) ident(NOEX_PRIVATE)operator(;) ident(rb_warning)operator((()ident(scope_vmode) operator(==) ident(SCOPE_MODFUNC)operator(\)) operator(?) string operator(:) stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(SCOPE_TEST)operator(()ident(SCOPE_PROTECTED)operator(\)\)) operator({) ident(noex) operator(=) ident(NOEX_PROTECTED)operator(;) operator(}) reserved(else) operator({) ident(noex) operator(=) ident(NOEX_PUBLIC)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(rb_is_local_id)operator(()ident(id)operator(\)) operator(&&) operator(!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(name) operator(=) ident(rb_id2name)operator(()ident(id)operator(\);) reserved(if) operator((!)ident(name)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(len) operator(=) ident(strlen)operator(()ident(name)operator(\)+)integer(2)operator(;) ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,)ident(len)operator(\);) ident(snprintf)operator(()ident(buf)operator(,) ident(len)operator(,) stringoperator(,) ident(name)operator(\);) ident(attriv) operator(=) ident(rb_intern)operator(()ident(buf)operator(\);) reserved(if) operator(()ident(read)operator(\)) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(id)operator(,) ident(NEW_IVAR)operator(()ident(attriv)operator(\),) ident(noex)operator(\);) operator(}) reserved(if) operator(()ident(write)operator(\)) operator({) ident(rb_add_method)operator(()ident(klass)operator(,) ident(rb_id_attrset)operator(()ident(id)operator(\),) ident(NEW_ATTRSET)operator(()ident(attriv)operator(\),) ident(noex)operator(\);) operator(}) operator(}) directive(extern) pre_type(int) ident(ruby_in_compile)operator(;) ident(VALUE) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) directive(extern) ident(NODE) operator(*)ident(ruby_eval_tree_begin)operator(;) directive(extern) ident(NODE) operator(*)ident(ruby_eval_tree)operator(;) directive(extern) pre_type(int) ident(ruby_nerrs)operator(;) ident(VALUE) ident(rb_eLocalJumpError)operator(;) ident(VALUE) ident(rb_eSysStackError)operator(;) directive(extern) ident(VALUE) ident(ruby_top_self)operator(;) reserved(struct) ident(FRAME) operator(*)ident(ruby_frame)operator(;) reserved(struct) ident(SCOPE) operator(*)ident(ruby_scope)operator(;) directive(static) reserved(struct) ident(FRAME) operator(*)ident(top_frame)operator(;) directive(static) reserved(struct) ident(SCOPE) operator(*)ident(top_scope)operator(;) directive(static) pre_type(unsigned) pre_type(long) ident(frame_unique) operator(=) integer(0)operator(;) preprocessor(#define) ident(PUSH_FRAME)operator((\)) reserved(do) operator({) \ directive(volatile) reserved(struct) ident(FRAME) ident(_frame)operator(;) \ ident(_frame)operator(.)ident(prev) operator(=) ident(ruby_frame)operator(;) \ ident(_frame)operator(.)ident(tmp) operator(=) integer(0)operator(;) \ ident(_frame)operator(.)ident(node) operator(=) ident(ruby_current_node)operator(;) \ ident(_frame)operator(.)ident(iter) operator(=) ident(ruby_iter)operator(->)ident(iter)operator(;) \ ident(_frame)operator(.)ident(argc) operator(=) integer(0)operator(;) \ ident(_frame)operator(.)ident(flags) operator(=) integer(0)operator(;) \ ident(_frame)operator(.)ident(uniq) operator(=) ident(frame_unique)operator(++;) \ ident(ruby_frame) operator(=) operator(&)ident(_frame) preprocessor(#define) ident(POP_FRAME)operator((\)) \ ident(ruby_current_node) operator(=) ident(_frame)operator(.)ident(node)operator(;) \ ident(ruby_frame) operator(=) ident(_frame)operator(.)ident(prev)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) reserved(struct) ident(BLOCK) operator({) ident(NODE) operator(*)ident(var)operator(;) ident(NODE) operator(*)ident(body)operator(;) ident(VALUE) ident(self)operator(;) reserved(struct) ident(FRAME) ident(frame)operator(;) reserved(struct) ident(SCOPE) operator(*)ident(scope)operator(;) ident(VALUE) ident(klass)operator(;) ident(NODE) operator(*)ident(cref)operator(;) pre_type(int) ident(iter)operator(;) pre_type(int) ident(vmode)operator(;) pre_type(int) ident(flags)operator(;) pre_type(int) ident(uniq)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(dyna_vars)operator(;) ident(VALUE) ident(orig_thread)operator(;) ident(VALUE) ident(wrapper)operator(;) ident(VALUE) ident(block_obj)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(outer)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(prev)operator(;) operator(};) preprocessor(#define) ident(BLOCK_D_SCOPE) integer(1) preprocessor(#define) ident(BLOCK_LAMBDA) integer(2) directive(static) reserved(struct) ident(BLOCK) operator(*)ident(ruby_block)operator(;) directive(static) pre_type(unsigned) pre_type(long) ident(block_unique) operator(=) integer(1)operator(;) preprocessor(#define) ident(PUSH_BLOCK)operator(()ident(v)operator(,)ident(b)operator(\)) reserved(do) operator({) \ reserved(struct) ident(BLOCK) ident(_block)operator(;) \ ident(_block)operator(.)ident(var) operator(=) operator(()ident(v)operator(\);) \ ident(_block)operator(.)ident(body) operator(=) operator(()ident(b)operator(\);) \ ident(_block)operator(.)ident(self) operator(=) ident(self)operator(;) \ ident(_block)operator(.)ident(frame) operator(=) operator(*)ident(ruby_frame)operator(;) \ ident(_block)operator(.)ident(klass) operator(=) ident(ruby_class)operator(;) \ ident(_block)operator(.)ident(cref) operator(=) ident(ruby_cref)operator(;) \ ident(_block)operator(.)ident(frame)operator(.)ident(node) operator(=) ident(ruby_current_node)operator(;)\ ident(_block)operator(.)ident(scope) operator(=) ident(ruby_scope)operator(;) \ ident(_block)operator(.)ident(prev) operator(=) ident(ruby_block)operator(;) \ ident(_block)operator(.)ident(outer) operator(=) ident(ruby_block)operator(;) \ ident(_block)operator(.)ident(iter) operator(=) ident(ruby_iter)operator(->)ident(iter)operator(;) \ ident(_block)operator(.)ident(vmode) operator(=) ident(scope_vmode)operator(;) \ ident(_block)operator(.)ident(flags) operator(=) ident(BLOCK_D_SCOPE)operator(;) \ ident(_block)operator(.)ident(dyna_vars) operator(=) ident(ruby_dyna_vars)operator(;) \ ident(_block)operator(.)ident(wrapper) operator(=) ident(ruby_wrapper)operator(;) \ ident(_block)operator(.)ident(block_obj) operator(=) integer(0)operator(;) \ ident(_block)operator(.)ident(uniq) operator(=) operator(()ident(b)operator(\)?)ident(block_unique)operator(++:)integer(0)operator(;) \ reserved(if) operator(()ident(b)operator(\)) operator({) \ ident(prot_tag)operator(->)ident(blkid) operator(=) ident(_block)operator(.)ident(uniq)operator(;) \ operator(}) \ ident(ruby_block) operator(=) operator(&)ident(_block) preprocessor(#define) ident(POP_BLOCK)operator((\)) \ ident(ruby_block) operator(=) ident(_block)operator(.)ident(prev)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) reserved(struct) ident(RVarmap) operator(*)ident(ruby_dyna_vars)operator(;) preprocessor(#define) ident(PUSH_VARS)operator((\)) reserved(do) operator({) \ reserved(struct) ident(RVarmap) operator(*) directive(volatile) ident(_old)operator(;) \ ident(_old) operator(=) ident(ruby_dyna_vars)operator(;) \ ident(ruby_dyna_vars) operator(=) integer(0) preprocessor(#define) ident(POP_VARS)operator((\)) \ reserved(if) operator(()ident(_old) operator(&&) operator(()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_DONT_RECYCLE)operator(\)\)) operator({)\ reserved(if) operator(()ident(RBASIC)operator(()ident(_old)operator(\)->)ident(flags)operator(\)) comment(/* unless it's already recycled */) \ ident(FL_SET)operator(()ident(_old)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) \ operator(})\ ident(ruby_dyna_vars) operator(=) ident(_old)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(DVAR_DONT_RECYCLE) ident(FL_USER2) preprocessor(#define) ident(DMETHOD_P)operator((\)) operator(()ident(ruby_frame)operator(->)ident(flags) operator(&) ident(FRAME_DMETH)operator(\)) directive(static) reserved(struct) ident(RVarmap)operator(*) ident(new_dvar)operator(()ident(id)operator(,) ident(value)operator(,) ident(prev)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(prev)operator(;) operator({) ident(NEWOBJ)operator(()ident(vars)operator(,) reserved(struct) ident(RVarmap)operator(\);) ident(OBJSETUP)operator(()ident(vars)operator(,) integer(0)operator(,) ident(T_VARMAP)operator(\);) ident(vars)operator(->)ident(id) operator(=) ident(id)operator(;) ident(vars)operator(->)ident(val) operator(=) ident(value)operator(;) ident(vars)operator(->)ident(next) operator(=) ident(prev)operator(;) reserved(return) ident(vars)operator(;) operator(}) ident(VALUE) ident(rb_dvar_defined)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) ident(id)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) ident(VALUE) ident(rb_dvar_curr)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) integer(0)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) ident(id)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) ident(VALUE) ident(rb_dvar_ref)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) ident(id)operator(\)) operator({) reserved(return) ident(vars)operator(->)ident(val)operator(;) operator(}) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(rb_dvar_push)operator(()ident(id)operator(,) ident(value)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) operator({) ident(ruby_dyna_vars) operator(=) ident(new_dvar)operator(()ident(id)operator(,) ident(value)operator(,) ident(ruby_dyna_vars)operator(\);) operator(}) directive(static) directive(void) ident(dvar_asgn_internal)operator(()ident(id)operator(,) ident(value)operator(,) ident(curr)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) pre_type(int) ident(curr)operator(;) operator({) pre_type(int) ident(n) operator(=) integer(0)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(curr) operator(&&) ident(vars)operator(->)ident(id) operator(==) integer(0)operator(\)) operator({) comment(/* first null is a dvar header */) ident(n)operator(++;) reserved(if) operator(()ident(n) operator(==) integer(2)operator(\)) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) ident(id)operator(\)) operator({) ident(vars)operator(->)ident(val) operator(=) ident(value)operator(;) reserved(return)operator(;) operator(}) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(if) operator((!)ident(ruby_dyna_vars)operator(\)) operator({) ident(ruby_dyna_vars) operator(=) ident(new_dvar)operator(()ident(id)operator(,) ident(value)operator(,) integer(0)operator(\);) operator(}) reserved(else) operator({) ident(vars) operator(=) ident(new_dvar)operator(()ident(id)operator(,) ident(value)operator(,) ident(ruby_dyna_vars)operator(->)ident(next)operator(\);) ident(ruby_dyna_vars)operator(->)ident(next) operator(=) ident(vars)operator(;) operator(}) operator(}) directive(static) directive(inline) directive(void) ident(dvar_asgn)operator(()ident(id)operator(,) ident(value)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) operator({) ident(dvar_asgn_internal)operator(()ident(id)operator(,) ident(value)operator(,) integer(0)operator(\);) operator(}) directive(static) directive(inline) directive(void) ident(dvar_asgn_curr)operator(()ident(id)operator(,) ident(value)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) operator({) ident(dvar_asgn_internal)operator(()ident(id)operator(,) ident(value)operator(,) integer(1)operator(\);) operator(}) ident(VALUE) operator(*) ident(rb_svar)operator(()ident(cnt)operator(\)) pre_type(int) ident(cnt)operator(;) operator({) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(ID) ident(id)operator(;) reserved(if) operator((!)ident(ruby_scope)operator(->)ident(local_tbl)operator(\)) reserved(return) pre_constant(NULL)operator(;) reserved(if) operator(()ident(cnt) operator(>=) ident(ruby_scope)operator(->)ident(local_tbl)operator([)integer(0)operator(]\)) reserved(return) pre_constant(NULL)operator(;) ident(id) operator(=) ident(ruby_scope)operator(->)ident(local_tbl)operator([)ident(cnt)operator(+)integer(1)operator(];) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) ident(id)operator(\)) reserved(return) operator(&)ident(vars)operator(->)ident(val)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_vars) operator(==) integer(0)operator(\)) reserved(return) pre_constant(NULL)operator(;) reserved(return) operator(&)ident(ruby_scope)operator(->)ident(local_vars)operator([)ident(cnt)operator(];) operator(}) reserved(struct) ident(iter) operator({) pre_type(int) ident(iter)operator(;) reserved(struct) ident(iter) operator(*)ident(prev)operator(;) operator(};) directive(static) reserved(struct) ident(iter) operator(*)ident(ruby_iter)operator(;) preprocessor(#define) ident(ITER_NOT) integer(0) preprocessor(#define) ident(ITER_PRE) integer(1) preprocessor(#define) ident(ITER_CUR) integer(2) preprocessor(#define) ident(ITER_PAS) integer(3) preprocessor(#define) ident(PUSH_ITER)operator(()ident(i)operator(\)) reserved(do) operator({) \ reserved(struct) ident(iter) ident(_iter)operator(;) \ ident(_iter)operator(.)ident(prev) operator(=) ident(ruby_iter)operator(;) \ ident(_iter)operator(.)ident(iter) operator(=) operator(()ident(i)operator(\);) \ ident(ruby_iter) operator(=) operator(&)ident(_iter) preprocessor(#define) ident(POP_ITER)operator((\)) \ ident(ruby_iter) operator(=) ident(_iter)operator(.)ident(prev)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) reserved(struct) ident(tag) operator({) ident(rb_jmpbuf_t) ident(buf)operator(;) reserved(struct) ident(FRAME) operator(*)ident(frame)operator(;) reserved(struct) ident(iter) operator(*)ident(iter)operator(;) ident(VALUE) ident(tag)operator(;) ident(VALUE) ident(retval)operator(;) reserved(struct) ident(SCOPE) operator(*)ident(scope)operator(;) ident(VALUE) ident(dst)operator(;) reserved(struct) ident(tag) operator(*)ident(prev)operator(;) pre_type(int) ident(blkid)operator(;) operator(};) directive(static) reserved(struct) ident(tag) operator(*)ident(prot_tag)operator(;) preprocessor(#define) ident(PUSH_TAG)operator(()ident(ptag)operator(\)) reserved(do) operator({) \ reserved(struct) ident(tag) ident(_tag)operator(;) \ ident(_tag)operator(.)ident(retval) operator(=) ident(Qnil)operator(;) \ ident(_tag)operator(.)ident(frame) operator(=) ident(ruby_frame)operator(;) \ ident(_tag)operator(.)ident(iter) operator(=) ident(ruby_iter)operator(;) \ ident(_tag)operator(.)ident(prev) operator(=) ident(prot_tag)operator(;) \ ident(_tag)operator(.)ident(scope) operator(=) ident(ruby_scope)operator(;) \ ident(_tag)operator(.)ident(tag) operator(=) ident(ptag)operator(;) \ ident(_tag)operator(.)ident(dst) operator(=) integer(0)operator(;) \ ident(_tag)operator(.)ident(blkid) operator(=) integer(0)operator(;) \ ident(prot_tag) operator(=) operator(&)ident(_tag) preprocessor(#define) ident(PROT_NONE) ident(Qfalse) comment(/* 0 */) preprocessor(#define) ident(PROT_THREAD) ident(Qtrue) comment(/* 2 */) preprocessor(#define) ident(PROT_FUNC) ident(INT2FIX)operator(()integer(0)operator(\)) comment(/* 1 */) preprocessor(#define) ident(PROT_LOOP) ident(INT2FIX)operator(()integer(1)operator(\)) comment(/* 3 */) preprocessor(#define) ident(PROT_LAMBDA) ident(INT2FIX)operator(()integer(2)operator(\)) comment(/* 5 */) preprocessor(#define) ident(PROT_YIELD) ident(INT2FIX)operator(()integer(3)operator(\)) comment(/* 7 */) preprocessor(#define) ident(EXEC_TAG)operator((\)) operator(()ident(FLUSH_REGISTER_WINDOWS)operator(,) ident(ruby_setjmp)operator(((()directive(void)operator(\))integer(0)operator(\),) ident(prot_tag)operator(->)ident(buf)operator(\)\)) preprocessor(#define) ident(JUMP_TAG)operator(()ident(st)operator(\)) reserved(do) operator({) \ ident(ruby_frame) operator(=) ident(prot_tag)operator(->)ident(frame)operator(;) \ ident(ruby_iter) operator(=) ident(prot_tag)operator(->)ident(iter)operator(;) \ ident(ruby_longjmp)operator(()ident(prot_tag)operator(->)ident(buf)operator(,()ident(st)operator(\)\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(POP_TAG)operator((\)) \ ident(prot_tag) operator(=) ident(_tag)operator(.)ident(prev)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(TAG_DST)operator((\)) operator(()ident(_tag)operator(.)ident(dst) operator(==) operator(()ident(VALUE)operator(\))ident(ruby_frame)operator(->)ident(uniq)operator(\)) preprocessor(#define) ident(TAG_RETURN) hex(0x1) preprocessor(#define) ident(TAG_BREAK) hex(0x2) preprocessor(#define) ident(TAG_NEXT) hex(0x3) preprocessor(#define) ident(TAG_RETRY) hex(0x4) preprocessor(#define) ident(TAG_REDO) hex(0x5) preprocessor(#define) ident(TAG_RAISE) hex(0x6) preprocessor(#define) ident(TAG_THROW) hex(0x7) preprocessor(#define) ident(TAG_FATAL) hex(0x8) preprocessor(#define) ident(TAG_MASK) hex(0xf) ident(VALUE) ident(ruby_class)operator(;) directive(static) ident(VALUE) ident(ruby_wrapper)operator(;) comment(/* security wrapper */) preprocessor(#define) ident(PUSH_CLASS)operator(()ident(c)operator(\)) reserved(do) operator({) \ directive(volatile) ident(VALUE) ident(_class) operator(=) ident(ruby_class)operator(;) \ ident(ruby_class) operator(=) operator(()ident(c)operator(\)) preprocessor(#define) ident(POP_CLASS)operator((\)) ident(ruby_class) operator(=) ident(_class)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) ident(NODE) operator(*)ident(ruby_cref) operator(=) integer(0)operator(;) ident(NODE) operator(*)ident(ruby_top_cref)operator(;) preprocessor(#define) ident(PUSH_CREF)operator(()ident(c)operator(\)) ident(ruby_cref) operator(=) ident(NEW_CREF)operator(()ident(c)operator(,)ident(ruby_cref)operator(\)) preprocessor(#define) ident(POP_CREF)operator((\)) ident(ruby_cref) operator(=) ident(ruby_cref)operator(->)ident(nd_next) preprocessor(#define) ident(PUSH_SCOPE)operator((\)) reserved(do) operator({) \ directive(volatile) pre_type(int) ident(_vmode) operator(=) ident(scope_vmode)operator(;) \ reserved(struct) ident(SCOPE) operator(*) directive(volatile) ident(_old)operator(;) \ ident(NEWOBJ)operator(()ident(_scope)operator(,) reserved(struct) ident(SCOPE)operator(\);) \ ident(OBJSETUP)operator(()ident(_scope)operator(,) integer(0)operator(,) ident(T_SCOPE)operator(\);) \ ident(_scope)operator(->)ident(local_tbl) operator(=) integer(0)operator(;) \ ident(_scope)operator(->)ident(local_vars) operator(=) integer(0)operator(;) \ ident(_scope)operator(->)ident(flags) operator(=) integer(0)operator(;) \ ident(_old) operator(=) ident(ruby_scope)operator(;) \ ident(ruby_scope) operator(=) ident(_scope)operator(;) \ ident(scope_vmode) operator(=) ident(SCOPE_PUBLIC) ident(rb_thread_t) ident(rb_curr_thread)operator(;) ident(rb_thread_t) ident(rb_main_thread)operator(;) preprocessor(#define) ident(main_thread) ident(rb_main_thread) preprocessor(#define) ident(curr_thread) ident(rb_curr_thread) directive(static) directive(void) ident(scope_dup) ident(_)operator((()reserved(struct) ident(SCOPE) operator(*\)\);) preprocessor(#define) ident(POP_SCOPE)operator((\)) \ reserved(if) operator(()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_DONT_RECYCLE)operator(\)) operator({)\ reserved(if) operator(()ident(_old)operator(\)) ident(scope_dup)operator(()ident(_old)operator(\);) \ operator(}) \ reserved(if) operator((!()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_MALLOC)operator(\)\)) operator({)\ ident(ruby_scope)operator(->)ident(local_vars) operator(=) integer(0)operator(;) \ ident(ruby_scope)operator(->)ident(local_tbl) operator(=) integer(0)operator(;) \ reserved(if) operator((!()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_DONT_RECYCLE)operator(\)) operator(&&) \ ident(ruby_scope) operator(!=) ident(top_scope)operator(\)) operator({) \ ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(ruby_scope)operator(\);)\ operator(}) \ operator(}) \ ident(ruby_scope)operator(->)ident(flags) operator(|=) ident(SCOPE_NOSTACK)operator(;) \ ident(ruby_scope) operator(=) ident(_old)operator(;) \ ident(scope_vmode) operator(=) ident(_vmode)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) directive(static) ident(VALUE) ident(rb_eval) ident(_)operator((()ident(VALUE)operator(,)ident(NODE)operator(*\)\);) directive(static) ident(VALUE) ident(eval) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(,)ident(VALUE)operator(,)pre_type(char)operator(*,)pre_type(int)operator(\)\);) directive(static) ident(NODE) operator(*)ident(compile) ident(_)operator((()ident(VALUE)operator(,) pre_type(char)operator(*,) pre_type(int)operator(\)\);) directive(static) ident(VALUE) ident(rb_yield_0) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) ident(VALUE)operator(,) pre_type(int)operator(,) pre_type(int)operator(\)\);) preprocessor(#define) ident(YIELD_LAMBDA_CALL) integer(1) preprocessor(#define) ident(YIELD_PROC_CALL) integer(2) preprocessor(#define) ident(YIELD_PUBLIC_DEF) integer(4) preprocessor(#define) ident(YIELD_FUNC_AVALUE) integer(1) preprocessor(#define) ident(YIELD_FUNC_SVALUE) integer(2) directive(static) ident(VALUE) ident(rb_call) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(,)ident(ID)operator(,)pre_type(int)operator(,)directive(const) ident(VALUE)operator(*,)pre_type(int)operator(,)ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(module_setup) ident(_)operator((()ident(VALUE)operator(,)ident(NODE)operator(*\)\);) directive(static) ident(VALUE) ident(massign) ident(_)operator((()ident(VALUE)operator(,)ident(NODE)operator(*,)ident(VALUE)operator(,)pre_type(int)operator(\)\);) directive(static) directive(void) ident(assign) ident(_)operator((()ident(VALUE)operator(,)ident(NODE)operator(*,)ident(VALUE)operator(,)pre_type(int)operator(\)\);) reserved(typedef) reserved(struct) ident(event_hook) operator({) ident(rb_event_hook_func_t) ident(func)operator(;) ident(rb_event_t) ident(events)operator(;) reserved(struct) ident(event_hook) operator(*)ident(next)operator(;) operator(}) ident(rb_event_hook_t)operator(;) directive(static) ident(rb_event_hook_t) operator(*)ident(event_hooks)operator(;) preprocessor(#define) ident(EXEC_EVENT_HOOK)operator(()ident(event)operator(,) ident(node)operator(,) ident(self)operator(,) ident(id)operator(,) ident(klass)operator(\)) \ reserved(do) operator({) \ ident(rb_event_hook_t) operator(*)ident(hook) operator(=) ident(event_hooks)operator(;) \ ident(rb_event_hook_func_t) ident(hook_func)operator(;) \ ident(rb_event_t) ident(events)operator(;) \ \ reserved(while) operator(()ident(hook)operator(\)) operator({) \ ident(hook_func) operator(=) ident(hook)operator(->)ident(func)operator(;) \ ident(events) operator(=) ident(hook)operator(->)ident(events)operator(;) \ ident(hook) operator(=) ident(hook)operator(->)ident(next)operator(;) \ reserved(if) operator(()ident(events) operator(&) ident(event)operator(\)) \ operator((*)ident(hook_func)operator(\)()ident(event)operator(,) ident(node)operator(,) ident(self)operator(,) ident(id)operator(,) ident(klass)operator(\);) \ operator(}) \ operator(}) reserved(while) operator(()integer(0)operator(\)) directive(static) ident(VALUE) ident(trace_func) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(tracing) operator(=) integer(0)operator(;) directive(static) directive(void) ident(call_trace_func) ident(_)operator((()ident(rb_event_t)operator(,)ident(NODE)operator(*,)ident(VALUE)operator(,)ident(ID)operator(,)ident(VALUE)operator(\)\);) comment(#if 0 #define SET_CURRENT_SOURCE(\) (ruby_sourcefile = ruby_current_node->nd_file, \\ ruby_sourceline = nd_line(ruby_current_node\)\) #else) preprocessor(#define) ident(SET_CURRENT_SOURCE)operator((\)) operator((()directive(void)operator(\))integer(0)operator(\)) preprocessor(#endif) directive(void) ident(ruby_set_current_source)operator((\)) operator({) reserved(if) operator(()ident(ruby_current_node)operator(\)) operator({) ident(ruby_sourcefile) operator(=) ident(ruby_current_node)operator(->)ident(nd_file)operator(;) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(ruby_current_node)operator(\);) operator(}) operator(}) directive(static) directive(void) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(warn_printf)operator(()directive(const) pre_type(char) operator(*)ident(fmt)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(warn_printf)operator(()ident(fmt)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(va_list) ident(args)operator(;) ident(va_init_list)operator(()ident(args)operator(,) ident(fmt)operator(\);) ident(vsnprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) ident(fmt)operator(,) ident(args)operator(\);) ident(va_end)operator(()ident(args)operator(\);) ident(rb_write_error)operator(()ident(buf)operator(\);) operator(}) preprocessor(#define) ident(warn_print)operator(()ident(x)operator(\)) ident(rb_write_error)operator(()ident(x)operator(\)) preprocessor(#define) ident(warn_print2)operator(()ident(x)operator(,)ident(l)operator(\)) ident(rb_write_error2)operator(()ident(x)operator(,)ident(l)operator(\)) directive(static) directive(void) ident(error_pos)operator((\)) operator({) ident(ruby_set_current_source)operator((\);) reserved(if) operator(()ident(ruby_sourcefile)operator(\)) operator({) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)) operator({) ident(warn_printf)operator(()stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(orig_func)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(ruby_sourceline) operator(==) integer(0)operator(\)) operator({) ident(warn_printf)operator(()stringoperator(,) ident(ruby_sourcefile)operator(\);) operator(}) reserved(else) operator({) ident(warn_printf)operator(()stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(\);) operator(}) operator(}) operator(}) ident(VALUE) ident(rb_check_backtrace)operator(()ident(VALUE)operator(\);) directive(static) ident(VALUE) ident(get_backtrace)operator(()ident(info)operator(\)) ident(VALUE) ident(info)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(info)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(info) operator(=) ident(rb_funcall)operator(()ident(info)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(info)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_check_backtrace)operator(()ident(info)operator(\);) operator(}) directive(static) directive(void) ident(set_backtrace)operator(()ident(info)operator(,) ident(bt)operator(\)) ident(VALUE) ident(info)operator(,) ident(bt)operator(;) operator({) ident(rb_funcall)operator(()ident(info)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(bt)operator(\);) operator(}) directive(static) directive(void) ident(error_print)operator((\)) operator({) ident(VALUE) ident(errat) operator(=) ident(Qnil)operator(;) comment(/* OK */) directive(volatile) ident(VALUE) ident(eclass)operator(,) ident(e)operator(;) pre_type(char) operator(*)ident(einfo)operator(;) pre_type(long) ident(elen)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) reserved(return)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator(()ident(EXEC_TAG)operator((\)) operator(==) integer(0)operator(\)) operator({) ident(errat) operator(=) ident(get_backtrace)operator(()ident(ruby_errinfo)operator(\);) operator(}) reserved(else) operator({) ident(errat) operator(=) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(EXEC_TAG)operator((\)\)) reserved(goto) ident(error)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(errat)operator(\)\){) ident(ruby_set_current_source)operator((\);) reserved(if) operator(()ident(ruby_sourcefile)operator(\)) ident(warn_printf)operator(()stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(\);) reserved(else) ident(warn_printf)operator(()stringoperator(,) ident(ruby_sourceline)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(RARRAY)operator(()ident(errat)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(error_pos)operator((\);) operator(}) reserved(else) operator({) ident(VALUE) ident(mesg) operator(=) ident(RARRAY)operator(()ident(errat)operator(\)->)ident(ptr)operator([)integer(0)operator(];) reserved(if) operator(()ident(NIL_P)operator(()ident(mesg)operator(\)\)) ident(error_pos)operator((\);) reserved(else) operator({) ident(warn_print2)operator(()ident(RSTRING)operator(()ident(mesg)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(mesg)operator(\)->)ident(len)operator(\);) operator(}) operator(}) ident(eclass) operator(=) ident(CLASS_OF)operator(()ident(ruby_errinfo)operator(\);) reserved(if) operator(()ident(EXEC_TAG)operator((\)) operator(==) integer(0)operator(\)) operator({) ident(e) operator(=) ident(rb_funcall)operator(()ident(ruby_errinfo)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) ident(StringValue)operator(()ident(e)operator(\);) ident(einfo) operator(=) ident(RSTRING)operator(()ident(e)operator(\)->)ident(ptr)operator(;) ident(elen) operator(=) ident(RSTRING)operator(()ident(e)operator(\)->)ident(len)operator(;) operator(}) reserved(else) operator({) ident(einfo) operator(=) stringoperator(;) ident(elen) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(EXEC_TAG)operator((\)\)) reserved(goto) ident(error)operator(;) reserved(if) operator(()ident(eclass) operator(==) ident(rb_eRuntimeError) operator(&&) ident(elen) operator(==) integer(0)operator(\)) operator({) ident(warn_print)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(epath)operator(;) ident(epath) operator(=) ident(rb_class_name)operator(()ident(eclass)operator(\);) reserved(if) operator(()ident(elen) operator(==) integer(0)operator(\)) operator({) ident(warn_print)operator(()stringoperator(\);) ident(warn_print2)operator(()ident(RSTRING)operator(()ident(epath)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(epath)operator(\)->)ident(len)operator(\);) ident(warn_print)operator(()stringoperator(\);) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(tail) operator(=) integer(0)operator(;) pre_type(long) ident(len) operator(=) ident(elen)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(epath)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char('#')operator(\)) ident(epath) operator(=) integer(0)operator(;) reserved(if) operator((()ident(tail) operator(=) ident(memchr)operator(()ident(einfo)operator(,) char('\\n')operator(,) ident(elen)operator(\)\)) operator(!=) integer(0)operator(\)) operator({) ident(len) operator(=) ident(tail) operator(-) ident(einfo)operator(;) ident(tail)operator(++;) comment(/* skip newline */) operator(}) ident(warn_print)operator(()stringoperator(\);) ident(warn_print2)operator(()ident(einfo)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(epath)operator(\)) operator({) ident(warn_print)operator(()stringoperator(\);) ident(warn_print2)operator(()ident(RSTRING)operator(()ident(epath)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(epath)operator(\)->)ident(len)operator(\);) ident(warn_print)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(tail) operator(&&) ident(elen)operator(>)ident(len)operator(+)integer(1)operator(\)) operator({) ident(warn_print2)operator(()ident(tail)operator(,) ident(elen)operator(-)ident(len)operator(-)integer(1)operator(\);) reserved(if) operator(()ident(einfo)operator([)ident(elen)operator(-)integer(1)operator(]) operator(!=) char('\\n')operator(\)) ident(warn_print2)operator(()stringoperator(,) integer(1)operator(\);) operator(}) operator(}) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(errat)operator(\)\)) operator({) pre_type(long) ident(i)operator(;) reserved(struct) ident(RArray) operator(*)ident(ep) operator(=) ident(RARRAY)operator(()ident(errat)operator(\);) preprocessor(#define) ident(TRACE_MAX) operator(()ident(TRACE_HEAD)operator(+)ident(TRACE_TAIL)operator(+)integer(5)operator(\)) preprocessor(#define) ident(TRACE_HEAD) integer(8) preprocessor(#define) ident(TRACE_TAIL) integer(5) ident(ep) operator(=) ident(RARRAY)operator(()ident(errat)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;) ident(i)operator(<)ident(ep)operator(->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(ep)operator(->)ident(ptr)operator([)ident(i)operator(]\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(warn_printf)operator(()stringoperator(,) ident(RSTRING)operator(()ident(ep)operator(->)ident(ptr)operator([)ident(i)operator(]\)->)ident(ptr)operator(\);) operator(}) reserved(if) operator(()ident(i) operator(==) ident(TRACE_HEAD) operator(&&) ident(ep)operator(->)ident(len) operator(>) ident(TRACE_MAX)operator(\)) operator({) ident(warn_printf)operator(()stringoperator(,) ident(ep)operator(->)ident(len) operator(-) ident(TRACE_HEAD) operator(-) ident(TRACE_TAIL)operator(\);) ident(i) operator(=) ident(ep)operator(->)ident(len) operator(-) ident(TRACE_TAIL)operator(;) operator(}) operator(}) operator(}) label(error:) ident(POP_TAG)operator((\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(__APPLE__)operator(\)) preprocessor(#define) ident(environ) operator((*)ident(_NSGetEnviron)operator((\)\)) preprocessor(#elif) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__MACOS__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32_WCE)operator(\)) directive(extern) pre_type(char) operator(**)ident(environ)operator(;) preprocessor(#endif) pre_type(char) operator(**)ident(rb_origenviron)operator(;) directive(void) ident(rb_call_inits) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_stack) ident(_)operator((()ident(VALUE)operator(*\)\);) directive(void) ident(Init_heap) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_ext) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#ifdef) ident(HAVE_NATIVETHREAD) directive(static) ident(rb_nativethread_t) ident(ruby_thid)operator(;) pre_type(int) ident(is_ruby_native_thread)operator((\)) operator({) reserved(return) ident(NATIVETHREAD_EQUAL)operator(()ident(ruby_thid)operator(,) ident(NATIVETHREAD_CURRENT)operator((\)\);) operator(}) preprocessor(# ifdef) ident(HAVE_NATIVETHREAD_KILL) directive(void) ident(ruby_native_thread_kill)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) ident(NATIVETHREAD_KILL)operator(()ident(ruby_thid)operator(,) ident(sig)operator(\);) operator(}) preprocessor(# endif) preprocessor(#endif) directive(void) ident(ruby_init)operator((\)) operator({) directive(static) pre_type(int) ident(initialized) operator(=) integer(0)operator(;) directive(static) reserved(struct) ident(FRAME) ident(frame)operator(;) directive(static) reserved(struct) ident(iter) ident(iter)operator(;) pre_type(int) ident(state)operator(;) reserved(if) operator(()ident(initialized)operator(\)) reserved(return)operator(;) ident(initialized) operator(=) integer(1)operator(;) preprocessor(#ifdef) ident(HAVE_NATIVETHREAD) ident(ruby_thid) operator(=) ident(NATIVETHREAD_CURRENT)operator((\);) preprocessor(#endif) ident(ruby_frame) operator(=) ident(top_frame) operator(=) operator(&)ident(frame)operator(;) ident(ruby_iter) operator(=) operator(&)ident(iter)operator(;) preprocessor(#ifdef) ident(__MACOS__) ident(rb_origenviron) operator(=) integer(0)operator(;) preprocessor(#else) ident(rb_origenviron) operator(=) ident(environ)operator(;) preprocessor(#endif) ident(Init_stack)operator((()directive(void)operator(*\)&)ident(state)operator(\);) ident(Init_heap)operator((\);) ident(PUSH_SCOPE)operator((\);) ident(ruby_scope)operator(->)ident(local_vars) operator(=) integer(0)operator(;) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) integer(0)operator(;) ident(top_scope) operator(=) ident(ruby_scope)operator(;) comment(/* default visibility is private at toplevel */) ident(SCOPE_SET)operator(()ident(SCOPE_PRIVATE)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(rb_call_inits)operator((\);) ident(ruby_class) operator(=) ident(rb_cObject)operator(;) ident(ruby_frame)operator(->)ident(self) operator(=) ident(ruby_top_self)operator(;) ident(ruby_top_cref) operator(=) ident(rb_node_newnode)operator(()ident(NODE_CREF)operator(,)ident(rb_cObject)operator(,)integer(0)operator(,)integer(0)operator(\);) ident(ruby_cref) operator(=) ident(ruby_top_cref)operator(;) ident(rb_define_global_const)operator(()stringoperator(,) ident(rb_f_binding)operator(()ident(ruby_top_self)operator(\)\);) preprocessor(#ifdef) ident(__MACOS__) ident(_macruby_init)operator((\);) preprocessor(#elif) ident(defined)operator(()ident(__VMS)operator(\)) ident(_vmsruby_init)operator((\);) preprocessor(#endif) ident(ruby_prog_init)operator((\);) ident(ALLOW_INTS)operator(;) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) operator({) ident(error_print)operator((\);) ident(exit)operator(()ident(EXIT_FAILURE)operator(\);) operator(}) ident(POP_SCOPE)operator((\);) ident(ruby_scope) operator(=) ident(top_scope)operator(;) ident(top_scope)operator(->)ident(flags) operator(&=) operator(~)ident(SCOPE_NOSTACK)operator(;) ident(ruby_running) operator(=) integer(1)operator(;) operator(}) directive(static) ident(VALUE) ident(eval_node)operator(()ident(self)operator(,) ident(node)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(node)operator(;) operator({) ident(NODE) operator(*)ident(beg_tree) operator(=) ident(ruby_eval_tree_begin)operator(;) ident(ruby_eval_tree_begin) operator(=) integer(0)operator(;) reserved(if) operator(()ident(beg_tree)operator(\)) operator({) ident(rb_eval)operator(()ident(self)operator(,) ident(beg_tree)operator(\);) operator(}) reserved(if) operator((!)ident(node)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(\);) operator(}) pre_type(int) ident(ruby_in_eval)operator(;) directive(static) directive(void) ident(rb_thread_cleanup) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(void) ident(rb_thread_wait_other_threads) ident(_)operator((()directive(void)operator(\)\);) directive(static) pre_type(int) ident(thread_no_ensure) ident(_)operator((()directive(void)operator(\)\);) directive(static) ident(VALUE) ident(exception_error)operator(;) directive(static) ident(VALUE) ident(sysstack_error)operator(;) directive(static) pre_type(int) ident(sysexit_status)operator(()ident(err)operator(\)) ident(VALUE) ident(err)operator(;) operator({) ident(VALUE) ident(st) operator(=) ident(rb_iv_get)operator(()ident(err)operator(,) stringoperator(\);) reserved(return) ident(NUM2INT)operator(()ident(st)operator(\);) operator(}) directive(static) pre_type(int) ident(error_handle)operator(()ident(ex)operator(\)) pre_type(int) ident(ex)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(EXIT_FAILURE)operator(;) ident(rb_thread_t) ident(th) operator(=) ident(curr_thread)operator(;) reserved(if) operator(()ident(rb_thread_set_raised)operator(()ident(th)operator(\)\)) reserved(return) ident(EXIT_FAILURE)operator(;) reserved(switch) operator(()ident(ex) operator(&) ident(TAG_MASK)operator(\)) operator({) reserved(case) integer(0)operator(:) ident(status) operator(=) ident(EXIT_SUCCESS)operator(;) reserved(break)operator(;) reserved(case) ident(TAG_RETURN)operator(:) ident(error_pos)operator((\);) ident(warn_print)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_NEXT)operator(:) ident(error_pos)operator((\);) ident(warn_print)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_BREAK)operator(:) ident(error_pos)operator((\);) ident(warn_print)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_REDO)operator(:) ident(error_pos)operator((\);) ident(warn_print)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_RETRY)operator(:) ident(error_pos)operator((\);) ident(warn_print)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_THROW)operator(:) reserved(if) operator(()ident(prot_tag) operator(&&) ident(prot_tag)operator(->)ident(frame) operator(&&) ident(prot_tag)operator(->)ident(frame)operator(->)ident(node)operator(\)) operator({) ident(NODE) operator(*)ident(tag) operator(=) ident(prot_tag)operator(->)ident(frame)operator(->)ident(node)operator(;) ident(warn_printf)operator(()stringoperator(,) ident(tag)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(tag)operator(\)\);) operator(}) reserved(else) operator({) ident(error_pos)operator((\);) ident(warn_printf)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TAG_RAISE)operator(:) reserved(case) ident(TAG_FATAL)operator(:) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(ruby_errinfo)operator(,) ident(rb_eSystemExit)operator(\)\)) operator({) ident(status) operator(=) ident(sysexit_status)operator(()ident(ruby_errinfo)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(rb_obj_is_instance_of)operator(()ident(ruby_errinfo)operator(,) ident(rb_eSignal)operator(\)\)) operator({) comment(/* no message when exiting by signal */) operator(}) reserved(else) operator({) ident(error_print)operator((\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(,) ident(ex)operator(\);) reserved(break)operator(;) operator(}) ident(rb_thread_reset_raised)operator(()ident(th)operator(\);) reserved(return) ident(status)operator(;) operator(}) directive(void) ident(ruby_options)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) pre_type(char) operator(**)ident(argv)operator(;) operator({) pre_type(int) ident(state)operator(;) ident(Init_stack)operator((()directive(void)operator(*\)&)ident(state)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(ruby_process_options)operator(()ident(argc)operator(,) ident(argv)operator(\);) operator(}) reserved(else) operator({) ident(trace_func) operator(=) integer(0)operator(;) ident(tracing) operator(=) integer(0)operator(;) ident(exit)operator(()ident(error_handle)operator(()ident(state)operator(\)\);) operator(}) ident(POP_TAG)operator((\);) operator(}) directive(void) ident(rb_exec_end_proc) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(void) ident(ruby_finalize_0)operator((\)) operator({) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator(()ident(EXEC_TAG)operator((\)) operator(==) integer(0)operator(\)) operator({) ident(rb_trap_exit)operator((\);) operator(}) ident(POP_TAG)operator((\);) ident(rb_exec_end_proc)operator((\);) operator(}) directive(static) directive(void) ident(ruby_finalize_1)operator((\)) operator({) ident(signal)operator(()ident(SIGINT)operator(,) ident(SIG_DFL)operator(\);) ident(ruby_errinfo) operator(=) integer(0)operator(;) ident(rb_gc_call_finalizer_at_exit)operator((\);) ident(trace_func) operator(=) integer(0)operator(;) ident(tracing) operator(=) integer(0)operator(;) operator(}) directive(void) ident(ruby_finalize)operator((\)) operator({) ident(ruby_finalize_0)operator((\);) ident(ruby_finalize_1)operator((\);) operator(}) pre_type(int) ident(ruby_cleanup)operator(()ident(ex)operator(\)) pre_type(int) ident(ex)operator(;) operator({) pre_type(int) ident(state)operator(;) directive(volatile) ident(VALUE) ident(errs)operator([)integer(2)operator(];) pre_type(int) ident(nerr)operator(;) ident(errs)operator([)integer(1)operator(]) operator(=) ident(ruby_errinfo)operator(;) ident(ruby_safe_level) operator(=) integer(0)operator(;) ident(Init_stack)operator((()directive(void) operator(*\)&)ident(state)operator(\);) ident(ruby_finalize_0)operator((\);) ident(errs)operator([)integer(0)operator(]) operator(=) ident(ruby_errinfo)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(rb_thread_cleanup)operator((\);) ident(rb_thread_wait_other_threads)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(ex) operator(==) integer(0)operator(\)) operator({) ident(ex) operator(=) ident(state)operator(;) operator(}) ident(POP_ITER)operator((\);) ident(ruby_errinfo) operator(=) ident(errs)operator([)integer(1)operator(];) ident(ex) operator(=) ident(error_handle)operator(()ident(ex)operator(\);) ident(ruby_finalize_1)operator((\);) ident(POP_TAG)operator((\);) reserved(for) operator(()ident(nerr) operator(=) integer(0)operator(;) ident(nerr) operator(<) reserved(sizeof)operator(()ident(errs)operator(\)) operator(/) reserved(sizeof)operator(()ident(errs)operator([)integer(0)operator(]\);) operator(++)ident(nerr)operator(\)) operator({) ident(VALUE) ident(err) operator(=) ident(errs)operator([)ident(nerr)operator(];) reserved(if) operator((!)ident(RTEST)operator(()ident(err)operator(\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(err)operator(,) ident(rb_eSystemExit)operator(\)\)) operator({) reserved(return) ident(sysexit_status)operator(()ident(err)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(err)operator(,) ident(rb_eSignal)operator(\)\)) operator({) ident(VALUE) ident(sig) operator(=) ident(rb_iv_get)operator(()ident(err)operator(,) stringoperator(\);) ident(ruby_default_signal)operator(()ident(NUM2INT)operator(()ident(sig)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(ex) operator(==) integer(0)operator(\)) operator({) ident(ex) operator(=) integer(1)operator(;) operator(}) operator(}) preprocessor(#if) ident(EXIT_SUCCESS) operator(!=) integer(0) operator(||) ident(EXIT_FAILURE) operator(!=) integer(1) reserved(switch) operator(()ident(ex)operator(\)) operator({) preprocessor(#if) ident(EXIT_SUCCESS) operator(!=) integer(0) reserved(case) integer(0)operator(:) reserved(return) ident(EXIT_SUCCESS)operator(;) preprocessor(#endif) preprocessor(#if) ident(EXIT_FAILURE) operator(!=) integer(1) reserved(case) integer(1)operator(:) reserved(return) ident(EXIT_FAILURE)operator(;) preprocessor(#endif) operator(}) preprocessor(#endif) reserved(return) ident(ex)operator(;) operator(}) directive(static) pre_type(int) ident(ruby_exec_internal)operator((\)) operator({) pre_type(int) ident(state)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) comment(/* default visibility is private at toplevel */) ident(SCOPE_SET)operator(()ident(SCOPE_PRIVATE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(eval_node)operator(()ident(ruby_top_self)operator(,) ident(ruby_eval_tree)operator(\);) operator(}) ident(POP_ITER)operator((\);) ident(POP_TAG)operator((\);) reserved(return) ident(state)operator(;) operator(}) directive(void) ident(ruby_stop)operator(()ident(ex)operator(\)) pre_type(int) ident(ex)operator(;) operator({) ident(exit)operator(()ident(ruby_cleanup)operator(()ident(ex)operator(\)\);) operator(}) pre_type(int) ident(ruby_exec)operator((\)) operator({) directive(volatile) ident(NODE) operator(*)ident(tmp)operator(;) ident(Init_stack)operator((()directive(void)operator(*\)&)ident(tmp)operator(\);) reserved(return) ident(ruby_exec_internal)operator((\);) operator(}) directive(void) ident(ruby_run)operator((\)) operator({) pre_type(int) ident(state)operator(;) directive(static) pre_type(int) ident(ex)operator(;) reserved(if) operator(()ident(ruby_nerrs) operator(>) integer(0)operator(\)) ident(exit)operator(()ident(EXIT_FAILURE)operator(\);) ident(state) operator(=) ident(ruby_exec)operator((\);) reserved(if) operator(()ident(state) operator(&&) operator(!)ident(ex)operator(\)) ident(ex) operator(=) ident(state)operator(;) ident(ruby_stop)operator(()ident(ex)operator(\);) operator(}) directive(static) directive(void) ident(compile_error)operator(()ident(at)operator(\)) directive(const) pre_type(char) operator(*)ident(at)operator(;) operator({) ident(VALUE) ident(str)operator(;) ident(ruby_nerrs) operator(=) integer(0)operator(;) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) reserved(if) operator(()ident(at)operator(\)) operator({) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(at)operator(\);) operator(}) ident(rb_str_buf_cat)operator(()ident(str)operator(,) stringoperator(,) integer(1)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) operator({) ident(rb_str_append)operator(()ident(str)operator(,) ident(rb_obj_as_string)operator(()ident(ruby_errinfo)operator(\)\);) operator(}) ident(rb_exc_raise)operator(()ident(rb_exc_new3)operator(()ident(rb_eSyntaxError)operator(,) ident(str)operator(\)\);) operator(}) ident(VALUE) ident(rb_eval_string)operator(()ident(str)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) operator({) ident(VALUE) ident(v)operator(;) ident(NODE) operator(*)ident(oldsrc) operator(=) ident(ruby_current_node)operator(;) ident(ruby_current_node) operator(=) integer(0)operator(;) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()stringoperator(\);) ident(v) operator(=) ident(eval)operator(()ident(ruby_top_self)operator(,) ident(rb_str_new2)operator(()ident(str)operator(\),) ident(Qnil)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(ruby_current_node) operator(=) ident(oldsrc)operator(;) reserved(return) ident(v)operator(;) operator(}) ident(VALUE) ident(rb_eval_string_protect)operator(()ident(str)operator(,) ident(state)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) operator(*)ident(state)operator(;) operator({) reserved(return) ident(rb_protect)operator((()ident(VALUE) operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(rb_eval_string)operator(,) operator(()ident(VALUE)operator(\))ident(str)operator(,) ident(state)operator(\);) operator(}) ident(VALUE) ident(rb_eval_string_wrap)operator(()ident(str)operator(,) ident(state)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) operator(*)ident(state)operator(;) operator({) pre_type(int) ident(status)operator(;) ident(VALUE) ident(self) operator(=) ident(ruby_top_self)operator(;) ident(VALUE) ident(wrapper) operator(=) ident(ruby_wrapper)operator(;) ident(VALUE) ident(val)operator(;) ident(PUSH_CLASS)operator(()ident(ruby_wrapper) operator(=) ident(rb_module_new)operator((\)\);) ident(ruby_top_self) operator(=) ident(rb_obj_clone)operator(()ident(ruby_top_self)operator(\);) ident(rb_extend_object)operator(()ident(ruby_top_self)operator(,) ident(ruby_wrapper)operator(\);) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_class) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(self) operator(=) ident(self)operator(;) ident(PUSH_CREF)operator(()ident(ruby_wrapper)operator(\);) ident(PUSH_SCOPE)operator((\);) ident(val) operator(=) ident(rb_eval_string_protect)operator(()ident(str)operator(,) operator(&)ident(status)operator(\);) ident(ruby_top_self) operator(=) ident(self)operator(;) ident(POP_SCOPE)operator((\);) ident(POP_FRAME)operator((\);) ident(POP_CLASS)operator((\);) ident(ruby_wrapper) operator(=) ident(wrapper)operator(;) reserved(if) operator(()ident(state)operator(\)) operator({) operator(*)ident(state) operator(=) ident(status)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(status)operator(\)) operator({) ident(JUMP_TAG)operator(()ident(status)operator(\);) operator(}) reserved(return) ident(val)operator(;) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(localjump_error)operator(()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) directive(static) directive(void) ident(localjump_error)operator(()ident(mesg)operator(,) ident(value)operator(,) ident(reason)operator(\)) directive(const) pre_type(char) operator(*)ident(mesg)operator(;) ident(VALUE) ident(value)operator(;) pre_type(int) ident(reason)operator(;) operator({) ident(VALUE) ident(exc) operator(=) ident(rb_exc_new2)operator(()ident(rb_eLocalJumpError)operator(,) ident(mesg)operator(\);) ident(ID) ident(id)operator(;) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(value)operator(\);) reserved(switch) operator(()ident(reason)operator(\)) operator({) reserved(case) ident(TAG_BREAK)operator(:) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_REDO)operator(:) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_RETRY)operator(:) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_NEXT)operator(:) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(TAG_RETURN)operator(:) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(break)operator(;) operator(}) ident(rb_iv_set)operator(()ident(exc)operator(,) stringoperator(,) ident(ID2SYM)operator(()ident(id)operator(\)\);) ident(rb_exc_raise)operator(()ident(exc)operator(\);) operator(}) comment(/* * call_seq: * local_jump_error.exit_value => obj * * Returns the exit value associated with this +LocalJumpError+. */) directive(static) ident(VALUE) ident(localjump_xvalue)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) reserved(return) ident(rb_iv_get)operator(()ident(exc)operator(,) stringoperator(\);) operator(}) comment(/* * call-seq: * local_jump_error.reason => symbol * * The reason this block was terminated: * :break, :redo, :retry, :next, :return, or :noreason. */) directive(static) ident(VALUE) ident(localjump_reason)operator(()ident(exc)operator(\)) ident(VALUE) ident(exc)operator(;) operator({) reserved(return) ident(rb_iv_get)operator(()ident(exc)operator(,) stringoperator(\);) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(jump_tag_but_local_jump) ident(_)operator((()pre_type(int)operator(,)ident(VALUE)operator(\)\)\);) directive(static) directive(void) ident(jump_tag_but_local_jump)operator(()ident(state)operator(,) ident(val)operator(\)) pre_type(int) ident(state)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(val) operator(==) ident(Qundef)operator(\)) ident(val) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(case) ident(TAG_RETURN)operator(:) ident(localjump_error)operator(()stringoperator(,) ident(val)operator(,) ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_BREAK)operator(:) ident(localjump_error)operator(()stringoperator(,) ident(val)operator(,) ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_NEXT)operator(:) ident(localjump_error)operator(()stringoperator(,) ident(val)operator(,) ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_REDO)operator(:) ident(localjump_error)operator(()stringoperator(,) ident(Qnil)operator(,) ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_RETRY)operator(:) ident(localjump_error)operator(()stringoperator(,) ident(Qnil)operator(,) ident(state)operator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) ident(VALUE) ident(rb_eval_cmd)operator(()ident(cmd)operator(,) ident(arg)operator(,) ident(level)operator(\)) ident(VALUE) ident(cmd)operator(,) ident(arg)operator(;) pre_type(int) ident(level)operator(;) operator({) pre_type(int) ident(state)operator(;) ident(VALUE) ident(val) operator(=) ident(Qnil)operator(;) comment(/* OK */) reserved(struct) ident(SCOPE) operator(*)ident(saved_scope)operator(;) directive(volatile) pre_type(int) ident(safe) operator(=) ident(ruby_safe_level)operator(;) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(cmd)operator(\)\)) operator({) ident(level) operator(=) integer(4)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(cmd)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) ident(ruby_safe_level) operator(=) ident(level)operator(;) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(val) operator(=) ident(rb_funcall2)operator(()ident(cmd)operator(,) ident(rb_intern)operator(()stringoperator(\),) ident(RARRAY)operator(()ident(arg)operator(\)->)ident(len)operator(,) ident(RARRAY)operator(()ident(arg)operator(\)->)ident(ptr)operator(\);) operator(}) ident(ruby_safe_level) operator(=) ident(safe)operator(;) ident(POP_TAG)operator((\);) ident(POP_ITER)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(return) ident(val)operator(;) operator(}) ident(saved_scope) operator(=) ident(ruby_scope)operator(;) ident(ruby_scope) operator(=) ident(top_scope)operator(;) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_class) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(self) operator(=) ident(ruby_top_self)operator(;) ident(PUSH_CREF)operator(()ident(ruby_wrapper) operator(?) ident(ruby_wrapper) operator(:) ident(rb_cObject)operator(\);) ident(ruby_safe_level) operator(=) ident(level)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(val) operator(=) ident(eval)operator(()ident(ruby_top_self)operator(,) ident(cmd)operator(,) ident(Qnil)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_DONT_RECYCLE)operator(\)) ident(scope_dup)operator(()ident(saved_scope)operator(\);) ident(ruby_scope) operator(=) ident(saved_scope)operator(;) ident(ruby_safe_level) operator(=) ident(safe)operator(;) ident(POP_TAG)operator((\);) ident(POP_FRAME)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(jump_tag_but_local_jump)operator(()ident(state)operator(,) ident(val)operator(\);) reserved(return) ident(val)operator(;) operator(}) preprocessor(#define) ident(ruby_cbase) operator(()ident(ruby_cref)operator(->)ident(nd_clss)operator(\)) directive(static) ident(VALUE) ident(ev_const_defined)operator(()ident(cref)operator(,) ident(id)operator(,) ident(self)operator(\)) ident(NODE) operator(*)ident(cref)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(NODE) operator(*)ident(cbase) operator(=) ident(cref)operator(;) ident(VALUE) ident(result)operator(;) reserved(while) operator(()ident(cbase) operator(&&) ident(cbase)operator(->)ident(nd_next)operator(\)) operator({) reserved(struct) ident(RClass) operator(*)ident(klass) operator(=) ident(RCLASS)operator(()ident(cbase)operator(->)ident(nd_clss)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(klass)operator(\)\)) operator({) reserved(if) operator(()ident(klass)operator(->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(klass)operator(->)ident(iv_tbl)operator(,) ident(id)operator(,) operator(&)ident(result)operator(\)\)) operator({) reserved(if) operator(()ident(result) operator(==) ident(Qundef) operator(&&) ident(NIL_P)operator(()ident(rb_autoload_p)operator((()ident(VALUE)operator(\))ident(klass)operator(,) ident(id)operator(\)\)\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) ident(cbase) operator(=) ident(cbase)operator(->)ident(nd_next)operator(;) operator(}) reserved(return) ident(rb_const_defined)operator(()ident(cref)operator(->)ident(nd_clss)operator(,) ident(id)operator(\);) operator(}) directive(static) ident(VALUE) ident(ev_const_get)operator(()ident(cref)operator(,) ident(id)operator(,) ident(self)operator(\)) ident(NODE) operator(*)ident(cref)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(NODE) operator(*)ident(cbase) operator(=) ident(cref)operator(;) ident(VALUE) ident(result)operator(;) reserved(while) operator(()ident(cbase) operator(&&) ident(cbase)operator(->)ident(nd_next)operator(\)) operator({) ident(VALUE) ident(klass) operator(=) ident(cbase)operator(->)ident(nd_clss)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(klass)operator(\)\)) operator({) reserved(while) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) operator(&)ident(result)operator(\)\)) operator({) reserved(if) operator(()ident(result) operator(==) ident(Qundef)operator(\)) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(rb_autoload_load)operator(()ident(klass)operator(,) ident(id)operator(\)\)\)) reserved(break)operator(;) reserved(continue)operator(;) operator(}) reserved(return) ident(result)operator(;) operator(}) operator(}) ident(cbase) operator(=) ident(cbase)operator(->)ident(nd_next)operator(;) operator(}) reserved(return) ident(rb_const_get)operator(()ident(NIL_P)operator(()ident(cref)operator(->)ident(nd_clss)operator(\)) operator(?) ident(CLASS_OF)operator(()ident(self)operator(\):) ident(cref)operator(->)ident(nd_clss)operator(,) ident(id)operator(\);) operator(}) directive(static) ident(VALUE) ident(cvar_cbase)operator((\)) operator({) ident(NODE) operator(*)ident(cref) operator(=) ident(ruby_cref)operator(;) reserved(while) operator(()ident(cref) operator(&&) ident(cref)operator(->)ident(nd_next) operator(&&) operator(()ident(NIL_P)operator(()ident(cref)operator(->)ident(nd_clss)operator(\)) operator(||) ident(FL_TEST)operator(()ident(cref)operator(->)ident(nd_clss)operator(,) ident(FL_SINGLETON)operator(\)\)\)) operator({) ident(cref) operator(=) ident(cref)operator(->)ident(nd_next)operator(;) reserved(if) operator((!)ident(cref)operator(->)ident(nd_next)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(cref)operator(->)ident(nd_clss)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(cref)operator(->)ident(nd_clss)operator(;) operator(}) comment(/* * call-seq: * Module.nesting => array * * Returns the list of +Modules+ nested at the point of call. * * module M1 * module M2 * $a = Module.nesting * end * end * $a #=> [M1::M2, M1] * $a[0].name #=> "M1::M2" */) directive(static) ident(VALUE) ident(rb_mod_nesting)operator((\)) operator({) ident(NODE) operator(*)ident(cbase) operator(=) ident(ruby_cref)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(while) operator(()ident(cbase) operator(&&) ident(cbase)operator(->)ident(nd_next)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(cbase)operator(->)ident(nd_clss)operator(\)\)) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(cbase)operator(->)ident(nd_clss)operator(\);) ident(cbase) operator(=) ident(cbase)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator(()ident(ruby_wrapper) operator(&&) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ruby_wrapper)operator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * Module.constants => array * * Returns an array of the names of all constants defined in the * system. This list includes the names of all modules and classes. * * p Module.constants.sort[1..5] * * produces: * * ["ARGV", "ArgumentError", "Array", "Bignum", "Binding"] */) directive(static) ident(VALUE) ident(rb_mod_s_constants)operator((\)) operator({) ident(NODE) operator(*)ident(cbase) operator(=) ident(ruby_cref)operator(;) directive(void) operator(*)ident(data) operator(=) integer(0)operator(;) reserved(while) operator(()ident(cbase)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(cbase)operator(->)ident(nd_clss)operator(\)\)) operator({) ident(data) operator(=) ident(rb_mod_const_at)operator(()ident(cbase)operator(->)ident(nd_clss)operator(,) ident(data)operator(\);) operator(}) ident(cbase) operator(=) ident(cbase)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(ruby_cbase)operator(\)\)) operator({) ident(data) operator(=) ident(rb_mod_const_of)operator(()ident(ruby_cbase)operator(,) ident(data)operator(\);) operator(}) reserved(return) ident(rb_const_list)operator(()ident(data)operator(\);) operator(}) directive(void) ident(rb_frozen_class_p)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) pre_type(char) operator(*)ident(desc) operator(=) stringoperator(;) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(klass)operator(\)\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) ident(desc) operator(=) stringoperator(;) reserved(else) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(klass)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_ICLASS)operator(:) ident(desc) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(T_CLASS)operator(:) ident(desc) operator(=) stringoperator(;) reserved(break)operator(;) operator(}) operator(}) ident(rb_error_frozen)operator(()ident(desc)operator(\);) operator(}) operator(}) directive(void) ident(rb_undef)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(origin)operator(;) ident(NODE) operator(*)ident(body)operator(;) reserved(if) operator(()ident(ruby_cbase) operator(==) ident(rb_cObject) operator(&&) ident(klass) operator(==) ident(rb_cObject)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(klass)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(rb_frozen_class_p)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(id) operator(==) ident(__id__) operator(||) ident(id) operator(==) ident(__send__) operator(||) ident(id) operator(==) ident(init)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(body) operator(=) ident(search_method)operator(()ident(klass)operator(,) ident(id)operator(,) operator(&)ident(origin)operator(\);) reserved(if) operator((!)ident(body) operator(||) operator(!)ident(body)operator(->)ident(nd_body)operator(\)) operator({) pre_type(char) operator(*)ident(s0) operator(=) stringoperator(;) ident(VALUE) ident(c) operator(=) ident(klass)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(c)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(VALUE) ident(obj) operator(=) ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) ident(c) operator(=) ident(obj)operator(;) ident(s0) operator(=) stringoperator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(c)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(s0) operator(=) stringoperator(;) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),)ident(s0)operator(,)ident(rb_class2name)operator(()ident(c)operator(\)\);) operator(}) ident(rb_add_method)operator(()ident(klass)operator(,) ident(id)operator(,) integer(0)operator(,) ident(NOEX_PUBLIC)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_funcall)operator(()ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\),) ident(singleton_undefined)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(id)operator(\)\);) operator(}) reserved(else) operator({) ident(rb_funcall)operator(()ident(klass)operator(,) ident(undefined)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(id)operator(\)\);) operator(}) operator(}) comment(/* * call-seq: * undef_method(symbol\) => self * * Prevents the current class from responding to calls to the named * method. Contrast this with remove_method, which deletes * the method from the particular class; Ruby will still search * superclasses and mixed-in modules for a possible receiver. * * class Parent * def hello * puts "In parent" * end * end * class Child < Parent * def hello * puts "In child" * end * end * * * c = Child.new * c.hello * * * class Child * remove_method :hello # remove from child, still in parent * end * c.hello * * * class Child * undef_method :hello # prevent any calls to 'hello' * end * c.hello * * produces: * * In child * In parent * prog.rb:23: undefined method `hello' for # (NoMethodError\) */) directive(static) ident(VALUE) ident(rb_mod_undef_method)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_undef)operator(()ident(mod)operator(,) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\)\);) operator(}) reserved(return) ident(mod)operator(;) operator(}) directive(void) ident(rb_alias)operator(()ident(klass)operator(,) ident(name)operator(,) ident(def)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(name)operator(,) ident(def)operator(;) operator({) ident(VALUE) ident(origin)operator(;) ident(NODE) operator(*)ident(orig)operator(,) operator(*)ident(body)operator(,) operator(*)ident(node)operator(;) ident(VALUE) ident(singleton) operator(=) integer(0)operator(;) ident(st_data_t) ident(data)operator(;) ident(rb_frozen_class_p)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(name) operator(==) ident(def)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(klass) operator(==) ident(rb_cObject)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) ident(orig) operator(=) ident(search_method)operator(()ident(klass)operator(,) ident(def)operator(,) operator(&)ident(origin)operator(\);) reserved(if) operator((!)ident(orig) operator(||) operator(!)ident(orig)operator(->)ident(nd_body)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(orig) operator(=) ident(search_method)operator(()ident(rb_cObject)operator(,) ident(def)operator(,) operator(&)ident(origin)operator(\);) operator(}) operator(}) reserved(if) operator((!)ident(orig) operator(||) operator(!)ident(orig)operator(->)ident(nd_body)operator(\)) operator({) ident(print_undef)operator(()ident(klass)operator(,) ident(def)operator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(singleton) operator(=) ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) operator(}) ident(body) operator(=) ident(orig)operator(->)ident(nd_body)operator(;) ident(orig)operator(->)ident(nd_cnt)operator(++;) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_FBODY)operator(\)) operator({) comment(/* was alias */) ident(def) operator(=) ident(body)operator(->)ident(nd_mid)operator(;) ident(origin) operator(=) ident(body)operator(->)ident(nd_orig)operator(;) ident(body) operator(=) ident(body)operator(->)ident(nd_head)operator(;) operator(}) ident(rb_clear_cache_by_id)operator(()ident(name)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(name)operator(,) operator(&)ident(data)operator(\)\)) operator({) ident(node) operator(=) operator(()ident(NODE) operator(*\))ident(data)operator(;) reserved(if) operator(()ident(node)operator(->)ident(nd_cnt) operator(==) integer(0) operator(&&) ident(node)operator(->)ident(nd_body)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(name)operator(\)\);) operator(}) operator(}) ident(st_insert)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(name)operator(,) operator(()ident(st_data_t)operator(\))ident(NEW_METHOD)operator(()ident(NEW_FBODY)operator(()ident(body)operator(,) ident(def)operator(,) ident(origin)operator(\),) ident(NOEX_WITH_SAFE)operator(()ident(orig)operator(->)ident(nd_noex)operator(\)\)\);) reserved(if) operator((!)ident(ruby_running)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(singleton)operator(\)) operator({) ident(rb_funcall)operator(()ident(singleton)operator(,) ident(singleton_added)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(name)operator(\)\);) operator(}) reserved(else) operator({) ident(rb_funcall)operator(()ident(klass)operator(,) ident(added)operator(,) integer(1)operator(,) ident(ID2SYM)operator(()ident(name)operator(\)\);) operator(}) operator(}) comment(/* * call-seq: * alias_method(new_name, old_name\) => self * * Makes new_name a new copy of the method old_name. This can * be used to retain access to methods that are overridden. * * module Mod * alias_method :orig_exit, :exit * def exit(code=0\) * puts "Exiting with code #{code}" * orig_exit(code\) * end * end * include Mod * exit(99\) * * produces: * * Exiting with code 99 */) directive(static) ident(VALUE) ident(rb_mod_alias_method)operator(()ident(mod)operator(,) ident(newname)operator(,) ident(oldname)operator(\)) ident(VALUE) ident(mod)operator(,) ident(newname)operator(,) ident(oldname)operator(;) operator({) ident(rb_alias)operator(()ident(mod)operator(,) ident(rb_to_id)operator(()ident(newname)operator(\),) ident(rb_to_id)operator(()ident(oldname)operator(\)\);) reserved(return) ident(mod)operator(;) operator(}) ident(NODE) operator(*) ident(rb_copy_node_scope)operator(()ident(node)operator(,) ident(rval)operator(\)) ident(NODE) operator(*)ident(node)operator(;) ident(NODE) operator(*)ident(rval)operator(;) operator({) ident(NODE) operator(*)ident(copy) operator(=) ident(NEW_NODE)operator(()ident(NODE_SCOPE)operator(,)integer(0)operator(,)ident(rval)operator(,)ident(node)operator(->)ident(nd_next)operator(\);) reserved(if) operator(()ident(node)operator(->)ident(nd_tbl)operator(\)) operator({) ident(copy)operator(->)ident(nd_tbl) operator(=) ident(ALLOC_N)operator(()ident(ID)operator(,) ident(node)operator(->)ident(nd_tbl)operator([)integer(0)operator(]+)integer(1)operator(\);) ident(MEMCPY)operator(()ident(copy)operator(->)ident(nd_tbl)operator(,) ident(node)operator(->)ident(nd_tbl)operator(,) ident(ID)operator(,) ident(node)operator(->)ident(nd_tbl)operator([)integer(0)operator(]+)integer(1)operator(\);) operator(}) reserved(else) operator({) ident(copy)operator(->)ident(nd_tbl) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(copy)operator(;) operator(}) preprocessor(#ifdef) ident(C_ALLOCA) preprocessor(# define) ident(TMP_PROTECT) ident(NODE) operator(*) directive(volatile) ident(tmp__protect_tmp)operator(=)integer(0) preprocessor(# define) ident(TMP_ALLOC)operator(()ident(n)operator(\)) \ operator(()ident(tmp__protect_tmp) operator(=) ident(NEW_NODE)operator(()ident(NODE_ALLOCA)operator(,) \ ident(ALLOC_N)operator(()ident(VALUE)operator(,)ident(n)operator(\),)ident(tmp__protect_tmp)operator(,)ident(n)operator(\),) \ operator(()directive(void)operator(*\))ident(tmp__protect_tmp)operator(->)ident(nd_head)operator(\)) preprocessor(#else) preprocessor(# define) ident(TMP_PROTECT) reserved(typedef) pre_type(int) ident(foobazzz) preprocessor(# define) ident(TMP_ALLOC)operator(()ident(n)operator(\)) ident(ALLOCA_N)operator(()ident(VALUE)operator(,)ident(n)operator(\)) preprocessor(#endif) preprocessor(#define) ident(SETUP_ARGS0)operator(()ident(anode)operator(,)ident(extra)operator(\)) reserved(do) operator({)\ ident(NODE) operator(*)ident(n) operator(=) ident(anode)operator(;)\ reserved(if) operator((!)ident(n)operator(\)) operator({)\ ident(argc) operator(=) integer(0)operator(;)\ ident(argv) operator(=) integer(0)operator(;)\ operator(})\ reserved(else) reserved(if) operator(()ident(nd_type)operator(()ident(n)operator(\)) operator(==) ident(NODE_ARRAY)operator(\)) operator({)\ ident(argc)operator(=)ident(anode)operator(->)ident(nd_alen)operator(;)\ reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({)\ pre_type(int) ident(i)operator(;)\ ident(n) operator(=) ident(anode)operator(;)\ ident(argv) operator(=) ident(TMP_ALLOC)operator(()ident(argc)operator(+)ident(extra)operator(\);)\ reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(argc)operator(;)ident(i)operator(++\)) operator({)\ ident(argv)operator([)ident(i)operator(]) operator(=) ident(rb_eval)operator(()ident(self)operator(,)ident(n)operator(->)ident(nd_head)operator(\);)\ ident(n)operator(=)ident(n)operator(->)ident(nd_next)operator(;)\ operator(})\ operator(})\ reserved(else) operator({)\ ident(argc) operator(=) integer(0)operator(;)\ ident(argv) operator(=) integer(0)operator(;)\ operator(})\ operator(})\ reserved(else) operator({)\ ident(VALUE) ident(args) operator(=) ident(rb_eval)operator(()ident(self)operator(,)ident(n)operator(\);)\ reserved(if) operator(()ident(TYPE)operator(()ident(args)operator(\)) operator(!=) ident(T_ARRAY)operator(\))\ ident(args) operator(=) ident(rb_ary_to_ary)operator(()ident(args)operator(\);)\ ident(argc) operator(=) ident(RARRAY)operator(()ident(args)operator(\)->)ident(len)operator(;)\ ident(argv) operator(=) ident(TMP_ALLOC)operator(()ident(argc)operator(+)ident(extra)operator(\);)\ ident(MEMCPY)operator(()ident(argv)operator(,) ident(RARRAY)operator(()ident(args)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(SETUP_ARGS)operator(()ident(anode)operator(\)) ident(SETUP_ARGS0)operator(()ident(anode)operator(,)integer(0)operator(\)) preprocessor(#define) ident(BEGIN_CALLARGS) reserved(do) operator({)\ reserved(struct) ident(BLOCK) operator(*)ident(tmp_block) operator(=) ident(ruby_block)operator(;)\ pre_type(int) ident(tmp_iter) operator(=) ident(ruby_iter)operator(->)ident(iter)operator(;)\ reserved(switch) operator(()ident(tmp_iter)operator(\)) operator({)\ reserved(case) ident(ITER_PRE)operator(:)\ reserved(if) operator(()ident(ruby_block)operator(\)) ident(ruby_block) operator(=) ident(ruby_block)operator(->)ident(outer)operator(;)\ reserved(case) ident(ITER_PAS)operator(:)\ ident(tmp_iter) operator(=) ident(ITER_NOT)operator(;)\ operator(})\ ident(PUSH_ITER)operator(()ident(tmp_iter)operator(\)) preprocessor(#define) ident(END_CALLARGS) \ ident(ruby_block) operator(=) ident(tmp_block)operator(;)\ ident(POP_ITER)operator((\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(MATCH_DATA) operator(*)ident(rb_svar)operator(()ident(node)operator(->)ident(nd_cnt)operator(\)) directive(static) pre_type(char)operator(*) ident(is_defined) ident(_)operator((()ident(VALUE)operator(,) ident(NODE)operator(*,) pre_type(char)operator(*\)\);) directive(static) pre_type(char)operator(*) ident(arg_defined)operator(()ident(self)operator(,) ident(node)operator(,) ident(buf)operator(,) ident(type)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(node)operator(;) pre_type(char) operator(*)ident(buf)operator(;) pre_type(char) operator(*)ident(type)operator(;) operator({) pre_type(int) ident(argc)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator((!)ident(node)operator(\)) reserved(return) ident(type)operator(;) comment(/* no args */) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_ARRAY)operator(\)) operator({) ident(argc)operator(=)ident(node)operator(->)ident(nd_alen)operator(;) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(argc)operator(;)ident(i)operator(++\)) operator({) reserved(if) operator((!)ident(is_defined)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(,) ident(buf)operator(\)\)) reserved(return) integer(0)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) operator(}) operator(}) operator(}) reserved(else) reserved(if) operator((!)ident(is_defined)operator(()ident(self)operator(,) ident(node)operator(,) ident(buf)operator(\)\)) operator({) reserved(return) integer(0)operator(;) operator(}) reserved(return) ident(type)operator(;) operator(}) directive(static) pre_type(char)operator(*) ident(is_defined)operator(()ident(self)operator(,) ident(node)operator(,) ident(buf)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(node)operator(;) comment(/* OK */) pre_type(char) operator(*)ident(buf)operator(;) operator({) ident(VALUE) ident(val)operator(;) comment(/* OK */) pre_type(int) ident(state)operator(;) label(again:) reserved(if) operator((!)ident(node)operator(\)) reserved(return) stringoperator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_SUPER)operator(:) reserved(case) ident(NODE_ZSUPER)operator(:) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_func) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(else) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_class) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) ident(val) operator(=) ident(ruby_frame)operator(->)ident(last_class)operator(;) reserved(if) operator(()ident(rb_method_boundp)operator(()ident(RCLASS)operator(()ident(val)operator(\)->)ident(super)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(,) integer(0)operator(\)\)) operator({) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_SUPER)operator(\)) operator({) reserved(return) ident(arg_defined)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_args)operator(,) ident(buf)operator(,) stringoperator(\);) operator(}) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_VCALL)operator(:) reserved(case) ident(NODE_FCALL)operator(:) ident(val) operator(=) ident(self)operator(;) reserved(goto) ident(check_bound)operator(;) reserved(case) ident(NODE_ATTRASGN)operator(:) ident(val) operator(=) ident(self)operator(;) reserved(if) operator(()ident(node)operator(->)ident(nd_recv) operator(==) operator(()ident(NODE) operator(*\))integer(1)operator(\)) reserved(goto) ident(check_bound)operator(;) reserved(case) ident(NODE_CALL)operator(:) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) operator({) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) reserved(return) integer(0)operator(;) operator(}) label(check_bound:) operator({) pre_type(int) ident(call) operator(=) ident(nd_type)operator(()ident(node)operator(\)==)ident(NODE_CALL)operator(;) ident(val) operator(=) ident(CLASS_OF)operator(()ident(val)operator(\);) reserved(if) operator(()ident(call)operator(\)) operator({) pre_type(int) ident(noex)operator(;) ident(ID) ident(id) operator(=) ident(node)operator(->)ident(nd_mid)operator(;) reserved(if) operator((!)ident(rb_get_method_body)operator((&)ident(val)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) reserved(break)operator(;) reserved(if) operator((()ident(noex) operator(&) ident(NOEX_PRIVATE)operator(\)\)) reserved(break)operator(;) reserved(if) operator((()ident(noex) operator(&) ident(NOEX_PROTECTED)operator(\)) operator(&&) operator(!)ident(rb_obj_is_kind_of)operator(()ident(self)operator(,) ident(rb_class_real)operator(()ident(val)operator(\)\)\)) reserved(break)operator(;) operator(}) reserved(else) reserved(if) operator((!)ident(rb_method_boundp)operator(()ident(val)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) ident(call)operator(\)\)) reserved(break)operator(;) reserved(return) ident(arg_defined)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_args)operator(,) ident(buf)operator(,) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_ATTRASGN) operator(?) string operator(:) stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_MATCH2)operator(:) reserved(case) ident(NODE_MATCH3)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_YIELD)operator(:) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_SELF)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_NIL)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_TRUE)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_FALSE)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_ATTRSET)operator(:) reserved(case) ident(NODE_OP_ASGN1)operator(:) reserved(case) ident(NODE_OP_ASGN2)operator(:) reserved(case) ident(NODE_OP_ASGN_OR)operator(:) reserved(case) ident(NODE_OP_ASGN_AND)operator(:) reserved(case) ident(NODE_MASGN)operator(:) reserved(case) ident(NODE_LASGN)operator(:) reserved(case) ident(NODE_DASGN)operator(:) reserved(case) ident(NODE_DASGN_CURR)operator(:) reserved(case) ident(NODE_GASGN)operator(:) reserved(case) ident(NODE_IASGN)operator(:) reserved(case) ident(NODE_CDECL)operator(:) reserved(case) ident(NODE_CVDECL)operator(:) reserved(case) ident(NODE_CVASGN)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_LVAR)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_DVAR)operator(:) reserved(return) stringoperator(;) reserved(case) ident(NODE_GVAR)operator(:) reserved(if) operator(()ident(rb_gvar_defined)operator(()ident(node)operator(->)ident(nd_entry)operator(\)\)) operator({) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_IVAR)operator(:) reserved(if) operator(()ident(rb_ivar_defined)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_vid)operator(\)\)) operator({) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_CONST)operator(:) reserved(if) operator(()ident(ev_const_defined)operator(()ident(ruby_cref)operator(,) ident(node)operator(->)ident(nd_vid)operator(,) ident(self)operator(\)\)) operator({) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_CVAR)operator(:) reserved(if) operator(()ident(rb_cvar_defined)operator(()ident(cvar_cbase)operator((\),) ident(node)operator(->)ident(nd_vid)operator(\)\)) operator({) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_COLON2)operator(:) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) operator({) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(else) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator(()ident(rb_const_defined_from)operator(()ident(val)operator(,) ident(node)operator(->)ident(nd_mid)operator(\)\)) reserved(return) stringoperator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(rb_method_boundp)operator(()ident(CLASS_OF)operator(()ident(val)operator(\),) ident(node)operator(->)ident(nd_mid)operator(,) integer(1)operator(\)\)) operator({) reserved(return) stringoperator(;) operator(}) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_COLON3)operator(:) reserved(if) operator(()ident(rb_const_defined_from)operator(()ident(rb_cObject)operator(,) ident(node)operator(->)ident(nd_mid)operator(\)\)) operator({) reserved(return) stringoperator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_NTH_REF)operator(:) reserved(if) operator(()ident(RTEST)operator(()ident(rb_reg_nth_defined)operator(()ident(node)operator(->)ident(nd_nth)operator(,) ident(MATCH_DATA)operator(\)\)\)) operator({) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) operator(()pre_type(int)operator(\))ident(node)operator(->)ident(nd_nth)operator(\);) reserved(return) ident(buf)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_BACK_REF)operator(:) reserved(if) operator(()ident(RTEST)operator(()ident(rb_reg_nth_defined)operator(()integer(0)operator(,) ident(MATCH_DATA)operator(\)\)\)) operator({) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) operator(()pre_type(char)operator(\))ident(node)operator(->)ident(nd_nth)operator(\);) reserved(return) ident(buf)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) reserved(goto) ident(again)operator(;) reserved(default)operator(:) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator((!)ident(state)operator(\)) operator({) reserved(return) stringoperator(;) operator(}) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(handle_rescue) ident(_)operator((()ident(VALUE)operator(,)ident(NODE)operator(*\)\);) directive(static) directive(void) ident(blk_free)operator((\);) directive(static) ident(VALUE) ident(rb_obj_is_proc)operator(()ident(proc)operator(\)) ident(VALUE) ident(proc)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(proc)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(proc)operator(\)->)ident(dfree) operator(==) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(blk_free)operator(\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(void) ident(rb_add_event_hook)operator(()ident(func)operator(,) ident(events)operator(\)) ident(rb_event_hook_func_t) ident(func)operator(;) ident(rb_event_t) ident(events)operator(;) operator({) ident(rb_event_hook_t) operator(*)ident(hook)operator(;) ident(hook) operator(=) ident(ALLOC)operator(()ident(rb_event_hook_t)operator(\);) ident(hook)operator(->)ident(func) operator(=) ident(func)operator(;) ident(hook)operator(->)ident(events) operator(=) ident(events)operator(;) ident(hook)operator(->)ident(next) operator(=) ident(event_hooks)operator(;) ident(event_hooks) operator(=) ident(hook)operator(;) operator(}) pre_type(int) ident(rb_remove_event_hook)operator(()ident(func)operator(\)) ident(rb_event_hook_func_t) ident(func)operator(;) operator({) ident(rb_event_hook_t) operator(*)ident(prev)operator(,) operator(*)ident(hook)operator(;) ident(prev) operator(=) pre_constant(NULL)operator(;) ident(hook) operator(=) ident(event_hooks)operator(;) reserved(while) operator(()ident(hook)operator(\)) operator({) reserved(if) operator(()ident(hook)operator(->)ident(func) operator(==) ident(func)operator(\)) operator({) reserved(if) operator(()ident(prev)operator(\)) operator({) ident(prev)operator(->)ident(next) operator(=) ident(hook)operator(->)ident(next)operator(;) operator(}) reserved(else) operator({) ident(event_hooks) operator(=) ident(hook)operator(->)ident(next)operator(;) operator(}) ident(xfree)operator(()ident(hook)operator(\);) reserved(return) integer(0)operator(;) operator(}) ident(prev) operator(=) ident(hook)operator(;) ident(hook) operator(=) ident(hook)operator(->)ident(next)operator(;) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) comment(/* * call-seq: * set_trace_func(proc\) => proc * set_trace_func(nil\) => nil * * Establishes _proc_ as the handler for tracing, or disables * tracing if the parameter is +nil+. _proc_ takes up * to six parameters: an event name, a filename, a line number, an * object id, a binding, and the name of a class. _proc_ is * invoked whenever an event occurs. Events are: c-call * (call a C-language routine\), c-return (return from a * C-language routine\), call (call a Ruby method\), * class (start a class or module definition\), * end (finish a class or module definition\), * line (execute code on a new line\), raise * (raise an exception\), and return (return from a Ruby * method\). Tracing is disabled within the context of _proc_. * * class Test * def test * a = 1 * b = 2 * end * end * * set_trace_func proc { |event, file, line, id, binding, classname| * printf "%8s %s:%-2d %10s %8s\\n", event, file, line, id, classname * } * t = Test.new * t.test * * line prog.rb:11 false * c-call prog.rb:11 new Class * c-call prog.rb:11 initialize Object * c-return prog.rb:11 initialize Object * c-return prog.rb:11 new Class * line prog.rb:12 false * call prog.rb:2 test Test * line prog.rb:3 test Test * line prog.rb:4 test Test * return prog.rb:4 test Test */) directive(static) ident(VALUE) ident(set_trace_func)operator(()ident(obj)operator(,) ident(trace)operator(\)) ident(VALUE) ident(obj)operator(,) ident(trace)operator(;) operator({) ident(rb_event_hook_t) operator(*)ident(hook)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(trace)operator(\)\)) operator({) ident(trace_func) operator(=) integer(0)operator(;) ident(rb_remove_event_hook)operator(()ident(call_trace_func)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator((!)ident(rb_obj_is_proc)operator(()ident(trace)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(trace_func) operator(=) ident(trace)operator(;) reserved(for) operator(()ident(hook) operator(=) ident(event_hooks)operator(;) ident(hook)operator(;) ident(hook) operator(=) ident(hook)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(hook)operator(->)ident(func) operator(==) ident(call_trace_func)operator(\)) reserved(return) ident(trace)operator(;) operator(}) ident(rb_add_event_hook)operator(()ident(call_trace_func)operator(,) ident(RUBY_EVENT_ALL)operator(\);) reserved(return) ident(trace)operator(;) operator(}) directive(static) pre_type(char) operator(*) ident(get_event_name)operator(()ident(rb_event_t) ident(event)operator(\)) operator({) reserved(switch) operator(()ident(event)operator(\)) operator({) reserved(case) ident(RUBY_EVENT_LINE)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_CLASS)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_END)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_CALL)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_RETURN)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_C_CALL)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_C_RETURN)operator(:) reserved(return) stringoperator(;) reserved(case) ident(RUBY_EVENT_RAISE)operator(:) reserved(return) stringoperator(;) reserved(default)operator(:) reserved(return) stringoperator(;) operator(}) operator(}) directive(static) directive(void) ident(call_trace_func)operator(()ident(event)operator(,) ident(node)operator(,) ident(self)operator(,) ident(id)operator(,) ident(klass)operator(\)) ident(rb_event_t) ident(event)operator(;) ident(NODE) operator(*)ident(node)operator(;) ident(VALUE) ident(self)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(klass)operator(;) comment(/* OK */) operator({) pre_type(int) ident(state)operator(,) ident(raised)operator(;) reserved(struct) ident(FRAME) operator(*)ident(prev)operator(;) ident(NODE) operator(*)ident(node_save)operator(;) ident(VALUE) ident(srcfile)operator(;) pre_type(char) operator(*)ident(event_name)operator(;) ident(rb_thread_t) ident(th) operator(=) ident(curr_thread)operator(;) reserved(if) operator((!)ident(trace_func)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(tracing)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(ruby_in_compile)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(id) operator(==) ident(ID_ALLOCATOR)operator(\)) reserved(return)operator(;) reserved(if) operator((!()ident(node_save) operator(=) ident(ruby_current_node)operator(\)\)) operator({) ident(node_save) operator(=) ident(NEW_NEWLINE)operator(()integer(0)operator(\);) operator(}) ident(tracing) operator(=) integer(1)operator(;) ident(prev) operator(=) ident(ruby_frame)operator(;) ident(PUSH_FRAME)operator((\);) operator(*)ident(ruby_frame) operator(=) operator(*)ident(prev)operator(;) ident(ruby_frame)operator(->)ident(prev) operator(=) ident(prev)operator(;) ident(ruby_frame)operator(->)ident(iter) operator(=) integer(0)operator(;) comment(/* blocks not available anyway */) reserved(if) operator(()ident(node)operator(\)) operator({) ident(ruby_current_node) operator(=) ident(node)operator(;) ident(ruby_frame)operator(->)ident(node) operator(=) ident(node)operator(;) ident(ruby_sourcefile) operator(=) ident(node)operator(->)ident(nd_file)operator(;) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(node)operator(\);) operator(}) reserved(if) operator(()ident(klass)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(klass) operator(=) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(klass) operator(=) ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) operator(}) operator(}) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) ident(raised) operator(=) ident(rb_thread_reset_raised)operator(()ident(th)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(srcfile) operator(=) ident(rb_str_new2)operator(()ident(ruby_sourcefile)operator(?)ident(ruby_sourcefile)operator(:)stringoperator(\);) ident(event_name) operator(=) ident(get_event_name)operator(()ident(event)operator(\);) ident(proc_invoke)operator(()ident(trace_func)operator(,) ident(rb_ary_new3)operator(()integer(6)operator(,) ident(rb_str_new2)operator(()ident(event_name)operator(\),) ident(srcfile)operator(,) ident(INT2FIX)operator(()ident(ruby_sourceline)operator(\),) ident(id)operator(?)ident(ID2SYM)operator(()ident(id)operator(\):)ident(Qnil)operator(,) ident(self)operator(?)ident(rb_f_binding)operator(()ident(self)operator(\):)ident(Qnil)operator(,) ident(klass)operator(\),) ident(Qundef)operator(,) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(raised)operator(\)) ident(rb_thread_set_raised)operator(()ident(th)operator(\);) ident(POP_TAG)operator((\);) ident(POP_FRAME)operator((\);) ident(tracing) operator(=) integer(0)operator(;) ident(ruby_current_node) operator(=) ident(node_save)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) directive(static) ident(VALUE) ident(avalue_to_svalue)operator(()ident(v)operator(\)) ident(VALUE) ident(v)operator(;) operator({) ident(VALUE) ident(tmp)operator(,) ident(top)operator(;) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(v)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(v)operator(;) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(Qundef)operator(;) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len) operator(==) integer(1)operator(\)) operator({) ident(top) operator(=) ident(rb_check_array_type)operator(()ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(NIL_P)operator(()ident(top)operator(\)\)) operator({) reserved(return) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(top)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) reserved(return) ident(v)operator(;) operator(}) reserved(return) ident(top)operator(;) operator(}) reserved(return) ident(tmp)operator(;) operator(}) directive(static) ident(VALUE) ident(svalue_to_avalue)operator(()ident(v)operator(\)) ident(VALUE) ident(v)operator(;) operator({) ident(VALUE) ident(tmp)operator(,) ident(top)operator(;) reserved(if) operator(()ident(v) operator(==) ident(Qundef)operator(\)) reserved(return) ident(rb_ary_new2)operator(()integer(0)operator(\);) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(v)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(v)operator(\);) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len) operator(==) integer(1)operator(\)) operator({) ident(top) operator(=) ident(rb_check_array_type)operator(()ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator([)integer(0)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(top)operator(\)) operator(&&) ident(RARRAY)operator(()ident(top)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) reserved(return) ident(tmp)operator(;) operator(}) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(v)operator(\);) operator(}) reserved(return) ident(tmp)operator(;) operator(}) directive(static) ident(VALUE) ident(svalue_to_mrhs)operator(()ident(v)operator(,) ident(lhs)operator(\)) ident(VALUE) ident(v)operator(;) ident(NODE) operator(*)ident(lhs)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) reserved(if) operator(()ident(v) operator(==) ident(Qundef)operator(\)) reserved(return) ident(rb_ary_new2)operator(()integer(0)operator(\);) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(v)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(v)operator(\);) operator(}) comment(/* no lhs means splat lhs only */) reserved(if) operator((!)ident(lhs)operator(\)) operator({) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(v)operator(\);) operator(}) reserved(return) ident(tmp)operator(;) operator(}) directive(static) ident(VALUE) ident(avalue_splat)operator(()ident(v)operator(\)) ident(VALUE) ident(v)operator(;) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(v)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(Qundef)operator(;) operator(}) reserved(if) operator(()ident(RARRAY)operator(()ident(v)operator(\)->)ident(len) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(RARRAY)operator(()ident(v)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) reserved(return) ident(v)operator(;) operator(}) preprocessor(#if) integer(1) ident(VALUE) ident(rb_Array)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(val)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) comment(/* hack to avoid invoke Object#to_a */) ident(VALUE) ident(origin)operator(;) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(if) operator(()ident(search_method)operator(()ident(CLASS_OF)operator(()ident(val)operator(\),) ident(id)operator(,) operator(&)ident(origin)operator(\)) operator(&&) ident(RCLASS)operator(()ident(origin)operator(\)->)ident(m_tbl) operator(!=) ident(RCLASS)operator(()ident(rb_mKernel)operator(\)->)ident(m_tbl)operator(\)) operator({) comment(/* exclude Kernel#to_a */) ident(val) operator(=) ident(rb_funcall)operator(()ident(val)operator(,) ident(id)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(!=) ident(T_ARRAY)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(val)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(val)operator(\);) operator(}) operator(}) reserved(return) ident(tmp)operator(;) operator(}) preprocessor(#endif) directive(static) ident(VALUE) ident(splat_value)operator(()ident(v)operator(\)) ident(VALUE) ident(v)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator(\)\)) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(Qnil)operator(\);) reserved(return) ident(rb_Array)operator(()ident(v)operator(\);) operator(}) directive(static) ident(VALUE) ident(class_prefix)operator(()ident(self)operator(,) ident(cpath)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(cpath)operator(;) operator({) reserved(if) operator((!)ident(cpath)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(cpath)operator(->)ident(nd_head)operator(\)) operator({) ident(VALUE) ident(c) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(cpath)operator(->)ident(nd_head)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(c)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(rb_obj_as_string)operator(()ident(c)operator(\)\)->)ident(ptr)operator(\);) operator(}) reserved(return) ident(c)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(nd_type)operator(()ident(cpath)operator(\)) operator(==) ident(NODE_COLON2)operator(\)) operator({) reserved(return) ident(ruby_cbase)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ruby_wrapper)operator(\)) operator({) reserved(return) ident(ruby_wrapper)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_cObject)operator(;) operator(}) operator(}) preprocessor(#define) ident(return_value)operator(()ident(v)operator(\)) reserved(do) operator({)\ reserved(if) operator((()ident(prot_tag)operator(->)ident(retval) operator(=) operator(()ident(v)operator(\)\)) operator(==) ident(Qundef)operator(\)) operator({)\ ident(prot_tag)operator(->)ident(retval) operator(=) ident(Qnil)operator(;)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) ident(NORETURN)operator(()directive(static) directive(void) ident(return_jump) ident(_)operator((()ident(VALUE)operator(\)\)\);) ident(NORETURN)operator(()directive(static) directive(void) ident(break_jump) ident(_)operator((()ident(VALUE)operator(\)\)\);) ident(NORETURN)operator(()directive(static) directive(void) ident(next_jump) ident(_)operator((()ident(VALUE)operator(\)\)\);) ident(NORETURN)operator(()directive(static) directive(void) ident(unknown_node) ident(_)operator((()ident(NODE) operator(*) directive(volatile)operator(\)\)\);) directive(static) directive(void) ident(unknown_node)operator(()ident(node)operator(\)) ident(NODE) operator(*)directive(volatile) ident(node)operator(;) operator({) ident(ruby_current_node) operator(=) integer(0)operator(;) reserved(if) operator(()ident(node)operator(->)ident(flags) operator(==) integer(0)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(,) ident(node)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(node)operator(\)) operator(!=) ident(T_NODE)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(,) ident(BUILTIN_TYPE)operator(()ident(node)operator(\),) ident(node)operator(\);) operator(}) reserved(else) operator({) ident(rb_bug)operator(()stringoperator(,) ident(nd_type)operator(()ident(node)operator(\),) ident(node)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(rb_eval)operator(()ident(self)operator(,) ident(n)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(n)operator(;) operator({) ident(NODE) operator(*) directive(volatile) ident(contnode) operator(=) integer(0)operator(;) ident(NODE) operator(*) directive(volatile) ident(node) operator(=) ident(n)operator(;) pre_type(int) ident(state)operator(;) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) ident(st_data_t) ident(data)operator(;) preprocessor(#define) ident(RETURN)operator(()ident(v)operator(\)) reserved(do) operator({) \ ident(result) operator(=) operator(()ident(v)operator(\);) \ reserved(goto) ident(finish)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) label(again:) reserved(if) operator((!)ident(node)operator(\)) ident(RETURN)operator(()ident(Qnil)operator(\);) ident(ruby_current_node) operator(=) ident(node)operator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_BLOCK)operator(:) reserved(if) operator(()ident(contnode)operator(\)) operator({) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(\);) reserved(break)operator(;) operator(}) ident(contnode) operator(=) ident(node)operator(->)ident(nd_next)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_head)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_POSTEXE)operator(:) ident(rb_f_END)operator((\);) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_NIL)operator(\);) comment(/* exec just once */) ident(result) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) comment(/* begin .. end without clauses */) reserved(case) ident(NODE_BEGIN)operator(:) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(goto) ident(again)operator(;) comment(/* nodes for speed-up(default match\) */) reserved(case) ident(NODE_MATCH)operator(:) ident(result) operator(=) ident(rb_reg_match2)operator(()ident(node)operator(->)ident(nd_lit)operator(\);) reserved(break)operator(;) comment(/* nodes for speed-up(literal match\) */) reserved(case) ident(NODE_MATCH2)operator(:) operator({) ident(VALUE) ident(l) operator(=) ident(rb_eval)operator(()ident(self)operator(,)ident(node)operator(->)ident(nd_recv)operator(\);) ident(VALUE) ident(r) operator(=) ident(rb_eval)operator(()ident(self)operator(,)ident(node)operator(->)ident(nd_value)operator(\);) ident(result) operator(=) ident(rb_reg_match)operator(()ident(l)operator(,) ident(r)operator(\);) operator(}) reserved(break)operator(;) comment(/* nodes for speed-up(literal match\) */) reserved(case) ident(NODE_MATCH3)operator(:) operator({) ident(VALUE) ident(r) operator(=) ident(rb_eval)operator(()ident(self)operator(,)ident(node)operator(->)ident(nd_recv)operator(\);) ident(VALUE) ident(l) operator(=) ident(rb_eval)operator(()ident(self)operator(,)ident(node)operator(->)ident(nd_value)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(l)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(result) operator(=) ident(rb_reg_match)operator(()ident(r)operator(,) ident(l)operator(\);) operator(}) reserved(else) operator({) ident(result) operator(=) ident(rb_funcall)operator(()ident(l)operator(,) ident(match)operator(,) integer(1)operator(,) ident(r)operator(\);) operator(}) operator(}) reserved(break)operator(;) comment(/* node for speed-up(top-level loop for -n/-p\) */) reserved(case) ident(NODE_OPT_N)operator(:) ident(PUSH_TAG)operator(()ident(PROT_LOOP)operator(\);) reserved(switch) operator(()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator({) reserved(case) integer(0)operator(:) label(opt_n_next:) reserved(while) operator((!)ident(NIL_P)operator(()ident(rb_gets)operator((\)\)\)) operator({) label(opt_n_redo:) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TAG_REDO)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(opt_n_redo)operator(;) reserved(case) ident(TAG_NEXT)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(opt_n_next)operator(;) reserved(case) ident(TAG_BREAK)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) ident(RETURN)operator(()ident(Qnil)operator(\);) reserved(case) ident(NODE_SELF)operator(:) ident(RETURN)operator(()ident(self)operator(\);) reserved(case) ident(NODE_NIL)operator(:) ident(RETURN)operator(()ident(Qnil)operator(\);) reserved(case) ident(NODE_TRUE)operator(:) ident(RETURN)operator(()ident(Qtrue)operator(\);) reserved(case) ident(NODE_FALSE)operator(:) ident(RETURN)operator(()ident(Qfalse)operator(\);) reserved(case) ident(NODE_IF)operator(:) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_LINE)operator(,) ident(node)operator(,) ident(self)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cond)operator(\)\)\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) operator(}) reserved(else) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_else)operator(;) operator(}) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_WHEN)operator(:) reserved(while) operator(()ident(node)operator(\)) operator({) ident(NODE) operator(*)ident(tag)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(!=) ident(NODE_WHEN)operator(\)) reserved(goto) ident(again)operator(;) ident(tag) operator(=) ident(node)operator(->)ident(nd_head)operator(;) reserved(while) operator(()ident(tag)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_LINE)operator(,) ident(tag)operator(,) ident(self)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) reserved(if) operator(()ident(tag)operator(->)ident(nd_head) operator(&&) ident(nd_type)operator(()ident(tag)operator(->)ident(nd_head)operator(\)) operator(==) ident(NODE_WHEN)operator(\)) operator({) ident(VALUE) ident(v) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(tag)operator(->)ident(nd_head)operator(->)ident(nd_head)operator(\);) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_ARRAY)operator(\)) ident(v) operator(=) ident(rb_ary_to_ary)operator(()ident(v)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(v)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(RARRAY)operator(()ident(v)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(goto) ident(again)operator(;) operator(}) operator(}) ident(tag) operator(=) ident(tag)operator(->)ident(nd_next)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(tag)operator(->)ident(nd_head)operator(\)\)\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(goto) ident(again)operator(;) operator(}) ident(tag) operator(=) ident(tag)operator(->)ident(nd_next)operator(;) operator(}) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) operator(}) ident(RETURN)operator(()ident(Qnil)operator(\);) reserved(case) ident(NODE_CASE)operator(:) operator({) ident(VALUE) ident(val)operator(;) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(while) operator(()ident(node)operator(\)) operator({) ident(NODE) operator(*)ident(tag)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(!=) ident(NODE_WHEN)operator(\)) operator({) reserved(goto) ident(again)operator(;) operator(}) ident(tag) operator(=) ident(node)operator(->)ident(nd_head)operator(;) reserved(while) operator(()ident(tag)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_LINE)operator(,) ident(tag)operator(,) ident(self)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) reserved(if) operator(()ident(tag)operator(->)ident(nd_head) operator(&&) ident(nd_type)operator(()ident(tag)operator(->)ident(nd_head)operator(\)) operator(==) ident(NODE_WHEN)operator(\)) operator({) ident(VALUE) ident(v) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(tag)operator(->)ident(nd_head)operator(->)ident(nd_head)operator(\);) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_ARRAY)operator(\)) ident(v) operator(=) ident(rb_ary_to_ary)operator(()ident(v)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(v)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall2)operator(()ident(RARRAY)operator(()ident(v)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(eqq)operator(,) integer(1)operator(,) operator(&)ident(val)operator(\)\)\){) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(goto) ident(again)operator(;) operator(}) operator(}) ident(tag) operator(=) ident(tag)operator(->)ident(nd_next)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall2)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(tag)operator(->)ident(nd_head)operator(\),) ident(eqq)operator(,) integer(1)operator(,) operator(&)ident(val)operator(\)\)\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(goto) ident(again)operator(;) operator(}) ident(tag) operator(=) ident(tag)operator(->)ident(nd_next)operator(;) operator(}) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) operator(}) operator(}) ident(RETURN)operator(()ident(Qnil)operator(\);) reserved(case) ident(NODE_WHILE)operator(:) ident(PUSH_TAG)operator(()ident(PROT_LOOP)operator(\);) ident(result) operator(=) ident(Qnil)operator(;) reserved(switch) operator(()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator({) reserved(case) integer(0)operator(:) reserved(if) operator(()ident(node)operator(->)ident(nd_state) operator(&&) operator(!)ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cond)operator(\)\)\)) reserved(goto) ident(while_out)operator(;) reserved(do) operator({) label(while_redo:) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\);) label(while_next:) operator(;) operator(}) reserved(while) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cond)operator(\)\)\);) reserved(break)operator(;) reserved(case) ident(TAG_REDO)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(while_redo)operator(;) reserved(case) ident(TAG_NEXT)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(while_next)operator(;) reserved(case) ident(TAG_BREAK)operator(:) reserved(if) operator(()ident(TAG_DST)operator((\)\)) operator({) ident(state) operator(=) integer(0)operator(;) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) comment(/* fall through */) reserved(default)operator(:) reserved(break)operator(;) operator(}) label(while_out:) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) ident(RETURN)operator(()ident(result)operator(\);) reserved(case) ident(NODE_UNTIL)operator(:) ident(PUSH_TAG)operator(()ident(PROT_LOOP)operator(\);) ident(result) operator(=) ident(Qnil)operator(;) reserved(switch) operator(()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator({) reserved(case) integer(0)operator(:) reserved(if) operator(()ident(node)operator(->)ident(nd_state) operator(&&) ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cond)operator(\)\)\)) reserved(goto) ident(until_out)operator(;) reserved(do) operator({) label(until_redo:) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\);) label(until_next:) operator(;) operator(}) reserved(while) operator((!)ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cond)operator(\)\)\);) reserved(break)operator(;) reserved(case) ident(TAG_REDO)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(until_redo)operator(;) reserved(case) ident(TAG_NEXT)operator(:) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(until_next)operator(;) reserved(case) ident(TAG_BREAK)operator(:) reserved(if) operator(()ident(TAG_DST)operator((\)\)) operator({) ident(state) operator(=) integer(0)operator(;) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) comment(/* fall through */) reserved(default)operator(:) reserved(break)operator(;) operator(}) label(until_out:) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) ident(RETURN)operator(()ident(result)operator(\);) reserved(case) ident(NODE_BLOCK_PASS)operator(:) ident(result) operator(=) ident(block_pass)operator(()ident(self)operator(,) ident(node)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_ITER)operator(:) reserved(case) ident(NODE_FOR)operator(:) operator({) ident(PUSH_TAG)operator(()ident(PROT_LOOP)operator(\);) ident(PUSH_BLOCK)operator(()ident(node)operator(->)ident(nd_var)operator(,) ident(node)operator(->)ident(nd_body)operator(\);) ident(state) operator(=) ident(EXEC_TAG)operator((\);) reserved(if) operator(()ident(state) operator(==) integer(0)operator(\)) operator({) label(iter_retry:) ident(PUSH_ITER)operator(()ident(ITER_PRE)operator(\);) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_ITER)operator(\)) operator({) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_iter)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(recv)operator(;) ident(_block)operator(.)ident(flags) operator(&=) operator(~)ident(BLOCK_D_SCOPE)operator(;) ident(BEGIN_CALLARGS)operator(;) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_iter)operator(\);) ident(END_CALLARGS)operator(;) ident(ruby_current_node) operator(=) ident(node)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) ident(result) operator(=) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),)ident(recv)operator(,)ident(each)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(,)ident(self)operator(\);) operator(}) ident(POP_ITER)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_BREAK) operator(&&) ident(TAG_DST)operator((\)\)) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) ident(state) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_RETRY)operator(\)) operator({) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(iter_retry)operator(;) operator(}) ident(POP_BLOCK)operator((\);) ident(POP_TAG)operator((\);) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_BREAK)operator(:) ident(break_jump)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_stts)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_NEXT)operator(:) ident(CHECK_INTS)operator(;) ident(next_jump)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_stts)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_REDO)operator(:) ident(CHECK_INTS)operator(;) ident(JUMP_TAG)operator(()ident(TAG_REDO)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_RETRY)operator(:) ident(CHECK_INTS)operator(;) ident(JUMP_TAG)operator(()ident(TAG_RETRY)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_SPLAT)operator(:) ident(result) operator(=) ident(splat_value)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_TO_ARY)operator(:) ident(result) operator(=) ident(rb_ary_to_ary)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_SVALUE)operator(:) ident(result) operator(=) ident(avalue_splat)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\)\);) reserved(if) operator(()ident(result) operator(==) ident(Qundef)operator(\)) ident(result) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_YIELD)operator(:) reserved(if) operator(()ident(node)operator(->)ident(nd_head)operator(\)) operator({) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) ident(ruby_current_node) operator(=) ident(node)operator(;) operator(}) reserved(else) operator({) ident(result) operator(=) ident(Qundef)operator(;) comment(/* no arg */) operator(}) ident(SET_CURRENT_SOURCE)operator((\);) ident(result) operator(=) ident(rb_yield_0)operator(()ident(result)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(node)operator(->)ident(nd_state)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_RESCUE)operator(:) operator({) directive(volatile) ident(VALUE) ident(e_info) operator(=) ident(ruby_errinfo)operator(;) directive(volatile) pre_type(int) ident(rescuing) operator(=) integer(0)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) label(retry_entry:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(rescuing)operator(\)) operator({) reserved(if) operator(()ident(rescuing) operator(<) integer(0)operator(\)) operator({) comment(/* in rescue argument, just reraise */) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_RETRY)operator(\)) operator({) ident(rescuing) operator(=) ident(state) operator(=) integer(0)operator(;) ident(ruby_errinfo) operator(=) ident(e_info)operator(;) reserved(goto) ident(retry_entry)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(!=) ident(TAG_RAISE)operator(\)) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_RAISE)operator(\)) operator({) ident(NODE) operator(*)ident(resq) operator(=) ident(node)operator(->)ident(nd_resq)operator(;) ident(rescuing) operator(=) operator(-)integer(1)operator(;) reserved(while) operator(()ident(resq)operator(\)) operator({) ident(ruby_current_node) operator(=) ident(resq)operator(;) reserved(if) operator(()ident(handle_rescue)operator(()ident(self)operator(,) ident(resq)operator(\)\)) operator({) ident(state) operator(=) integer(0)operator(;) ident(rescuing) operator(=) integer(1)operator(;) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(resq)operator(->)ident(nd_body)operator(\);) reserved(break)operator(;) operator(}) ident(resq) operator(=) ident(resq)operator(->)ident(nd_head)operator(;) comment(/* next rescue */) operator(}) operator(}) reserved(else) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state) operator(!=) ident(TAG_RAISE)operator(\)) ident(ruby_errinfo) operator(=) ident(e_info)operator(;) reserved(if) operator(()ident(state)operator(\)) operator({) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) comment(/* no exception raised */) reserved(if) operator((!)ident(rescuing) operator(&&) operator(()ident(node) operator(=) ident(node)operator(->)ident(nd_else)operator(\)\)) operator({) comment(/* else clause given */) reserved(goto) ident(again)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_ENSURE)operator(:) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(node)operator(->)ident(nd_ensr) operator(&&) operator(!)ident(thread_no_ensure)operator((\)\)) operator({) ident(VALUE) ident(retval) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) comment(/* save retval */) ident(VALUE) ident(errinfo) operator(=) ident(ruby_errinfo)operator(;) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_ensr)operator(\);) ident(return_value)operator(()ident(retval)operator(\);) ident(ruby_errinfo) operator(=) ident(errinfo)operator(;) operator(}) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_AND)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_1st)operator(\);) reserved(if) operator((!)ident(RTEST)operator(()ident(result)operator(\)\)) reserved(break)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_2nd)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_OR)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_1st)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(result)operator(\)\)) reserved(break)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_2nd)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_NOT)operator(:) reserved(if) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\)\)\)) ident(result) operator(=) ident(Qfalse)operator(;) reserved(else) ident(result) operator(=) ident(Qtrue)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_DOT2)operator(:) reserved(case) ident(NODE_DOT3)operator(:) operator({) ident(VALUE) ident(beg) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_beg)operator(\);) ident(VALUE) ident(end) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_end)operator(\);) ident(result) operator(=) ident(rb_range_new)operator(()ident(beg)operator(,) ident(end)operator(,) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_DOT3)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_FLIP2)operator(:) comment(/* like AWK */) operator({) ident(VALUE) operator(*)ident(flip) operator(=) ident(rb_svar)operator(()ident(node)operator(->)ident(nd_cnt)operator(\);) reserved(if) operator((!)ident(flip)operator(\)) ident(rb_bug)operator(()stringoperator(\);) reserved(if) operator((!)ident(RTEST)operator((*)ident(flip)operator(\)\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_beg)operator(\)\)\)) operator({) operator(*)ident(flip) operator(=) ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_end)operator(\)\)?)ident(Qfalse)operator(:)ident(Qtrue)operator(;) ident(result) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) ident(result) operator(=) ident(Qfalse)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_end)operator(\)\)\)) operator({) operator(*)ident(flip) operator(=) ident(Qfalse)operator(;) operator(}) ident(result) operator(=) ident(Qtrue)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_FLIP3)operator(:) comment(/* like SED */) operator({) ident(VALUE) operator(*)ident(flip) operator(=) ident(rb_svar)operator(()ident(node)operator(->)ident(nd_cnt)operator(\);) reserved(if) operator((!)ident(flip)operator(\)) ident(rb_bug)operator(()stringoperator(\);) reserved(if) operator((!)ident(RTEST)operator((*)ident(flip)operator(\)\)) operator({) ident(result) operator(=) ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_beg)operator(\)\)) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(*)ident(flip) operator(=) ident(result)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_end)operator(\)\)\)) operator({) operator(*)ident(flip) operator(=) ident(Qfalse)operator(;) operator(}) ident(result) operator(=) ident(Qtrue)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_RETURN)operator(:) ident(return_jump)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_stts)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_ARGSCAT)operator(:) operator({) ident(VALUE) ident(args) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) ident(result) operator(=) ident(rb_ary_concat)operator(()ident(args)operator(,) ident(splat_value)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_ARGSPUSH)operator(:) operator({) ident(VALUE) ident(args) operator(=) ident(rb_ary_dup)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\)\);) ident(result) operator(=) ident(rb_ary_push)operator(()ident(args)operator(,) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_ATTRASGN)operator(:) operator({) ident(VALUE) ident(recv)operator(;) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* used in SETUP_ARGS */) pre_type(int) ident(scope)operator(;) ident(TMP_PROTECT)operator(;) ident(BEGIN_CALLARGS)operator(;) reserved(if) operator(()ident(node)operator(->)ident(nd_recv) operator(==) operator(()ident(NODE) operator(*\))integer(1)operator(\)) operator({) ident(recv) operator(=) ident(self)operator(;) ident(scope) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) ident(scope) operator(=) integer(0)operator(;) operator(}) ident(SETUP_ARGS)operator(()ident(node)operator(->)ident(nd_args)operator(\);) ident(END_CALLARGS)operator(;) ident(ruby_current_node) operator(=) ident(node)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),)ident(recv)operator(,)ident(node)operator(->)ident(nd_mid)operator(,)ident(argc)operator(,)ident(argv)operator(,)ident(scope)operator(,)ident(self)operator(\);) ident(result) operator(=) ident(argv)operator([)ident(argc)operator(-)integer(1)operator(];) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_CALL)operator(:) operator({) ident(VALUE) ident(recv)operator(;) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* used in SETUP_ARGS */) ident(TMP_PROTECT)operator(;) ident(BEGIN_CALLARGS)operator(;) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) ident(SETUP_ARGS)operator(()ident(node)operator(->)ident(nd_args)operator(\);) ident(END_CALLARGS)operator(;) ident(ruby_current_node) operator(=) ident(node)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) ident(result) operator(=) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),)ident(recv)operator(,)ident(node)operator(->)ident(nd_mid)operator(,)ident(argc)operator(,)ident(argv)operator(,)integer(0)operator(,)ident(self)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_FCALL)operator(:) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* used in SETUP_ARGS */) ident(TMP_PROTECT)operator(;) ident(BEGIN_CALLARGS)operator(;) ident(SETUP_ARGS)operator(()ident(node)operator(->)ident(nd_args)operator(\);) ident(END_CALLARGS)operator(;) ident(ruby_current_node) operator(=) ident(node)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) ident(result) operator(=) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(self)operator(\),)ident(self)operator(,)ident(node)operator(->)ident(nd_mid)operator(,)ident(argc)operator(,)ident(argv)operator(,)integer(1)operator(,)ident(self)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_VCALL)operator(:) ident(SET_CURRENT_SOURCE)operator((\);) ident(result) operator(=) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(self)operator(\),)ident(self)operator(,)ident(node)operator(->)ident(nd_mid)operator(,)integer(0)operator(,)integer(0)operator(,)integer(2)operator(,)ident(self)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_SUPER)operator(:) reserved(case) ident(NODE_ZSUPER)operator(:) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* used in SETUP_ARGS */) ident(TMP_PROTECT)operator(;) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_class) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)) operator({) ident(rb_name_error)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(orig_func)operator(\)\);) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eNoMethodError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_ZSUPER)operator(\)) operator({) ident(argc) operator(=) ident(ruby_frame)operator(->)ident(argc)operator(;) reserved(if) operator(()ident(argc) operator(&&) ident(DMETHOD_P)operator((\)\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(RBASIC)operator(()ident(ruby_scope)operator(\)->)ident(klass)operator(\)) operator(!=) ident(T_ARRAY) operator(||) ident(RARRAY)operator(()ident(RBASIC)operator(()ident(ruby_scope)operator(\)->)ident(klass)operator(\)->)ident(len) operator(!=) ident(argc)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(argv) operator(=) ident(RARRAY)operator(()ident(RBASIC)operator(()ident(ruby_scope)operator(\)->)ident(klass)operator(\)->)ident(ptr)operator(;) operator(}) reserved(else) reserved(if) operator((!)ident(ruby_scope)operator(->)ident(local_vars)operator(\)) operator({) ident(argc) operator(=) integer(0)operator(;) ident(argv) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(argv) operator(=) ident(ruby_scope)operator(->)ident(local_vars) operator(+) integer(2)operator(;) operator(}) operator(}) reserved(else) operator({) ident(BEGIN_CALLARGS)operator(;) ident(SETUP_ARGS)operator(()ident(node)operator(->)ident(nd_args)operator(\);) ident(END_CALLARGS)operator(;) ident(ruby_current_node) operator(=) ident(node)operator(;) operator(}) ident(SET_CURRENT_SOURCE)operator((\);) ident(result) operator(=) ident(rb_call_super)operator(()ident(argc)operator(,) ident(argv)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_SCOPE)operator(:) operator({) reserved(struct) ident(FRAME) ident(frame)operator(;) ident(NODE) operator(*)ident(saved_cref) operator(=) integer(0)operator(;) ident(frame) operator(=) operator(*)ident(ruby_frame)operator(;) ident(frame)operator(.)ident(tmp) operator(=) ident(ruby_frame)operator(;) ident(ruby_frame) operator(=) operator(&)ident(frame)operator(;) ident(PUSH_SCOPE)operator((\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator(()ident(node)operator(->)ident(nd_rval)operator(\)) operator({) ident(saved_cref) operator(=) ident(ruby_cref)operator(;) ident(ruby_cref) operator(=) operator(()ident(NODE)operator(*\))ident(node)operator(->)ident(nd_rval)operator(;) operator(}) reserved(if) operator(()ident(node)operator(->)ident(nd_tbl)operator(\)) operator({) ident(VALUE) operator(*)ident(vars) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(node)operator(->)ident(nd_tbl)operator([)integer(0)operator(]+)integer(1)operator(\);) operator(*)ident(vars)operator(++) operator(=) operator(()ident(VALUE)operator(\))ident(node)operator(;) ident(ruby_scope)operator(->)ident(local_vars) operator(=) ident(vars)operator(;) ident(rb_mem_clear)operator(()ident(ruby_scope)operator(->)ident(local_vars)operator(,) ident(node)operator(->)ident(nd_tbl)operator([)integer(0)operator(]\);) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) ident(node)operator(->)ident(nd_tbl)operator(;) operator(}) reserved(else) operator({) ident(ruby_scope)operator(->)ident(local_vars) operator(=) integer(0)operator(;) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) integer(0)operator(;) operator(}) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_next)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(POP_SCOPE)operator((\);) ident(ruby_frame) operator(=) ident(frame)operator(.)ident(tmp)operator(;) reserved(if) operator(()ident(saved_cref)operator(\)) ident(ruby_cref) operator(=) ident(saved_cref)operator(;) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_OP_ASGN1)operator(:) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* used in SETUP_ARGS */) ident(VALUE) ident(recv)operator(,) ident(val)operator(,) ident(tmp)operator(;) ident(NODE) operator(*)ident(rval)operator(;) ident(TMP_PROTECT)operator(;) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) ident(rval) operator(=) ident(node)operator(->)ident(nd_args)operator(->)ident(nd_head)operator(;) ident(SETUP_ARGS0)operator(()ident(node)operator(->)ident(nd_args)operator(->)ident(nd_body)operator(,) integer(1)operator(\);) ident(val) operator(=) ident(rb_funcall3)operator(()ident(recv)operator(,) ident(aref)operator(,) ident(argc)operator(,) ident(argv)operator(\);) reserved(switch) operator(()ident(node)operator(->)ident(nd_mid)operator(\)) operator({) reserved(case) integer(0)operator(:) comment(/* OR */) reserved(if) operator(()ident(RTEST)operator(()ident(val)operator(\)\)) ident(RETURN)operator(()ident(val)operator(\);) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(rval)operator(\);) reserved(break)operator(;) reserved(case) integer(1)operator(:) comment(/* AND */) reserved(if) operator((!)ident(RTEST)operator(()ident(val)operator(\)\)) ident(RETURN)operator(()ident(val)operator(\);) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(rval)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(tmp) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(rval)operator(\);) ident(val) operator(=) ident(rb_funcall3)operator(()ident(val)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) integer(1)operator(,) operator(&)ident(tmp)operator(\);) operator(}) ident(argv)operator([)ident(argc)operator(]) operator(=) ident(val)operator(;) ident(rb_funcall2)operator(()ident(recv)operator(,) ident(aset)operator(,) ident(argc)operator(+)integer(1)operator(,) ident(argv)operator(\);) ident(result) operator(=) ident(val)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_OP_ASGN2)operator(:) operator({) ident(ID) ident(id) operator(=) ident(node)operator(->)ident(nd_next)operator(->)ident(nd_vid)operator(;) ident(VALUE) ident(recv)operator(,) ident(val)operator(,) ident(tmp)operator(;) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) ident(val) operator(=) ident(rb_funcall3)operator(()ident(recv)operator(,) ident(id)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(switch) operator(()ident(node)operator(->)ident(nd_next)operator(->)ident(nd_mid)operator(\)) operator({) reserved(case) integer(0)operator(:) comment(/* OR */) reserved(if) operator(()ident(RTEST)operator(()ident(val)operator(\)\)) ident(RETURN)operator(()ident(val)operator(\);) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) reserved(break)operator(;) reserved(case) integer(1)operator(:) comment(/* AND */) reserved(if) operator((!)ident(RTEST)operator(()ident(val)operator(\)\)) ident(RETURN)operator(()ident(val)operator(\);) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(tmp) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(val) operator(=) ident(rb_funcall3)operator(()ident(val)operator(,) ident(node)operator(->)ident(nd_next)operator(->)ident(nd_mid)operator(,) integer(1)operator(,) operator(&)ident(tmp)operator(\);) operator(}) ident(rb_funcall2)operator(()ident(recv)operator(,) ident(node)operator(->)ident(nd_next)operator(->)ident(nd_aid)operator(,) integer(1)operator(,) operator(&)ident(val)operator(\);) ident(result) operator(=) ident(val)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_OP_ASGN_AND)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) reserved(if) operator((!)ident(RTEST)operator(()ident(result)operator(\)\)) reserved(break)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_value)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_OP_ASGN_OR)operator(:) reserved(if) operator((()ident(node)operator(->)ident(nd_aid) operator(&&) operator(!)ident(is_defined)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(,) integer(0)operator(\)\)) operator(||) operator(!)ident(RTEST)operator(()ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\)\)\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_value)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_MASGN)operator(:) ident(result) operator(=) ident(massign)operator(()ident(self)operator(,) ident(node)operator(,) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\),) integer(0)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_LASGN)operator(:) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_vars) operator(==) integer(0)operator(\)) ident(rb_bug)operator(()stringoperator(\);) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(ruby_scope)operator(->)ident(local_vars)operator([)ident(node)operator(->)ident(nd_cnt)operator(]) operator(=) ident(result)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_DASGN)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(dvar_asgn)operator(()ident(node)operator(->)ident(nd_vid)operator(,) ident(result)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DASGN_CURR)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(dvar_asgn_curr)operator(()ident(node)operator(->)ident(nd_vid)operator(,) ident(result)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_GASGN)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(rb_gvar_set)operator(()ident(node)operator(->)ident(nd_entry)operator(,) ident(result)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_IASGN)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(rb_ivar_set)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_vid)operator(,) ident(result)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CDECL)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) reserved(if) operator(()ident(node)operator(->)ident(nd_vid) operator(==) integer(0)operator(\)) operator({) ident(rb_const_set)operator(()ident(class_prefix)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_else)operator(\),) ident(node)operator(->)ident(nd_else)operator(->)ident(nd_mid)operator(,) ident(result)operator(\);) operator(}) reserved(else) operator({) ident(rb_const_set)operator(()ident(ruby_cbase)operator(,) ident(node)operator(->)ident(nd_vid)operator(,) ident(result)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_CVDECL)operator(:) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_cbase)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(rb_cvar_set)operator(()ident(cvar_cbase)operator((\),) ident(node)operator(->)ident(nd_vid)operator(,) ident(result)operator(,) ident(Qtrue)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CVASGN)operator(:) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_value)operator(\);) ident(rb_cvar_set)operator(()ident(cvar_cbase)operator((\),) ident(node)operator(->)ident(nd_vid)operator(,) ident(result)operator(,) ident(Qfalse)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_LVAR)operator(:) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_vars) operator(==) integer(0)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) ident(result) operator(=) ident(ruby_scope)operator(->)ident(local_vars)operator([)ident(node)operator(->)ident(nd_cnt)operator(];) reserved(break)operator(;) reserved(case) ident(NODE_DVAR)operator(:) ident(result) operator(=) ident(rb_dvar_ref)operator(()ident(node)operator(->)ident(nd_vid)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_GVAR)operator(:) ident(result) operator(=) ident(rb_gvar_get)operator(()ident(node)operator(->)ident(nd_entry)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_IVAR)operator(:) ident(result) operator(=) ident(rb_ivar_get)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_vid)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CONST)operator(:) ident(result) operator(=) ident(ev_const_get)operator(()ident(ruby_cref)operator(,) ident(node)operator(->)ident(nd_vid)operator(,) ident(self)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CVAR)operator(:) ident(result) operator(=) ident(rb_cvar_get)operator(()ident(cvar_cbase)operator((\),) ident(node)operator(->)ident(nd_vid)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_BLOCK_ARG)operator(:) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_vars) operator(==) integer(0)operator(\)) ident(rb_bug)operator(()stringoperator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(result) operator(=) ident(rb_block_proc)operator((\);) ident(ruby_scope)operator(->)ident(local_vars)operator([)ident(node)operator(->)ident(nd_cnt)operator(]) operator(=) ident(result)operator(;) operator(}) reserved(else) operator({) ident(result) operator(=) ident(Qnil)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_COLON2)operator(:) operator({) ident(VALUE) ident(klass)operator(;) ident(klass) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) reserved(if) operator(()ident(rb_is_const_id)operator(()ident(node)operator(->)ident(nd_mid)operator(\)\)) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(klass)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) ident(result) operator(=) ident(rb_const_get_from)operator(()ident(klass)operator(,) ident(node)operator(->)ident(nd_mid)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(rb_obj_as_string)operator(()ident(klass)operator(\)\)->)ident(ptr)operator(\);) reserved(break)operator(;) operator(}) operator(}) reserved(else) operator({) ident(result) operator(=) ident(rb_funcall)operator(()ident(klass)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_COLON3)operator(:) ident(result) operator(=) ident(rb_const_get_from)operator(()ident(rb_cObject)operator(,) ident(node)operator(->)ident(nd_mid)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_NTH_REF)operator(:) ident(result) operator(=) ident(rb_reg_nth_match)operator(()ident(node)operator(->)ident(nd_nth)operator(,) ident(MATCH_DATA)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_BACK_REF)operator(:) reserved(switch) operator(()ident(node)operator(->)ident(nd_nth)operator(\)) operator({) reserved(case) char('&')operator(:) ident(result) operator(=) ident(rb_reg_last_match)operator(()ident(MATCH_DATA)operator(\);) reserved(break)operator(;) reserved(case) char('`')operator(:) ident(result) operator(=) ident(rb_reg_match_pre)operator(()ident(MATCH_DATA)operator(\);) reserved(break)operator(;) reserved(case) char('\\'')operator(:) ident(result) operator(=) ident(rb_reg_match_post)operator(()ident(MATCH_DATA)operator(\);) reserved(break)operator(;) reserved(case) char('+')operator(:) ident(result) operator(=) ident(rb_reg_match_last)operator(()ident(MATCH_DATA)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_HASH)operator(:) operator({) ident(NODE) operator(*)ident(list)operator(;) ident(VALUE) ident(hash) operator(=) ident(rb_hash_new)operator((\);) ident(VALUE) ident(key)operator(,) ident(val)operator(;) ident(list) operator(=) ident(node)operator(->)ident(nd_head)operator(;) reserved(while) operator(()ident(list)operator(\)) operator({) ident(key) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(list)operator(->)ident(nd_head)operator(\);) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) reserved(if) operator(()ident(list) operator(==) integer(0)operator(\)) ident(rb_bug)operator(()stringoperator(\);) ident(val) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(list)operator(->)ident(nd_head)operator(\);) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(key)operator(,) ident(val)operator(\);) operator(}) ident(result) operator(=) ident(hash)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_ZARRAY)operator(:) comment(/* zero length list */) ident(result) operator(=) ident(rb_ary_new)operator((\);) reserved(break)operator(;) reserved(case) ident(NODE_ARRAY)operator(:) operator({) ident(VALUE) ident(ary)operator(;) pre_type(long) ident(i)operator(;) ident(i) operator(=) ident(node)operator(->)ident(nd_alen)operator(;) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(i)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(node)operator(;)ident(node)operator(=)ident(node)operator(->)ident(nd_next)operator(\)) operator({) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(++]) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(\);) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(=) ident(i)operator(;) operator(}) ident(result) operator(=) ident(ary)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_STR)operator(:) ident(result) operator(=) ident(rb_str_new3)operator(()ident(node)operator(->)ident(nd_lit)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_EVSTR)operator(:) ident(result) operator(=) ident(rb_obj_as_string)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_DXSTR)operator(:) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) reserved(case) ident(NODE_DSYM)operator(:) operator({) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) ident(NODE) operator(*)ident(list) operator(=) ident(node)operator(->)ident(nd_next)operator(;) ident(str) operator(=) ident(rb_str_new3)operator(()ident(node)operator(->)ident(nd_lit)operator(\);) reserved(while) operator(()ident(list)operator(\)) operator({) reserved(if) operator(()ident(list)operator(->)ident(nd_head)operator(\)) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(list)operator(->)ident(nd_head)operator(\)\)) operator({) reserved(case) ident(NODE_STR)operator(:) ident(str2) operator(=) ident(list)operator(->)ident(nd_head)operator(->)ident(nd_lit)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(str2) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(list)operator(->)ident(nd_head)operator(\);) reserved(break)operator(;) operator(}) ident(rb_str_append)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) operator(}) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) operator(}) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_DREGX)operator(:) ident(result) operator(=) ident(rb_reg_new)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(node)operator(->)ident(nd_cflag)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DREGX_ONCE)operator(:) comment(/* regexp expand once */) ident(result) operator(=) ident(rb_reg_new)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(node)operator(->)ident(nd_cflag)operator(\);) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_LIT)operator(\);) ident(node)operator(->)ident(nd_lit) operator(=) ident(result)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_LIT)operator(:) comment(/* other thread may replace NODE_DREGX_ONCE to NODE_LIT */) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_DXSTR)operator(:) ident(result) operator(=) ident(rb_funcall)operator(()ident(self)operator(,) char('`')operator(,) integer(1)operator(,) ident(str)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DSYM)operator(:) ident(result) operator(=) ident(rb_str_intern)operator(()ident(str)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(result) operator(=) ident(str)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_XSTR)operator(:) ident(result) operator(=) ident(rb_funcall)operator(()ident(self)operator(,) char('`')operator(,) integer(1)operator(,) ident(rb_str_new3)operator(()ident(node)operator(->)ident(nd_lit)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_LIT)operator(:) ident(result) operator(=) ident(node)operator(->)ident(nd_lit)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_DEFN)operator(:) reserved(if) operator(()ident(node)operator(->)ident(nd_defn)operator(\)) operator({) ident(NODE) operator(*)ident(body)operator(,) operator(*)ident(defn)operator(;) ident(VALUE) ident(origin)operator(;) pre_type(int) ident(noex)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_class)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(ruby_class) operator(==) ident(rb_cObject) operator(&&) ident(node)operator(->)ident(nd_mid) operator(==) ident(init)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(node)operator(->)ident(nd_mid) operator(==) ident(__id__) operator(||) ident(node)operator(->)ident(nd_mid) operator(==) ident(__send__)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(node)operator(->)ident(nd_mid)operator(\)\);) operator(}) ident(rb_frozen_class_p)operator(()ident(ruby_class)operator(\);) ident(body) operator(=) ident(search_method)operator(()ident(ruby_class)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) operator(&)ident(origin)operator(\);) reserved(if) operator(()ident(body)operator(\){) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)) operator(&&) ident(ruby_class) operator(==) ident(origin) operator(&&) ident(body)operator(->)ident(nd_cnt) operator(==) integer(0) operator(&&) ident(body)operator(->)ident(nd_body)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(node)operator(->)ident(nd_mid)operator(\)\);) operator(}) operator(}) reserved(if) operator(()ident(SCOPE_TEST)operator(()ident(SCOPE_PRIVATE)operator(\)) operator(||) ident(node)operator(->)ident(nd_mid) operator(==) ident(init)operator(\)) operator({) ident(noex) operator(=) ident(NOEX_PRIVATE)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(SCOPE_TEST)operator(()ident(SCOPE_PROTECTED)operator(\)\)) operator({) ident(noex) operator(=) ident(NOEX_PROTECTED)operator(;) operator(}) reserved(else) operator({) ident(noex) operator(=) ident(NOEX_PUBLIC)operator(;) operator(}) reserved(if) operator(()ident(body) operator(&&) ident(origin) operator(==) ident(ruby_class) operator(&&) ident(body)operator(->)ident(nd_body) operator(==) integer(0)operator(\)) operator({) ident(noex) operator(|=) ident(NOEX_NOSUPER)operator(;) operator(}) ident(defn) operator(=) ident(rb_copy_node_scope)operator(()ident(node)operator(->)ident(nd_defn)operator(,) ident(ruby_cref)operator(\);) ident(rb_add_method)operator(()ident(ruby_class)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) ident(defn)operator(,) ident(noex)operator(\);) reserved(if) operator(()ident(scope_vmode) operator(==) ident(SCOPE_MODFUNC)operator(\)) operator({) ident(rb_add_method)operator(()ident(rb_singleton_class)operator(()ident(ruby_class)operator(\),) ident(node)operator(->)ident(nd_mid)operator(,) ident(defn)operator(,) ident(NOEX_PUBLIC)operator(\);) operator(}) ident(result) operator(=) ident(Qnil)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_DEFS)operator(:) reserved(if) operator(()ident(node)operator(->)ident(nd_defn)operator(\)) operator({) ident(VALUE) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) ident(VALUE) ident(klass)operator(;) ident(NODE) operator(*)ident(body) operator(=) integer(0)operator(,) operator(*)ident(defn)operator(;) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(recv)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(recv)operator(\)) operator(||) ident(SYMBOL_P)operator(()ident(recv)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(node)operator(->)ident(nd_mid)operator(\),) ident(rb_obj_classname)operator(()ident(recv)operator(\)\);) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(recv)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) ident(klass) operator(=) ident(rb_singleton_class)operator(()ident(recv)operator(\);) reserved(if) operator(()ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) operator(&)ident(data)operator(\)\)) operator({) ident(body) operator(=) operator(()ident(NODE) operator(*\))ident(data)operator(;) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(node)operator(->)ident(nd_mid)operator(\)\);) operator(}) operator(}) ident(defn) operator(=) ident(rb_copy_node_scope)operator(()ident(node)operator(->)ident(nd_defn)operator(,) ident(ruby_cref)operator(\);) ident(rb_add_method)operator(()ident(klass)operator(,) ident(node)operator(->)ident(nd_mid)operator(,) ident(defn)operator(,) ident(NOEX_PUBLIC)operator(|()ident(body)operator(?)ident(body)operator(->)ident(nd_noex)operator(&)ident(NOEX_UNDEF)operator(:)integer(0)operator(\)\);) ident(result) operator(=) ident(Qnil)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_UNDEF)operator(:) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_class)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(rb_undef)operator(()ident(ruby_class)operator(,) ident(rb_to_id)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(u2)operator(.)ident(node)operator(\)\)\);) ident(result) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_ALIAS)operator(:) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_class)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(rb_alias)operator(()ident(ruby_class)operator(,) ident(rb_to_id)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(u1)operator(.)ident(node)operator(\)\),) ident(rb_to_id)operator(()ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(u2)operator(.)ident(node)operator(\)\)\);) ident(result) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_VALIAS)operator(:) ident(rb_alias_variable)operator(()ident(node)operator(->)ident(u1)operator(.)ident(id)operator(,) ident(node)operator(->)ident(u2)operator(.)ident(id)operator(\);) ident(result) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_CLASS)operator(:) operator({) ident(VALUE) ident(super)operator(,) ident(klass)operator(,) ident(tmp)operator(,) ident(cbase)operator(;) ident(ID) ident(cname)operator(;) pre_type(int) ident(gen) operator(=) ident(Qfalse)operator(;) ident(cbase) operator(=) ident(class_prefix)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cpath)operator(\);) ident(cname) operator(=) ident(node)operator(->)ident(nd_cpath)operator(->)ident(nd_mid)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_cbase)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(node)operator(->)ident(nd_super)operator(\)) operator({) ident(super) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_super)operator(\);) ident(rb_check_inheritable)operator(()ident(super)operator(\);) operator(}) reserved(else) operator({) ident(super) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(rb_const_defined_at)operator(()ident(cbase)operator(,) ident(cname)operator(\)\)) operator({) ident(klass) operator(=) ident(rb_const_get_at)operator(()ident(cbase)operator(,) ident(cname)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(!=) ident(T_CLASS)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(cname)operator(\)\);) operator(}) reserved(if) operator(()ident(super)operator(\)) operator({) ident(tmp) operator(=) ident(rb_class_real)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(\);) reserved(if) operator(()ident(tmp) operator(!=) ident(super)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(cname)operator(\)\);) operator(}) ident(super) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) reserved(if) operator((!)ident(super)operator(\)) ident(super) operator(=) ident(rb_cObject)operator(;) ident(klass) operator(=) ident(rb_define_class_id)operator(()ident(cname)operator(,) ident(super)operator(\);) ident(rb_set_class_path)operator(()ident(klass)operator(,) ident(cbase)operator(,) ident(rb_id2name)operator(()ident(cname)operator(\)\);) ident(rb_const_set)operator(()ident(cbase)operator(,) ident(cname)operator(,) ident(klass)operator(\);) ident(gen) operator(=) ident(Qtrue)operator(;) operator(}) reserved(if) operator(()ident(ruby_wrapper)operator(\)) operator({) ident(rb_extend_object)operator(()ident(klass)operator(,) ident(ruby_wrapper)operator(\);) ident(rb_include_module)operator(()ident(klass)operator(,) ident(ruby_wrapper)operator(\);) operator(}) reserved(if) operator(()ident(super) operator(&&) ident(gen)operator(\)) operator({) ident(rb_class_inherited)operator(()ident(super)operator(,) ident(klass)operator(\);) operator(}) ident(result) operator(=) ident(module_setup)operator(()ident(klass)operator(,) ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_MODULE)operator(:) operator({) ident(VALUE) ident(module)operator(,) ident(cbase)operator(;) ident(ID) ident(cname)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_cbase)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(cbase) operator(=) ident(class_prefix)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_cpath)operator(\);) ident(cname) operator(=) ident(node)operator(->)ident(nd_cpath)operator(->)ident(nd_mid)operator(;) reserved(if) operator(()ident(rb_const_defined_at)operator(()ident(cbase)operator(,) ident(cname)operator(\)\)) operator({) ident(module) operator(=) ident(rb_const_get_at)operator(()ident(cbase)operator(,) ident(cname)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(module)operator(\)) operator(!=) ident(T_MODULE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(cname)operator(\)\);) operator(}) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(module) operator(=) ident(rb_define_module_id)operator(()ident(cname)operator(\);) ident(rb_set_class_path)operator(()ident(module)operator(,) ident(cbase)operator(,) ident(rb_id2name)operator(()ident(cname)operator(\)\);) ident(rb_const_set)operator(()ident(cbase)operator(,) ident(cname)operator(,) ident(module)operator(\);) operator(}) reserved(if) operator(()ident(ruby_wrapper)operator(\)) operator({) ident(rb_extend_object)operator(()ident(module)operator(,) ident(ruby_wrapper)operator(\);) ident(rb_include_module)operator(()ident(module)operator(,) ident(ruby_wrapper)operator(\);) operator(}) ident(result) operator(=) ident(module_setup)operator(()ident(module)operator(,) ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_SCLASS)operator(:) operator({) ident(VALUE) ident(klass)operator(;) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_recv)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(result)operator(\)) operator(||) ident(SYMBOL_P)operator(()ident(result)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(result)operator(\)\);) operator(}) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(result)operator(\)\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) ident(klass) operator(=) ident(rb_singleton_class)operator(()ident(result)operator(\);) reserved(if) operator(()ident(ruby_wrapper)operator(\)) operator({) ident(rb_extend_object)operator(()ident(klass)operator(,) ident(ruby_wrapper)operator(\);) ident(rb_include_module)operator(()ident(klass)operator(,) ident(ruby_wrapper)operator(\);) operator(}) ident(result) operator(=) ident(module_setup)operator(()ident(klass)operator(,) ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_DEFINED)operator(:) operator({) pre_type(char) ident(buf)operator([)integer(20)operator(];) pre_type(char) operator(*)ident(desc) operator(=) ident(is_defined)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_head)operator(,) ident(buf)operator(\);) reserved(if) operator(()ident(desc)operator(\)) ident(result) operator(=) ident(rb_str_new2)operator(()ident(desc)operator(\);) reserved(else) ident(result) operator(=) ident(Qnil)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_LINE)operator(,) ident(node)operator(,) ident(self)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) reserved(goto) ident(again)operator(;) reserved(default)operator(:) ident(unknown_node)operator(()ident(node)operator(\);) operator(}) label(finish:) ident(CHECK_INTS)operator(;) reserved(if) operator(()ident(contnode)operator(\)) operator({) ident(node) operator(=) ident(contnode)operator(;) ident(contnode) operator(=) integer(0)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(module_setup)operator(()ident(module)operator(,) ident(n)operator(\)) ident(VALUE) ident(module)operator(;) ident(NODE) operator(*)ident(n)operator(;) operator({) ident(NODE) operator(*) directive(volatile) ident(node) operator(=) ident(n)operator(->)ident(nd_body)operator(;) pre_type(int) ident(state)operator(;) reserved(struct) ident(FRAME) ident(frame)operator(;) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) comment(/* OK */) ident(TMP_PROTECT)operator(;) ident(frame) operator(=) operator(*)ident(ruby_frame)operator(;) ident(frame)operator(.)ident(tmp) operator(=) ident(ruby_frame)operator(;) ident(ruby_frame) operator(=) operator(&)ident(frame)operator(;) ident(PUSH_CLASS)operator(()ident(module)operator(\);) ident(PUSH_SCOPE)operator((\);) ident(PUSH_VARS)operator((\);) reserved(if) operator(()ident(node)operator(->)ident(nd_tbl)operator(\)) operator({) ident(VALUE) operator(*)ident(vars) operator(=) ident(TMP_ALLOC)operator(()ident(node)operator(->)ident(nd_tbl)operator([)integer(0)operator(]+)integer(1)operator(\);) operator(*)ident(vars)operator(++) operator(=) operator(()ident(VALUE)operator(\))ident(node)operator(;) ident(ruby_scope)operator(->)ident(local_vars) operator(=) ident(vars)operator(;) ident(rb_mem_clear)operator(()ident(ruby_scope)operator(->)ident(local_vars)operator(,) ident(node)operator(->)ident(nd_tbl)operator([)integer(0)operator(]\);) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) ident(node)operator(->)ident(nd_tbl)operator(;) operator(}) reserved(else) operator({) ident(ruby_scope)operator(->)ident(local_vars) operator(=) integer(0)operator(;) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) integer(0)operator(;) operator(}) ident(PUSH_CREF)operator(()ident(module)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_CLASS)operator(,) ident(n)operator(,) ident(ruby_cbase)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) ident(result) operator(=) ident(rb_eval)operator(()ident(ruby_cbase)operator(,) ident(node)operator(->)ident(nd_next)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(POP_CREF)operator((\);) ident(POP_VARS)operator((\);) ident(POP_SCOPE)operator((\);) ident(POP_CLASS)operator((\);) ident(ruby_frame) operator(=) ident(frame)operator(.)ident(tmp)operator(;) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_END)operator(,) ident(n)operator(,) integer(0)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(NODE) operator(*)ident(basic_respond_to) operator(=) integer(0)operator(;) pre_type(int) ident(rb_obj_respond_to)operator(()ident(obj)operator(,) ident(id)operator(,) ident(priv)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(priv)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(CLASS_OF)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(rb_method_node)operator(()ident(klass)operator(,) ident(respond_to)operator(\)) operator(==) ident(basic_respond_to)operator(\)) operator({) reserved(return) ident(rb_method_boundp)operator(()ident(klass)operator(,) ident(id)operator(,) operator(!)ident(priv)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) pre_type(int) ident(n) operator(=) integer(0)operator(;) ident(args)operator([)ident(n)operator(++]) operator(=) ident(ID2SYM)operator(()ident(id)operator(\);) reserved(if) operator(()ident(priv)operator(\)) ident(args)operator([)ident(n)operator(++]) operator(=) ident(Qtrue)operator(;) reserved(return) ident(RTEST)operator(()ident(rb_funcall2)operator(()ident(obj)operator(,) ident(respond_to)operator(,) ident(n)operator(,) ident(args)operator(\)\);) operator(}) operator(}) pre_type(int) ident(rb_respond_to)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_obj_respond_to)operator(()ident(obj)operator(,) ident(id)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* * call-seq: * obj.respond_to?(symbol, include_private=false\) => true or false * * Returns +true+> if _obj_ responds to the given * method. Private methods are included in the search only if the * optional second parameter evaluates to +true+. */) directive(static) ident(VALUE) ident(obj_respond_to)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(mid)operator(,) ident(priv)operator(;) ident(ID) ident(id)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(mid)operator(,) operator(&)ident(priv)operator(\);) ident(id) operator(=) ident(rb_to_id)operator(()ident(mid)operator(\);) reserved(if) operator(()ident(rb_method_boundp)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\),) ident(id)operator(,) operator(!)ident(RTEST)operator(()ident(priv)operator(\)\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * mod.method_defined?(symbol\) => true or false * * Returns +true+ if the named method is defined by * _mod_ (or its included modules and, if _mod_ is a class, * its ancestors\). Public and protected methods are matched. * * module A * def method1(\) end * end * class B * def method2(\) end * end * class C < B * include A * def method3(\) end * end * * A.method_defined? :method1 #=> true * C.method_defined? "method1" #=> true * C.method_defined? "method2" #=> true * C.method_defined? "method3" #=> true * C.method_defined? "method4" #=> false */) directive(static) ident(VALUE) ident(rb_mod_method_defined)operator(()ident(mod)operator(,) ident(mid)operator(\)) ident(VALUE) ident(mod)operator(,) ident(mid)operator(;) operator({) reserved(return) ident(rb_method_boundp)operator(()ident(mod)operator(,) ident(rb_to_id)operator(()ident(mid)operator(\),) integer(1)operator(\);) operator(}) preprocessor(#define) ident(VISI_CHECK)operator(()ident(x)operator(,)ident(f)operator(\)) operator(((()ident(x)operator(\)&)ident(NOEX_MASK)operator(\)) operator(==) operator(()ident(f)operator(\)\)) comment(/* * call-seq: * mod.public_method_defined?(symbol\) => true or false * * Returns +true+ if the named public method is defined by * _mod_ (or its included modules and, if _mod_ is a class, * its ancestors\). * * module A * def method1(\) end * end * class B * protected * def method2(\) end * end * class C < B * include A * def method3(\) end * end * * A.method_defined? :method1 #=> true * C.public_method_defined? "method1" #=> true * C.public_method_defined? "method2" #=> false * C.method_defined? "method2" #=> true */) directive(static) ident(VALUE) ident(rb_mod_public_method_defined)operator(()ident(mod)operator(,) ident(mid)operator(\)) ident(VALUE) ident(mod)operator(,) ident(mid)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(mid)operator(\);) pre_type(int) ident(noex)operator(;) reserved(if) operator(()ident(rb_get_method_body)operator((&)ident(mod)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) operator({) reserved(if) operator(()ident(VISI_CHECK)operator(()ident(noex)operator(,) ident(NOEX_PUBLIC)operator(\)\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * mod.private_method_defined?(symbol\) => true or false * * Returns +true+ if the named private method is defined by * _ mod_ (or its included modules and, if _mod_ is a class, * its ancestors\). * * module A * def method1(\) end * end * class B * private * def method2(\) end * end * class C < B * include A * def method3(\) end * end * * A.method_defined? :method1 #=> true * C.private_method_defined? "method1" #=> false * C.private_method_defined? "method2" #=> true * C.method_defined? "method2" #=> false */) directive(static) ident(VALUE) ident(rb_mod_private_method_defined)operator(()ident(mod)operator(,) ident(mid)operator(\)) ident(VALUE) ident(mod)operator(,) ident(mid)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(mid)operator(\);) pre_type(int) ident(noex)operator(;) reserved(if) operator(()ident(rb_get_method_body)operator((&)ident(mod)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) operator({) reserved(if) operator(()ident(VISI_CHECK)operator(()ident(noex)operator(,) ident(NOEX_PRIVATE)operator(\)\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * mod.protected_method_defined?(symbol\) => true or false * * Returns +true+ if the named protected method is defined * by _mod_ (or its included modules and, if _mod_ is a * class, its ancestors\). * * module A * def method1(\) end * end * class B * protected * def method2(\) end * end * class C < B * include A * def method3(\) end * end * * A.method_defined? :method1 #=> true * C.protected_method_defined? "method1" #=> false * C.protected_method_defined? "method2" #=> true * C.method_defined? "method2" #=> true */) directive(static) ident(VALUE) ident(rb_mod_protected_method_defined)operator(()ident(mod)operator(,) ident(mid)operator(\)) ident(VALUE) ident(mod)operator(,) ident(mid)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(mid)operator(\);) pre_type(int) ident(noex)operator(;) reserved(if) operator(()ident(rb_get_method_body)operator((&)ident(mod)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) operator({) reserved(if) operator(()ident(VISI_CHECK)operator(()ident(noex)operator(,) ident(NOEX_PROTECTED)operator(\)\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) ident(NORETURN)operator(()directive(static) ident(VALUE) ident(terminate_process) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(\)\)\);) directive(static) ident(VALUE) ident(terminate_process)operator(()ident(status)operator(,) ident(mesg)operator(\)) pre_type(int) ident(status)operator(;) ident(VALUE) ident(mesg)operator(;) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(INT2NUM)operator(()ident(status)operator(\);) ident(args)operator([)integer(1)operator(]) operator(=) ident(mesg)operator(;) ident(rb_exc_raise)operator(()ident(rb_class_new_instance)operator(()integer(2)operator(,) ident(args)operator(,) ident(rb_eSystemExit)operator(\)\);) operator(}) directive(void) ident(rb_exit)operator(()ident(status)operator(\)) pre_type(int) ident(status)operator(;) operator({) reserved(if) operator(()ident(prot_tag)operator(\)) operator({) ident(terminate_process)operator(()ident(status)operator(,) ident(rb_str_new)operator(()stringoperator(,) integer(4)operator(\)\);) operator(}) ident(ruby_finalize)operator((\);) ident(exit)operator(()ident(status)operator(\);) operator(}) comment(/* * call-seq: * exit(integer=0\) * Kernel::exit(integer=0\) * Process::exit(integer=0\) * * Initiates the termination of the Ruby script by raising the * SystemExit exception. This exception may be caught. The * optional parameter is used to return a status code to the invoking * environment. * * begin * exit * puts "never get here" * rescue SystemExit * puts "rescued a SystemExit exception" * end * puts "after begin block" * * produces: * * rescued a SystemExit exception * after begin block * * Just prior to termination, Ruby executes any at_exit functions * (see Kernel::at_exit\) and runs any object finalizers (see * ObjectSpace::define_finalizer\). * * at_exit { puts "at_exit function" } * ObjectSpace.define_finalizer("string", proc { puts "in finalizer" }\) * exit * * produces: * * at_exit function * in finalizer */) ident(VALUE) ident(rb_f_exit)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(status)operator(;) pre_type(int) ident(istatus)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(status)operator(\)) operator(==) integer(1)operator(\)) operator({) reserved(switch) operator(()ident(status)operator(\)) operator({) reserved(case) ident(Qtrue)operator(:) ident(istatus) operator(=) ident(EXIT_SUCCESS)operator(;) reserved(break)operator(;) reserved(case) ident(Qfalse)operator(:) ident(istatus) operator(=) ident(EXIT_FAILURE)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(istatus) operator(=) ident(NUM2INT)operator(()ident(status)operator(\);) preprocessor(#if) ident(EXIT_SUCCESS) operator(!=) integer(0) reserved(if) operator(()ident(istatus) operator(==) integer(0)operator(\)) ident(istatus) operator(=) ident(EXIT_SUCCESS)operator(;) preprocessor(#endif) reserved(break)operator(;) operator(}) operator(}) reserved(else) operator({) ident(istatus) operator(=) ident(EXIT_SUCCESS)operator(;) operator(}) ident(rb_exit)operator(()ident(istatus)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call-seq: * abort * Kernel::abort * Process::abort * * Terminate execution immediately, effectively by calling * Kernel.exit(1\). If _msg_ is given, it is written * to STDERR prior to terminating. */) ident(VALUE) ident(rb_f_abort)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) operator({) ident(error_print)operator((\);) operator(}) ident(rb_exit)operator(()ident(EXIT_FAILURE)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(mesg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(mesg)operator(\);) ident(StringValue)operator(()ident(mesg)operator(\);) ident(rb_io_puts)operator(()integer(1)operator(,) operator(&)ident(mesg)operator(,) ident(rb_stderr)operator(\);) ident(terminate_process)operator(()ident(EXIT_FAILURE)operator(,) ident(mesg)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(void) ident(rb_iter_break)operator((\)) operator({) ident(break_jump)operator(()ident(Qnil)operator(\);) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(rb_longjmp) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(\)\)\);) directive(static) ident(VALUE) ident(make_backtrace) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(void) ident(rb_longjmp)operator(()ident(tag)operator(,) ident(mesg)operator(\)) pre_type(int) ident(tag)operator(;) ident(VALUE) ident(mesg)operator(;) operator({) ident(VALUE) ident(at)operator(;) ident(rb_thread_t) ident(th) operator(=) ident(curr_thread)operator(;) reserved(if) operator(()ident(rb_thread_set_raised)operator(()ident(th)operator(\)\)) operator({) ident(ruby_errinfo) operator(=) ident(exception_error)operator(;) ident(JUMP_TAG)operator(()ident(TAG_FATAL)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(mesg)operator(\)\)) ident(mesg) operator(=) ident(ruby_errinfo)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(mesg)operator(\)\)) operator({) ident(mesg) operator(=) ident(rb_exc_new)operator(()ident(rb_eRuntimeError)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) ident(ruby_set_current_source)operator((\);) reserved(if) operator(()ident(ruby_sourcefile) operator(&&) operator(!)ident(NIL_P)operator(()ident(mesg)operator(\)\)) operator({) ident(at) operator(=) ident(get_backtrace)operator(()ident(mesg)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(at)operator(\)\)) operator({) ident(at) operator(=) ident(make_backtrace)operator((\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(mesg)operator(\)\)) operator({) ident(mesg) operator(=) ident(rb_obj_dup)operator(()ident(mesg)operator(\);) operator(}) ident(set_backtrace)operator(()ident(mesg)operator(,) ident(at)operator(\);) operator(}) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(mesg)operator(\)\)) operator({) ident(ruby_errinfo) operator(=) ident(mesg)operator(;) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_debug)operator(\)) operator(&&) operator(!)ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)) operator(&&) operator(!)ident(rb_obj_is_kind_of)operator(()ident(ruby_errinfo)operator(,) ident(rb_eSystemExit)operator(\)\)) operator({) ident(VALUE) ident(e) operator(=) ident(ruby_errinfo)operator(;) pre_type(int) ident(status)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(StringValue)operator(()ident(e)operator(\);) ident(warn_printf)operator(()stringoperator(,) ident(rb_obj_classname)operator(()ident(ruby_errinfo)operator(\),) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(,) ident(RSTRING)operator(()ident(e)operator(\)->)ident(ptr)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(status) operator(==) ident(TAG_FATAL) operator(&&) ident(ruby_errinfo) operator(==) ident(exception_error)operator(\)) operator({) ident(ruby_errinfo) operator(=) ident(mesg)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(status)operator(\)) operator({) ident(rb_thread_reset_raised)operator(()ident(th)operator(\);) ident(JUMP_TAG)operator(()ident(status)operator(\);) operator(}) operator(}) ident(rb_trap_restore_mask)operator((\);) reserved(if) operator(()ident(tag) operator(!=) ident(TAG_FATAL)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_RAISE)operator(,) ident(ruby_current_node)operator(,) ident(ruby_frame)operator(->)ident(self)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(ruby_frame)operator(->)ident(last_class)operator(\);) operator(}) reserved(if) operator((!)ident(prot_tag)operator(\)) operator({) ident(error_print)operator((\);) operator(}) ident(rb_thread_raised_clear)operator(()ident(th)operator(\);) ident(JUMP_TAG)operator(()ident(tag)operator(\);) operator(}) directive(void) ident(rb_exc_jump)operator(()ident(mesg)operator(\)) ident(VALUE) ident(mesg)operator(;) operator({) ident(rb_thread_raised_clear)operator(()ident(rb_curr_thread)operator(\);) ident(ruby_errinfo) operator(=) ident(mesg)operator(;) ident(JUMP_TAG)operator(()ident(TAG_RAISE)operator(\);) operator(}) directive(void) ident(rb_exc_raise)operator(()ident(mesg)operator(\)) ident(VALUE) ident(mesg)operator(;) operator({) ident(rb_longjmp)operator(()ident(TAG_RAISE)operator(,) ident(mesg)operator(\);) operator(}) directive(void) ident(rb_exc_fatal)operator(()ident(mesg)operator(\)) ident(VALUE) ident(mesg)operator(;) operator({) ident(rb_longjmp)operator(()ident(TAG_FATAL)operator(,) ident(mesg)operator(\);) operator(}) directive(void) ident(rb_interrupt)operator((\)) operator({) ident(rb_raise)operator(()ident(rb_eInterrupt)operator(,) stringoperator(\);) operator(}) comment(/* * call-seq: * raise * raise(string\) * raise(exception [, string [, array]]\) * fail * fail(string\) * fail(exception [, string [, array]]\) * * With no arguments, raises the exception in $! or raises * a RuntimeError if $! is +nil+. * With a single +String+ argument, raises a * +RuntimeError+ with the string as a message. Otherwise, * the first parameter should be the name of an +Exception+ * class (or an object that returns an +Exception+ object when sent * an +exception+ message\). The optional second parameter sets the * message associated with the exception, and the third parameter is an * array of callback information. Exceptions are caught by the * +rescue+ clause of begin...end blocks. * * raise "Failed to create socket" * raise ArgumentError, "No parameters", caller */) directive(static) ident(VALUE) ident(rb_f_raise)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(rb_raise_jump)operator(()ident(rb_make_exception)operator(()ident(argc)operator(,) ident(argv)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) ident(VALUE) ident(rb_make_exception)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(mesg)operator(;) ident(ID) ident(exception)operator(;) pre_type(int) ident(n)operator(;) ident(mesg) operator(=) ident(Qnil)operator(;) reserved(switch) operator(()ident(argc)operator(\)) operator({) reserved(case) integer(0)operator(:) ident(mesg) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) reserved(if) operator(()ident(NIL_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) reserved(break)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(mesg) operator(=) ident(rb_exc_new3)operator(()ident(rb_eRuntimeError)operator(,) ident(argv)operator([)integer(0)operator(]\);) reserved(break)operator(;) operator(}) ident(n) operator(=) integer(0)operator(;) reserved(goto) ident(exception_call)operator(;) reserved(case) integer(2)operator(:) reserved(case) integer(3)operator(:) ident(n) operator(=) integer(1)operator(;) label(exception_call:) ident(exception) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(argv)operator([)integer(0)operator(],) ident(exception)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(mesg) operator(=) ident(rb_funcall)operator(()ident(argv)operator([)integer(0)operator(],) ident(exception)operator(,) ident(n)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(mesg)operator(,) ident(rb_eException)operator(\)\)) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(if) operator(()ident(argc)operator(>)integer(2)operator(\)) ident(set_backtrace)operator(()ident(mesg)operator(,) ident(argv)operator([)integer(2)operator(]\);) operator(}) reserved(return) ident(mesg)operator(;) operator(}) directive(static) directive(void) ident(rb_raise_jump)operator(()ident(mesg)operator(\)) ident(VALUE) ident(mesg)operator(;) operator({) reserved(if) operator(()ident(ruby_frame) operator(!=) ident(top_frame)operator(\)) operator({) ident(PUSH_FRAME)operator((\);) comment(/* fake frame */) operator(*)ident(ruby_frame) operator(=) operator(*)ident(_frame)operator(.)ident(prev)operator(->)ident(prev)operator(;) ident(rb_longjmp)operator(()ident(TAG_RAISE)operator(,) ident(mesg)operator(\);) ident(POP_FRAME)operator((\);) operator(}) ident(rb_longjmp)operator(()ident(TAG_RAISE)operator(,) ident(mesg)operator(\);) operator(}) directive(void) ident(rb_jump_tag)operator(()ident(tag)operator(\)) pre_type(int) ident(tag)operator(;) operator({) ident(JUMP_TAG)operator(()ident(tag)operator(\);) operator(}) pre_type(int) ident(rb_block_given_p)operator((\)) operator({) reserved(if) operator(()ident(ruby_frame)operator(->)ident(iter) operator(==) ident(ITER_CUR) operator(&&) ident(ruby_block)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_iterator_p)operator((\)) operator({) reserved(return) ident(rb_block_given_p)operator((\);) operator(}) comment(/* * call-seq: * block_given? => true or false * iterator? => true or false * * Returns true if yield would execute a * block in the current context. The iterator? form * is mildly deprecated. * * def try * if block_given? * yield * else * "no block" * end * end * try #=> "no block" * try { "hello" } #=> "hello" * try do "hello" end #=> "hello" */) directive(static) ident(VALUE) ident(rb_f_block_given_p)operator((\)) operator({) reserved(if) operator(()ident(ruby_frame)operator(->)ident(prev) operator(&&) ident(ruby_frame)operator(->)ident(prev)operator(->)ident(iter) operator(==) ident(ITER_CUR) operator(&&) ident(ruby_block)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) ident(VALUE) ident(rb_eThreadError)operator(;) ident(NORETURN)operator(()directive(static) directive(void) ident(proc_jump_error)operator(()pre_type(int)operator(,) ident(VALUE)operator(\)\);) directive(static) directive(void) ident(proc_jump_error)operator(()ident(state)operator(,) ident(result)operator(\)) pre_type(int) ident(state)operator(;) ident(VALUE) ident(result)operator(;) operator({) pre_type(char) ident(mesg)operator([)integer(32)operator(];) pre_type(char) operator(*)ident(statement)operator(;) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) ident(TAG_BREAK)operator(:) ident(statement) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(TAG_RETURN)operator(:) ident(statement) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(TAG_RETRY)operator(:) ident(statement) operator(=) stringoperator(;) reserved(break)operator(;) reserved(default)operator(:) ident(statement) operator(=) stringoperator(;) reserved(break)operator(;) comment(/* should not happen */) operator(}) ident(snprintf)operator(()ident(mesg)operator(,) reserved(sizeof) ident(mesg)operator(,) stringoperator(,) ident(statement)operator(\);) ident(localjump_error)operator(()ident(mesg)operator(,) ident(result)operator(,) ident(state)operator(\);) operator(}) directive(static) directive(void) ident(return_jump)operator(()ident(retval)operator(\)) ident(VALUE) ident(retval)operator(;) operator({) reserved(struct) ident(tag) operator(*)ident(tt) operator(=) ident(prot_tag)operator(;) pre_type(int) ident(yield) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(retval) operator(==) ident(Qundef)operator(\)) ident(retval) operator(=) ident(Qnil)operator(;) reserved(while) operator(()ident(tt)operator(\)) operator({) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(PROT_YIELD)operator(\)) operator({) ident(yield) operator(=) ident(Qtrue)operator(;) ident(tt) operator(=) ident(tt)operator(->)ident(prev)operator(;) operator(}) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(PROT_FUNC) operator(&&) ident(tt)operator(->)ident(frame)operator(->)ident(uniq) operator(==) ident(ruby_frame)operator(->)ident(uniq)operator(\)) operator({) ident(tt)operator(->)ident(dst) operator(=) operator(()ident(VALUE)operator(\))ident(ruby_frame)operator(->)ident(uniq)operator(;) ident(tt)operator(->)ident(retval) operator(=) ident(retval)operator(;) ident(JUMP_TAG)operator(()ident(TAG_RETURN)operator(\);) operator(}) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(PROT_LAMBDA) operator(&&) operator(!)ident(yield)operator(\)) operator({) ident(tt)operator(->)ident(dst) operator(=) operator(()ident(VALUE)operator(\))ident(tt)operator(->)ident(frame)operator(->)ident(uniq)operator(;) ident(tt)operator(->)ident(retval) operator(=) ident(retval)operator(;) ident(JUMP_TAG)operator(()ident(TAG_RETURN)operator(\);) operator(}) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(PROT_THREAD)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) ident(tt) operator(=) ident(tt)operator(->)ident(prev)operator(;) operator(}) ident(localjump_error)operator(()stringoperator(,) ident(retval)operator(,) ident(TAG_RETURN)operator(\);) operator(}) directive(static) directive(void) ident(break_jump)operator(()ident(retval)operator(\)) ident(VALUE) ident(retval)operator(;) operator({) reserved(struct) ident(tag) operator(*)ident(tt) operator(=) ident(prot_tag)operator(;) reserved(if) operator(()ident(retval) operator(==) ident(Qundef)operator(\)) ident(retval) operator(=) ident(Qnil)operator(;) reserved(while) operator(()ident(tt)operator(\)) operator({) reserved(switch) operator(()ident(tt)operator(->)ident(tag)operator(\)) operator({) reserved(case) ident(PROT_THREAD)operator(:) reserved(case) ident(PROT_YIELD)operator(:) reserved(case) ident(PROT_LOOP)operator(:) reserved(case) ident(PROT_LAMBDA)operator(:) ident(tt)operator(->)ident(dst) operator(=) operator(()ident(VALUE)operator(\))ident(tt)operator(->)ident(frame)operator(->)ident(uniq)operator(;) ident(tt)operator(->)ident(retval) operator(=) ident(retval)operator(;) ident(JUMP_TAG)operator(()ident(TAG_BREAK)operator(\);) reserved(break)operator(;) reserved(case) ident(PROT_FUNC)operator(:) ident(tt) operator(=) integer(0)operator(;) reserved(continue)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(tt) operator(=) ident(tt)operator(->)ident(prev)operator(;) operator(}) ident(localjump_error)operator(()stringoperator(,) ident(retval)operator(,) ident(TAG_BREAK)operator(\);) operator(}) directive(static) directive(void) ident(next_jump)operator(()ident(retval)operator(\)) ident(VALUE) ident(retval)operator(;) operator({) reserved(struct) ident(tag) operator(*)ident(tt) operator(=) ident(prot_tag)operator(;) reserved(if) operator(()ident(retval) operator(==) ident(Qundef)operator(\)) ident(retval) operator(=) ident(Qnil)operator(;) reserved(while) operator(()ident(tt)operator(\)) operator({) reserved(switch) operator(()ident(tt)operator(->)ident(tag)operator(\)) operator({) reserved(case) ident(PROT_THREAD)operator(:) reserved(case) ident(PROT_YIELD)operator(:) reserved(case) ident(PROT_LOOP)operator(:) reserved(case) ident(PROT_LAMBDA)operator(:) reserved(case) ident(PROT_FUNC)operator(:) ident(tt)operator(->)ident(dst) operator(=) operator(()ident(VALUE)operator(\))ident(tt)operator(->)ident(frame)operator(->)ident(uniq)operator(;) ident(tt)operator(->)ident(retval) operator(=) ident(retval)operator(;) ident(JUMP_TAG)operator(()ident(TAG_NEXT)operator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(tt) operator(=) ident(tt)operator(->)ident(prev)operator(;) operator(}) ident(localjump_error)operator(()stringoperator(,) ident(retval)operator(,) ident(TAG_NEXT)operator(\);) operator(}) directive(void) ident(rb_need_block)operator((\)) operator({) reserved(if) operator((!)ident(rb_block_given_p)operator((\)\)) operator({) ident(localjump_error)operator(()stringoperator(,) ident(Qnil)operator(,) integer(0)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(rb_yield_0)operator(()ident(val)operator(,) ident(self)operator(,) ident(klass)operator(,) ident(flags)operator(,) ident(avalue)operator(\)) ident(VALUE) ident(val)operator(,) ident(self)operator(,) ident(klass)operator(;) comment(/* OK */) pre_type(int) ident(flags)operator(,) ident(avalue)operator(;) operator({) ident(NODE) operator(*)ident(node)operator(;) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) directive(volatile) ident(VALUE) ident(old_cref)operator(;) directive(volatile) ident(VALUE) ident(old_wrapper)operator(;) reserved(struct) ident(BLOCK) operator(*) directive(volatile) ident(block)operator(;) reserved(struct) ident(SCOPE) operator(*) directive(volatile) ident(old_scope)operator(;) pre_type(int) ident(old_vmode)operator(;) reserved(struct) ident(FRAME) ident(frame)operator(;) ident(NODE) operator(*)ident(cnode) operator(=) ident(ruby_current_node)operator(;) pre_type(int) ident(lambda) operator(=) ident(flags) operator(&) ident(YIELD_LAMBDA_CALL)operator(;) pre_type(int) ident(state)operator(;) ident(rb_need_block)operator((\);) ident(PUSH_VARS)operator((\);) ident(block) operator(=) ident(ruby_block)operator(;) ident(frame) operator(=) ident(block)operator(->)ident(frame)operator(;) ident(frame)operator(.)ident(prev) operator(=) ident(ruby_frame)operator(;) ident(frame)operator(.)ident(node) operator(=) ident(cnode)operator(;) ident(ruby_frame) operator(=) operator(&()ident(frame)operator(\);) ident(old_cref) operator(=) operator(()ident(VALUE)operator(\))ident(ruby_cref)operator(;) ident(ruby_cref) operator(=) ident(block)operator(->)ident(cref)operator(;) ident(old_wrapper) operator(=) ident(ruby_wrapper)operator(;) ident(ruby_wrapper) operator(=) ident(block)operator(->)ident(wrapper)operator(;) ident(old_scope) operator(=) ident(ruby_scope)operator(;) ident(ruby_scope) operator(=) ident(block)operator(->)ident(scope)operator(;) ident(old_vmode) operator(=) ident(scope_vmode)operator(;) ident(scope_vmode) operator(=) operator(()ident(flags) operator(&) ident(YIELD_PUBLIC_DEF)operator(\)) operator(?) ident(SCOPE_PUBLIC) operator(:) ident(block)operator(->)ident(vmode)operator(;) ident(ruby_block) operator(=) ident(block)operator(->)ident(prev)operator(;) reserved(if) operator(()ident(block)operator(->)ident(flags) operator(&) ident(BLOCK_D_SCOPE)operator(\)) operator({) comment(/* put place holder for dynamic (in-block\) local variables */) ident(ruby_dyna_vars) operator(=) ident(new_dvar)operator(()integer(0)operator(,) integer(0)operator(,) ident(block)operator(->)ident(dyna_vars)operator(\);) operator(}) reserved(else) operator({) comment(/* FOR does not introduce new scope */) ident(ruby_dyna_vars) operator(=) ident(block)operator(->)ident(dyna_vars)operator(;) operator(}) ident(PUSH_CLASS)operator(()ident(klass) operator(?) ident(klass) operator(:) ident(block)operator(->)ident(klass)operator(\);) reserved(if) operator((!)ident(klass)operator(\)) operator({) ident(self) operator(=) ident(block)operator(->)ident(self)operator(;) operator(}) ident(node) operator(=) ident(block)operator(->)ident(body)operator(;) reserved(if) operator(()ident(block)operator(->)ident(var)operator(\)) operator({) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(block)operator(->)ident(var) operator(==) operator(()ident(NODE)operator(*\))integer(1)operator(\)) operator({) comment(/* no parameter || */) reserved(if) operator(()ident(lambda) operator(&&) ident(RARRAY)operator(()ident(val)operator(\)->)ident(len) operator(!=) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(RARRAY)operator(()ident(val)operator(\)->)ident(len)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(block)operator(->)ident(var) operator(==) operator(()ident(NODE)operator(*\))integer(2)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(==) ident(T_ARRAY) operator(&&) ident(RARRAY)operator(()ident(val)operator(\)->)ident(len) operator(!=) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(RARRAY)operator(()ident(val)operator(\)->)ident(len)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(nd_type)operator(()ident(block)operator(->)ident(var)operator(\)) operator(==) ident(NODE_MASGN)operator(\)) operator({) reserved(if) operator((!)ident(avalue)operator(\)) operator({) ident(val) operator(=) ident(svalue_to_mrhs)operator(()ident(val)operator(,) ident(block)operator(->)ident(var)operator(->)ident(nd_head)operator(\);) operator(}) ident(massign)operator(()ident(self)operator(,) ident(block)operator(->)ident(var)operator(,) ident(val)operator(,) ident(lambda)operator(\);) operator(}) reserved(else) operator({) pre_type(int) ident(len) operator(=) integer(0)operator(;) reserved(if) operator(()ident(avalue)operator(\)) operator({) ident(len) operator(=) ident(RARRAY)operator(()ident(val)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) operator({) reserved(goto) ident(zero_arg)operator(;) operator(}) reserved(if) operator(()ident(len) operator(==) integer(1)operator(\)) operator({) ident(val) operator(=) ident(RARRAY)operator(()ident(val)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) reserved(else) operator({) reserved(goto) ident(multi_values)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(val) operator(==) ident(Qundef)operator(\)) operator({) label(zero_arg:) ident(val) operator(=) ident(Qnil)operator(;) label(multi_values:) operator({) ident(ruby_current_node) operator(=) ident(block)operator(->)ident(var)operator(;) ident(rb_warn)operator(()stringoperator(,) ident(len)operator(,) ident(cnode)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(cnode)operator(\)\);) ident(ruby_current_node) operator(=) ident(cnode)operator(;) operator(}) operator(}) ident(assign)operator(()ident(self)operator(,) ident(block)operator(->)ident(var)operator(,) ident(val)operator(,) ident(lambda)operator(\);) operator(}) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) reserved(goto) ident(pop_state)operator(;) operator(}) reserved(if) operator((!)ident(node)operator(\)) operator({) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(pop_state)operator(;) operator(}) ident(ruby_current_node) operator(=) ident(node)operator(;) ident(PUSH_ITER)operator(()ident(block)operator(->)ident(iter)operator(\);) ident(PUSH_TAG)operator(()ident(lambda) operator(?) ident(PROT_NONE) operator(:) ident(PROT_YIELD)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) label(redo:) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_CFUNC) operator(||) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_IFUNC)operator(\)) operator({) reserved(if) operator(()ident(node)operator(->)ident(nd_state) operator(==) ident(YIELD_FUNC_AVALUE)operator(\)) operator({) reserved(if) operator((!)ident(avalue)operator(\)) operator({) ident(val) operator(=) ident(svalue_to_avalue)operator(()ident(val)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(avalue)operator(\)) operator({) ident(val) operator(=) ident(avalue_to_svalue)operator(()ident(val)operator(\);) operator(}) reserved(if) operator(()ident(val) operator(==) ident(Qundef) operator(&&) ident(node)operator(->)ident(nd_state) operator(!=) ident(YIELD_FUNC_SVALUE)operator(\)) ident(val) operator(=) ident(Qnil)operator(;) operator(}) ident(result) operator(=) operator((*)ident(node)operator(->)ident(nd_cfnc)operator(\)()ident(val)operator(,) ident(node)operator(->)ident(nd_tval)operator(,) ident(self)operator(\);) operator(}) reserved(else) operator({) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) ident(TAG_REDO)operator(:) ident(state) operator(=) integer(0)operator(;) ident(CHECK_INTS)operator(;) reserved(goto) ident(redo)operator(;) reserved(case) ident(TAG_NEXT)operator(:) reserved(if) operator((!)ident(lambda)operator(\)) operator({) ident(state) operator(=) integer(0)operator(;) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(TAG_BREAK)operator(:) reserved(if) operator(()ident(TAG_DST)operator((\)\)) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) reserved(else) operator({) ident(lambda) operator(=) ident(Qtrue)operator(;) comment(/* just pass TAG_BREAK */) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) ident(POP_TAG)operator((\);) ident(POP_ITER)operator((\);) label(pop_state:) ident(POP_CLASS)operator((\);) reserved(if) operator(()ident(ruby_dyna_vars) operator(&&) operator(()ident(block)operator(->)ident(flags) operator(&) ident(BLOCK_D_SCOPE)operator(\)) operator(&&) operator(!)ident(FL_TEST)operator(()ident(ruby_dyna_vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\)\)) operator({) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(if) operator(()ident(ruby_dyna_vars)operator(->)ident(id) operator(==) integer(0)operator(\)) operator({) ident(vars) operator(=) ident(ruby_dyna_vars)operator(->)ident(next)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(ruby_dyna_vars)operator(\);) reserved(while) operator(()ident(vars) operator(&&) ident(vars)operator(->)ident(id) operator(!=) integer(0) operator(&&) ident(vars) operator(!=) ident(block)operator(->)ident(dyna_vars)operator(\)) operator({) reserved(struct) ident(RVarmap) operator(*)ident(tmp) operator(=) ident(vars)operator(->)ident(next)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(vars)operator(\);) ident(vars) operator(=) ident(tmp)operator(;) operator(}) operator(}) operator(}) ident(POP_VARS)operator((\);) ident(ruby_block) operator(=) ident(block)operator(;) ident(ruby_frame) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(;) ident(ruby_cref) operator(=) operator(()ident(NODE)operator(*\))ident(old_cref)operator(;) ident(ruby_wrapper) operator(=) ident(old_wrapper)operator(;) reserved(if) operator(()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_DONT_RECYCLE)operator(\)) ident(scope_dup)operator(()ident(old_scope)operator(\);) ident(ruby_scope) operator(=) ident(old_scope)operator(;) ident(scope_vmode) operator(=) ident(old_vmode)operator(;) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(case) ident(TAG_BREAK)operator(:) reserved(if) operator((!)ident(lambda)operator(\)) operator({) reserved(struct) ident(tag) operator(*)ident(tt) operator(=) ident(prot_tag)operator(;) reserved(while) operator(()ident(tt)operator(\)) operator({) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(PROT_LOOP) operator(&&) ident(tt)operator(->)ident(blkid) operator(==) ident(ruby_block)operator(->)ident(uniq)operator(\)) operator({) ident(tt)operator(->)ident(dst) operator(=) operator(()ident(VALUE)operator(\))ident(tt)operator(->)ident(frame)operator(->)ident(uniq)operator(;) ident(tt)operator(->)ident(retval) operator(=) ident(result)operator(;) ident(JUMP_TAG)operator(()ident(TAG_BREAK)operator(\);) operator(}) ident(tt) operator(=) ident(tt)operator(->)ident(prev)operator(;) operator(}) ident(proc_jump_error)operator(()ident(TAG_BREAK)operator(,) ident(result)operator(\);) operator(}) comment(/* fall through */) reserved(default)operator(:) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(break)operator(;) operator(}) ident(ruby_current_node) operator(=) ident(cnode)operator(;) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_yield)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(return) ident(rb_yield_0)operator(()ident(val)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(Qfalse)operator(\);) operator(}) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_yield_values)operator(()pre_type(int) ident(n)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_yield_values)operator(()ident(n)operator(,) ident(va_alist)operator(\)) pre_type(int) ident(n)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(args)operator(;) ident(VALUE) ident(ary)operator(;) reserved(if) operator(()ident(n) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_yield_0)operator(()ident(Qundef)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(Qfalse)operator(\);) operator(}) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(n)operator(\);) ident(va_init_list)operator(()ident(args)operator(,) ident(n)operator(\);) reserved(while) operator(()ident(n)operator(--\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(va_arg)operator(()ident(args)operator(,) ident(VALUE)operator(\)\);) operator(}) ident(va_end)operator(()ident(args)operator(\);) reserved(return) ident(rb_yield_0)operator(()ident(ary)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(Qtrue)operator(\);) operator(}) ident(VALUE) ident(rb_yield_splat)operator(()ident(values)operator(\)) ident(VALUE) ident(values)operator(;) operator({) pre_type(int) ident(avalue) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(values)operator(\)) operator(==) ident(T_ARRAY)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(values)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(values) operator(=) ident(Qundef)operator(;) operator(}) reserved(else) operator({) ident(avalue) operator(=) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(rb_yield_0)operator(()ident(values)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(avalue)operator(\);) operator(}) comment(/* * call-seq: * loop {|| block } * * Repeatedly executes the block. * * loop do * print "Input: " * line = gets * break if !line or line =~ /^qQ/ * # ... * end */) directive(static) ident(VALUE) ident(rb_f_loop)operator((\)) operator({) reserved(for) operator((;;\)) operator({) ident(rb_yield_0)operator(()ident(Qundef)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(Qfalse)operator(\);) ident(CHECK_INTS)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* dummy */) operator(}) directive(static) ident(VALUE) ident(massign)operator(()ident(self)operator(,) ident(node)operator(,) ident(val)operator(,) ident(pcall)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(node)operator(;) ident(VALUE) ident(val)operator(;) pre_type(int) ident(pcall)operator(;) operator({) ident(NODE) operator(*)ident(list)operator(;) pre_type(long) ident(i) operator(=) integer(0)operator(,) ident(len)operator(;) ident(len) operator(=) ident(RARRAY)operator(()ident(val)operator(\)->)ident(len)operator(;) ident(list) operator(=) ident(node)operator(->)ident(nd_head)operator(;) reserved(for) operator((;) ident(list) operator(&&) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(assign)operator(()ident(self)operator(,) ident(list)operator(->)ident(nd_head)operator(,) ident(RARRAY)operator(()ident(val)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(pcall)operator(\);) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator(()ident(pcall) operator(&&) ident(list)operator(\)) reserved(goto) ident(arg_error)operator(;) reserved(if) operator(()ident(node)operator(->)ident(nd_args)operator(\)) operator({) reserved(if) operator((()pre_type(long)operator(\)()ident(node)operator(->)ident(nd_args)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) comment(/* no check for mere `*' */) operator(}) reserved(else) reserved(if) operator((!)ident(list) operator(&&) ident(i)operator(<)ident(len)operator(\)) operator({) ident(assign)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_args)operator(,) ident(rb_ary_new4)operator(()ident(len)operator(-)ident(i)operator(,) ident(RARRAY)operator(()ident(val)operator(\)->)ident(ptr)operator(+)ident(i)operator(\),) ident(pcall)operator(\);) operator(}) reserved(else) operator({) ident(assign)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_args)operator(,) ident(rb_ary_new2)operator(()integer(0)operator(\),) ident(pcall)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(pcall) operator(&&) ident(i) operator(<) ident(len)operator(\)) operator({) reserved(goto) ident(arg_error)operator(;) operator(}) reserved(while) operator(()ident(list)operator(\)) operator({) ident(i)operator(++;) ident(assign)operator(()ident(self)operator(,) ident(list)operator(->)ident(nd_head)operator(,) ident(Qnil)operator(,) ident(pcall)operator(\);) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) operator(}) reserved(return) ident(val)operator(;) label(arg_error:) reserved(while) operator(()ident(list)operator(\)) operator({) ident(i)operator(++;) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) operator(}) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(len)operator(,) ident(i)operator(\);) operator(}) directive(static) directive(void) ident(assign)operator(()ident(self)operator(,) ident(lhs)operator(,) ident(val)operator(,) ident(pcall)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(lhs)operator(;) ident(VALUE) ident(val)operator(;) pre_type(int) ident(pcall)operator(;) operator({) ident(ruby_current_node) operator(=) ident(lhs)operator(;) reserved(if) operator(()ident(val) operator(==) ident(Qundef)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) ident(val) operator(=) ident(Qnil)operator(;) operator(}) reserved(switch) operator(()ident(nd_type)operator(()ident(lhs)operator(\)\)) operator({) reserved(case) ident(NODE_GASGN)operator(:) ident(rb_gvar_set)operator(()ident(lhs)operator(->)ident(nd_entry)operator(,) ident(val)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_IASGN)operator(:) ident(rb_ivar_set)operator(()ident(self)operator(,) ident(lhs)operator(->)ident(nd_vid)operator(,) ident(val)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_LASGN)operator(:) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_vars) operator(==) integer(0)operator(\)) ident(rb_bug)operator(()stringoperator(\);) ident(ruby_scope)operator(->)ident(local_vars)operator([)ident(lhs)operator(->)ident(nd_cnt)operator(]) operator(=) ident(val)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_DASGN)operator(:) ident(dvar_asgn)operator(()ident(lhs)operator(->)ident(nd_vid)operator(,) ident(val)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DASGN_CURR)operator(:) ident(dvar_asgn_curr)operator(()ident(lhs)operator(->)ident(nd_vid)operator(,) ident(val)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CDECL)operator(:) reserved(if) operator(()ident(lhs)operator(->)ident(nd_vid) operator(==) integer(0)operator(\)) operator({) ident(rb_const_set)operator(()ident(class_prefix)operator(()ident(self)operator(,) ident(lhs)operator(->)ident(nd_else)operator(\),) ident(lhs)operator(->)ident(nd_else)operator(->)ident(nd_mid)operator(,) ident(val)operator(\);) operator(}) reserved(else) operator({) ident(rb_const_set)operator(()ident(ruby_cbase)operator(,) ident(lhs)operator(->)ident(nd_vid)operator(,) ident(val)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_CVDECL)operator(:) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)) operator(&&) ident(FL_TEST)operator(()ident(ruby_cbase)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) ident(rb_cvar_set)operator(()ident(cvar_cbase)operator((\),) ident(lhs)operator(->)ident(nd_vid)operator(,) ident(val)operator(,) ident(Qtrue)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CVASGN)operator(:) ident(rb_cvar_set)operator(()ident(cvar_cbase)operator((\),) ident(lhs)operator(->)ident(nd_vid)operator(,) ident(val)operator(,) ident(Qfalse)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_MASGN)operator(:) ident(massign)operator(()ident(self)operator(,) ident(lhs)operator(,) ident(svalue_to_mrhs)operator(()ident(val)operator(,) ident(lhs)operator(->)ident(nd_head)operator(\),) ident(pcall)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_CALL)operator(:) reserved(case) ident(NODE_ATTRASGN)operator(:) operator({) ident(VALUE) ident(recv)operator(;) pre_type(int) ident(scope)operator(;) reserved(if) operator(()ident(lhs)operator(->)ident(nd_recv) operator(==) operator(()ident(NODE) operator(*\))integer(1)operator(\)) operator({) ident(recv) operator(=) ident(self)operator(;) ident(scope) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(recv) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(lhs)operator(->)ident(nd_recv)operator(\);) ident(scope) operator(=) integer(0)operator(;) operator(}) reserved(if) operator((!)ident(lhs)operator(->)ident(nd_args)operator(\)) operator({) comment(/* attr set */) ident(ruby_current_node) operator(=) ident(lhs)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(lhs)operator(->)ident(nd_mid)operator(,) integer(1)operator(,) operator(&)ident(val)operator(,) ident(scope)operator(,) ident(self)operator(\);) operator(}) reserved(else) operator({) comment(/* array set */) ident(VALUE) ident(args)operator(;) ident(args) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(lhs)operator(->)ident(nd_args)operator(\);) ident(rb_ary_push)operator(()ident(args)operator(,) ident(val)operator(\);) ident(ruby_current_node) operator(=) ident(lhs)operator(;) ident(SET_CURRENT_SOURCE)operator((\);) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(lhs)operator(->)ident(nd_mid)operator(,) ident(RARRAY)operator(()ident(args)operator(\)->)ident(len)operator(,) ident(RARRAY)operator(()ident(args)operator(\)->)ident(ptr)operator(,) ident(scope)operator(,) ident(self)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(\);) reserved(break)operator(;) operator(}) operator(}) ident(VALUE) ident(rb_iterate)operator(()ident(it_proc)operator(,) ident(data1)operator(,) ident(bl_proc)operator(,) ident(data2)operator(\)) ident(VALUE) operator((*)ident(it_proc)operator(\)) ident(_)operator((()ident(VALUE)operator(\)\),) operator((*)ident(bl_proc)operator(\)()ident(ANYARGS)operator(\);) ident(VALUE) ident(data1)operator(,) ident(data2)operator(;) operator({) pre_type(int) ident(state)operator(;) directive(volatile) ident(VALUE) ident(retval) operator(=) ident(Qnil)operator(;) ident(NODE) operator(*)ident(node) operator(=) ident(NEW_IFUNC)operator(()ident(bl_proc)operator(,) ident(data2)operator(\);) ident(VALUE) ident(self) operator(=) ident(ruby_top_self)operator(;) ident(PUSH_TAG)operator(()ident(PROT_LOOP)operator(\);) ident(PUSH_BLOCK)operator(()integer(0)operator(,) ident(node)operator(\);) ident(PUSH_ITER)operator(()ident(ITER_PRE)operator(\);) ident(state) operator(=) ident(EXEC_TAG)operator((\);) reserved(if) operator(()ident(state) operator(==) integer(0)operator(\)) operator({) label(iter_retry:) ident(retval) operator(=) operator((*)ident(it_proc)operator(\)()ident(data1)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_BREAK) operator(&&) ident(TAG_DST)operator((\)\)) operator({) ident(retval) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) ident(state) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_RETRY)operator(\)) operator({) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(iter_retry)operator(;) operator(}) ident(POP_ITER)operator((\);) ident(POP_BLOCK)operator((\);) ident(POP_TAG)operator((\);) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(return) ident(retval)operator(;) operator(}) directive(static) pre_type(int) ident(handle_rescue)operator(()ident(self)operator(,) ident(node)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(node)operator(;) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* used in SETUP_ARGS */) ident(TMP_PROTECT)operator(;) reserved(if) operator((!)ident(node)operator(->)ident(nd_args)operator(\)) operator({) reserved(return) ident(rb_obj_is_kind_of)operator(()ident(ruby_errinfo)operator(,) ident(rb_eStandardError)operator(\);) operator(}) ident(BEGIN_CALLARGS)operator(;) ident(SETUP_ARGS)operator(()ident(node)operator(->)ident(nd_args)operator(\);) ident(END_CALLARGS)operator(;) reserved(while) operator(()ident(argc)operator(--\)) operator({) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(argv)operator([)integer(0)operator(],) ident(rb_cModule)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator((*)ident(argv)operator(,) ident(eqq)operator(,) integer(1)operator(,) ident(ruby_errinfo)operator(\)\)\)) reserved(return) integer(1)operator(;) ident(argv)operator(++;) operator(}) reserved(return) integer(0)operator(;) operator(}) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_rescue2)operator(()ident(VALUE) operator((*)ident(b_proc)operator(\)()ident(ANYARGS)operator(\),) ident(VALUE) ident(data1)operator(,) ident(VALUE) operator((*)ident(r_proc)operator(\)()ident(ANYARGS)operator(\),) ident(VALUE) ident(data2)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_rescue2)operator(()ident(b_proc)operator(,) ident(data1)operator(,) ident(r_proc)operator(,) ident(data2)operator(,) ident(va_alist)operator(\)) ident(VALUE) operator((*)ident(b_proc)operator(\)()ident(ANYARGS)operator(\),) operator((*)ident(r_proc)operator(\)()ident(ANYARGS)operator(\);) ident(VALUE) ident(data1)operator(,) ident(data2)operator(;) ident(va_dcl) preprocessor(#endif) operator({) pre_type(int) ident(state)operator(;) directive(volatile) ident(VALUE) ident(result)operator(;) directive(volatile) ident(VALUE) ident(e_info) operator(=) ident(ruby_errinfo)operator(;) directive(volatile) pre_type(int) ident(handle) operator(=) ident(Qfalse)operator(;) ident(VALUE) ident(eclass)operator(;) ident(va_list) ident(args)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(switch) operator(()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator({) reserved(case) ident(TAG_RETRY)operator(:) reserved(if) operator((!)ident(handle)operator(\)) reserved(break)operator(;) ident(handle) operator(=) ident(Qfalse)operator(;) ident(state) operator(=) integer(0)operator(;) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) reserved(case) integer(0)operator(:) ident(result) operator(=) operator((*)ident(b_proc)operator(\)()ident(data1)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_RAISE)operator(:) reserved(if) operator(()ident(handle)operator(\)) reserved(break)operator(;) ident(handle) operator(=) ident(Qfalse)operator(;) ident(va_init_list)operator(()ident(args)operator(,) ident(data2)operator(\);) reserved(while) operator((()ident(eclass) operator(=) ident(va_arg)operator(()ident(args)operator(,) ident(VALUE)operator(\)\)) operator(!=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(ruby_errinfo)operator(,) ident(eclass)operator(\)\)) operator({) ident(handle) operator(=) ident(Qtrue)operator(;) reserved(break)operator(;) operator(}) operator(}) ident(va_end)operator(()ident(args)operator(\);) reserved(if) operator(()ident(handle)operator(\)) operator({) ident(state) operator(=) integer(0)operator(;) reserved(if) operator(()ident(r_proc)operator(\)) operator({) ident(result) operator(=) operator((*)ident(r_proc)operator(\)()ident(data2)operator(,) ident(ruby_errinfo)operator(\);) operator(}) reserved(else) operator({) ident(result) operator(=) ident(Qnil)operator(;) operator(}) ident(ruby_errinfo) operator(=) ident(e_info)operator(;) operator(}) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_rescue)operator(()ident(b_proc)operator(,) ident(data1)operator(,) ident(r_proc)operator(,) ident(data2)operator(\)) ident(VALUE) operator((*)ident(b_proc)operator(\)(\),) operator((*)ident(r_proc)operator(\)(\);) ident(VALUE) ident(data1)operator(,) ident(data2)operator(;) operator({) reserved(return) ident(rb_rescue2)operator(()ident(b_proc)operator(,) ident(data1)operator(,) ident(r_proc)operator(,) ident(data2)operator(,) ident(rb_eStandardError)operator(,) operator(()ident(VALUE)operator(\))integer(0)operator(\);) operator(}) directive(static) ident(VALUE) ident(cont_protect)operator(;) ident(VALUE) ident(rb_protect)operator(()ident(proc)operator(,) ident(data)operator(,) ident(state)operator(\)) ident(VALUE) operator((*)ident(proc)operator(\)) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(data)operator(;) pre_type(int) operator(*)ident(state)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) comment(/* OK */) pre_type(int) ident(status)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) ident(cont_protect) operator(=) operator(()ident(VALUE)operator(\))ident(rb_node_newnode)operator(()ident(NODE_MEMO)operator(,) ident(cont_protect)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) operator((*)ident(proc)operator(\)()ident(data)operator(\);) operator(}) ident(cont_protect) operator(=) operator((()ident(NODE) operator(*\))ident(cont_protect)operator(\)->)ident(u1)operator(.)ident(value)operator(;) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) operator({) operator(*)ident(state) operator(=) ident(status)operator(;) operator(}) reserved(if) operator(()ident(status) operator(!=) integer(0)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_ensure)operator(()ident(b_proc)operator(,) ident(data1)operator(,) ident(e_proc)operator(,) ident(data2)operator(\)) ident(VALUE) operator((*)ident(b_proc)operator(\)(\);) ident(VALUE) ident(data1)operator(;) ident(VALUE) operator((*)ident(e_proc)operator(\)(\);) ident(VALUE) ident(data2)operator(;) operator({) pre_type(int) ident(state)operator(;) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) ident(VALUE) ident(retval)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) operator((*)ident(b_proc)operator(\)()ident(data1)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(retval) operator(=) ident(prot_tag) operator(?) ident(prot_tag)operator(->)ident(retval) operator(:) ident(Qnil)operator(;) comment(/* save retval */) reserved(if) operator((!)ident(thread_no_ensure)operator((\)\)) operator({) operator((*)ident(e_proc)operator(\)()ident(data2)operator(\);) operator(}) reserved(if) operator(()ident(prot_tag)operator(\)) ident(return_value)operator(()ident(retval)operator(\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_with_disable_interrupt)operator(()ident(proc)operator(,) ident(data)operator(\)) ident(VALUE) operator((*)ident(proc)operator(\)(\);) ident(VALUE) ident(data)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) comment(/* OK */) pre_type(int) ident(status)operator(;) ident(DEFER_INTS)operator(;) operator({) pre_type(int) ident(thr_critical) operator(=) ident(rb_thread_critical)operator(;) ident(rb_thread_critical) operator(=) ident(Qtrue)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) operator((*)ident(proc)operator(\)()ident(data)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(rb_thread_critical) operator(=) ident(thr_critical)operator(;) operator(}) ident(ENABLE_INTS)operator(;) reserved(if) operator(()ident(status)operator(\)) ident(JUMP_TAG)operator(()ident(status)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) directive(void) ident(stack_check)operator((\)) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_curr_thread)operator(;) reserved(if) operator((!)ident(rb_thread_raised_p)operator(()ident(th)operator(,) ident(RAISED_STACKOVERFLOW)operator(\)) operator(&&) ident(ruby_stack_check)operator((\)\)) operator({) ident(rb_thread_raised_set)operator(()ident(th)operator(,) ident(RAISED_STACKOVERFLOW)operator(\);) ident(rb_exc_raise)operator(()ident(sysstack_error)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(last_call_status)operator(;) preprocessor(#define) ident(CSTAT_PRIV) integer(1) preprocessor(#define) ident(CSTAT_PROT) integer(2) preprocessor(#define) ident(CSTAT_VCALL) integer(4) preprocessor(#define) ident(CSTAT_SUPER) integer(8) comment(/* * call-seq: * obj.method_missing(symbol [, *args] \) => result * * Invoked by Ruby when obj is sent a message it cannot handle. * symbol is the symbol for the method called, and args * are any arguments that were passed to it. By default, the interpreter * raises an error when this method is called. However, it is possible * to override the method to provide more dynamic behavior. * The example below creates * a class Roman, which responds to methods with names * consisting of roman numerals, returning the corresponding integer * values. * * class Roman * def romanToInt(str\) * # ... * end * def method_missing(methId\) * str = methId.id2name * romanToInt(str\) * end * end * * r = Roman.new * r.iv #=> 4 * r.xxiii #=> 23 * r.mm #=> 2000 */) directive(static) ident(VALUE) ident(rb_method_missing)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(ID) ident(id)operator(;) ident(VALUE) ident(exc) operator(=) ident(rb_eNoMethodError)operator(;) pre_type(char) operator(*)ident(format) operator(=) integer(0)operator(;) ident(NODE) operator(*)ident(cnode) operator(=) ident(ruby_current_node)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0) operator(||) operator(!)ident(SYMBOL_P)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(stack_check)operator((\);) ident(id) operator(=) ident(SYM2ID)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(last_call_status) operator(&) ident(CSTAT_PRIV)operator(\)) operator({) ident(format) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(last_call_status) operator(&) ident(CSTAT_PROT)operator(\)) operator({) ident(format) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(last_call_status) operator(&) ident(CSTAT_VCALL)operator(\)) operator({) ident(format) operator(=) stringoperator(;) ident(exc) operator(=) ident(rb_eNameError)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(last_call_status) operator(&) ident(CSTAT_SUPER)operator(\)) operator({) ident(format) operator(=) stringoperator(;) operator(}) reserved(if) operator((!)ident(format)operator(\)) operator({) ident(format) operator(=) stringoperator(;) operator(}) ident(ruby_current_node) operator(=) ident(cnode)operator(;) operator({) pre_type(int) ident(n) operator(=) integer(0)operator(;) ident(VALUE) ident(args)operator([)integer(3)operator(];) ident(args)operator([)ident(n)operator(++]) operator(=) ident(rb_funcall)operator(()ident(rb_const_get)operator(()ident(exc)operator(,) ident(rb_intern)operator(()stringoperator(\)\),) char('!')operator(,) integer(3)operator(,) ident(rb_str_new2)operator(()ident(format)operator(\),) ident(obj)operator(,) ident(argv)operator([)integer(0)operator(]\);) ident(args)operator([)ident(n)operator(++]) operator(=) ident(argv)operator([)integer(0)operator(];) reserved(if) operator(()ident(exc) operator(==) ident(rb_eNoMethodError)operator(\)) operator({) ident(args)operator([)ident(n)operator(++]) operator(=) ident(rb_ary_new4)operator(()ident(argc)operator(-)integer(1)operator(,) ident(argv)operator(+)integer(1)operator(\);) operator(}) ident(exc) operator(=) ident(rb_class_new_instance)operator(()ident(n)operator(,) ident(args)operator(,) ident(exc)operator(\);) ident(ruby_frame) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(;) comment(/* pop frame for "method_missing" */) ident(rb_exc_raise)operator(()ident(exc)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) ident(VALUE) ident(method_missing)operator(()ident(obj)operator(,) ident(id)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(call_status)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(argc)operator(;) directive(const) ident(VALUE) operator(*)ident(argv)operator(;) pre_type(int) ident(call_status)operator(;) operator({) ident(VALUE) operator(*)ident(nargv)operator(;) ident(last_call_status) operator(=) ident(call_status)operator(;) reserved(if) operator(()ident(id) operator(==) ident(missing)operator(\)) operator({) ident(PUSH_FRAME)operator((\);) ident(rb_method_missing)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\);) ident(POP_FRAME)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(ID_ALLOCATOR)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(obj)operator(\)\);) operator(}) reserved(if) operator(()ident(argc) operator(<) integer(0)operator(\)) operator({) ident(VALUE) ident(tmp)operator(;) ident(argc) operator(=) operator(-)ident(argc)operator(-)integer(1)operator(;) ident(tmp) operator(=) ident(splat_value)operator(()ident(argv)operator([)ident(argc)operator(]\);) ident(nargv) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(argc) operator(+) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len) operator(+) integer(1)operator(\);) ident(MEMCPY)operator(()ident(nargv)operator(+)integer(1)operator(,) ident(argv)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);) ident(MEMCPY)operator(()ident(nargv)operator(+)integer(1)operator(+)ident(argc)operator(,) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(\);) ident(argc) operator(+=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(;) operator(}) reserved(else) operator({) ident(nargv) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(argc)operator(+)integer(1)operator(\);) ident(MEMCPY)operator(()ident(nargv)operator(+)integer(1)operator(,) ident(argv)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);) operator(}) ident(nargv)operator([)integer(0)operator(]) operator(=) ident(ID2SYM)operator(()ident(id)operator(\);) reserved(return) ident(rb_funcall2)operator(()ident(obj)operator(,) ident(missing)operator(,) ident(argc)operator(+)integer(1)operator(,) ident(nargv)operator(\);) operator(}) directive(static) directive(inline) ident(VALUE) ident(call_cfunc)operator(()ident(func)operator(,) ident(recv)operator(,) ident(len)operator(,) ident(argc)operator(,) ident(argv)operator(\)) ident(VALUE) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(recv)operator(;) pre_type(int) ident(len)operator(,) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(if) operator(()ident(len) operator(>=) integer(0) operator(&&) ident(argc) operator(!=) ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(len)operator(\);) operator(}) reserved(switch) operator(()ident(len)operator(\)) operator({) reserved(case) operator(-)integer(2)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(rb_ary_new4)operator(()ident(argc)operator(,) ident(argv)operator(\)\);) reserved(break)operator(;) reserved(case) operator(-)integer(1)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(argc)operator(,) ident(argv)operator(,) ident(recv)operator(\);) reserved(break)operator(;) reserved(case) integer(0)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(\);) reserved(break)operator(;) reserved(case) integer(1)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(]\);) reserved(break)operator(;) reserved(case) integer(2)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(]\);) reserved(break)operator(;) reserved(case) integer(3)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(]\);) reserved(break)operator(;) reserved(case) integer(4)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(]\);) reserved(break)operator(;) reserved(case) integer(5)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(]\);) reserved(break)operator(;) reserved(case) integer(6)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(]\);) reserved(break)operator(;) reserved(case) integer(7)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(]\);) reserved(break)operator(;) reserved(case) integer(8)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(]\);) reserved(break)operator(;) reserved(case) integer(9)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(]\);) reserved(break)operator(;) reserved(case) integer(10)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(],) ident(argv)operator([)integer(9)operator(]\);) reserved(break)operator(;) reserved(case) integer(11)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(],) ident(argv)operator([)integer(9)operator(],) ident(argv)operator([)integer(10)operator(]\);) reserved(break)operator(;) reserved(case) integer(12)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(],) ident(argv)operator([)integer(9)operator(],) ident(argv)operator([)integer(10)operator(],) ident(argv)operator([)integer(11)operator(]\);) reserved(break)operator(;) reserved(case) integer(13)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(],) ident(argv)operator([)integer(9)operator(],) ident(argv)operator([)integer(10)operator(],) ident(argv)operator([)integer(11)operator(],) ident(argv)operator([)integer(12)operator(]\);) reserved(break)operator(;) reserved(case) integer(14)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(],) ident(argv)operator([)integer(9)operator(],) ident(argv)operator([)integer(10)operator(],) ident(argv)operator([)integer(11)operator(],) ident(argv)operator([)integer(12)operator(],) ident(argv)operator([)integer(13)operator(]\);) reserved(break)operator(;) reserved(case) integer(15)operator(:) reserved(return) operator((*)ident(func)operator(\)()ident(recv)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(],) ident(argv)operator([)integer(3)operator(],) ident(argv)operator([)integer(4)operator(],) ident(argv)operator([)integer(5)operator(],) ident(argv)operator([)integer(6)operator(],) ident(argv)operator([)integer(7)operator(],) ident(argv)operator([)integer(8)operator(],) ident(argv)operator([)integer(9)operator(],) ident(argv)operator([)integer(10)operator(],) ident(argv)operator([)integer(11)operator(],) ident(argv)operator([)integer(12)operator(],) ident(argv)operator([)integer(13)operator(],) ident(argv)operator([)integer(14)operator(]\);) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(len)operator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) ident(VALUE) ident(rb_call0)operator(()ident(klass)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(oid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(body)operator(,) ident(flags)operator(\)) ident(VALUE) ident(klass)operator(,) ident(recv)operator(;) ident(ID) ident(id)operator(;) ident(ID) ident(oid)operator(;) pre_type(int) ident(argc)operator(;) comment(/* OK */) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* OK */) ident(NODE) operator(*) directive(volatile) ident(body)operator(;) pre_type(int) ident(flags)operator(;) operator({) ident(NODE) operator(*)ident(b2)operator(;) comment(/* OK */) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) pre_type(int) ident(itr)operator(;) directive(static) pre_type(int) ident(tick)operator(;) ident(TMP_PROTECT)operator(;) directive(volatile) pre_type(int) ident(safe) operator(=) operator(-)integer(1)operator(;) reserved(if) operator(()ident(NOEX_SAFE)operator(()ident(flags)operator(\)) operator(>) ident(ruby_safe_level) operator(&&) ident(NOEX_SAFE)operator(()ident(flags)operator(\)) operator(>) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(switch) operator(()ident(ruby_iter)operator(->)ident(iter)operator(\)) operator({) reserved(case) ident(ITER_PRE)operator(:) reserved(case) ident(ITER_PAS)operator(:) ident(itr) operator(=) ident(ITER_CUR)operator(;) reserved(break)operator(;) reserved(case) ident(ITER_CUR)operator(:) reserved(default)operator(:) ident(itr) operator(=) ident(ITER_NOT)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(((++)ident(tick) operator(&) hex(0xff)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(CHECK_INTS)operator(;) comment(/* better than nothing */) ident(stack_check)operator((\);) ident(rb_gc_finalize_deferred)operator((\);) operator(}) reserved(if) operator(()ident(argc) operator(<) integer(0)operator(\)) operator({) ident(VALUE) ident(tmp)operator(;) ident(VALUE) operator(*)ident(nargv)operator(;) ident(argc) operator(=) operator(-)ident(argc)operator(-)integer(1)operator(;) ident(tmp) operator(=) ident(splat_value)operator(()ident(argv)operator([)ident(argc)operator(]\);) ident(nargv) operator(=) ident(TMP_ALLOC)operator(()ident(argc) operator(+) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(\);) ident(MEMCPY)operator(()ident(nargv)operator(,) ident(argv)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);) ident(MEMCPY)operator(()ident(nargv)operator(+)ident(argc)operator(,) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(\);) ident(argc) operator(+=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(;) ident(argv) operator(=) ident(nargv)operator(;) operator(}) ident(PUSH_ITER)operator(()ident(itr)operator(\);) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(last_func) operator(=) ident(id)operator(;) ident(ruby_frame)operator(->)ident(orig_func) operator(=) ident(oid)operator(;) ident(ruby_frame)operator(->)ident(last_class) operator(=) operator(()ident(flags) operator(&) ident(NOEX_NOSUPER)operator(\)?)integer(0)operator(:)ident(klass)operator(;) ident(ruby_frame)operator(->)ident(self) operator(=) ident(recv)operator(;) ident(ruby_frame)operator(->)ident(argc) operator(=) ident(argc)operator(;) ident(ruby_frame)operator(->)ident(flags) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(body)operator(\)\)) operator({) reserved(case) ident(NODE_CFUNC)operator(:) operator({) pre_type(int) ident(len) operator(=) ident(body)operator(->)ident(nd_argc)operator(;) reserved(if) operator(()ident(len) operator(<) operator(-)integer(2)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(,) ident(len)operator(,) ident(rb_class2name)operator(()ident(klass)operator(\),) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(if) operator(()ident(event_hooks)operator(\)) operator({) pre_type(int) ident(state)operator(;) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_C_CALL)operator(,) ident(ruby_current_node)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(klass)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_FUNC)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) ident(call_cfunc)operator(()ident(body)operator(->)ident(nd_cfnc)operator(,) ident(recv)operator(,) ident(len)operator(,) ident(argc)operator(,) ident(argv)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(ruby_current_node) operator(=) ident(ruby_frame)operator(->)ident(node)operator(;) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_C_RETURN)operator(,) ident(ruby_current_node)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(klass)operator(\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(else) operator({) ident(result) operator(=) ident(call_cfunc)operator(()ident(body)operator(->)ident(nd_cfnc)operator(,) ident(recv)operator(,) ident(len)operator(,) ident(argc)operator(,) ident(argv)operator(\);) operator(}) operator(}) reserved(break)operator(;) comment(/* for attr get/set */) reserved(case) ident(NODE_IVAR)operator(:) reserved(if) operator(()ident(argc) operator(!=) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) ident(result) operator(=) ident(rb_attr_get)operator(()ident(recv)operator(,) ident(body)operator(->)ident(nd_vid)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_ATTRSET)operator(:) reserved(if) operator(()ident(argc) operator(!=) integer(1)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) ident(result) operator(=) ident(rb_ivar_set)operator(()ident(recv)operator(,) ident(body)operator(->)ident(nd_vid)operator(,) ident(argv)operator([)integer(0)operator(]\);) reserved(break)operator(;) reserved(case) ident(NODE_ZSUPER)operator(:) ident(result) operator(=) ident(rb_call_super)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DMETHOD)operator(:) ident(result) operator(=) ident(method_call)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(umethod_bind)operator(()ident(body)operator(->)ident(nd_cval)operator(,) ident(recv)operator(\)\);) reserved(break)operator(;) reserved(case) ident(NODE_BMETHOD)operator(:) ident(ruby_frame)operator(->)ident(flags) operator(|=) ident(FRAME_DMETH)operator(;) reserved(if) operator(()ident(event_hooks)operator(\)) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) ident(Data_Get_Struct)operator(()ident(body)operator(->)ident(nd_cval)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_CALL)operator(,) ident(data)operator(->)ident(body)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(klass)operator(\);) operator(}) ident(result) operator(=) ident(proc_invoke)operator(()ident(body)operator(->)ident(nd_cval)operator(,) ident(rb_ary_new4)operator(()ident(argc)operator(,) ident(argv)operator(\),) ident(recv)operator(,) ident(klass)operator(\);) reserved(if) operator(()ident(event_hooks)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_RETURN)operator(,) ident(body)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(klass)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_SCOPE)operator(:) operator({) pre_type(int) ident(state)operator(;) ident(VALUE) operator(*)ident(local_vars)operator(;) comment(/* OK */) ident(NODE) operator(*)ident(saved_cref) operator(=) integer(0)operator(;) ident(PUSH_SCOPE)operator((\);) reserved(if) operator(()ident(body)operator(->)ident(nd_rval)operator(\)) operator({) ident(saved_cref) operator(=) ident(ruby_cref)operator(;) ident(ruby_cref) operator(=) operator(()ident(NODE)operator(*\))ident(body)operator(->)ident(nd_rval)operator(;) operator(}) ident(PUSH_CLASS)operator(()ident(ruby_cbase)operator(\);) reserved(if) operator(()ident(body)operator(->)ident(nd_tbl)operator(\)) operator({) ident(local_vars) operator(=) ident(TMP_ALLOC)operator(()ident(body)operator(->)ident(nd_tbl)operator([)integer(0)operator(]+)integer(1)operator(\);) operator(*)ident(local_vars)operator(++) operator(=) operator(()ident(VALUE)operator(\))ident(body)operator(;) ident(rb_mem_clear)operator(()ident(local_vars)operator(,) ident(body)operator(->)ident(nd_tbl)operator([)integer(0)operator(]\);) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) ident(body)operator(->)ident(nd_tbl)operator(;) ident(ruby_scope)operator(->)ident(local_vars) operator(=) ident(local_vars)operator(;) operator(}) reserved(else) operator({) ident(local_vars) operator(=) ident(ruby_scope)operator(->)ident(local_vars) operator(=) integer(0)operator(;) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) integer(0)operator(;) operator(}) ident(b2) operator(=) ident(body) operator(=) ident(body)operator(->)ident(nd_next)operator(;) reserved(if) operator(()ident(NOEX_SAFE)operator(()ident(flags)operator(\)) operator(>) ident(ruby_safe_level)operator(\)) operator({) ident(safe) operator(=) ident(ruby_safe_level)operator(;) ident(ruby_safe_level) operator(=) ident(NOEX_SAFE)operator(()ident(flags)operator(\);) operator(}) ident(PUSH_VARS)operator((\);) ident(PUSH_TAG)operator(()ident(PROT_FUNC)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(NODE) operator(*)ident(node) operator(=) integer(0)operator(;) pre_type(int) ident(i)operator(,) ident(nopt) operator(=) integer(0)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_ARGS)operator(\)) operator({) ident(node) operator(=) ident(body)operator(;) ident(body) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_BLOCK)operator(\)) operator({) ident(node) operator(=) ident(body)operator(->)ident(nd_head)operator(;) ident(body) operator(=) ident(body)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator(()ident(node)operator(\)) operator({) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(!=) ident(NODE_ARGS)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) ident(i) operator(=) ident(node)operator(->)ident(nd_cnt)operator(;) reserved(if) operator(()ident(i) operator(>) ident(argc)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(i)operator(\);) operator(}) reserved(if) operator((!)ident(node)operator(->)ident(nd_rest)operator(\)) operator({) ident(NODE) operator(*)ident(optnode) operator(=) ident(node)operator(->)ident(nd_opt)operator(;) ident(nopt) operator(=) ident(i)operator(;) reserved(while) operator(()ident(optnode)operator(\)) operator({) ident(nopt)operator(++;) ident(optnode) operator(=) ident(optnode)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator(()ident(nopt) operator(<) ident(argc)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(nopt)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(local_vars)operator(\)) operator({) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) operator({) comment(/* +2 for $_ and $~ */) ident(MEMCPY)operator(()ident(local_vars)operator(+)integer(2)operator(,) ident(argv)operator(,) ident(VALUE)operator(,) ident(i)operator(\);) operator(}) operator(}) ident(argv) operator(+=) ident(i)operator(;) ident(argc) operator(-=) ident(i)operator(;) reserved(if) operator(()ident(node)operator(->)ident(nd_opt)operator(\)) operator({) ident(NODE) operator(*)ident(opt) operator(=) ident(node)operator(->)ident(nd_opt)operator(;) reserved(while) operator(()ident(opt) operator(&&) ident(argc)operator(\)) operator({) ident(assign)operator(()ident(recv)operator(,) ident(opt)operator(->)ident(nd_head)operator(,) operator(*)ident(argv)operator(,) integer(1)operator(\);) ident(argv)operator(++;) ident(argc)operator(--;) operator(++)ident(i)operator(;) ident(opt) operator(=) ident(opt)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator(()ident(opt)operator(\)) operator({) ident(rb_eval)operator(()ident(recv)operator(,) ident(opt)operator(\);) reserved(while) operator(()ident(opt)operator(\)) operator({) ident(opt) operator(=) ident(opt)operator(->)ident(nd_next)operator(;) operator(++)ident(i)operator(;) operator(}) operator(}) operator(}) reserved(if) operator((!)ident(node)operator(->)ident(nd_rest)operator(\)) operator({) ident(i) operator(=) ident(nopt)operator(;) operator(}) reserved(else) operator({) ident(VALUE) ident(v)operator(;) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(v) operator(=) ident(rb_ary_new4)operator(()ident(argc)operator(,)ident(argv)operator(\);) ident(i) operator(=) operator(-)ident(i) operator(-) integer(1)operator(;) operator(}) reserved(else) operator({) ident(v) operator(=) ident(rb_ary_new2)operator(()integer(0)operator(\);) operator(}) ident(assign)operator(()ident(recv)operator(,) ident(node)operator(->)ident(nd_rest)operator(,) ident(v)operator(,) integer(1)operator(\);) operator(}) ident(ruby_frame)operator(->)ident(argc) operator(=) ident(i)operator(;) operator(}) reserved(if) operator(()ident(event_hooks)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_CALL)operator(,) ident(b2)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(klass)operator(\);) operator(}) ident(result) operator(=) ident(rb_eval)operator(()ident(recv)operator(,) ident(body)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_RETURN) operator(&&) ident(TAG_DST)operator((\)\)) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) ident(state) operator(=) integer(0)operator(;) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(event_hooks)operator(\)) operator({) ident(EXEC_EVENT_HOOK)operator(()ident(RUBY_EVENT_RETURN)operator(,) ident(body)operator(,) ident(recv)operator(,) ident(id)operator(,) ident(klass)operator(\);) operator(}) ident(POP_VARS)operator((\);) ident(POP_CLASS)operator((\);) ident(POP_SCOPE)operator((\);) ident(ruby_cref) operator(=) ident(saved_cref)operator(;) reserved(if) operator(()ident(safe) operator(>=) integer(0)operator(\)) ident(ruby_safe_level) operator(=) ident(safe)operator(;) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(case) ident(TAG_BREAK)operator(:) reserved(case) ident(TAG_RETURN)operator(:) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_RETRY)operator(:) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) comment(/* fall through */) reserved(default)operator(:) ident(jump_tag_but_local_jump)operator(()ident(state)operator(,) ident(result)operator(\);) reserved(break)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(unknown_node)operator(()ident(body)operator(\);) reserved(break)operator(;) operator(}) ident(POP_FRAME)operator((\);) ident(POP_ITER)operator((\);) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_call)operator(()ident(klass)operator(,) ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(scope)operator(,) ident(self)operator(\)) ident(VALUE) ident(klass)operator(,) ident(recv)operator(;) ident(ID) ident(mid)operator(;) pre_type(int) ident(argc)operator(;) comment(/* OK */) directive(const) ident(VALUE) operator(*)ident(argv)operator(;) comment(/* OK */) pre_type(int) ident(scope)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(NODE) operator(*)ident(body)operator(;) comment(/* OK */) pre_type(int) ident(noex)operator(;) ident(ID) ident(id) operator(=) ident(mid)operator(;) reserved(struct) ident(cache_entry) operator(*)ident(ent)operator(;) reserved(if) operator((!)ident(klass)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eNotImpError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(mid)operator(\),) ident(recv)operator(\);) operator(}) comment(/* is it in the method cache? */) ident(ent) operator(=) ident(cache) operator(+) ident(EXPR1)operator(()ident(klass)operator(,) ident(mid)operator(\);) reserved(if) operator(()ident(ent)operator(->)ident(mid) operator(==) ident(mid) operator(&&) ident(ent)operator(->)ident(klass) operator(==) ident(klass)operator(\)) operator({) reserved(if) operator((!)ident(ent)operator(->)ident(method)operator(\)) reserved(return) ident(method_missing)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(scope)operator(==)integer(2)operator(?)ident(CSTAT_VCALL)operator(:)integer(0)operator(\);) ident(klass) operator(=) ident(ent)operator(->)ident(origin)operator(;) ident(id) operator(=) ident(ent)operator(->)ident(mid0)operator(;) ident(noex) operator(=) ident(ent)operator(->)ident(noex)operator(;) ident(body) operator(=) ident(ent)operator(->)ident(method)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(body) operator(=) ident(rb_get_method_body)operator((&)ident(klass)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(scope) operator(==) integer(3)operator(\)) operator({) reserved(return) ident(method_missing)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(CSTAT_SUPER)operator(\);) operator(}) reserved(return) ident(method_missing)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(scope)operator(==)integer(2)operator(?)ident(CSTAT_VCALL)operator(:)integer(0)operator(\);) operator(}) reserved(if) operator(()ident(mid) operator(!=) ident(missing) operator(&&) ident(scope) operator(==) integer(0)operator(\)) operator({) comment(/* receiver specified form for private method */) reserved(if) operator(()ident(noex) operator(&) ident(NOEX_PRIVATE)operator(\)) reserved(return) ident(method_missing)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(CSTAT_PRIV)operator(\);) comment(/* self must be kind of a specified form for protected method */) reserved(if) operator(()ident(noex) operator(&) ident(NOEX_PROTECTED)operator(\)) operator({) ident(VALUE) ident(defined_class) operator(=) ident(klass)operator(;) reserved(if) operator(()ident(self) operator(==) ident(Qundef)operator(\)) ident(self) operator(=) ident(ruby_frame)operator(->)ident(self)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(defined_class)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(defined_class) operator(=) ident(RBASIC)operator(()ident(defined_class)operator(\)->)ident(klass)operator(;) operator(}) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(self)operator(,) ident(rb_class_real)operator(()ident(defined_class)operator(\)\)\)) reserved(return) ident(method_missing)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(CSTAT_PROT)operator(\);) operator(}) operator(}) reserved(return) ident(rb_call0)operator(()ident(klass)operator(,) ident(recv)operator(,) ident(mid)operator(,) ident(id)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(body)operator(,) ident(noex)operator(\);) operator(}) ident(VALUE) ident(rb_apply)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(args)operator(\)) ident(VALUE) ident(recv)operator(;) ident(ID) ident(mid)operator(;) ident(VALUE) ident(args)operator(;) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(argc) operator(=) ident(RARRAY)operator(()ident(args)operator(\)->)ident(len)operator(;) comment(/* Assigns LONG, but argc is INT */) ident(argv) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(argc)operator(\);) ident(MEMCPY)operator(()ident(argv)operator(,) ident(RARRAY)operator(()ident(args)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(argc)operator(\);) reserved(return) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) integer(1)operator(,) ident(Qundef)operator(\);) operator(}) comment(/* * call-seq: * obj.send(symbol [, args...]\) => obj * obj.__send__(symbol [, args...]\) => obj * * Invokes the method identified by _symbol_, passing it any * arguments specified. You can use \\_\\_send__ if the name * +send+ clashes with an existing method in _obj_. * * class Klass * def hello(*args\) * "Hello " + args.join(' '\) * end * end * k = Klass.new * k.send :hello, "gentle", "readers" #=> "Hello gentle readers" */) directive(static) ident(VALUE) ident(rb_f_send)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(recv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(recv)operator(;) operator({) ident(VALUE) ident(vid)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(vid) operator(=) operator(*)ident(argv)operator(++;) ident(argc)operator(--;) ident(PUSH_ITER)operator(()ident(rb_block_given_p)operator((\)?)ident(ITER_PRE)operator(:)ident(ITER_NOT)operator(\);) ident(vid) operator(=) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(rb_to_id)operator(()ident(vid)operator(\),) ident(argc)operator(,) ident(argv)operator(,) integer(1)operator(,) ident(Qundef)operator(\);) ident(POP_ITER)operator((\);) reserved(return) ident(vid)operator(;) operator(}) directive(static) ident(VALUE) ident(vafuncall)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(n)operator(,) ident(ar)operator(\)) ident(VALUE) ident(recv)operator(;) ident(ID) ident(mid)operator(;) pre_type(int) ident(n)operator(;) ident(va_list) operator(*)ident(ar)operator(;) operator({) ident(VALUE) operator(*)ident(argv)operator(;) reserved(if) operator(()ident(n) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(i)operator(;) ident(argv) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(n)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(n)operator(;)ident(i)operator(++\)) operator({) ident(argv)operator([)ident(i)operator(]) operator(=) ident(va_arg)operator((*)ident(ar)operator(,) ident(VALUE)operator(\);) operator(}) ident(va_end)operator((*)ident(ar)operator(\);) operator(}) reserved(else) operator({) ident(argv) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(mid)operator(,) ident(n)operator(,) ident(argv)operator(,) integer(1)operator(,) ident(Qundef)operator(\);) operator(}) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_funcall)operator(()ident(VALUE) ident(recv)operator(,) ident(ID) ident(mid)operator(,) pre_type(int) ident(n)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_funcall)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(n)operator(,) ident(va_alist)operator(\)) ident(VALUE) ident(recv)operator(;) ident(ID) ident(mid)operator(;) pre_type(int) ident(n)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(ar)operator(;) ident(va_init_list)operator(()ident(ar)operator(,) ident(n)operator(\);) reserved(return) ident(vafuncall)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(n)operator(,) operator(&)ident(ar)operator(\);) operator(}) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_funcall_rescue)operator(()ident(VALUE) ident(recv)operator(,) ident(ID) ident(mid)operator(,) pre_type(int) ident(n)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_funcall_rescue)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(n)operator(,) ident(va_alist)operator(\)) ident(VALUE) ident(recv)operator(;) ident(ID) ident(mid)operator(;) pre_type(int) ident(n)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) comment(/* OK */) pre_type(int) ident(status)operator(;) ident(va_list) ident(ar)operator(;) ident(va_init_list)operator(()ident(ar)operator(,) ident(n)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(result) operator(=) ident(vafuncall)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(n)operator(,) operator(&)ident(ar)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(switch) operator(()ident(status)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(return) ident(result)operator(;) reserved(case) ident(TAG_RAISE)operator(:) reserved(return) ident(Qundef)operator(;) reserved(default)operator(:) ident(JUMP_TAG)operator(()ident(status)operator(\);) operator(}) operator(}) ident(VALUE) ident(rb_funcall2)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(\)) ident(VALUE) ident(recv)operator(;) ident(ID) ident(mid)operator(;) pre_type(int) ident(argc)operator(;) directive(const) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) integer(1)operator(,) ident(Qundef)operator(\);) operator(}) ident(VALUE) ident(rb_funcall3)operator(()ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(\)) ident(VALUE) ident(recv)operator(;) ident(ID) ident(mid)operator(;) pre_type(int) ident(argc)operator(;) directive(const) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_call)operator(()ident(CLASS_OF)operator(()ident(recv)operator(\),) ident(recv)operator(,) ident(mid)operator(,) ident(argc)operator(,) ident(argv)operator(,) integer(0)operator(,) ident(Qundef)operator(\);) operator(}) ident(VALUE) ident(rb_call_super)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) directive(const) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(result)operator(,) ident(self)operator(,) ident(klass)operator(;) reserved(if) operator(()ident(ruby_frame)operator(->)ident(last_class) operator(==) integer(0)operator(\)) operator({) ident(rb_name_error)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(orig_func)operator(\)\);) operator(}) ident(self) operator(=) ident(ruby_frame)operator(->)ident(self)operator(;) ident(klass) operator(=) ident(ruby_frame)operator(->)ident(last_class)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(method_missing)operator(()ident(self)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(CSTAT_SUPER)operator(\);) operator(}) ident(PUSH_ITER)operator(()ident(ruby_iter)operator(->)ident(iter) operator(?) ident(ITER_PRE) operator(:) ident(ITER_NOT)operator(\);) ident(result) operator(=) ident(rb_call)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(,) ident(self)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(,) ident(argc)operator(,) ident(argv)operator(,) integer(3)operator(,) ident(Qundef)operator(\);) ident(POP_ITER)operator((\);) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(backtrace)operator(()ident(lev)operator(\)) pre_type(int) ident(lev)operator(;) operator({) reserved(struct) ident(FRAME) operator(*)ident(frame) operator(=) ident(ruby_frame)operator(;) pre_type(char) ident(buf)operator([)ident(BUFSIZ)operator(];) ident(VALUE) ident(ary)operator(;) ident(NODE) operator(*)ident(n)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(if) operator(()ident(frame)operator(->)ident(last_func) operator(==) ident(ID_ALLOCATOR)operator(\)) operator({) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(;) operator(}) reserved(if) operator(()ident(lev) operator(<) integer(0)operator(\)) operator({) ident(ruby_set_current_source)operator((\);) reserved(if) operator(()ident(frame)operator(->)ident(last_func)operator(\)) operator({) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(,) ident(rb_id2name)operator(()ident(frame)operator(->)ident(last_func)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(ruby_sourceline) operator(==) integer(0)operator(\)) operator({) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(ruby_sourcefile)operator(\);) operator(}) reserved(else) operator({) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(\);) operator(}) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(buf)operator(\)\);) reserved(if) operator(()ident(lev) operator(<) operator(-)integer(1)operator(\)) reserved(return) ident(ary)operator(;) operator(}) reserved(else) operator({) reserved(while) operator(()ident(lev)operator(--) operator(>) integer(0)operator(\)) operator({) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(;) reserved(if) operator((!)ident(frame)operator(\)) operator({) ident(ary) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) operator(}) operator(}) operator(}) reserved(for) operator((;) ident(frame) operator(&&) operator(()ident(n) operator(=) ident(frame)operator(->)ident(node)operator(\);) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(\)) operator({) reserved(if) operator(()ident(frame)operator(->)ident(prev) operator(&&) ident(frame)operator(->)ident(prev)operator(->)ident(last_func)operator(\)) operator({) reserved(if) operator(()ident(frame)operator(->)ident(prev)operator(->)ident(node) operator(==) ident(n)operator(\)) operator({) reserved(if) operator(()ident(frame)operator(->)ident(prev)operator(->)ident(last_func) operator(==) ident(frame)operator(->)ident(last_func)operator(\)) reserved(continue)operator(;) operator(}) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(n)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(n)operator(\),) ident(rb_id2name)operator(()ident(frame)operator(->)ident(prev)operator(->)ident(last_func)operator(\)\);) operator(}) reserved(else) operator({) ident(snprintf)operator(()ident(buf)operator(,) ident(BUFSIZ)operator(,) stringoperator(,) ident(n)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(n)operator(\)\);) operator(}) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(buf)operator(\)\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * caller(start=1\) => array * * Returns the current execution stack---an array containing strings in * the form ``file:line'' or ``file:line: in * `method'''. The optional _start_ parameter * determines the number of initial stack entries to omit from the * result. * * def a(skip\) * caller(skip\) * end * def b(skip\) * a(skip\) * end * def c(skip\) * b(skip\) * end * c(0\) #=> ["prog:2:in `a'", "prog:5:in `b'", "prog:8:in `c'", "prog:10"] * c(1\) #=> ["prog:5:in `b'", "prog:8:in `c'", "prog:11"] * c(2\) #=> ["prog:8:in `c'", "prog:12"] * c(3\) #=> ["prog:13"] */) directive(static) ident(VALUE) ident(rb_f_caller)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(level)operator(;) pre_type(int) ident(lev)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(level)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(level)operator(\)\)) ident(lev) operator(=) integer(1)operator(;) reserved(else) ident(lev) operator(=) ident(NUM2INT)operator(()ident(level)operator(\);) reserved(if) operator(()ident(lev) operator(<) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(lev)operator(\);) reserved(return) ident(backtrace)operator(()ident(lev)operator(\);) operator(}) directive(void) ident(rb_backtrace)operator((\)) operator({) pre_type(long) ident(i)operator(;) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(backtrace)operator((-)integer(1)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(printf)operator(()stringoperator(,) ident(RSTRING)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)->)ident(ptr)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(make_backtrace)operator((\)) operator({) reserved(return) ident(backtrace)operator((-)integer(1)operator(\);) operator(}) ident(ID) ident(rb_frame_last_func)operator((\)) operator({) reserved(return) ident(ruby_frame)operator(->)ident(last_func)operator(;) operator(}) directive(static) ident(NODE)operator(*) ident(compile)operator(()ident(src)operator(,) ident(file)operator(,) ident(line)operator(\)) ident(VALUE) ident(src)operator(;) pre_type(char) operator(*)ident(file)operator(;) pre_type(int) ident(line)operator(;) operator({) ident(NODE) operator(*)ident(node)operator(;) pre_type(int) ident(critical)operator(;) ident(ruby_nerrs) operator(=) integer(0)operator(;) ident(StringValue)operator(()ident(src)operator(\);) ident(critical) operator(=) ident(rb_thread_critical)operator(;) ident(rb_thread_critical) operator(=) ident(Qtrue)operator(;) ident(node) operator(=) ident(rb_compile_string)operator(()ident(file)operator(,) ident(src)operator(,) ident(line)operator(\);) ident(rb_thread_critical) operator(=) ident(critical)operator(;) reserved(if) operator(()ident(ruby_nerrs) operator(==) integer(0)operator(\)) reserved(return) ident(node)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(VALUE) ident(eval)operator(()ident(self)operator(,) ident(src)operator(,) ident(scope)operator(,) ident(file)operator(,) ident(line)operator(\)) ident(VALUE) ident(self)operator(,) ident(src)operator(,) ident(scope)operator(;) pre_type(char) operator(*)ident(file)operator(;) pre_type(int) ident(line)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data) operator(=) pre_constant(NULL)operator(;) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) reserved(struct) ident(SCOPE) operator(*) directive(volatile) ident(old_scope)operator(;) reserved(struct) ident(BLOCK) operator(*) directive(volatile) ident(old_block)operator(;) reserved(struct) ident(RVarmap) operator(*) directive(volatile) ident(old_dyna_vars)operator(;) ident(VALUE) directive(volatile) ident(old_cref)operator(;) pre_type(int) directive(volatile) ident(old_vmode)operator(;) directive(volatile) ident(VALUE) ident(old_wrapper)operator(;) reserved(struct) ident(FRAME) ident(frame)operator(;) ident(NODE) operator(*)ident(nodesave) operator(=) ident(ruby_current_node)operator(;) directive(volatile) pre_type(int) ident(iter) operator(=) ident(ruby_frame)operator(->)ident(iter)operator(;) directive(volatile) pre_type(int) ident(safe) operator(=) ident(ruby_safe_level)operator(;) pre_type(int) ident(state)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(scope)operator(\)\)) operator({) reserved(if) operator((!)ident(rb_obj_is_proc)operator(()ident(scope)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(scope)operator(\)\);) operator(}) ident(Data_Get_Struct)operator(()ident(scope)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) comment(/* PUSH BLOCK from data */) ident(frame) operator(=) ident(data)operator(->)ident(frame)operator(;) ident(frame)operator(.)ident(tmp) operator(=) ident(ruby_frame)operator(;) comment(/* gc protection */) ident(ruby_frame) operator(=) operator(&()ident(frame)operator(\);) ident(old_scope) operator(=) ident(ruby_scope)operator(;) ident(ruby_scope) operator(=) ident(data)operator(->)ident(scope)operator(;) ident(old_block) operator(=) ident(ruby_block)operator(;) ident(ruby_block) operator(=) ident(data)operator(->)ident(prev)operator(;) ident(old_dyna_vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(ruby_dyna_vars) operator(=) ident(data)operator(->)ident(dyna_vars)operator(;) ident(old_vmode) operator(=) ident(scope_vmode)operator(;) ident(scope_vmode) operator(=) ident(data)operator(->)ident(vmode)operator(;) ident(old_cref) operator(=) operator(()ident(VALUE)operator(\))ident(ruby_cref)operator(;) ident(ruby_cref) operator(=) ident(data)operator(->)ident(cref)operator(;) ident(old_wrapper) operator(=) ident(ruby_wrapper)operator(;) ident(ruby_wrapper) operator(=) ident(data)operator(->)ident(wrapper)operator(;) reserved(if) operator((()ident(file) operator(==) integer(0) operator(||) operator(()ident(line) operator(==) integer(1) operator(&&) ident(strcmp)operator(()ident(file)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)\)) operator(&&) ident(data)operator(->)ident(frame)operator(.)ident(node)operator(\)) operator({) ident(file) operator(=) ident(data)operator(->)ident(frame)operator(.)ident(node)operator(->)ident(nd_file)operator(;) reserved(if) operator((!)ident(file)operator(\)) ident(file) operator(=) stringoperator(;) ident(line) operator(=) ident(nd_line)operator(()ident(data)operator(->)ident(frame)operator(.)ident(node)operator(\);) operator(}) ident(self) operator(=) ident(data)operator(->)ident(self)operator(;) ident(ruby_frame)operator(->)ident(iter) operator(=) ident(data)operator(->)ident(iter)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(ruby_frame)operator(->)ident(prev)operator(\)) operator({) ident(ruby_frame)operator(->)ident(iter) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(->)ident(iter)operator(;) operator(}) operator(}) reserved(if) operator(()ident(file) operator(==) integer(0)operator(\)) operator({) ident(ruby_set_current_source)operator((\);) ident(file) operator(=) ident(ruby_sourcefile)operator(;) ident(line) operator(=) ident(ruby_sourceline)operator(;) operator(}) ident(PUSH_CLASS)operator(()ident(data) operator(?) ident(data)operator(->)ident(klass) operator(:) ident(ruby_class)operator(\);) ident(ruby_in_eval)operator(++;) reserved(if) operator(()ident(TYPE)operator(()ident(ruby_class)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(ruby_class) operator(=) ident(RBASIC)operator(()ident(ruby_class)operator(\)->)ident(klass)operator(;) operator(}) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(NODE) operator(*)ident(node)operator(;) ident(ruby_safe_level) operator(=) integer(0)operator(;) ident(result) operator(=) ident(ruby_errinfo)operator(;) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) ident(node) operator(=) ident(compile)operator(()ident(src)operator(,) ident(file)operator(,) ident(line)operator(\);) ident(ruby_safe_level) operator(=) ident(safe)operator(;) reserved(if) operator(()ident(ruby_nerrs) operator(>) integer(0)operator(\)) operator({) ident(compile_error)operator(()integer(0)operator(\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(result)operator(\)\)) ident(ruby_errinfo) operator(=) ident(result)operator(;) ident(result) operator(=) ident(eval_node)operator(()ident(self)operator(,) ident(node)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(POP_CLASS)operator((\);) ident(ruby_in_eval)operator(--;) reserved(if) operator((!)ident(NIL_P)operator(()ident(scope)operator(\)\)) operator({) pre_type(int) ident(dont_recycle) operator(=) ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_DONT_RECYCLE)operator(;) ident(ruby_wrapper) operator(=) ident(old_wrapper)operator(;) ident(ruby_cref) operator(=) operator(()ident(NODE)operator(*\))ident(old_cref)operator(;) ident(ruby_frame) operator(=) ident(frame)operator(.)ident(tmp)operator(;) ident(ruby_scope) operator(=) ident(old_scope)operator(;) ident(ruby_block) operator(=) ident(old_block)operator(;) ident(ruby_dyna_vars) operator(=) ident(old_dyna_vars)operator(;) ident(data)operator(->)ident(vmode) operator(=) ident(scope_vmode)operator(;) comment(/* write back visibility mode */) ident(scope_vmode) operator(=) ident(old_vmode)operator(;) reserved(if) operator(()ident(dont_recycle)operator(\)) operator({) reserved(struct) ident(tag) operator(*)ident(tag)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) ident(scope_dup)operator(()ident(ruby_scope)operator(\);) reserved(for) operator(()ident(tag)operator(=)ident(prot_tag)operator(;) ident(tag)operator(;) ident(tag)operator(=)ident(tag)operator(->)ident(prev)operator(\)) operator({) ident(scope_dup)operator(()ident(tag)operator(->)ident(scope)operator(\);) operator(}) reserved(for) operator(()ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(vars)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(\)) operator({) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) operator(}) operator(}) operator(}) reserved(else) operator({) ident(ruby_frame)operator(->)ident(iter) operator(=) ident(iter)operator(;) operator(}) ident(ruby_current_node) operator(=) ident(nodesave)operator(;) ident(ruby_set_current_source)operator((\);) reserved(if) operator(()ident(state)operator(\)) operator({) reserved(if) operator(()ident(state) operator(==) ident(TAG_RAISE)operator(\)) operator({) reserved(if) operator(()ident(strcmp)operator(()ident(file)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(VALUE) ident(mesg)operator(,) ident(errat)operator(,) ident(bt2)operator(;) ident(errat) operator(=) ident(get_backtrace)operator(()ident(ruby_errinfo)operator(\);) ident(mesg) operator(=) ident(rb_attr_get)operator(()ident(ruby_errinfo)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(errat)operator(\)) operator(&&) ident(TYPE)operator(()ident(errat)operator(\)) operator(==) ident(T_ARRAY) operator(&&) operator(()ident(bt2) operator(=) ident(backtrace)operator((-)integer(2)operator(\),) ident(RARRAY)operator(()ident(bt2)operator(\)->)ident(len) operator(>) integer(0)operator(\)\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(mesg)operator(\)) operator(&&) ident(TYPE)operator(()ident(mesg)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(rb_str_update)operator(()ident(mesg)operator(,) integer(0)operator(,) integer(0)operator(,) ident(rb_str_new2)operator(()stringoperator(\)\);) ident(rb_str_update)operator(()ident(mesg)operator(,) integer(0)operator(,) integer(0)operator(,) ident(RARRAY)operator(()ident(errat)operator(\)->)ident(ptr)operator([)integer(0)operator(]\);) operator(}) ident(RARRAY)operator(()ident(errat)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(bt2)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) operator(}) ident(rb_exc_raise)operator(()ident(ruby_errinfo)operator(\);) operator(}) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * eval(string [, binding [, filename [,lineno]]]\) => obj * * Evaluates the Ruby expression(s\) in string. If * binding is given, the evaluation is performed in its * context. The binding may be a Binding object or a * Proc object. If the optional filename and * lineno parameters are present, they will be used when * reporting syntax errors. * * def getBinding(str\) * return binding * end * str = "hello" * eval "str + ' Fred'" #=> "hello Fred" * eval "str + ' Fred'", getBinding("bye"\) #=> "bye Fred" */) directive(static) ident(VALUE) ident(rb_f_eval)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(src)operator(,) ident(scope)operator(,) ident(vfile)operator(,) ident(vline)operator(;) pre_type(char) operator(*)ident(file) operator(=) stringoperator(;) pre_type(int) ident(line) operator(=) integer(1)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(src)operator(,) operator(&)ident(scope)operator(,) operator(&)ident(vfile)operator(,) operator(&)ident(vline)operator(\);) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(StringValue)operator(()ident(src)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(scope)operator(\)) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(scope)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(SafeStringValue)operator(()ident(src)operator(\);) operator(}) reserved(if) operator(()ident(argc) operator(>=) integer(3)operator(\)) operator({) ident(StringValue)operator(()ident(vfile)operator(\);) operator(}) reserved(if) operator(()ident(argc) operator(>=) integer(4)operator(\)) operator({) ident(line) operator(=) ident(NUM2INT)operator(()ident(vline)operator(\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(vfile)operator(\)\)) ident(file) operator(=) ident(RSTRING)operator(()ident(vfile)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(scope)operator(\)) operator(&&) ident(ruby_frame)operator(->)ident(prev)operator(\)) operator({) reserved(struct) ident(FRAME) operator(*)ident(prev)operator(;) ident(VALUE) ident(val)operator(;) ident(prev) operator(=) ident(ruby_frame)operator(;) ident(PUSH_FRAME)operator((\);) operator(*)ident(ruby_frame) operator(=) operator(*)ident(prev)operator(->)ident(prev)operator(;) ident(ruby_frame)operator(->)ident(prev) operator(=) ident(prev)operator(;) ident(val) operator(=) ident(eval)operator(()ident(self)operator(,) ident(src)operator(,) ident(scope)operator(,) ident(file)operator(,) ident(line)operator(\);) ident(POP_FRAME)operator((\);) reserved(return) ident(val)operator(;) operator(}) reserved(return) ident(eval)operator(()ident(self)operator(,) ident(src)operator(,) ident(scope)operator(,) ident(file)operator(,) ident(line)operator(\);) operator(}) comment(/* function to call func under the specified class/module context */) directive(static) ident(VALUE) ident(exec_under)operator(()ident(func)operator(,) ident(under)operator(,) ident(cbase)operator(,) ident(args)operator(\)) ident(VALUE) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(under)operator(,) ident(cbase)operator(;) directive(void) operator(*)ident(args)operator(;) operator({) ident(VALUE) ident(val) operator(=) ident(Qnil)operator(;) comment(/* OK */) pre_type(int) ident(state)operator(;) pre_type(int) ident(mode)operator(;) reserved(struct) ident(FRAME) operator(*)ident(f) operator(=) ident(ruby_frame)operator(;) ident(PUSH_CLASS)operator(()ident(under)operator(\);) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(self) operator(=) ident(f)operator(->)ident(self)operator(;) ident(ruby_frame)operator(->)ident(last_func) operator(=) ident(f)operator(->)ident(last_func)operator(;) ident(ruby_frame)operator(->)ident(orig_func) operator(=) ident(f)operator(->)ident(orig_func)operator(;) ident(ruby_frame)operator(->)ident(last_class) operator(=) ident(f)operator(->)ident(last_class)operator(;) ident(ruby_frame)operator(->)ident(argc) operator(=) ident(f)operator(->)ident(argc)operator(;) reserved(if) operator(()ident(cbase)operator(\)) operator({) ident(PUSH_CREF)operator(()ident(cbase)operator(\);) operator(}) ident(mode) operator(=) ident(scope_vmode)operator(;) ident(SCOPE_SET)operator(()ident(SCOPE_PUBLIC)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(val) operator(=) operator((*)ident(func)operator(\)()ident(args)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(cbase)operator(\)) ident(POP_CREF)operator((\);) ident(SCOPE_SET)operator(()ident(mode)operator(\);) ident(POP_FRAME)operator((\);) ident(POP_CLASS)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(return) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(eval_under_i)operator(()ident(args)operator(\)) ident(VALUE) operator(*)ident(args)operator(;) operator({) reserved(struct) ident(FRAME) operator(*)ident(f) operator(=) ident(ruby_frame)operator(;) reserved(if) operator(()ident(f) operator(&&) operator(()ident(f) operator(=) ident(f)operator(->)ident(prev)operator(\)) operator(&&) operator(()ident(f) operator(=) ident(f)operator(->)ident(prev)operator(\)\)) operator({) ident(ruby_frame) operator(=) ident(f)operator(;) operator(}) reserved(return) ident(eval)operator(()ident(args)operator([)integer(0)operator(],) ident(args)operator([)integer(1)operator(],) ident(Qnil)operator(,) operator(()pre_type(char)operator(*\))ident(args)operator([)integer(2)operator(],) operator(()pre_type(int)operator(\))ident(args)operator([)integer(3)operator(]\);) operator(}) comment(/* string eval under the class/module context */) directive(static) ident(VALUE) ident(eval_under)operator(()ident(under)operator(,) ident(self)operator(,) ident(src)operator(,) ident(file)operator(,) ident(line)operator(\)) ident(VALUE) ident(under)operator(,) ident(self)operator(,) ident(src)operator(;) directive(const) pre_type(char) operator(*)ident(file)operator(;) pre_type(int) ident(line)operator(;) operator({) ident(VALUE) ident(args)operator([)integer(4)operator(];) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(StringValue)operator(()ident(src)operator(\);) operator(}) reserved(else) operator({) ident(SafeStringValue)operator(()ident(src)operator(\);) operator(}) ident(args)operator([)integer(0)operator(]) operator(=) ident(self)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(src)operator(;) ident(args)operator([)integer(2)operator(]) operator(=) operator(()ident(VALUE)operator(\))ident(file)operator(;) ident(args)operator([)integer(3)operator(]) operator(=) operator(()ident(VALUE)operator(\))ident(line)operator(;) reserved(return) ident(exec_under)operator(()ident(eval_under_i)operator(,) ident(under)operator(,) ident(under)operator(,) ident(args)operator(\);) operator(}) directive(static) ident(VALUE) ident(yield_under_i)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_yield_0)operator(()ident(self)operator(,) ident(self)operator(,) ident(ruby_class)operator(,) ident(YIELD_PUBLIC_DEF)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* block eval under the class/module context */) directive(static) ident(VALUE) ident(yield_under)operator(()ident(under)operator(,) ident(self)operator(\)) ident(VALUE) ident(under)operator(,) ident(self)operator(;) operator({) reserved(return) ident(exec_under)operator(()ident(yield_under_i)operator(,) ident(under)operator(,) integer(0)operator(,) ident(self)operator(\);) operator(}) directive(static) ident(VALUE) ident(specific_eval)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(,) ident(self)operator(;) operator({) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(return) ident(yield_under)operator(()ident(klass)operator(,) ident(self)operator(\);) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(file) operator(=) stringoperator(;) pre_type(int) ident(line) operator(=) integer(1)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(StringValue)operator(()ident(argv)operator([)integer(0)operator(]\);) operator(}) reserved(else) operator({) ident(SafeStringValue)operator(()ident(argv)operator([)integer(0)operator(]\);) operator(}) reserved(if) operator(()ident(argc) operator(>) integer(3)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\),) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)\);) operator(}) reserved(if) operator(()ident(argc) operator(>) integer(2)operator(\)) ident(line) operator(=) ident(NUM2INT)operator(()ident(argv)operator([)integer(2)operator(]\);) reserved(if) operator(()ident(argc) operator(>) integer(1)operator(\)) operator({) ident(file) operator(=) ident(StringValuePtr)operator(()ident(argv)operator([)integer(1)operator(]\);) operator(}) operator(}) reserved(return) ident(eval_under)operator(()ident(klass)operator(,) ident(self)operator(,) ident(argv)operator([)integer(0)operator(],) ident(file)operator(,) ident(line)operator(\);) operator(}) operator(}) comment(/* * call-seq: * obj.instance_eval(string [, filename [, lineno]] \) => obj * obj.instance_eval {| | block } => obj * * Evaluates a string containing Ruby source code, or the given block, * within the context of the receiver (_obj_\). In order to set the * context, the variable +self+ is set to _obj_ while * the code is executing, giving the code access to _obj_'s * instance variables. In the version of instance_eval * that takes a +String+, the optional second and third * parameters supply a filename and starting line number that are used * when reporting compilation errors. * * class Klass * def initialize * @secret = 99 * end * end * k = Klass.new * k.instance_eval { @secret } #=> 99 */) ident(VALUE) ident(rb_obj_instance_eval)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(klass)operator(;) reserved(if) operator(()ident(SPECIAL_CONST_P)operator(()ident(self)operator(\)\)) operator({) ident(klass) operator(=) ident(Qnil)operator(;) operator(}) reserved(else) operator({) ident(klass) operator(=) ident(rb_singleton_class)operator(()ident(self)operator(\);) operator(}) reserved(return) ident(specific_eval)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(,) ident(self)operator(\);) operator(}) comment(/* * call-seq: * mod.class_eval(string [, filename [, lineno]]\) => obj * mod.module_eval {|| block } => obj * * Evaluates the string or block in the context of _mod_. This can * be used to add methods to a class. module_eval returns * the result of evaluating its argument. The optional _filename_ * and _lineno_ parameters set the text for error messages. * * class Thing * end * a = %q{def hello(\) "Hello there!" end} * Thing.module_eval(a\) * puts Thing.new.hello(\) * Thing.module_eval("invalid code", "dummy", 123\) * * produces: * * Hello there! * dummy:123:in `module_eval': undefined local variable * or method `code' for Thing:Class */) ident(VALUE) ident(rb_mod_module_eval)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) reserved(return) ident(specific_eval)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(,) ident(mod)operator(\);) operator(}) ident(VALUE) ident(rb_load_path)operator(;) ident(NORETURN)operator(()directive(static) directive(void) ident(load_failed) ident(_)operator((()ident(VALUE)operator(\)\)\);) directive(void) ident(rb_load)operator(()ident(fname)operator(,) ident(wrap)operator(\)) ident(VALUE) ident(fname)operator(;) pre_type(int) ident(wrap)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) pre_type(int) ident(state)operator(;) directive(volatile) pre_type(int) ident(prohibit_int) operator(=) ident(rb_prohibit_interrupt)operator(;) directive(volatile) ident(ID) ident(last_func)operator(;) directive(volatile) ident(VALUE) ident(wrapper) operator(=) ident(ruby_wrapper)operator(;) directive(volatile) ident(VALUE) ident(self) operator(=) ident(ruby_top_self)operator(;) ident(NODE) operator(*)directive(volatile) ident(last_node)operator(;) ident(NODE) operator(*)ident(saved_cref) operator(=) ident(ruby_cref)operator(;) reserved(if) operator(()ident(wrap) operator(&&) ident(ruby_safe_level) operator(>=) integer(4)operator(\)) operator({) ident(StringValue)operator(()ident(fname)operator(\);) operator(}) reserved(else) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) operator(}) ident(fname) operator(=) ident(rb_str_new4)operator(()ident(fname)operator(\);) ident(tmp) operator(=) ident(rb_find_file)operator(()ident(fname)operator(\);) reserved(if) operator((!)ident(tmp)operator(\)) operator({) ident(load_failed)operator(()ident(fname)operator(\);) operator(}) ident(fname) operator(=) ident(tmp)operator(;) ident(ruby_errinfo) operator(=) ident(Qnil)operator(;) comment(/* ensure */) ident(PUSH_VARS)operator((\);) ident(PUSH_CLASS)operator(()ident(ruby_wrapper)operator(\);) ident(ruby_cref) operator(=) ident(ruby_top_cref)operator(;) reserved(if) operator((!)ident(wrap)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) comment(/* should alter global state */) ident(ruby_class) operator(=) ident(rb_cObject)operator(;) ident(ruby_wrapper) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) comment(/* load in anonymous module as toplevel */) ident(ruby_class) operator(=) ident(ruby_wrapper) operator(=) ident(rb_module_new)operator((\);) ident(self) operator(=) ident(rb_obj_clone)operator(()ident(ruby_top_self)operator(\);) ident(rb_extend_object)operator(()ident(self)operator(,) ident(ruby_wrapper)operator(\);) ident(PUSH_CREF)operator(()ident(ruby_wrapper)operator(\);) operator(}) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_class) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(self) operator(=) ident(self)operator(;) ident(PUSH_SCOPE)operator((\);) comment(/* default visibility is private at loading toplevel */) ident(SCOPE_SET)operator(()ident(SCOPE_PRIVATE)operator(\);) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) ident(state) operator(=) ident(EXEC_TAG)operator((\);) ident(last_func) operator(=) ident(ruby_frame)operator(->)ident(last_func)operator(;) ident(last_node) operator(=) ident(ruby_current_node)operator(;) reserved(if) operator((!)ident(ruby_current_node) operator(&&) ident(ruby_sourcefile)operator(\)) operator({) ident(last_node) operator(=) ident(NEW_NEWLINE)operator(()integer(0)operator(\);) operator(}) ident(ruby_current_node) operator(=) integer(0)operator(;) reserved(if) operator(()ident(state) operator(==) integer(0)operator(\)) operator({) ident(NODE) operator(*)ident(node)operator(;) directive(volatile) pre_type(int) ident(critical)operator(;) ident(DEFER_INTS)operator(;) ident(ruby_in_eval)operator(++;) ident(critical) operator(=) ident(rb_thread_critical)operator(;) ident(rb_thread_critical) operator(=) ident(Qtrue)operator(;) ident(rb_load_file)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) ident(ruby_in_eval)operator(--;) ident(node) operator(=) ident(ruby_eval_tree)operator(;) ident(rb_thread_critical) operator(=) ident(critical)operator(;) ident(ALLOW_INTS)operator(;) reserved(if) operator(()ident(ruby_nerrs) operator(==) integer(0)operator(\)) operator({) ident(eval_node)operator(()ident(self)operator(,) ident(node)operator(\);) operator(}) operator(}) ident(ruby_frame)operator(->)ident(last_func) operator(=) ident(last_func)operator(;) ident(ruby_current_node) operator(=) ident(last_node)operator(;) ident(ruby_sourcefile) operator(=) integer(0)operator(;) ident(ruby_set_current_source)operator((\);) reserved(if) operator(()ident(ruby_scope)operator(->)ident(flags) operator(==) ident(SCOPE_ALLOCA) operator(&&) ident(ruby_class) operator(==) ident(rb_cObject)operator(\)) operator({) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_tbl)operator(\)) comment(/* toplevel was empty */) ident(free)operator(()ident(ruby_scope)operator(->)ident(local_tbl)operator(\);) operator(}) ident(POP_TAG)operator((\);) ident(rb_prohibit_interrupt) operator(=) ident(prohibit_int)operator(;) ident(ruby_cref) operator(=) ident(saved_cref)operator(;) ident(POP_SCOPE)operator((\);) ident(POP_FRAME)operator((\);) ident(POP_ITER)operator((\);) ident(POP_CLASS)operator((\);) ident(POP_VARS)operator((\);) ident(ruby_wrapper) operator(=) ident(wrapper)operator(;) reserved(if) operator(()ident(ruby_nerrs) operator(>) integer(0)operator(\)) operator({) ident(ruby_nerrs) operator(=) integer(0)operator(;) ident(rb_exc_raise)operator(()ident(ruby_errinfo)operator(\);) operator(}) reserved(if) operator(()ident(state)operator(\)) ident(jump_tag_but_local_jump)operator(()ident(state)operator(,) ident(Qundef)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) comment(/* exception during load */) ident(rb_exc_raise)operator(()ident(ruby_errinfo)operator(\);) operator(}) directive(void) ident(rb_load_protect)operator(()ident(fname)operator(,) ident(wrap)operator(,) ident(state)operator(\)) ident(VALUE) ident(fname)operator(;) pre_type(int) ident(wrap)operator(;) pre_type(int) operator(*)ident(state)operator(;) operator({) pre_type(int) ident(status)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(rb_load)operator(()ident(fname)operator(,) ident(wrap)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) operator(*)ident(state) operator(=) ident(status)operator(;) operator(}) comment(/* * call-seq: * load(filename, wrap=false\) => true * * Loads and executes the Ruby * program in the file _filename_. If the filename does not * resolve to an absolute path, the file is searched for in the library * directories listed in $:. If the optional _wrap_ * parameter is +true+, the loaded script will be executed * under an anonymous module, protecting the calling program's global * namespace. In no circumstance will any local variables in the loaded * file be propagated to the loading environment. */) directive(static) ident(VALUE) ident(rb_f_load)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(wrap)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(wrap)operator(\);) ident(rb_load)operator(()ident(fname)operator(,) ident(RTEST)operator(()ident(wrap)operator(\)\);) reserved(return) ident(Qtrue)operator(;) operator(}) ident(VALUE) ident(ruby_dln_librefs)operator(;) directive(static) ident(VALUE) ident(rb_features)operator(;) directive(static) ident(st_table) operator(*)ident(loading_tbl)operator(;) preprocessor(#define) ident(IS_SOEXT)operator(()ident(e)operator(\)) operator(()ident(strcmp)operator(()ident(e)operator(,) stringoperator(\)) operator(==) integer(0) operator(||) ident(strcmp)operator(()ident(e)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) preprocessor(#ifdef) ident(DLEXT2) preprocessor(#define) ident(IS_DLEXT)operator(()ident(e)operator(\)) operator(()ident(strcmp)operator(()ident(e)operator(,) ident(DLEXT)operator(\)) operator(==) integer(0) operator(||) ident(strcmp)operator(()ident(e)operator(,) ident(DLEXT2)operator(\)) operator(==) integer(0)operator(\)) preprocessor(#else) preprocessor(#define) ident(IS_DLEXT)operator(()ident(e)operator(\)) operator(()ident(strcmp)operator(()ident(e)operator(,) ident(DLEXT)operator(\)) operator(==) integer(0)operator(\)) preprocessor(#endif) directive(static) directive(const) pre_type(char) operator(*)directive(const) ident(loadable_ext)operator([]) operator(=) operator({) stringoperator(,) ident(DLEXT)operator(,) preprocessor(#ifdef) ident(DLEXT2) ident(DLEXT2)operator(,) preprocessor(#endif) integer(0) operator(};) directive(static) pre_type(int) ident(rb_feature_p) ident(_)operator((()directive(const) pre_type(char) operator(**,) directive(const) pre_type(char) operator(*,) pre_type(int)operator(\)\);) directive(static) pre_type(int) ident(search_required) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE) operator(*,) ident(VALUE) operator(*\)\);) directive(static) pre_type(int) ident(rb_feature_p)operator(()ident(ftptr)operator(,) ident(ext)operator(,) ident(rb)operator(\)) directive(const) pre_type(char) operator(**)ident(ftptr)operator(,) operator(*)ident(ext)operator(;) pre_type(int) ident(rb)operator(;) operator({) ident(VALUE) ident(v)operator(;) directive(const) pre_type(char) operator(*)ident(f)operator(,) operator(*)ident(e)operator(,) operator(*)ident(feature) operator(=) operator(*)ident(ftptr)operator(;) pre_type(long) ident(i)operator(,) ident(len)operator(,) ident(elen)operator(;) reserved(if) operator(()ident(ext)operator(\)) operator({) ident(len) operator(=) ident(ext) operator(-) ident(feature)operator(;) ident(elen) operator(=) ident(strlen)operator(()ident(ext)operator(\);) operator(}) reserved(else) operator({) ident(len) operator(=) ident(strlen)operator(()ident(feature)operator(\);) ident(elen) operator(=) integer(0)operator(;) operator(}) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RARRAY_LEN)operator(()ident(rb_features)operator(\);) operator(++)ident(i)operator(\)) operator({) ident(v) operator(=) ident(RARRAY_PTR)operator(()ident(rb_features)operator(\)[)ident(i)operator(];) ident(f) operator(=) ident(StringValuePtr)operator(()ident(v)operator(\);) reserved(if) operator(()ident(RSTRING_LEN)operator(()ident(v)operator(\)) operator(<) ident(len) operator(||) ident(strncmp)operator(()ident(f)operator(,) ident(feature)operator(,) ident(len)operator(\)) operator(!=) integer(0)operator(\)) reserved(continue)operator(;) reserved(if) operator((!*()ident(e) operator(=) ident(f) operator(+) ident(len)operator(\)\)) operator({) reserved(if) operator(()ident(ext)operator(\)) reserved(continue)operator(;) operator(*)ident(ftptr) operator(=) integer(0)operator(;) reserved(return) char('u')operator(;) operator(}) reserved(if) operator((*)ident(e) operator(!=) char('.')operator(\)) reserved(continue)operator(;) reserved(if) operator(((!)ident(rb) operator(||) operator(!)ident(ext)operator(\)) operator(&&) operator(()ident(IS_SOEXT)operator(()ident(e)operator(\)) operator(||) ident(IS_DLEXT)operator(()ident(e)operator(\)\)\)) operator({) operator(*)ident(ftptr) operator(=) integer(0)operator(;) reserved(return) char('s')operator(;) operator(}) reserved(if) operator((()ident(rb) operator(||) operator(!)ident(ext)operator(\)) operator(&&) operator(()ident(strcmp)operator(()ident(e)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)\)) operator({) operator(*)ident(ftptr) operator(=) integer(0)operator(;) reserved(return) char('r')operator(;) operator(}) operator(}) reserved(if) operator(()ident(loading_tbl)operator(\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(loading_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(feature)operator(,) operator(()ident(st_data_t) operator(*\))ident(ftptr)operator(\)\)) operator({) reserved(if) operator((!)ident(ext)operator(\)) reserved(return) char('u')operator(;) reserved(return) ident(strcmp)operator(()ident(ext)operator(,) stringoperator(\)) operator(?) char('s') operator(:) char('r')operator(;) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(buf)operator(;) reserved(if) operator(()ident(ext) operator(&&) operator(*)ident(ext)operator(\)) reserved(return) integer(0)operator(;) ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len) operator(+) ident(DLEXT_MAXLEN) operator(+) integer(1)operator(\);) ident(MEMCPY)operator(()ident(buf)operator(,) ident(feature)operator(,) pre_type(char)operator(,) ident(len)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) operator(()ident(e) operator(=) ident(loadable_ext)operator([)ident(i)operator(]\)) operator(!=) integer(0)operator(;) ident(i)operator(++\)) operator({) ident(strncpy)operator(()ident(buf) operator(+) ident(len)operator(,) ident(e)operator(,) ident(DLEXT_MAXLEN) operator(+) integer(1)operator(\);) reserved(if) operator(()ident(st_lookup)operator(()ident(loading_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(buf)operator(,) operator(()ident(st_data_t) operator(*\))ident(ftptr)operator(\)\)) operator({) reserved(return) ident(i) operator(?) char('s') operator(:) char('r')operator(;) operator(}) operator(}) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) preprocessor(#define) ident(rb_feature_p)operator(()ident(feature)operator(,) ident(ext)operator(,) ident(rb)operator(\)) ident(rb_feature_p)operator((&)ident(feature)operator(,) ident(ext)operator(,) ident(rb)operator(\)) pre_type(int) ident(rb_provided)operator(()ident(feature)operator(\)) directive(const) pre_type(char) operator(*)ident(feature)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(ext) operator(=) ident(strrchr)operator(()ident(feature)operator(,) char('.')operator(\);) reserved(if) operator(()ident(ext) operator(&&) operator(!)ident(strchr)operator(()ident(ext)operator(,) char('/')operator(\)\)) operator({) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(ext)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(rb_feature_p)operator(()ident(feature)operator(,) ident(ext)operator(,) ident(Qtrue)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(IS_SOEXT)operator(()ident(ext)operator(\)) operator(||) ident(IS_DLEXT)operator(()ident(ext)operator(\)\)) operator({) reserved(if) operator(()ident(rb_feature_p)operator(()ident(feature)operator(,) ident(ext)operator(,) ident(Qfalse)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) operator(}) reserved(if) operator(()ident(rb_feature_p)operator(()ident(feature)operator(,) ident(feature) operator(+) ident(strlen)operator(()ident(feature)operator(\),) ident(Qtrue)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(rb_provide_feature)operator(()ident(feature)operator(\)) ident(VALUE) ident(feature)operator(;) operator({) ident(rb_ary_push)operator(()ident(rb_features)operator(,) ident(feature)operator(\);) operator(}) directive(void) ident(rb_provide)operator(()ident(feature)operator(\)) directive(const) pre_type(char) operator(*)ident(feature)operator(;) operator({) ident(rb_provide_feature)operator(()ident(rb_str_new2)operator(()ident(feature)operator(\)\);) operator(}) directive(static) pre_type(char) operator(*) ident(load_lock)operator(()ident(ftptr)operator(\)) directive(const) pre_type(char) operator(*)ident(ftptr)operator(;) operator({) ident(st_data_t) ident(th)operator(;) reserved(if) operator((!)ident(loading_tbl) operator(||) operator(!)ident(st_lookup)operator(()ident(loading_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(ftptr)operator(,) operator(&)ident(th)operator(\)\)) operator({) comment(/* loading ruby library should be serialized. */) reserved(if) operator((!)ident(loading_tbl)operator(\)) operator({) ident(loading_tbl) operator(=) ident(st_init_strtable)operator((\);) operator(}) comment(/* partial state */) ident(ftptr) operator(=) ident(ruby_strdup)operator(()ident(ftptr)operator(\);) ident(st_insert)operator(()ident(loading_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(ftptr)operator(,) operator(()ident(st_data_t)operator(\))ident(curr_thread)operator(\);) reserved(return) operator(()pre_type(char) operator(*\))ident(ftptr)operator(;) operator(}) reserved(do) operator({) ident(rb_thread_t) ident(owner) operator(=) operator(()ident(rb_thread_t)operator(\))ident(th)operator(;) reserved(if) operator(()ident(owner) operator(==) ident(curr_thread)operator(\)) reserved(return) integer(0)operator(;) ident(rb_thread_join)operator(()ident(owner)operator(->)ident(thread)operator(,) operator(-)float(1)float(.0)operator(\);) operator(}) reserved(while) operator(()ident(st_lookup)operator(()ident(loading_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(ftptr)operator(,) operator(&)ident(th)operator(\)\);) reserved(return) integer(0)operator(;) operator(}) directive(static) directive(void) ident(load_unlock)operator(()directive(const) pre_type(char) operator(*)ident(ftptr)operator(\)) operator({) reserved(if) operator(()ident(ftptr)operator(\)) operator({) ident(st_data_t) ident(key) operator(=) operator(()ident(st_data_t)operator(\))ident(ftptr)operator(;) reserved(if) operator(()ident(st_delete)operator(()ident(loading_tbl)operator(,) operator(&)ident(key)operator(,) integer(0)operator(\)\)) operator({) ident(free)operator((()pre_type(char) operator(*\))ident(key)operator(\);) operator(}) operator(}) operator(}) comment(/* * call-seq: * require(string\) => true or false * * Ruby tries to load the library named _string_, returning * +true+ if successful. If the filename does not resolve to * an absolute path, it will be searched for in the directories listed * in $:. If the file has the extension ``.rb'', it is * loaded as a source file; if the extension is ``.so'', ``.o'', or * ``.dll'', or whatever the default shared library extension is on * the current platform, Ruby loads the shared library as a Ruby * extension. Otherwise, Ruby tries adding ``.rb'', ``.so'', and so on * to the name. The name of the loaded feature is added to the array in * $". A feature will not be loaded if it's name already * appears in $". However, the file name is not converted * to an absolute path, so that ``require 'a';require * './a''' will load a.rb twice. * * require "my-library.rb" * require "db-driver" */) ident(VALUE) ident(rb_f_require)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(return) ident(rb_require_safe)operator(()ident(fname)operator(,) ident(ruby_safe_level)operator(\);) operator(}) directive(static) pre_type(int) ident(search_required)operator(()ident(fname)operator(,) ident(featurep)operator(,) ident(path)operator(\)) ident(VALUE) ident(fname)operator(,) operator(*)ident(featurep)operator(,) operator(*)ident(path)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) directive(const) pre_type(char) operator(*)ident(ext)operator(,) operator(*)ident(ftptr)operator(;) pre_type(int) ident(type)operator(;) operator(*)ident(featurep) operator(=) ident(fname)operator(;) operator(*)ident(path) operator(=) integer(0)operator(;) ident(ext) operator(=) ident(strrchr)operator(()ident(ftptr) operator(=) ident(RSTRING_PTR)operator(()ident(fname)operator(\),) char('.')operator(\);) reserved(if) operator(()ident(ext) operator(&&) operator(!)ident(strchr)operator(()ident(ext)operator(,) char('/')operator(\)\)) operator({) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(ext)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(rb_feature_p)operator(()ident(ftptr)operator(,) ident(ext)operator(,) ident(Qtrue)operator(\)\)) operator({) reserved(if) operator(()ident(ftptr)operator(\)) operator(*)ident(path) operator(=) ident(rb_str_new2)operator(()ident(ftptr)operator(\);) reserved(return) char('r')operator(;) operator(}) reserved(if) operator(((*)ident(path) operator(=) ident(rb_find_file)operator(()ident(fname)operator(\)\)) operator(!=) integer(0)operator(\)) reserved(return) char('r')operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(IS_SOEXT)operator(()ident(ext)operator(\)\)) operator({) reserved(if) operator(()ident(rb_feature_p)operator(()ident(ftptr)operator(,) ident(ext)operator(,) ident(Qfalse)operator(\)\)) operator({) reserved(if) operator(()ident(ftptr)operator(\)) operator(*)ident(path) operator(=) ident(rb_str_new2)operator(()ident(ftptr)operator(\);) reserved(return) char('s')operator(;) operator(}) ident(tmp) operator(=) ident(rb_str_new)operator(()ident(RSTRING_PTR)operator(()ident(fname)operator(\),) ident(ext)operator(-)ident(RSTRING_PTR)operator(()ident(fname)operator(\)\);) operator(*)ident(featurep) operator(=) ident(tmp)operator(;) preprocessor(#ifdef) ident(DLEXT2) ident(OBJ_FREEZE)operator(()ident(tmp)operator(\);) reserved(if) operator(()ident(rb_find_file_ext)operator((&)ident(tmp)operator(,) ident(loadable_ext)operator(+)integer(1)operator(\)\)) operator({) operator(*)ident(featurep) operator(=) ident(tmp)operator(;) operator(*)ident(path) operator(=) ident(rb_find_file)operator(()ident(tmp)operator(\);) reserved(return) char('s')operator(;) operator(}) preprocessor(#else) ident(rb_str_cat2)operator(()ident(tmp)operator(,) ident(DLEXT)operator(\);) ident(OBJ_FREEZE)operator(()ident(tmp)operator(\);) reserved(if) operator(((*)ident(path) operator(=) ident(rb_find_file)operator(()ident(tmp)operator(\)\)) operator(!=) integer(0)operator(\)) operator({) reserved(return) char('s')operator(;) operator(}) preprocessor(#endif) operator(}) reserved(else) reserved(if) operator(()ident(IS_DLEXT)operator(()ident(ext)operator(\)\)) operator({) reserved(if) operator(()ident(rb_feature_p)operator(()ident(ftptr)operator(,) ident(ext)operator(,) ident(Qfalse)operator(\)\)) operator({) reserved(if) operator(()ident(ftptr)operator(\)) operator(*)ident(path) operator(=) ident(rb_str_new2)operator(()ident(ftptr)operator(\);) reserved(return) char('s')operator(;) operator(}) reserved(if) operator(((*)ident(path) operator(=) ident(rb_find_file)operator(()ident(fname)operator(\)\)) operator(!=) integer(0)operator(\)) reserved(return) char('s')operator(;) operator(}) operator(}) ident(tmp) operator(=) ident(fname)operator(;) ident(type) operator(=) ident(rb_find_file_ext)operator((&)ident(tmp)operator(,) ident(loadable_ext)operator(\);) operator(*)ident(featurep) operator(=) ident(tmp)operator(;) reserved(switch) operator(()ident(type)operator(\)) operator({) reserved(case) integer(0)operator(:) ident(type) operator(=) ident(rb_feature_p)operator(()ident(ftptr)operator(,) integer(0)operator(,) ident(Qfalse)operator(\);) reserved(if) operator(()ident(type) operator(&&) ident(ftptr)operator(\)) operator(*)ident(path) operator(=) ident(rb_str_new2)operator(()ident(ftptr)operator(\);) reserved(return) ident(type)operator(;) reserved(default)operator(:) ident(ext) operator(=) ident(strrchr)operator(()ident(ftptr) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(,) char('.')operator(\);) reserved(if) operator((!)ident(rb_feature_p)operator(()ident(ftptr)operator(,) ident(ext)operator(,) operator(!--)ident(type)operator(\)\)) operator(*)ident(path) operator(=) ident(rb_find_file)operator(()ident(tmp)operator(\);) reserved(else) reserved(if) operator(()ident(ftptr)operator(\)) operator(*)ident(path) operator(=) ident(rb_str_new2)operator(()ident(ftptr)operator(\);) operator(}) reserved(return) ident(type) operator(?) char('s') operator(:) char('r')operator(;) operator(}) directive(static) directive(void) ident(load_failed)operator(()ident(fname)operator(\)) ident(VALUE) ident(fname)operator(;) operator({) ident(rb_raise)operator(()ident(rb_eLoadError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) operator(}) ident(VALUE) ident(rb_require_safe)operator(()ident(fname)operator(,) ident(safe)operator(\)) ident(VALUE) ident(fname)operator(;) pre_type(int) ident(safe)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) directive(volatile) ident(VALUE) ident(errinfo) operator(=) ident(ruby_errinfo)operator(;) pre_type(int) ident(state)operator(;) reserved(struct) operator({) ident(NODE) operator(*)ident(node)operator(;) ident(ID) ident(func)operator(;) pre_type(int) ident(vmode)operator(,) ident(safe)operator(;) operator(}) directive(volatile) ident(saved)operator(;) pre_type(char) operator(*)directive(volatile) ident(ftptr) operator(=) integer(0)operator(;) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(fname)operator(\)\)) operator({) ident(rb_check_safe_obj)operator(()ident(fname)operator(\);) operator(}) ident(StringValue)operator(()ident(fname)operator(\);) ident(fname) operator(=) ident(rb_str_new4)operator(()ident(fname)operator(\);) ident(saved)operator(.)ident(vmode) operator(=) ident(scope_vmode)operator(;) ident(saved)operator(.)ident(node) operator(=) ident(ruby_current_node)operator(;) ident(saved)operator(.)ident(func) operator(=) ident(ruby_frame)operator(->)ident(last_func)operator(;) ident(saved)operator(.)ident(safe) operator(=) ident(ruby_safe_level)operator(;) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(VALUE) ident(feature)operator(,) ident(path)operator(;) pre_type(long) ident(handle)operator(;) pre_type(int) ident(found)operator(;) ident(ruby_safe_level) operator(=) ident(safe)operator(;) ident(found) operator(=) ident(search_required)operator(()ident(fname)operator(,) operator(&)ident(feature)operator(,) operator(&)ident(path)operator(\);) reserved(if) operator(()ident(found)operator(\)) operator({) reserved(if) operator((!)ident(path) operator(||) operator(!()ident(ftptr) operator(=) ident(load_lock)operator(()ident(RSTRING_PTR)operator(()ident(feature)operator(\)\)\)\)) operator({) ident(result) operator(=) ident(Qfalse)operator(;) operator(}) reserved(else) operator({) ident(ruby_safe_level) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(found)operator(\)) operator({) reserved(case) char('r')operator(:) ident(rb_load)operator(()ident(path)operator(,) integer(0)operator(\);) reserved(break)operator(;) reserved(case) char('s')operator(:) ident(ruby_current_node) operator(=) integer(0)operator(;) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) ident(ruby_sourceline) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(SCOPE_SET)operator(()ident(SCOPE_PUBLIC)operator(\);) ident(handle) operator(=) operator(()pre_type(long)operator(\))ident(dln_load)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) ident(rb_ary_push)operator(()ident(ruby_dln_librefs)operator(,) ident(LONG2NUM)operator(()ident(handle)operator(\)\);) reserved(break)operator(;) operator(}) ident(rb_provide_feature)operator(()ident(feature)operator(\);) ident(result) operator(=) ident(Qtrue)operator(;) operator(}) operator(}) operator(}) ident(POP_TAG)operator((\);) ident(ruby_current_node) operator(=) ident(saved)operator(.)ident(node)operator(;) ident(ruby_set_current_source)operator((\);) ident(ruby_frame)operator(->)ident(last_func) operator(=) ident(saved)operator(.)ident(func)operator(;) ident(SCOPE_SET)operator(()ident(saved)operator(.)ident(vmode)operator(\);) ident(ruby_safe_level) operator(=) ident(saved)operator(.)ident(safe)operator(;) ident(load_unlock)operator(()ident(ftptr)operator(\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(result)operator(\)\)) operator({) ident(load_failed)operator(()ident(fname)operator(\);) operator(}) ident(ruby_errinfo) operator(=) ident(errinfo)operator(;) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_require)operator(()ident(fname)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) operator({) ident(VALUE) ident(fn) operator(=) ident(rb_str_new2)operator(()ident(fname)operator(\);) ident(OBJ_FREEZE)operator(()ident(fn)operator(\);) reserved(return) ident(rb_require_safe)operator(()ident(fn)operator(,) ident(ruby_safe_level)operator(\);) operator(}) directive(void) ident(ruby_init_ext)operator(()ident(name)operator(,) ident(init)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) directive(void) operator((*)ident(init)operator(\)) ident(_)operator((()directive(void)operator(\)\);) operator({) ident(ruby_current_node) operator(=) integer(0)operator(;) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(name)operator(\);) ident(ruby_sourceline) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(orig_func) operator(=) integer(0)operator(;) ident(SCOPE_SET)operator(()ident(SCOPE_PUBLIC)operator(\);) reserved(if) operator(()ident(load_lock)operator(()ident(name)operator(\)\)) operator({) operator((*)ident(init)operator(\)(\);) ident(rb_provide)operator(()ident(name)operator(\);) ident(load_unlock)operator(()ident(name)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(secure_visibility)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(self)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) operator(}) directive(static) directive(void) ident(set_method_visibility)operator(()ident(self)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(ex)operator(\)) ident(VALUE) ident(self)operator(;) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(ID) ident(ex)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(secure_visibility)operator(()ident(self)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_export_method)operator(()ident(self)operator(,) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\),) ident(ex)operator(\);) operator(}) ident(rb_clear_cache_by_class)operator(()ident(self)operator(\);) operator(}) comment(/* * call-seq: * public => self * public(symbol, ...\) => self * * With no arguments, sets the default visibility for subsequently * defined methods to public. With arguments, sets the named methods to * have public visibility. */) directive(static) ident(VALUE) ident(rb_mod_public)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(module)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(module)operator(;) operator({) ident(secure_visibility)operator(()ident(module)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(SCOPE_SET)operator(()ident(SCOPE_PUBLIC)operator(\);) operator(}) reserved(else) operator({) ident(set_method_visibility)operator(()ident(module)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(NOEX_PUBLIC)operator(\);) operator(}) reserved(return) ident(module)operator(;) operator(}) comment(/* * call-seq: * protected => self * protected(symbol, ...\) => self * * With no arguments, sets the default visibility for subsequently * defined methods to protected. With arguments, sets the named methods * to have protected visibility. */) directive(static) ident(VALUE) ident(rb_mod_protected)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(module)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(module)operator(;) operator({) ident(secure_visibility)operator(()ident(module)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(SCOPE_SET)operator(()ident(SCOPE_PROTECTED)operator(\);) operator(}) reserved(else) operator({) ident(set_method_visibility)operator(()ident(module)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(NOEX_PROTECTED)operator(\);) operator(}) reserved(return) ident(module)operator(;) operator(}) comment(/* * call-seq: * private => self * private(symbol, ...\) => self * * With no arguments, sets the default visibility for subsequently * defined methods to private. With arguments, sets the named methods * to have private visibility. * * module Mod * def a(\) end * def b(\) end * private * def c(\) end * private :a * end * Mod.private_instance_methods #=> ["a", "c"] */) directive(static) ident(VALUE) ident(rb_mod_private)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(module)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(module)operator(;) operator({) ident(secure_visibility)operator(()ident(module)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(SCOPE_SET)operator(()ident(SCOPE_PRIVATE)operator(\);) operator(}) reserved(else) operator({) ident(set_method_visibility)operator(()ident(module)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(NOEX_PRIVATE)operator(\);) operator(}) reserved(return) ident(module)operator(;) operator(}) comment(/* * call-seq: * mod.public_class_method(symbol, ...\) => mod * * Makes a list of existing class methods public. */) directive(static) ident(VALUE) ident(rb_mod_public_method)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(set_method_visibility)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\),) ident(argc)operator(,) ident(argv)operator(,) ident(NOEX_PUBLIC)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * mod.private_class_method(symbol, ...\) => mod * * Makes existing class methods private. Often used to hide the default * constructor new. * * class SimpleSingleton # Not thread safe * private_class_method :new * def SimpleSingleton.create(*args, &block\) * @me = new(*args, &block\) if ! @me * @me * end * end */) directive(static) ident(VALUE) ident(rb_mod_private_method)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(set_method_visibility)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\),) ident(argc)operator(,) ident(argv)operator(,) ident(NOEX_PRIVATE)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * public * public(symbol, ...\) * * With no arguments, sets the default visibility for subsequently * defined methods to public. With arguments, sets the named methods to * have public visibility. */) directive(static) ident(VALUE) ident(top_public)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_mod_public)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_cObject)operator(\);) operator(}) directive(static) ident(VALUE) ident(top_private)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_mod_private)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_cObject)operator(\);) operator(}) comment(/* * call-seq: * module_function(symbol, ...\) => self * * Creates module functions for the named methods. These functions may * be called with the module as a receiver, and also become available * as instance methods to classes that mix in the module. Module * functions are copies of the original, and so may be changed * independently. The instance-method versions are made private. If * used with no arguments, subsequently defined methods become module * functions. * * module Mod * def one * "This is one" * end * module_function :one * end * class Cls * include Mod * def callOne * one * end * end * Mod.one #=> "This is one" * c = Cls.new * c.callOne #=> "This is one" * module Mod * def one * "This is the new one" * end * end * Mod.one #=> "This is one" * c.callOne #=> "This is the new one" */) directive(static) ident(VALUE) ident(rb_mod_modfunc)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(module)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(module)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(ID) ident(id)operator(;) ident(NODE) operator(*)ident(body)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(module)operator(\)) operator(!=) ident(T_MODULE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(secure_visibility)operator(()ident(module)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(SCOPE_SET)operator(()ident(SCOPE_MODFUNC)operator(\);) reserved(return) ident(module)operator(;) operator(}) ident(set_method_visibility)operator(()ident(module)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(NOEX_PRIVATE)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(m) operator(=) ident(module)operator(;) ident(id) operator(=) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\);) reserved(for) operator((;;\)) operator({) ident(body) operator(=) ident(search_method)operator(()ident(m)operator(,) ident(id)operator(,) operator(&)ident(m)operator(\);) reserved(if) operator(()ident(body) operator(==) integer(0)operator(\)) operator({) ident(body) operator(=) ident(search_method)operator(()ident(rb_cObject)operator(,) ident(id)operator(,) operator(&)ident(m)operator(\);) operator(}) reserved(if) operator(()ident(body) operator(==) integer(0) operator(||) ident(body)operator(->)ident(nd_body) operator(==) integer(0)operator(\)) operator({) ident(print_undef)operator(()ident(module)operator(,) ident(id)operator(\);) operator(}) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(->)ident(nd_body)operator(\)) operator(!=) ident(NODE_ZSUPER)operator(\)) operator({) reserved(break)operator(;) comment(/* normal case: need not to follow 'super' link */) operator(}) ident(m) operator(=) ident(RCLASS)operator(()ident(m)operator(\)->)ident(super)operator(;) reserved(if) operator((!)ident(m)operator(\)) reserved(break)operator(;) operator(}) ident(rb_add_method)operator(()ident(rb_singleton_class)operator(()ident(module)operator(\),) ident(id)operator(,) ident(body)operator(->)ident(nd_body)operator(,) ident(NOEX_PUBLIC)operator(\);) operator(}) reserved(return) ident(module)operator(;) operator(}) comment(/* * call-seq: * append_features(mod\) => mod * * When this module is included in another, Ruby calls * append_features in this module, passing it the * receiving module in _mod_. Ruby's default implementation is * to add the constants, methods, and module variables of this module * to _mod_ if this module has not already been added to * _mod_ or one of its ancestors. See also Module#include. */) directive(static) ident(VALUE) ident(rb_mod_append_features)operator(()ident(module)operator(,) ident(include)operator(\)) ident(VALUE) ident(module)operator(,) ident(include)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(include)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(Check_Type)operator(()ident(include)operator(,) ident(T_CLASS)operator(\);) reserved(break)operator(;) operator(}) ident(rb_include_module)operator(()ident(include)operator(,) ident(module)operator(\);) reserved(return) ident(module)operator(;) operator(}) comment(/* * call-seq: * include(module, ...\) => self * * Invokes Module.append_features on each parameter in turn. */) directive(static) ident(VALUE) ident(rb_mod_include)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(module)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(module)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) ident(Check_Type)operator(()ident(argv)operator([)ident(i)operator(],) ident(T_MODULE)operator(\);) reserved(while) operator(()ident(argc)operator(--\)) operator({) ident(rb_funcall)operator(()ident(argv)operator([)ident(argc)operator(],) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(module)operator(\);) ident(rb_funcall)operator(()ident(argv)operator([)ident(argc)operator(],) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(module)operator(\);) operator(}) reserved(return) ident(module)operator(;) operator(}) directive(void) ident(rb_obj_call_init)operator(()ident(obj)operator(,) ident(argc)operator(,) ident(argv)operator(\)) ident(VALUE) ident(obj)operator(;) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(PUSH_ITER)operator(()ident(rb_block_given_p)operator((\)?)ident(ITER_PRE)operator(:)ident(ITER_NOT)operator(\);) ident(rb_funcall2)operator(()ident(obj)operator(,) ident(init)operator(,) ident(argc)operator(,) ident(argv)operator(\);) ident(POP_ITER)operator((\);) operator(}) directive(void) ident(rb_extend_object)operator(()ident(obj)operator(,) ident(module)operator(\)) ident(VALUE) ident(obj)operator(,) ident(module)operator(;) operator({) ident(rb_include_module)operator(()ident(rb_singleton_class)operator(()ident(obj)operator(\),) ident(module)operator(\);) operator(}) comment(/* * call-seq: * extend_object(obj\) => obj * * Extends the specified object by adding this module's constants and * methods (which are added as singleton methods\). This is the callback * method used by Object#extend. * * module Picky * def Picky.extend_object(o\) * if String === o * puts "Can't add Picky to a String" * else * puts "Picky added to #{o.class}" * super * end * end * end * (s = Array.new\).extend Picky # Call Object.extend * (s = "quick brown fox"\).extend Picky * * produces: * * Picky added to Array * Can't add Picky to a String */) directive(static) ident(VALUE) ident(rb_mod_extend_object)operator(()ident(mod)operator(,) ident(obj)operator(\)) ident(VALUE) ident(mod)operator(,) ident(obj)operator(;) operator({) ident(rb_extend_object)operator(()ident(obj)operator(,) ident(mod)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * obj.extend(module, ...\) => obj * * Adds to _obj_ the instance methods from each module given as a * parameter. * * module Mod * def hello * "Hello from Mod.\\n" * end * end * * class Klass * def hello * "Hello from Klass.\\n" * end * end * * k = Klass.new * k.hello #=> "Hello from Klass.\\n" * k.extend(Mod\) #=> # * k.hello #=> "Hello from Mod.\\n" */) directive(static) ident(VALUE) ident(rb_obj_extend)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) ident(Check_Type)operator(()ident(argv)operator([)ident(i)operator(],) ident(T_MODULE)operator(\);) reserved(while) operator(()ident(argc)operator(--\)) operator({) ident(rb_funcall)operator(()ident(argv)operator([)ident(argc)operator(],) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(obj)operator(\);) ident(rb_funcall)operator(()ident(argv)operator([)ident(argc)operator(],) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(obj)operator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * include(module, ...\) => self * * Invokes Module.append_features * on each parameter in turn. Effectively adds the methods and constants * in each module to the receiver. */) directive(static) ident(VALUE) ident(top_include)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(ruby_wrapper)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) reserved(return) ident(rb_mod_include)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(ruby_wrapper)operator(\);) operator(}) reserved(return) ident(rb_mod_include)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_cObject)operator(\);) operator(}) ident(VALUE) ident(rb_f_trace_var)operator((\);) ident(VALUE) ident(rb_f_untrace_var)operator((\);) directive(static) directive(void) ident(errinfo_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(val)operator(\)) operator(&&) operator(!)ident(rb_obj_is_kind_of)operator(()ident(val)operator(,) ident(rb_eException)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) operator(*)ident(var) operator(=) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(errat_getter)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(get_backtrace)operator(()ident(ruby_errinfo)operator(\);) operator(}) directive(static) directive(void) ident(errat_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(set_backtrace)operator(()ident(ruby_errinfo)operator(,) ident(val)operator(\);) operator(}) comment(/* * call-seq: * local_variables => array * * Returns the names of the current local variables. * * fred = 1 * for i in 1..10 * # ... * end * local_variables #=> ["fred", "i"] */) directive(static) ident(VALUE) ident(rb_f_local_variables)operator((\)) operator({) ident(ID) operator(*)ident(tbl)operator(;) pre_type(int) ident(n)operator(,) ident(i)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) ident(tbl) operator(=) ident(ruby_scope)operator(->)ident(local_tbl)operator(;) reserved(if) operator(()ident(tbl)operator(\)) operator({) ident(n) operator(=) operator(*)ident(tbl)operator(++;) reserved(for) operator(()ident(i)operator(=)integer(2)operator(;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) comment(/* skip first 2 ($_ and $~\) */) reserved(if) operator((!)ident(rb_is_local_id)operator(()ident(tbl)operator([)ident(i)operator(]\)\)) reserved(continue)operator(;) comment(/* skip flip states */) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(tbl)operator([)ident(i)operator(]\)\)\);) operator(}) operator(}) ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(&&) ident(rb_is_local_id)operator(()ident(vars)operator(->)ident(id)operator(\)\)) operator({) comment(/* skip $_, $~ and flip states */) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(vars)operator(->)ident(id)operator(\)\)\);) operator(}) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_f_catch) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(NORETURN)operator(()directive(static) ident(VALUE) ident(rb_f_throw) ident(_)operator((()pre_type(int)operator(,)ident(VALUE)operator(*\)\)\);) reserved(struct) ident(end_proc_data) operator({) directive(void) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(data)operator(;) pre_type(int) ident(safe)operator(;) reserved(struct) ident(end_proc_data) operator(*)ident(next)operator(;) operator(};) directive(static) reserved(struct) ident(end_proc_data) operator(*)ident(end_procs)operator(,) operator(*)ident(ephemeral_end_procs)operator(,) operator(*)ident(tmp_end_procs)operator(;) directive(void) ident(rb_set_end_proc)operator(()ident(func)operator(,) ident(data)operator(\)) directive(void) operator((*)ident(func)operator(\)) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(data)operator(;) operator({) reserved(struct) ident(end_proc_data) operator(*)ident(link) operator(=) ident(ALLOC)operator(()reserved(struct) ident(end_proc_data)operator(\);) reserved(struct) ident(end_proc_data) operator(**)ident(list)operator(;) reserved(if) operator(()ident(ruby_wrapper)operator(\)) ident(list) operator(=) operator(&)ident(ephemeral_end_procs)operator(;) reserved(else) ident(list) operator(=) operator(&)ident(end_procs)operator(;) ident(link)operator(->)ident(next) operator(=) operator(*)ident(list)operator(;) ident(link)operator(->)ident(func) operator(=) ident(func)operator(;) ident(link)operator(->)ident(data) operator(=) ident(data)operator(;) ident(link)operator(->)ident(safe) operator(=) ident(ruby_safe_level)operator(;) operator(*)ident(list) operator(=) ident(link)operator(;) operator(}) directive(void) ident(rb_mark_end_proc)operator((\)) operator({) reserved(struct) ident(end_proc_data) operator(*)ident(link)operator(;) ident(link) operator(=) ident(end_procs)operator(;) reserved(while) operator(()ident(link)operator(\)) operator({) ident(rb_gc_mark)operator(()ident(link)operator(->)ident(data)operator(\);) ident(link) operator(=) ident(link)operator(->)ident(next)operator(;) operator(}) ident(link) operator(=) ident(ephemeral_end_procs)operator(;) reserved(while) operator(()ident(link)operator(\)) operator({) ident(rb_gc_mark)operator(()ident(link)operator(->)ident(data)operator(\);) ident(link) operator(=) ident(link)operator(->)ident(next)operator(;) operator(}) ident(link) operator(=) ident(tmp_end_procs)operator(;) reserved(while) operator(()ident(link)operator(\)) operator({) ident(rb_gc_mark)operator(()ident(link)operator(->)ident(data)operator(\);) ident(link) operator(=) ident(link)operator(->)ident(next)operator(;) operator(}) operator(}) directive(static) directive(void) ident(call_end_proc) ident(_)operator((()ident(VALUE) ident(data)operator(\)\);) directive(static) directive(void) ident(call_end_proc)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(self) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(->)ident(self)operator(;) ident(ruby_frame)operator(->)ident(node) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(last_class) operator(=) integer(0)operator(;) ident(proc_invoke)operator(()ident(data)operator(,) ident(rb_ary_new2)operator(()integer(0)operator(\),) ident(Qundef)operator(,) integer(0)operator(\);) ident(POP_FRAME)operator((\);) ident(POP_ITER)operator((\);) operator(}) directive(static) directive(void) ident(rb_f_END)operator((\)) operator({) ident(PUSH_FRAME)operator((\);) ident(ruby_frame)operator(->)ident(argc) operator(=) integer(0)operator(;) ident(ruby_frame)operator(->)ident(iter) operator(=) ident(ITER_CUR)operator(;) ident(rb_set_end_proc)operator(()ident(call_end_proc)operator(,) ident(rb_block_proc)operator((\)\);) ident(POP_FRAME)operator((\);) operator(}) comment(/* * call-seq: * at_exit { block } -> proc * * Converts _block_ to a +Proc+ object (and therefore * binds it at the point of call\) and registers it for execution when * the program exits. If multiple handlers are registered, they are * executed in reverse order of registration. * * def do_at_exit(str1\) * at_exit { print str1 } * end * at_exit { puts "cruel world" } * do_at_exit("goodbye "\) * exit * * produces: * * goodbye cruel world */) directive(static) ident(VALUE) ident(rb_f_at_exit)operator((\)) operator({) ident(VALUE) ident(proc)operator(;) reserved(if) operator((!)ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(proc) operator(=) ident(rb_block_proc)operator((\);) ident(rb_set_end_proc)operator(()ident(call_end_proc)operator(,) ident(proc)operator(\);) reserved(return) ident(proc)operator(;) operator(}) directive(void) ident(rb_exec_end_proc)operator((\)) operator({) reserved(struct) ident(end_proc_data) operator(*)ident(link)operator(,) operator(*)ident(tmp)operator(;) pre_type(int) ident(status)operator(;) directive(volatile) pre_type(int) ident(safe) operator(=) ident(ruby_safe_level)operator(;) reserved(while) operator(()ident(ephemeral_end_procs)operator(\)) operator({) ident(tmp_end_procs) operator(=) ident(link) operator(=) ident(ephemeral_end_procs)operator(;) ident(ephemeral_end_procs) operator(=) integer(0)operator(;) reserved(while) operator(()ident(link)operator(\)) operator({) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(ruby_safe_level) operator(=) ident(link)operator(->)ident(safe)operator(;) operator((*)ident(link)operator(->)ident(func)operator(\)()ident(link)operator(->)ident(data)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(status)operator(\)) operator({) ident(error_handle)operator(()ident(status)operator(\);) operator(}) ident(tmp) operator(=) ident(link)operator(;) ident(tmp_end_procs) operator(=) ident(link) operator(=) ident(link)operator(->)ident(next)operator(;) ident(free)operator(()ident(tmp)operator(\);) operator(}) operator(}) reserved(while) operator(()ident(end_procs)operator(\)) operator({) ident(tmp_end_procs) operator(=) ident(link) operator(=) ident(end_procs)operator(;) ident(end_procs) operator(=) integer(0)operator(;) reserved(while) operator(()ident(link)operator(\)) operator({) ident(PUSH_TAG)operator(()ident(PROT_NONE)operator(\);) reserved(if) operator((()ident(status) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(ruby_safe_level) operator(=) ident(link)operator(->)ident(safe)operator(;) operator((*)ident(link)operator(->)ident(func)operator(\)()ident(link)operator(->)ident(data)operator(\);) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(status)operator(\)) operator({) ident(error_handle)operator(()ident(status)operator(\);) operator(}) ident(tmp) operator(=) ident(link)operator(;) ident(tmp_end_procs) operator(=) ident(link) operator(=) ident(link)operator(->)ident(next)operator(;) ident(free)operator(()ident(tmp)operator(\);) operator(}) operator(}) ident(ruby_safe_level) operator(=) ident(safe)operator(;) operator(}) directive(void) ident(Init_eval)operator((\)) operator({) ident(init) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(eqq) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(each) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(aref) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(aset) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(match) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(missing) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(added) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(singleton_added) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(removed) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(singleton_removed) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(undefined) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(singleton_undefined) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(__id__) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(__send__) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_global_variable)operator((()directive(void) operator(*\)&)ident(top_scope)operator(\);) ident(rb_global_variable)operator((()directive(void) operator(*\)&)ident(ruby_eval_tree_begin)operator(\);) ident(rb_global_variable)operator((()directive(void) operator(*\)&)ident(ruby_eval_tree)operator(\);) ident(rb_global_variable)operator((()directive(void) operator(*\)&)ident(ruby_dyna_vars)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(errat_getter)operator(,) ident(errat_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(ruby_errinfo)operator(,) integer(0)operator(,) ident(errinfo_setter)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_eval)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_block_given_p)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_block_given_p)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_method_missing)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_loop)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(obj_respond_to)operator(,) operator(-)integer(1)operator(\);) ident(respond_to) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_global_variable)operator((()directive(void) operator(*\)&)ident(basic_respond_to)operator(\);) ident(basic_respond_to) operator(=) ident(rb_method_node)operator(()ident(rb_cObject)operator(,) ident(respond_to)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_raise)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_raise)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_caller)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_exit)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_abort)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_at_exit)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_catch)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_throw)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_global_variables)operator(,) integer(0)operator(\);) comment(/* in variable.c */) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_local_variables)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_f_send)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_f_send)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_instance_eval)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_append_features)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_extend_object)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_include)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_public)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_protected)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_private)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_modfunc)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_method_defined)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_public_method_defined)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_private_method_defined)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_protected_method_defined)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_public_method)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_private_method)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_module_eval)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_module_eval)operator(,) operator(-)integer(1)operator(\);) ident(rb_undef_method)operator(()ident(rb_cClass)operator(,) stringoperator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_remove_method)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_undef_method)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_alias_method)operator(,) integer(2)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_define_method)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_nesting)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_s_constants)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(ruby_top_self)operator(,) stringoperator(,) ident(top_include)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(ruby_top_self)operator(,) stringoperator(,) ident(top_public)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(ruby_top_self)operator(,) stringoperator(,) ident(top_private)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_extend)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_trace_var)operator(,) operator(-)integer(1)operator(\);) comment(/* in variable.c */) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_untrace_var)operator(,) operator(-)integer(1)operator(\);) comment(/* in variable.c */) ident(rb_define_global_function)operator(()stringoperator(,) ident(set_trace_func)operator(,) integer(1)operator(\);) ident(rb_global_variable)operator((&)ident(trace_func)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(safe_getter)operator(,) ident(safe_setter)operator(\);) operator(}) comment(/* * call-seq: * mod.autoload(name, filename\) => nil * * Registers _filename_ to be loaded (using Kernel::require\) * the first time that _name_ (which may be a String or * a symbol\) is accessed in the namespace of _mod_. * * module A * end * A.autoload(:B, "b"\) * A::B.doit # autoloads "b" */) directive(static) ident(VALUE) ident(rb_mod_autoload)operator(()ident(mod)operator(,) ident(sym)operator(,) ident(file)operator(\)) ident(VALUE) ident(mod)operator(;) ident(VALUE) ident(sym)operator(;) ident(VALUE) ident(file)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(sym)operator(\);) ident(Check_SafeStr)operator(()ident(file)operator(\);) ident(rb_autoload)operator(()ident(mod)operator(,) ident(id)operator(,) ident(RSTRING)operator(()ident(file)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * mod.autoload?(name\) => String or nil * * Returns _filename_ to be loaded if _name_ is registered as * +autoload+ in the namespace of _mod_. * * module A * end * A.autoload(:B, "b"\) * A.autoload?(:B\) # => "b" */) directive(static) ident(VALUE) ident(rb_mod_autoload_p)operator(()ident(mod)operator(,) ident(sym)operator(\)) ident(VALUE) ident(mod)operator(,) ident(sym)operator(;) operator({) reserved(return) ident(rb_autoload_p)operator(()ident(mod)operator(,) ident(rb_to_id)operator(()ident(sym)operator(\)\);) operator(}) comment(/* * call-seq: * autoload(module, filename\) => nil * * Registers _filename_ to be loaded (using Kernel::require\) * the first time that _module_ (which may be a String or * a symbol\) is accessed. * * autoload(:MyModule, "/usr/local/lib/modules/my_module.rb"\) */) directive(static) ident(VALUE) ident(rb_f_autoload)operator(()ident(obj)operator(,) ident(sym)operator(,) ident(file)operator(\)) ident(VALUE) ident(obj)operator(;) ident(VALUE) ident(sym)operator(;) ident(VALUE) ident(file)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_cbase)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_mod_autoload)operator(()ident(ruby_cbase)operator(,) ident(sym)operator(,) ident(file)operator(\);) operator(}) comment(/* * call-seq: * autoload(module, filename\) => nil * * Registers _filename_ to be loaded (using Kernel::require\) * the first time that _module_ (which may be a String or * a symbol\) is accessed. * * autoload(:MyModule, "/usr/local/lib/modules/my_module.rb"\) */) directive(static) ident(VALUE) ident(rb_f_autoload_p)operator(()ident(obj)operator(,) ident(sym)operator(\)) ident(VALUE) ident(obj)operator(;) ident(VALUE) ident(sym)operator(;) operator({) comment(/* use ruby_cbase as same as rb_f_autoload. */) reserved(if) operator(()ident(NIL_P)operator(()ident(ruby_cbase)operator(\)\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(rb_mod_autoload_p)operator(()ident(ruby_cbase)operator(,) ident(sym)operator(\);) operator(}) directive(void) ident(Init_load)operator((\)) operator({) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_load_path)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_load_path)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_load_path)operator(\);) ident(rb_load_path) operator(=) ident(rb_ary_new)operator((\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_features)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_features)operator(\);) ident(rb_features) operator(=) ident(rb_ary_new)operator((\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_load)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_require)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_autoload)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_autoload_p)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_autoload)operator(,) integer(2)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_autoload_p)operator(,) integer(1)operator(\);) ident(rb_global_variable)operator((&)ident(ruby_wrapper)operator(\);) ident(rb_global_variable)operator((&)ident(ruby_dln_librefs)operator(\);) ident(ruby_dln_librefs) operator(=) ident(rb_ary_new)operator((\);) operator(}) directive(static) directive(void) ident(scope_dup)operator(()ident(scope)operator(\)) reserved(struct) ident(SCOPE) operator(*)ident(scope)operator(;) operator({) ident(ID) operator(*)ident(tbl)operator(;) ident(VALUE) operator(*)ident(vars)operator(;) ident(scope)operator(->)ident(flags) operator(|=) ident(SCOPE_DONT_RECYCLE)operator(;) reserved(if) operator(()ident(scope)operator(->)ident(flags) operator(&) ident(SCOPE_MALLOC)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(scope)operator(->)ident(local_tbl)operator(\)) operator({) ident(tbl) operator(=) ident(scope)operator(->)ident(local_tbl)operator(;) ident(vars) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) ident(tbl)operator([)integer(0)operator(]+)integer(1)operator(\);) operator(*)ident(vars)operator(++) operator(=) ident(scope)operator(->)ident(local_vars)operator([-)integer(1)operator(];) ident(MEMCPY)operator(()ident(vars)operator(,) ident(scope)operator(->)ident(local_vars)operator(,) ident(VALUE)operator(,) ident(tbl)operator([)integer(0)operator(]\);) ident(scope)operator(->)ident(local_vars) operator(=) ident(vars)operator(;) ident(scope)operator(->)ident(flags) operator(|=) ident(SCOPE_MALLOC)operator(;) operator(}) operator(}) directive(static) directive(void) ident(blk_mark)operator(()ident(data)operator(\)) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) operator({) reserved(while) operator(()ident(data)operator(\)) operator({) ident(rb_gc_mark_frame)operator((&)ident(data)operator(->)ident(frame)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(scope)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(var)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(body)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(self)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(dyna_vars)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(cref)operator(\);) ident(rb_gc_mark)operator(()ident(data)operator(->)ident(wrapper)operator(\);) ident(rb_gc_mark)operator(()ident(data)operator(->)ident(block_obj)operator(\);) ident(data) operator(=) ident(data)operator(->)ident(prev)operator(;) operator(}) operator(}) directive(static) directive(void) ident(frame_free)operator(()ident(frame)operator(\)) reserved(struct) ident(FRAME) operator(*)ident(frame)operator(;) operator({) reserved(struct) ident(FRAME) operator(*)ident(tmp)operator(;) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(;) reserved(while) operator(()ident(frame)operator(\)) operator({) ident(tmp) operator(=) ident(frame)operator(;) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(;) ident(free)operator(()ident(tmp)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(blk_free)operator(()ident(data)operator(\)) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) operator({) directive(void) operator(*)ident(tmp)operator(;) reserved(while) operator(()ident(data)operator(\)) operator({) ident(frame_free)operator((&)ident(data)operator(->)ident(frame)operator(\);) ident(tmp) operator(=) ident(data)operator(;) ident(data) operator(=) ident(data)operator(->)ident(prev)operator(;) ident(free)operator(()ident(tmp)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(frame_dup)operator(()ident(frame)operator(\)) reserved(struct) ident(FRAME) operator(*)ident(frame)operator(;) operator({) reserved(struct) ident(FRAME) operator(*)ident(tmp)operator(;) reserved(for) operator((;;\)) operator({) ident(frame)operator(->)ident(tmp) operator(=) integer(0)operator(;) comment(/* should not preserve tmp */) reserved(if) operator((!)ident(frame)operator(->)ident(prev)operator(\)) reserved(break)operator(;) ident(tmp) operator(=) ident(ALLOC)operator(()reserved(struct) ident(FRAME)operator(\);) operator(*)ident(tmp) operator(=) operator(*)ident(frame)operator(->)ident(prev)operator(;) ident(frame)operator(->)ident(prev) operator(=) ident(tmp)operator(;) ident(frame) operator(=) ident(tmp)operator(;) operator(}) operator(}) directive(static) directive(void) ident(blk_copy_prev)operator(()ident(block)operator(\)) reserved(struct) ident(BLOCK) operator(*)ident(block)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(tmp)operator(;) reserved(struct) ident(RVarmap)operator(*) ident(vars)operator(;) reserved(while) operator(()ident(block)operator(->)ident(prev)operator(\)) operator({) ident(tmp) operator(=) ident(ALLOC_N)operator(()reserved(struct) ident(BLOCK)operator(,) integer(1)operator(\);) ident(MEMCPY)operator(()ident(tmp)operator(,) ident(block)operator(->)ident(prev)operator(,) reserved(struct) ident(BLOCK)operator(,) integer(1)operator(\);) ident(scope_dup)operator(()ident(tmp)operator(->)ident(scope)operator(\);) ident(frame_dup)operator((&)ident(tmp)operator(->)ident(frame)operator(\);) reserved(for) operator(()ident(vars) operator(=) ident(tmp)operator(->)ident(dyna_vars)operator(;) ident(vars)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\)\)) reserved(break)operator(;) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) operator(}) ident(block)operator(->)ident(prev) operator(=) ident(tmp)operator(;) ident(block) operator(=) ident(tmp)operator(;) operator(}) operator(}) directive(static) directive(void) ident(blk_dup)operator(()ident(dup)operator(,) ident(orig)operator(\)) reserved(struct) ident(BLOCK) operator(*)ident(dup)operator(,) operator(*)ident(orig)operator(;) operator({) ident(MEMCPY)operator(()ident(dup)operator(,) ident(orig)operator(,) reserved(struct) ident(BLOCK)operator(,) integer(1)operator(\);) ident(frame_dup)operator((&)ident(dup)operator(->)ident(frame)operator(\);) reserved(if) operator(()ident(dup)operator(->)ident(iter)operator(\)) operator({) ident(blk_copy_prev)operator(()ident(dup)operator(\);) operator(}) reserved(else) operator({) ident(dup)operator(->)ident(prev) operator(=) integer(0)operator(;) operator(}) operator(}) comment(/* * MISSING: documentation */) directive(static) ident(VALUE) ident(proc_clone)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(orig)operator(,) operator(*)ident(data)operator(;) ident(VALUE) ident(bind)operator(;) ident(Data_Get_Struct)operator(()ident(self)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(orig)operator(\);) ident(bind) operator(=) ident(Data_Make_Struct)operator(()ident(rb_obj_class)operator(()ident(self)operator(\),)reserved(struct) ident(BLOCK)operator(,)ident(blk_mark)operator(,)ident(blk_free)operator(,)ident(data)operator(\);) ident(CLONESETUP)operator(()ident(bind)operator(,) ident(self)operator(\);) ident(blk_dup)operator(()ident(data)operator(,) ident(orig)operator(\);) reserved(return) ident(bind)operator(;) operator(}) comment(/* * MISSING: documentation */) preprocessor(#define) ident(PROC_TSHIFT) operator(()ident(FL_USHIFT)operator(+)integer(1)operator(\)) preprocessor(#define) ident(PROC_TMASK) operator(()ident(FL_USER1)operator(|)ident(FL_USER2)operator(|)ident(FL_USER3)operator(\)) preprocessor(#define) ident(PROC_TMAX) operator(()ident(PROC_TMASK) operator(>>) ident(PROC_TSHIFT)operator(\)) directive(static) pre_type(int) ident(proc_get_safe_level)operator(()ident(VALUE)operator(\);) directive(static) ident(VALUE) ident(proc_dup)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(orig)operator(,) operator(*)ident(data)operator(;) ident(VALUE) ident(bind)operator(;) pre_type(int) ident(safe) operator(=) ident(proc_get_safe_level)operator(()ident(self)operator(\);) ident(Data_Get_Struct)operator(()ident(self)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(orig)operator(\);) ident(bind) operator(=) ident(Data_Make_Struct)operator(()ident(rb_obj_class)operator(()ident(self)operator(\),)reserved(struct) ident(BLOCK)operator(,)ident(blk_mark)operator(,)ident(blk_free)operator(,)ident(data)operator(\);) ident(blk_dup)operator(()ident(data)operator(,) ident(orig)operator(\);) reserved(if) operator(()ident(safe) operator(>) ident(PROC_TMAX)operator(\)) ident(safe) operator(=) ident(PROC_TMAX)operator(;) ident(FL_SET)operator(()ident(bind)operator(,) operator(()ident(safe) operator(<<) ident(PROC_TSHIFT)operator(\)) operator(&) ident(PROC_TMASK)operator(\);) reserved(return) ident(bind)operator(;) operator(}) comment(/* * call-seq: * binding -> a_binding * * Returns a +Binding+ object, describing the variable and * method bindings at the point of call. This object can be used when * calling +eval+ to execute the evaluated command in this * environment. Also see the description of class +Binding+. * * def getBinding(param\) * return binding * end * b = getBinding("hello"\) * eval("param", b\) #=> "hello" */) directive(static) ident(VALUE) ident(rb_f_binding)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(,) operator(*)ident(p)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) ident(VALUE) ident(bind)operator(;) ident(PUSH_BLOCK)operator(()integer(0)operator(,)integer(0)operator(\);) ident(bind) operator(=) ident(Data_Make_Struct)operator(()ident(rb_cBinding)operator(,)reserved(struct) ident(BLOCK)operator(,)ident(blk_mark)operator(,)ident(blk_free)operator(,)ident(data)operator(\);) operator(*)ident(data) operator(=) operator(*)ident(ruby_block)operator(;) ident(data)operator(->)ident(orig_thread) operator(=) ident(rb_thread_current)operator((\);) ident(data)operator(->)ident(wrapper) operator(=) ident(ruby_wrapper)operator(;) ident(data)operator(->)ident(iter) operator(=) ident(rb_f_block_given_p)operator((\);) ident(frame_dup)operator((&)ident(data)operator(->)ident(frame)operator(\);) reserved(if) operator(()ident(ruby_frame)operator(->)ident(prev)operator(\)) operator({) ident(data)operator(->)ident(frame)operator(.)ident(last_func) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(->)ident(last_func)operator(;) ident(data)operator(->)ident(frame)operator(.)ident(last_class) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(->)ident(last_class)operator(;) ident(data)operator(->)ident(frame)operator(.)ident(orig_func) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(->)ident(orig_func)operator(;) operator(}) reserved(if) operator(()ident(data)operator(->)ident(iter)operator(\)) operator({) ident(blk_copy_prev)operator(()ident(data)operator(\);) operator(}) reserved(else) operator({) ident(data)operator(->)ident(prev) operator(=) integer(0)operator(;) operator(}) reserved(for) operator(()ident(p) operator(=) ident(data)operator(;) ident(p)operator(;) ident(p) operator(=) ident(p)operator(->)ident(prev)operator(\)) operator({) reserved(for) operator(()ident(vars) operator(=) ident(p)operator(->)ident(dyna_vars)operator(;) ident(vars)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\)\)) reserved(break)operator(;) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) operator(}) operator(}) ident(scope_dup)operator(()ident(data)operator(->)ident(scope)operator(\);) ident(POP_BLOCK)operator((\);) reserved(return) ident(bind)operator(;) operator(}) preprocessor(#define) ident(SAFE_LEVEL_MAX) ident(PROC_TMASK) directive(static) directive(void) ident(proc_save_safe_level)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) pre_type(int) ident(safe) operator(=) ident(ruby_safe_level)operator(;) reserved(if) operator(()ident(safe) operator(>) ident(PROC_TMAX)operator(\)) ident(safe) operator(=) ident(PROC_TMAX)operator(;) ident(FL_SET)operator(()ident(data)operator(,) operator(()ident(safe) operator(<<) ident(PROC_TSHIFT)operator(\)) operator(&) ident(PROC_TMASK)operator(\);) operator(}) directive(static) pre_type(int) ident(proc_get_safe_level)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) reserved(return) operator(()ident(RBASIC)operator(()ident(data)operator(\)->)ident(flags) operator(&) ident(PROC_TMASK)operator(\)) operator(>>) ident(PROC_TSHIFT)operator(;) operator(}) directive(static) directive(void) ident(proc_set_safe_level)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) ident(ruby_safe_level) operator(=) ident(proc_get_safe_level)operator(()ident(data)operator(\);) operator(}) directive(static) ident(VALUE) ident(proc_alloc)operator(()ident(klass)operator(,) ident(proc)operator(\)) ident(VALUE) ident(klass)operator(;) pre_type(int) ident(proc)operator(;) operator({) directive(volatile) ident(VALUE) ident(block)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(,) operator(*)ident(p)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) reserved(if) operator((!)ident(rb_block_given_p)operator((\)) operator(&&) operator(!)ident(rb_f_block_given_p)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(proc) operator(&&) operator(!)ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(if) operator((!)ident(proc) operator(&&) ident(ruby_block)operator(->)ident(block_obj) operator(&&) ident(CLASS_OF)operator(()ident(ruby_block)operator(->)ident(block_obj)operator(\)) operator(==) ident(klass)operator(\)) operator({) reserved(return) ident(ruby_block)operator(->)ident(block_obj)operator(;) operator(}) ident(block) operator(=) ident(Data_Make_Struct)operator(()ident(klass)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(blk_mark)operator(,) ident(blk_free)operator(,) ident(data)operator(\);) operator(*)ident(data) operator(=) operator(*)ident(ruby_block)operator(;) ident(data)operator(->)ident(orig_thread) operator(=) ident(rb_thread_current)operator((\);) ident(data)operator(->)ident(wrapper) operator(=) ident(ruby_wrapper)operator(;) ident(data)operator(->)ident(iter) operator(=) ident(data)operator(->)ident(prev)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) ident(data)operator(->)ident(block_obj) operator(=) ident(block)operator(;) ident(frame_dup)operator((&)ident(data)operator(->)ident(frame)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(iter)operator(\)) operator({) ident(blk_copy_prev)operator(()ident(data)operator(\);) operator(}) reserved(else) operator({) ident(data)operator(->)ident(prev) operator(=) integer(0)operator(;) operator(}) reserved(for) operator(()ident(p) operator(=) ident(data)operator(;) ident(p)operator(;) ident(p) operator(=) ident(p)operator(->)ident(prev)operator(\)) operator({) reserved(for) operator(()ident(vars) operator(=) ident(p)operator(->)ident(dyna_vars)operator(;) ident(vars)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\)\)) reserved(break)operator(;) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) operator(}) operator(}) ident(scope_dup)operator(()ident(data)operator(->)ident(scope)operator(\);) ident(proc_save_safe_level)operator(()ident(block)operator(\);) reserved(if) operator(()ident(proc)operator(\)) operator({) ident(data)operator(->)ident(flags) operator(|=) ident(BLOCK_LAMBDA)operator(;) operator(}) reserved(else) operator({) ident(ruby_block)operator(->)ident(block_obj) operator(=) ident(block)operator(;) operator(}) reserved(return) ident(block)operator(;) operator(}) comment(/* * call-seq: * Proc.new {|...| block } => a_proc * Proc.new => a_proc * * Creates a new Proc object, bound to the current * context. Proc::new may be called without a block only * within a method with an attached block, in which case that block is * converted to the Proc object. * * def proc_from * Proc.new * end * proc = proc_from { "hello" } * proc.call #=> "hello" */) directive(static) ident(VALUE) ident(proc_s_new)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(block) operator(=) ident(proc_alloc)operator(()ident(klass)operator(,) ident(Qfalse)operator(\);) ident(rb_obj_call_init)operator(()ident(block)operator(,) ident(argc)operator(,) ident(argv)operator(\);) reserved(return) ident(block)operator(;) operator(}) ident(VALUE) ident(rb_block_proc)operator((\)) operator({) reserved(return) ident(proc_alloc)operator(()ident(rb_cProc)operator(,) ident(Qfalse)operator(\);) operator(}) ident(VALUE) ident(rb_f_lambda)operator((\)) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(return) ident(proc_alloc)operator(()ident(rb_cProc)operator(,) ident(Qtrue)operator(\);) operator(}) comment(/* * call-seq: * proc { |...| block } => a_proc * lambda { |...| block } => a_proc * * Equivalent to Proc.new, except the resulting Proc objects * check the number of parameters passed when called. */) directive(static) ident(VALUE) ident(proc_lambda)operator((\)) operator({) reserved(return) ident(proc_alloc)operator(()ident(rb_cProc)operator(,) ident(Qtrue)operator(\);) operator(}) directive(static) pre_type(int) ident(block_orphan)operator(()ident(data)operator(\)) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) operator({) reserved(if) operator(()ident(data)operator(->)ident(scope)operator(->)ident(flags) operator(&) ident(SCOPE_NOSTACK)operator(\)) operator({) reserved(return) integer(1)operator(;) operator(}) reserved(if) operator(()ident(data)operator(->)ident(orig_thread) operator(!=) ident(rb_thread_current)operator((\)\)) operator({) reserved(return) integer(1)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(VALUE) ident(proc_invoke)operator(()ident(proc)operator(,) ident(args)operator(,) ident(self)operator(,) ident(klass)operator(\)) ident(VALUE) ident(proc)operator(,) ident(args)operator(;) comment(/* OK */) ident(VALUE) ident(self)operator(,) ident(klass)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*) directive(volatile) ident(old_block)operator(;) reserved(struct) ident(BLOCK) ident(_block)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qundef)operator(;) pre_type(int) ident(state)operator(;) directive(volatile) pre_type(int) ident(safe) operator(=) ident(ruby_safe_level)operator(;) directive(volatile) ident(VALUE) ident(old_wrapper) operator(=) ident(ruby_wrapper)operator(;) directive(volatile) pre_type(int) ident(pcall)operator(,) ident(avalue) operator(=) ident(Qtrue)operator(;) directive(volatile) ident(VALUE) ident(tmp) operator(=) ident(args)operator(;) reserved(if) operator(()ident(rb_block_given_p)operator((\)) operator(&&) ident(ruby_frame)operator(->)ident(last_func)operator(\)) operator({) reserved(if) operator(()ident(klass) operator(!=) ident(ruby_frame)operator(->)ident(last_class)operator(\)) ident(klass) operator(=) ident(rb_obj_class)operator(()ident(proc)operator(\);) ident(rb_warning)operator(()stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\),) ident(rb_id2name)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(\)\);) operator(}) ident(Data_Get_Struct)operator(()ident(proc)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) ident(pcall) operator(=) operator(()ident(data)operator(->)ident(flags) operator(&) ident(BLOCK_LAMBDA)operator(\)) operator(?) ident(YIELD_LAMBDA_CALL) operator(:) integer(0)operator(;) reserved(if) operator((!)ident(pcall) operator(&&) ident(RARRAY)operator(()ident(args)operator(\)->)ident(len) operator(==) integer(1)operator(\)) operator({) ident(avalue) operator(=) ident(Qfalse)operator(;) ident(args) operator(=) ident(RARRAY)operator(()ident(args)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) ident(PUSH_VARS)operator((\);) ident(ruby_wrapper) operator(=) ident(data)operator(->)ident(wrapper)operator(;) ident(ruby_dyna_vars) operator(=) ident(data)operator(->)ident(dyna_vars)operator(;) comment(/* PUSH BLOCK from data */) ident(old_block) operator(=) ident(ruby_block)operator(;) ident(_block) operator(=) operator(*)ident(data)operator(;) reserved(if) operator(()ident(self) operator(!=) ident(Qundef)operator(\)) ident(_block)operator(.)ident(frame)operator(.)ident(self) operator(=) ident(self)operator(;) reserved(if) operator(()ident(klass)operator(\)) ident(_block)operator(.)ident(frame)operator(.)ident(last_class) operator(=) ident(klass)operator(;) ident(_block)operator(.)ident(frame)operator(.)ident(argc) operator(=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len)operator(;) ident(_block)operator(.)ident(frame)operator(.)ident(flags) operator(=) ident(ruby_frame)operator(->)ident(flags)operator(;) reserved(if) operator(()ident(_block)operator(.)ident(frame)operator(.)ident(argc) operator(&&) ident(DMETHOD_P)operator((\)\)) operator({) ident(NEWOBJ)operator(()ident(scope)operator(,) reserved(struct) ident(SCOPE)operator(\);) ident(OBJSETUP)operator(()ident(scope)operator(,) ident(tmp)operator(,) ident(T_SCOPE)operator(\);) ident(scope)operator(->)ident(local_tbl) operator(=) ident(_block)operator(.)ident(scope)operator(->)ident(local_tbl)operator(;) ident(scope)operator(->)ident(local_vars) operator(=) ident(_block)operator(.)ident(scope)operator(->)ident(local_vars)operator(;) ident(scope)operator(->)ident(flags) operator(|=) ident(SCOPE_CLONE) operator(|) operator(()ident(_block)operator(.)ident(scope)operator(->)ident(flags) operator(&) ident(SCOPE_MALLOC)operator(\);) ident(_block)operator(.)ident(scope) operator(=) ident(scope)operator(;) operator(}) comment(/* modify current frame */) ident(ruby_block) operator(=) operator(&)ident(_block)operator(;) ident(PUSH_ITER)operator(()ident(ITER_CUR)operator(\);) ident(ruby_frame)operator(->)ident(iter) operator(=) ident(ITER_CUR)operator(;) ident(PUSH_TAG)operator(()ident(pcall) operator(?) ident(PROT_LAMBDA) operator(:) ident(PROT_NONE)operator(\);) ident(state) operator(=) ident(EXEC_TAG)operator((\);) reserved(if) operator(()ident(state) operator(==) integer(0)operator(\)) operator({) ident(proc_set_safe_level)operator(()ident(proc)operator(\);) ident(result) operator(=) ident(rb_yield_0)operator(()ident(args)operator(,) ident(self)operator(,) operator(()ident(self)operator(!=)ident(Qundef)operator(\)?)ident(CLASS_OF)operator(()ident(self)operator(\):)integer(0)operator(,) ident(pcall)operator(,) ident(avalue)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(TAG_DST)operator((\)\)) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) ident(POP_TAG)operator((\);) ident(POP_ITER)operator((\);) ident(ruby_block) operator(=) ident(old_block)operator(;) ident(ruby_wrapper) operator(=) ident(old_wrapper)operator(;) ident(POP_VARS)operator((\);) ident(ruby_safe_level) operator(=) ident(safe)operator(;) reserved(switch) operator(()ident(state)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(case) ident(TAG_RETRY)operator(:) ident(proc_jump_error)operator(()ident(TAG_RETRY)operator(,) ident(Qnil)operator(\);) comment(/* xxx */) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(break)operator(;) reserved(case) ident(TAG_NEXT)operator(:) reserved(case) ident(TAG_BREAK)operator(:) reserved(if) operator((!)ident(pcall) operator(&&) ident(result) operator(!=) ident(Qundef)operator(\)) operator({) ident(proc_jump_error)operator(()ident(state)operator(,) ident(result)operator(\);) operator(}) reserved(case) ident(TAG_RETURN)operator(:) reserved(if) operator(()ident(result) operator(!=) ident(Qundef)operator(\)) operator({) reserved(if) operator(()ident(pcall)operator(\)) reserved(break)operator(;) ident(return_jump)operator(()ident(result)operator(\);) operator(}) reserved(default)operator(:) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* CHECKME: are the argument checking semantics correct? */) comment(/* * call-seq: * prc.call(params,...\) => obj * prc[params,...] => obj * * Invokes the block, setting the block's parameters to the values in * params using something close to method calling semantics. * Generates a warning if multiple values are passed to a proc that * expects just one (previously this silently converted the parameters * to an array\). * * For procs created using Kernel.proc, generates an * error if the wrong number of parameters * are passed to a proc with multiple parameters. For procs created using * Proc.new, extra parameters are silently discarded. * * Returns the value of the last expression evaluated in the block. See * also Proc#yield. * * a_proc = Proc.new {|a, *b| b.collect {|i| i*a }} * a_proc.call(9, 1, 2, 3\) #=> [9, 18, 27] * a_proc[9, 1, 2, 3] #=> [9, 18, 27] * a_proc = Proc.new {|a,b| a} * a_proc.call(1,2,3\) * * produces: * * prog.rb:5: wrong number of arguments (3 for 2\) (ArgumentError\) * from prog.rb:4:in `call' * from prog.rb:5 */) directive(static) ident(VALUE) ident(proc_call)operator(()ident(proc)operator(,) ident(args)operator(\)) ident(VALUE) ident(proc)operator(,) ident(args)operator(;) comment(/* OK */) operator({) reserved(return) ident(proc_invoke)operator(()ident(proc)operator(,) ident(args)operator(,) ident(Qundef)operator(,) integer(0)operator(\);) operator(}) directive(static) ident(VALUE) ident(bmcall) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(method_arity) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* * call-seq: * prc.arity -> fixnum * * Returns the number of arguments that would not be ignored. If the block * is declared to take no arguments, returns 0. If the block is known * to take exactly n arguments, returns n. If the block has optional * arguments, return -n-1, where n is the number of mandatory * arguments. A proc with no argument declarations * is the same a block declaring || as its arguments. * * Proc.new {}.arity #=> 0 * Proc.new {||}.arity #=> 0 * Proc.new {|a|}.arity #=> 1 * Proc.new {|a,b|}.arity #=> 2 * Proc.new {|a,b,c|}.arity #=> 3 * Proc.new {|*a|}.arity #=> -1 * Proc.new {|a,*b|}.arity #=> -2 */) directive(static) ident(VALUE) ident(proc_arity)operator(()ident(proc)operator(\)) ident(VALUE) ident(proc)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) ident(NODE) operator(*)ident(list)operator(;) pre_type(int) ident(n)operator(;) ident(Data_Get_Struct)operator(()ident(proc)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(var) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(data)operator(->)ident(body) operator(&&) ident(nd_type)operator(()ident(data)operator(->)ident(body)operator(\)) operator(==) ident(NODE_IFUNC) operator(&&) ident(data)operator(->)ident(body)operator(->)ident(nd_cfnc) operator(==) ident(bmcall)operator(\)) operator({) reserved(return) ident(method_arity)operator(()ident(data)operator(->)ident(body)operator(->)ident(nd_tval)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(if) operator(()ident(data)operator(->)ident(var) operator(==) operator(()ident(NODE)operator(*\))integer(1)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(var) operator(==) operator(()ident(NODE)operator(*\))integer(2)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(switch) operator(()ident(nd_type)operator(()ident(data)operator(->)ident(var)operator(\)\)) operator({) reserved(default)operator(:) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(case) ident(NODE_MASGN)operator(:) ident(list) operator(=) ident(data)operator(->)ident(var)operator(->)ident(nd_head)operator(;) ident(n) operator(=) integer(0)operator(;) reserved(while) operator(()ident(list)operator(\)) operator({) ident(n)operator(++;) ident(list) operator(=) ident(list)operator(->)ident(nd_next)operator(;) operator(}) reserved(if) operator(()ident(data)operator(->)ident(var)operator(->)ident(nd_args)operator(\)) reserved(return) ident(INT2FIX)operator((-)ident(n)operator(-)integer(1)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(n)operator(\);) operator(}) operator(}) comment(/* * call-seq: * prc == other_proc => true or false * * Return true if prc is the same object as * other_proc, or if they are both procs with the same body. */) directive(static) ident(VALUE) ident(proc_eq)operator(()ident(self)operator(,) ident(other)operator(\)) ident(VALUE) ident(self)operator(,) ident(other)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(,) operator(*)ident(data2)operator(;) reserved(if) operator(()ident(self) operator(==) ident(other)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(other)operator(\)) operator(!=) ident(T_DATA)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RDATA)operator(()ident(other)operator(\)->)ident(dmark) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(blk_mark)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(CLASS_OF)operator(()ident(self)operator(\)) operator(!=) ident(CLASS_OF)operator(()ident(other)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(Data_Get_Struct)operator(()ident(self)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) ident(Data_Get_Struct)operator(()ident(other)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data2)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(body) operator(!=) ident(data2)operator(->)ident(body)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(data)operator(->)ident(var) operator(!=) ident(data2)operator(->)ident(var)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(data)operator(->)ident(scope) operator(!=) ident(data2)operator(->)ident(scope)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(data)operator(->)ident(dyna_vars) operator(!=) ident(data2)operator(->)ident(dyna_vars)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(data)operator(->)ident(flags) operator(!=) ident(data2)operator(->)ident(flags)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * prc.to_s => string * * Shows the unique identifier for this proc, along with * an indication of where the proc was defined. */) directive(static) ident(VALUE) ident(proc_to_s)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) ident(NODE) operator(*)ident(node)operator(;) pre_type(char) operator(*)ident(cname) operator(=) ident(rb_obj_classname)operator(()ident(self)operator(\);) directive(const) pre_type(int) ident(w) operator(=) operator(()reserved(sizeof)operator(()ident(VALUE)operator(\)) operator(*) ident(CHAR_BIT)operator(\)) operator(/) integer(4)operator(;) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(cname)operator(\)+)integer(6)operator(+)ident(w)operator(;) comment(/* 6:tags 16:addr */) ident(VALUE) ident(str)operator(;) ident(Data_Get_Struct)operator(()ident(self)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) reserved(if) operator((()ident(node) operator(=) ident(data)operator(->)ident(frame)operator(.)ident(node)operator(\)) operator(||) operator(()ident(node) operator(=) ident(data)operator(->)ident(body)operator(\)\)) operator({) ident(len) operator(+=) ident(strlen)operator(()ident(node)operator(->)ident(nd_file)operator(\)) operator(+) integer(2) operator(+) operator(()ident(SIZEOF_LONG)operator(*)ident(CHAR_BIT)operator(-)ident(NODE_LSHIFT)operator(\))operator(/)integer(3)operator(;) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(+)integer(1)operator(,) string)delimiter(")>operator(,) ident(cname)operator(,) ident(w)operator(,) operator(()ident(VALUE)operator(\))ident(data)operator(->)ident(body)operator(,) ident(node)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(node)operator(\)\);) operator(}) reserved(else) operator({) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(+)integer(1)operator(,) string)delimiter(")>operator(,) ident(cname)operator(,) ident(w)operator(,) operator(()ident(VALUE)operator(\))ident(data)operator(->)ident(body)operator(\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(self)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * prc.to_proc -> prc * * Part of the protocol for converting objects to Proc * objects. Instances of class Proc simply return * themselves. */) directive(static) ident(VALUE) ident(proc_to_self)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(self)operator(;) operator(}) comment(/* * call-seq: * prc.binding => binding * * Returns the binding associated with prc. Note that * Kernel#eval accepts either a Proc or a * Binding object as its second parameter. * * def fred(param\) * proc {} * end * * b = fred(99\) * eval("param", b.binding\) #=> 99 * eval("param", b\) #=> 99 */) directive(static) ident(VALUE) ident(proc_binding)operator(()ident(proc)operator(\)) ident(VALUE) ident(proc)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(orig)operator(,) operator(*)ident(data)operator(;) ident(VALUE) ident(bind)operator(;) ident(Data_Get_Struct)operator(()ident(proc)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(orig)operator(\);) ident(bind) operator(=) ident(Data_Make_Struct)operator(()ident(rb_cBinding)operator(,)reserved(struct) ident(BLOCK)operator(,)ident(blk_mark)operator(,)ident(blk_free)operator(,)ident(data)operator(\);) ident(MEMCPY)operator(()ident(data)operator(,) ident(orig)operator(,) reserved(struct) ident(BLOCK)operator(,) integer(1)operator(\);) ident(frame_dup)operator((&)ident(data)operator(->)ident(frame)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(iter)operator(\)) operator({) ident(blk_copy_prev)operator(()ident(data)operator(\);) operator(}) reserved(else) operator({) ident(data)operator(->)ident(prev) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(bind)operator(;) operator(}) directive(static) ident(VALUE) ident(block_pass)operator(()ident(self)operator(,) ident(node)operator(\)) ident(VALUE) ident(self)operator(;) ident(NODE) operator(*)ident(node)operator(;) operator({) ident(VALUE) ident(proc) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_body)operator(\);) comment(/* OK */) ident(VALUE) ident(b)operator(;) reserved(struct) ident(BLOCK) operator(*) directive(volatile) ident(old_block)operator(;) reserved(struct) ident(BLOCK) ident(_block)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) directive(volatile) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) pre_type(int) ident(state)operator(;) directive(volatile) pre_type(int) ident(orphan)operator(;) directive(volatile) pre_type(int) ident(safe) operator(=) ident(ruby_safe_level)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(proc)operator(\)\)) operator({) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_iter)operator(\);) ident(POP_ITER)operator((\);) reserved(return) ident(result)operator(;) operator(}) reserved(if) operator((!)ident(rb_obj_is_proc)operator(()ident(proc)operator(\)\)) operator({) ident(b) operator(=) ident(rb_check_convert_type)operator(()ident(proc)operator(,) ident(T_DATA)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(rb_obj_is_proc)operator(()ident(b)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(proc)operator(\)\);) operator(}) ident(proc) operator(=) ident(b)operator(;) operator(}) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(1) operator(&&) ident(OBJ_TAINTED)operator(()ident(proc)operator(\)) operator(&&) ident(ruby_safe_level) operator(>) ident(proc_get_safe_level)operator(()ident(proc)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(ruby_block) operator(&&) ident(ruby_block)operator(->)ident(block_obj) operator(==) ident(proc)operator(\)) operator({) ident(PUSH_ITER)operator(()ident(ITER_PAS)operator(\);) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_iter)operator(\);) ident(POP_ITER)operator((\);) reserved(return) ident(result)operator(;) operator(}) ident(Data_Get_Struct)operator(()ident(proc)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) ident(orphan) operator(=) ident(block_orphan)operator(()ident(data)operator(\);) comment(/* PUSH BLOCK from data */) ident(old_block) operator(=) ident(ruby_block)operator(;) ident(_block) operator(=) operator(*)ident(data)operator(;) ident(_block)operator(.)ident(outer) operator(=) ident(ruby_block)operator(;) reserved(if) operator(()ident(orphan)operator(\)) ident(_block)operator(.)ident(uniq) operator(=) ident(block_unique)operator(++;) ident(ruby_block) operator(=) operator(&)ident(_block)operator(;) ident(PUSH_ITER)operator(()ident(ITER_PRE)operator(\);) reserved(if) operator(()ident(ruby_frame)operator(->)ident(iter) operator(==) ident(ITER_NOT)operator(\)) ident(ruby_frame)operator(->)ident(iter) operator(=) ident(ITER_PRE)operator(;) ident(PUSH_TAG)operator(()ident(PROT_LOOP)operator(\);) ident(state) operator(=) ident(EXEC_TAG)operator((\);) reserved(if) operator(()ident(state) operator(==) integer(0)operator(\)) operator({) label(retry:) ident(proc_set_safe_level)operator(()ident(proc)operator(\);) reserved(if) operator(()ident(safe) operator(>) ident(ruby_safe_level)operator(\)) ident(ruby_safe_level) operator(=) ident(safe)operator(;) ident(result) operator(=) ident(rb_eval)operator(()ident(self)operator(,) ident(node)operator(->)ident(nd_iter)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_BREAK) operator(&&) ident(TAG_DST)operator((\)\)) operator({) ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) ident(state) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_RETRY)operator(\)) operator({) ident(state) operator(=) integer(0)operator(;) reserved(goto) ident(retry)operator(;) operator(}) ident(POP_TAG)operator((\);) ident(POP_ITER)operator((\);) ident(ruby_block) operator(=) ident(old_block)operator(;) ident(ruby_safe_level) operator(=) ident(safe)operator(;) reserved(switch) operator(()ident(state)operator(\)) operator({)comment(/* escape from orphan block */) reserved(case) integer(0)operator(:) reserved(break)operator(;) reserved(case) ident(TAG_RETURN)operator(:) reserved(if) operator(()ident(orphan)operator(\)) operator({) ident(proc_jump_error)operator(()ident(state)operator(,) ident(prot_tag)operator(->)ident(retval)operator(\);) operator(}) reserved(default)operator(:) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) reserved(struct) ident(METHOD) operator({) ident(VALUE) ident(klass)operator(,) ident(rklass)operator(;) ident(VALUE) ident(recv)operator(;) ident(ID) ident(id)operator(,) ident(oid)operator(;) pre_type(int) ident(safe_level)operator(;) ident(NODE) operator(*)ident(body)operator(;) operator(};) directive(static) directive(void) ident(bm_mark)operator(()ident(data)operator(\)) reserved(struct) ident(METHOD) operator(*)ident(data)operator(;) operator({) ident(rb_gc_mark)operator(()ident(data)operator(->)ident(rklass)operator(\);) ident(rb_gc_mark)operator(()ident(data)operator(->)ident(klass)operator(\);) ident(rb_gc_mark)operator(()ident(data)operator(->)ident(recv)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(data)operator(->)ident(body)operator(\);) operator(}) directive(static) ident(VALUE) ident(mnew)operator(()ident(klass)operator(,) ident(obj)operator(,) ident(id)operator(,) ident(mklass)operator(\)) ident(VALUE) ident(klass)operator(,) ident(obj)operator(,) ident(mklass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(method)operator(;) ident(NODE) operator(*)ident(body)operator(;) pre_type(int) ident(noex)operator(;) reserved(struct) ident(METHOD) operator(*)ident(data)operator(;) ident(VALUE) ident(rklass) operator(=) ident(klass)operator(;) ident(ID) ident(oid) operator(=) ident(id)operator(;) label(again:) reserved(if) operator((()ident(body) operator(=) ident(rb_get_method_body)operator((&)ident(klass)operator(,) operator(&)ident(id)operator(,) operator(&)ident(noex)operator(\)\)) operator(==) integer(0)operator(\)) operator({) ident(print_undef)operator(()ident(rklass)operator(,) ident(oid)operator(\);) operator(}) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_ZSUPER)operator(\)) operator({) ident(klass) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(while) operator(()ident(rklass) operator(!=) ident(klass) operator(&&) operator(()ident(FL_TEST)operator(()ident(rklass)operator(,) ident(FL_SINGLETON)operator(\)) operator(||) ident(TYPE)operator(()ident(rklass)operator(\)) operator(==) ident(T_ICLASS)operator(\)\)) operator({) ident(rklass) operator(=) ident(RCLASS)operator(()ident(rklass)operator(\)->)ident(super)operator(;) operator(}) ident(method) operator(=) ident(Data_Make_Struct)operator(()ident(mklass)operator(,) reserved(struct) ident(METHOD)operator(,) ident(bm_mark)operator(,) ident(free)operator(,) ident(data)operator(\);) ident(data)operator(->)ident(klass) operator(=) ident(klass)operator(;) ident(data)operator(->)ident(recv) operator(=) ident(obj)operator(;) ident(data)operator(->)ident(id) operator(=) ident(id)operator(;) ident(data)operator(->)ident(body) operator(=) ident(body)operator(;) ident(data)operator(->)ident(rklass) operator(=) ident(rklass)operator(;) ident(data)operator(->)ident(oid) operator(=) ident(oid)operator(;) ident(data)operator(->)ident(safe_level) operator(=) ident(NOEX_WITH_SAFE)operator(()ident(noex)operator(\);) ident(OBJ_INFECT)operator(()ident(method)operator(,) ident(klass)operator(\);) reserved(return) ident(method)operator(;) operator(}) comment(/********************************************************************** * * Document-class : Method * * Method objects are created by Object#method, and are * associated with a particular object (not just with a class\). They * may be used to invoke the method within the object, and as a block * associated with an iterator. They may also be unbound from one * object (creating an UnboundMethod\) and bound to * another. * * class Thing * def square(n\) * n*n * end * end * thing = Thing.new * meth = thing.method(:square\) * * meth.call(9\) #=> 81 * [ 1, 2, 3 ].collect(&meth\) #=> [1, 4, 9] * */) comment(/* * call-seq: * meth == other_meth => true or false * * Two method objects are equal if that are bound to the same * object and contain the same body. */) directive(static) ident(VALUE) ident(method_eq)operator(()ident(method)operator(,) ident(other)operator(\)) ident(VALUE) ident(method)operator(,) ident(other)operator(;) operator({) reserved(struct) ident(METHOD) operator(*)ident(m1)operator(,) operator(*)ident(m2)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(other)operator(\)) operator(!=) ident(T_DATA) operator(||) ident(RDATA)operator(()ident(other)operator(\)->)ident(dmark) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(bm_mark)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(CLASS_OF)operator(()ident(method)operator(\)) operator(!=) ident(CLASS_OF)operator(()ident(other)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(Data_Get_Struct)operator(()ident(method)operator(,) reserved(struct) ident(METHOD)operator(,) ident(m1)operator(\);) ident(Data_Get_Struct)operator(()ident(other)operator(,) reserved(struct) ident(METHOD)operator(,) ident(m2)operator(\);) reserved(if) operator(()ident(m1)operator(->)ident(klass) operator(!=) ident(m2)operator(->)ident(klass) operator(||) ident(m1)operator(->)ident(rklass) operator(!=) ident(m2)operator(->)ident(rklass) operator(||) ident(m1)operator(->)ident(recv) operator(!=) ident(m2)operator(->)ident(recv) operator(||) ident(m1)operator(->)ident(body) operator(!=) ident(m2)operator(->)ident(body)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * meth.unbind => unbound_method * * Dissociates meth from it's current receiver. The resulting * UnboundMethod can subsequently be bound to a new object * of the same class (see UnboundMethod\). */) directive(static) ident(VALUE) ident(method_unbind)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(method)operator(;) reserved(struct) ident(METHOD) operator(*)ident(orig)operator(,) operator(*)ident(data)operator(;) ident(Data_Get_Struct)operator(()ident(obj)operator(,) reserved(struct) ident(METHOD)operator(,) ident(orig)operator(\);) ident(method) operator(=) ident(Data_Make_Struct)operator(()ident(rb_cUnboundMethod)operator(,) reserved(struct) ident(METHOD)operator(,) ident(bm_mark)operator(,) ident(free)operator(,) ident(data)operator(\);) ident(data)operator(->)ident(klass) operator(=) ident(orig)operator(->)ident(klass)operator(;) ident(data)operator(->)ident(recv) operator(=) ident(Qundef)operator(;) ident(data)operator(->)ident(id) operator(=) ident(orig)operator(->)ident(id)operator(;) ident(data)operator(->)ident(body) operator(=) ident(orig)operator(->)ident(body)operator(;) ident(data)operator(->)ident(rklass) operator(=) ident(orig)operator(->)ident(rklass)operator(;) ident(data)operator(->)ident(oid) operator(=) ident(orig)operator(->)ident(oid)operator(;) ident(OBJ_INFECT)operator(()ident(method)operator(,) ident(obj)operator(\);) reserved(return) ident(method)operator(;) operator(}) comment(/* * call-seq: * obj.method(sym\) => method * * Looks up the named method as a receiver in obj, returning a * Method object (or raising NameError\). The * Method object acts as a closure in obj's object * instance, so instance variables and the value of self * remain available. * * class Demo * def initialize(n\) * @iv = n * end * def hello(\) * "Hello, @iv = #{@iv}" * end * end * * k = Demo.new(99\) * m = k.method(:hello\) * m.call #=> "Hello, @iv = 99" * * l = Demo.new('Fred'\) * m = l.method("hello"\) * m.call #=> "Hello, @iv = Fred" */) directive(static) ident(VALUE) ident(rb_obj_method)operator(()ident(obj)operator(,) ident(vid)operator(\)) ident(VALUE) ident(obj)operator(;) ident(VALUE) ident(vid)operator(;) operator({) reserved(return) ident(mnew)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\),) ident(obj)operator(,) ident(rb_to_id)operator(()ident(vid)operator(\),) ident(rb_cMethod)operator(\);) operator(}) comment(/* * call-seq: * mod.instance_method(symbol\) => unbound_method * * Returns an +UnboundMethod+ representing the given * instance method in _mod_. * * class Interpreter * def do_a(\) print "there, "; end * def do_d(\) print "Hello "; end * def do_e(\) print "!\\n"; end * def do_v(\) print "Dave"; end * Dispatcher = { * ?a => instance_method(:do_a\), * ?d => instance_method(:do_d\), * ?e => instance_method(:do_e\), * ?v => instance_method(:do_v\) * } * def interpret(string\) * string.each_byte {|b| Dispatcher[b].bind(self\).call } * end * end * * * interpreter = Interpreter.new * interpreter.interpret('dave'\) * * produces: * * Hello there, Dave! */) directive(static) ident(VALUE) ident(rb_mod_method)operator(()ident(mod)operator(,) ident(vid)operator(\)) ident(VALUE) ident(mod)operator(;) ident(VALUE) ident(vid)operator(;) operator({) reserved(return) ident(mnew)operator(()ident(mod)operator(,) ident(Qundef)operator(,) ident(rb_to_id)operator(()ident(vid)operator(\),) ident(rb_cUnboundMethod)operator(\);) operator(}) comment(/* * MISSING: documentation */) directive(static) ident(VALUE) ident(method_clone)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(clone)operator(;) reserved(struct) ident(METHOD) operator(*)ident(orig)operator(,) operator(*)ident(data)operator(;) ident(Data_Get_Struct)operator(()ident(self)operator(,) reserved(struct) ident(METHOD)operator(,) ident(orig)operator(\);) ident(clone) operator(=) ident(Data_Make_Struct)operator(()ident(CLASS_OF)operator(()ident(self)operator(\),)reserved(struct) ident(METHOD)operator(,) ident(bm_mark)operator(,) ident(free)operator(,) ident(data)operator(\);) ident(CLONESETUP)operator(()ident(clone)operator(,) ident(self)operator(\);) operator(*)ident(data) operator(=) operator(*)ident(orig)operator(;) reserved(return) ident(clone)operator(;) operator(}) comment(/* * call-seq: * meth.call(args, ...\) => obj * meth[args, ...] => obj * * Invokes the meth with the specified arguments, returning the * method's return value. * * m = 12.method("+"\) * m.call(3\) #=> 15 * m.call(20\) #=> 32 */) directive(static) ident(VALUE) ident(method_call)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(method)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(method)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(Qnil)operator(;) comment(/* OK */) reserved(struct) ident(METHOD) operator(*)ident(data)operator(;) pre_type(int) ident(safe)operator(;) ident(Data_Get_Struct)operator(()ident(method)operator(,) reserved(struct) ident(METHOD)operator(,) ident(data)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(recv) operator(==) ident(Qundef)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(method)operator(\)\)) operator({) ident(safe) operator(=) ident(NOEX_WITH)operator(()ident(data)operator(->)ident(safe_level)operator(,) integer(4)operator(\)|)ident(NOEX_TAINTED)operator(;) operator(}) reserved(else) operator({) ident(safe) operator(=) ident(data)operator(->)ident(safe_level)operator(;) operator(}) ident(PUSH_ITER)operator(()ident(rb_block_given_p)operator((\)?)ident(ITER_PRE)operator(:)ident(ITER_NOT)operator(\);) ident(result) operator(=) ident(rb_call0)operator(()ident(data)operator(->)ident(klass)operator(,)ident(data)operator(->)ident(recv)operator(,)ident(data)operator(->)ident(id)operator(,)ident(data)operator(->)ident(oid)operator(,)ident(argc)operator(,)ident(argv)operator(,)ident(data)operator(->)ident(body)operator(,)ident(safe)operator(\);) ident(POP_ITER)operator((\);) reserved(return) ident(result)operator(;) operator(}) comment(/********************************************************************** * * Document-class: UnboundMethod * * Ruby supports two forms of objectified methods. Class * Method is used to represent methods that are associated * with a particular object: these method objects are bound to that * object. Bound method objects for an object can be created using * Object#method. * * Ruby also supports unbound methods; methods objects that are not * associated with a particular object. These can be created either by * calling Module#instance_method or by calling * unbind on a bound method object. The result of both of * these is an UnboundMethod object. * * Unbound methods can only be called after they are bound to an * object. That object must be be a kind_of? the method's original * class. * * class Square * def area * @side * @side * end * def initialize(side\) * @side = side * end * end * * area_un = Square.instance_method(:area\) * * s = Square.new(12\) * area = area_un.bind(s\) * area.call #=> 144 * * Unbound methods are a reference to the method at the time it was * objectified: subsequent changes to the underlying class will not * affect the unbound method. * * class Test * def test * :original * end * end * um = Test.instance_method(:test\) * class Test * def test * :modified * end * end * t = Test.new * t.test #=> :modified * um.bind(t\).call #=> :original * */) comment(/* * call-seq: * umeth.bind(obj\) -> method * * Bind umeth to obj. If Klass was the class * from which umeth was obtained, * obj.kind_of?(Klass\) must be true. * * class A * def test * puts "In test, class = #{self.class}" * end * end * class B < A * end * class C < B * end * * * um = B.instance_method(:test\) * bm = um.bind(C.new\) * bm.call * bm = um.bind(B.new\) * bm.call * bm = um.bind(A.new\) * bm.call * * produces: * * In test, class = C * In test, class = B * prog.rb:16:in `bind': bind argument must be an instance of B (TypeError\) * from prog.rb:16 */) directive(static) ident(VALUE) ident(umethod_bind)operator(()ident(method)operator(,) ident(recv)operator(\)) ident(VALUE) ident(method)operator(,) ident(recv)operator(;) operator({) reserved(struct) ident(METHOD) operator(*)ident(data)operator(,) operator(*)ident(bound)operator(;) ident(VALUE) ident(rklass) operator(=) ident(CLASS_OF)operator(()ident(recv)operator(\);) ident(Data_Get_Struct)operator(()ident(method)operator(,) reserved(struct) ident(METHOD)operator(,) ident(data)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(rklass) operator(!=) ident(rklass)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(data)operator(->)ident(rklass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(data)operator(->)ident(rklass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(st_table) operator(*)ident(m_tbl) operator(=) ident(RCLASS)operator(()ident(data)operator(->)ident(rklass)operator(\)->)ident(m_tbl)operator(;) reserved(while) operator(()ident(RCLASS)operator(()ident(rklass)operator(\)->)ident(m_tbl) operator(!=) ident(m_tbl)operator(\)) operator({) ident(rklass) operator(=) ident(RCLASS)operator(()ident(rklass)operator(\)->)ident(super)operator(;) reserved(if) operator((!)ident(rklass)operator(\)) reserved(goto) ident(not_instace)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(recv)operator(,) ident(data)operator(->)ident(rklass)operator(\)\)) operator({) label(not_instace:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(data)operator(->)ident(rklass)operator(\)\);) operator(}) operator(}) ident(method) operator(=) ident(Data_Make_Struct)operator(()ident(rb_cMethod)operator(,)reserved(struct) ident(METHOD)operator(,)ident(bm_mark)operator(,)ident(free)operator(,)ident(bound)operator(\);) operator(*)ident(bound) operator(=) operator(*)ident(data)operator(;) ident(bound)operator(->)ident(recv) operator(=) ident(recv)operator(;) ident(bound)operator(->)ident(rklass) operator(=) ident(rklass)operator(;) reserved(return) ident(method)operator(;) operator(}) comment(/* * call-seq: * meth.arity => fixnum * * Returns an indication of the number of arguments accepted by a * method. Returns a nonnegative integer for methods that take a fixed * number of arguments. For Ruby methods that take a variable number of * arguments, returns -n-1, where n is the number of required * arguments. For methods written in C, returns -1 if the call takes a * variable number of arguments. * * class C * def one; end * def two(a\); end * def three(*a\); end * def four(a, b\); end * def five(a, b, *c\); end * def six(a, b, *c, &d\); end * end * c = C.new * c.method(:one\).arity #=> 0 * c.method(:two\).arity #=> 1 * c.method(:three\).arity #=> -1 * c.method(:four\).arity #=> 2 * c.method(:five\).arity #=> -3 * c.method(:six\).arity #=> -3 * * "cat".method(:size\).arity #=> 0 * "cat".method(:replace\).arity #=> 1 * "cat".method(:squeeze\).arity #=> -1 * "cat".method(:count\).arity #=> -1 */) directive(static) ident(VALUE) ident(method_arity)operator(()ident(method)operator(\)) ident(VALUE) ident(method)operator(;) operator({) reserved(struct) ident(METHOD) operator(*)ident(data)operator(;) ident(NODE) operator(*)ident(body)operator(;) pre_type(int) ident(n)operator(;) ident(Data_Get_Struct)operator(()ident(method)operator(,) reserved(struct) ident(METHOD)operator(,) ident(data)operator(\);) ident(body) operator(=) ident(data)operator(->)ident(body)operator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(body)operator(\)\)) operator({) reserved(case) ident(NODE_CFUNC)operator(:) reserved(if) operator(()ident(body)operator(->)ident(nd_argc) operator(<) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(body)operator(->)ident(nd_argc)operator(\);) reserved(case) ident(NODE_ZSUPER)operator(:) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(case) ident(NODE_ATTRSET)operator(:) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(case) ident(NODE_IVAR)operator(:) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(case) ident(NODE_BMETHOD)operator(:) reserved(return) ident(proc_arity)operator(()ident(body)operator(->)ident(nd_cval)operator(\);) reserved(case) ident(NODE_DMETHOD)operator(:) reserved(return) ident(method_arity)operator(()ident(body)operator(->)ident(nd_cval)operator(\);) reserved(case) ident(NODE_SCOPE)operator(:) ident(body) operator(=) ident(body)operator(->)ident(nd_next)operator(;) comment(/* skip NODE_SCOPE */) reserved(if) operator(()ident(nd_type)operator(()ident(body)operator(\)) operator(==) ident(NODE_BLOCK)operator(\)) ident(body) operator(=) ident(body)operator(->)ident(nd_head)operator(;) reserved(if) operator((!)ident(body)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) ident(n) operator(=) ident(body)operator(->)ident(nd_cnt)operator(;) reserved(if) operator(()ident(body)operator(->)ident(nd_opt) operator(||) ident(body)operator(->)ident(nd_rest)operator(\)) ident(n) operator(=) operator(-)ident(n)operator(-)integer(1)operator(;) reserved(return) ident(INT2FIX)operator(()ident(n)operator(\);) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(nd_type)operator(()ident(body)operator(\)\);) operator(}) operator(}) comment(/* * call-seq: * meth.to_s => string * meth.inspect => string * * Show the name of the underlying method. * * "cat".method(:count\).inspect #=> "#" */) directive(static) ident(VALUE) ident(method_inspect)operator(()ident(method)operator(\)) ident(VALUE) ident(method)operator(;) operator({) reserved(struct) ident(METHOD) operator(*)ident(data)operator(;) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(char) operator(*)ident(sharp) operator(=) stringoperator(;) ident(Data_Get_Struct)operator(()ident(method)operator(,) reserved(struct) ident(METHOD)operator(,) ident(data)operator(\);) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(s) operator(=) ident(rb_obj_classname)operator(()ident(method)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(s)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(data)operator(->)ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(VALUE) ident(v) operator(=) ident(rb_iv_get)operator(()ident(data)operator(->)ident(klass)operator(,) stringoperator(\);) reserved(if) operator(()ident(data)operator(->)ident(recv) operator(==) ident(Qundef)operator(\)) operator({) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(data)operator(->)ident(klass)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(data)operator(->)ident(recv) operator(==) ident(v)operator(\)) operator({) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(v)operator(\)\);) ident(sharp) operator(=) stringoperator(;) operator(}) reserved(else) operator({) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(data)operator(->)ident(recv)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(v)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(sharp) operator(=) stringoperator(;) operator(}) operator(}) reserved(else) operator({) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(rb_class2name)operator(()ident(data)operator(->)ident(rklass)operator(\)\);) reserved(if) operator(()ident(data)operator(->)ident(rklass) operator(!=) ident(data)operator(->)ident(klass)operator(\)) operator({) ident(VALUE) ident(klass) operator(=) ident(data) operator(->) ident(klass)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(klass) operator(=) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass)operator(;) operator(}) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(rb_class2name)operator(()ident(klass)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) operator(}) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(sharp)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(rb_id2name)operator(()ident(data)operator(->)ident(oid)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(mproc)operator(()ident(method)operator(\)) ident(VALUE) ident(method)operator(;) operator({) ident(VALUE) ident(proc)operator(;) comment(/* emulate ruby's method call */) ident(PUSH_ITER)operator(()ident(ITER_CUR)operator(\);) ident(PUSH_FRAME)operator((\);) ident(proc) operator(=) ident(rb_block_proc)operator((\);) ident(POP_FRAME)operator((\);) ident(POP_ITER)operator((\);) reserved(return) ident(proc)operator(;) operator(}) directive(static) ident(VALUE) ident(bmcall)operator(()ident(args)operator(,) ident(method)operator(\)) ident(VALUE) ident(args)operator(,) ident(method)operator(;) operator({) directive(volatile) ident(VALUE) ident(a)operator(;) ident(VALUE) ident(ret)operator(;) ident(a) operator(=) ident(svalue_to_avalue)operator(()ident(args)operator(\);) ident(ret) operator(=) ident(method_call)operator(()ident(RARRAY)operator(()ident(a)operator(\)->)ident(len)operator(,) ident(RARRAY)operator(()ident(a)operator(\)->)ident(ptr)operator(,) ident(method)operator(\);) ident(a) operator(=) ident(Qnil)operator(;) comment(/* prevent tail call */) reserved(return) ident(ret)operator(;) operator(}) ident(VALUE) ident(rb_proc_new)operator(()ident(func)operator(,) ident(val)operator(\)) ident(VALUE) operator((*)ident(func)operator(\)()ident(ANYARGS)operator(\);) comment(/* VALUE yieldarg[, VALUE procarg] */) ident(VALUE) ident(val)operator(;) operator({) reserved(struct) ident(BLOCK) operator(*)ident(data)operator(;) ident(VALUE) ident(proc) operator(=) ident(rb_iterate)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(mproc)operator(,) integer(0)operator(,) ident(func)operator(,) ident(val)operator(\);) ident(Data_Get_Struct)operator(()ident(proc)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(data)operator(\);) ident(data)operator(->)ident(body)operator(->)ident(nd_state) operator(=) ident(YIELD_FUNC_AVALUE)operator(;) reserved(return) ident(proc)operator(;) operator(}) comment(/* * call-seq: * meth.to_proc => prc * * Returns a Proc object corresponding to this method. */) directive(static) ident(VALUE) ident(method_proc)operator(()ident(method)operator(\)) ident(VALUE) ident(method)operator(;) operator({) ident(VALUE) ident(proc)operator(;) reserved(struct) ident(METHOD) operator(*)ident(mdata)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(bdata)operator(;) ident(proc) operator(=) ident(rb_iterate)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(mproc)operator(,) integer(0)operator(,) ident(bmcall)operator(,) ident(method)operator(\);) ident(Data_Get_Struct)operator(()ident(method)operator(,) reserved(struct) ident(METHOD)operator(,) ident(mdata)operator(\);) ident(Data_Get_Struct)operator(()ident(proc)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(bdata)operator(\);) ident(bdata)operator(->)ident(body)operator(->)ident(nd_file) operator(=) ident(mdata)operator(->)ident(body)operator(->)ident(nd_file)operator(;) ident(nd_set_line)operator(()ident(bdata)operator(->)ident(body)operator(,) ident(nd_line)operator(()ident(mdata)operator(->)ident(body)operator(\)\);) ident(bdata)operator(->)ident(body)operator(->)ident(nd_state) operator(=) ident(YIELD_FUNC_SVALUE)operator(;) reserved(return) ident(proc)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_obj_is_method)operator(()ident(m)operator(\)) ident(VALUE) ident(m)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(m)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(m)operator(\)->)ident(dmark) operator(==) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(bm_mark)operator(\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * define_method(symbol, method\) => new_method * define_method(symbol\) { block } => proc * * Defines an instance method in the receiver. The _method_ * parameter can be a +Proc+ or +Method+ object. * If a block is specified, it is used as the method body. This block * is evaluated using instance_eval, a point that is * tricky to demonstrate because define_method is private. * (This is why we resort to the +send+ hack in this example.\) * * class A * def fred * puts "In Fred" * end * def create_method(name, &block\) * self.class.send(:define_method, name, &block\) * end * define_method(:wilma\) { puts "Charge it!" } * end * class B < A * define_method(:barney, instance_method(:fred\)\) * end * a = B.new * a.barney * a.wilma * a.create_method(:betty\) { p self } * a.betty * * produces: * * In Fred * Charge it! * # */) directive(static) ident(VALUE) ident(rb_mod_define_method)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(mod)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(mod)operator(;) operator({) ident(ID) ident(id)operator(;) ident(VALUE) ident(body)operator(;) ident(NODE) operator(*)ident(node)operator(;) pre_type(int) ident(noex)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(id) operator(=) ident(rb_to_id)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(body) operator(=) ident(proc_lambda)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(id) operator(=) ident(rb_to_id)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(body) operator(=) ident(argv)operator([)integer(1)operator(];) reserved(if) operator((!)ident(rb_obj_is_method)operator(()ident(body)operator(\)) operator(&&) operator(!)ident(rb_obj_is_proc)operator(()ident(body)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(body)operator(\)\);) operator(}) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(if) operator(()ident(RDATA)operator(()ident(body)operator(\)->)ident(dmark) operator(==) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(bm_mark)operator(\)) operator({) ident(node) operator(=) ident(NEW_DMETHOD)operator(()ident(method_unbind)operator(()ident(body)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(RDATA)operator(()ident(body)operator(\)->)ident(dmark) operator(==) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(blk_mark)operator(\)) operator({) reserved(struct) ident(BLOCK) operator(*)ident(block)operator(;) ident(body) operator(=) ident(proc_clone)operator(()ident(body)operator(\);) ident(Data_Get_Struct)operator(()ident(body)operator(,) reserved(struct) ident(BLOCK)operator(,) ident(block)operator(\);) ident(block)operator(->)ident(frame)operator(.)ident(last_func) operator(=) ident(id)operator(;) ident(block)operator(->)ident(frame)operator(.)ident(orig_func) operator(=) ident(id)operator(;) ident(block)operator(->)ident(frame)operator(.)ident(last_class) operator(=) ident(mod)operator(;) ident(node) operator(=) ident(NEW_BMETHOD)operator(()ident(body)operator(\);) operator(}) reserved(else) operator({) comment(/* type error */) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(noex) operator(=) ident(NOEX_PUBLIC)operator(;) reserved(if) operator(()ident(ruby_cbase) operator(==) ident(mod)operator(\)) operator({) reserved(if) operator(()ident(SCOPE_TEST)operator(()ident(SCOPE_PRIVATE)operator(\)\)) operator({) ident(noex) operator(=) ident(NOEX_PRIVATE)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(SCOPE_TEST)operator(()ident(SCOPE_PROTECTED)operator(\)\)) operator({) ident(noex) operator(=) ident(NOEX_PROTECTED)operator(;) operator(}) operator(}) ident(rb_add_method)operator(()ident(mod)operator(,) ident(id)operator(,) ident(node)operator(,) ident(noex)operator(\);) reserved(return) ident(body)operator(;) operator(}) comment(/* * Proc objects are blocks of code that have been bound to * a set of local variables. Once bound, the code may be called in * different contexts and still access those variables. * * def gen_times(factor\) * return Proc.new {|n| n*factor } * end * * times3 = gen_times(3\) * times5 = gen_times(5\) * * times3.call(12\) #=> 36 * times5.call(5\) #=> 25 * times3.call(times5.call(4\)\) #=> 60 * */) directive(void) ident(Init_Proc)operator((\)) operator({) ident(rb_eLocalJumpError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_define_method)operator(()ident(rb_eLocalJumpError)operator(,) stringoperator(,) ident(localjump_xvalue)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eLocalJumpError)operator(,) stringoperator(,) ident(localjump_reason)operator(,) integer(0)operator(\);) ident(rb_global_variable)operator((&)ident(exception_error)operator(\);) ident(exception_error) operator(=) ident(rb_exc_new3)operator(()ident(rb_eFatal)operator(,) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()stringoperator(\)\)\);) ident(OBJ_TAINT)operator(()ident(exception_error)operator(\);) ident(OBJ_FREEZE)operator(()ident(exception_error)operator(\);) ident(rb_eSysStackError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_global_variable)operator((&)ident(sysstack_error)operator(\);) ident(sysstack_error) operator(=) ident(rb_exc_new3)operator(()ident(rb_eSysStackError)operator(,) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()stringoperator(\)\)\);) ident(OBJ_TAINT)operator(()ident(sysstack_error)operator(\);) ident(OBJ_FREEZE)operator(()ident(sysstack_error)operator(\);) ident(rb_cProc) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cProc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_s_new)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_clone)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_dup)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_call)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_arity)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_call)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_eq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_to_self)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProc)operator(,) stringoperator(,) ident(proc_binding)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(proc_lambda)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(proc_lambda)operator(,) integer(0)operator(\);) ident(rb_cMethod) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cMethod)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cMethod)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_eq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_clone)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_call)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_call)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_arity)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_proc)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMethod)operator(,) stringoperator(,) ident(method_unbind)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_method)operator(,) integer(1)operator(\);) ident(rb_cUnboundMethod) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cUnboundMethod)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cUnboundMethod)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cUnboundMethod)operator(,) stringoperator(,) ident(method_eq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cUnboundMethod)operator(,) stringoperator(,) ident(method_clone)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cUnboundMethod)operator(,) stringoperator(,) ident(method_arity)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cUnboundMethod)operator(,) stringoperator(,) ident(method_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cUnboundMethod)operator(,) stringoperator(,) ident(method_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cUnboundMethod)operator(,) stringoperator(,) ident(umethod_bind)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_method)operator(,) integer(1)operator(\);) operator(}) comment(/* * Objects of class Binding encapsulate the execution * context at some particular place in the code and retain this context * for future use. The variables, methods, value of self, * and possibly an iterator block that can be accessed in this context * are all retained. Binding objects can be created using * Kernel#binding, and are made available to the callback * of Kernel#set_trace_func. * * These binding objects can be passed as the second argument of the * Kernel#eval method, establishing an environment for the * evaluation. * * class Demo * def initialize(n\) * @secret = n * end * def getBinding * return binding(\) * end * end * * k1 = Demo.new(99\) * b1 = k1.getBinding * k2 = Demo.new(-3\) * b2 = k2.getBinding * * eval("@secret", b1\) #=> 99 * eval("@secret", b2\) #=> -3 * eval("@secret"\) #=> nil * * Binding objects have no class-specific methods. * */) directive(void) ident(Init_Binding)operator((\)) operator({) ident(rb_cBinding) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cBinding)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cBinding)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cBinding)operator(,) stringoperator(,) ident(proc_clone)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cBinding)operator(,) stringoperator(,) ident(proc_dup)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_binding)operator(,) integer(0)operator(\);) operator(}) comment(/* Windows SEH refers data on the stack. */) preprocessor(#undef) ident(SAVE_WIN32_EXCEPTION_LIST) preprocessor(#if) ident(defined) ident(_WIN32) operator(||) ident(defined) ident(__CYGWIN__) preprocessor(#if) ident(defined) ident(__CYGWIN__) reserved(typedef) pre_type(unsigned) pre_type(long) ident(DWORD)operator(;) preprocessor(#endif) directive(static) directive(inline) ident(DWORD) ident(win32_get_exception_list)operator((\)) operator({) ident(DWORD) ident(p)operator(;) preprocessor(# if) ident(defined) ident(_MSC_VER) preprocessor(# ifdef) ident(_M_IX86) preprocessor(# define) ident(SAVE_WIN32_EXCEPTION_LIST) preprocessor(# if) ident(_MSC_VER) operator(>=) integer(1310) comment(/* warning: unsafe assignment to fs:0 ... this is ok */) preprocessor(# pragma) ident(warning)operator(()ident(disable)operator(:) integer(4733)operator(\)) preprocessor(# endif) ident(__asm) ident(mov) ident(eax)operator(,) ident(fs)operator(:[)integer(0)operator(];) ident(__asm) ident(mov) ident(p)operator(,) ident(eax)operator(;) preprocessor(# endif) preprocessor(# elif) ident(defined) ident(__GNUC__) preprocessor(# ifdef) ident(__i386__) preprocessor(# define) ident(SAVE_WIN32_EXCEPTION_LIST) ident(__asm__)operator(()string operator(:) stringoperator(()ident(p)operator(\)\);) preprocessor(# endif) preprocessor(# elif) ident(defined) ident(__BORLANDC__) preprocessor(# define) ident(SAVE_WIN32_EXCEPTION_LIST) ident(__emit__)operator(()hex(0x64)operator(,) hex(0xA1)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(\);) comment(/* mov eax, fs:[0] */) ident(p) operator(=) ident(_EAX)operator(;) preprocessor(# endif) reserved(return) ident(p)operator(;) operator(}) directive(static) directive(inline) directive(void) ident(win32_set_exception_list)operator(()ident(p)operator(\)) ident(DWORD) ident(p)operator(;) operator({) preprocessor(# if) ident(defined) ident(_MSC_VER) preprocessor(# ifdef) ident(_M_IX86) ident(__asm) ident(mov) ident(eax)operator(,) ident(p)operator(;) ident(__asm) ident(mov) ident(fs)operator(:[)integer(0)operator(],) ident(eax)operator(;) preprocessor(# endif) preprocessor(# elif) ident(defined) ident(__GNUC__) preprocessor(# ifdef) ident(__i386__) ident(__asm__)operator(()string operator(::) stringoperator(()ident(p)operator(\)\);) preprocessor(# endif) preprocessor(# elif) ident(defined) ident(__BORLANDC__) ident(_EAX) operator(=) ident(p)operator(;) ident(__emit__)operator(()hex(0x64)operator(,) hex(0xA3)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(\);) comment(/* mov fs:[0], eax */) preprocessor(# endif) operator(}) preprocessor(#if) operator(!)ident(defined) ident(SAVE_WIN32_EXCEPTION_LIST) operator(&&) operator(!)ident(defined) ident(_WIN32_WCE) preprocessor(# error) ident(unsupported) ident(platform) preprocessor(#endif) preprocessor(#endif) pre_type(int) ident(rb_thread_pending) operator(=) integer(0)operator(;) ident(VALUE) ident(rb_cThread)operator(;) directive(extern) ident(VALUE) ident(rb_last_status)operator(;) preprocessor(#define) ident(WAIT_FD) operator(()integer(1)operator(<<)integer(0)operator(\)) preprocessor(#define) ident(WAIT_SELECT) operator(()integer(1)operator(<<)integer(1)operator(\)) preprocessor(#define) ident(WAIT_TIME) operator(()integer(1)operator(<<)integer(2)operator(\)) preprocessor(#define) ident(WAIT_JOIN) operator(()integer(1)operator(<<)integer(3)operator(\)) preprocessor(#define) ident(WAIT_PID) operator(()integer(1)operator(<<)integer(4)operator(\)) comment(/* +infty, for this purpose */) preprocessor(#define) ident(DELAY_INFTY) float(1)ident(E30) preprocessor(#if) operator(!)ident(defined) ident(HAVE_PAUSE) preprocessor(# if) ident(defined) ident(_WIN32) operator(&&) operator(!)ident(defined) ident(__CYGWIN__) preprocessor(# define) ident(pause)operator((\)) ident(Sleep)operator(()ident(INFINITE)operator(\)) preprocessor(# else) preprocessor(# define) ident(pause)operator((\)) ident(sleep)operator(()hex(0x7fffffff)operator(\)) preprocessor(# endif) preprocessor(#endif) preprocessor(#define) ident(THREAD_TERMINATING) hex(0x400) comment(/* persistent flag */) preprocessor(#define) ident(THREAD_NO_ENSURE) hex(0x800) comment(/* persistent flag */) preprocessor(#define) ident(THREAD_FLAGS_MASK) hex(0xfc00) comment(/* mask for persistent flags */) preprocessor(#define) ident(FOREACH_THREAD_FROM)operator(()ident(f)operator(,)ident(x)operator(\)) ident(x) operator(=) ident(f)operator(;) reserved(do) operator({) ident(x) operator(=) ident(x)operator(->)ident(next)operator(;) preprocessor(#define) ident(END_FOREACH_FROM)operator(()ident(f)operator(,)ident(x)operator(\)) operator(}) reserved(while) operator(()ident(x) operator(!=) ident(f)operator(\)) preprocessor(#define) ident(FOREACH_THREAD)operator(()ident(x)operator(\)) ident(FOREACH_THREAD_FROM)operator(()ident(curr_thread)operator(,)ident(x)operator(\)) preprocessor(#define) ident(END_FOREACH)operator(()ident(x)operator(\)) ident(END_FOREACH_FROM)operator(()ident(curr_thread)operator(,)ident(x)operator(\)) reserved(struct) ident(thread_status_t) operator({) ident(NODE) operator(*)ident(node)operator(;) pre_type(int) ident(tracing)operator(;) ident(VALUE) ident(errinfo)operator(;) ident(VALUE) ident(last_status)operator(;) ident(VALUE) ident(last_line)operator(;) ident(VALUE) ident(last_match)operator(;) pre_type(int) ident(safe)operator(;) reserved(enum) ident(rb_thread_status) ident(status)operator(;) pre_type(int) ident(wait_for)operator(;) pre_type(int) ident(fd)operator(;) ident(fd_set) ident(readfds)operator(;) ident(fd_set) ident(writefds)operator(;) ident(fd_set) ident(exceptfds)operator(;) pre_type(int) ident(select_value)operator(;) pre_type(double) ident(delay)operator(;) ident(rb_thread_t) ident(join)operator(;) operator(};) preprocessor(#define) ident(THREAD_COPY_STATUS)operator(()ident(src)operator(,) ident(dst)operator(\)) operator(()directive(void)operator(\)() \ operator(()ident(dst)operator(\)->)ident(node) operator(=) operator(()ident(src)operator(\)->)ident(node)operator(,) \ \ operator(()ident(dst)operator(\)->)ident(tracing) operator(=) operator(()ident(src)operator(\)->)ident(tracing)operator(,) \ operator(()ident(dst)operator(\)->)ident(errinfo) operator(=) operator(()ident(src)operator(\)->)ident(errinfo)operator(,) \ operator(()ident(dst)operator(\)->)ident(last_status) operator(=) operator(()ident(src)operator(\)->)ident(last_status)operator(,) \ operator(()ident(dst)operator(\)->)ident(last_line) operator(=) operator(()ident(src)operator(\)->)ident(last_line)operator(,) \ operator(()ident(dst)operator(\)->)ident(last_match) operator(=) operator(()ident(src)operator(\)->)ident(last_match)operator(,) \ \ operator(()ident(dst)operator(\)->)ident(safe) operator(=) operator(()ident(src)operator(\)->)ident(safe)operator(,) \ \ operator(()ident(dst)operator(\)->)ident(status) operator(=) operator(()ident(src)operator(\)->)ident(status)operator(,) \ operator(()ident(dst)operator(\)->)ident(wait_for) operator(=) operator(()ident(src)operator(\)->)ident(wait_for)operator(,) \ operator(()ident(dst)operator(\)->)ident(fd) operator(=) operator(()ident(src)operator(\)->)ident(fd)operator(,) \ operator(()ident(dst)operator(\)->)ident(readfds) operator(=) operator(()ident(src)operator(\)->)ident(readfds)operator(,) \ operator(()ident(dst)operator(\)->)ident(writefds) operator(=) operator(()ident(src)operator(\)->)ident(writefds)operator(,) \ operator(()ident(dst)operator(\)->)ident(exceptfds) operator(=) operator(()ident(src)operator(\)->)ident(exceptfds)operator(,) \ operator(()ident(dst)operator(\)->)ident(select_value) operator(=) operator(()ident(src)operator(\)->)ident(select_value)operator(,) \ operator(()ident(dst)operator(\)->)ident(delay) operator(=) operator(()ident(src)operator(\)->)ident(delay)operator(,) \ operator(()ident(dst)operator(\)->)ident(join) operator(=) operator(()ident(src)operator(\)->)ident(join)operator(,) \ integer(0)operator(\)) pre_type(int) ident(rb_thread_set_raised)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) reserved(if) operator(()ident(th)operator(->)ident(flags) operator(&) ident(RAISED_EXCEPTION)operator(\)) operator({) reserved(return) integer(1)operator(;) operator(}) ident(th)operator(->)ident(flags) operator(|=) ident(RAISED_EXCEPTION)operator(;) reserved(return) integer(0)operator(;) operator(}) pre_type(int) ident(rb_thread_reset_raised)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) reserved(if) operator((!()ident(th)operator(->)ident(flags) operator(&) ident(RAISED_EXCEPTION)operator(\)\)) operator({) reserved(return) integer(0)operator(;) operator(}) ident(th)operator(->)ident(flags) operator(&=) operator(~)ident(RAISED_EXCEPTION)operator(;) reserved(return) integer(1)operator(;) operator(}) directive(static) pre_type(int) ident(thread_no_ensure)operator((\)) operator({) reserved(return) operator((()ident(curr_thread)operator(->)ident(flags) operator(&) ident(THREAD_NO_ENSURE)operator(\)) operator(==) ident(THREAD_NO_ENSURE)operator(\);) operator(}) directive(static) directive(void) ident(rb_thread_ready) ident(_)operator((()ident(rb_thread_t)operator(\)\);) directive(static) ident(VALUE) ident(run_trap_eval) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(run_trap_eval)operator(()ident(arg)operator(\)) ident(VALUE) ident(arg)operator(;) operator({) ident(VALUE) operator(*)ident(p) operator(=) operator(()ident(VALUE) operator(*\))ident(arg)operator(;) reserved(return) ident(rb_eval_cmd)operator(()ident(p)operator([)integer(0)operator(],) ident(p)operator([)integer(1)operator(],) operator(()pre_type(int)operator(\))ident(p)operator([)integer(2)operator(]\);) operator(}) directive(static) ident(VALUE) ident(rb_trap_eval)operator(()ident(cmd)operator(,) ident(sig)operator(,) ident(safe)operator(\)) ident(VALUE) ident(cmd)operator(;) pre_type(int) ident(sig)operator(,) ident(safe)operator(;) operator({) pre_type(int) ident(state)operator(;) ident(VALUE) ident(val) operator(=) ident(Qnil)operator(;) comment(/* OK */) directive(volatile) reserved(struct) ident(thread_status_t) ident(save)operator(;) ident(VALUE) ident(arg)operator([)integer(3)operator(];) ident(arg)operator([)integer(0)operator(]) operator(=) ident(cmd)operator(;) ident(arg)operator([)integer(1)operator(]) operator(=) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(INT2FIX)operator(()ident(sig)operator(\)\);) ident(arg)operator([)integer(2)operator(]) operator(=) operator(()ident(VALUE)operator(\))ident(safe)operator(;) ident(THREAD_COPY_STATUS)operator(()ident(curr_thread)operator(,) operator(&)ident(save)operator(\);) ident(rb_thread_ready)operator(()ident(curr_thread)operator(\);) ident(PUSH_ITER)operator(()ident(ITER_NOT)operator(\);) ident(val) operator(=) ident(rb_protect)operator(()ident(run_trap_eval)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) operator(&)ident(state)operator(\);) ident(POP_ITER)operator((\);) ident(THREAD_COPY_STATUS)operator((&)ident(save)operator(,) ident(curr_thread)operator(\);) reserved(if) operator(()ident(state)operator(\)) operator({) ident(rb_trap_immediate) operator(=) integer(0)operator(;) ident(rb_thread_ready)operator(()ident(curr_thread)operator(\);) ident(JUMP_TAG)operator(()ident(state)operator(\);) operator(}) reserved(if) operator(()ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_STOPPED)operator(\)) operator({) ident(rb_thread_schedule)operator((\);) operator(}) ident(errno) operator(=) ident(EINTR)operator(;) reserved(return) ident(val)operator(;) operator(}) directive(static) directive(const) pre_type(char) operator(*) ident(thread_status_name)operator(()ident(status)operator(\)) reserved(enum) ident(rb_thread_status) ident(status)operator(;) operator({) reserved(switch) operator(()ident(status)operator(\)) operator({) reserved(case) ident(THREAD_RUNNABLE)operator(:) reserved(return) stringoperator(;) reserved(case) ident(THREAD_STOPPED)operator(:) reserved(return) stringoperator(;) reserved(case) ident(THREAD_TO_KILL)operator(:) reserved(return) stringoperator(;) reserved(case) ident(THREAD_KILLED)operator(:) reserved(return) stringoperator(;) reserved(default)operator(:) reserved(return) stringoperator(;) operator(}) operator(}) comment(/* $SAFE accessor */) directive(void) ident(rb_set_safe_level)operator(()ident(level)operator(\)) pre_type(int) ident(level)operator(;) operator({) reserved(if) operator(()ident(level) operator(>) ident(ruby_safe_level)operator(\)) operator({) reserved(if) operator(()ident(level) operator(>) ident(SAFE_LEVEL_MAX)operator(\)) ident(level) operator(=) ident(SAFE_LEVEL_MAX)operator(;) ident(ruby_safe_level) operator(=) ident(level)operator(;) ident(curr_thread)operator(->)ident(safe) operator(=) ident(level)operator(;) operator(}) operator(}) directive(static) ident(VALUE) ident(safe_getter)operator((\)) operator({) reserved(return) ident(INT2NUM)operator(()ident(ruby_safe_level)operator(\);) operator(}) directive(static) directive(void) ident(safe_setter)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) pre_type(int) ident(level) operator(=) ident(NUM2INT)operator(()ident(val)operator(\);) reserved(if) operator(()ident(level) operator(<) ident(ruby_safe_level)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(ruby_safe_level)operator(,) ident(level)operator(\);) operator(}) reserved(if) operator(()ident(level) operator(>) ident(SAFE_LEVEL_MAX)operator(\)) ident(level) operator(=) ident(SAFE_LEVEL_MAX)operator(;) ident(ruby_safe_level) operator(=) ident(level)operator(;) ident(curr_thread)operator(->)ident(safe) operator(=) ident(level)operator(;) operator(}) comment(/* Return the current time as a floating-point number */) directive(static) pre_type(double) ident(timeofday)operator((\)) operator({) reserved(struct) ident(timeval) ident(tv)operator(;) preprocessor(#ifdef) ident(CLOCK_MONOTONIC) reserved(struct) ident(timespec) ident(tp)operator(;) reserved(if) operator(()ident(clock_gettime)operator(()ident(CLOCK_MONOTONIC)operator(,) operator(&)ident(tp)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(return) operator(()pre_type(double)operator(\))ident(tp)operator(.)ident(tv_sec) operator(+) operator(()pre_type(double)operator(\))ident(tp)operator(.)ident(tv_nsec) operator(*) float(1)ident(e)operator(-)integer(9)operator(;) operator(}) preprocessor(#endif) ident(gettimeofday)operator((&)ident(tv)operator(,) pre_constant(NULL)operator(\);) reserved(return) operator(()pre_type(double)operator(\))ident(tv)operator(.)ident(tv_sec) operator(+) operator(()pre_type(double)operator(\))ident(tv)operator(.)ident(tv_usec) operator(*) float(1)ident(e)operator(-)integer(6)operator(;) operator(}) preprocessor(#define) ident(STACK)operator(()ident(addr)operator(\)) operator(()ident(th)operator(->)ident(stk_pos)operator(<()ident(VALUE)operator(*\)()ident(addr)operator(\)) operator(&&) operator(()ident(VALUE)operator(*\)()ident(addr)operator(\)<)ident(th)operator(->)ident(stk_pos)operator(+)ident(th)operator(->)ident(stk_len)operator(\)) preprocessor(#define) ident(ADJ)operator(()ident(addr)operator(\)) operator(()directive(void)operator(*\)()ident(STACK)operator(()ident(addr)operator(\)?((()ident(VALUE)operator(*\)()ident(addr)operator(\)-)ident(th)operator(->)ident(stk_pos)operator(\)+)ident(th)operator(->)ident(stk_ptr)operator(\):()ident(VALUE)operator(*\)()ident(addr)operator(\)\)) directive(static) directive(void) ident(thread_mark)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) reserved(struct) ident(FRAME) operator(*)ident(frame)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(block)operator(;) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(result)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(thread)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(join)operator(\)) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(join)operator(->)ident(thread)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(klass)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(wrapper)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(th)operator(->)ident(cref)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(th)operator(->)ident(scope)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(th)operator(->)ident(dyna_vars)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(errinfo)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(last_status)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(last_line)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(last_match)operator(\);) ident(rb_mark_tbl)operator(()ident(th)operator(->)ident(locals)operator(\);) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(thgroup)operator(\);) ident(rb_gc_mark_maybe)operator(()ident(th)operator(->)ident(sandbox)operator(\);) comment(/* mark data in copied stack */) reserved(if) operator(()ident(th) operator(==) ident(curr_thread)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(th)operator(->)ident(stk_len) operator(==) integer(0)operator(\)) reserved(return)operator(;) comment(/* stack not active, no need to mark. */) reserved(if) operator(()ident(th)operator(->)ident(stk_ptr)operator(\)) operator({) ident(rb_gc_mark_locations)operator(()ident(th)operator(->)ident(stk_ptr)operator(,) ident(th)operator(->)ident(stk_ptr)operator(+)ident(th)operator(->)ident(stk_len)operator(\);) preprocessor(#if) ident(defined)operator(()ident(THINK_C)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) ident(rb_gc_mark_locations)operator(()ident(th)operator(->)ident(stk_ptr)operator(+)integer(2)operator(,) ident(th)operator(->)ident(stk_ptr)operator(+)ident(th)operator(->)ident(stk_len)operator(+)integer(2)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(__ia64) reserved(if) operator(()ident(th)operator(->)ident(bstr_ptr)operator(\)) operator({) ident(rb_gc_mark_locations)operator(()ident(th)operator(->)ident(bstr_ptr)operator(,) ident(th)operator(->)ident(bstr_ptr)operator(+)ident(th)operator(->)ident(bstr_len)operator(\);) operator(}) preprocessor(#endif) operator(}) ident(frame) operator(=) ident(th)operator(->)ident(frame)operator(;) reserved(while) operator(()ident(frame) operator(&&) ident(frame) operator(!=) ident(top_frame)operator(\)) operator({) ident(frame) operator(=) ident(ADJ)operator(()ident(frame)operator(\);) ident(rb_gc_mark_frame)operator(()ident(frame)operator(\);) reserved(if) operator(()ident(frame)operator(->)ident(tmp)operator(\)) operator({) reserved(struct) ident(FRAME) operator(*)ident(tmp) operator(=) ident(frame)operator(->)ident(tmp)operator(;) reserved(while) operator(()ident(tmp) operator(&&) ident(tmp) operator(!=) ident(top_frame)operator(\)) operator({) ident(tmp) operator(=) ident(ADJ)operator(()ident(tmp)operator(\);) ident(rb_gc_mark_frame)operator(()ident(tmp)operator(\);) ident(tmp) operator(=) ident(tmp)operator(->)ident(prev)operator(;) operator(}) operator(}) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(;) operator(}) ident(block) operator(=) ident(th)operator(->)ident(block)operator(;) reserved(while) operator(()ident(block)operator(\)) operator({) ident(block) operator(=) ident(ADJ)operator(()ident(block)operator(\);) ident(rb_gc_mark_frame)operator((&)ident(block)operator(->)ident(frame)operator(\);) ident(block) operator(=) ident(block)operator(->)ident(prev)operator(;) operator(}) operator(}) directive(static) pre_type(int) ident(mark_loading_thread)operator(()ident(key)operator(,) ident(value)operator(,) ident(lev)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(;) pre_type(int) ident(lev)operator(;) operator({) ident(rb_gc_mark)operator(((()ident(rb_thread_t)operator(\))ident(value)operator(\)->)ident(thread)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(void) ident(rb_gc_mark_threads)operator((\)) operator({) ident(rb_thread_t) ident(th)operator(;) comment(/* static global mark */) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(ruby_cref)operator(\);) reserved(if) operator((!)ident(curr_thread)operator(\)) reserved(return)operator(;) ident(rb_gc_mark)operator(()ident(main_thread)operator(->)ident(thread)operator(\);) ident(rb_gc_mark)operator(()ident(curr_thread)operator(->)ident(thread)operator(\);) ident(FOREACH_THREAD_FROM)operator(()ident(main_thread)operator(,) ident(th)operator(\)) operator({) reserved(switch) operator(()ident(th)operator(->)ident(status)operator(\)) operator({) reserved(case) ident(THREAD_TO_KILL)operator(:) reserved(case) ident(THREAD_RUNNABLE)operator(:) reserved(break)operator(;) reserved(case) ident(THREAD_STOPPED)operator(:) reserved(if) operator(()ident(th)operator(->)ident(wait_for)operator(\)) reserved(break)operator(;) reserved(default)operator(:) reserved(continue)operator(;) operator(}) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(thread)operator(\);) operator(}) ident(END_FOREACH_FROM)operator(()ident(main_thread)operator(,) ident(th)operator(\);) reserved(if) operator(()ident(loading_tbl)operator(\)) ident(st_foreach)operator(()ident(loading_tbl)operator(,) ident(mark_loading_thread)operator(,) integer(0)operator(\);) operator(}) directive(void) ident(rb_gc_abort_threads)operator((\)) operator({) ident(rb_thread_t) ident(th)operator(;) reserved(if) operator((!)ident(main_thread)operator(\)) reserved(return)operator(;) ident(FOREACH_THREAD_FROM)operator(()ident(main_thread)operator(,) ident(th)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(th)operator(->)ident(thread)operator(,) ident(FL_MARK)operator(\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_STOPPED)operator(\)) operator({) ident(th)operator(->)ident(status) operator(=) ident(THREAD_TO_KILL)operator(;) ident(rb_gc_mark)operator(()ident(th)operator(->)ident(thread)operator(\);) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(main_thread)operator(,) ident(th)operator(\);) operator(}) directive(static) directive(inline) directive(void) ident(stack_free)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) reserved(if) operator(()ident(th)operator(->)ident(stk_ptr)operator(\)) ident(free)operator(()ident(th)operator(->)ident(stk_ptr)operator(\);) ident(th)operator(->)ident(stk_ptr) operator(=) integer(0)operator(;) preprocessor(#ifdef) ident(__ia64) reserved(if) operator(()ident(th)operator(->)ident(bstr_ptr)operator(\)) ident(free)operator(()ident(th)operator(->)ident(bstr_ptr)operator(\);) ident(th)operator(->)ident(bstr_ptr) operator(=) integer(0)operator(;) preprocessor(#endif) operator(}) directive(static) directive(void) ident(thread_free)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) ident(stack_free)operator(()ident(th)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(locals)operator(\)) ident(st_free_table)operator(()ident(th)operator(->)ident(locals)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(status) operator(!=) ident(THREAD_KILLED)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(prev)operator(\)) ident(th)operator(->)ident(prev)operator(->)ident(next) operator(=) ident(th)operator(->)ident(next)operator(;) reserved(if) operator(()ident(th)operator(->)ident(next)operator(\)) ident(th)operator(->)ident(next)operator(->)ident(prev) operator(=) ident(th)operator(->)ident(prev)operator(;) operator(}) reserved(if) operator(()ident(th) operator(!=) ident(main_thread)operator(\)) ident(free)operator(()ident(th)operator(\);) operator(}) directive(static) ident(rb_thread_t) ident(rb_thread_check)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(data)operator(\)) operator(!=) ident(T_DATA) operator(||) ident(RDATA)operator(()ident(data)operator(\)->)ident(dmark) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(thread_mark)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(data)operator(\)\);) operator(}) reserved(return) operator(()ident(rb_thread_t)operator(\))ident(RDATA)operator(()ident(data)operator(\)->)ident(data)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_thread_raise) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(rb_thread_t)operator(\)\);) directive(static) ident(VALUE) ident(th_raise_exception)operator(;) directive(static) ident(NODE) operator(*)ident(th_raise_node)operator(;) directive(static) ident(VALUE) ident(th_cmd)operator(;) directive(static) pre_type(int) ident(th_sig)operator(,) ident(th_safe)operator(;) preprocessor(#define) ident(RESTORE_NORMAL) integer(1) preprocessor(#define) ident(RESTORE_FATAL) integer(2) preprocessor(#define) ident(RESTORE_INTERRUPT) integer(3) preprocessor(#define) ident(RESTORE_TRAP) integer(4) preprocessor(#define) ident(RESTORE_RAISE) integer(5) preprocessor(#define) ident(RESTORE_SIGNAL) integer(6) preprocessor(#define) ident(RESTORE_EXIT) integer(7) directive(extern) ident(VALUE) operator(*)ident(rb_gc_stack_start)operator(;) preprocessor(#ifdef) ident(__ia64) directive(extern) ident(VALUE) operator(*)ident(rb_gc_register_stack_start)operator(;) preprocessor(#endif) directive(static) directive(void) ident(rb_thread_save_context)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) ident(VALUE) operator(*)ident(pos)operator(;) ident(size_t) ident(len)operator(;) directive(static) ident(VALUE) ident(tval)operator(;) ident(len) operator(=) ident(ruby_stack_length)operator((&)ident(pos)operator(\);) ident(th)operator(->)ident(stk_len) operator(=) integer(0)operator(;) ident(th)operator(->)ident(stk_pos) operator(=) ident(pos)operator(;) reserved(if) operator(()ident(len) operator(>) ident(th)operator(->)ident(stk_max)operator(\)) operator({) ident(VALUE) operator(*)ident(ptr) operator(=) ident(realloc)operator(()ident(th)operator(->)ident(stk_ptr)operator(,) reserved(sizeof)operator(()ident(VALUE)operator(\)) operator(*) ident(len)operator(\);) reserved(if) operator((!)ident(ptr)operator(\)) ident(rb_memerror)operator((\);) ident(th)operator(->)ident(stk_ptr) operator(=) ident(ptr)operator(;) ident(th)operator(->)ident(stk_max) operator(=) ident(len)operator(;) operator(}) ident(th)operator(->)ident(stk_len) operator(=) ident(len)operator(;) ident(FLUSH_REGISTER_WINDOWS)operator(;) ident(MEMCPY)operator(()ident(th)operator(->)ident(stk_ptr)operator(,) ident(th)operator(->)ident(stk_pos)operator(,) ident(VALUE)operator(,) ident(th)operator(->)ident(stk_len)operator(\);) preprocessor(#ifdef) ident(__ia64) ident(th)operator(->)ident(bstr_pos) operator(=) ident(rb_gc_register_stack_start)operator(;) ident(len) operator(=) operator(()ident(VALUE)operator(*\))ident(rb_ia64_bsp)operator((\)) operator(-) ident(th)operator(->)ident(bstr_pos)operator(;) ident(th)operator(->)ident(bstr_len) operator(=) integer(0)operator(;) reserved(if) operator(()ident(len) operator(>) ident(th)operator(->)ident(bstr_max)operator(\)) operator({) ident(VALUE) operator(*)ident(ptr) operator(=) ident(realloc)operator(()ident(th)operator(->)ident(bstr_ptr)operator(,) reserved(sizeof)operator(()ident(VALUE)operator(\)) operator(*) ident(len)operator(\);) reserved(if) operator((!)ident(ptr)operator(\)) ident(rb_memerror)operator((\);) ident(th)operator(->)ident(bstr_ptr) operator(=) ident(ptr)operator(;) ident(th)operator(->)ident(bstr_max) operator(=) ident(len)operator(;) operator(}) ident(th)operator(->)ident(bstr_len) operator(=) ident(len)operator(;) ident(rb_ia64_flushrs)operator((\);) ident(MEMCPY)operator(()ident(th)operator(->)ident(bstr_ptr)operator(,) ident(th)operator(->)ident(bstr_pos)operator(,) ident(VALUE)operator(,) ident(th)operator(->)ident(bstr_len)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SAVE_WIN32_EXCEPTION_LIST) ident(th)operator(->)ident(win32_exception_list) operator(=) ident(win32_get_exception_list)operator((\);) preprocessor(#endif) ident(th)operator(->)ident(frame) operator(=) ident(ruby_frame)operator(;) ident(th)operator(->)ident(scope) operator(=) ident(ruby_scope)operator(;) ident(ruby_scope)operator(->)ident(flags) operator(|=) ident(SCOPE_DONT_RECYCLE)operator(;) ident(th)operator(->)ident(klass) operator(=) ident(ruby_class)operator(;) ident(th)operator(->)ident(wrapper) operator(=) ident(ruby_wrapper)operator(;) ident(th)operator(->)ident(cref) operator(=) ident(ruby_cref)operator(;) ident(th)operator(->)ident(dyna_vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(th)operator(->)ident(block) operator(=) ident(ruby_block)operator(;) ident(th)operator(->)ident(flags) operator(&=) ident(THREAD_FLAGS_MASK)operator(;) ident(th)operator(->)ident(flags) operator(|=) operator(()ident(rb_trap_immediate)operator(<<)integer(8)operator(\)) operator(|) ident(scope_vmode)operator(;) ident(th)operator(->)ident(iter) operator(=) ident(ruby_iter)operator(;) ident(th)operator(->)ident(tag) operator(=) ident(prot_tag)operator(;) ident(th)operator(->)ident(tracing) operator(=) ident(tracing)operator(;) ident(th)operator(->)ident(errinfo) operator(=) ident(ruby_errinfo)operator(;) ident(th)operator(->)ident(last_status) operator(=) ident(rb_last_status)operator(;) ident(tval) operator(=) ident(rb_lastline_get)operator((\);) ident(rb_lastline_set)operator(()ident(th)operator(->)ident(last_line)operator(\);) ident(th)operator(->)ident(last_line) operator(=) ident(tval)operator(;) ident(tval) operator(=) ident(rb_backref_get)operator((\);) ident(rb_backref_set)operator(()ident(th)operator(->)ident(last_match)operator(\);) ident(th)operator(->)ident(last_match) operator(=) ident(tval)operator(;) ident(th)operator(->)ident(safe) operator(=) ident(ruby_safe_level)operator(;) ident(th)operator(->)ident(node) operator(=) ident(ruby_current_node)operator(;) reserved(if) operator(()ident(ruby_sandbox_save) operator(!=) pre_constant(NULL)operator(\)) operator({) ident(ruby_sandbox_save)operator(()ident(th)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(rb_thread_switch)operator(()ident(n)operator(\)) pre_type(int) ident(n)operator(;) operator({) ident(rb_trap_immediate) operator(=) operator(()ident(curr_thread)operator(->)ident(flags)operator(&)hex(0x100)operator(\)?)integer(1)operator(:)integer(0)operator(;) reserved(switch) operator(()ident(n)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(return) integer(0)operator(;) reserved(case) ident(RESTORE_FATAL)operator(:) ident(JUMP_TAG)operator(()ident(TAG_FATAL)operator(\);) reserved(break)operator(;) reserved(case) ident(RESTORE_INTERRUPT)operator(:) ident(rb_interrupt)operator((\);) reserved(break)operator(;) reserved(case) ident(RESTORE_TRAP)operator(:) ident(rb_trap_eval)operator(()ident(th_cmd)operator(,) ident(th_sig)operator(,) ident(th_safe)operator(\);) reserved(break)operator(;) reserved(case) ident(RESTORE_RAISE)operator(:) ident(ruby_frame)operator(->)ident(last_func) operator(=) integer(0)operator(;) ident(ruby_current_node) operator(=) ident(th_raise_node)operator(;) ident(rb_raise_jump)operator(()ident(th_raise_exception)operator(\);) reserved(break)operator(;) reserved(case) ident(RESTORE_SIGNAL)operator(:) ident(rb_thread_signal_raise)operator(()ident(th_sig)operator(\);) reserved(break)operator(;) reserved(case) ident(RESTORE_EXIT)operator(:) ident(ruby_errinfo) operator(=) ident(th_raise_exception)operator(;) ident(ruby_current_node) operator(=) ident(th_raise_node)operator(;) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(ruby_errinfo)operator(,) ident(rb_eSystemExit)operator(\)\)) operator({) ident(terminate_process)operator(()ident(EXIT_FAILURE)operator(,) ident(ruby_errinfo)operator(\);) operator(}) ident(rb_exc_raise)operator(()ident(th_raise_exception)operator(\);) reserved(break)operator(;) reserved(case) ident(RESTORE_NORMAL)operator(:) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(return) integer(1)operator(;) operator(}) preprocessor(#define) ident(THREAD_SAVE_CONTEXT)operator(()ident(th)operator(\)) \ operator(()ident(rb_thread_switch)operator((()ident(FLUSH_REGISTER_WINDOWS)operator(,) ident(ruby_setjmp)operator(()ident(rb_thread_save_context)operator(()ident(th)operator(\),) operator(()ident(th)operator(\)->)ident(context)operator(\)\)\)\)) ident(NORETURN)operator(()directive(static) directive(void) ident(rb_thread_restore_context) ident(_)operator((()ident(rb_thread_t)operator(,)pre_type(int)operator(\)\)\);) ident(NORETURN)operator(()ident(NOINLINE)operator(()directive(static) directive(void) ident(rb_thread_restore_context_0)operator(()ident(rb_thread_t)operator(,)pre_type(int)operator(\)\)\);) ident(NORETURN)operator(()ident(NOINLINE)operator(()directive(static) directive(void) ident(stack_extend)operator(()ident(rb_thread_t)operator(,) pre_type(int)operator(\)\)\);) directive(static) directive(void) ident(rb_thread_restore_context_0)operator(()ident(rb_thread_t) ident(th)operator(,) pre_type(int) ident(exit)operator(\)) operator({) directive(static) ident(rb_thread_t) ident(tmp)operator(;) directive(static) pre_type(int) ident(ex)operator(;) directive(static) ident(VALUE) ident(tval)operator(;) ident(rb_trap_immediate) operator(=) integer(0)operator(;) comment(/* inhibit interrupts from here */) reserved(if) operator(()ident(ruby_sandbox_restore) operator(!=) pre_constant(NULL)operator(\)) operator({) ident(ruby_sandbox_restore)operator(()ident(th)operator(\);) operator(}) ident(ruby_frame) operator(=) ident(th)operator(->)ident(frame)operator(;) ident(ruby_scope) operator(=) ident(th)operator(->)ident(scope)operator(;) ident(ruby_class) operator(=) ident(th)operator(->)ident(klass)operator(;) ident(ruby_wrapper) operator(=) ident(th)operator(->)ident(wrapper)operator(;) ident(ruby_cref) operator(=) ident(th)operator(->)ident(cref)operator(;) ident(ruby_dyna_vars) operator(=) ident(th)operator(->)ident(dyna_vars)operator(;) ident(ruby_block) operator(=) ident(th)operator(->)ident(block)operator(;) ident(scope_vmode) operator(=) ident(th)operator(->)ident(flags)operator(&)ident(SCOPE_MASK)operator(;) ident(ruby_iter) operator(=) ident(th)operator(->)ident(iter)operator(;) ident(prot_tag) operator(=) ident(th)operator(->)ident(tag)operator(;) ident(tracing) operator(=) ident(th)operator(->)ident(tracing)operator(;) ident(ruby_errinfo) operator(=) ident(th)operator(->)ident(errinfo)operator(;) ident(rb_last_status) operator(=) ident(th)operator(->)ident(last_status)operator(;) ident(ruby_safe_level) operator(=) ident(th)operator(->)ident(safe)operator(;) ident(ruby_current_node) operator(=) ident(th)operator(->)ident(node)operator(;) preprocessor(#ifdef) ident(SAVE_WIN32_EXCEPTION_LIST) ident(win32_set_exception_list)operator(()ident(th)operator(->)ident(win32_exception_list)operator(\);) preprocessor(#endif) ident(tmp) operator(=) ident(th)operator(;) ident(ex) operator(=) ident(exit)operator(;) ident(FLUSH_REGISTER_WINDOWS)operator(;) ident(MEMCPY)operator(()ident(tmp)operator(->)ident(stk_pos)operator(,) ident(tmp)operator(->)ident(stk_ptr)operator(,) ident(VALUE)operator(,) ident(tmp)operator(->)ident(stk_len)operator(\);) preprocessor(#ifdef) ident(__ia64) ident(MEMCPY)operator(()ident(tmp)operator(->)ident(bstr_pos)operator(,) ident(tmp)operator(->)ident(bstr_ptr)operator(,) ident(VALUE)operator(,) ident(tmp)operator(->)ident(bstr_len)operator(\);) preprocessor(#endif) ident(tval) operator(=) ident(rb_lastline_get)operator((\);) ident(rb_lastline_set)operator(()ident(tmp)operator(->)ident(last_line)operator(\);) ident(tmp)operator(->)ident(last_line) operator(=) ident(tval)operator(;) ident(tval) operator(=) ident(rb_backref_get)operator((\);) ident(rb_backref_set)operator(()ident(tmp)operator(->)ident(last_match)operator(\);) ident(tmp)operator(->)ident(last_match) operator(=) ident(tval)operator(;) ident(ruby_longjmp)operator(()ident(tmp)operator(->)ident(context)operator(,) ident(ex)operator(\);) operator(}) preprocessor(#ifdef) ident(__ia64) preprocessor(#define) ident(C)operator(()ident(a)operator(\)) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#0)operator(,) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#1)operator(,) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#2)operator(,) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#3)operator(,) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#4) preprocessor(#define) ident(E)operator(()ident(a)operator(\)) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#0)operator(=) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#1)operator(=) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#2)operator(=) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#3)operator(=) ident(rse_)preprocessor(#)preprocessor(#a)preprocessor(#)preprocessor(#4) directive(static) directive(volatile) pre_type(int) ident(C)operator(()ident(a)operator(\),) ident(C)operator(()ident(b)operator(\),) ident(C)operator(()ident(c)operator(\),) ident(C)operator(()ident(d)operator(\),) ident(C)operator(()ident(e)operator(\);) directive(static) directive(volatile) pre_type(int) ident(C)operator(()ident(f)operator(\),) ident(C)operator(()ident(g)operator(\),) ident(C)operator(()ident(h)operator(\),) ident(C)operator(()ident(i)operator(\),) ident(C)operator(()ident(j)operator(\);) directive(static) directive(volatile) pre_type(int) ident(C)operator(()ident(k)operator(\),) ident(C)operator(()ident(l)operator(\),) ident(C)operator(()ident(m)operator(\),) ident(C)operator(()ident(n)operator(\),) ident(C)operator(()ident(o)operator(\);) directive(static) directive(volatile) pre_type(int) ident(C)operator(()ident(p)operator(\),) ident(C)operator(()ident(q)operator(\),) ident(C)operator(()ident(r)operator(\),) ident(C)operator(()ident(s)operator(\),) ident(C)operator(()ident(t)operator(\);) pre_type(int) ident(rb_dummy_false) operator(=) integer(0)operator(;) ident(NORETURN)operator(()ident(NOINLINE)operator(()directive(static) directive(void) ident(register_stack_extend)operator(()ident(rb_thread_t)operator(,) pre_type(int)operator(,) ident(VALUE) operator(*\)\)\);) directive(static) directive(void) ident(register_stack_extend)operator(()ident(rb_thread_t) ident(th)operator(,) pre_type(int) ident(exit)operator(,) ident(VALUE) operator(*)ident(curr_bsp)operator(\)) operator({) reserved(if) operator(()ident(rb_dummy_false)operator(\)) operator({) comment(/* use registers as much as possible */) ident(E)operator(()ident(a)operator(\)) operator(=) ident(E)operator(()ident(b)operator(\)) operator(=) ident(E)operator(()ident(c)operator(\)) operator(=) ident(E)operator(()ident(d)operator(\)) operator(=) ident(E)operator(()ident(e)operator(\)) operator(=) ident(E)operator(()ident(f)operator(\)) operator(=) ident(E)operator(()ident(g)operator(\)) operator(=) ident(E)operator(()ident(h)operator(\)) operator(=) ident(E)operator(()ident(i)operator(\)) operator(=) ident(E)operator(()ident(j)operator(\)) operator(=) ident(E)operator(()ident(k)operator(\)) operator(=) ident(E)operator(()ident(l)operator(\)) operator(=) ident(E)operator(()ident(m)operator(\)) operator(=) ident(E)operator(()ident(n)operator(\)) operator(=) ident(E)operator(()ident(o)operator(\)) operator(=) ident(E)operator(()ident(p)operator(\)) operator(=) ident(E)operator(()ident(q)operator(\)) operator(=) ident(E)operator(()ident(r)operator(\)) operator(=) ident(E)operator(()ident(s)operator(\)) operator(=) ident(E)operator(()ident(t)operator(\)) operator(=) integer(0)operator(;) ident(E)operator(()ident(a)operator(\)) operator(=) ident(E)operator(()ident(b)operator(\)) operator(=) ident(E)operator(()ident(c)operator(\)) operator(=) ident(E)operator(()ident(d)operator(\)) operator(=) ident(E)operator(()ident(e)operator(\)) operator(=) ident(E)operator(()ident(f)operator(\)) operator(=) ident(E)operator(()ident(g)operator(\)) operator(=) ident(E)operator(()ident(h)operator(\)) operator(=) ident(E)operator(()ident(i)operator(\)) operator(=) ident(E)operator(()ident(j)operator(\)) operator(=) ident(E)operator(()ident(k)operator(\)) operator(=) ident(E)operator(()ident(l)operator(\)) operator(=) ident(E)operator(()ident(m)operator(\)) operator(=) ident(E)operator(()ident(n)operator(\)) operator(=) ident(E)operator(()ident(o)operator(\)) operator(=) ident(E)operator(()ident(p)operator(\)) operator(=) ident(E)operator(()ident(q)operator(\)) operator(=) ident(E)operator(()ident(r)operator(\)) operator(=) ident(E)operator(()ident(s)operator(\)) operator(=) ident(E)operator(()ident(t)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(curr_bsp) operator(<) ident(th)operator(->)ident(bstr_pos)operator(+)ident(th)operator(->)ident(bstr_len)operator(\)) operator({) ident(register_stack_extend)operator(()ident(th)operator(,) ident(exit)operator(,) operator(()ident(VALUE)operator(*\))ident(rb_ia64_bsp)operator((\)\);) operator(}) ident(stack_extend)operator(()ident(th)operator(,) ident(exit)operator(\);) operator(}) preprocessor(#undef) ident(C) preprocessor(#undef) ident(E) preprocessor(#endif) directive(static) directive(void) ident(stack_extend)operator(()ident(rb_thread_t) ident(th)operator(,) pre_type(int) ident(exit)operator(\)) operator({) preprocessor(#define) ident(STACK_PAD_SIZE) integer(1024) directive(volatile) ident(VALUE) ident(space)operator([)ident(STACK_PAD_SIZE)operator(],) operator(*)ident(sp) operator(=) ident(space)operator(;) preprocessor(#if) operator(!)ident(STACK_GROW_DIRECTION) reserved(if) operator(()ident(space) operator(<) ident(rb_gc_stack_start)operator(\)) operator({) comment(/* Stack grows downward */) preprocessor(#endif) preprocessor(#if) ident(STACK_GROW_DIRECTION) operator(<=) integer(0) reserved(if) operator(()ident(space) operator(>) ident(th)operator(->)ident(stk_pos)operator(\)) operator({) preprocessor(# ifdef) ident(HAVE_ALLOCA) ident(sp) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) operator(&)ident(space)operator([)integer(0)operator(]) operator(-) ident(th)operator(->)ident(stk_pos)operator(\);) preprocessor(# else) ident(stack_extend)operator(()ident(th)operator(,) ident(exit)operator(\);) preprocessor(# endif) operator(}) preprocessor(#endif) preprocessor(#if) operator(!)ident(STACK_GROW_DIRECTION) operator(}) reserved(else) operator({) comment(/* Stack grows upward */) preprocessor(#endif) preprocessor(#if) ident(STACK_GROW_DIRECTION) operator(>=) integer(0) reserved(if) operator((&)ident(space)operator([)ident(STACK_PAD_SIZE)operator(]) operator(<) ident(th)operator(->)ident(stk_pos) operator(+) ident(th)operator(->)ident(stk_len)operator(\)) operator({) preprocessor(# ifdef) ident(HAVE_ALLOCA) ident(sp) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(th)operator(->)ident(stk_pos) operator(+) ident(th)operator(->)ident(stk_len) operator(-) operator(&)ident(space)operator([)ident(STACK_PAD_SIZE)operator(]\);) preprocessor(# else) ident(stack_extend)operator(()ident(th)operator(,) ident(exit)operator(\);) preprocessor(# endif) operator(}) preprocessor(#endif) preprocessor(#if) operator(!)ident(STACK_GROW_DIRECTION) operator(}) preprocessor(#endif) ident(rb_thread_restore_context_0)operator(()ident(th)operator(,) ident(exit)operator(\);) operator(}) preprocessor(#ifdef) ident(__ia64) preprocessor(#define) ident(stack_extend)operator(()ident(th)operator(,) ident(exit)operator(\)) ident(register_stack_extend)operator(()ident(th)operator(,) ident(exit)operator(,) operator(()ident(VALUE)operator(*\))ident(rb_ia64_bsp)operator((\)\)) preprocessor(#endif) directive(static) directive(void) ident(rb_thread_restore_context)operator(()ident(th)operator(,) ident(exit)operator(\)) ident(rb_thread_t) ident(th)operator(;) pre_type(int) ident(exit)operator(;) operator({) reserved(if) operator((!)ident(th)operator(->)ident(stk_ptr)operator(\)) ident(rb_bug)operator(()stringoperator(\);) ident(stack_extend)operator(()ident(th)operator(,) ident(exit)operator(\);) operator(}) directive(static) directive(void) ident(rb_thread_ready)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) ident(th)operator(->)ident(wait_for) operator(=) integer(0)operator(;) reserved(if) operator(()ident(th)operator(->)ident(status) operator(!=) ident(THREAD_TO_KILL)operator(\)) operator({) ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) operator(}) operator(}) directive(static) directive(void) ident(rb_thread_die)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) ident(th)operator(->)ident(thgroup) operator(=) integer(0)operator(;) ident(th)operator(->)ident(status) operator(=) ident(THREAD_KILLED)operator(;) ident(stack_free)operator(()ident(th)operator(\);) operator(}) directive(static) directive(void) ident(rb_thread_remove)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) reserved(return)operator(;) ident(rb_thread_ready)operator(()ident(th)operator(\);) ident(rb_thread_die)operator(()ident(th)operator(\);) ident(th)operator(->)ident(prev)operator(->)ident(next) operator(=) ident(th)operator(->)ident(next)operator(;) ident(th)operator(->)ident(next)operator(->)ident(prev) operator(=) ident(th)operator(->)ident(prev)operator(;) operator(}) directive(static) pre_type(int) ident(rb_thread_dead)operator(()ident(th)operator(\)) ident(rb_thread_t) ident(th)operator(;) operator({) reserved(return) ident(th)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(;) operator(}) directive(void) ident(rb_thread_fd_close)operator(()ident(fd)operator(\)) pre_type(int) ident(fd)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) ident(FOREACH_THREAD)operator(()ident(th)operator(\)) operator({) reserved(if) operator(((()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_FD)operator(\)) operator(&&) ident(fd) operator(==) ident(th)operator(->)ident(fd)operator(\)) operator(||) operator((()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_SELECT)operator(\)) operator(&&) operator(()ident(fd) operator(<) ident(th)operator(->)ident(fd)operator(\)) operator(&&) operator(()ident(FD_ISSET)operator(()ident(fd)operator(,) operator(&)ident(th)operator(->)ident(readfds)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(fd)operator(,) operator(&)ident(th)operator(->)ident(writefds)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(fd)operator(,) operator(&)ident(th)operator(->)ident(exceptfds)operator(\)\)\)\)) operator({) ident(VALUE) ident(exc) operator(=) ident(rb_exc_new2)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) ident(rb_thread_raise)operator(()integer(1)operator(,) operator(&)ident(exc)operator(,) ident(th)operator(\);) operator(}) operator(}) ident(END_FOREACH)operator(()ident(th)operator(\);) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(rb_thread_main_jump) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\)\);) directive(static) directive(void) ident(rb_thread_main_jump)operator(()ident(err)operator(,) ident(tag)operator(\)) ident(VALUE) ident(err)operator(;) pre_type(int) ident(tag)operator(;) operator({) ident(curr_thread) operator(=) ident(main_thread)operator(;) ident(th_raise_exception) operator(=) ident(err)operator(;) ident(th_raise_node) operator(=) ident(ruby_current_node)operator(;) ident(rb_thread_restore_context)operator(()ident(main_thread)operator(,) ident(tag)operator(\);) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(rb_thread_deadlock) ident(_)operator((()directive(void)operator(\)\)\);) directive(static) directive(void) ident(rb_thread_deadlock)operator((\)) operator({) pre_type(char) ident(msg)operator([)integer(21)operator(+)ident(SIZEOF_LONG)operator(*)integer(2)operator(];) ident(VALUE) ident(e)operator(;) ident(sprintf)operator(()ident(msg)operator(,) stringoperator(,) ident(curr_thread)operator(->)ident(thread)operator(\);) ident(e) operator(=) ident(rb_exc_new2)operator(()ident(rb_eFatal)operator(,) ident(msg)operator(\);) reserved(if) operator(()ident(curr_thread) operator(==) ident(main_thread)operator(\)) operator({) ident(rb_exc_raise)operator(()ident(e)operator(\);) operator(}) ident(rb_thread_main_jump)operator(()ident(e)operator(,) ident(RESTORE_RAISE)operator(\);) operator(}) directive(static) directive(void) ident(copy_fds)operator(()ident(dst)operator(,) ident(src)operator(,) ident(max)operator(\)) ident(fd_set) operator(*)ident(dst)operator(,) operator(*)ident(src)operator(;) pre_type(int) ident(max)operator(;) operator({) pre_type(int) ident(n) operator(=) integer(0)operator(;) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<=)ident(max)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(FD_ISSET)operator(()ident(i)operator(,) ident(src)operator(\)\)) operator({) ident(n) operator(=) ident(i)operator(;) ident(FD_SET)operator(()ident(i)operator(,) ident(dst)operator(\);) operator(}) operator(}) operator(}) directive(static) pre_type(int) ident(match_fds)operator(()ident(dst)operator(,) ident(src)operator(,) ident(max)operator(\)) ident(fd_set) operator(*)ident(dst)operator(,) operator(*)ident(src)operator(;) pre_type(int) ident(max)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<=)ident(max)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(FD_ISSET)operator(()ident(i)operator(,) ident(src)operator(\)) operator(&&) ident(FD_ISSET)operator(()ident(i)operator(,) ident(dst)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(intersect_fds)operator(()ident(src)operator(,) ident(dst)operator(,) ident(max)operator(\)) ident(fd_set) operator(*)ident(src)operator(,) operator(*)ident(dst)operator(;) pre_type(int) ident(max)operator(;) operator({) pre_type(int) ident(i)operator(,) ident(n) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<=)ident(max)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(FD_ISSET)operator(()ident(i)operator(,) ident(dst)operator(\)\)) operator({) reserved(if) operator(()ident(FD_ISSET)operator(()ident(i)operator(,) ident(src)operator(\)\)) operator({) comment(/* Wake up only one thread per fd. */) ident(FD_CLR)operator(()ident(i)operator(,) ident(src)operator(\);) ident(n)operator(++;) operator(}) reserved(else) operator({) ident(FD_CLR)operator(()ident(i)operator(,) ident(dst)operator(\);) operator(}) operator(}) operator(}) reserved(return) ident(n)operator(;) operator(}) directive(static) pre_type(int) ident(find_bad_fds)operator(()ident(dst)operator(,) ident(src)operator(,) ident(max)operator(\)) ident(fd_set) operator(*)ident(dst)operator(,) operator(*)ident(src)operator(;) pre_type(int) ident(max)operator(;) operator({) pre_type(int) ident(i)operator(,) ident(test) operator(=) ident(Qfalse)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<=)ident(max)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(FD_ISSET)operator(()ident(i)operator(,) ident(src)operator(\)) operator(&&) operator(!)ident(FD_ISSET)operator(()ident(i)operator(,) ident(dst)operator(\)\)) operator({) ident(FD_CLR)operator(()ident(i)operator(,) ident(src)operator(\);) ident(test) operator(=) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(test)operator(;) operator(}) directive(void) ident(rb_thread_schedule)operator((\)) operator({) ident(rb_thread_t) ident(next)operator(;) comment(/* OK */) ident(rb_thread_t) ident(th)operator(;) ident(rb_thread_t) ident(curr)operator(;) ident(rb_thread_t) ident(th_found) operator(=) integer(0)operator(;) pre_type(int) ident(found) operator(=) integer(0)operator(;) ident(fd_set) ident(readfds)operator(;) ident(fd_set) ident(writefds)operator(;) ident(fd_set) ident(exceptfds)operator(;) reserved(struct) ident(timeval) ident(delay_tv)operator(,) operator(*)ident(delay_ptr)operator(;) pre_type(double) ident(delay)operator(,) ident(now)operator(;) comment(/* OK */) pre_type(int) ident(n)operator(,) ident(max)operator(;) pre_type(int) ident(need_select) operator(=) integer(0)operator(;) pre_type(int) ident(select_timeout) operator(=) integer(0)operator(;) preprocessor(#ifdef) ident(HAVE_NATIVETHREAD) reserved(if) operator((!)ident(is_ruby_native_thread)operator((\)\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) preprocessor(#endif) ident(rb_thread_pending) operator(=) integer(0)operator(;) ident(rb_gc_finalize_deferred)operator((\);) reserved(if) operator(()ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next) operator(&&) ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_RUNNABLE)operator(\)) reserved(return)operator(;) ident(next) operator(=) integer(0)operator(;) ident(curr) operator(=) ident(curr_thread)operator(;) comment(/* starting thread */) reserved(while) operator(()ident(curr)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) operator({) ident(curr) operator(=) ident(curr)operator(->)ident(prev)operator(;) operator(}) label(again:) ident(max) operator(=) operator(-)integer(1)operator(;) ident(FD_ZERO)operator((&)ident(readfds)operator(\);) ident(FD_ZERO)operator((&)ident(writefds)operator(\);) ident(FD_ZERO)operator((&)ident(exceptfds)operator(\);) ident(delay) operator(=) ident(DELAY_INFTY)operator(;) ident(now) operator(=) operator(-)float(1)float(.0)operator(;) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator((!)ident(found) operator(&&) ident(th)operator(->)ident(status) operator(<=) ident(THREAD_RUNNABLE)operator(\)) operator({) ident(found) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(th)operator(->)ident(status) operator(!=) ident(THREAD_STOPPED)operator(\)) reserved(continue)operator(;) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_JOIN)operator(\)) operator({) reserved(if) operator(()ident(rb_thread_dead)operator(()ident(th)operator(->)ident(join)operator(\)\)) operator({) ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(found) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_FD)operator(\)) operator({) ident(FD_SET)operator(()ident(th)operator(->)ident(fd)operator(,) operator(&)ident(readfds)operator(\);) reserved(if) operator(()ident(max) operator(<) ident(th)operator(->)ident(fd)operator(\)) ident(max) operator(=) ident(th)operator(->)ident(fd)operator(;) ident(need_select) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_SELECT)operator(\)) operator({) ident(copy_fds)operator((&)ident(readfds)operator(,) operator(&)ident(th)operator(->)ident(readfds)operator(,) ident(th)operator(->)ident(fd)operator(\);) ident(copy_fds)operator((&)ident(writefds)operator(,) operator(&)ident(th)operator(->)ident(writefds)operator(,) ident(th)operator(->)ident(fd)operator(\);) ident(copy_fds)operator((&)ident(exceptfds)operator(,) operator(&)ident(th)operator(->)ident(exceptfds)operator(,) ident(th)operator(->)ident(fd)operator(\);) reserved(if) operator(()ident(max) operator(<) ident(th)operator(->)ident(fd)operator(\)) ident(max) operator(=) ident(th)operator(->)ident(fd)operator(;) ident(need_select) operator(=) integer(1)operator(;) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_TIME)operator(\)) operator({) ident(select_timeout) operator(=) integer(1)operator(;) operator(}) ident(th)operator(->)ident(select_value) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_TIME)operator(\)) operator({) pre_type(double) ident(th_delay)operator(;) reserved(if) operator(()ident(now) operator(<) float(0)float(.0)operator(\)) ident(now) operator(=) ident(timeofday)operator((\);) ident(th_delay) operator(=) ident(th)operator(->)ident(delay) operator(-) ident(now)operator(;) reserved(if) operator(()ident(th_delay) operator(<=) float(0)float(.0)operator(\)) operator({) ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(found) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(th_delay) operator(<) ident(delay)operator(\)) operator({) ident(delay) operator(=) ident(th_delay)operator(;) ident(need_select) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(th)operator(->)ident(delay) operator(==) ident(DELAY_INFTY)operator(\)) operator({) ident(need_select) operator(=) integer(1)operator(;) operator(}) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) comment(/* Do the select if needed */) reserved(if) operator(()ident(need_select)operator(\)) operator({) comment(/* Convert delay to a timeval */) comment(/* If a thread is runnable, just poll */) reserved(if) operator(()ident(found)operator(\)) operator({) ident(delay_tv)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(delay_tv)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) ident(delay_ptr) operator(=) operator(&)ident(delay_tv)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(delay) operator(==) ident(DELAY_INFTY)operator(\)) operator({) ident(delay_ptr) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(delay_tv)operator(.)ident(tv_sec) operator(=) ident(delay)operator(;) ident(delay_tv)operator(.)ident(tv_usec) operator(=) operator(()ident(delay) operator(-) operator(()pre_type(double)operator(\))ident(delay_tv)operator(.)ident(tv_sec)operator(\)*)float(1)ident(e6)operator(;) ident(delay_ptr) operator(=) operator(&)ident(delay_tv)operator(;) operator(}) ident(n) operator(=) ident(select)operator(()ident(max)operator(+)integer(1)operator(,) operator(&)ident(readfds)operator(,) operator(&)ident(writefds)operator(,) operator(&)ident(exceptfds)operator(,) ident(delay_ptr)operator(\);) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) pre_type(int) ident(e) operator(=) ident(errno)operator(;) reserved(if) operator(()ident(rb_trap_pending)operator(\)) ident(rb_trap_exec)operator((\);) reserved(if) operator(()ident(e) operator(==) ident(EINTR)operator(\)) reserved(goto) ident(again)operator(;) preprocessor(#ifdef) ident(ERESTART) reserved(if) operator(()ident(e) operator(==) ident(ERESTART)operator(\)) reserved(goto) ident(again)operator(;) preprocessor(#endif) reserved(if) operator(()ident(e) operator(==) ident(EBADF)operator(\)) operator({) pre_type(int) ident(badfd) operator(=) operator(-)integer(1)operator(;) pre_type(int) ident(fd)operator(;) pre_type(int) ident(dummy)operator(;) reserved(for) operator(()ident(fd) operator(=) integer(0)operator(;) ident(fd) operator(<=) ident(max)operator(;) ident(fd)operator(++\)) operator({) reserved(if) operator((()ident(FD_ISSET)operator(()ident(fd)operator(,) operator(&)ident(readfds)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(fd)operator(,) operator(&)ident(writefds)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(fd)operator(,) operator(&)ident(exceptfds)operator(\)\)) operator(&&) ident(fcntl)operator(()ident(fd)operator(,) ident(F_GETFD)operator(,) operator(&)ident(dummy)operator(\)) operator(==) operator(-)integer(1) operator(&&) ident(errno) operator(==) ident(EBADF)operator(\)) operator({) ident(badfd) operator(=) ident(fd)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(badfd) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_FD)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(fd) operator(==) ident(badfd)operator(\)) operator({) ident(found) operator(=) integer(1)operator(;) ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(th)operator(->)ident(fd) operator(=) integer(0)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_SELECT)operator(\)) operator({) reserved(if) operator(()ident(FD_ISSET)operator(()ident(badfd)operator(,) operator(&)ident(th)operator(->)ident(readfds)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(badfd)operator(,) operator(&)ident(th)operator(->)ident(writefds)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(badfd)operator(,) operator(&)ident(th)operator(->)ident(exceptfds)operator(\)\)) operator({) ident(found) operator(=) integer(1)operator(;) ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(th)operator(->)ident(select_value) operator(=) operator(-)ident(EBADF)operator(;) reserved(break)operator(;) operator(}) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_SELECT)operator(\)) operator({) pre_type(int) ident(v) operator(=) integer(0)operator(;) ident(v) operator(|=) ident(find_bad_fds)operator((&)ident(readfds)operator(,) operator(&)ident(th)operator(->)ident(readfds)operator(,) ident(th)operator(->)ident(fd)operator(\);) ident(v) operator(|=) ident(find_bad_fds)operator((&)ident(writefds)operator(,) operator(&)ident(th)operator(->)ident(writefds)operator(,) ident(th)operator(->)ident(fd)operator(\);) ident(v) operator(|=) ident(find_bad_fds)operator((&)ident(exceptfds)operator(,) operator(&)ident(th)operator(->)ident(exceptfds)operator(,) ident(th)operator(->)ident(fd)operator(\);) reserved(if) operator(()ident(v)operator(\)) operator({) ident(th)operator(->)ident(select_value) operator(=) ident(n)operator(;) ident(n) operator(=) ident(max)operator(;) operator(}) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(select_timeout) operator(&&) ident(n) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(now) operator(<) float(0)float(.0)operator(\)) ident(now) operator(=) ident(timeofday)operator((\);) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator(((()ident(th)operator(->)ident(wait_for)operator(&()ident(WAIT_SELECT)operator(|)ident(WAIT_TIME)operator(\)\)) operator(==) operator(()ident(WAIT_SELECT)operator(|)ident(WAIT_TIME)operator(\)\)) operator(&&) ident(th)operator(->)ident(delay) operator(<=) ident(now)operator(\)) operator({) ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(th)operator(->)ident(wait_for) operator(=) integer(0)operator(;) ident(th)operator(->)ident(select_value) operator(=) integer(0)operator(;) ident(found) operator(=) integer(1)operator(;) ident(intersect_fds)operator((&)ident(readfds)operator(,) operator(&)ident(th)operator(->)ident(readfds)operator(,) ident(max)operator(\);) ident(intersect_fds)operator((&)ident(writefds)operator(,) operator(&)ident(th)operator(->)ident(writefds)operator(,) ident(max)operator(\);) ident(intersect_fds)operator((&)ident(exceptfds)operator(,) operator(&)ident(th)operator(->)ident(exceptfds)operator(,) ident(max)operator(\);) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) operator(}) reserved(if) operator(()ident(n) operator(>) integer(0)operator(\)) operator({) ident(now) operator(=) operator(-)float(1)float(.0)operator(;) comment(/* Some descriptors are ready. * Choose a thread which may run next. * Don't change the status of threads which don't run next. */) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator((()ident(th)operator(->)ident(wait_for)operator(&)ident(WAIT_FD)operator(\)) operator(&&) ident(FD_ISSET)operator(()ident(th)operator(->)ident(fd)operator(,) operator(&)ident(readfds)operator(\)\)) operator({) ident(th_found) operator(=) ident(th)operator(;) ident(found) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((()ident(th)operator(->)ident(wait_for)operator(&)ident(WAIT_SELECT)operator(\)) operator(&&) operator(()ident(match_fds)operator((&)ident(readfds)operator(,) operator(&)ident(th)operator(->)ident(readfds)operator(,) ident(max)operator(\)) operator(||) ident(match_fds)operator((&)ident(writefds)operator(,) operator(&)ident(th)operator(->)ident(writefds)operator(,) ident(max)operator(\)) operator(||) ident(match_fds)operator((&)ident(exceptfds)operator(,) operator(&)ident(th)operator(->)ident(exceptfds)operator(,) ident(max)operator(\)\)\)) operator({) ident(th_found) operator(=) ident(th)operator(;) ident(found) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) operator(}) comment(/* The delays for some of the threads should have expired. Go through the loop once more, to check the delays. */) reserved(if) operator((!)ident(found) operator(&&) ident(delay) operator(!=) ident(DELAY_INFTY)operator(\)) reserved(goto) ident(again)operator(;) operator(}) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) operator({) ident(next) operator(=) ident(th)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((()ident(th)operator(->)ident(status) operator(==) ident(THREAD_RUNNABLE) operator(||) ident(th) operator(==) ident(th_found)operator(\)) operator(&&) ident(th)operator(->)ident(stk_ptr)operator(\)) operator({) reserved(if) operator((!)ident(next) operator(||) ident(next)operator(->)ident(priority) operator(<) ident(th)operator(->)ident(priority)operator(\)) operator({) reserved(if) operator(()ident(th) operator(==) ident(th_found)operator(\)) operator({) ident(th_found)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(th_found)operator(->)ident(wait_for) operator(=) integer(0)operator(;) reserved(if) operator(()ident(th)operator(->)ident(wait_for)operator(&)ident(WAIT_FD)operator(\)) operator({) ident(th_found)operator(->)ident(fd) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) comment(/* th->wait_for&WAIT_SELECT */) ident(n) operator(=) ident(intersect_fds)operator((&)ident(readfds)operator(,) operator(&)ident(th_found)operator(->)ident(readfds)operator(,) ident(max)operator(\)) operator(+) ident(intersect_fds)operator((&)ident(writefds)operator(,) operator(&)ident(th_found)operator(->)ident(writefds)operator(,) ident(max)operator(\)) operator(+) ident(intersect_fds)operator((&)ident(exceptfds)operator(,) operator(&)ident(th_found)operator(->)ident(exceptfds)operator(,) ident(max)operator(\);) ident(th_found)operator(->)ident(select_value) operator(=) ident(n)operator(;) operator(}) operator(}) ident(next) operator(=) ident(th)operator(;) operator(}) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) reserved(if) operator((!)ident(next)operator(\)) operator({) comment(/* raise fatal error to main thread */) ident(curr_thread)operator(->)ident(node) operator(=) ident(ruby_current_node)operator(;) reserved(if) operator(()ident(curr)operator(->)ident(next) operator(==) ident(curr)operator(\)) operator({) ident(TRAP_BEG)operator(;) ident(pause)operator((\);) ident(TRAP_END)operator(;) operator(}) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) ident(warn_printf)operator(()stringoperator(,) ident(th)operator(->)ident(thread)operator(,) ident(thread_status_name)operator(()ident(th)operator(->)ident(status)operator(\)\);) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_FD)operator(\)) ident(warn_printf)operator(()stringoperator(,) ident(th)operator(->)ident(fd)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_SELECT)operator(\)) ident(warn_printf)operator(()stringoperator(\);) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_TIME)operator(\)) ident(warn_printf)operator(()stringoperator(,) ident(th)operator(->)ident(delay)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_JOIN)operator(\)) ident(warn_printf)operator(()stringoperator(,) ident(th)operator(->)ident(join) operator(?) ident(th)operator(->)ident(join)operator(->)ident(thread) operator(:) integer(0)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_PID)operator(\)) ident(warn_printf)operator(()stringoperator(\);) reserved(if) operator((!)ident(th)operator(->)ident(wait_for)operator(\)) ident(warn_printf)operator(()stringoperator(\);) ident(warn_printf)operator(()stringoperator(,) ident(th)operator(==)ident(main_thread) operator(?) string operator(:) stringoperator(,) ident(th)operator(->)ident(node)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(th)operator(->)ident(node)operator(\)\);) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) ident(next) operator(=) ident(main_thread)operator(;) ident(rb_thread_ready)operator(()ident(next)operator(\);) ident(next)operator(->)ident(status) operator(=) ident(THREAD_TO_KILL)operator(;) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(curr_thread)operator(\)\)) operator({) ident(rb_thread_save_context)operator(()ident(curr_thread)operator(\);) operator(}) ident(rb_thread_deadlock)operator((\);) operator(}) ident(next)operator(->)ident(wait_for) operator(=) integer(0)operator(;) reserved(if) operator(()ident(next)operator(->)ident(status) operator(==) ident(THREAD_RUNNABLE) operator(&&) ident(next) operator(==) ident(curr_thread)operator(\)) operator({) reserved(return)operator(;) operator(}) comment(/* context switch */) reserved(if) operator(()ident(curr) operator(==) ident(curr_thread)operator(\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr)operator(\)\)) operator({) reserved(return)operator(;) operator(}) operator(}) ident(curr_thread) operator(=) ident(next)operator(;) reserved(if) operator(()ident(next)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) operator({) reserved(if) operator((!()ident(next)operator(->)ident(flags) operator(&) ident(THREAD_TERMINATING)operator(\)\)) operator({) ident(next)operator(->)ident(flags) operator(|=) ident(THREAD_TERMINATING)operator(;) comment(/* terminate; execute ensure-clause if any */) ident(rb_thread_restore_context)operator(()ident(next)operator(,) ident(RESTORE_FATAL)operator(\);) operator(}) operator(}) ident(rb_thread_restore_context)operator(()ident(next)operator(,) ident(RESTORE_NORMAL)operator(\);) operator(}) directive(void) ident(rb_thread_wait_fd)operator(()ident(fd)operator(\)) pre_type(int) ident(fd)operator(;) operator({) reserved(if) operator(()ident(rb_thread_critical)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(ruby_in_compile)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) reserved(return)operator(;) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(curr_thread)operator(->)ident(fd) operator(=) ident(fd)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_FD)operator(;) ident(rb_thread_schedule)operator((\);) operator(}) pre_type(int) ident(rb_thread_fd_writable)operator(()ident(fd)operator(\)) pre_type(int) ident(fd)operator(;) operator({) reserved(if) operator(()ident(rb_thread_critical)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(FD_ZERO)operator((&)ident(curr_thread)operator(->)ident(readfds)operator(\);) ident(FD_ZERO)operator((&)ident(curr_thread)operator(->)ident(writefds)operator(\);) ident(FD_SET)operator(()ident(fd)operator(,) operator(&)ident(curr_thread)operator(->)ident(writefds)operator(\);) ident(FD_ZERO)operator((&)ident(curr_thread)operator(->)ident(exceptfds)operator(\);) ident(curr_thread)operator(->)ident(fd) operator(=) ident(fd)operator(+)integer(1)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_SELECT)operator(;) ident(rb_thread_schedule)operator((\);) reserved(return) ident(Qfalse)operator(;) operator(}) directive(void) ident(rb_thread_wait_for)operator(()ident(time)operator(\)) reserved(struct) ident(timeval) ident(time)operator(;) operator({) pre_type(double) ident(date)operator(;) reserved(if) operator(()ident(rb_thread_critical) operator(||) ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next) operator(||) ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) operator({) pre_type(int) ident(n)operator(;) pre_type(int) ident(thr_critical) operator(=) ident(rb_thread_critical)operator(;) preprocessor(#ifndef) ident(linux) pre_type(double) ident(d)operator(,) ident(limit)operator(;) ident(limit) operator(=) ident(timeofday)operator((\)+()pre_type(double)operator(\))ident(time)operator(.)ident(tv_sec)operator(+()pre_type(double)operator(\))ident(time)operator(.)ident(tv_usec)operator(*)float(1)ident(e)operator(-)integer(6)operator(;) preprocessor(#endif) reserved(for) operator((;;\)) operator({) ident(rb_thread_critical) operator(=) ident(Qtrue)operator(;) ident(TRAP_BEG)operator(;) ident(n) operator(=) ident(select)operator(()integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(&)ident(time)operator(\);) ident(rb_thread_critical) operator(=) ident(thr_critical)operator(;) ident(TRAP_END)operator(;) reserved(if) operator(()ident(n) operator(==) integer(0)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EINTR)operator(:) preprocessor(#ifdef) ident(ERESTART) reserved(case) ident(ERESTART)operator(:) preprocessor(#endif) reserved(break)operator(;) reserved(default)operator(:) ident(rb_sys_fail)operator(()stringoperator(\);) operator(}) operator(}) preprocessor(#ifndef) ident(linux) ident(d) operator(=) ident(limit) operator(-) ident(timeofday)operator((\);) ident(time)operator(.)ident(tv_sec) operator(=) operator(()pre_type(int)operator(\))ident(d)operator(;) ident(time)operator(.)ident(tv_usec) operator(=) operator(()pre_type(int)operator(\)(()ident(d) operator(-) operator(()pre_type(int)operator(\))ident(d)operator(\)*)float(1)ident(e6)operator(\);) reserved(if) operator(()ident(time)operator(.)ident(tv_usec) operator(<) integer(0)operator(\)) operator({) ident(time)operator(.)ident(tv_usec) operator(+=) operator(()pre_type(long)operator(\))float(1)ident(e6)operator(;) ident(time)operator(.)ident(tv_sec) operator(-=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(time)operator(.)ident(tv_sec) operator(<) integer(0)operator(\)) reserved(return)operator(;) preprocessor(#endif) operator(}) operator(}) ident(date) operator(=) ident(timeofday)operator((\)) operator(+) operator(()pre_type(double)operator(\))ident(time)operator(.)ident(tv_sec) operator(+) operator(()pre_type(double)operator(\))ident(time)operator(.)ident(tv_usec)operator(*)float(1)ident(e)operator(-)integer(6)operator(;) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(curr_thread)operator(->)ident(delay) operator(=) ident(date)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_TIME)operator(;) ident(rb_thread_schedule)operator((\);) operator(}) directive(void) ident(rb_thread_sleep_forever) ident(_)operator((()directive(void)operator(\)\);) pre_type(int) ident(rb_thread_alone)operator((\)) operator({) reserved(return) ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next)operator(;) operator(}) pre_type(int) ident(rb_thread_select)operator(()ident(max)operator(,) ident(read)operator(,) ident(write)operator(,) ident(except)operator(,) ident(timeout)operator(\)) pre_type(int) ident(max)operator(;) ident(fd_set) operator(*)ident(read)operator(,) operator(*)ident(write)operator(,) operator(*)ident(except)operator(;) reserved(struct) ident(timeval) operator(*)ident(timeout)operator(;) operator({) preprocessor(#ifndef) ident(linux) pre_type(double) ident(limit)operator(;) preprocessor(#endif) pre_type(int) ident(n)operator(;) reserved(if) operator((!)ident(read) operator(&&) operator(!)ident(write) operator(&&) operator(!)ident(except)operator(\)) operator({) reserved(if) operator((!)ident(timeout)operator(\)) operator({) ident(rb_thread_sleep_forever)operator((\);) reserved(return) integer(0)operator(;) operator(}) ident(rb_thread_wait_for)operator((*)ident(timeout)operator(\);) reserved(return) integer(0)operator(;) operator(}) preprocessor(#ifndef) ident(linux) reserved(if) operator(()ident(timeout)operator(\)) operator({) ident(limit) operator(=) ident(timeofday)operator((\)+) operator(()pre_type(double)operator(\))ident(timeout)operator(->)ident(tv_sec)operator(+()pre_type(double)operator(\))ident(timeout)operator(->)ident(tv_usec)operator(*)float(1)ident(e)operator(-)integer(6)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(rb_thread_critical) operator(||) ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next) operator(||) ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) operator({) preprocessor(#ifndef) ident(linux) reserved(struct) ident(timeval) ident(tv)operator(,) operator(*)ident(tvp) operator(=) ident(timeout)operator(;) reserved(if) operator(()ident(timeout)operator(\)) operator({) ident(tv) operator(=) operator(*)ident(timeout)operator(;) ident(tvp) operator(=) operator(&)ident(tv)operator(;) operator(}) preprocessor(#else) reserved(struct) ident(timeval) operator(*)directive(const) ident(tvp) operator(=) ident(timeout)operator(;) preprocessor(#endif) reserved(for) operator((;;\)) operator({) ident(TRAP_BEG)operator(;) ident(n) operator(=) ident(select)operator(()ident(max)operator(,) ident(read)operator(,) ident(write)operator(,) ident(except)operator(,) ident(tvp)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EINTR)operator(:) preprocessor(#ifdef) ident(ERESTART) reserved(case) ident(ERESTART)operator(:) preprocessor(#endif) preprocessor(#ifndef) ident(linux) reserved(if) operator(()ident(timeout)operator(\)) operator({) pre_type(double) ident(d) operator(=) ident(limit) operator(-) ident(timeofday)operator((\);) ident(tv)operator(.)ident(tv_sec) operator(=) operator(()pre_type(unsigned) pre_type(int)operator(\))ident(d)operator(;) ident(tv)operator(.)ident(tv_usec) operator(=) operator(()pre_type(long)operator(\)(()ident(d)operator(-()pre_type(double)operator(\))ident(tv)operator(.)ident(tv_sec)operator(\)*)float(1)ident(e6)operator(\);) reserved(if) operator(()ident(tv)operator(.)ident(tv_sec) operator(<) integer(0)operator(\)) ident(tv)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) reserved(if) operator(()ident(tv)operator(.)ident(tv_usec) operator(<) integer(0)operator(\)) ident(tv)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) reserved(continue)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) reserved(return) ident(n)operator(;) operator(}) operator(}) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) reserved(if) operator(()ident(read)operator(\)) ident(curr_thread)operator(->)ident(readfds) operator(=) operator(*)ident(read)operator(;) reserved(else) ident(FD_ZERO)operator((&)ident(curr_thread)operator(->)ident(readfds)operator(\);) reserved(if) operator(()ident(write)operator(\)) ident(curr_thread)operator(->)ident(writefds) operator(=) operator(*)ident(write)operator(;) reserved(else) ident(FD_ZERO)operator((&)ident(curr_thread)operator(->)ident(writefds)operator(\);) reserved(if) operator(()ident(except)operator(\)) ident(curr_thread)operator(->)ident(exceptfds) operator(=) operator(*)ident(except)operator(;) reserved(else) ident(FD_ZERO)operator((&)ident(curr_thread)operator(->)ident(exceptfds)operator(\);) ident(curr_thread)operator(->)ident(fd) operator(=) ident(max)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_SELECT)operator(;) reserved(if) operator(()ident(timeout)operator(\)) operator({) ident(curr_thread)operator(->)ident(delay) operator(=) ident(timeofday)operator((\)) operator(+) operator(()pre_type(double)operator(\))ident(timeout)operator(->)ident(tv_sec) operator(+) operator(()pre_type(double)operator(\))ident(timeout)operator(->)ident(tv_usec)operator(*)float(1)ident(e)operator(-)integer(6)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(|=) ident(WAIT_TIME)operator(;) operator(}) ident(rb_thread_schedule)operator((\);) reserved(if) operator(()ident(read)operator(\)) operator(*)ident(read) operator(=) ident(curr_thread)operator(->)ident(readfds)operator(;) reserved(if) operator(()ident(write)operator(\)) operator(*)ident(write) operator(=) ident(curr_thread)operator(->)ident(writefds)operator(;) reserved(if) operator(()ident(except)operator(\)) operator(*)ident(except) operator(=) ident(curr_thread)operator(->)ident(exceptfds)operator(;) reserved(if) operator(()ident(curr_thread)operator(->)ident(select_value) operator(<) integer(0)operator(\)) operator({) ident(errno) operator(=) operator(-)ident(curr_thread)operator(->)ident(select_value)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(return) ident(curr_thread)operator(->)ident(select_value)operator(;) operator(}) directive(static) pre_type(int) ident(rb_thread_join0) ident(_)operator((()ident(rb_thread_t)operator(,) pre_type(double)operator(\)\);) pre_type(int) ident(rb_thread_join) ident(_)operator((()ident(VALUE)operator(,) pre_type(double)operator(\)\);) directive(static) pre_type(int) ident(rb_thread_join0)operator(()ident(th)operator(,) ident(limit)operator(\)) ident(rb_thread_t) ident(th)operator(;) pre_type(double) ident(limit)operator(;) operator({) reserved(enum) ident(rb_thread_status) ident(last_status) operator(=) ident(THREAD_RUNNABLE)operator(;) reserved(if) operator(()ident(rb_thread_critical)operator(\)) ident(rb_thread_deadlock)operator((\);) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(th)operator(\)\)) operator({) reserved(if) operator(()ident(th) operator(==) ident(curr_thread)operator(\)) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(,) ident(th)operator(->)ident(thread)operator(\);) reserved(if) operator((()ident(th)operator(->)ident(wait_for) operator(&) ident(WAIT_JOIN)operator(\)) operator(&&) ident(th)operator(->)ident(join) operator(==) ident(curr_thread)operator(\)) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(,) ident(curr_thread)operator(->)ident(thread)operator(,) ident(th)operator(->)ident(thread)operator(\);) reserved(if) operator(()ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) ident(last_status) operator(=) ident(THREAD_TO_KILL)operator(;) reserved(if) operator(()ident(limit) operator(==) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(curr_thread)operator(->)ident(join) operator(=) ident(th)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_JOIN)operator(;) ident(curr_thread)operator(->)ident(delay) operator(=) ident(timeofday)operator((\)) operator(+) ident(limit)operator(;) reserved(if) operator(()ident(limit) operator(<) ident(DELAY_INFTY)operator(\)) ident(curr_thread)operator(->)ident(wait_for) operator(|=) ident(WAIT_TIME)operator(;) ident(rb_thread_schedule)operator((\);) ident(curr_thread)operator(->)ident(status) operator(=) ident(last_status)operator(;) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(th)operator(\)\)) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(th)operator(->)ident(errinfo)operator(\)) operator(&&) operator(()ident(th)operator(->)ident(flags) operator(&) ident(RAISED_EXCEPTION)operator(\)\)) operator({) ident(VALUE) ident(oldbt) operator(=) ident(get_backtrace)operator(()ident(th)operator(->)ident(errinfo)operator(\);) ident(VALUE) ident(errat) operator(=) ident(make_backtrace)operator((\);) ident(VALUE) ident(errinfo) operator(=) ident(rb_obj_dup)operator(()ident(th)operator(->)ident(errinfo)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(oldbt)operator(\)) operator(==) ident(T_ARRAY) operator(&&) ident(RARRAY)operator(()ident(oldbt)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(rb_ary_unshift)operator(()ident(errat)operator(,) ident(rb_ary_entry)operator(()ident(oldbt)operator(,) integer(0)operator(\)\);) operator(}) ident(set_backtrace)operator(()ident(errinfo)operator(,) ident(errat)operator(\);) ident(rb_exc_raise)operator(()ident(errinfo)operator(\);) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) pre_type(int) ident(rb_thread_join)operator(()ident(thread)operator(,) ident(limit)operator(\)) ident(VALUE) ident(thread)operator(;) pre_type(double) ident(limit)operator(;) operator({) reserved(if) operator(()ident(limit) operator(<) integer(0)operator(\)) ident(limit) operator(=) ident(DELAY_INFTY)operator(;) reserved(return) ident(rb_thread_join0)operator(()ident(rb_thread_check)operator(()ident(thread)operator(\),) ident(limit)operator(\);) operator(}) comment(/* * call-seq: * thr.join => thr * thr.join(limit\) => thr * * The calling thread will suspend execution and run thr. Does not * return until thr exits or until limit seconds have passed. If * the time limit expires, nil will be returned, otherwise * thr is returned. * * Any threads not joined will be killed when the main program exits. If * thr had previously raised an exception and the * abort_on_exception and $DEBUG flags are not set * (so the exception has not yet been processed\) it will be processed at this * time. * * a = Thread.new { print "a"; sleep(10\); print "b"; print "c" } * x = Thread.new { print "x"; Thread.pass; print "y"; print "z" } * x.join # Let x thread finish, a will be killed on exit. * * produces: * * axyz * * The following example illustrates the limit parameter. * * y = Thread.new { 4.times { sleep 0.1; puts 'tick... ' }} * puts "Waiting" until y.join(0.15\) * * produces: * * tick... * Waiting * tick... * Waitingtick... * * * tick... */) directive(static) ident(VALUE) ident(rb_thread_join_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(thread)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(thread)operator(;) operator({) ident(VALUE) ident(limit)operator(;) pre_type(double) ident(delay) operator(=) ident(DELAY_INFTY)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(limit)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(limit)operator(\)\)) ident(delay) operator(=) ident(rb_num2dbl)operator(()ident(limit)operator(\);) reserved(if) operator((!)ident(rb_thread_join0)operator(()ident(rb_thread_check)operator(()ident(thread)operator(\),) ident(delay)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(thread)operator(;) operator(}) comment(/* * call-seq: * Thread.current => thread * * Returns the currently executing thread. * * Thread.current #=> # */) ident(VALUE) ident(rb_thread_current)operator((\)) operator({) reserved(return) ident(curr_thread)operator(->)ident(thread)operator(;) operator(}) comment(/* * call-seq: * Thread.main => thread * * Returns the main thread for the process. * * Thread.main #=> # */) ident(VALUE) ident(rb_thread_main)operator((\)) operator({) reserved(return) ident(main_thread)operator(->)ident(thread)operator(;) operator(}) comment(/* * call-seq: * Thread.list => array * * Returns an array of Thread objects for all threads that are * either runnable or stopped. * * Thread.new { sleep(200\) } * Thread.new { 1000000.times {|i| i*i } } * Thread.new { Thread.stop } * Thread.list.each {|t| p t} * * produces: * * # * # * # * # */) ident(VALUE) ident(rb_thread_list)operator((\)) operator({) ident(rb_thread_t) ident(th)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(FOREACH_THREAD)operator(()ident(th)operator(\)) operator({) reserved(switch) operator(()ident(th)operator(->)ident(status)operator(\)) operator({) reserved(case) ident(THREAD_RUNNABLE)operator(:) reserved(case) ident(THREAD_STOPPED)operator(:) reserved(case) ident(THREAD_TO_KILL)operator(:) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(th)operator(->)ident(thread)operator(\);) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) ident(END_FOREACH)operator(()ident(th)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * thr.wakeup => thr * * Marks thr as eligible for scheduling (it may still remain blocked on * I/O, however\). Does not invoke the scheduler (see Thread#run\). * * c = Thread.new { Thread.stop; puts "hey!" } * c.wakeup * * produces: * * hey! */) ident(VALUE) ident(rb_thread_wakeup)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(rb_thread_wakeup_alive)operator(()ident(thread)operator(\)\)\)) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) reserved(return) ident(thread)operator(;) operator(}) ident(VALUE) ident(rb_thread_wakeup_alive)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) reserved(return) ident(Qnil)operator(;) ident(rb_thread_ready)operator(()ident(th)operator(\);) reserved(return) ident(thread)operator(;) operator(}) comment(/* * call-seq: * thr.run => thr * * Wakes up thr, making it eligible for scheduling. If not in a critical * section, then invokes the scheduler. * * a = Thread.new { puts "a"; Thread.stop; puts "c" } * Thread.pass * puts "Got here" * a.run * a.join * * produces: * * a * Got here * c */) ident(VALUE) ident(rb_thread_run)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_wakeup)operator(()ident(thread)operator(\);) reserved(if) operator((!)ident(rb_thread_critical)operator(\)) ident(rb_thread_schedule)operator((\);) reserved(return) ident(thread)operator(;) operator(}) directive(static) directive(void) ident(rb_kill_thread)operator(()ident(th)operator(,) ident(flags)operator(\)) ident(rb_thread_t) ident(th)operator(;) pre_type(int) ident(flags)operator(;) operator({) reserved(if) operator(()ident(th) operator(!=) ident(curr_thread) operator(&&) ident(th)operator(->)ident(safe) operator(<) integer(4)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL) operator(||) ident(th)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(th) operator(==) ident(th)operator(->)ident(next) operator(||) ident(th) operator(==) ident(main_thread)operator(\)) ident(rb_exit)operator(()ident(EXIT_SUCCESS)operator(\);) ident(rb_thread_ready)operator(()ident(th)operator(\);) ident(th)operator(->)ident(flags) operator(|=) ident(flags)operator(;) ident(th)operator(->)ident(status) operator(=) ident(THREAD_TO_KILL)operator(;) reserved(if) operator((!)ident(rb_thread_critical)operator(\)) ident(rb_thread_schedule)operator((\);) operator(}) comment(/* * call-seq: * thr.exit => thr * thr.kill => thr * thr.terminate => thr * * Terminates thr and schedules another thread to be run, returning * the terminated Thread. If this is the main thread, or the * last thread, exits the process. */) ident(VALUE) ident(rb_thread_kill)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) ident(rb_kill_thread)operator(()ident(th)operator(,) integer(0)operator(\);) reserved(return) ident(thread)operator(;) operator(}) comment(/* * call-seq: * thr.exit! => thr * thr.kill! => thr * thr.terminate! => thr * * Terminates thr without calling ensure clauses and schedules * another thread to be run, returning the terminated Thread. * If this is the main thread, or the last thread, exits the process. * * See Thread#exit for the safer version. */) directive(static) ident(VALUE) ident(rb_thread_kill_bang)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) ident(rb_kill_thread)operator(()ident(th)operator(,) ident(THREAD_NO_ENSURE)operator(\);) reserved(return) ident(thread)operator(;) operator(}) comment(/* * call-seq: * Thread.kill(thread\) => thread * * Causes the given thread to exit (see Thread::exit\). * * count = 0 * a = Thread.new { loop { count += 1 } } * sleep(0.1\) #=> 0 * Thread.kill(a\) #=> # * count #=> 93947 * a.alive? #=> false */) directive(static) ident(VALUE) ident(rb_thread_s_kill)operator(()ident(obj)operator(,) ident(th)operator(\)) ident(VALUE) ident(obj)operator(,) ident(th)operator(;) operator({) reserved(return) ident(rb_thread_kill)operator(()ident(th)operator(\);) operator(}) comment(/* * call-seq: * Thread.exit => thread * * Terminates the currently running thread and schedules another thread to be * run. If this thread is already marked to be killed, exit * returns the Thread. If this is the main thread, or the last * thread, exit the process. */) directive(static) ident(VALUE) ident(rb_thread_exit)operator((\)) operator({) reserved(return) ident(rb_thread_kill)operator(()ident(curr_thread)operator(->)ident(thread)operator(\);) operator(}) comment(/* * call-seq: * Thread.pass => nil * * Invokes the thread scheduler to pass execution to another thread. * * a = Thread.new { print "a"; Thread.pass; * print "b"; Thread.pass; * print "c" } * b = Thread.new { print "x"; Thread.pass; * print "y"; Thread.pass; * print "z" } * a.join * b.join * * produces: * * axbycz */) directive(static) ident(VALUE) ident(rb_thread_pass)operator((\)) operator({) ident(rb_thread_schedule)operator((\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Thread.stop => nil * * Stops execution of the current thread, putting it into a ``sleep'' state, * and schedules execution of another thread. Resets the ``critical'' condition * to false. * * a = Thread.new { print "a"; Thread.stop; print "c" } * Thread.pass * print "b" * a.run * a.join * * produces: * * abc */) ident(VALUE) ident(rb_thread_stop)operator((\)) operator({) reserved(enum) ident(rb_thread_status) ident(last_status) operator(=) ident(THREAD_RUNNABLE)operator(;) ident(rb_thread_critical) operator(=) integer(0)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) ident(last_status) operator(=) ident(THREAD_TO_KILL)operator(;) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(rb_thread_schedule)operator((\);) ident(curr_thread)operator(->)ident(status) operator(=) ident(last_status)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) reserved(struct) ident(timeval) ident(rb_time_timeval)operator((\);) directive(void) ident(rb_thread_polling)operator((\)) operator({) reserved(if) operator(()ident(curr_thread) operator(!=) ident(curr_thread)operator(->)ident(next)operator(\)) operator({) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(curr_thread)operator(->)ident(delay) operator(=) ident(timeofday)operator((\)) operator(+) operator(()pre_type(double)operator(\))float(0)float(.06)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_TIME)operator(;) ident(rb_thread_schedule)operator((\);) operator(}) operator(}) directive(void) ident(rb_thread_sleep)operator(()ident(sec)operator(\)) pre_type(int) ident(sec)operator(;) operator({) reserved(if) operator(()ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next)operator(\)) operator({) ident(TRAP_BEG)operator(;) ident(sleep)operator(()ident(sec)operator(\);) ident(TRAP_END)operator(;) reserved(return)operator(;) operator(}) ident(rb_thread_wait_for)operator(()ident(rb_time_timeval)operator(()ident(INT2FIX)operator(()ident(sec)operator(\)\)\);) operator(}) directive(void) ident(rb_thread_sleep_forever)operator((\)) operator({) pre_type(int) ident(thr_critical) operator(=) ident(rb_thread_critical)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(curr_thread)operator(->)ident(next) operator(||) ident(curr_thread)operator(->)ident(status) operator(==) ident(THREAD_TO_KILL)operator(\)) operator({) ident(rb_thread_critical) operator(=) ident(Qtrue)operator(;) ident(TRAP_BEG)operator(;) ident(pause)operator((\);) ident(rb_thread_critical) operator(=) ident(thr_critical)operator(;) ident(TRAP_END)operator(;) reserved(return)operator(;) operator(}) ident(curr_thread)operator(->)ident(delay) operator(=) ident(DELAY_INFTY)operator(;) ident(curr_thread)operator(->)ident(wait_for) operator(=) ident(WAIT_TIME)operator(;) ident(curr_thread)operator(->)ident(status) operator(=) ident(THREAD_STOPPED)operator(;) ident(rb_thread_schedule)operator((\);) operator(}) comment(/* * call-seq: * thr.priority => integer * * Returns the priority of thr. Default is inherited from the * current thread which creating the new thread, or zero for the * initial main thread; higher-priority threads will run before * lower-priority threads. * * Thread.current.priority #=> 0 */) directive(static) ident(VALUE) ident(rb_thread_priority)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) reserved(return) ident(INT2NUM)operator(()ident(rb_thread_check)operator(()ident(thread)operator(\)->)ident(priority)operator(\);) operator(}) comment(/* * call-seq: * thr.priority= integer => thr * * Sets the priority of thr to integer. Higher-priority threads * will run before lower-priority threads. * * count1 = count2 = 0 * a = Thread.new do * loop { count1 += 1 } * end * a.priority = -1 * * b = Thread.new do * loop { count2 += 1 } * end * b.priority = -2 * sleep 1 #=> 1 * Thread.critical = 1 * count1 #=> 622504 * count2 #=> 5832 */) directive(static) ident(VALUE) ident(rb_thread_priority_set)operator(()ident(thread)operator(,) ident(prio)operator(\)) ident(VALUE) ident(thread)operator(,) ident(prio)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) ident(th)operator(->)ident(priority) operator(=) ident(NUM2INT)operator(()ident(prio)operator(\);) ident(rb_thread_schedule)operator((\);) reserved(return) ident(prio)operator(;) operator(}) comment(/* * call-seq: * thr.safe_level => integer * * Returns the safe level in effect for thr. Setting thread-local safe * levels can help when implementing sandboxes which run insecure code. * * thr = Thread.new { $SAFE = 3; sleep } * Thread.current.safe_level #=> 0 * thr.safe_level #=> 3 */) directive(static) ident(VALUE) ident(rb_thread_safe_level)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(th) operator(==) ident(curr_thread)operator(\)) operator({) reserved(return) ident(INT2NUM)operator(()ident(ruby_safe_level)operator(\);) operator(}) reserved(return) ident(INT2NUM)operator(()ident(th)operator(->)ident(safe)operator(\);) operator(}) directive(static) pre_type(int) ident(ruby_thread_abort)operator(;) directive(static) ident(VALUE) ident(thgroup_default)operator(;) comment(/* * call-seq: * Thread.abort_on_exception => true or false * * Returns the status of the global ``abort on exception'' condition. The * default is false. When set to true, or if the * global $DEBUG flag is true (perhaps because the * command line option -d was specified\) all threads will abort * (the process will exit(0\)\) if an exception is raised in any * thread. See also Thread::abort_on_exception=. */) directive(static) ident(VALUE) ident(rb_thread_s_abort_exc)operator((\)) operator({) reserved(return) ident(ruby_thread_abort)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * Thread.abort_on_exception= boolean => true or false * * When set to true, all threads will abort if an exception is * raised. Returns the new state. * * Thread.abort_on_exception = true * t1 = Thread.new do * puts "In new thread" * raise "Exception from thread" * end * sleep(1\) * puts "not reached" * * produces: * * In new thread * prog.rb:4: Exception from thread (RuntimeError\) * from prog.rb:2:in `initialize' * from prog.rb:2:in `new' * from prog.rb:2 */) directive(static) ident(VALUE) ident(rb_thread_s_abort_exc_set)operator(()ident(self)operator(,) ident(val)operator(\)) ident(VALUE) ident(self)operator(,) ident(val)operator(;) operator({) ident(rb_secure)operator(()integer(4)operator(\);) ident(ruby_thread_abort) operator(=) ident(RTEST)operator(()ident(val)operator(\);) reserved(return) ident(val)operator(;) operator(}) comment(/* * call-seq: * thr.abort_on_exception => true or false * * Returns the status of the thread-local ``abort on exception'' condition for * thr. The default is false. See also * Thread::abort_on_exception=. */) directive(static) ident(VALUE) ident(rb_thread_abort_exc)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) reserved(return) ident(rb_thread_check)operator(()ident(thread)operator(\)->)ident(abort)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * thr.abort_on_exception= boolean => true or false * * When set to true, causes all threads (including the main * program\) to abort if an exception is raised in thr. The process will * effectively exit(0\). */) directive(static) ident(VALUE) ident(rb_thread_abort_exc_set)operator(()ident(thread)operator(,) ident(val)operator(\)) ident(VALUE) ident(thread)operator(,) ident(val)operator(;) operator({) ident(rb_secure)operator(()integer(4)operator(\);) ident(rb_thread_check)operator(()ident(thread)operator(\)->)ident(abort) operator(=) ident(RTEST)operator(()ident(val)operator(\);) reserved(return) ident(val)operator(;) operator(}) reserved(enum) ident(rb_thread_status) ident(rb_thread_status)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(return) ident(th)operator(->)ident(status)operator(;) operator(}) comment(/* * call-seq: * thr.group => thgrp or nil * * Returns the ThreadGroup which contains thr, or nil if * the thread is not a member of any group. * * Thread.main.group #=> # */) ident(VALUE) ident(rb_thread_group)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(VALUE) ident(group) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\)->)ident(thgroup)operator(;) reserved(if) operator((!)ident(group)operator(\)) operator({) ident(group) operator(=) ident(Qnil)operator(;) operator(}) reserved(return) ident(group)operator(;) operator(}) preprocessor(#ifdef) ident(__ia64) preprocessor(# define) ident(IA64_INIT)operator(()ident(x)operator(\)) ident(x) preprocessor(#else) preprocessor(# define) ident(IA64_INIT)operator(()ident(x)operator(\)) preprocessor(#endif) preprocessor(#define) ident(THREAD_ALLOC)operator(()ident(th)operator(\)) reserved(do) operator({)\ ident(th) operator(=) ident(ALLOC)operator(()reserved(struct) ident(rb_thread)operator(\);)\ \ ident(th)operator(->)ident(next) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(prev) operator(=) integer(0)operator(;)\ \ ident(th)operator(->)ident(status) operator(=) ident(THREAD_RUNNABLE)operator(;)\ ident(th)operator(->)ident(result) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(flags) operator(=) integer(0)operator(;)\ \ ident(th)operator(->)ident(stk_ptr) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(stk_len) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(stk_max) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(wait_for) operator(=) integer(0)operator(;)\ ident(IA64_INIT)operator(()ident(th)operator(->)ident(bstr_ptr) operator(=) integer(0)operator(\);)\ ident(IA64_INIT)operator(()ident(th)operator(->)ident(bstr_len) operator(=) integer(0)operator(\);)\ ident(IA64_INIT)operator(()ident(th)operator(->)ident(bstr_max) operator(=) integer(0)operator(\);)\ ident(FD_ZERO)operator((&)ident(th)operator(->)ident(readfds)operator(\);)\ ident(FD_ZERO)operator((&)ident(th)operator(->)ident(writefds)operator(\);)\ ident(FD_ZERO)operator((&)ident(th)operator(->)ident(exceptfds)operator(\);)\ ident(th)operator(->)ident(delay) operator(=) float(0)float(.0)operator(;)\ ident(th)operator(->)ident(join) operator(=) integer(0)operator(;)\ \ ident(th)operator(->)ident(frame) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(scope) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(klass) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(wrapper) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(cref) operator(=) ident(ruby_cref)operator(;)\ ident(th)operator(->)ident(dyna_vars) operator(=) ident(ruby_dyna_vars)operator(;)\ ident(th)operator(->)ident(block) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(iter) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(tag) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(tracing) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(errinfo) operator(=) ident(Qnil)operator(;)\ ident(th)operator(->)ident(last_status) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(last_line) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(last_match) operator(=) ident(Qnil)operator(;)\ ident(th)operator(->)ident(abort) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(priority) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(thgroup) operator(=) ident(thgroup_default)operator(;)\ ident(th)operator(->)ident(locals) operator(=) integer(0)operator(;)\ ident(th)operator(->)ident(thread) operator(=) integer(0)operator(;)\ reserved(if) operator(()ident(curr_thread) operator(==) integer(0)operator(\)) operator({)\ ident(th)operator(->)ident(sandbox) operator(=) ident(Qnil)operator(;)\ operator(}) reserved(else) operator({)\ ident(th)operator(->)ident(sandbox) operator(=) ident(curr_thread)operator(->)ident(sandbox)operator(;)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) directive(static) ident(rb_thread_t) ident(rb_thread_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) ident(THREAD_ALLOC)operator(()ident(th)operator(\);) ident(th)operator(->)ident(thread) operator(=) ident(Data_Wrap_Struct)operator(()ident(klass)operator(,) ident(thread_mark)operator(,) ident(thread_free)operator(,) ident(th)operator(\);) reserved(for) operator(()ident(vars) operator(=) ident(th)operator(->)ident(dyna_vars)operator(;) ident(vars)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\)\)) reserved(break)operator(;) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) operator(}) reserved(return) ident(th)operator(;) operator(}) directive(static) pre_type(int) ident(thread_init)operator(;) preprocessor(#if) ident(defined)operator(()ident(_THREAD_SAFE)operator(\)) directive(static) directive(void) ident(catch_timer)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) preprocessor(#if) operator(!)ident(defined)operator(()ident(POSIX_SIGNAL)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(BSD_SIGNAL)operator(\)) ident(signal)operator(()ident(sig)operator(,) ident(catch_timer)operator(\);) preprocessor(#endif) comment(/* cause EINTR */) operator(}) directive(static) pre_type(int) ident(time_thread_alive_p) operator(=) integer(0)operator(;) directive(static) ident(pthread_t) ident(time_thread)operator(;) directive(static) directive(void)operator(*) ident(thread_timer)operator(()ident(dummy)operator(\)) directive(void) operator(*)ident(dummy)operator(;) operator({) preprocessor(#ifdef) ident(_THREAD_SAFE) preprocessor(#define) ident(test_cancel)operator((\)) ident(pthread_testcancel)operator((\)) preprocessor(#else) preprocessor(#define) ident(test_cancel)operator((\)) comment(/* void */) preprocessor(#endif) ident(sigset_t) ident(all_signals)operator(;) ident(sigfillset)operator((&)ident(all_signals)operator(\);) ident(pthread_sigmask)operator(()ident(SIG_BLOCK)operator(,) operator(&)ident(all_signals)operator(,) integer(0)operator(\);) reserved(for) operator((;;\)) operator({) preprocessor(#ifdef) ident(HAVE_NANOSLEEP) reserved(struct) ident(timespec) ident(req)operator(,) ident(rem)operator(;) ident(test_cancel)operator((\);) ident(req)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(req)operator(.)ident(tv_nsec) operator(=) integer(10000000)operator(;) ident(nanosleep)operator((&)ident(req)operator(,) operator(&)ident(rem)operator(\);) preprocessor(#else) reserved(struct) ident(timeval) ident(tv)operator(;) ident(test_cancel)operator((\);) ident(tv)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(tv)operator(.)ident(tv_usec) operator(=) integer(10000)operator(;) ident(select)operator(()integer(0)operator(,) pre_constant(NULL)operator(,) pre_constant(NULL)operator(,) pre_constant(NULL)operator(,) operator(&)ident(tv)operator(\);) preprocessor(#endif) reserved(if) operator((!)ident(rb_thread_critical)operator(\)) operator({) ident(rb_thread_pending) operator(=) integer(1)operator(;) reserved(if) operator(()ident(rb_trap_immediate)operator(\)) operator({) ident(pthread_kill)operator(()ident(ruby_thid)operator(,) ident(SIGVTALRM)operator(\);) operator(}) operator(}) operator(}) preprocessor(#undef) ident(test_cancel) operator(}) directive(void) ident(rb_thread_start_timer)operator((\)) operator({) operator(}) directive(void) ident(rb_thread_stop_timer)operator((\)) operator({) operator(}) directive(void) ident(rb_child_atfork)operator((\)) operator({) ident(time_thread_alive_p) operator(=) integer(0)operator(;) operator(}) directive(void) ident(rb_thread_cancel_timer)operator((\)) operator({) preprocessor(#ifdef) ident(_THREAD_SAFE) reserved(if)operator(() ident(time_thread_alive_p) operator(\)) operator({) ident(pthread_cancel)operator(() ident(time_thread) operator(\);) ident(pthread_join)operator(() ident(time_thread)operator(,) pre_constant(NULL) operator(\);) ident(time_thread_alive_p) operator(=) integer(0)operator(;) operator(}) ident(thread_init) operator(=) integer(0)operator(;) preprocessor(#endif) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETITIMER)operator(\)) directive(static) directive(void) ident(catch_timer)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) preprocessor(#if) operator(!)ident(defined)operator(()ident(POSIX_SIGNAL)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(BSD_SIGNAL)operator(\)) ident(signal)operator(()ident(sig)operator(,) ident(catch_timer)operator(\);) preprocessor(#endif) reserved(if) operator((!)ident(rb_thread_critical)operator(\)) operator({) ident(rb_thread_pending) operator(=) integer(1)operator(;) operator(}) comment(/* cause EINTR */) operator(}) directive(void) ident(rb_thread_start_timer)operator((\)) operator({) reserved(struct) ident(itimerval) ident(tval)operator(;) reserved(if) operator((!)ident(thread_init)operator(\)) reserved(return)operator(;) ident(tval)operator(.)ident(it_interval)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(tval)operator(.)ident(it_interval)operator(.)ident(tv_usec) operator(=) integer(10000)operator(;) ident(tval)operator(.)ident(it_value) operator(=) ident(tval)operator(.)ident(it_interval)operator(;) ident(setitimer)operator(()ident(ITIMER_VIRTUAL)operator(,) operator(&)ident(tval)operator(,) pre_constant(NULL)operator(\);) operator(}) directive(void) ident(rb_thread_stop_timer)operator((\)) operator({) reserved(struct) ident(itimerval) ident(tval)operator(;) reserved(if) operator((!)ident(thread_init)operator(\)) reserved(return)operator(;) ident(tval)operator(.)ident(it_interval)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(tval)operator(.)ident(it_interval)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) ident(tval)operator(.)ident(it_value) operator(=) ident(tval)operator(.)ident(it_interval)operator(;) ident(setitimer)operator(()ident(ITIMER_VIRTUAL)operator(,) operator(&)ident(tval)operator(,) pre_constant(NULL)operator(\);) operator(}) directive(void) ident(rb_thread_cancel_timer)operator((\)) operator({) operator(}) preprocessor(#else) comment(/* !(_THREAD_SAFE || HAVE_SETITIMER\) */) pre_type(int) ident(rb_thread_tick) operator(=) ident(THREAD_TICK)operator(;) directive(void) ident(rb_thread_cancel_timer)operator((\)) operator({) operator(}) preprocessor(#endif) directive(static) ident(VALUE) ident(rb_thread_start_0)operator(()ident(fn)operator(,) ident(arg)operator(,) ident(th)operator(\)) ident(VALUE) operator((*)ident(fn)operator(\)(\);) directive(void) operator(*)ident(arg)operator(;) ident(rb_thread_t) ident(th)operator(;) operator({) directive(volatile) ident(rb_thread_t) ident(th_save) operator(=) ident(th)operator(;) directive(volatile) ident(VALUE) ident(thread) operator(=) ident(th)operator(->)ident(thread)operator(;) reserved(struct) ident(BLOCK) operator(*)directive(volatile) ident(saved_block) operator(=) integer(0)operator(;) reserved(enum) ident(rb_thread_status) ident(status)operator(;) pre_type(int) ident(state)operator(;) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(curr_thread)operator(->)ident(thgroup)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(thread_init)operator(\)) operator({) ident(thread_init) operator(=) integer(1)operator(;) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETITIMER)operator(\)) operator(||) ident(defined)operator(()ident(_THREAD_SAFE)operator(\)) preprocessor(#if) ident(defined)operator(()ident(POSIX_SIGNAL)operator(\)) ident(posix_signal)operator(()ident(SIGVTALRM)operator(,) ident(catch_timer)operator(\);) preprocessor(#else) ident(signal)operator(()ident(SIGVTALRM)operator(,) ident(catch_timer)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(_THREAD_SAFE) ident(pthread_create)operator((&)ident(time_thread)operator(,) integer(0)operator(,) ident(thread_timer)operator(,) integer(0)operator(\);) ident(time_thread_alive_p) operator(=) integer(1)operator(;) ident(pthread_atfork)operator(()integer(0)operator(,) integer(0)operator(,) ident(rb_child_atfork)operator(\);) preprocessor(#else) ident(rb_thread_start_timer)operator((\);) preprocessor(#endif) preprocessor(#endif) operator(}) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(return) ident(thread)operator(;) operator(}) reserved(if) operator(()ident(ruby_block)operator(\)) operator({) comment(/* should nail down higher blocks */) reserved(struct) ident(BLOCK) ident(dummy)operator(;) ident(dummy)operator(.)ident(prev) operator(=) ident(ruby_block)operator(;) ident(blk_copy_prev)operator((&)ident(dummy)operator(\);) ident(saved_block) operator(=) ident(ruby_block) operator(=) ident(dummy)operator(.)ident(prev)operator(;) operator(}) ident(scope_dup)operator(()ident(ruby_scope)operator(\);) reserved(if) operator((!)ident(th)operator(->)ident(next)operator(\)) operator({) comment(/* merge in thread list */) ident(th)operator(->)ident(prev) operator(=) ident(curr_thread)operator(;) ident(curr_thread)operator(->)ident(next)operator(->)ident(prev) operator(=) ident(th)operator(;) ident(th)operator(->)ident(next) operator(=) ident(curr_thread)operator(->)ident(next)operator(;) ident(curr_thread)operator(->)ident(next) operator(=) ident(th)operator(;) ident(th)operator(->)ident(priority) operator(=) ident(curr_thread)operator(->)ident(priority)operator(;) ident(th)operator(->)ident(thgroup) operator(=) ident(curr_thread)operator(->)ident(thgroup)operator(;) operator(}) ident(PUSH_TAG)operator(()ident(PROT_THREAD)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(th)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(curr_thread) operator(=) ident(th)operator(;) ident(th)operator(->)ident(result) operator(=) operator((*)ident(fn)operator(\)()ident(arg)operator(,) ident(th)operator(\);) operator(}) ident(th) operator(=) ident(th_save)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(TAG_DST)operator((\)\)) operator({) ident(th) operator(=) ident(th_save)operator(;) ident(th)operator(->)ident(result) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) operator(}) ident(POP_TAG)operator((\);) ident(status) operator(=) ident(th)operator(->)ident(status)operator(;) reserved(if) operator(()ident(th) operator(==) ident(main_thread)operator(\)) ident(ruby_stop)operator(()ident(state)operator(\);) ident(rb_thread_remove)operator(()ident(th)operator(\);) reserved(if) operator(()ident(saved_block)operator(\)) operator({) ident(blk_free)operator(()ident(saved_block)operator(\);) operator(}) reserved(if) operator(()ident(state) operator(&&) ident(status) operator(!=) ident(THREAD_TO_KILL) operator(&&) operator(!)ident(NIL_P)operator(()ident(ruby_errinfo)operator(\)\)) operator({) ident(th)operator(->)ident(flags) operator(|=) ident(RAISED_EXCEPTION)operator(;) reserved(if) operator(()ident(state) operator(==) ident(TAG_FATAL)operator(\)) operator({) comment(/* fatal error within this thread, need to stop whole script */) ident(main_thread)operator(->)ident(errinfo) operator(=) ident(ruby_errinfo)operator(;) ident(rb_thread_cleanup)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(ruby_errinfo)operator(,) ident(rb_eSystemExit)operator(\)\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(safe) operator(>=) integer(4)operator(\)) operator({) pre_type(char) ident(buf)operator([)integer(32)operator(];) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(th)operator(->)ident(safe)operator(\);) ident(th)operator(->)ident(errinfo) operator(=) ident(rb_exc_new2)operator(()ident(rb_eSecurityError)operator(,) ident(buf)operator(\);) operator(}) reserved(else) operator({) comment(/* delegate exception to main_thread */) ident(rb_thread_main_jump)operator(()ident(ruby_errinfo)operator(,) ident(RESTORE_RAISE)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(th)operator(->)ident(safe) operator(<) integer(4) operator(&&) operator(()ident(ruby_thread_abort) operator(||) ident(th)operator(->)ident(abort) operator(||) ident(RTEST)operator(()ident(ruby_debug)operator(\)\)\)) operator({) comment(/* exit on main_thread */) ident(error_print)operator((\);) ident(rb_thread_main_jump)operator(()ident(ruby_errinfo)operator(,) ident(RESTORE_EXIT)operator(\);) operator(}) reserved(else) operator({) ident(th)operator(->)ident(errinfo) operator(=) ident(ruby_errinfo)operator(;) operator(}) operator(}) ident(rb_thread_schedule)operator((\);) ident(ruby_stop)operator(()integer(0)operator(\);) comment(/* last thread termination */) reserved(return) integer(0)operator(;) comment(/* not reached */) operator(}) ident(VALUE) ident(rb_thread_create)operator(()ident(fn)operator(,) ident(arg)operator(\)) ident(VALUE) operator((*)ident(fn)operator(\)(\);) directive(void) operator(*)ident(arg)operator(;) operator({) ident(Init_stack)operator((()directive(void) operator(*\)&)ident(arg)operator(\);) reserved(return) ident(rb_thread_start_0)operator(()ident(fn)operator(,) ident(arg)operator(,) ident(rb_thread_alloc)operator(()ident(rb_cThread)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(rb_thread_yield)operator(()ident(arg)operator(,) ident(th)operator(\)) ident(VALUE) ident(arg)operator(;) ident(rb_thread_t) ident(th)operator(;) operator({) directive(const) ident(ID) operator(*)ident(tbl)operator(;) ident(scope_dup)operator(()ident(ruby_block)operator(->)ident(scope)operator(\);) ident(tbl) operator(=) ident(ruby_scope)operator(->)ident(local_tbl)operator(;) reserved(if) operator(()ident(tbl)operator(\)) operator({) pre_type(int) ident(n) operator(=) operator(*)ident(tbl)operator(++;) reserved(for) operator(()ident(tbl) operator(+=) integer(2)operator(,) ident(n) operator(-=) integer(2)operator(;) ident(n) operator(>) integer(0)operator(;) operator(--)ident(n)operator(\)) operator({) comment(/* skip first 2 ($_ and $~\) */) ident(ID) ident(id) operator(=) operator(*)ident(tbl)operator(++;) reserved(if) operator(()ident(id) operator(!=) integer(0) operator(&&) operator(!)ident(rb_is_local_id)operator(()ident(id)operator(\)\)) comment(/* push flip states */) ident(rb_dvar_push)operator(()ident(id)operator(,) ident(Qfalse)operator(\);) operator(}) operator(}) ident(rb_dvar_push)operator(()char('_')operator(,) ident(Qnil)operator(\);) ident(rb_dvar_push)operator(()char('~')operator(,) ident(Qnil)operator(\);) ident(ruby_block)operator(->)ident(dyna_vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(return) ident(rb_yield_0)operator(()ident(arg)operator(,) integer(0)operator(,) integer(0)operator(,) ident(YIELD_LAMBDA_CALL)operator(,) ident(Qtrue)operator(\);) operator(}) comment(/* * call-seq: * Thread.new([arg]*\) {|args| block } => thread * * Creates and runs a new thread to execute the instructions given in * block. Any arguments passed to Thread::new are passed * into the block. * * x = Thread.new { sleep 0.1; print "x"; print "y"; print "z" } * a = Thread.new { print "a"; print "b"; sleep 0.2; print "c" } * x.join # Let the threads finish before * a.join # main thread exits... * * produces: * * abxyzc */) directive(static) ident(VALUE) ident(rb_thread_s_new)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_alloc)operator(()ident(klass)operator(\);) directive(volatile) ident(VALUE) operator(*)ident(pos)operator(;) ident(pos) operator(=) ident(th)operator(->)ident(stk_pos)operator(;) ident(rb_obj_call_init)operator(()ident(th)operator(->)ident(thread)operator(,) ident(argc)operator(,) ident(argv)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(stk_pos) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\)\);) operator(}) reserved(return) ident(th)operator(->)ident(thread)operator(;) operator(}) comment(/* * call-seq: * Thread.new([arg]*\) {|args| block } => thread * * Creates and runs a new thread to execute the instructions given in * block. Any arguments passed to Thread::new are passed * into the block. * * x = Thread.new { sleep 0.1; print "x"; print "y"; print "z" } * a = Thread.new { print "a"; print "b"; sleep 0.2; print "c" } * x.join # Let the threads finish before * a.join # main thread exits... * * produces: * * abxyzc */) directive(static) ident(VALUE) ident(rb_thread_initialize)operator(()ident(thread)operator(,) ident(args)operator(\)) ident(VALUE) ident(thread)operator(,) ident(args)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) reserved(if) operator((!)ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(stk_max)operator(\)) operator({) ident(NODE) operator(*)ident(node) operator(=) ident(th)operator(->)ident(node)operator(;) reserved(if) operator((!)ident(node)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(,) ident(node)operator(->)ident(nd_file)operator(,) ident(nd_line)operator(()ident(node)operator(\)\);) operator(}) reserved(return) ident(rb_thread_start_0)operator(()ident(rb_thread_yield)operator(,) ident(args)operator(,) ident(th)operator(\);) operator(}) comment(/* * call-seq: * Thread.start([args]*\) {|args| block } => thread * Thread.fork([args]*\) {|args| block } => thread * * Basically the same as Thread::new. However, if class * Thread is subclassed, then calling start in that * subclass will not invoke the subclass's initialize method. */) directive(static) ident(VALUE) ident(rb_thread_start)operator(()ident(klass)operator(,) ident(args)operator(\)) ident(VALUE) ident(klass)operator(,) ident(args)operator(;) operator({) reserved(if) operator((!)ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_thread_start_0)operator(()ident(rb_thread_yield)operator(,) ident(args)operator(,) ident(rb_thread_alloc)operator(()ident(klass)operator(\)\);) operator(}) comment(/* * call-seq: * thr.value => obj * * Waits for thr to complete (via Thread#join\) and returns * its value. * * a = Thread.new { 2 + 2 } * a.value #=> 4 */) directive(static) ident(VALUE) ident(rb_thread_value)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(while) operator((!)ident(rb_thread_join0)operator(()ident(th)operator(,) ident(DELAY_INFTY)operator(\)\);) reserved(return) ident(th)operator(->)ident(result)operator(;) operator(}) comment(/* * call-seq: * thr.status => string, false or nil * * Returns the status of thr: ``sleep'' if thr is * sleeping or waiting on I/O, ``run'' if thr is executing, * ``aborting'' if thr is aborting, false if * thr terminated normally, and nil if thr * terminated with an exception. * * a = Thread.new { raise("die now"\) } * b = Thread.new { Thread.stop } * c = Thread.new { Thread.exit } * d = Thread.new { sleep } * Thread.critical = true * d.kill #=> # * a.status #=> nil * b.status #=> "sleep" * c.status #=> false * d.status #=> "aborting" * Thread.current.status #=> "run" */) directive(static) ident(VALUE) ident(rb_thread_status_name)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(rb_thread_dead)operator(()ident(th)operator(\)\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(th)operator(->)ident(errinfo)operator(\)) operator(&&) operator(()ident(th)operator(->)ident(flags) operator(&) ident(RAISED_EXCEPTION)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(rb_str_new2)operator(()ident(thread_status_name)operator(()ident(th)operator(->)ident(status)operator(\)\);) operator(}) comment(/* * call-seq: * thr.alive? => true or false * * Returns true if thr is running or sleeping. * * thr = Thread.new { } * thr.join #=> # * Thread.current.alive? #=> true * thr.alive? #=> false */) ident(VALUE) ident(rb_thread_alive_p)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(rb_thread_dead)operator(()ident(th)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * thr.stop? => true or false * * Returns true if thr is dead or sleeping. * * a = Thread.new { Thread.stop } * b = Thread.current * a.stop? #=> true * b.stop? #=> false */) directive(static) ident(VALUE) ident(rb_thread_stop_p)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(rb_thread_dead)operator(()ident(th)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(th)operator(->)ident(status) operator(==) ident(THREAD_STOPPED)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(rb_thread_wait_other_threads)operator((\)) operator({) ident(rb_thread_t) ident(th)operator(;) pre_type(int) ident(found)operator(;) comment(/* wait other threads to terminate */) reserved(while) operator(()ident(curr_thread) operator(!=) ident(curr_thread)operator(->)ident(next)operator(\)) operator({) ident(found) operator(=) integer(0)operator(;) ident(FOREACH_THREAD)operator(()ident(th)operator(\)) operator({) reserved(if) operator(()ident(th) operator(!=) ident(curr_thread) operator(&&) ident(th)operator(->)ident(status) operator(!=) ident(THREAD_STOPPED)operator(\)) operator({) ident(found) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) operator(}) ident(END_FOREACH)operator(()ident(th)operator(\);) reserved(if) operator((!)ident(found)operator(\)) reserved(return)operator(;) ident(rb_thread_schedule)operator((\);) operator(}) operator(}) directive(static) directive(void) ident(rb_thread_cleanup)operator((\)) operator({) ident(rb_thread_t) ident(curr)operator(,) ident(th)operator(;) ident(curr) operator(=) ident(curr_thread)operator(;) reserved(while) operator(()ident(curr)operator(->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) operator({) ident(curr) operator(=) ident(curr)operator(->)ident(prev)operator(;) operator(}) ident(FOREACH_THREAD_FROM)operator(()ident(curr)operator(,) ident(th)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(status) operator(!=) ident(THREAD_KILLED)operator(\)) operator({) ident(rb_thread_ready)operator(()ident(th)operator(\);) reserved(if) operator(()ident(th) operator(!=) ident(main_thread)operator(\)) operator({) ident(th)operator(->)ident(thgroup) operator(=) integer(0)operator(;) ident(th)operator(->)ident(priority) operator(=) integer(0)operator(;) ident(th)operator(->)ident(status) operator(=) ident(THREAD_TO_KILL)operator(;) ident(RDATA)operator(()ident(th)operator(->)ident(thread)operator(\)->)ident(dfree) operator(=) pre_constant(NULL)operator(;) operator(}) operator(}) operator(}) ident(END_FOREACH_FROM)operator(()ident(curr)operator(,) ident(th)operator(\);) operator(}) pre_type(int) ident(rb_thread_critical)operator(;) comment(/* * call-seq: * Thread.critical => true or false * * Returns the status of the global ``thread critical'' condition. */) directive(static) ident(VALUE) ident(rb_thread_critical_get)operator((\)) operator({) reserved(return) ident(rb_thread_critical)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * Thread.critical= boolean => true or false * * Sets the status of the global ``thread critical'' condition and returns * it. When set to true, prohibits scheduling of any existing * thread. Does not block new threads from being created and run. Certain * thread operations (such as stopping or killing a thread, sleeping in the * current thread, and raising an exception\) may cause a thread to be scheduled * even when in a critical section. Thread::critical is not * intended for daily use: it is primarily there to support folks writing * threading libraries. */) directive(static) ident(VALUE) ident(rb_thread_critical_set)operator(()ident(obj)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(,) ident(val)operator(;) operator({) ident(rb_thread_critical) operator(=) ident(RTEST)operator(()ident(val)operator(\);) reserved(return) ident(val)operator(;) operator(}) directive(void) ident(rb_thread_interrupt)operator((\)) operator({) ident(rb_thread_critical) operator(=) integer(0)operator(;) ident(rb_thread_ready)operator(()ident(main_thread)operator(\);) reserved(if) operator(()ident(curr_thread) operator(==) ident(main_thread)operator(\)) operator({) ident(rb_interrupt)operator((\);) operator(}) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(return)operator(;) operator(}) operator(}) ident(curr_thread) operator(=) ident(main_thread)operator(;) ident(rb_thread_restore_context)operator(()ident(curr_thread)operator(,) ident(RESTORE_INTERRUPT)operator(\);) operator(}) directive(void) ident(rb_thread_signal_raise)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) ident(rb_thread_critical) operator(=) integer(0)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(main_thread)operator(\)) operator({) ident(VALUE) ident(argv)operator([)integer(1)operator(];) ident(rb_thread_ready)operator(()ident(curr_thread)operator(\);) ident(argv)operator([)integer(0)operator(]) operator(=) ident(INT2FIX)operator(()ident(sig)operator(\);) ident(rb_exc_raise)operator(()ident(rb_class_new_instance)operator(()integer(1)operator(,) ident(argv)operator(,) ident(rb_eSignal)operator(\)\);) operator(}) ident(rb_thread_ready)operator(()ident(main_thread)operator(\);) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(return)operator(;) operator(}) operator(}) ident(th_sig) operator(=) ident(sig)operator(;) ident(curr_thread) operator(=) ident(main_thread)operator(;) ident(rb_thread_restore_context)operator(()ident(curr_thread)operator(,) ident(RESTORE_SIGNAL)operator(\);) operator(}) directive(void) ident(rb_thread_trap_eval)operator(()ident(cmd)operator(,) ident(sig)operator(,) ident(safe)operator(\)) ident(VALUE) ident(cmd)operator(;) pre_type(int) ident(sig)operator(,) ident(safe)operator(;) operator({) ident(rb_thread_critical) operator(=) integer(0)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(main_thread)operator(\)) operator({) ident(rb_trap_eval)operator(()ident(cmd)operator(,) ident(sig)operator(,) ident(safe)operator(\);) reserved(return)operator(;) operator(}) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(return)operator(;) operator(}) operator(}) ident(th_cmd) operator(=) ident(cmd)operator(;) ident(th_sig) operator(=) ident(sig)operator(;) ident(th_safe) operator(=) ident(safe)operator(;) ident(curr_thread) operator(=) ident(main_thread)operator(;) ident(rb_thread_restore_context)operator(()ident(curr_thread)operator(,) ident(RESTORE_TRAP)operator(\);) operator(}) directive(void) ident(rb_thread_signal_exit)operator((\)) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) ident(rb_thread_critical) operator(=) integer(0)operator(;) reserved(if) operator(()ident(curr_thread) operator(==) ident(main_thread)operator(\)) operator({) ident(rb_thread_ready)operator(()ident(curr_thread)operator(\);) ident(rb_exit)operator(()ident(EXIT_SUCCESS)operator(\);) operator(}) ident(args)operator([)integer(0)operator(]) operator(=) ident(INT2NUM)operator(()ident(EXIT_SUCCESS)operator(\);) ident(args)operator([)integer(1)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) ident(rb_thread_ready)operator(()ident(main_thread)operator(\);) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(return)operator(;) operator(}) operator(}) ident(rb_thread_main_jump)operator(()ident(rb_class_new_instance)operator(()integer(2)operator(,) ident(args)operator(,) ident(rb_eSystemExit)operator(\),) ident(RESTORE_EXIT)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_thread_raise)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(th)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(rb_thread_t) ident(th)operator(;) operator({) directive(volatile) ident(rb_thread_t) ident(th_save) operator(=) ident(th)operator(;) ident(VALUE) ident(exc)operator(;) reserved(if) operator((!)ident(th)operator(->)ident(next)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_thread_dead)operator(()ident(th)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(exc) operator(=) ident(rb_make_exception)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(if) operator(()ident(curr_thread) operator(==) ident(th)operator(\)) operator({) ident(rb_raise_jump)operator(()ident(exc)operator(\);) operator(}) reserved(if) operator((!)ident(rb_thread_dead)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(curr_thread)operator(\)\)) operator({) reserved(return) ident(th_save)operator(->)ident(thread)operator(;) operator(}) operator(}) ident(rb_thread_ready)operator(()ident(th)operator(\);) ident(curr_thread) operator(=) ident(th)operator(;) ident(th_raise_exception) operator(=) ident(exc)operator(;) ident(th_raise_node) operator(=) ident(ruby_current_node)operator(;) ident(rb_thread_restore_context)operator(()ident(curr_thread)operator(,) ident(RESTORE_RAISE)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call-seq: * thr.raise(exception\) * * Raises an exception (see Kernel::raise\) from thr. The * caller does not have to be thr. * * Thread.abort_on_exception = true * a = Thread.new { sleep(200\) } * a.raise("Gotcha"\) * * produces: * * prog.rb:3: Gotcha (RuntimeError\) * from prog.rb:2:in `initialize' * from prog.rb:2:in `new' * from prog.rb:2 */) directive(static) ident(VALUE) ident(rb_thread_raise_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(thread)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(ruby_safe_level) operator(>) ident(th)operator(->)ident(safe)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) ident(rb_thread_raise)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(th)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) ident(VALUE) ident(rb_thread_local_aref)operator(()ident(thread)operator(,) ident(id)operator(\)) ident(VALUE) ident(thread)operator(;) ident(ID) ident(id)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) ident(VALUE) ident(val)operator(;) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) ident(th) operator(!=) ident(curr_thread)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(th)operator(->)ident(locals)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(th)operator(->)ident(locals)operator(,) ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(val)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * thr[sym] => obj or nil * * Attribute Reference---Returns the value of a thread-local variable, using * either a symbol or a string name. If the specified variable does not exist, * returns nil. * * a = Thread.new { Thread.current["name"] = "A"; Thread.stop } * b = Thread.new { Thread.current[:name] = "B"; Thread.stop } * c = Thread.new { Thread.current["name"] = "C"; Thread.stop } * Thread.list.each {|x| puts "#{x.inspect}: #{x[:name]}" } * * produces: * * #: C * #: B * #: A * #: */) directive(static) ident(VALUE) ident(rb_thread_aref)operator(()ident(thread)operator(,) ident(id)operator(\)) ident(VALUE) ident(thread)operator(,) ident(id)operator(;) operator({) reserved(return) ident(rb_thread_local_aref)operator(()ident(thread)operator(,) ident(rb_to_id)operator(()ident(id)operator(\)\);) operator(}) ident(VALUE) ident(rb_thread_local_aset)operator(()ident(thread)operator(,) ident(id)operator(,) ident(val)operator(\)) ident(VALUE) ident(thread)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(ruby_safe_level) operator(>=) integer(4) operator(&&) ident(th) operator(!=) ident(curr_thread)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(thread)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator((!)ident(th)operator(->)ident(locals)operator(\)) operator({) ident(th)operator(->)ident(locals) operator(=) ident(st_init_numtable)operator((\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(st_delete)operator(()ident(th)operator(->)ident(locals)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) integer(0)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) ident(st_insert)operator(()ident(th)operator(->)ident(locals)operator(,) ident(id)operator(,) ident(val)operator(\);) reserved(return) ident(val)operator(;) operator(}) comment(/* * call-seq: * thr[sym] = obj => obj * * Attribute Assignment---Sets or creates the value of a thread-local variable, * using either a symbol or a string. See also Thread#[]. */) directive(static) ident(VALUE) ident(rb_thread_aset)operator(()ident(thread)operator(,) ident(id)operator(,) ident(val)operator(\)) ident(VALUE) ident(thread)operator(,) ident(id)operator(,) ident(val)operator(;) operator({) reserved(return) ident(rb_thread_local_aset)operator(()ident(thread)operator(,) ident(rb_to_id)operator(()ident(id)operator(\),) ident(val)operator(\);) operator(}) comment(/* * call-seq: * thr.key?(sym\) => true or false * * Returns true if the given string (or symbol\) exists as a * thread-local variable. * * me = Thread.current * me[:oliver] = "a" * me.key?(:oliver\) #=> true * me.key?(:stanley\) #=> false */) directive(static) ident(VALUE) ident(rb_thread_key_p)operator(()ident(thread)operator(,) ident(id)operator(\)) ident(VALUE) ident(thread)operator(,) ident(id)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator((!)ident(th)operator(->)ident(locals)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(th)operator(->)ident(locals)operator(,) ident(rb_to_id)operator(()ident(id)operator(\),) integer(0)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(thread_keys_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(,) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ID2SYM)operator(()ident(key)operator(\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * thr.keys => array * * Returns an an array of the names of the thread-local variables (as Symbols\). * * thr = Thread.new do * Thread.current[:cat] = 'meow' * Thread.current["dog"] = 'woof' * end * thr.join #=> # * thr.keys #=> [:dog, :cat] */) directive(static) ident(VALUE) ident(rb_thread_keys)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(if) operator(()ident(th)operator(->)ident(locals)operator(\)) operator({) ident(st_foreach)operator(()ident(th)operator(->)ident(locals)operator(,) ident(thread_keys_i)operator(,) ident(ary)operator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * thr.inspect => string * * Dump the name, id, and status of _thr_ to a string. */) directive(static) ident(VALUE) ident(rb_thread_inspect)operator(()ident(thread)operator(\)) ident(VALUE) ident(thread)operator(;) operator({) pre_type(char) operator(*)ident(cname) operator(=) ident(rb_obj_classname)operator(()ident(thread)operator(\);) ident(rb_thread_t) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) directive(const) pre_type(char) operator(*)ident(status) operator(=) ident(thread_status_name)operator(()ident(th)operator(->)ident(status)operator(\);) ident(VALUE) ident(str)operator(;) ident(size_t) ident(len) operator(=) ident(strlen)operator(()ident(cname)operator(\)+)integer(7)operator(+)integer(16)operator(+)integer(9)operator(+)integer(1)operator(;) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) comment(/* 7:tags 16:addr 9:status 1:nul */) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(,) string)delimiter(")>operator(,) ident(cname)operator(,) ident(thread)operator(,) ident(status)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(thread)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(void) ident(rb_thread_atfork)operator((\)) operator({) ident(rb_thread_t) ident(th)operator(;) reserved(if) operator(()ident(rb_thread_alone)operator((\)\)) reserved(return)operator(;) ident(FOREACH_THREAD)operator(()ident(th)operator(\)) operator({) reserved(if) operator(()ident(th) operator(!=) ident(curr_thread)operator(\)) operator({) ident(rb_thread_die)operator(()ident(th)operator(\);) operator(}) operator(}) ident(END_FOREACH)operator(()ident(th)operator(\);) ident(main_thread) operator(=) ident(curr_thread)operator(;) ident(curr_thread)operator(->)ident(next) operator(=) ident(curr_thread)operator(;) ident(curr_thread)operator(->)ident(prev) operator(=) ident(curr_thread)operator(;) operator(}) directive(static) directive(void) ident(cc_purge)operator(()ident(cc)operator(\)) ident(rb_thread_t) ident(cc)operator(;) operator({) comment(/* free continuation's stack if it has just died */) reserved(if) operator(()ident(NIL_P)operator(()ident(cc)operator(->)ident(thread)operator(\)\)) reserved(return)operator(;) reserved(if) operator(()ident(rb_thread_check)operator(()ident(cc)operator(->)ident(thread)operator(\)->)ident(status) operator(==) ident(THREAD_KILLED)operator(\)) operator({) ident(cc)operator(->)ident(thread) operator(=) ident(Qnil)operator(;) ident(rb_thread_die)operator(()ident(cc)operator(\);) comment(/* can't possibly activate this stack */) operator(}) operator(}) directive(static) directive(void) ident(cc_mark)operator(()ident(cc)operator(\)) ident(rb_thread_t) ident(cc)operator(;) operator({) comment(/* mark this continuation's stack only if its parent thread is still alive */) ident(cc_purge)operator(()ident(cc)operator(\);) ident(thread_mark)operator(()ident(cc)operator(\);) operator(}) directive(static) ident(rb_thread_t) ident(rb_cont_check)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(data)operator(\)) operator(!=) ident(T_DATA) operator(||) ident(RDATA)operator(()ident(data)operator(\)->)ident(dmark) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(cc_mark)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(data)operator(\)\);) operator(}) reserved(return) operator(()ident(rb_thread_t)operator(\))ident(RDATA)operator(()ident(data)operator(\)->)ident(data)operator(;) operator(}) comment(/* * Document-class: Continuation * * Continuation objects are generated by * Kernel#callcc. They hold a return address and execution * context, allowing a nonlocal return to the end of the * callcc block from anywhere within a program. * Continuations are somewhat analogous to a structured version of C's * setjmp/longjmp (although they contain more state, so * you might consider them closer to threads\). * * For instance: * * arr = [ "Freddie", "Herbie", "Ron", "Max", "Ringo" ] * callcc{|$cc|} * puts(message = arr.shift\) * $cc.call unless message =~ /Max/ * * produces: * * Freddie * Herbie * Ron * Max * * This (somewhat contrived\) example allows the inner loop to abandon * processing early: * * callcc {|cont| * for i in 0..4 * print "\\n#{i}: " * for j in i*5...(i+1\)*5 * cont.call(\) if j == 17 * printf "%3d", j * end * end * } * print "\\n" * * produces: * * 0: 0 1 2 3 4 * 1: 5 6 7 8 9 * 2: 10 11 12 13 14 * 3: 15 16 */) ident(VALUE) ident(rb_cCont)operator(;) comment(/* * call-seq: * callcc {|cont| block } => obj * * Generates a Continuation object, which it passes to the * associated block. Performing a cont.call will * cause the callcc to return (as will falling through the * end of the block\). The value returned by the callcc is * the value of the block, or the value passed to * cont.call. See class Continuation * for more details. Also see Kernel::throw for * an alternative mechanism for unwinding a call stack. */) directive(static) ident(VALUE) ident(rb_callcc)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) directive(volatile) ident(VALUE) ident(cont)operator(;) ident(rb_thread_t) ident(th)operator(;) directive(volatile) ident(rb_thread_t) ident(th_save)operator(;) reserved(struct) ident(tag) operator(*)ident(tag)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) ident(THREAD_ALLOC)operator(()ident(th)operator(\);) comment(/* must finish th initialization before any possible gc. * brent@mbari.org */) ident(th)operator(->)ident(thread) operator(=) ident(curr_thread)operator(->)ident(thread)operator(;) ident(th)operator(->)ident(thgroup) operator(=) ident(cont_protect)operator(;) ident(cont) operator(=) ident(Data_Wrap_Struct)operator(()ident(rb_cCont)operator(,) ident(cc_mark)operator(,) ident(thread_free)operator(,) ident(th)operator(\);) ident(scope_dup)operator(()ident(ruby_scope)operator(\);) reserved(for) operator(()ident(tag)operator(=)ident(prot_tag)operator(;) ident(tag)operator(;) ident(tag)operator(=)ident(tag)operator(->)ident(prev)operator(\)) operator({) ident(scope_dup)operator(()ident(tag)operator(->)ident(scope)operator(\);) operator(}) reserved(for) operator(()ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(vars)operator(;) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\)\)) reserved(break)operator(;) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_DONT_RECYCLE)operator(\);) operator(}) ident(th_save) operator(=) ident(th)operator(;) reserved(if) operator(()ident(THREAD_SAVE_CONTEXT)operator(()ident(th)operator(\)\)) operator({) reserved(return) ident(th_save)operator(->)ident(result)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_yield)operator(()ident(cont)operator(\);) operator(}) operator(}) comment(/* * call-seq: * cont.call(args, ...\) * cont[args, ...] * * Invokes the continuation. The program continues from the end of the * callcc block. If no arguments are given, the original * callcc returns nil. If one argument is * given, callcc returns it. Otherwise, an array * containing args is returned. * * callcc {|cont| cont.call } #=> nil * callcc {|cont| cont.call 1 } #=> 1 * callcc {|cont| cont.call 1, 2, 3 } #=> [1, 2, 3] */) directive(static) ident(VALUE) ident(rb_cont_call)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(cont)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(cont)operator(;) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_cont_check)operator(()ident(cont)operator(\);) reserved(if) operator(()ident(th)operator(->)ident(thread) operator(!=) ident(curr_thread)operator(->)ident(thread)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(th)operator(->)ident(thgroup) operator(!=) ident(cont_protect)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(switch) operator(()ident(argc)operator(\)) operator({) reserved(case) integer(0)operator(:) ident(th)operator(->)ident(result) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) ident(th)operator(->)ident(result) operator(=) ident(argv)operator([)integer(0)operator(];) reserved(break)operator(;) reserved(default)operator(:) ident(th)operator(->)ident(result) operator(=) ident(rb_ary_new4)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(break)operator(;) operator(}) ident(rb_thread_restore_context)operator(()ident(th)operator(,) ident(RESTORE_NORMAL)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) reserved(struct) ident(thgroup) operator({) pre_type(int) ident(enclosed)operator(;) ident(VALUE) ident(group)operator(;) operator(};) comment(/* * Document-class: ThreadGroup * * ThreadGroup provides a means of keeping track of a number of * threads as a group. A Thread can belong to only one * ThreadGroup at a time; adding a thread to a new group will * remove it from any previous group. * * Newly created threads belong to the same group as the thread from which they * were created. */) directive(static) ident(VALUE) ident(thgroup_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(thgroup_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(group)operator(;) reserved(struct) ident(thgroup) operator(*)ident(data)operator(;) ident(group) operator(=) ident(Data_Make_Struct)operator(()ident(klass)operator(,) reserved(struct) ident(thgroup)operator(,) integer(0)operator(,) ident(free)operator(,) ident(data)operator(\);) ident(data)operator(->)ident(enclosed) operator(=) integer(0)operator(;) ident(data)operator(->)ident(group) operator(=) ident(group)operator(;) reserved(return) ident(group)operator(;) operator(}) comment(/* * call-seq: * thgrp.list => array * * Returns an array of all existing Thread objects that belong to * this group. * * ThreadGroup::Default.list #=> [#] */) directive(static) ident(VALUE) ident(thgroup_list)operator(()ident(group)operator(\)) ident(VALUE) ident(group)operator(;) operator({) reserved(struct) ident(thgroup) operator(*)ident(data)operator(;) ident(rb_thread_t) ident(th)operator(;) ident(VALUE) ident(ary)operator(;) ident(Data_Get_Struct)operator(()ident(group)operator(,) reserved(struct) ident(thgroup)operator(,) ident(data)operator(\);) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(FOREACH_THREAD)operator(()ident(th)operator(\)) operator({) reserved(if) operator(()ident(th)operator(->)ident(thgroup) operator(==) ident(data)operator(->)ident(group)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(th)operator(->)ident(thread)operator(\);) operator(}) operator(}) ident(END_FOREACH)operator(()ident(th)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * thgrp.enclose => thgrp * * Prevents threads from being added to or removed from the receiving * ThreadGroup. New threads can still be started in an enclosed * ThreadGroup. * * ThreadGroup::Default.enclose #=> # * thr = Thread::new { Thread.stop } #=> # * tg = ThreadGroup::new #=> # * tg.add thr * * produces: * * ThreadError: can't move from the enclosed thread group */) directive(static) ident(VALUE) ident(thgroup_enclose)operator(()ident(group)operator(\)) ident(VALUE) ident(group)operator(;) operator({) reserved(struct) ident(thgroup) operator(*)ident(data)operator(;) ident(Data_Get_Struct)operator(()ident(group)operator(,) reserved(struct) ident(thgroup)operator(,) ident(data)operator(\);) ident(data)operator(->)ident(enclosed) operator(=) integer(1)operator(;) reserved(return) ident(group)operator(;) operator(}) comment(/* * call-seq: * thgrp.enclosed? => true or false * * Returns true if thgrp is enclosed. See also * ThreadGroup#enclose. */) directive(static) ident(VALUE) ident(thgroup_enclosed_p)operator(()ident(group)operator(\)) ident(VALUE) ident(group)operator(;) operator({) reserved(struct) ident(thgroup) operator(*)ident(data)operator(;) ident(Data_Get_Struct)operator(()ident(group)operator(,) reserved(struct) ident(thgroup)operator(,) ident(data)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(enclosed)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * thgrp.add(thread\) => thgrp * * Adds the given thread to this group, removing it from any other * group to which it may have previously belonged. * * puts "Initial group is #{ThreadGroup::Default.list}" * tg = ThreadGroup.new * t1 = Thread.new { sleep } * t2 = Thread.new { sleep } * puts "t1 is #{t1}" * puts "t2 is #{t2}" * tg.add(t1\) * puts "Initial group now #{ThreadGroup::Default.list}" * puts "tg group now #{tg.list}" * * produces: * * Initial group is # * t1 is # * t2 is # * Initial group now ## * tg group now # */) directive(static) ident(VALUE) ident(thgroup_add)operator(()ident(group)operator(,) ident(thread)operator(\)) ident(VALUE) ident(group)operator(,) ident(thread)operator(;) operator({) ident(rb_thread_t) ident(th)operator(;) reserved(struct) ident(thgroup) operator(*)ident(data)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(th) operator(=) ident(rb_thread_check)operator(()ident(thread)operator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(group)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) ident(Data_Get_Struct)operator(()ident(group)operator(,) reserved(struct) ident(thgroup)operator(,) ident(data)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(enclosed)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(th)operator(->)ident(thgroup)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(th)operator(->)ident(thgroup)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) ident(Data_Get_Struct)operator(()ident(th)operator(->)ident(thgroup)operator(,) reserved(struct) ident(thgroup)operator(,) ident(data)operator(\);) reserved(if) operator(()ident(data)operator(->)ident(enclosed)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(\);) operator(}) ident(th)operator(->)ident(thgroup) operator(=) ident(group)operator(;) reserved(return) ident(group)operator(;) operator(}) comment(/* * +Thread+ encapsulates the behavior of a thread of * execution, including the main thread of the Ruby script. * * In the descriptions of the methods in this class, the parameter _sym_ * refers to a symbol, which is either a quoted string or a * +Symbol+ (such as :name\). */) directive(void) ident(Init_Thread)operator((\)) operator({) ident(VALUE) ident(cThGroup)operator(;) ident(rb_eThreadError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_cThread) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cThread)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_s_new)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_initialize)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_start)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_start)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_stop)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_s_kill)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_exit)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_pass)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_current)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_main)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_list)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_critical_get)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_critical_set)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_s_abort_exc)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_s_abort_exc_set)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_run)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_wakeup)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_kill)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_kill)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_kill)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_kill_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_kill_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_kill_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_value)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_status_name)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_join_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_alive_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_stop_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_raise_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_abort_exc)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_abort_exc_set)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_priority)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_priority_set)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_safe_level)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_group)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_aref)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_aset)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_key_p)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_keys)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cThread)operator(,) stringoperator(,) ident(rb_thread_inspect)operator(,) integer(0)operator(\);) ident(rb_cCont) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cCont)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cCont)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cCont)operator(,) stringoperator(,) ident(rb_cont_call)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cCont)operator(,) stringoperator(,) ident(rb_cont_call)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_callcc)operator(,) integer(0)operator(\);) ident(rb_global_variable)operator((&)ident(cont_protect)operator(\);) ident(cThGroup) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_alloc_func)operator(()ident(cThGroup)operator(,) ident(thgroup_s_alloc)operator(\);) ident(rb_define_method)operator(()ident(cThGroup)operator(,) stringoperator(,) ident(thgroup_list)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(cThGroup)operator(,) stringoperator(,) ident(thgroup_enclose)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(cThGroup)operator(,) stringoperator(,) ident(thgroup_enclosed_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(cThGroup)operator(,) stringoperator(,) ident(thgroup_add)operator(,) integer(1)operator(\);) ident(rb_global_variable)operator((&)ident(thgroup_default)operator(\);) ident(thgroup_default) operator(=) ident(rb_obj_alloc)operator(()ident(cThGroup)operator(\);) ident(rb_define_const)operator(()ident(cThGroup)operator(,) stringoperator(,) ident(thgroup_default)operator(\);) comment(/* allocate main thread */) ident(main_thread) operator(=) ident(rb_thread_alloc)operator(()ident(rb_cThread)operator(\);) ident(curr_thread) operator(=) ident(main_thread)operator(->)ident(prev) operator(=) ident(main_thread)operator(->)ident(next) operator(=) ident(main_thread)operator(;) operator(}) comment(/* * call-seq: * catch(symbol\) {| | block } > obj * * +catch+ executes its block. If a +throw+ is * executed, Ruby searches up its stack for a +catch+ block * with a tag corresponding to the +throw+'s * _symbol_. If found, that block is terminated, and * +catch+ returns the value given to +throw+. If * +throw+ is not called, the block terminates normally, and * the value of +catch+ is the value of the last expression * evaluated. +catch+ expressions may be nested, and the * +throw+ call need not be in lexical scope. * * def routine(n\) * puts n * throw :done if n <= 0 * routine(n-1\) * end * * * catch(:done\) { routine(3\) } * * produces: * * 3 * 2 * 1 * 0 */) directive(static) ident(VALUE) ident(rb_f_catch)operator(()ident(dmy)operator(,) ident(tag)operator(\)) ident(VALUE) ident(dmy)operator(,) ident(tag)operator(;) operator({) pre_type(int) ident(state)operator(;) ident(VALUE) ident(val) operator(=) ident(Qnil)operator(;) comment(/* OK */) ident(tag) operator(=) ident(ID2SYM)operator(()ident(rb_to_id)operator(()ident(tag)operator(\)\);) ident(PUSH_TAG)operator(()ident(tag)operator(\);) reserved(if) operator((()ident(state) operator(=) ident(EXEC_TAG)operator((\)\)) operator(==) integer(0)operator(\)) operator({) ident(val) operator(=) ident(rb_yield_0)operator(()ident(tag)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) ident(Qfalse)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(state) operator(==) ident(TAG_THROW) operator(&&) ident(tag) operator(==) ident(prot_tag)operator(->)ident(dst)operator(\)) operator({) ident(val) operator(=) ident(prot_tag)operator(->)ident(retval)operator(;) ident(state) operator(=) integer(0)operator(;) operator(}) ident(POP_TAG)operator((\);) reserved(if) operator(()ident(state)operator(\)) ident(JUMP_TAG)operator(()ident(state)operator(\);) reserved(return) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(catch_i)operator(()ident(tag)operator(\)) ident(VALUE) ident(tag)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(Qnil)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(tag)operator(\);) operator(}) ident(VALUE) ident(rb_catch)operator(()ident(tag)operator(,) ident(func)operator(,) ident(data)operator(\)) directive(const) pre_type(char) operator(*)ident(tag)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(data)operator(;) operator({) reserved(return) ident(rb_iterate)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(catch_i)operator(,) ident(ID2SYM)operator(()ident(rb_intern)operator(()ident(tag)operator(\)\),) ident(func)operator(,) ident(data)operator(\);) operator(}) comment(/* * call-seq: * throw(symbol [, obj]\) * * Transfers control to the end of the active +catch+ block * waiting for _symbol_. Raises +NameError+ if there * is no +catch+ block for the symbol. The optional second * parameter supplies a return value for the +catch+ block, * which otherwise defaults to +nil+. For examples, see * Kernel::catch. */) directive(static) ident(VALUE) ident(rb_f_throw)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(tag)operator(,) ident(value)operator(;) reserved(struct) ident(tag) operator(*)ident(tt) operator(=) ident(prot_tag)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(tag)operator(,) operator(&)ident(value)operator(\);) ident(tag) operator(=) ident(ID2SYM)operator(()ident(rb_to_id)operator(()ident(tag)operator(\)\);) reserved(while) operator(()ident(tt)operator(\)) operator({) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(tag)operator(\)) operator({) ident(tt)operator(->)ident(dst) operator(=) ident(tag)operator(;) ident(tt)operator(->)ident(retval) operator(=) ident(value)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(tt)operator(->)ident(tag) operator(==) ident(PROT_THREAD)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eThreadError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(tag)operator(\)\),) ident(curr_thread)operator(\);) operator(}) ident(tt) operator(=) ident(tt)operator(->)ident(prev)operator(;) operator(}) reserved(if) operator((!)ident(tt)operator(\)) operator({) ident(rb_name_error)operator(()ident(SYM2ID)operator(()ident(tag)operator(\),) stringoperator(,) ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(tag)operator(\)\)\);) operator(}) ident(rb_trap_restore_mask)operator((\);) ident(JUMP_TAG)operator(()ident(TAG_THROW)operator(\);) preprocessor(#ifndef) ident(__GNUC__) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) directive(void) ident(rb_throw)operator(()ident(tag)operator(,) ident(val)operator(\)) directive(const) pre_type(char) operator(*)ident(tag)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) ident(argv)operator([)integer(2)operator(];) ident(argv)operator([)integer(0)operator(]) operator(=) ident(ID2SYM)operator(()ident(rb_intern)operator(()ident(tag)operator(\)\);) ident(argv)operator([)integer(1)operator(]) operator(=) ident(val)operator(;) ident(rb_f_throw)operator(()integer(2)operator(,) ident(argv)operator(\);) operator(}) comment(/********************************************************************** file.c - $Author: wyhaines $ $Date: 2009-08-25 20:37:21 +0200 (Tue, 25 Aug 2009\) $ created at: Mon Nov 15 12:24:34 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#ifdef) ident(_WIN32) preprocessor(#include) include("missing/file.h") preprocessor(#endif) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(#define) ident(OpenFile) ident(WINAPI_OpenFile) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#undef) ident(OpenFile) preprocessor(#endif) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubyio.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include("util.h") preprocessor(#include) include("dln.h") preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_FILE_H) preprocessor(# include) include() preprocessor(#else) pre_type(int) ident(flock) ident(_)operator((()pre_type(int)operator(,) pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_PARAM_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifndef) ident(MAXPATHLEN) preprocessor(# define) ident(MAXPATHLEN) integer(1024) preprocessor(#endif) preprocessor(#include) include() ident(VALUE) ident(rb_time_new) ident(_)operator((()ident(time_t)operator(,) ident(time_t)operator(\)\);) preprocessor(#ifdef) ident(HAVE_UTIME_H) preprocessor(#include) include() preprocessor(#elif) ident(defined) ident(HAVE_SYS_UTIME_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_PWD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRING_H) pre_type(char) operator(*)ident(strrchr) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(\)\);) preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_SYS_MKDEV_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_FCNTL_H)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) operator(!)ident(defined) ident(HAVE_LSTAT) operator(&&) operator(!)ident(defined) ident(lstat) preprocessor(#define) ident(lstat) ident(stat) preprocessor(#endif) preprocessor(#if) operator(!)ident(HAVE_FSEEKO) operator(&&) operator(!)ident(defined)operator(()ident(fseeko)operator(\)) preprocessor(# define) ident(fseeko) ident(fseek) preprocessor(#endif) preprocessor(#ifdef) ident(__BEOS__) comment(/* should not change ID if -1 */) directive(static) pre_type(int) ident(be_chown)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(,) ident(uid_t) ident(owner)operator(,) ident(gid_t) ident(group)operator(\)) operator({) reserved(if) operator(()ident(owner) operator(==) operator(-)integer(1) operator(||) ident(group) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(stat)operator(()ident(path)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(owner) operator(==) operator(-)integer(1)operator(\)) ident(owner) operator(=) ident(st)operator(.)ident(st_uid)operator(;) reserved(if) operator(()ident(group) operator(==) operator(-)integer(1)operator(\)) ident(group) operator(=) ident(st)operator(.)ident(st_gid)operator(;) operator(}) reserved(return) ident(chown)operator(()ident(path)operator(,) ident(owner)operator(,) ident(group)operator(\);) operator(}) preprocessor(#define) ident(chown) ident(be_chown) directive(static) pre_type(int) ident(be_fchown)operator(()pre_type(int) ident(fd)operator(,) ident(uid_t) ident(owner)operator(,) ident(gid_t) ident(group)operator(\)) operator({) reserved(if) operator(()ident(owner) operator(==) operator(-)integer(1) operator(||) ident(group) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(fstat)operator(()ident(fd)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(owner) operator(==) operator(-)integer(1)operator(\)) ident(owner) operator(=) ident(st)operator(.)ident(st_uid)operator(;) reserved(if) operator(()ident(group) operator(==) operator(-)integer(1)operator(\)) ident(group) operator(=) ident(st)operator(.)ident(st_gid)operator(;) operator(}) reserved(return) ident(fchown)operator(()ident(fd)operator(,) ident(owner)operator(,) ident(group)operator(\);) operator(}) preprocessor(#define) ident(fchown) ident(be_fchown) preprocessor(#endif) comment(/* __BEOS__ */) ident(VALUE) ident(rb_cFile)operator(;) ident(VALUE) ident(rb_mFileTest)operator(;) ident(VALUE) ident(rb_cStat)operator(;) directive(static) pre_type(long) ident(apply2files) ident(_)operator((()directive(void) operator((*\)()directive(const) pre_type(char) operator(*,) directive(void) operator(*\),) ident(VALUE)operator(,) directive(void) operator(*\)\);) directive(static) pre_type(long) ident(apply2files)operator(()ident(func)operator(,) ident(vargs)operator(,) ident(arg)operator(\)) directive(void) operator((*)ident(func)operator(\))ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) ident(VALUE) ident(vargs)operator(;) directive(void) operator(*)ident(arg)operator(;) operator({) pre_type(long) ident(i)operator(;) ident(VALUE) ident(path)operator(;) reserved(struct) ident(RArray) operator(*)ident(args) operator(=) ident(RARRAY)operator(()ident(vargs)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(args)operator(->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(path) operator(=) ident(args)operator(->)ident(ptr)operator([)ident(i)operator(];) ident(SafeStringValue)operator(()ident(path)operator(\);) operator((*)ident(func)operator(\)()ident(StringValueCStr)operator(()ident(path)operator(\),) ident(arg)operator(\);) operator(}) reserved(return) ident(args)operator(->)ident(len)operator(;) operator(}) comment(/* * call-seq: * file.path -> filename * * Returns the pathname used to create file as a string. Does * not normalize the name. * * File.new("testfile"\).path #=> "testfile" * File.new("/tmp/../tmp/xxx", "w"\).path #=> "/tmp/../tmp/xxx" * */) directive(static) ident(VALUE) ident(rb_file_path)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(fptr) operator(=) ident(RFILE)operator(()ident(rb_io_taint_check)operator(()ident(obj)operator(\)\)->)ident(fptr)operator(;) ident(rb_io_check_initialized)operator(()ident(fptr)operator(\);) reserved(if) operator((!)ident(fptr)operator(->)ident(path)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_tainted_str_new2)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) directive(static) ident(VALUE) ident(stat_new_0)operator(()ident(klass)operator(,) ident(st)operator(\)) ident(VALUE) ident(klass)operator(;) reserved(struct) ident(stat) operator(*)ident(st)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(nst) operator(=) integer(0)operator(;) reserved(if) operator(()ident(st)operator(\)) operator({) ident(nst) operator(=) ident(ALLOC)operator(()reserved(struct) ident(stat)operator(\);) operator(*)ident(nst) operator(=) operator(*)ident(st)operator(;) operator(}) reserved(return) ident(Data_Wrap_Struct)operator(()ident(klass)operator(,) pre_constant(NULL)operator(,) ident(free)operator(,) ident(nst)operator(\);) operator(}) directive(static) ident(VALUE) ident(stat_new)operator(()ident(st)operator(\)) reserved(struct) ident(stat) operator(*)ident(st)operator(;) operator({) reserved(return) ident(stat_new_0)operator(()ident(rb_cStat)operator(,) ident(st)operator(\);) operator(}) directive(static) reserved(struct) ident(stat)operator(*) ident(get_stat)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(struct) ident(stat)operator(*) ident(st)operator(;) ident(Data_Get_Struct)operator(()ident(self)operator(,) reserved(struct) ident(stat)operator(,) ident(st)operator(\);) reserved(if) operator((!)ident(st)operator(\)) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(return) ident(st)operator(;) operator(}) comment(/* * call-seq: * stat <=> other_stat => -1, 0, 1 * * Compares File::Stat objects by comparing their * respective modification times. * * f1 = File.new("f1", "w"\) * sleep 1 * f2 = File.new("f2", "w"\) * f1.stat <=> f2.stat #=> -1 */) directive(static) ident(VALUE) ident(rb_stat_cmp)operator(()ident(self)operator(,) ident(other)operator(\)) ident(VALUE) ident(self)operator(,) ident(other)operator(;) operator({) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(other)operator(,) ident(rb_obj_class)operator(()ident(self)operator(\)\)\)) operator({) ident(time_t) ident(t1) operator(=) ident(get_stat)operator(()ident(self)operator(\)->)ident(st_mtime)operator(;) ident(time_t) ident(t2) operator(=) ident(get_stat)operator(()ident(other)operator(\)->)ident(st_mtime)operator(;) reserved(if) operator(()ident(t1) operator(==) ident(t2)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(else) reserved(if) operator(()ident(t1) operator(<) ident(t2)operator(\)) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_stat_dev) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_ino) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_mode) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_nlink) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_uid) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_gid) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_rdev) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_size) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_blksize) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_blocks) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_atime) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_mtime) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_ctime) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* * call-seq: * stat.dev => fixnum * * Returns an integer representing the device on which stat * resides. * * File.stat("testfile"\).dev #=> 774 */) directive(static) ident(VALUE) ident(rb_stat_dev)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(INT2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_dev)operator(\);) operator(}) comment(/* * call-seq: * stat.dev_major => fixnum * * Returns the major part of File_Stat#dev or * nil. * * File.stat("/dev/fd1"\).dev_major #=> 2 * File.stat("/dev/tty"\).dev_major #=> 5 */) directive(static) ident(VALUE) ident(rb_stat_dev_major)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(major)operator(\)) pre_type(long) ident(dev) operator(=) ident(get_stat)operator(()ident(self)operator(\)->)ident(st_dev)operator(;) reserved(return) ident(ULONG2NUM)operator(()ident(major)operator(()ident(dev)operator(\)\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.dev_minor => fixnum * * Returns the minor part of File_Stat#dev or * nil. * * File.stat("/dev/fd1"\).dev_minor #=> 1 * File.stat("/dev/tty"\).dev_minor #=> 0 */) directive(static) ident(VALUE) ident(rb_stat_dev_minor)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(minor)operator(\)) pre_type(long) ident(dev) operator(=) ident(get_stat)operator(()ident(self)operator(\)->)ident(st_dev)operator(;) reserved(return) ident(ULONG2NUM)operator(()ident(minor)operator(()ident(dev)operator(\)\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.ino => fixnum * * Returns the inode number for stat. * * File.stat("testfile"\).ino #=> 1083669 * */) directive(static) ident(VALUE) ident(rb_stat_ino)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#ifdef) ident(HUGE_ST_INO) reserved(return) ident(ULL2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_ino)operator(\);) preprocessor(#else) reserved(return) ident(ULONG2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_ino)operator(\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.mode => fixnum * * Returns an integer representing the permission bits of * stat. The meaning of the bits is platform dependent; on * Unix systems, see stat(2\). * * File.chmod(0644, "testfile"\) #=> 1 * s = File.stat("testfile"\) * sprintf("%o", s.mode\) #=> "100644" */) directive(static) ident(VALUE) ident(rb_stat_mode)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#ifdef) ident(__BORLANDC__) reserved(return) ident(UINT2NUM)operator((()pre_type(unsigned) pre_type(short)operator(\)()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_mode)operator(\)\);) preprocessor(#else) reserved(return) ident(UINT2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_mode)operator(\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.nlink => fixnum * * Returns the number of hard links to stat. * * File.stat("testfile"\).nlink #=> 1 * File.link("testfile", "testfile.bak"\) #=> 0 * File.stat("testfile"\).nlink #=> 2 * */) directive(static) ident(VALUE) ident(rb_stat_nlink)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(UINT2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_nlink)operator(\);) operator(}) comment(/* * call-seq: * stat.uid => fixnum * * Returns the numeric user id of the owner of stat. * * File.stat("testfile"\).uid #=> 501 * */) directive(static) ident(VALUE) ident(rb_stat_uid)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(UINT2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_uid)operator(\);) operator(}) comment(/* * call-seq: * stat.gid => fixnum * * Returns the numeric group id of the owner of stat. * * File.stat("testfile"\).gid #=> 500 * */) directive(static) ident(VALUE) ident(rb_stat_gid)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(UINT2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_gid)operator(\);) operator(}) comment(/* * call-seq: * stat.rdev => fixnum or nil * * Returns an integer representing the device type on which * stat resides. Returns nil if the operating * system doesn't support this feature. * * File.stat("/dev/fd1"\).rdev #=> 513 * File.stat("/dev/tty"\).rdev #=> 1280 */) directive(static) ident(VALUE) ident(rb_stat_rdev)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_ST_RDEV) reserved(return) ident(ULONG2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_rdev)operator(\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.rdev_major => fixnum * * Returns the major part of File_Stat#rdev or * nil. * * File.stat("/dev/fd1"\).rdev_major #=> 2 * File.stat("/dev/tty"\).rdev_major #=> 5 */) directive(static) ident(VALUE) ident(rb_stat_rdev_major)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_ST_RDEV)operator(\)) operator(&&) ident(defined)operator(()ident(major)operator(\)) pre_type(long) ident(rdev) operator(=) ident(get_stat)operator(()ident(self)operator(\)->)ident(st_rdev)operator(;) reserved(return) ident(ULONG2NUM)operator(()ident(major)operator(()ident(rdev)operator(\)\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.rdev_minor => fixnum * * Returns the minor part of File_Stat#rdev or * nil. * * File.stat("/dev/fd1"\).rdev_minor #=> 1 * File.stat("/dev/tty"\).rdev_minor #=> 0 */) directive(static) ident(VALUE) ident(rb_stat_rdev_minor)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_ST_RDEV)operator(\)) operator(&&) ident(defined)operator(()ident(minor)operator(\)) pre_type(long) ident(rdev) operator(=) ident(get_stat)operator(()ident(self)operator(\)->)ident(st_rdev)operator(;) reserved(return) ident(ULONG2NUM)operator(()ident(minor)operator(()ident(rdev)operator(\)\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.size => fixnum * * Returns the size of stat in bytes. * * File.stat("testfile"\).size #=> 66 */) directive(static) ident(VALUE) ident(rb_stat_size)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(OFFT2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_size)operator(\);) operator(}) comment(/* * call-seq: * stat.blksize => integer or nil * * Returns the native file system's block size. Will return nil * on platforms that don't support this information. * * File.stat("testfile"\).blksize #=> 4096 * */) directive(static) ident(VALUE) ident(rb_stat_blksize)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_ST_BLKSIZE) reserved(return) ident(ULONG2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_blksize)operator(\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.blocks => integer or nil * * Returns the number of native file system blocks allocated for this * file, or nil if the operating system doesn't * support this feature. * * File.stat("testfile"\).blocks #=> 2 */) directive(static) ident(VALUE) ident(rb_stat_blocks)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_ST_BLOCKS) reserved(return) ident(ULONG2NUM)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_blocks)operator(\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * stat.atime => time * * Returns the last access time for this file as an object of class * Time. * * File.stat("testfile"\).atime #=> Wed Dec 31 18:00:00 CST 1969 * */) directive(static) ident(VALUE) ident(rb_stat_atime)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_time_new)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_atime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * stat.mtime -> aTime * * Returns the modification time of stat. * * File.stat("testfile"\).mtime #=> Wed Apr 09 08:53:14 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_stat_mtime)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_time_new)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_mtime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * stat.ctime -> aTime * * Returns the change time for stat (that is, the time * directory information about the file was changed, not the file * itself\). * * File.stat("testfile"\).ctime #=> Wed Apr 09 08:53:14 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_stat_ctime)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) reserved(return) ident(rb_time_new)operator(()ident(get_stat)operator(()ident(self)operator(\)->)ident(st_ctime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * stat.inspect => string * * Produce a nicely formatted description of stat. * * File.stat("/etc/passwd"\).inspect * #=> "#" */) directive(static) ident(VALUE) ident(rb_stat_inspect)operator(()ident(self)operator(\)) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(str)operator(;) pre_type(int) ident(i)operator(;) directive(static) directive(const) reserved(struct) operator({) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\))ident(_)operator((()ident(VALUE)operator(\)\);) operator(}) ident(member)operator([]) operator(=) operator({) operator({)stringoperator(,) ident(rb_stat_dev)operator(},) operator({)stringoperator(,) ident(rb_stat_ino)operator(},) operator({)stringoperator(,) ident(rb_stat_mode)operator(},) operator({)stringoperator(,) ident(rb_stat_nlink)operator(},) operator({)stringoperator(,) ident(rb_stat_uid)operator(},) operator({)stringoperator(,) ident(rb_stat_gid)operator(},) operator({)stringoperator(,) ident(rb_stat_rdev)operator(},) operator({)stringoperator(,) ident(rb_stat_size)operator(},) operator({)stringoperator(,) ident(rb_stat_blksize)operator(},) operator({)stringoperator(,) ident(rb_stat_blocks)operator(},) operator({)stringoperator(,) ident(rb_stat_atime)operator(},) operator({)stringoperator(,) ident(rb_stat_mtime)operator(},) operator({)stringoperator(,) ident(rb_stat_ctime)operator(},) operator(};) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(rb_obj_classname)operator(()ident(self)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) reserved(sizeof)operator(()ident(member)operator(\))operator(/)reserved(sizeof)operator(()ident(member)operator([)integer(0)operator(]\);) ident(i)operator(++\)) operator({) ident(VALUE) ident(v)operator(;) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) operator({) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(member)operator([)ident(i)operator(])operator(.)ident(name)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(v) operator(=) operator((*)ident(member)operator([)ident(i)operator(])operator(.)ident(func)operator(\)()ident(self)operator(\);) reserved(if) operator(()ident(i) operator(==) integer(2)operator(\)) operator({) comment(/* mode */) pre_type(char) ident(buf)operator([)integer(32)operator(];) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(NUM2ULONG)operator(()ident(v)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(buf)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(i) operator(==) integer(0) operator(||) ident(i) operator(==) integer(6)operator(\)) operator({) comment(/* dev/rdev */) pre_type(char) ident(buf)operator([)integer(32)operator(];) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(NUM2ULONG)operator(()ident(v)operator(\)\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(buf)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(v)operator(\)\);) operator(}) operator(}) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(self)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) pre_type(int) ident(rb_stat)operator(()ident(file)operator(,) ident(st)operator(\)) ident(VALUE) ident(file)operator(;) reserved(struct) ident(stat) operator(*)ident(st)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(rb_check_convert_type)operator(()ident(file)operator(,) ident(T_FILE)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(GetOpenFile)operator(()ident(tmp)operator(,) ident(fptr)operator(\);) reserved(return) ident(fstat)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(st)operator(\);) operator(}) ident(SafeStringValue)operator(()ident(file)operator(\);) reserved(return) ident(stat)operator(()ident(StringValueCStr)operator(()ident(file)operator(\),) ident(st)operator(\);) operator(}) preprocessor(#ifdef) ident(_WIN32) directive(static) ident(HANDLE) ident(w32_io_info)operator(()ident(file)operator(,) ident(st)operator(\)) ident(VALUE) operator(*)ident(file)operator(;) ident(BY_HANDLE_FILE_INFORMATION) operator(*)ident(st)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) ident(HANDLE) ident(f)operator(,) ident(ret) operator(=) integer(0)operator(;) ident(tmp) operator(=) ident(rb_check_convert_type)operator((*)ident(file)operator(,) ident(T_FILE)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(tmp)operator(,) ident(fptr)operator(\);) ident(f) operator(=) operator(()ident(HANDLE)operator(\))ident(rb_w32_get_osfhandle)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\);) reserved(if) operator(()ident(f) operator(==) operator(()ident(HANDLE)operator(\)-)integer(1)operator(\)) reserved(return) ident(INVALID_HANDLE_VALUE)operator(;) operator(}) reserved(else) operator({) ident(SafeStringValue)operator((*)ident(file)operator(\);) ident(f) operator(=) ident(CreateFile)operator(()ident(StringValueCStr)operator((*)ident(file)operator(\),) integer(0)operator(,) ident(FILE_SHARE_READ) operator(|) ident(FILE_SHARE_WRITE)operator(,) pre_constant(NULL)operator(,) ident(OPEN_EXISTING)operator(,) ident(rb_w32_iswin95)operator((\)) operator(?) integer(0) operator(:) ident(FILE_FLAG_BACKUP_SEMANTICS)operator(,) pre_constant(NULL)operator(\);) reserved(if) operator(()ident(f) operator(==) ident(INVALID_HANDLE_VALUE)operator(\)) reserved(return) ident(f)operator(;) ident(ret) operator(=) ident(f)operator(;) operator(}) reserved(if) operator(()ident(GetFileType)operator(()ident(f)operator(\)) operator(==) ident(FILE_TYPE_DISK)operator(\)) operator({) ident(ZeroMemory)operator(()ident(st)operator(,) reserved(sizeof)operator((*)ident(st)operator(\)\);) reserved(if) operator(()ident(GetFileInformationByHandle)operator(()ident(f)operator(,) ident(st)operator(\)\)) reserved(return) ident(ret)operator(;) operator(}) reserved(if) operator(()ident(ret)operator(\)) ident(CloseHandle)operator(()ident(ret)operator(\);) reserved(return) ident(INVALID_HANDLE_VALUE)operator(;) operator(}) preprocessor(#endif) comment(/* * call-seq: * File.stat(file_name\) => stat * * Returns a File::Stat object for the named file (see * File::Stat\). * * File.stat("testfile"\).mtime #=> Tue Apr 08 12:58:04 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_file_s_stat)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\)\);) operator(}) reserved(return) ident(stat_new)operator((&)ident(st)operator(\);) operator(}) comment(/* * call-seq: * ios.stat => stat * * Returns status information for ios as an object of type * File::Stat. * * f = File.new("testfile"\) * s = f.stat * "%o" % s.mode #=> "100644" * s.blksize #=> 4096 * s.atime #=> Wed Apr 09 08:53:54 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_io_stat)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) reserved(struct) ident(stat) ident(st)operator(;) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fstat)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(return) ident(stat_new)operator((&)ident(st)operator(\);) operator(}) comment(/* * call-seq: * File.lstat(file_name\) => stat * * Same as File::stat, but does not follow the last symbolic * link. Instead, reports on the link itself. * * File.symlink("testfile", "link2test"\) #=> 0 * File.stat("testfile"\).size #=> 66 * File.lstat("link2test"\).size #=> 8 * File.stat("link2test"\).size #=> 66 * */) directive(static) ident(VALUE) ident(rb_file_s_lstat)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_LSTAT) reserved(struct) ident(stat) ident(st)operator(;) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(lstat)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) operator(}) reserved(return) ident(stat_new)operator((&)ident(st)operator(\);) preprocessor(#else) reserved(return) ident(rb_file_s_stat)operator(()ident(klass)operator(,) ident(fname)operator(\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * file.lstat => stat * * Same as IO#stat, but does not follow the last symbolic * link. Instead, reports on the link itself. * * File.symlink("testfile", "link2test"\) #=> 0 * File.stat("testfile"\).size #=> 66 * f = File.new("link2test"\) * f.lstat.size #=> 8 * f.stat.size #=> 66 */) directive(static) ident(VALUE) ident(rb_file_lstat)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_LSTAT) ident(OpenFile) operator(*)ident(fptr)operator(;) reserved(struct) ident(stat) ident(st)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator((!)ident(fptr)operator(->)ident(path)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(lstat)operator(()ident(fptr)operator(->)ident(path)operator(,) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(return) ident(stat_new)operator((&)ident(st)operator(\);) preprocessor(#else) reserved(return) ident(rb_io_stat)operator(()ident(obj)operator(\);) preprocessor(#endif) operator(}) preprocessor(#ifndef) ident(HAVE_GROUP_MEMBER) directive(static) pre_type(int) ident(group_member)operator(()ident(gid)operator(\)) ident(GETGROUPS_T) ident(gid)operator(;) operator({) preprocessor(#ifndef) ident(_WIN32) reserved(if) operator(()ident(getgid)operator((\)) operator(==) ident(gid) operator(||) ident(getegid)operator((\)) operator(==) ident(gid)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(# ifdef) ident(HAVE_GETGROUPS) preprocessor(# ifndef) ident(NGROUPS) preprocessor(# ifdef) ident(NGROUPS_MAX) preprocessor(# define) ident(NGROUPS) ident(NGROUPS_MAX) preprocessor(# else) preprocessor(# define) ident(NGROUPS) integer(32) preprocessor(# endif) preprocessor(# endif) operator({) ident(GETGROUPS_T) ident(gary)operator([)ident(NGROUPS)operator(];) pre_type(int) ident(anum)operator(;) ident(anum) operator(=) ident(getgroups)operator(()ident(NGROUPS)operator(,) ident(gary)operator(\);) reserved(while) operator((--)ident(anum) operator(>=) integer(0)operator(\)) reserved(if) operator(()ident(gary)operator([)ident(anum)operator(]) operator(==) ident(gid)operator(\)) reserved(return) ident(Qtrue)operator(;) operator(}) preprocessor(# endif) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifndef) ident(S_IXUGO) preprocessor(# define) ident(S_IXUGO) operator(()ident(S_IXUSR) operator(|) ident(S_IXGRP) operator(|) ident(S_IXOTH)operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(S_IXGRP)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CYGWIN__)operator(\)) preprocessor(#define) ident(USE_GETEUID) integer(1) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_EACCESS) pre_type(int) ident(eaccess)operator(()ident(path)operator(,) ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) pre_type(int) ident(mode)operator(;) operator({) preprocessor(#ifdef) ident(USE_GETEUID) reserved(struct) ident(stat) ident(st)operator(;) pre_type(int) ident(euid)operator(;) reserved(if) operator(()ident(stat)operator(()ident(path)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(euid) operator(=) ident(geteuid)operator((\);) reserved(if) operator(()ident(euid) operator(==) integer(0)operator(\)) operator({) comment(/* Root can read or write any file. */) reserved(if) operator((!()ident(mode) operator(&) ident(X_OK)operator(\)\)) reserved(return) integer(0)operator(;) comment(/* Root can execute any file that has any one of the execute bits set. */) reserved(if) operator(()ident(st)operator(.)ident(st_mode) operator(&) ident(S_IXUGO)operator(\)) reserved(return) integer(0)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(st)operator(.)ident(st_uid) operator(==) ident(euid)operator(\)) comment(/* owner */) ident(mode) operator(<<=) integer(6)operator(;) reserved(else) reserved(if) operator(()ident(group_member)operator(()ident(st)operator(.)ident(st_gid)operator(\)\)) ident(mode) operator(<<=) integer(3)operator(;) reserved(if) operator((()ident(st)operator(.)ident(st_mode) operator(&) ident(mode)operator(\)) operator(==) ident(mode)operator(\)) reserved(return) integer(0)operator(;) reserved(return) operator(-)integer(1)operator(;) preprocessor(#else) preprocessor(# if) ident(_MSC_VER) operator(>=) integer(1400) ident(mode) operator(&=) integer(6)operator(;) preprocessor(# endif) reserved(return) ident(access)operator(()ident(path)operator(,) ident(mode)operator(\);) preprocessor(#endif) operator(}) preprocessor(#endif) comment(/* * Document-class: FileTest * * FileTest implements file test operations similar to * those used in File::Stat. It exists as a standalone * module, and its methods are also insinuated into the File * class. (Note that this is not done by inclusion: the interpreter cheats\). * */) comment(/* * call-seq: * File.directory?(file_name\) => true or false * * Returns true if the named file is a directory, * false otherwise. * * File.directory?("."\) */) directive(static) ident(VALUE) ident(test_d)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifndef) ident(S_ISDIR) preprocessor(# define) ident(S_ISDIR)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFDIR)operator(\)) preprocessor(#endif) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.pipe?(file_name\) => true or false * * Returns true if the named file is a pipe. */) directive(static) ident(VALUE) ident(test_p)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifdef) ident(S_IFIFO) preprocessor(# ifndef) ident(S_ISFIFO) preprocessor(# define) ident(S_ISFIFO)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFIFO)operator(\)) preprocessor(# endif) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISFIFO)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.symlink?(file_name\) => true or false * * Returns true if the named file is a symbolic link. */) directive(static) ident(VALUE) ident(test_l)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifndef) ident(S_ISLNK) preprocessor(# ifdef) ident(_S_ISLNK) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) ident(_S_ISLNK)operator(()ident(m)operator(\)) preprocessor(# elif) ident(defined) ident(__BORLANDC__) preprocessor(# ifdef) ident(_S_IFLNK) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) operator(((()pre_type(unsigned) pre_type(short)operator(\)()ident(m)operator(\)) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(_S_IFLNK)operator(\)) preprocessor(# else) preprocessor(# ifdef) ident(S_IFLNK) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) operator(((()pre_type(unsigned) pre_type(short)operator(\)()ident(m)operator(\)) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFLNK)operator(\)) preprocessor(# endif) preprocessor(# endif) preprocessor(# else) preprocessor(# ifdef) ident(_S_IFLNK) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(_S_IFLNK)operator(\)) preprocessor(# else) preprocessor(# ifdef) ident(S_IFLNK) preprocessor(# define) ident(S_ISLNK)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFLNK)operator(\)) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(S_ISLNK) reserved(struct) ident(stat) ident(st)operator(;) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(lstat)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISLNK)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.socket?(file_name\) => true or false * * Returns true if the named file is a socket. */) directive(static) ident(VALUE) ident(test_S)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifndef) ident(S_ISSOCK) preprocessor(# ifdef) ident(_S_ISSOCK) preprocessor(# define) ident(S_ISSOCK)operator(()ident(m)operator(\)) ident(_S_ISSOCK)operator(()ident(m)operator(\)) preprocessor(# elif) ident(defined) ident(__BORLANDC__) preprocessor(# ifdef) ident(_S_IFSOCK) preprocessor(# define) ident(S_ISSOCK)operator(()ident(m)operator(\)) operator(((()pre_type(unsigned) pre_type(short)operator(\)()ident(m)operator(\)) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(_S_IFSOCK)operator(\)) preprocessor(# else) preprocessor(# ifdef) ident(S_IFSOCK) preprocessor(# define) ident(S_ISSOCK)operator(()ident(m)operator(\)) operator(((()pre_type(unsigned) pre_type(short)operator(\)()ident(m)operator(\)) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFSOCK)operator(\)) preprocessor(# endif) preprocessor(# endif) preprocessor(# else) preprocessor(# ifdef) ident(_S_IFSOCK) preprocessor(# define) ident(S_ISSOCK)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(_S_IFSOCK)operator(\)) preprocessor(# else) preprocessor(# ifdef) ident(S_IFSOCK) preprocessor(# define) ident(S_ISSOCK)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFSOCK)operator(\)) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(S_ISSOCK) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISSOCK)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.blockdev?(file_name\) => true or false * * Returns true if the named file is a block device. */) directive(static) ident(VALUE) ident(test_b)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifndef) ident(S_ISBLK) preprocessor(# ifdef) ident(S_IFBLK) preprocessor(# define) ident(S_ISBLK)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFBLK)operator(\)) preprocessor(# else) preprocessor(# define) ident(S_ISBLK)operator(()ident(m)operator(\)) operator(()integer(0)operator(\)) comment(/* anytime false */) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(S_ISBLK) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISBLK)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.chardev?(file_name\) => true or false * * Returns true if the named file is a character device. */) directive(static) ident(VALUE) ident(test_c)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifndef) ident(S_ISCHR) preprocessor(# define) ident(S_ISCHR)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFCHR)operator(\)) preprocessor(#endif) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISCHR)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.exist?(file_name\) => true or false * File.exists?(file_name\) => true or false (obsolete\) * * Return true if the named file exists. */) directive(static) ident(VALUE) ident(test_e)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.readable?(file_name\) => true or false * * Returns true if the named file is readable by the effective * user id of this process. */) directive(static) ident(VALUE) ident(test_r)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(eaccess)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(R_OK)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.readable_real?(file_name\) => true or false * * Returns true if the named file is readable by the real * user id of this process. */) directive(static) ident(VALUE) ident(test_R)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(access)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(R_OK)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.writable?(file_name\) => true or false * * Returns true if the named file is writable by the effective * user id of this process. */) directive(static) ident(VALUE) ident(test_w)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(eaccess)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(W_OK)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.writable_real?(file_name\) => true or false * * Returns true if the named file is writable by the real * user id of this process. */) directive(static) ident(VALUE) ident(test_W)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(access)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(W_OK)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.executable?(file_name\) => true or false * * Returns true if the named file is executable by the effective * user id of this process. */) directive(static) ident(VALUE) ident(test_x)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(eaccess)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(X_OK)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.executable_real?(file_name\) => true or false * * Returns true if the named file is executable by the real * user id of this process. */) directive(static) ident(VALUE) ident(test_X)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(access)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(X_OK)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) preprocessor(#ifndef) ident(S_ISREG) preprocessor(# define) ident(S_ISREG)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFREG)operator(\)) preprocessor(#endif) comment(/* * call-seq: * File.file?(file_name\) => true or false * * Returns true if the named file exists and is a * regular file. */) directive(static) ident(VALUE) ident(test_f)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(S_ISREG)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.zero?(file_name\) => true or false * * Returns true if the named file exists and has * a zero size. */) directive(static) ident(VALUE) ident(test_z)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st)operator(.)ident(st_size) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.size?(file_name\) => Integer or nil * * Returns +nil+ if +file_name+ doesn't exist or has zero size, the size of the * file otherwise. */) directive(static) ident(VALUE) ident(test_s)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(st)operator(.)ident(st_size) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(OFFT2NUM)operator(()ident(st)operator(.)ident(st_size)operator(\);) operator(}) comment(/* * call-seq: * File.owned?(file_name\) => true or false * * Returns true if the named file exists and the * effective used id of the calling process is the owner of * the file. */) directive(static) ident(VALUE) ident(test_owned)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st)operator(.)ident(st_uid) operator(==) ident(geteuid)operator((\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(test_rowned)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st)operator(.)ident(st_uid) operator(==) ident(getuid)operator((\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * File.grpowned?(file_name\) => true or false * * Returns true if the named file exists and the * effective group id of the calling process is the owner of * the file. Returns false on Windows. */) directive(static) ident(VALUE) ident(test_grpowned)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifndef) ident(_WIN32) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(group_member)operator(()ident(st)operator(.)ident(st_gid)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#if) ident(defined)operator(()ident(S_ISUID)operator(\)) operator(||) ident(defined)operator(()ident(S_ISGID)operator(\)) operator(||) ident(defined)operator(()ident(S_ISVTX)operator(\)) directive(static) ident(VALUE) ident(check3rdbyte)operator(()ident(fname)operator(,) ident(mode)operator(\)) ident(VALUE) ident(fname)operator(;) pre_type(int) ident(mode)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(stat)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st)operator(.)ident(st_mode) operator(&) ident(mode)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#endif) comment(/* * call-seq: * File.setuid?(file_name\) => true or false * * Returns true if the named file has the setuid bit set. */) directive(static) ident(VALUE) ident(test_suid)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifdef) ident(S_ISUID) reserved(return) ident(check3rdbyte)operator(()ident(fname)operator(,) ident(S_ISUID)operator(\);) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * File.setgid?(file_name\) => true or false * * Returns true if the named file has the setgid bit set. */) directive(static) ident(VALUE) ident(test_sgid)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifdef) ident(S_ISGID) reserved(return) ident(check3rdbyte)operator(()ident(fname)operator(,) ident(S_ISGID)operator(\);) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * File.sticky?(file_name\) => true or false * * Returns true if the named file has the sticky bit set. */) directive(static) ident(VALUE) ident(test_sticky)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) preprocessor(#ifdef) ident(S_ISVTX) reserved(return) ident(check3rdbyte)operator(()ident(fname)operator(,) ident(S_ISVTX)operator(\);) preprocessor(#else) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * File.identical?(file_1, file_2\) => true or false * * Returns true if the named files are identical. * * open("a", "w"\) {} * p File.identical?("a", "a"\) #=> true * p File.identical?("a", "./a"\) #=> true * File.link("a", "b"\) * p File.identical?("a", "b"\) #=> true * File.symlink("a", "c"\) * p File.identical?("a", "c"\) #=> true * open("d", "w"\) {} * p File.identical?("a", "d"\) #=> false */) directive(static) ident(VALUE) ident(test_identical)operator(()ident(obj)operator(,) ident(fname1)operator(,) ident(fname2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname1)operator(,) ident(fname2)operator(;) operator({) preprocessor(#ifndef) ident(DOSISH) reserved(struct) ident(stat) ident(st1)operator(,) ident(st2)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname1)operator(,) operator(&)ident(st1)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname2)operator(,) operator(&)ident(st2)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st1)operator(.)ident(st_dev) operator(!=) ident(st2)operator(.)ident(st_dev)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st1)operator(.)ident(st_ino) operator(!=) ident(st2)operator(.)ident(st_ino)operator(\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(_WIN32) ident(BY_HANDLE_FILE_INFORMATION) ident(st1)operator(,) ident(st2)operator(;) ident(HANDLE) ident(f1) operator(=) integer(0)operator(,) ident(f2) operator(=) integer(0)operator(;) preprocessor(#endif) ident(rb_secure)operator(()integer(2)operator(\);) preprocessor(#ifdef) ident(_WIN32) ident(f1) operator(=) ident(w32_io_info)operator((&)ident(fname1)operator(,) operator(&)ident(st1)operator(\);) reserved(if) operator(()ident(f1) operator(==) ident(INVALID_HANDLE_VALUE)operator(\)) reserved(return) ident(Qfalse)operator(;) ident(f2) operator(=) ident(w32_io_info)operator((&)ident(fname2)operator(,) operator(&)ident(st2)operator(\);) reserved(if) operator(()ident(f1)operator(\)) ident(CloseHandle)operator(()ident(f1)operator(\);) reserved(if) operator(()ident(f2) operator(==) ident(INVALID_HANDLE_VALUE)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(f2)operator(\)) ident(CloseHandle)operator(()ident(f2)operator(\);) reserved(if) operator(()ident(st1)operator(.)ident(dwVolumeSerialNumber) operator(==) ident(st2)operator(.)ident(dwVolumeSerialNumber) operator(&&) ident(st1)operator(.)ident(nFileIndexHigh) operator(==) ident(st2)operator(.)ident(nFileIndexHigh) operator(&&) ident(st1)operator(.)ident(nFileIndexLow) operator(==) ident(st2)operator(.)ident(nFileIndexLow)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator((!)ident(f1) operator(||) operator(!)ident(f2)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_w32_iswin95)operator((\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#else) ident(SafeStringValue)operator(()ident(fname1)operator(\);) ident(fname1) operator(=) ident(rb_str_new4)operator(()ident(fname1)operator(\);) ident(SafeStringValue)operator(()ident(fname2)operator(\);) reserved(if) operator(()ident(access)operator(()ident(RSTRING)operator(()ident(fname1)operator(\)->)ident(ptr)operator(,) integer(0)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(access)operator(()ident(RSTRING)operator(()ident(fname2)operator(\)->)ident(ptr)operator(,) integer(0)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) ident(fname1) operator(=) ident(rb_file_expand_path)operator(()ident(fname1)operator(,) ident(Qnil)operator(\);) ident(fname2) operator(=) ident(rb_file_expand_path)operator(()ident(fname2)operator(,) ident(Qnil)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(fname1)operator(\)->)ident(len) operator(!=) ident(RSTRING)operator(()ident(fname2)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_memcicmp)operator(()ident(RSTRING)operator(()ident(fname1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(fname2)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(fname1)operator(\)->)ident(len)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * File.size(file_name\) => integer * * Returns the size of file_name. */) directive(static) ident(VALUE) ident(rb_file_s_size)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\)\);) reserved(return) ident(OFFT2NUM)operator(()ident(st)operator(.)ident(st_size)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_file_ftype)operator(()ident(st)operator(\)) reserved(struct) ident(stat) operator(*)ident(st)operator(;) operator({) pre_type(char) operator(*)ident(t)operator(;) reserved(if) operator(()ident(S_ISREG)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(S_ISDIR)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(S_ISCHR)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) preprocessor(#ifdef) ident(S_ISBLK) reserved(else) reserved(if) operator(()ident(S_ISBLK)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(S_ISFIFO) reserved(else) reserved(if) operator(()ident(S_ISFIFO)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(S_ISLNK) reserved(else) reserved(if) operator(()ident(S_ISLNK)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(S_ISSOCK) reserved(else) reserved(if) operator(()ident(S_ISSOCK)operator(()ident(st)operator(->)ident(st_mode)operator(\)\)) operator({) ident(t) operator(=) stringoperator(;) operator(}) preprocessor(#endif) reserved(else) operator({) ident(t) operator(=) stringoperator(;) operator(}) reserved(return) ident(rb_str_new2)operator(()ident(t)operator(\);) operator(}) comment(/* * call-seq: * File.ftype(file_name\) => string * * Identifies the type of the named file; the return string is one of * ``file'', ``directory'', * ``characterSpecial'', ``blockSpecial'', * ``fifo'', ``link'', * ``socket'', or ``unknown''. * * File.ftype("testfile"\) #=> "file" * File.ftype("/dev/tty"\) #=> "characterSpecial" * File.ftype("/tmp/.X11-unix/X0"\) #=> "socket" */) directive(static) ident(VALUE) ident(rb_file_s_ftype)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(lstat)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) operator(}) reserved(return) ident(rb_file_ftype)operator((&)ident(st)operator(\);) operator(}) comment(/* * call-seq: * File.atime(file_name\) => time * * Returns the last access time for the named file as a Time object\). * * File.atime("testfile"\) #=> Wed Apr 09 08:51:48 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_file_s_atime)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\)\);) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_atime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * file.atime => time * * Returns the last access time (a Time object\) * for file, or epoch if file has not been accessed. * * File.new("testfile"\).atime #=> Wed Dec 31 18:00:00 CST 1969 * */) directive(static) ident(VALUE) ident(rb_file_atime)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) reserved(struct) ident(stat) ident(st)operator(;) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fstat)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_atime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * File.mtime(file_name\) => time * * Returns the modification time for the named file as a Time object. * * File.mtime("testfile"\) #=> Tue Apr 08 12:58:04 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_file_s_mtime)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_mtime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * file.mtime -> time * * Returns the modification time for file. * * File.new("testfile"\).mtime #=> Wed Apr 09 08:53:14 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_file_mtime)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) reserved(struct) ident(stat) ident(st)operator(;) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fstat)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_mtime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * File.ctime(file_name\) => time * * Returns the change time for the named file (the time at which * directory information about the file was changed, not the file * itself\). * * File.ctime("testfile"\) #=> Wed Apr 09 08:53:13 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_file_s_ctime)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(fname)operator(,) operator(&)ident(st)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_ctime)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * file.ctime -> time * * Returns the change time for file (that is, the time directory * information about the file was changed, not the file itself\). * * File.new("testfile"\).ctime #=> Wed Apr 09 08:53:14 CDT 2003 * */) directive(static) ident(VALUE) ident(rb_file_ctime)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) reserved(struct) ident(stat) ident(st)operator(;) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fstat)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_ctime)operator(,) integer(0)operator(\);) operator(}) directive(static) directive(void) ident(chmod_internal) ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) directive(static) directive(void) ident(chmod_internal)operator(()ident(path)operator(,) ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(mode)operator(;) operator({) reserved(if) operator(()ident(chmod)operator(()ident(path)operator(,) operator(*()pre_type(int) operator(*\))ident(mode)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * File.chmod(mode_int, file_name, ... \) -> integer * * Changes permission bits on the named file(s\) to the bit pattern * represented by mode_int. Actual effects are operating system * dependent (see the beginning of this section\). On Unix systems, see * chmod(2\) for details. Returns the number of files * processed. * * File.chmod(0644, "testfile", "out"\) #=> 2 */) directive(static) ident(VALUE) ident(rb_file_s_chmod)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(vmode)operator(;) ident(VALUE) ident(rest)operator(;) pre_type(int) ident(mode)operator(;) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(vmode)operator(,) operator(&)ident(rest)operator(\);) ident(mode) operator(=) ident(NUM2INT)operator(()ident(vmode)operator(\);) ident(n) operator(=) ident(apply2files)operator(()ident(chmod_internal)operator(,) ident(rest)operator(,) operator(&)ident(mode)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) comment(/* * call-seq: * file.chmod(mode_int\) => 0 * * Changes permission bits on file to the bit pattern * represented by mode_int. Actual effects are platform * dependent; on Unix systems, see chmod(2\) for details. * Follows symbolic links. Also see File#lchmod. * * f = File.new("out", "w"\); * f.chmod(0644\) #=> 0 */) directive(static) ident(VALUE) ident(rb_file_chmod)operator(()ident(obj)operator(,) ident(vmode)operator(\)) ident(VALUE) ident(obj)operator(,) ident(vmode)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(mode)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(mode) operator(=) ident(NUM2INT)operator(()ident(vmode)operator(\);) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) preprocessor(#ifdef) ident(HAVE_FCHMOD) reserved(if) operator(()ident(fchmod)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(mode)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#else) reserved(if) operator((!)ident(fptr)operator(->)ident(path)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(chmod)operator(()ident(fptr)operator(->)ident(path)operator(,) ident(mode)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_LCHMOD)operator(\)) directive(static) directive(void) ident(lchmod_internal) ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) directive(static) directive(void) ident(lchmod_internal)operator(()ident(path)operator(,) ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(mode)operator(;) operator({) reserved(if) operator(()ident(lchmod)operator(()ident(path)operator(,) operator(()pre_type(int)operator(\))ident(mode)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * File.lchmod(mode_int, file_name, ...\) => integer * * Equivalent to File::chmod, but does not follow symbolic * links (so it will change the permissions associated with the link, * not the file referenced by the link\). Often not available. * */) directive(static) ident(VALUE) ident(rb_file_s_lchmod)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(vmode)operator(;) ident(VALUE) ident(rest)operator(;) pre_type(long) ident(mode)operator(,) ident(n)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(vmode)operator(,) operator(&)ident(rest)operator(\);) ident(mode) operator(=) ident(NUM2INT)operator(()ident(vmode)operator(\);) ident(n) operator(=) ident(apply2files)operator(()ident(lchmod_internal)operator(,) ident(rest)operator(,) operator(()directive(void) operator(*\)()pre_type(long)operator(\))ident(mode)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) preprocessor(#else) directive(static) ident(VALUE) ident(rb_file_s_lchmod)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) preprocessor(#endif) reserved(struct) ident(chown_args) operator({) pre_type(int) ident(owner)operator(,) ident(group)operator(;) operator(};) directive(static) directive(void) ident(chown_internal) ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) directive(static) directive(void) ident(chown_internal)operator(()ident(path)operator(,) ident(argp)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(argp)operator(;) operator({) reserved(struct) ident(chown_args) operator(*)ident(args) operator(=) operator(()reserved(struct) ident(chown_args) operator(*\))ident(argp)operator(;) reserved(if) operator(()ident(chown)operator(()ident(path)operator(,) ident(args)operator(->)ident(owner)operator(,) ident(args)operator(->)ident(group)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * File.chown(owner_int, group_int, file_name,... \) -> integer * * Changes the owner and group of the named file(s\) to the given * numeric owner and group id's. Only a process with superuser * privileges may change the owner of a file. The current owner of a * file may change the file's group to any group to which the owner * belongs. A nil or -1 owner or group id is ignored. * Returns the number of files processed. * * File.chown(nil, 100, "testfile"\) * */) directive(static) ident(VALUE) ident(rb_file_s_chown)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(o)operator(,) ident(g)operator(,) ident(rest)operator(;) reserved(struct) ident(chown_args) ident(arg)operator(;) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(o)operator(,) operator(&)ident(g)operator(,) operator(&)ident(rest)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(o)operator(\)\)) operator({) ident(arg)operator(.)ident(owner) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) ident(arg)operator(.)ident(owner) operator(=) ident(NUM2INT)operator(()ident(o)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(g)operator(\)\)) operator({) ident(arg)operator(.)ident(group) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) ident(arg)operator(.)ident(group) operator(=) ident(NUM2INT)operator(()ident(g)operator(\);) operator(}) ident(n) operator(=) ident(apply2files)operator(()ident(chown_internal)operator(,) ident(rest)operator(,) operator(&)ident(arg)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) comment(/* * call-seq: * file.chown(owner_int, group_int \) => 0 * * Changes the owner and group of file to the given numeric * owner and group id's. Only a process with superuser privileges may * change the owner of a file. The current owner of a file may change * the file's group to any group to which the owner belongs. A * nil or -1 owner or group id is ignored. Follows * symbolic links. See also File#lchown. * * File.new("testfile"\).chown(502, 1000\) * */) directive(static) ident(VALUE) ident(rb_file_chown)operator(()ident(obj)operator(,) ident(owner)operator(,) ident(group)operator(\)) ident(VALUE) ident(obj)operator(,) ident(owner)operator(,) ident(group)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(o)operator(,) ident(g)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(o) operator(=) ident(NIL_P)operator(()ident(owner)operator(\)) operator(?) operator(-)integer(1) operator(:) ident(NUM2INT)operator(()ident(owner)operator(\);) ident(g) operator(=) ident(NIL_P)operator(()ident(group)operator(\)) operator(?) operator(-)integer(1) operator(:) ident(NUM2INT)operator(()ident(group)operator(\);) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN32__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(__EMX__)operator(\)) reserved(if) operator((!)ident(fptr)operator(->)ident(path)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(chown)operator(()ident(fptr)operator(->)ident(path)operator(,) ident(o)operator(,) ident(g)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#else) reserved(if) operator(()ident(fchown)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(o)operator(,) ident(g)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_LCHOWN)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) directive(static) directive(void) ident(lchown_internal) ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) directive(static) directive(void) ident(lchown_internal)operator(()ident(path)operator(,) ident(argp)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(argp)operator(;) operator({) reserved(struct) ident(chown_args) operator(*)ident(args) operator(=) operator(()reserved(struct) ident(chown_args) operator(*\))ident(argp)operator(;) reserved(if) operator(()ident(lchown)operator(()ident(path)operator(,) ident(args)operator(->)ident(owner)operator(,) ident(args)operator(->)ident(group)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * file.lchown(owner_int, group_int, file_name,..\) => integer * * Equivalent to File::chown, but does not follow symbolic * links (so it will change the owner associated with the link, not the * file referenced by the link\). Often not available. Returns number * of files in the argument list. * */) directive(static) ident(VALUE) ident(rb_file_s_lchown)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(o)operator(,) ident(g)operator(,) ident(rest)operator(;) reserved(struct) ident(chown_args) ident(arg)operator(;) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(o)operator(,) operator(&)ident(g)operator(,) operator(&)ident(rest)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(o)operator(\)\)) operator({) ident(arg)operator(.)ident(owner) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) ident(arg)operator(.)ident(owner) operator(=) ident(NUM2INT)operator(()ident(o)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(g)operator(\)\)) operator({) ident(arg)operator(.)ident(group) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) ident(arg)operator(.)ident(group) operator(=) ident(NUM2INT)operator(()ident(g)operator(\);) operator(}) ident(n) operator(=) ident(apply2files)operator(()ident(lchown_internal)operator(,) ident(rest)operator(,) operator(&)ident(arg)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) preprocessor(#else) directive(static) ident(VALUE) ident(rb_file_s_lchown)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(rb_notimplement)operator((\);) operator(}) preprocessor(#endif) reserved(struct) ident(timeval) ident(rb_time_timeval)operator((\);) directive(static) directive(void) ident(utime_internal) ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_UTIMES)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) directive(static) directive(void) ident(utime_internal)operator(()ident(path)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(arg)operator(;) operator({) reserved(struct) ident(timeval) operator(*)ident(tvp) operator(=) ident(arg)operator(;) reserved(if) operator(()ident(utimes)operator(()ident(path)operator(,) ident(tvp)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * File.utime(atime, mtime, file_name,...\) => integer * * Sets the access and modification times of each * named file to the first two arguments. Returns * the number of file names in the argument list. */) directive(static) ident(VALUE) ident(rb_file_s_utime)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(atime)operator(,) ident(mtime)operator(,) ident(rest)operator(;) reserved(struct) ident(timeval) ident(tvs)operator([)integer(2)operator(],) operator(*)ident(tvp) operator(=) pre_constant(NULL)operator(;) pre_type(long) ident(n)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(atime)operator(,) operator(&)ident(mtime)operator(,) operator(&)ident(rest)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(atime)operator(\)) operator(||) operator(!)ident(NIL_P)operator(()ident(mtime)operator(\)\)) operator({) ident(tvp) operator(=) ident(tvs)operator(;) ident(tvp)operator([)integer(0)operator(]) operator(=) ident(rb_time_timeval)operator(()ident(atime)operator(\);) ident(tvp)operator([)integer(1)operator(]) operator(=) ident(rb_time_timeval)operator(()ident(mtime)operator(\);) operator(}) ident(n) operator(=) ident(apply2files)operator(()ident(utime_internal)operator(,) ident(rest)operator(,) ident(tvp)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) preprocessor(#else) preprocessor(#if) operator(!)ident(defined) ident(HAVE_UTIME_H) operator(&&) operator(!)ident(defined) ident(HAVE_SYS_UTIME_H) reserved(struct) ident(utimbuf) operator({) pre_type(long) ident(actime)operator(;) pre_type(long) ident(modtime)operator(;) operator(};) preprocessor(#endif) directive(static) directive(void) ident(utime_internal)operator(()ident(path)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(arg)operator(;) operator({) reserved(struct) ident(utimbuf) operator(*)ident(utp) operator(=) ident(arg)operator(;) reserved(if) operator(()ident(utime)operator(()ident(path)operator(,) ident(utp)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_file_s_utime)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(atime)operator(,) ident(mtime)operator(,) ident(rest)operator(;) pre_type(long) ident(n)operator(;) reserved(struct) ident(timeval) ident(tv)operator(;) reserved(struct) ident(utimbuf) ident(utbuf)operator(,) operator(*)ident(utp) operator(=) pre_constant(NULL)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(atime)operator(,) operator(&)ident(mtime)operator(,) operator(&)ident(rest)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(atime)operator(\)) operator(||) operator(!)ident(NIL_P)operator(()ident(mtime)operator(\)\)) operator({) ident(utp) operator(=) operator(&)ident(utbuf)operator(;) ident(tv) operator(=) ident(rb_time_timeval)operator(()ident(atime)operator(\);) ident(utp)operator(->)ident(actime) operator(=) ident(tv)operator(.)ident(tv_sec)operator(;) ident(tv) operator(=) ident(rb_time_timeval)operator(()ident(mtime)operator(\);) ident(utp)operator(->)ident(modtime) operator(=) ident(tv)operator(.)ident(tv_sec)operator(;) operator(}) ident(n) operator(=) ident(apply2files)operator(()ident(utime_internal)operator(,) ident(rest)operator(,) ident(utp)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) preprocessor(#endif) ident(NORETURN)operator(()directive(static) directive(void) ident(sys_fail2) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\)\);) directive(static) directive(void) ident(sys_fail2)operator(()ident(s1)operator(,) ident(s2)operator(\)) ident(VALUE) ident(s1)operator(,) ident(s2)operator(;) operator({) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(len)operator(;) ident(len) operator(=) ident(RSTRING)operator(()ident(s1)operator(\)->)ident(len) operator(+) ident(RSTRING)operator(()ident(s2)operator(\)->)ident(len) operator(+) integer(5)operator(;) ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(buf)operator(,) ident(len)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(s1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(s2)operator(\)->)ident(ptr)operator(\);) ident(rb_sys_fail)operator(()ident(buf)operator(\);) operator(}) comment(/* * call-seq: * File.link(old_name, new_name\) => 0 * * Creates a new name for an existing file using a hard link. Will not * overwrite new_name if it already exists (raising a subclass * of SystemCallError\). Not available on all platforms. * * File.link("testfile", ".testfile"\) #=> 0 * IO.readlines(".testfile"\)[0] #=> "This is line one\\n" */) directive(static) ident(VALUE) ident(rb_file_s_link)operator(()ident(klass)operator(,) ident(from)operator(,) ident(to)operator(\)) ident(VALUE) ident(klass)operator(,) ident(from)operator(,) ident(to)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_LINK) ident(SafeStringValue)operator(()ident(from)operator(\);) ident(SafeStringValue)operator(()ident(to)operator(\);) reserved(if) operator(()ident(link)operator(()ident(StringValueCStr)operator(()ident(from)operator(\),) ident(StringValueCStr)operator(()ident(to)operator(\)\)) operator(<) integer(0)operator(\)) operator({) ident(sys_fail2)operator(()ident(from)operator(,) ident(to)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * File.symlink(old_name, new_name\) => 0 * * Creates a symbolic link called new_name for the existing file * old_name. Raises a NotImplemented exception on * platforms that do not support symbolic links. * * File.symlink("testfile", "link2test"\) #=> 0 * */) directive(static) ident(VALUE) ident(rb_file_s_symlink)operator(()ident(klass)operator(,) ident(from)operator(,) ident(to)operator(\)) ident(VALUE) ident(klass)operator(,) ident(from)operator(,) ident(to)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_SYMLINK) ident(SafeStringValue)operator(()ident(from)operator(\);) ident(SafeStringValue)operator(()ident(to)operator(\);) reserved(if) operator(()ident(symlink)operator(()ident(StringValueCStr)operator(()ident(from)operator(\),) ident(StringValueCStr)operator(()ident(to)operator(\)\)) operator(<) integer(0)operator(\)) operator({) ident(sys_fail2)operator(()ident(from)operator(,) ident(to)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * File.readlink(link_name\) -> file_name * * Returns the name of the file referenced by the given link. * Not available on all platforms. * * File.symlink("testfile", "link2test"\) #=> 0 * File.readlink("link2test"\) #=> "testfile" */) directive(static) ident(VALUE) ident(rb_file_s_readlink)operator(()ident(klass)operator(,) ident(path)operator(\)) ident(VALUE) ident(klass)operator(,) ident(path)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_READLINK) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(size) operator(=) integer(100)operator(;) pre_type(int) ident(rv)operator(;) ident(VALUE) ident(v)operator(;) ident(SafeStringValue)operator(()ident(path)operator(\);) ident(buf) operator(=) ident(xmalloc)operator(()ident(size)operator(\);) reserved(while) operator((()ident(rv) operator(=) ident(readlink)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(,) ident(buf)operator(,) ident(size)operator(\)\)) operator(==) ident(size) preprocessor(#ifdef) ident(_AIX) operator(||) operator(()ident(rv) operator(<) integer(0) operator(&&) ident(errno) operator(==) ident(ERANGE)operator(\)) comment(/* quirky behavior of GPFS */) preprocessor(#endif) operator(\)) operator({) ident(size) operator(*=) integer(2)operator(;) ident(buf) operator(=) ident(xrealloc)operator(()ident(buf)operator(,) ident(size)operator(\);) operator(}) reserved(if) operator(()ident(rv) operator(<) integer(0)operator(\)) operator({) ident(free)operator(()ident(buf)operator(\);) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) operator(}) ident(v) operator(=) ident(rb_tainted_str_new)operator(()ident(buf)operator(,) ident(rv)operator(\);) ident(free)operator(()ident(buf)operator(\);) reserved(return) ident(v)operator(;) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) directive(static) directive(void) ident(unlink_internal) ident(_)operator((()directive(const) pre_type(char) operator(*,) directive(void) operator(*\)\);) directive(static) directive(void) ident(unlink_internal)operator(()ident(path)operator(,) ident(arg)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) directive(void) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(unlink)operator(()ident(path)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * File.delete(file_name, ...\) => integer * File.unlink(file_name, ...\) => integer * * Deletes the named files, returning the number of names * passed as arguments. Raises an exception on any error. * See also Dir::rmdir. */) directive(static) ident(VALUE) ident(rb_file_s_unlink)operator(()ident(klass)operator(,) ident(args)operator(\)) ident(VALUE) ident(klass)operator(,) ident(args)operator(;) operator({) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(n) operator(=) ident(apply2files)operator(()ident(unlink_internal)operator(,) ident(args)operator(,) integer(0)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) comment(/* * call-seq: * File.rename(old_name, new_name\) => 0 * * Renames the given file to the new name. Raises a * SystemCallError if the file cannot be renamed. * * File.rename("afile", "afile.bak"\) #=> 0 */) directive(static) ident(VALUE) ident(rb_file_s_rename)operator(()ident(klass)operator(,) ident(from)operator(,) ident(to)operator(\)) ident(VALUE) ident(klass)operator(,) ident(from)operator(,) ident(to)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(src)operator(,) operator(*)ident(dst)operator(;) ident(SafeStringValue)operator(()ident(from)operator(\);) ident(SafeStringValue)operator(()ident(to)operator(\);) ident(src) operator(=) ident(StringValueCStr)operator(()ident(from)operator(\);) ident(dst) operator(=) ident(StringValueCStr)operator(()ident(to)operator(\);) preprocessor(#if) ident(defined) ident(__CYGWIN__) ident(errno) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator(()ident(rename)operator(()ident(src)operator(,) ident(dst)operator(\)) operator(<) integer(0)operator(\)) operator({) preprocessor(#if) ident(defined) ident(DOSISH) operator(&&) operator(!)ident(defined) ident(_WIN32) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EEXIST)operator(:) preprocessor(#if) ident(defined) operator(()ident(__EMX__)operator(\)) reserved(case) ident(EACCES)operator(:) preprocessor(#endif) reserved(if) operator(()ident(chmod)operator(()ident(dst)operator(,) oct(0666)operator(\)) operator(==) integer(0) operator(&&) ident(unlink)operator(()ident(dst)operator(\)) operator(==) integer(0) operator(&&) ident(rename)operator(()ident(src)operator(,) ident(dst)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) preprocessor(#endif) ident(sys_fail2)operator(()ident(from)operator(,) ident(to)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * File.umask(\) => integer * File.umask(integer\) => integer * * Returns the current umask value for this process. If the optional * argument is given, set the umask to that value and return the * previous value. Umask values are subtracted from the * default permissions, so a umask of 0222 would make a * file read-only for everyone. * * File.umask(0006\) #=> 18 * File.umask #=> 6 */) directive(static) ident(VALUE) ident(rb_file_s_umask)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(omask) operator(=) integer(0)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(omask) operator(=) ident(umask)operator(()integer(0)operator(\);) ident(umask)operator(()ident(omask)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(omask) operator(=) ident(umask)operator(()ident(NUM2INT)operator(()ident(argv)operator([)integer(0)operator(]\)\);) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(omask)operator(\);) operator(}) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(#undef) ident(DOSISH) preprocessor(#endif) preprocessor(#if) ident(defined) ident(__CYGWIN__) operator(||) ident(defined) ident(DOSISH) preprocessor(#define) ident(DOSISH_UNC) preprocessor(#define) ident(DOSISH_DRIVE_LETTER) preprocessor(#define) ident(isdirsep)operator(()ident(x)operator(\)) operator((()ident(x)operator(\)) operator(==) char('/') operator(||) operator(()ident(x)operator(\)) operator(==) char('\\\\')operator(\)) preprocessor(#else) preprocessor(#define) ident(isdirsep)operator(()ident(x)operator(\)) operator((()ident(x)operator(\)) operator(==) char('/')operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined) ident(_WIN32) operator(||) ident(defined) ident(__CYGWIN__) preprocessor(#define) ident(USE_NTFS) integer(1) preprocessor(#else) preprocessor(#define) ident(USE_NTFS) integer(0) preprocessor(#endif) preprocessor(#if) ident(USE_NTFS) preprocessor(#define) ident(istrailinggabage)operator(()ident(x)operator(\)) operator((()ident(x)operator(\)) operator(==) char('.') operator(||) operator(()ident(x)operator(\)) operator(==) char(' ')operator(\)) preprocessor(#else) preprocessor(#define) ident(istrailinggabage)operator(()ident(x)operator(\)) integer(0) preprocessor(#endif) preprocessor(#ifndef) ident(CharNext) comment(/* defined as CharNext[AW] on Windows. */) preprocessor(# if) ident(defined)operator(()ident(DJGPP)operator(\)) preprocessor(# define) ident(CharNext)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(+) ident(mblen)operator(()ident(p)operator(,) ident(MB_CUR_MAX)operator(\)\)) preprocessor(# else) preprocessor(# define) ident(CharNext)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(+) integer(1)operator(\)) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) directive(static) directive(inline) pre_type(int) ident(has_drive_letter)operator(()ident(buf)operator(\)) directive(const) pre_type(char) operator(*)ident(buf)operator(;) operator({) reserved(if) operator(()ident(ISALPHA)operator(()ident(buf)operator([)integer(0)operator(]\)) operator(&&) ident(buf)operator([)integer(1)operator(]) operator(==) char(':')operator(\)) operator({) reserved(return) integer(1)operator(;) operator(}) reserved(else) operator({) reserved(return) integer(0)operator(;) operator(}) operator(}) directive(static) pre_type(char)operator(*) ident(getcwdofdrv)operator(()ident(drv)operator(\)) pre_type(int) ident(drv)operator(;) operator({) pre_type(char) ident(drive)operator([)integer(4)operator(];) pre_type(char) operator(*)ident(drvcwd)operator(,) operator(*)ident(oldcwd)operator(;) ident(drive)operator([)integer(0)operator(]) operator(=) ident(drv)operator(;) ident(drive)operator([)integer(1)operator(]) operator(=) char(':')operator(;) ident(drive)operator([)integer(2)operator(]) operator(=) char('\\0')operator(;) comment(/* the only way that I know to get the current directory of a particular drive is to change chdir(\) to that drive, so save the old cwd before chdir(\) */) ident(oldcwd) operator(=) ident(my_getcwd)operator((\);) reserved(if) operator(()ident(chdir)operator(()ident(drive)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(drvcwd) operator(=) ident(my_getcwd)operator((\);) ident(chdir)operator(()ident(oldcwd)operator(\);) ident(free)operator(()ident(oldcwd)operator(\);) operator(}) reserved(else) operator({) comment(/* perhaps the drive is not exist. we return only drive letter */) ident(drvcwd) operator(=) ident(strdup)operator(()ident(drive)operator(\);) operator(}) reserved(return) ident(drvcwd)operator(;) operator(}) preprocessor(#endif) directive(static) directive(inline) pre_type(char) operator(*) ident(skiproot)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) reserved(if) operator(()ident(has_drive_letter)operator(()ident(path)operator(\)\)) ident(path) operator(+=) integer(2)operator(;) preprocessor(#endif) reserved(while) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(return) operator(()pre_type(char) operator(*\))ident(path)operator(;) operator(}) preprocessor(#define) ident(nextdirsep) ident(rb_path_next) pre_type(char) operator(*) ident(rb_path_next)operator(()ident(s)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) operator({) reserved(while) operator((*)ident(s) operator(&&) operator(!)ident(isdirsep)operator((*)ident(s)operator(\)\)) operator({) ident(s) operator(=) ident(CharNext)operator(()ident(s)operator(\);) operator(}) reserved(return) operator(()pre_type(char) operator(*\))ident(s)operator(;) operator(}) preprocessor(#if) ident(defined)operator(()ident(DOSISH_UNC)operator(\)) operator(||) ident(defined)operator(()ident(DOSISH_DRIVE_LETTER)operator(\)) preprocessor(#define) ident(skipprefix) ident(rb_path_skip_prefix) preprocessor(#else) preprocessor(#define) ident(skipprefix)operator(()ident(path)operator(\)) operator(()ident(path)operator(\)) preprocessor(#endif) pre_type(char) operator(*) ident(rb_path_skip_prefix)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(DOSISH_UNC)operator(\)) operator(||) ident(defined)operator(()ident(DOSISH_DRIVE_LETTER)operator(\)) preprocessor(#ifdef) ident(DOSISH_UNC) reserved(if) operator(()ident(isdirsep)operator(()ident(path)operator([)integer(0)operator(]\)) operator(&&) ident(isdirsep)operator(()ident(path)operator([)integer(1)operator(]\)\)) operator({) ident(path) operator(+=) integer(2)operator(;) reserved(while) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(if) operator((*()ident(path) operator(=) ident(nextdirsep)operator(()ident(path)operator(\)\)) operator(&&) ident(path)operator([)integer(1)operator(]) operator(&&) operator(!)ident(isdirsep)operator(()ident(path)operator([)integer(1)operator(]\)\)) ident(path) operator(=) ident(nextdirsep)operator(()ident(path) operator(+) integer(1)operator(\);) reserved(return) operator(()pre_type(char) operator(*\))ident(path)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) reserved(if) operator(()ident(has_drive_letter)operator(()ident(path)operator(\)\)) reserved(return) operator(()pre_type(char) operator(*\)()ident(path) operator(+) integer(2)operator(\);) preprocessor(#endif) preprocessor(#endif) reserved(return) operator(()pre_type(char) operator(*\))ident(path)operator(;) operator(}) preprocessor(#define) ident(strrdirsep) ident(rb_path_last_separator) pre_type(char) operator(*) ident(rb_path_last_separator)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) pre_type(char) operator(*)ident(last) operator(=) pre_constant(NULL)operator(;) reserved(while) operator((*)ident(path)operator(\)) operator({) reserved(if) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) operator({) directive(const) pre_type(char) operator(*)ident(tmp) operator(=) ident(path)operator(++;) reserved(while) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(if) operator((!*)ident(path)operator(\)) reserved(break)operator(;) ident(last) operator(=) operator(()pre_type(char) operator(*\))ident(tmp)operator(;) operator(}) reserved(else) operator({) ident(path) operator(=) ident(CharNext)operator(()ident(path)operator(\);) operator(}) operator(}) reserved(return) ident(last)operator(;) operator(}) directive(static) pre_type(char) operator(*) ident(chompdirsep)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) reserved(while) operator((*)ident(path)operator(\)) operator({) reserved(if) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) operator({) directive(const) pre_type(char) operator(*)ident(last) operator(=) ident(path)operator(++;) reserved(while) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(if) operator((!*)ident(path)operator(\)) reserved(return) operator(()pre_type(char) operator(*\))ident(last)operator(;) operator(}) reserved(else) operator({) ident(path) operator(=) ident(CharNext)operator(()ident(path)operator(\);) operator(}) operator(}) reserved(return) operator(()pre_type(char) operator(*\))ident(path)operator(;) operator(}) pre_type(char) operator(*) ident(rb_path_end)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) reserved(if) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(return) ident(chompdirsep)operator(()ident(path)operator(\);) operator(}) preprocessor(#if) ident(USE_NTFS) directive(static) pre_type(char) operator(*) ident(ntfs_tail)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(\)) operator({) reserved(while) operator((*)ident(path) operator(==) char('.')operator(\)) ident(path)operator(++;) reserved(while) operator((*)ident(path) operator(&&) operator(*)ident(path) operator(!=) char(':')operator(\)) operator({) reserved(if) operator(()ident(istrailinggabage)operator((*)ident(path)operator(\)\)) operator({) directive(const) pre_type(char) operator(*)ident(last) operator(=) ident(path)operator(++;) reserved(while) operator(()ident(istrailinggabage)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(if) operator((!*)ident(path) operator(||) operator(*)ident(path) operator(==) char(':')operator(\)) reserved(return) operator(()pre_type(char) operator(*\))ident(last)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) operator({) directive(const) pre_type(char) operator(*)ident(last) operator(=) ident(path)operator(++;) reserved(while) operator(()ident(isdirsep)operator((*)ident(path)operator(\)\)) ident(path)operator(++;) reserved(if) operator((!*)ident(path)operator(\)) reserved(return) operator(()pre_type(char) operator(*\))ident(last)operator(;) reserved(if) operator((*)ident(path) operator(==) char(':')operator(\)) ident(path)operator(++;) operator(}) reserved(else) operator({) ident(path) operator(=) ident(CharNext)operator(()ident(path)operator(\);) operator(}) operator(}) reserved(return) operator(()pre_type(char) operator(*\))ident(path)operator(;) operator(}) preprocessor(#endif) preprocessor(#define) ident(BUFCHECK)operator(()ident(cond)operator(\)) reserved(do) operator({)\ pre_type(long) ident(bdiff) operator(=) ident(p) operator(-) ident(buf)operator(;)\ reserved(if) operator(()ident(cond)operator(\)) operator({)\ reserved(do) operator({)ident(buflen) operator(*=) integer(2)operator(;}) reserved(while) operator(()ident(cond)operator(\);)\ ident(rb_str_resize)operator(()ident(result)operator(,) ident(buflen)operator(\);)\ ident(buf) operator(=) ident(RSTRING)operator(()ident(result)operator(\)->)ident(ptr)operator(;)\ ident(p) operator(=) ident(buf) operator(+) ident(bdiff)operator(;)\ ident(pend) operator(=) ident(buf) operator(+) ident(buflen)operator(;)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(BUFINIT)operator((\)) operator(()\ ident(p) operator(=) ident(buf) operator(=) ident(RSTRING)operator(()ident(result)operator(\)->)ident(ptr)operator(,)\ ident(buflen) operator(=) ident(RSTRING)operator(()ident(result)operator(\)->)ident(len)operator(,)\ ident(pend) operator(=) ident(p) operator(+) ident(buflen)operator(\)) preprocessor(#if) operator(!)ident(defined)operator(()ident(TOLOWER)operator(\)) preprocessor(#define) ident(TOLOWER)operator(()ident(c)operator(\)) operator(()ident(ISUPPER)operator(()ident(c)operator(\)) operator(?) ident(tolower)operator(()ident(c)operator(\)) operator(:) operator(()ident(c)operator(\)\)) preprocessor(#endif) directive(static) pre_type(int) ident(is_absolute_path) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(static) ident(VALUE) ident(file_expand_path)operator(()ident(fname)operator(,) ident(dname)operator(,) ident(result)operator(\)) ident(VALUE) ident(fname)operator(,) ident(dname)operator(,) ident(result)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(b)operator(;) pre_type(char) operator(*)ident(buf)operator(,) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(,) operator(*)ident(root)operator(;) pre_type(long) ident(buflen)operator(,) ident(dirlen)operator(;) pre_type(int) ident(tainted)operator(;) ident(s) operator(=) ident(StringValuePtr)operator(()ident(fname)operator(\);) ident(BUFINIT)operator((\);) ident(tainted) operator(=) ident(OBJ_TAINTED)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(==) char('~')operator(\)) operator({) reserved(if) operator(()ident(isdirsep)operator(()ident(s)operator([)integer(1)operator(]\)) operator(||) ident(s)operator([)integer(1)operator(]) operator(==) char('\\0')operator(\)) operator({) pre_type(char) operator(*)ident(dir) operator(=) ident(getenv)operator(()stringoperator(\);) reserved(if) operator((!)ident(dir)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(s)operator(\);) operator(}) ident(dirlen) operator(=) ident(strlen)operator(()ident(dir)operator(\);) ident(BUFCHECK)operator(()ident(dirlen) operator(>) ident(buflen)operator(\);) ident(strcpy)operator(()ident(buf)operator(,) ident(dir)operator(\);) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) reserved(for) operator(()ident(p) operator(=) ident(buf)operator(;) operator(*)ident(p)operator(;) ident(p) operator(=) ident(CharNext)operator(()ident(p)operator(\)\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('\\\\')operator(\)) operator({) operator(*)ident(p) operator(=) char('/')operator(;) operator(}) operator(}) preprocessor(#else) ident(p) operator(=) ident(buf) operator(+) ident(strlen)operator(()ident(dir)operator(\);) preprocessor(#endif) ident(s)operator(++;) ident(tainted) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) preprocessor(#ifdef) ident(HAVE_PWD_H) reserved(struct) ident(passwd) operator(*)ident(pwPtr)operator(;) ident(s)operator(++;) preprocessor(#endif) ident(s) operator(=) ident(nextdirsep)operator(()ident(b) operator(=) ident(s)operator(\);) ident(BUFCHECK)operator(()ident(bdiff) operator(+) operator(()ident(s)operator(-)ident(b)operator(\)) operator(>=) ident(buflen)operator(\);) ident(memcpy)operator(()ident(p)operator(,) ident(b)operator(,) ident(s)operator(-)ident(b)operator(\);) ident(p) operator(+=) ident(s)operator(-)ident(b)operator(;) operator(*)ident(p) operator(=) char('\\0')operator(;) preprocessor(#ifdef) ident(HAVE_PWD_H) ident(pwPtr) operator(=) ident(getpwnam)operator(()ident(buf)operator(\);) reserved(if) operator((!)ident(pwPtr)operator(\)) operator({) ident(endpwent)operator((\);) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(buf)operator(\);) operator(}) ident(dirlen) operator(=) ident(strlen)operator(()ident(pwPtr)operator(->)ident(pw_dir)operator(\);) ident(BUFCHECK)operator(()ident(dirlen) operator(>) ident(buflen)operator(\);) ident(strcpy)operator(()ident(buf)operator(,) ident(pwPtr)operator(->)ident(pw_dir)operator(\);) ident(p) operator(=) ident(buf) operator(+) ident(strlen)operator(()ident(pwPtr)operator(->)ident(pw_dir)operator(\);) ident(endpwent)operator((\);) preprocessor(#endif) operator(}) operator(}) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) comment(/* skip drive letter */) reserved(else) reserved(if) operator(()ident(has_drive_letter)operator(()ident(s)operator(\)\)) operator({) reserved(if) operator(()ident(isdirsep)operator(()ident(s)operator([)integer(2)operator(]\)\)) operator({) comment(/* specified drive letter, and full path */) comment(/* skip drive letter */) ident(BUFCHECK)operator(()ident(bdiff) operator(+) integer(2) operator(>=) ident(buflen)operator(\);) ident(memcpy)operator(()ident(p)operator(,) ident(s)operator(,) integer(2)operator(\);) ident(p) operator(+=) integer(2)operator(;) ident(s) operator(+=) integer(2)operator(;) operator(}) reserved(else) operator({) comment(/* specified drive, but not full path */) pre_type(int) ident(same) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(dname)operator(\)\)) operator({) ident(file_expand_path)operator(()ident(dname)operator(,) ident(Qnil)operator(,) ident(result)operator(\);) ident(BUFINIT)operator((\);) reserved(if) operator(()ident(has_drive_letter)operator(()ident(p)operator(\)) operator(&&) ident(TOLOWER)operator(()ident(p)operator([)integer(0)operator(]\)) operator(==) ident(TOLOWER)operator(()ident(s)operator([)integer(0)operator(]\)\)) operator({) comment(/* ok, same drive */) ident(same) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(same)operator(\)) operator({) pre_type(char) operator(*)ident(dir) operator(=) ident(getcwdofdrv)operator((*)ident(s)operator(\);) ident(tainted) operator(=) integer(1)operator(;) ident(dirlen) operator(=) ident(strlen)operator(()ident(dir)operator(\);) ident(BUFCHECK)operator(()ident(dirlen) operator(>) ident(buflen)operator(\);) ident(strcpy)operator(()ident(buf)operator(,) ident(dir)operator(\);) ident(free)operator(()ident(dir)operator(\);) operator(}) ident(p) operator(=) ident(chompdirsep)operator(()ident(skiproot)operator(()ident(buf)operator(\)\);) ident(s) operator(+=) integer(2)operator(;) operator(}) operator(}) preprocessor(#endif) reserved(else) reserved(if) operator((!)ident(is_absolute_path)operator(()ident(s)operator(\)\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(dname)operator(\)\)) operator({) ident(file_expand_path)operator(()ident(dname)operator(,) ident(Qnil)operator(,) ident(result)operator(\);) ident(BUFINIT)operator((\);) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(dir) operator(=) ident(my_getcwd)operator((\);) ident(tainted) operator(=) integer(1)operator(;) ident(dirlen) operator(=) ident(strlen)operator(()ident(dir)operator(\);) ident(BUFCHECK)operator(()ident(dirlen) operator(>) ident(buflen)operator(\);) ident(strcpy)operator(()ident(buf)operator(,) ident(dir)operator(\);) ident(free)operator(()ident(dir)operator(\);) operator(}) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) reserved(if) operator(()ident(isdirsep)operator((*)ident(s)operator(\)\)) operator({) comment(/* specified full path, but not drive letter nor UNC */) comment(/* we need to get the drive letter or UNC share name */) ident(p) operator(=) ident(skipprefix)operator(()ident(buf)operator(\);) operator(}) reserved(else) preprocessor(#endif) ident(p) operator(=) ident(chompdirsep)operator(()ident(skiproot)operator(()ident(buf)operator(\)\);) operator(}) reserved(else) operator({) ident(b) operator(=) ident(s)operator(;) reserved(do) ident(s)operator(++;) reserved(while) operator(()ident(isdirsep)operator((*)ident(s)operator(\)\);) ident(p) operator(=) ident(buf) operator(+) operator(()ident(s) operator(-) ident(b)operator(\);) ident(BUFCHECK)operator(()ident(bdiff) operator(>=) ident(buflen)operator(\);) ident(memset)operator(()ident(buf)operator(,) char('/')operator(,) ident(p) operator(-) ident(buf)operator(\);) operator(}) reserved(if) operator(()ident(p) operator(>) ident(buf) operator(&&) ident(p)operator([-)integer(1)operator(]) operator(==) char('/')operator(\)) operator(--)ident(p)operator(;) reserved(else) operator(*)ident(p) operator(=) char('/')operator(;) ident(p)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) ident(root) operator(=) ident(skipprefix)operator(()ident(buf)operator(\);) ident(b) operator(=) ident(s)operator(;) reserved(while) operator((*)ident(s)operator(\)) operator({) reserved(switch) operator((*)ident(s)operator(\)) operator({) reserved(case) char('.')operator(:) reserved(if) operator(()ident(b) operator(==) ident(s)operator(++\)) operator({) comment(/* beginning of path element */) reserved(switch) operator((*)ident(s)operator(\)) operator({) reserved(case) char('\\0')operator(:) ident(b) operator(=) ident(s)operator(;) reserved(break)operator(;) reserved(case) char('.')operator(:) reserved(if) operator((*()ident(s)operator(+)integer(1)operator(\)) operator(==) char('\\0') operator(||) ident(isdirsep)operator((*()ident(s)operator(+)integer(1)operator(\)\)\)) operator({) comment(/* We must go back to the parent */) pre_type(char) operator(*)ident(n)operator(;) operator(*)ident(p) operator(=) char('\\0')operator(;) reserved(if) operator((!()ident(n) operator(=) ident(strrdirsep)operator(()ident(root)operator(\)\)\)) operator({) operator(*)ident(p) operator(=) char('/')operator(;) operator(}) reserved(else) operator({) ident(p) operator(=) ident(n)operator(;) operator(}) ident(b) operator(=) operator(++)ident(s)operator(;) operator(}) preprocessor(#if) ident(USE_NTFS) reserved(else) operator({) reserved(do) operator(*++)ident(s)operator(;) reserved(while) operator(()ident(istrailinggabage)operator((*)ident(s)operator(\)\);) operator(}) preprocessor(#endif) reserved(break)operator(;) reserved(case) char('/')operator(:) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) reserved(case) char('\\\\')operator(:) preprocessor(#endif) ident(b) operator(=) operator(++)ident(s)operator(;) reserved(break)operator(;) reserved(default)operator(:) comment(/* ordinary path element, beginning don't move */) reserved(break)operator(;) operator(}) operator(}) preprocessor(#if) ident(USE_NTFS) reserved(else) operator({) operator(--)ident(s)operator(;) reserved(case) char(' ')operator(:) operator({) directive(const) pre_type(char) operator(*)ident(e) operator(=) ident(s)operator(;) reserved(while) operator(()ident(istrailinggabage)operator((*)ident(s)operator(\)\)) ident(s)operator(++;) reserved(if) operator((!*)ident(s)operator(\)) operator({) ident(s) operator(=) ident(e)operator(;) reserved(goto) ident(endpath)operator(;) operator(}) operator(}) operator(}) preprocessor(#endif) reserved(break)operator(;) reserved(case) char('/')operator(:) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) reserved(case) char('\\\\')operator(:) preprocessor(#endif) reserved(if) operator(()ident(s) operator(>) ident(b)operator(\)) operator({) pre_type(long) ident(rootdiff) operator(=) ident(root) operator(-) ident(buf)operator(;) ident(BUFCHECK)operator(()ident(bdiff) operator(+) operator(()ident(s)operator(-)ident(b)operator(+)integer(1)operator(\)) operator(>=) ident(buflen)operator(\);) ident(root) operator(=) ident(buf) operator(+) ident(rootdiff)operator(;) ident(memcpy)operator((++)ident(p)operator(,) ident(b)operator(,) ident(s)operator(-)ident(b)operator(\);) ident(p) operator(+=) ident(s)operator(-)ident(b)operator(;) operator(*)ident(p) operator(=) char('/')operator(;) operator(}) ident(b) operator(=) operator(++)ident(s)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(s) operator(=) ident(CharNext)operator(()ident(s)operator(\);) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(s) operator(>) ident(b)operator(\)) operator({) preprocessor(#if) ident(USE_NTFS) label(endpath:) reserved(if) operator(()ident(s) operator(>) ident(b) operator(+) integer(6) operator(&&) ident(strncasecmp)operator(()ident(s) operator(-) integer(6)operator(,) stringoperator(,) integer(6)operator(\)) operator(==) integer(0)operator(\)) operator({) comment(/* alias of stream */) comment(/* get rid of a bug of x64 VC++ */) reserved(if) operator((*()ident(s)operator(-)integer(7)operator(\)) operator(==) char(':')operator(\)) ident(s) operator(-=) integer(7)operator(;) comment(/* prime */) reserved(else) reserved(if) operator(()ident(memchr)operator(()ident(b)operator(,) char(':')operator(,) ident(s) operator(-) integer(6) operator(-) ident(b)operator(\)\)) ident(s) operator(-=) integer(6)operator(;) comment(/* alternative */) operator(}) preprocessor(#endif) ident(BUFCHECK)operator(()ident(bdiff) operator(+) operator(()ident(s)operator(-)ident(b)operator(\)) operator(>=) ident(buflen)operator(\);) ident(memcpy)operator((++)ident(p)operator(,) ident(b)operator(,) ident(s)operator(-)ident(b)operator(\);) ident(p) operator(+=) ident(s)operator(-)ident(b)operator(;) operator(}) reserved(if) operator(()ident(p) operator(==) ident(skiproot)operator(()ident(buf)operator(\)) operator(-) integer(1)operator(\)) ident(p)operator(++;) preprocessor(#if) ident(USE_NTFS) operator(*)ident(p) operator(=) char('\\0')operator(;) reserved(if) operator((()ident(s) operator(=) ident(strrdirsep)operator(()ident(b) operator(=) ident(buf)operator(\)\)) operator(!=) integer(0) operator(&&) operator(!)ident(strpbrk)operator(()ident(s)operator(,) stringoperator(\)\)) operator({) ident(size_t) ident(len)operator(;) ident(WIN32_FIND_DATA) ident(wfd)operator(;) preprocessor(#ifdef) ident(__CYGWIN__) pre_type(int) ident(lnk_added) operator(=) integer(0)operator(,) ident(is_symlink) operator(=) integer(0)operator(;) reserved(struct) ident(stat) ident(st)operator(;) pre_type(char) ident(w32buf)operator([)ident(MAXPATHLEN)operator(];) ident(p) operator(=) operator(()pre_type(char) operator(*\))ident(s)operator(;) reserved(if) operator(()ident(lstat)operator(()ident(buf)operator(,) operator(&)ident(st)operator(\)) operator(==) integer(0) operator(&&) ident(S_ISLNK)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) operator({) ident(is_symlink) operator(=) integer(1)operator(;) operator(*)ident(p) operator(=) char('\\0')operator(;) operator(}) reserved(if) operator(()ident(cygwin_conv_to_win32_path)operator(((*)ident(buf) operator(?) ident(buf) operator(:) stringoperator(\),) ident(w32buf)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(b) operator(=) ident(w32buf)operator(;) operator(}) reserved(if) operator(()ident(is_symlink) operator(&&) ident(b) operator(==) ident(w32buf)operator(\)) operator({) operator(*)ident(p) operator(=) char('\\\\')operator(;) ident(strlcat)operator(()ident(w32buf)operator(,) ident(p)operator(,) reserved(sizeof)operator(()ident(w32buf)operator(\)\);) ident(len) operator(=) ident(strlen)operator(()ident(p)operator(\);) reserved(if) operator(()ident(len) operator(>) integer(4) operator(&&) ident(strcasecmp)operator(()ident(p) operator(+) ident(len) operator(-) integer(4)operator(,) stringoperator(\)) operator(!=) integer(0)operator(\)) operator({) ident(lnk_added) operator(=) integer(1)operator(;) ident(strlcat)operator(()ident(w32buf)operator(,) stringoperator(,) reserved(sizeof)operator(()ident(w32buf)operator(\)\);) operator(}) operator(}) operator(*)ident(p) operator(=) char('/')operator(;) preprocessor(#endif) ident(HANDLE) ident(h) operator(=) ident(FindFirstFile)operator(()ident(b)operator(,) operator(&)ident(wfd)operator(\);) reserved(if) operator(()ident(h) operator(!=) ident(INVALID_HANDLE_VALUE)operator(\)) operator({) ident(FindClose)operator(()ident(h)operator(\);) ident(len) operator(=) ident(strlen)operator(()ident(wfd)operator(.)ident(cFileName)operator(\);) preprocessor(#ifdef) ident(__CYGWIN__) reserved(if) operator(()ident(lnk_added) operator(&&) ident(len) operator(>) integer(4) operator(&&) ident(strcasecmp)operator(()ident(wfd)operator(.)ident(cFileName) operator(+) ident(len) operator(-) integer(4)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(wfd)operator(.)ident(cFileName)operator([)ident(len) operator(-=) integer(4)operator(]) operator(=) char('\\0')operator(;) operator(}) preprocessor(#else) ident(p) operator(=) operator(()pre_type(char) operator(*\))ident(s)operator(;) preprocessor(#endif) operator(++)ident(p)operator(;) ident(BUFCHECK)operator(()ident(bdiff) operator(+) ident(len) operator(>=) ident(buflen)operator(\);) ident(memcpy)operator(()ident(p)operator(,) ident(wfd)operator(.)ident(cFileName)operator(,) ident(len) operator(+) integer(1)operator(\);) ident(p) operator(+=) ident(len)operator(;) operator(}) preprocessor(#ifdef) ident(__CYGWIN__) reserved(else) operator({) ident(p) operator(+=) ident(strlen)operator(()ident(p)operator(\);) operator(}) preprocessor(#endif) operator(}) preprocessor(#endif) reserved(if) operator(()ident(tainted)operator(\)) ident(OBJ_TAINT)operator(()ident(result)operator(\);) ident(RSTRING)operator(()ident(result)operator(\)->)ident(len) operator(=) ident(p) operator(-) ident(buf)operator(;) ident(RSTRING)operator(()ident(result)operator(\)->)ident(ptr)operator([)ident(p) operator(-) ident(buf)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_file_expand_path)operator(()ident(fname)operator(,) ident(dname)operator(\)) ident(VALUE) ident(fname)operator(,) ident(dname)operator(;) operator({) reserved(return) ident(file_expand_path)operator(()ident(fname)operator(,) ident(dname)operator(,) ident(rb_str_new)operator(()integer(0)operator(,) ident(MAXPATHLEN) operator(+) integer(2)operator(\)\);) operator(}) comment(/* * call-seq: * File.expand_path(file_name [, dir_string] \) -> abs_file_name * * Converts a pathname to an absolute pathname. Relative paths are * referenced from the current working directory of the process unless * dir_string is given, in which case it will be used as the * starting point. The given pathname may start with a * ``~'', which expands to the process owner's home * directory (the environment variable HOME must be set * correctly\). ``~user'' expands to the named * user's home directory. * * File.expand_path("~oracle/bin"\) #=> "/home/oracle/bin" * File.expand_path("../../bin", "/tmp/x"\) #=> "/bin" */) ident(VALUE) ident(rb_file_s_expand_path)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(dname)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(rb_file_expand_path)operator(()ident(argv)operator([)integer(0)operator(],) ident(Qnil)operator(\);) operator(}) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(dname)operator(\);) reserved(return) ident(rb_file_expand_path)operator(()ident(fname)operator(,) ident(dname)operator(\);) operator(}) directive(static) pre_type(int) ident(rmext)operator(()ident(p)operator(,) ident(l1)operator(,) ident(e)operator(\)) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(e)operator(;) pre_type(int) ident(l1)operator(;) operator({) pre_type(int) ident(l2)operator(;) reserved(if) operator((!)ident(e)operator(\)) reserved(return) integer(0)operator(;) ident(l2) operator(=) ident(strlen)operator(()ident(e)operator(\);) reserved(if) operator(()ident(l2) operator(==) integer(2) operator(&&) ident(e)operator([)integer(1)operator(]) operator(==) char('*')operator(\)) operator({) pre_type(unsigned) pre_type(char) ident(c) operator(=) operator(*)ident(e)operator(;) ident(e) operator(=) ident(p) operator(+) ident(l1)operator(;) reserved(do) operator({) reserved(if) operator(()ident(e) operator(<=) ident(p)operator(\)) reserved(return) integer(0)operator(;) operator(}) reserved(while) operator((*--)ident(e) operator(!=) ident(c)operator(\);) reserved(return) ident(e) operator(-) ident(p)operator(;) operator(}) reserved(if) operator(()ident(l1) operator(<) ident(l2)operator(\)) reserved(return) ident(l1)operator(;) preprocessor(#if) ident(CASEFOLD_FILESYSTEM) preprocessor(#define) ident(fncomp) ident(strncasecmp) preprocessor(#else) preprocessor(#define) ident(fncomp) ident(strncmp) preprocessor(#endif) reserved(if) operator(()ident(fncomp)operator(()ident(p)operator(+)ident(l1)operator(-)ident(l2)operator(,) ident(e)operator(,) ident(l2)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(l1)operator(-)ident(l2)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/* * call-seq: * File.basename(file_name [, suffix] \) -> base_name * * Returns the last component of the filename given in file_name, * which must be formed using forward slashes (``/''\) * regardless of the separator used on the local file system. If * suffix is given and present at the end of file_name, * it is removed. * * File.basename("/home/gumby/work/ruby.rb"\) #=> "ruby.rb" * File.basename("/home/gumby/work/ruby.rb", ".rb"\) #=> "ruby" */) directive(static) ident(VALUE) ident(rb_file_s_basename)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(fext)operator(,) ident(basename)operator(;) pre_type(char) operator(*)ident(name)operator(,) operator(*)ident(p)operator(;) preprocessor(#if) ident(defined) ident(DOSISH_DRIVE_LETTER) operator(||) ident(defined) ident(DOSISH_UNC) pre_type(char) operator(*)ident(root)operator(;) preprocessor(#endif) pre_type(int) ident(f)operator(,) ident(n)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(fext)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(StringValue)operator(()ident(fext)operator(\);) operator(}) ident(StringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(len) operator(==) integer(0) operator(||) operator(!*()ident(name) operator(=) ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\)\)) reserved(return) ident(fname)operator(;) ident(name) operator(=) ident(skipprefix)operator(()ident(name)operator(\);) preprocessor(#if) ident(defined) ident(DOSISH_DRIVE_LETTER) operator(||) ident(defined) ident(DOSISH_UNC) ident(root) operator(=) ident(name)operator(;) preprocessor(#endif) reserved(while) operator(()ident(isdirsep)operator((*)ident(name)operator(\)\)) ident(name)operator(++;) reserved(if) operator((!*)ident(name)operator(\)) operator({) ident(p) operator(=) ident(name) operator(-) integer(1)operator(;) ident(f) operator(=) integer(1)operator(;) preprocessor(#if) ident(defined) ident(DOSISH_DRIVE_LETTER) operator(||) ident(defined) ident(DOSISH_UNC) reserved(if) operator(()ident(name) operator(!=) ident(root)operator(\)) operator({) comment(/* has slashes */) operator(}) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) reserved(else) reserved(if) operator((*)ident(p) operator(==) char(':')operator(\)) operator({) ident(p)operator(++;) ident(f) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(DOSISH_UNC) reserved(else) operator({) ident(p) operator(=) stringoperator(;) operator(}) preprocessor(#endif) preprocessor(#endif) operator(}) reserved(else) operator({) reserved(if) operator((!()ident(p) operator(=) ident(strrdirsep)operator(()ident(name)operator(\)\)\)) operator({) ident(p) operator(=) ident(name)operator(;) operator(}) reserved(else) operator({) reserved(while) operator(()ident(isdirsep)operator((*)ident(p)operator(\)\)) ident(p)operator(++;) comment(/* skip last / */) operator(}) preprocessor(#if) ident(USE_NTFS) ident(n) operator(=) ident(ntfs_tail)operator(()ident(p)operator(\)) operator(-) ident(p)operator(;) preprocessor(#else) ident(n) operator(=) ident(chompdirsep)operator(()ident(p)operator(\)) operator(-) ident(p)operator(;) preprocessor(#endif) reserved(if) operator(()ident(NIL_P)operator(()ident(fext)operator(\)) operator(||) operator(!()ident(f) operator(=) ident(rmext)operator(()ident(p)operator(,) ident(n)operator(,) ident(StringValueCStr)operator(()ident(fext)operator(\)\)\)\)) operator({) ident(f) operator(=) ident(n)operator(;) operator(}) reserved(if) operator(()ident(f) operator(==) ident(RSTRING_LEN)operator(()ident(fname)operator(\)\)) reserved(return) ident(fname)operator(;) operator(}) ident(basename) operator(=) ident(rb_str_new)operator(()ident(p)operator(,) ident(f)operator(\);) ident(OBJ_INFECT)operator(()ident(basename)operator(,) ident(fname)operator(\);) reserved(return) ident(basename)operator(;) operator(}) comment(/* * call-seq: * File.dirname(file_name \) -> dir_name * * Returns all components of the filename given in file_name * except the last one. The filename must be formed using forward * slashes (``/''\) regardless of the separator used on the * local file system. * * File.dirname("/home/gumby/work/ruby.rb"\) #=> "/home/gumby/work" */) directive(static) ident(VALUE) ident(rb_file_s_dirname)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(name)operator(,) operator(*)ident(root)operator(,) operator(*)ident(p)operator(;) ident(VALUE) ident(dirname)operator(;) ident(name) operator(=) ident(StringValueCStr)operator(()ident(fname)operator(\);) ident(root) operator(=) ident(skiproot)operator(()ident(name)operator(\);) preprocessor(#ifdef) ident(DOSISH_UNC) reserved(if) operator(()ident(root) operator(>) ident(name) operator(+) integer(1) operator(&&) ident(isdirsep)operator((*)ident(name)operator(\)\)) ident(root) operator(=) ident(skipprefix)operator(()ident(name) operator(=) ident(root) operator(-) integer(2)operator(\);) preprocessor(#else) reserved(if) operator(()ident(root) operator(>) ident(name) operator(+) integer(1)operator(\)) ident(name) operator(=) ident(root) operator(-) integer(1)operator(;) preprocessor(#endif) ident(p) operator(=) ident(strrdirsep)operator(()ident(root)operator(\);) reserved(if) operator((!)ident(p)operator(\)) operator({) ident(p) operator(=) ident(root)operator(;) operator(}) reserved(if) operator(()ident(p) operator(==) ident(name)operator(\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) reserved(if) operator(()ident(has_drive_letter)operator(()ident(name)operator(\)) operator(&&) ident(isdirsep)operator((*()ident(name) operator(+) integer(2)operator(\)\)\)) operator({) directive(const) pre_type(char) operator(*)ident(top) operator(=) ident(skiproot)operator(()ident(name) operator(+) integer(2)operator(\);) ident(dirname) operator(=) ident(rb_str_new)operator(()ident(name)operator(,) integer(3)operator(\);) ident(rb_str_cat)operator(()ident(dirname)operator(,) ident(top)operator(,) ident(p) operator(-) ident(top)operator(\);) operator(}) reserved(else) preprocessor(#endif) ident(dirname) operator(=) ident(rb_str_new)operator(()ident(name)operator(,) ident(p) operator(-) ident(name)operator(\);) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) reserved(if) operator(()ident(has_drive_letter)operator(()ident(name)operator(\)) operator(&&) ident(root) operator(==) ident(name) operator(+) integer(2) operator(&&) ident(p) operator(-) ident(name) operator(==) integer(2)operator(\)) ident(rb_str_cat)operator(()ident(dirname)operator(,) stringoperator(,) integer(1)operator(\);) preprocessor(#endif) ident(OBJ_INFECT)operator(()ident(dirname)operator(,) ident(fname)operator(\);) reserved(return) ident(dirname)operator(;) operator(}) comment(/* * call-seq: * File.extname(path\) -> string * * Returns the extension (the portion of file name in path * after the period\). * * File.extname("test.rb"\) #=> ".rb" * File.extname("a/b/d/test.rb"\) #=> ".rb" * File.extname("test"\) #=> "" * File.extname(".profile"\) #=> "" * */) directive(static) ident(VALUE) ident(rb_file_s_extname)operator(()ident(klass)operator(,) ident(fname)operator(\)) ident(VALUE) ident(klass)operator(,) ident(fname)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(name)operator(,) operator(*)ident(p)operator(,) operator(*)ident(e)operator(;) ident(VALUE) ident(extname)operator(;) ident(name) operator(=) ident(StringValueCStr)operator(()ident(fname)operator(\);) ident(p) operator(=) ident(strrdirsep)operator(()ident(name)operator(\);) comment(/* get the last path component */) reserved(if) operator((!)ident(p)operator(\)) ident(p) operator(=) ident(name)operator(;) reserved(else) ident(name) operator(=) operator(++)ident(p)operator(;) ident(e) operator(=) integer(0)operator(;) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('.') operator(||) ident(istrailinggabage)operator((*)ident(p)operator(\)\)) operator({) preprocessor(#if) ident(USE_NTFS) directive(const) pre_type(char) operator(*)ident(last) operator(=) ident(p)operator(++,) operator(*)ident(dot) operator(=) ident(last)operator(;) reserved(while) operator(()ident(istrailinggabage)operator((*)ident(p)operator(\)\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('.')operator(\)) ident(dot) operator(=) ident(p)operator(;) ident(p)operator(++;) operator(}) reserved(if) operator((!*)ident(p) operator(||) operator(*)ident(p) operator(==) char(':')operator(\)) operator({) ident(p) operator(=) ident(last)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((*)ident(last) operator(==) char('.') operator(||) ident(dot) operator(>) ident(last)operator(\)) ident(e) operator(=) ident(dot)operator(;) reserved(continue)operator(;) preprocessor(#else) ident(e) operator(=) ident(p)operator(;) comment(/* get the last dot of the last component */) preprocessor(#endif) operator(}) preprocessor(#if) ident(USE_NTFS) reserved(else) reserved(if) operator((*)ident(p) operator(==) char(':')operator(\)) operator({) reserved(break)operator(;) operator(}) preprocessor(#endif) reserved(else) reserved(if) operator(()ident(isdirsep)operator((*)ident(p)operator(\)\)) reserved(break)operator(;) ident(p) operator(=) ident(CharNext)operator(()ident(p)operator(\);) operator(}) reserved(if) operator((!)ident(e) operator(||) ident(e) operator(==) ident(name) operator(||) ident(e)operator(+)integer(1) operator(==) ident(p)operator(\)) comment(/* no dot, or the only dot is first or end? */) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) ident(extname) operator(=) ident(rb_str_new)operator(()ident(e)operator(,) ident(p) operator(-) ident(e)operator(\);) comment(/* keep the dot, too! */) ident(OBJ_INFECT)operator(()ident(extname)operator(,) ident(fname)operator(\);) reserved(return) ident(extname)operator(;) operator(}) comment(/* * call-seq: * File.split(file_name\) => array * * Splits the given string into a directory and a file component and * returns them in a two-element array. See also * File::dirname and File::basename. * * File.split("/home/gumby/.profile"\) #=> ["/home/gumby", ".profile"] */) directive(static) ident(VALUE) ident(rb_file_s_split)operator(()ident(klass)operator(,) ident(path)operator(\)) ident(VALUE) ident(klass)operator(,) ident(path)operator(;) operator({) ident(StringValue)operator(()ident(path)operator(\);) comment(/* get rid of converting twice */) reserved(return) ident(rb_assoc_new)operator(()ident(rb_file_s_dirname)operator(()ident(Qnil)operator(,) ident(path)operator(\),) ident(rb_file_s_basename)operator(()integer(1)operator(,&)ident(path)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(separator)operator(;) directive(static) ident(VALUE) ident(rb_file_join) ident(_)operator((()ident(VALUE) ident(ary)operator(,) ident(VALUE) ident(sep)operator(\)\);) directive(static) ident(VALUE) ident(file_inspect_join)operator(()ident(ary)operator(,) ident(arg)operator(\)) ident(VALUE) ident(ary)operator(;) ident(VALUE) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(rb_file_join)operator(()ident(arg)operator([)integer(0)operator(],) ident(arg)operator([)integer(1)operator(]\);) operator(}) directive(static) ident(VALUE) ident(rb_file_join)operator(()ident(ary)operator(,) ident(sep)operator(\)) ident(VALUE) ident(ary)operator(,) ident(sep)operator(;) operator({) pre_type(long) ident(len)operator(,) ident(i)operator(;) pre_type(int) ident(taint) operator(=) integer(0)operator(;) ident(VALUE) ident(result)operator(,) ident(tmp)operator(;) pre_type(char) operator(*)ident(name)operator(,) operator(*)ident(tail)operator(;) reserved(if) operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(ary)operator(\)\)) ident(taint) operator(=) integer(1)operator(;) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(sep)operator(\)\)) ident(taint) operator(=) integer(1)operator(;) ident(len) operator(=) integer(1)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(len) operator(+=) ident(RSTRING)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)->)ident(len)operator(;) operator(}) reserved(else) operator({) ident(len) operator(+=) integer(10)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(sep)operator(\)) operator(&&) ident(TYPE)operator(()ident(sep)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(len) operator(+=) ident(RSTRING)operator(()ident(sep)operator(\)->)ident(len) operator(*) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(-) integer(1)operator(;) operator(}) ident(result) operator(=) ident(rb_str_buf_new)operator(()ident(len)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(tmp) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(switch) operator(()ident(TYPE)operator(()ident(tmp)operator(\)\)) operator({) reserved(case) ident(T_STRING)operator(:) reserved(break)operator(;) reserved(case) ident(T_ARRAY)operator(:) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(tmp)operator(\)\)) operator({) ident(tmp) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(tmp)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(sep)operator(;) ident(tmp) operator(=) ident(rb_protect_inspect)operator(()ident(file_inspect_join)operator(,) ident(ary)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(StringValueCStr)operator(()ident(tmp)operator(\);) operator(}) ident(name) operator(=) ident(StringValueCStr)operator(()ident(result)operator(\);) reserved(if) operator(()ident(i) operator(>) integer(0) operator(&&) operator(!)ident(NIL_P)operator(()ident(sep)operator(\)\)) operator({) ident(tail) operator(=) ident(chompdirsep)operator(()ident(name)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr) operator(&&) ident(isdirsep)operator(()ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator([)integer(0)operator(]\)\)) operator({) ident(RSTRING)operator(()ident(result)operator(\)->)ident(len) operator(=) ident(tail) operator(-) ident(name)operator(;) operator(}) reserved(else) reserved(if) operator((!*)ident(tail)operator(\)) operator({) ident(rb_str_buf_append)operator(()ident(result)operator(,) ident(sep)operator(\);) operator(}) operator(}) ident(rb_str_buf_append)operator(()ident(result)operator(,) ident(tmp)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(tmp)operator(\)\)) ident(taint) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(taint)operator(\)) ident(OBJ_TAINT)operator(()ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * File.join(string, ...\) -> path * * Returns a new string formed by joining the strings using * File::SEPARATOR. * * File.join("usr", "mail", "gumby"\) #=> "usr/mail/gumby" * */) directive(static) ident(VALUE) ident(rb_file_s_join)operator(()ident(klass)operator(,) ident(args)operator(\)) ident(VALUE) ident(klass)operator(,) ident(args)operator(;) operator({) reserved(return) ident(rb_file_join)operator(()ident(args)operator(,) ident(separator)operator(\);) operator(}) comment(/* * call-seq: * File.truncate(file_name, integer\) => 0 * * Truncates the file file_name to be at most integer * bytes long. Not available on all platforms. * * f = File.new("out", "w"\) * f.write("1234567890"\) #=> 10 * f.close #=> nil * File.truncate("out", 5\) #=> 0 * File.size("out"\) #=> 5 * */) directive(static) ident(VALUE) ident(rb_file_s_truncate)operator(()ident(klass)operator(,) ident(path)operator(,) ident(len)operator(\)) ident(VALUE) ident(klass)operator(,) ident(path)operator(,) ident(len)operator(;) operator({) ident(off_t) ident(pos)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(pos) operator(=) ident(NUM2OFFT)operator(()ident(len)operator(\);) ident(SafeStringValue)operator(()ident(path)operator(\);) preprocessor(#ifdef) ident(HAVE_TRUNCATE) reserved(if) operator(()ident(truncate)operator(()ident(StringValueCStr)operator(()ident(path)operator(\),) ident(pos)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) preprocessor(#else) preprocessor(# ifdef) ident(HAVE_CHSIZE) operator({) pre_type(int) ident(tmpfd)operator(;) preprocessor(# ifdef) ident(_WIN32) reserved(if) operator((()ident(tmpfd) operator(=) ident(open)operator(()ident(StringValueCStr)operator(()ident(path)operator(\),) ident(O_RDWR)operator(\)\)) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) operator(}) preprocessor(# else) reserved(if) operator((()ident(tmpfd) operator(=) ident(open)operator(()ident(StringValueCStr)operator(()ident(path)operator(\),) integer(0)operator(\)\)) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) operator(}) preprocessor(# endif) reserved(if) operator(()ident(chsize)operator(()ident(tmpfd)operator(,) ident(pos)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(close)operator(()ident(tmpfd)operator(\);) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) operator(}) ident(close)operator(()ident(tmpfd)operator(\);) operator(}) preprocessor(# else) ident(rb_notimplement)operator((\);) preprocessor(# endif) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * file.truncate(integer\) => 0 * * Truncates file to at most integer bytes. The file * must be opened for writing. Not available on all platforms. * * f = File.new("out", "w"\) * f.syswrite("1234567890"\) #=> 10 * f.truncate(5\) #=> 0 * f.close(\) #=> nil * File.size("out"\) #=> 5 */) directive(static) ident(VALUE) ident(rb_file_truncate)operator(()ident(obj)operator(,) ident(len)operator(\)) ident(VALUE) ident(obj)operator(,) ident(len)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) ident(off_t) ident(pos)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(pos) operator(=) ident(NUM2OFFT)operator(()ident(len)operator(\);) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator((!()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) ident(fflush)operator(()ident(f)operator(\);) ident(fseeko)operator(()ident(f)operator(,) operator(()ident(off_t)operator(\))integer(0)operator(,) ident(SEEK_CUR)operator(\);) preprocessor(#ifdef) ident(HAVE_FTRUNCATE) reserved(if) operator(()ident(ftruncate)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(pos)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#else) preprocessor(# ifdef) ident(HAVE_CHSIZE) reserved(if) operator(()ident(chsize)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(pos)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(# else) ident(rb_notimplement)operator((\);) preprocessor(# endif) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) preprocessor(# ifndef) ident(LOCK_SH) preprocessor(# define) ident(LOCK_SH) integer(1) preprocessor(# endif) preprocessor(# ifndef) ident(LOCK_EX) preprocessor(# define) ident(LOCK_EX) integer(2) preprocessor(# endif) preprocessor(# ifndef) ident(LOCK_NB) preprocessor(# define) ident(LOCK_NB) integer(4) preprocessor(# endif) preprocessor(# ifndef) ident(LOCK_UN) preprocessor(# define) ident(LOCK_UN) integer(8) preprocessor(# endif) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(#include) include() directive(extern) pre_type(unsigned) pre_type(long) ident(__attribute__)operator((()ident(stdcall)operator(\)\)) ident(GetLastError)operator(()directive(void)operator(\);) directive(static) pre_type(int) ident(cygwin_flock)operator(()pre_type(int) ident(fd)operator(,) pre_type(int) ident(op)operator(\)) operator({) pre_type(int) ident(old_errno) operator(=) ident(errno)operator(;) pre_type(int) ident(ret) operator(=) ident(flock)operator(()ident(fd)operator(,) ident(op)operator(\);) reserved(if) operator(()ident(GetLastError)operator((\)) operator(==) ident(ERROR_NOT_LOCKED)operator(\)) operator({) ident(ret) operator(=) integer(0)operator(;) ident(errno) operator(=) ident(old_errno)operator(;) operator(}) reserved(return) ident(ret)operator(;) operator(}) preprocessor(# define) ident(flock)operator(()ident(fd)operator(,) ident(op)operator(\)) ident(cygwin_flock)operator(()ident(fd)operator(,) ident(op)operator(\)) preprocessor(#endif) directive(static) pre_type(int) ident(rb_thread_flock)operator(()ident(fd)operator(,) ident(op)operator(,) ident(fptr)operator(\)) pre_type(int) ident(fd)operator(,) ident(op)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(if) operator(()ident(rb_thread_alone)operator((\)) operator(||) operator(()ident(op) operator(&) ident(LOCK_NB)operator(\)\)) operator({) pre_type(int) ident(ret)operator(;) ident(TRAP_BEG)operator(;) ident(ret) operator(=) ident(flock)operator(()ident(fd)operator(,) ident(op)operator(\);) ident(TRAP_END)operator(;) reserved(return) ident(ret)operator(;) operator(}) ident(op) operator(|=) ident(LOCK_NB)operator(;) reserved(while) operator(()ident(flock)operator(()ident(fd)operator(,) ident(op)operator(\)) operator(<) integer(0)operator(\)) operator({) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EAGAIN)operator(:) reserved(case) ident(EACCES)operator(:) preprocessor(#if) ident(defined)operator(()ident(EWOULDBLOCK)operator(\)) operator(&&) ident(EWOULDBLOCK) operator(!=) ident(EAGAIN) reserved(case) ident(EWOULDBLOCK)operator(:) preprocessor(#endif) ident(rb_thread_polling)operator((\);) comment(/* busy wait */) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) reserved(continue)operator(;) reserved(default)operator(:) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(# undef) ident(flock) preprocessor(#endif) preprocessor(#define) ident(flock)operator(()ident(fd)operator(,) ident(op)operator(\)) ident(rb_thread_flock)operator(()ident(fd)operator(,) ident(op)operator(,) ident(fptr)operator(\)) comment(/* * call-seq: * file.flock (locking_constant \) => 0 or false * * Locks or unlocks a file according to locking_constant (a * logical or of the values in the table below\). * Returns false if File::LOCK_NB is * specified and the operation would otherwise have blocked. Not * available on all platforms. * * Locking constants (in class File\): * * LOCK_EX | Exclusive lock. Only one process may hold an * | exclusive lock for a given file at a time. * ----------+------------------------------------------------ * LOCK_NB | Don't block when locking. May be combined * | with other lock options using logical or. * ----------+------------------------------------------------ * LOCK_SH | Shared lock. Multiple processes may each hold a * | shared lock for a given file at the same time. * ----------+------------------------------------------------ * LOCK_UN | Unlock. * * Example: * * File.new("testfile"\).flock(File::LOCK_UN\) #=> 0 * */) directive(static) ident(VALUE) ident(rb_file_flock)operator(()ident(obj)operator(,) ident(operation)operator(\)) ident(VALUE) ident(obj)operator(;) ident(VALUE) ident(operation)operator(;) operator({) preprocessor(#ifndef) ident(__CHECKER__) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(op)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(op) operator(=) ident(NUM2INT)operator(()ident(operation)operator(\);) ident(GetOpenFile)operator(()ident(obj)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) ident(fflush)operator(()ident(GetWriteFile)operator(()ident(fptr)operator(\)\);) operator(}) label(retry:) reserved(if) operator(()ident(flock)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(op)operator(\)) operator(<) integer(0)operator(\)) operator({) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EAGAIN)operator(:) reserved(case) ident(EACCES)operator(:) preprocessor(#if) ident(defined)operator(()ident(EWOULDBLOCK)operator(\)) operator(&&) ident(EWOULDBLOCK) operator(!=) ident(EAGAIN) reserved(case) ident(EWOULDBLOCK)operator(:) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) reserved(case) ident(EINTR)operator(:) preprocessor(#if) ident(defined)operator(()ident(ERESTART)operator(\)) reserved(case) ident(ERESTART)operator(:) preprocessor(#endif) reserved(goto) ident(retry)operator(;) operator(}) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) preprocessor(#undef) ident(flock) directive(static) directive(void) ident(test_check)operator(()ident(n)operator(,) ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(n)operator(,) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(n)operator(+=)integer(1)operator(;) reserved(if) operator(()ident(n) operator(!=) ident(argc)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(n)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(argv)operator([)ident(i)operator(]\)\)) operator({) reserved(case) ident(T_STRING)operator(:) reserved(default)operator(:) ident(SafeStringValue)operator(()ident(argv)operator([)ident(i)operator(]\);) reserved(break)operator(;) reserved(case) ident(T_FILE)operator(:) reserved(break)operator(;) operator(}) operator(}) operator(}) preprocessor(#define) ident(CHECK)operator(()ident(n)operator(\)) ident(test_check)operator((()ident(n)operator(\),) ident(argc)operator(,) ident(argv)operator(\)) comment(/* * call-seq: * test(int_cmd, file1 [, file2] \) => obj * * Uses the integer aCmd to perform various tests on * file1 (first table below\) or on file1 and * file2 (second table\). * * File tests on a single file: * * Test Returns Meaning * ?A | Time | Last access time for file1 * ?b | boolean | True if file1 is a block device * ?c | boolean | True if file1 is a character device * ?C | Time | Last change time for file1 * ?d | boolean | True if file1 exists and is a directory * ?e | boolean | True if file1 exists * ?f | boolean | True if file1 exists and is a regular file * ?g | boolean | True if file1 has the \\CF{setgid} bit * | | set (false under NT\) * ?G | boolean | True if file1 exists and has a group * | | ownership equal to the caller's group * ?k | boolean | True if file1 exists and has the sticky bit set * ?l | boolean | True if file1 exists and is a symbolic link * ?M | Time | Last modification time for file1 * ?o | boolean | True if file1 exists and is owned by * | | the caller's effective uid * ?O | boolean | True if file1 exists and is owned by * | | the caller's real uid * ?p | boolean | True if file1 exists and is a fifo * ?r | boolean | True if file1 is readable by the effective * | | uid/gid of the caller * ?R | boolean | True if file is readable by the real * | | uid/gid of the caller * ?s | int/nil | If file1 has nonzero size, return the size, * | | otherwise return nil * ?S | boolean | True if file1 exists and is a socket * ?u | boolean | True if file1 has the setuid bit set * ?w | boolean | True if file1 exists and is writable by * | | the effective uid/gid * ?W | boolean | True if file1 exists and is writable by * | | the real uid/gid * ?x | boolean | True if file1 exists and is executable by * | | the effective uid/gid * ?X | boolean | True if file1 exists and is executable by * | | the real uid/gid * ?z | boolean | True if file1 exists and has a zero length * * Tests that take two files: * * ?- | boolean | True if file1 and file2 are identical * ?= | boolean | True if the modification times of file1 * | | and file2 are equal * ?< | boolean | True if the modification time of file1 * | | is prior to that of file2 * ?> | boolean | True if the modification time of file1 * | | is after that of file2 */) directive(static) ident(VALUE) ident(rb_f_test)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(cmd)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) comment(#if 0 /* 1.7 behavior? */ if (argc == 1\) { return RTEST(argv[0]\) ? Qtrue : Qfalse; } #endif) ident(cmd) operator(=) ident(NUM2CHR)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(cmd) operator(==) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(strchr)operator(()stringoperator(,) ident(cmd)operator(\)\)) operator({) ident(CHECK)operator(()integer(1)operator(\);) reserved(switch) operator(()ident(cmd)operator(\)) operator({) reserved(case) char('b')operator(:) reserved(return) ident(test_b)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('c')operator(:) reserved(return) ident(test_c)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('d')operator(:) reserved(return) ident(test_d)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('a')operator(:) reserved(case) char('e')operator(:) reserved(return) ident(test_e)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('f')operator(:) reserved(return) ident(test_f)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('g')operator(:) reserved(return) ident(test_sgid)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('G')operator(:) reserved(return) ident(test_grpowned)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('k')operator(:) reserved(return) ident(test_sticky)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('l')operator(:) reserved(return) ident(test_l)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('o')operator(:) reserved(return) ident(test_owned)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('O')operator(:) reserved(return) ident(test_rowned)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('p')operator(:) reserved(return) ident(test_p)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('r')operator(:) reserved(return) ident(test_r)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('R')operator(:) reserved(return) ident(test_R)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('s')operator(:) reserved(return) ident(test_s)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('S')operator(:) reserved(return) ident(test_S)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('u')operator(:) reserved(return) ident(test_suid)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('w')operator(:) reserved(return) ident(test_w)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('W')operator(:) reserved(return) ident(test_W)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('x')operator(:) reserved(return) ident(test_x)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('X')operator(:) reserved(return) ident(test_X)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) reserved(case) char('z')operator(:) reserved(return) ident(test_z)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(]\);) operator(}) operator(}) reserved(if) operator(()ident(strchr)operator(()stringoperator(,) ident(cmd)operator(\)\)) operator({) reserved(struct) ident(stat) ident(st)operator(;) ident(CHECK)operator(()integer(1)operator(\);) reserved(if) operator(()ident(rb_stat)operator(()ident(argv)operator([)integer(1)operator(],) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(argv)operator([)integer(1)operator(]\)->)ident(ptr)operator(\);) operator(}) reserved(switch) operator(()ident(cmd)operator(\)) operator({) reserved(case) char('A')operator(:) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_atime)operator(,) integer(0)operator(\);) reserved(case) char('M')operator(:) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_mtime)operator(,) integer(0)operator(\);) reserved(case) char('C')operator(:) reserved(return) ident(rb_time_new)operator(()ident(st)operator(.)ident(st_ctime)operator(,) integer(0)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(cmd) operator(==) char('-')operator(\)) operator({) ident(CHECK)operator(()integer(2)operator(\);) reserved(return) ident(test_identical)operator(()integer(0)operator(,) ident(argv)operator([)integer(1)operator(],) ident(argv)operator([)integer(2)operator(]\);) operator(}) reserved(if) operator(()ident(strchr)operator(()string)delimiter(")>operator(,) ident(cmd)operator(\)\)) operator({) reserved(struct) ident(stat) ident(st1)operator(,) ident(st2)operator(;) ident(CHECK)operator(()integer(2)operator(\);) reserved(if) operator(()ident(rb_stat)operator(()ident(argv)operator([)integer(1)operator(],) operator(&)ident(st1)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_stat)operator(()ident(argv)operator([)integer(2)operator(],) operator(&)ident(st2)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(switch) operator(()ident(cmd)operator(\)) operator({) reserved(case) char('=')operator(:) reserved(if) operator(()ident(st1)operator(.)ident(st_mtime) operator(==) ident(st2)operator(.)ident(st_mtime)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) reserved(case) char('>')operator(:) reserved(if) operator(()ident(st1)operator(.)ident(st_mtime) operator(>) ident(st2)operator(.)ident(st_mtime)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) reserved(case) char('<')operator(:) reserved(if) operator(()ident(st1)operator(.)ident(st_mtime) operator(<) ident(st2)operator(.)ident(st_mtime)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) operator(}) comment(/* unknown command */) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(cmd)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * Document-class: File::Stat * * Objects of class File::Stat encapsulate common status * information for File objects. The information is * recorded at the moment the File::Stat object is * created; changes made to the file after that point will not be * reflected. File::Stat objects are returned by * IO#stat, File::stat, * File#lstat, and File::lstat. Many of these * methods return platform-specific values, and not all values are * meaningful on all systems. See also Kernel#test. */) directive(static) ident(VALUE) ident(rb_stat_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_stat_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(return) ident(stat_new_0)operator(()ident(klass)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * * File::Stat.new(file_name\) => stat * * Create a File::Stat object for the given file name (raising an * exception if the file doesn't exist\). */) directive(static) ident(VALUE) ident(rb_stat_init)operator(()ident(obj)operator(,) ident(fname)operator(\)) ident(VALUE) ident(obj)operator(,) ident(fname)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(,) operator(*)ident(nst)operator(;) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(stat)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) operator(&)ident(st)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) operator(}) reserved(if) operator(()ident(DATA_PTR)operator(()ident(obj)operator(\)\)) operator({) ident(free)operator(()ident(DATA_PTR)operator(()ident(obj)operator(\)\);) ident(DATA_PTR)operator(()ident(obj)operator(\)) operator(=) pre_constant(NULL)operator(;) operator(}) ident(nst) operator(=) ident(ALLOC)operator(()reserved(struct) ident(stat)operator(\);) operator(*)ident(nst) operator(=) ident(st)operator(;) ident(DATA_PTR)operator(()ident(obj)operator(\)) operator(=) ident(nst)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(rb_stat_init_copy)operator(()ident(copy)operator(,) ident(orig)operator(\)) ident(VALUE) ident(copy)operator(,) ident(orig)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(nst)operator(;) reserved(if) operator(()ident(copy) operator(==) ident(orig)operator(\)) reserved(return) ident(orig)operator(;) ident(rb_check_frozen)operator(()ident(copy)operator(\);) comment(/* need better argument type check */) reserved(if) operator((!)ident(rb_obj_is_instance_of)operator(()ident(orig)operator(,) ident(rb_obj_class)operator(()ident(copy)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(DATA_PTR)operator(()ident(copy)operator(\)\)) operator({) ident(free)operator(()ident(DATA_PTR)operator(()ident(copy)operator(\)\);) ident(DATA_PTR)operator(()ident(copy)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(DATA_PTR)operator(()ident(orig)operator(\)\)) operator({) ident(nst) operator(=) ident(ALLOC)operator(()reserved(struct) ident(stat)operator(\);) operator(*)ident(nst) operator(=) operator(*()reserved(struct) ident(stat)operator(*\))ident(DATA_PTR)operator(()ident(orig)operator(\);) ident(DATA_PTR)operator(()ident(copy)operator(\)) operator(=) ident(nst)operator(;) operator(}) reserved(return) ident(copy)operator(;) operator(}) comment(/* * call-seq: * stat.ftype => string * * Identifies the type of stat. The return string is one of: * ``file'', ``directory'', * ``characterSpecial'', ``blockSpecial'', * ``fifo'', ``link'', * ``socket'', or ``unknown''. * * File.stat("/dev/tty"\).ftype #=> "characterSpecial" * */) directive(static) ident(VALUE) ident(rb_stat_ftype)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_file_ftype)operator(()ident(get_stat)operator(()ident(obj)operator(\)\);) operator(}) comment(/* * call-seq: * stat.directory? => true or false * * Returns true if stat is a directory, * false otherwise. * * File.stat("testfile"\).directory? #=> false * File.stat("."\).directory? #=> true */) directive(static) ident(VALUE) ident(rb_stat_d)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(S_ISDIR)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.pipe? => true or false * * Returns true if the operating system supports pipes and * stat is a pipe; false otherwise. */) directive(static) ident(VALUE) ident(rb_stat_p)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_IFIFO) reserved(if) operator(()ident(S_ISFIFO)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.symlink? => true or false * * Returns true if stat is a symbolic link, * false if it isn't or if the operating system doesn't * support this feature. As File::stat automatically * follows symbolic links, symlink? will always be * false for an object returned by * File::stat. * * File.symlink("testfile", "alink"\) #=> 0 * File.stat("alink"\).symlink? #=> false * File.lstat("alink"\).symlink? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_l)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_ISLNK) reserved(if) operator(()ident(S_ISLNK)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.socket? => true or false * * Returns true if stat is a socket, * false if it isn't or if the operating system doesn't * support this feature. * * File.stat("testfile"\).socket? #=> false * */) directive(static) ident(VALUE) ident(rb_stat_S)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_ISSOCK) reserved(if) operator(()ident(S_ISSOCK)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.blockdev? => true or false * * Returns true if the file is a block device, * false if it isn't or if the operating system doesn't * support this feature. * * File.stat("testfile"\).blockdev? #=> false * File.stat("/dev/hda1"\).blockdev? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_b)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_ISBLK) reserved(if) operator(()ident(S_ISBLK)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.chardev? => true or false * * Returns true if the file is a character device, * false if it isn't or if the operating system doesn't * support this feature. * * File.stat("/dev/tty"\).chardev? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_c)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(S_ISCHR)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.owned? => true or false * * Returns true if the effective user id of the process is * the same as the owner of stat. * * File.stat("testfile"\).owned? #=> true * File.stat("/etc/passwd"\).owned? #=> false * */) directive(static) ident(VALUE) ident(rb_stat_owned)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_uid) operator(==) ident(geteuid)operator((\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_stat_rowned)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_uid) operator(==) ident(getuid)operator((\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.grpowned? => true or false * * Returns true if the effective group id of the process is the same as * the group id of stat. On Windows NT, returns false. * * File.stat("testfile"\).grpowned? #=> true * File.stat("/etc/passwd"\).grpowned? #=> false * */) directive(static) ident(VALUE) ident(rb_stat_grpowned)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifndef) ident(_WIN32) reserved(if) operator(()ident(group_member)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_gid)operator(\)\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.readable? => true or false * * Returns true if stat is readable by the * effective user id of this process. * * File.stat("testfile"\).readable? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_r)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(st) operator(=) ident(get_stat)operator(()ident(obj)operator(\);) preprocessor(#ifdef) ident(USE_GETEUID) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IRUSR) reserved(if) operator(()ident(rb_stat_owned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IRUSR) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IRGRP) reserved(if) operator(()ident(rb_stat_grpowned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IRGRP) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IROTH) reserved(if) operator((!()ident(st)operator(->)ident(st_mode) operator(&) ident(S_IROTH)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * stat.readable_real? -> true or false * * Returns true if stat is readable by the real * user id of this process. * * File.stat("testfile"\).readable_real? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_R)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(st) operator(=) ident(get_stat)operator(()ident(obj)operator(\);) preprocessor(#ifdef) ident(USE_GETEUID) reserved(if) operator(()ident(getuid)operator((\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IRUSR) reserved(if) operator(()ident(rb_stat_rowned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IRUSR) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IRGRP) reserved(if) operator(()ident(group_member)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_gid)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IRGRP) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IROTH) reserved(if) operator((!()ident(st)operator(->)ident(st_mode) operator(&) ident(S_IROTH)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * stat.writable? -> true or false * * Returns true if stat is writable by the * effective user id of this process. * * File.stat("testfile"\).writable? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_w)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(st) operator(=) ident(get_stat)operator(()ident(obj)operator(\);) preprocessor(#ifdef) ident(USE_GETEUID) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IWUSR) reserved(if) operator(()ident(rb_stat_owned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IWUSR) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IWGRP) reserved(if) operator(()ident(rb_stat_grpowned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IWGRP) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IWOTH) reserved(if) operator((!()ident(st)operator(->)ident(st_mode) operator(&) ident(S_IWOTH)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * stat.writable_real? -> true or false * * Returns true if stat is writable by the real * user id of this process. * * File.stat("testfile"\).writable_real? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_W)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(st) operator(=) ident(get_stat)operator(()ident(obj)operator(\);) preprocessor(#ifdef) ident(USE_GETEUID) reserved(if) operator(()ident(getuid)operator((\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IWUSR) reserved(if) operator(()ident(rb_stat_rowned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IWUSR) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IWGRP) reserved(if) operator(()ident(group_member)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_gid)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IWGRP) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IWOTH) reserved(if) operator((!()ident(st)operator(->)ident(st_mode) operator(&) ident(S_IWOTH)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * stat.executable? => true or false * * Returns true if stat is executable or if the * operating system doesn't distinguish executable files from * nonexecutable files. The tests are made using the effective owner of * the process. * * File.stat("testfile"\).executable? #=> false * */) directive(static) ident(VALUE) ident(rb_stat_x)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(st) operator(=) ident(get_stat)operator(()ident(obj)operator(\);) preprocessor(#ifdef) ident(USE_GETEUID) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXUGO) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(S_IXUSR) reserved(if) operator(()ident(rb_stat_owned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXUSR) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IXGRP) reserved(if) operator(()ident(rb_stat_grpowned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXGRP) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IXOTH) reserved(if) operator((!()ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXOTH)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * stat.executable_real? => true or false * * Same as executable?, but tests using the real owner of * the process. */) directive(static) ident(VALUE) ident(rb_stat_X)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(struct) ident(stat) operator(*)ident(st) operator(=) ident(get_stat)operator(()ident(obj)operator(\);) preprocessor(#ifdef) ident(USE_GETEUID) reserved(if) operator(()ident(getuid)operator((\)) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXUGO) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(S_IXUSR) reserved(if) operator(()ident(rb_stat_rowned)operator(()ident(obj)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXUSR) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IXGRP) reserved(if) operator(()ident(group_member)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_gid)operator(\)\)) reserved(return) ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXGRP) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(S_IXOTH) reserved(if) operator((!()ident(st)operator(->)ident(st_mode) operator(&) ident(S_IXOTH)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * stat.file? => true or false * * Returns true if stat is a regular file (not * a device file, pipe, socket, etc.\). * * File.stat("testfile"\).file? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_f)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(S_ISREG)operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.zero? => true or false * * Returns true if stat is a zero-length file; * false otherwise. * * File.stat("testfile"\).zero? #=> false * */) directive(static) ident(VALUE) ident(rb_stat_z)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_size) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * state.size => integer * * Returns the size of stat in bytes. * * File.stat("testfile"\).size #=> 66 * */) directive(static) ident(VALUE) ident(rb_stat_s)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(off_t) ident(size) operator(=) ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_size)operator(;) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(OFFT2NUM)operator(()ident(size)operator(\);) operator(}) comment(/* * call-seq: * stat.setuid? => true or false * * Returns true if stat has the set-user-id * permission bit set, false if it doesn't or if the * operating system doesn't support this feature. * * File.stat("/bin/su"\).setuid? #=> true */) directive(static) ident(VALUE) ident(rb_stat_suid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_ISUID) reserved(if) operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode) operator(&) ident(S_ISUID)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.setgid? => true or false * * Returns true if stat has the set-group-id * permission bit set, false if it doesn't or if the * operating system doesn't support this feature. * * File.stat("/usr/sbin/lpc"\).setgid? #=> true * */) directive(static) ident(VALUE) ident(rb_stat_sgid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_ISGID) reserved(if) operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode) operator(&) ident(S_ISGID)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.sticky? => true or false * * Returns true if stat has its sticky bit set, * false if it doesn't or if the operating system doesn't * support this feature. * * File.stat("testfile"\).sticky? #=> false * */) directive(static) ident(VALUE) ident(rb_stat_sticky)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#ifdef) ident(S_ISVTX) reserved(if) operator(()ident(get_stat)operator(()ident(obj)operator(\)->)ident(st_mode) operator(&) ident(S_ISVTX)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) reserved(return) ident(Qfalse)operator(;) operator(}) ident(VALUE) ident(rb_mFConst)operator(;) directive(void) ident(rb_file_const)operator(()ident(name)operator(,) ident(value)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(value)operator(;) operator({) ident(rb_define_const)operator(()ident(rb_mFConst)operator(,) ident(name)operator(,) ident(value)operator(\);) operator(}) directive(static) pre_type(int) ident(is_absolute_path)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) preprocessor(#ifdef) ident(DOSISH_DRIVE_LETTER) reserved(if) operator(()ident(has_drive_letter)operator(()ident(path)operator(\)) operator(&&) ident(isdirsep)operator(()ident(path)operator([)integer(2)operator(]\)\)) reserved(return) integer(1)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(DOSISH_UNC) reserved(if) operator(()ident(isdirsep)operator(()ident(path)operator([)integer(0)operator(]\)) operator(&&) ident(isdirsep)operator(()ident(path)operator([)integer(1)operator(]\)\)) reserved(return) integer(1)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(DOSISH) reserved(if) operator(()ident(path)operator([)integer(0)operator(]) operator(==) char('/')operator(\)) reserved(return) integer(1)operator(;) preprocessor(#endif) reserved(return) integer(0)operator(;) operator(}) preprocessor(#ifndef) ident(ENABLE_PATH_CHECK) preprocessor(# if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) preprocessor(# define) ident(ENABLE_PATH_CHECK) integer(0) preprocessor(# else) preprocessor(# define) ident(ENABLE_PATH_CHECK) integer(1) preprocessor(# endif) preprocessor(#endif) preprocessor(#if) ident(ENABLE_PATH_CHECK) directive(static) pre_type(int) ident(path_check_0)operator(()ident(fpath)operator(,) ident(execpath)operator(\)) ident(VALUE) ident(fpath)operator(;) pre_type(int) ident(execpath)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) pre_type(char) operator(*)ident(p0) operator(=) ident(StringValueCStr)operator(()ident(fpath)operator(\);) pre_type(char) operator(*)ident(p) operator(=) integer(0)operator(,) operator(*)ident(s)operator(;) reserved(if) operator((!)ident(is_absolute_path)operator(()ident(p0)operator(\)\)) operator({) pre_type(char) operator(*)ident(buf) operator(=) ident(my_getcwd)operator((\);) ident(VALUE) ident(newpath)operator(;) ident(newpath) operator(=) ident(rb_str_new2)operator(()ident(buf)operator(\);) ident(free)operator(()ident(buf)operator(\);) ident(rb_str_cat2)operator(()ident(newpath)operator(,) stringoperator(\);) ident(rb_str_cat2)operator(()ident(newpath)operator(,) ident(p0)operator(\);) ident(p0) operator(=) ident(RSTRING)operator(()ident(fpath) operator(=) ident(newpath)operator(\)->)ident(ptr)operator(;) operator(}) reserved(for) operator((;;\)) operator({) preprocessor(#ifndef) ident(S_IWOTH) preprocessor(# define) ident(S_IWOTH) oct(002) preprocessor(#endif) reserved(if) operator(()ident(stat)operator(()ident(p0)operator(,) operator(&)ident(st)operator(\)) operator(==) integer(0) operator(&&) ident(S_ISDIR)operator(()ident(st)operator(.)ident(st_mode)operator(\)) operator(&&) operator(()ident(st)operator(.)ident(st_mode) operator(&) ident(S_IWOTH)operator(\)) preprocessor(#ifdef) ident(S_ISVTX) operator(&&) operator(!()ident(p) operator(&&) ident(execpath) operator(&&) operator(()ident(st)operator(.)ident(st_mode) operator(&) ident(S_ISVTX)operator(\)\)) preprocessor(#endif) operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(p0)operator(,) operator(()ident(execpath) operator(?) string operator(:) stringoperator(\),) ident(st)operator(.)ident(st_mode)operator(\);) reserved(if) operator(()ident(p)operator(\)) operator(*)ident(p) operator(=) char('/')operator(;) reserved(return) integer(0)operator(;) operator(}) ident(s) operator(=) ident(strrdirsep)operator(()ident(p0)operator(\);) reserved(if) operator(()ident(p)operator(\)) operator(*)ident(p) operator(=) char('/')operator(;) reserved(if) operator((!)ident(s) operator(||) ident(s) operator(==) ident(p0)operator(\)) reserved(return) integer(1)operator(;) ident(p) operator(=) ident(s)operator(;) operator(*)ident(p) operator(=) char('\\0')operator(;) operator(}) operator(}) preprocessor(#endif) directive(static) pre_type(int) ident(fpath_check)operator(()ident(path)operator(\)) pre_type(char) operator(*)ident(path)operator(;) operator({) preprocessor(#if) ident(ENABLE_PATH_CHECK) reserved(return) ident(path_check_0)operator(()ident(rb_str_new2)operator(()ident(path)operator(\),) ident(Qfalse)operator(\);) preprocessor(#else) reserved(return) integer(1)operator(;) preprocessor(#endif) operator(}) pre_type(int) ident(rb_path_check)operator(()ident(path)operator(\)) pre_type(char) operator(*)ident(path)operator(;) operator({) preprocessor(#if) ident(ENABLE_PATH_CHECK) pre_type(char) operator(*)ident(p0)operator(,) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) directive(const) pre_type(char) ident(sep) operator(=) ident(PATH_SEP_CHAR)operator(;) reserved(if) operator((!)ident(path)operator(\)) reserved(return) integer(1)operator(;) ident(pend) operator(=) ident(path) operator(+) ident(strlen)operator(()ident(path)operator(\);) ident(p0) operator(=) ident(path)operator(;) ident(p) operator(=) ident(strchr)operator(()ident(path)operator(,) ident(sep)operator(\);) reserved(if) operator((!)ident(p)operator(\)) ident(p) operator(=) ident(pend)operator(;) reserved(for) operator((;;\)) operator({) reserved(if) operator((!)ident(path_check_0)operator(()ident(rb_str_new)operator(()ident(p0)operator(,) ident(p) operator(-) ident(p0)operator(\),) ident(Qtrue)operator(\)\)) operator({) reserved(return) integer(0)operator(;) comment(/* not safe */) operator(}) ident(p0) operator(=) ident(p) operator(+) integer(1)operator(;) reserved(if) operator(()ident(p0) operator(>) ident(pend)operator(\)) reserved(break)operator(;) ident(p) operator(=) ident(strchr)operator(()ident(p0)operator(,) ident(sep)operator(\);) reserved(if) operator((!)ident(p)operator(\)) ident(p) operator(=) ident(pend)operator(;) operator(}) preprocessor(#endif) reserved(return) integer(1)operator(;) operator(}) preprocessor(#if) ident(defined)operator(()ident(__MACOS__)operator(\)) operator(||) ident(defined)operator(()ident(riscos)operator(\)) directive(static) pre_type(int) ident(is_macos_native_path)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) reserved(if) operator(()ident(strchr)operator(()ident(path)operator(,) char(':')operator(\)\)) reserved(return) integer(1)operator(;) reserved(return) integer(0)operator(;) operator(}) preprocessor(#endif) directive(static) pre_type(int) ident(file_load_ok)operator(()ident(file)operator(\)) pre_type(char) operator(*)ident(file)operator(;) operator({) pre_type(int) ident(ret) operator(=) integer(1)operator(;) pre_type(int) ident(fd) operator(=) ident(open)operator(()ident(file)operator(,) ident(O_RDONLY)operator(\);) reserved(if) operator(()ident(fd) operator(==) operator(-)integer(1)operator(\)) reserved(return) integer(0)operator(;) preprocessor(#if) operator(!)ident(defined) ident(DOSISH) operator({) reserved(struct) ident(stat) ident(st)operator(;) reserved(if) operator(()ident(fstat)operator(()ident(fd)operator(,) operator(&)ident(st)operator(\)) operator(||) operator(!)ident(S_ISREG)operator(()ident(st)operator(.)ident(st_mode)operator(\)\)) operator({) ident(ret) operator(=) integer(0)operator(;) operator(}) operator(}) preprocessor(#endif) operator(()directive(void)operator(\))ident(close)operator(()ident(fd)operator(\);) reserved(return) ident(ret)operator(;) operator(}) directive(extern) ident(VALUE) ident(rb_load_path)operator(;) pre_type(int) ident(rb_find_file_ext)operator(()ident(filep)operator(,) ident(ext)operator(\)) ident(VALUE) operator(*)ident(filep)operator(;) directive(const) pre_type(char) operator(*) directive(const) operator(*)ident(ext)operator(;) operator({) pre_type(char) operator(*)ident(path)operator(,) operator(*)ident(found)operator(;) pre_type(char) operator(*)ident(f) operator(=) ident(RSTRING)operator((*)ident(filep)operator(\)->)ident(ptr)operator(;) ident(VALUE) ident(fname)operator(;) pre_type(long) ident(i)operator(,) ident(j)operator(;) reserved(if) operator(()ident(f)operator([)integer(0)operator(]) operator(==) char('~')operator(\)) operator({) ident(fname) operator(=) ident(rb_file_expand_path)operator((*)ident(filep)operator(,) ident(Qnil)operator(\);) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(2) operator(&&) ident(OBJ_TAINTED)operator(()ident(fname)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(f)operator(\);) operator(}) ident(OBJ_FREEZE)operator(()ident(fname)operator(\);) ident(f) operator(=) ident(StringValueCStr)operator(()ident(fname)operator(\);) operator(*)ident(filep) operator(=) ident(fname)operator(;) operator(}) reserved(if) operator(()ident(is_absolute_path)operator(()ident(f)operator(\)\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(ext)operator([)ident(i)operator(];) ident(i)operator(++\)) operator({) ident(fname) operator(=) ident(rb_str_dup)operator((*)ident(filep)operator(\);) ident(rb_str_cat2)operator(()ident(fname)operator(,) ident(ext)operator([)ident(i)operator(]\);) ident(OBJ_FREEZE)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(file_load_ok)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\)\)\)) operator({) operator(*)ident(filep) operator(=) ident(fname)operator(;) reserved(return) ident(i)operator(+)integer(1)operator(;) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator((!)ident(rb_load_path)operator(\)) reserved(return) integer(0)operator(;) ident(Check_Type)operator(()ident(rb_load_path)operator(,) ident(T_ARRAY)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(RARRAY)operator(()ident(rb_load_path)operator(\)->)ident(len)operator(;)ident(i)operator(++\)) operator({) ident(VALUE) ident(str) operator(=) ident(RARRAY)operator(()ident(rb_load_path)operator(\)->)ident(ptr)operator([)ident(i)operator(];) ident(SafeStringValue)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(continue)operator(;) ident(path) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(ext)operator([)ident(j)operator(];) ident(j)operator(++\)) operator({) ident(fname) operator(=) ident(rb_str_dup)operator((*)ident(filep)operator(\);) ident(rb_str_cat2)operator(()ident(fname)operator(,) ident(ext)operator([)ident(j)operator(]\);) ident(OBJ_FREEZE)operator(()ident(fname)operator(\);) ident(found) operator(=) ident(dln_find_file)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) ident(path)operator(\);) reserved(if) operator(()ident(found) operator(&&) ident(file_load_ok)operator(()ident(found)operator(\)\)) operator({) operator(*)ident(filep) operator(=) ident(fname)operator(;) reserved(return) ident(j)operator(+)integer(1)operator(;) operator(}) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) ident(VALUE) ident(rb_find_file)operator(()ident(path)operator(\)) ident(VALUE) ident(path)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) pre_type(char) operator(*)ident(f) operator(=) ident(StringValueCStr)operator(()ident(path)operator(\);) pre_type(char) operator(*)ident(lpath)operator(;) reserved(if) operator(()ident(f)operator([)integer(0)operator(]) operator(==) char('~')operator(\)) operator({) ident(path) operator(=) ident(rb_file_expand_path)operator(()ident(path)operator(,) ident(Qnil)operator(\);) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(1) operator(&&) ident(OBJ_TAINTED)operator(()ident(path)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(f)operator(\);) operator(}) ident(OBJ_FREEZE)operator(()ident(path)operator(\);) ident(f) operator(=) ident(StringValueCStr)operator(()ident(path)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(__MACOS__)operator(\)) operator(||) ident(defined)operator(()ident(riscos)operator(\)) reserved(if) operator(()ident(is_macos_native_path)operator(()ident(f)operator(\)\)) operator({) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(1) operator(&&) operator(!)ident(fpath_check)operator(()ident(f)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(f)operator(\);) operator(}) reserved(if) operator(()ident(file_load_ok)operator(()ident(f)operator(\)\)) reserved(return) ident(path)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(is_absolute_path)operator(()ident(f)operator(\)\)) operator({) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(1) operator(&&) operator(!)ident(fpath_check)operator(()ident(f)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(f)operator(\);) operator(}) reserved(if) operator(()ident(file_load_ok)operator(()ident(f)operator(\)\)) reserved(return) ident(path)operator(;) operator(}) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(f)operator(\);) operator(}) reserved(if) operator(()ident(rb_load_path)operator(\)) operator({) pre_type(long) ident(i)operator(;) ident(Check_Type)operator(()ident(rb_load_path)operator(,) ident(T_ARRAY)operator(\);) ident(tmp) operator(=) ident(rb_ary_new)operator((\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(RARRAY)operator(()ident(rb_load_path)operator(\)->)ident(len)operator(;)ident(i)operator(++\)) operator({) ident(VALUE) ident(str) operator(=) ident(RARRAY)operator(()ident(rb_load_path)operator(\)->)ident(ptr)operator([)ident(i)operator(];) ident(SafeStringValue)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(rb_ary_push)operator(()ident(tmp)operator(,) ident(str)operator(\);) operator(}) operator(}) ident(tmp) operator(=) ident(rb_ary_join)operator(()ident(tmp)operator(,) ident(rb_str_new2)operator(()ident(PATH_SEP)operator(\)\);) reserved(if) operator(()ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(lpath) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(lpath) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(;) operator(}) operator(}) reserved(else) operator({) ident(lpath) operator(=) integer(0)operator(;) operator(}) reserved(if) operator((!)ident(lpath)operator(\)) operator({) reserved(return) integer(0)operator(;) comment(/* no path, no load */) operator(}) reserved(if) operator((!()ident(f) operator(=) ident(dln_find_file)operator(()ident(f)operator(,) ident(lpath)operator(\)\)\)) operator({) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(1) operator(&&) operator(!)ident(fpath_check)operator(()ident(f)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(f)operator(\);) operator(}) reserved(if) operator(()ident(file_load_ok)operator(()ident(f)operator(\)\)) operator({) ident(tmp) operator(=) ident(rb_str_new2)operator(()ident(f)operator(\);) ident(OBJ_FREEZE)operator(()ident(tmp)operator(\);) reserved(return) ident(tmp)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) directive(void) ident(define_filetest_function)operator(()ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(func)operator(\)(\);) pre_type(int) ident(argc)operator(;) operator({) ident(rb_define_module_function)operator(()ident(rb_mFileTest)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) ident(name)operator(,) ident(func)operator(,) ident(argc)operator(\);) operator(}) comment(/* * A File is an abstraction of any file object accessible * by the program and is closely associated with class IO * File includes the methods of module * FileTest as class methods, allowing you to write (for * example\) File.exist?("foo"\). * * In the description of File methods, * permission bits are a platform-specific * set of bits that indicate permissions of a file. On Unix-based * systems, permissions are viewed as a set of three octets, for the * owner, the group, and the rest of the world. For each of these * entities, permissions may be set to read, write, or execute the * file: * * The permission bits 0644 (in octal\) would thus be * interpreted as read/write for owner, and read-only for group and * other. Higher-order bits may also be used to indicate the type of * file (plain, directory, pipe, socket, and so on\) and various other * special features. If the permissions are for a directory, the * meaning of the execute bit changes; when set the directory can be * searched. * * On non-Posix operating systems, there may be only the ability to * make a file read-only or read-write. In this case, the remaining * permission bits will be synthesized to resemble typical values. For * instance, on Windows NT the default permission bits are * 0644, which means read/write for owner, read-only for * all others. The only change that can be made is to make the file * read-only, which is reported as 0444. */) directive(void) ident(Init_File)operator((\)) operator({) ident(rb_mFileTest) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_cFile) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cIO)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_d)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_e)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_e)operator(,) integer(1)operator(\);) comment(/* temporary */) ident(define_filetest_function)operator(()stringoperator(,) ident(test_r)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_R)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_w)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_W)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_x)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_X)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_f)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_z)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_s)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(rb_file_s_size)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_owned)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_grpowned)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_p)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_l)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_S)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_b)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_c)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_suid)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_sgid)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_sticky)operator(,) integer(1)operator(\);) ident(define_filetest_function)operator(()stringoperator(,) ident(test_identical)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_stat)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_lstat)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_ftype)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_atime)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_mtime)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_ctime)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_utime)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_chmod)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_chown)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_lchmod)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_lchown)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_link)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_symlink)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_readlink)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_unlink)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_unlink)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_rename)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_umask)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_truncate)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_expand_path)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_basename)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_dirname)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_extname)operator(,) integer(1)operator(\);) ident(separator) operator(=) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()stringoperator(\)\);) ident(rb_define_const)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(separator)operator(\);) ident(rb_define_const)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(separator)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_split)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_s_join)operator(,) operator(-)integer(2)operator(\);) preprocessor(#ifdef) ident(DOSISH) ident(rb_define_const)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()stringoperator(\)\)\);) preprocessor(#else) ident(rb_define_const)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(Qnil)operator(\);) preprocessor(#endif) ident(rb_define_const)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()ident(PATH_SEP)operator(\)\)\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_stat)operator(,) integer(0)operator(\);) comment(/* this is IO's method */) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_lstat)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_atime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_mtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_ctime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_chmod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_chown)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_truncate)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_flock)operator(,) integer(1)operator(\);) ident(rb_mFConst) operator(=) ident(rb_define_module_under)operator(()ident(rb_cFile)operator(,) stringoperator(\);) ident(rb_include_module)operator(()ident(rb_cIO)operator(,) ident(rb_mFConst)operator(\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(LOCK_SH)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(LOCK_EX)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(LOCK_UN)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(LOCK_NB)operator(\)\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_path)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_test)operator(,) operator(-)integer(1)operator(\);) ident(rb_cStat) operator(=) ident(rb_define_class_under)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cStat)operator(,) ident(rb_stat_s_alloc)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_init)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_init_copy)operator(,) integer(1)operator(\);) ident(rb_include_module)operator(()ident(rb_cStat)operator(,) ident(rb_mComparable)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) string)delimiter(")>operator(,) ident(rb_stat_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_dev)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_dev_major)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_dev_minor)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_ino)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_mode)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_nlink)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_uid)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_gid)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_rdev)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_rdev_major)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_rdev_minor)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_blksize)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_blocks)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_atime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_mtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_ctime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_ftype)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_d)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_r)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_R)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_w)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_W)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_x)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_X)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_z)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_owned)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_grpowned)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_l)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_S)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_b)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_c)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_suid)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_sgid)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStat)operator(,) stringoperator(,) ident(rb_stat_sticky)operator(,) integer(0)operator(\);) operator(}) comment(/********************************************************************** gc.c - $Author: wyhaines $ $Date: 2009-07-10 20:31:58 +0200 (Fri, 10 Jul 2009\) $ created at: Tue Oct 5 09:44:46 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include("st.h") preprocessor(#include) include("node.h") preprocessor(#include) include("env.h") preprocessor(#include) include("re.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_SYS_TIME_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_RESOURCE_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined) ident(_WIN32) operator(||) ident(defined) ident(__CYGWIN__) preprocessor(#include) include() preprocessor(#endif) directive(void) ident(re_free_registers) ident(_)operator((()reserved(struct) ident(re_registers)operator(*\)\);) directive(void) ident(rb_io_fptr_finalize) ident(_)operator((()reserved(struct) ident(OpenFile)operator(*\)\);) preprocessor(#if) operator(!)ident(defined)operator(()ident(setjmp)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE__SETJMP)operator(\)) preprocessor(#define) ident(setjmp)operator(()ident(env)operator(\)) ident(_setjmp)operator(()ident(env)operator(\)) preprocessor(#endif) comment(/* Make alloca work the best possible way. */) preprocessor(#ifdef) ident(__GNUC__) preprocessor(# ifndef) ident(atarist) preprocessor(# ifndef) ident(alloca) preprocessor(# define) ident(alloca) ident(__builtin_alloca) preprocessor(# endif) preprocessor(# endif) comment(/* atarist */) preprocessor(#else) preprocessor(# ifdef) ident(HAVE_ALLOCA_H) preprocessor(# include) include() preprocessor(# else) preprocessor(# ifndef) ident(_AIX) preprocessor(# ifndef) ident(alloca) comment(/* predefined by HP cc +Olibcalls */) directive(void) operator(*)ident(alloca) operator((\);) preprocessor(# endif) preprocessor(# endif) comment(/* AIX */) preprocessor(# endif) comment(/* HAVE_ALLOCA_H */) preprocessor(#endif) comment(/* __GNUC__ */) preprocessor(#ifndef) ident(GC_MALLOC_LIMIT) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) preprocessor(#define) ident(GC_MALLOC_LIMIT) integer(200000) preprocessor(#else) preprocessor(#define) ident(GC_MALLOC_LIMIT) integer(8000000) preprocessor(#endif) preprocessor(#endif) directive(static) pre_type(unsigned) pre_type(long) ident(malloc_increase) operator(=) integer(0)operator(;) directive(static) pre_type(unsigned) pre_type(long) ident(malloc_limit) operator(=) ident(GC_MALLOC_LIMIT)operator(;) directive(static) directive(void) ident(run_final)operator((\);) directive(static) ident(VALUE) ident(nomem_error)operator(;) directive(static) directive(void) ident(garbage_collect)operator((\);) ident(NORETURN)operator(()directive(void) ident(rb_exc_jump) ident(_)operator((()ident(VALUE)operator(\)\)\);) directive(void) ident(rb_memerror)operator((\)) operator({) ident(rb_thread_t) ident(th) operator(=) ident(rb_curr_thread)operator(;) reserved(if) operator((!)ident(nomem_error) operator(||) operator(()ident(rb_thread_raised_p)operator(()ident(th)operator(,) ident(RAISED_NOMEMORY)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(<) integer(4)operator(\)\)) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(\);) ident(exit)operator(()integer(1)operator(\);) operator(}) reserved(if) operator(()ident(rb_thread_raised_p)operator(()ident(th)operator(,) ident(RAISED_NOMEMORY)operator(\)\)) operator({) ident(rb_exc_jump)operator(()ident(nomem_error)operator(\);) operator(}) ident(rb_thread_raised_set)operator(()ident(th)operator(,) ident(RAISED_NOMEMORY)operator(\);) ident(rb_exc_raise)operator(()ident(nomem_error)operator(\);) operator(}) directive(void) operator(*) ident(ruby_xmalloc)operator(()ident(size)operator(\)) pre_type(long) ident(size)operator(;) operator({) directive(void) operator(*)ident(mem)operator(;) reserved(if) operator(()ident(size) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eNoMemError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) ident(size) operator(=) integer(1)operator(;) reserved(if) operator((()ident(malloc_increase)operator(+)ident(size)operator(\)) operator(>) ident(malloc_limit)operator(\)) operator({) ident(garbage_collect)operator((\);) operator(}) ident(RUBY_CRITICAL)operator(()ident(mem) operator(=) ident(malloc)operator(()ident(size)operator(\)\);) reserved(if) operator((!)ident(mem)operator(\)) operator({) ident(garbage_collect)operator((\);) ident(RUBY_CRITICAL)operator(()ident(mem) operator(=) ident(malloc)operator(()ident(size)operator(\)\);) reserved(if) operator((!)ident(mem)operator(\)) operator({) ident(rb_memerror)operator((\);) operator(}) operator(}) ident(malloc_increase) operator(+=) ident(size)operator(;) reserved(return) ident(mem)operator(;) operator(}) directive(void) operator(*) ident(ruby_xcalloc)operator(()ident(n)operator(,) ident(size)operator(\)) pre_type(long) ident(n)operator(,) ident(size)operator(;) operator({) directive(void) operator(*)ident(mem)operator(;) ident(mem) operator(=) ident(xmalloc)operator(()ident(n) operator(*) ident(size)operator(\);) ident(memset)operator(()ident(mem)operator(,) integer(0)operator(,) ident(n) operator(*) ident(size)operator(\);) reserved(return) ident(mem)operator(;) operator(}) directive(void) operator(*) ident(ruby_xrealloc)operator(()ident(ptr)operator(,) ident(size)operator(\)) directive(void) operator(*)ident(ptr)operator(;) pre_type(long) ident(size)operator(;) operator({) directive(void) operator(*)ident(mem)operator(;) reserved(if) operator(()ident(size) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(ptr)operator(\)) reserved(return) ident(xmalloc)operator(()ident(size)operator(\);) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) ident(size) operator(=) integer(1)operator(;) ident(RUBY_CRITICAL)operator(()ident(mem) operator(=) ident(realloc)operator(()ident(ptr)operator(,) ident(size)operator(\)\);) reserved(if) operator((!)ident(mem)operator(\)) operator({) ident(garbage_collect)operator((\);) ident(RUBY_CRITICAL)operator(()ident(mem) operator(=) ident(realloc)operator(()ident(ptr)operator(,) ident(size)operator(\)\);) reserved(if) operator((!)ident(mem)operator(\)) operator({) ident(rb_memerror)operator((\);) operator(}) operator(}) ident(malloc_increase) operator(+=) ident(size)operator(;) reserved(return) ident(mem)operator(;) operator(}) directive(void) ident(ruby_xfree)operator(()ident(x)operator(\)) directive(void) operator(*)ident(x)operator(;) operator({) reserved(if) operator(()ident(x)operator(\)) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(x)operator(\)\);) operator(}) directive(extern) pre_type(int) ident(ruby_in_compile)operator(;) directive(static) pre_type(int) ident(dont_gc)operator(;) directive(static) pre_type(int) ident(during_gc)operator(;) directive(static) pre_type(int) ident(need_call_final) operator(=) integer(0)operator(;) directive(static) ident(st_table) operator(*)ident(finalizer_table) operator(=) integer(0)operator(;) comment(/* * call-seq: * GC.enable => true or false * * Enables garbage collection, returning true if garbage * collection was previously disabled. * * GC.disable #=> false * GC.enable #=> true * GC.enable #=> false * */) ident(VALUE) ident(rb_gc_enable)operator((\)) operator({) pre_type(int) ident(old) operator(=) ident(dont_gc)operator(;) ident(dont_gc) operator(=) ident(Qfalse)operator(;) reserved(return) ident(old)operator(;) operator(}) comment(/* * call-seq: * GC.disable => true or false * * Disables garbage collection, returning true if garbage * collection was already disabled. * * GC.disable #=> false * GC.disable #=> true * */) ident(VALUE) ident(rb_gc_disable)operator((\)) operator({) pre_type(int) ident(old) operator(=) ident(dont_gc)operator(;) ident(dont_gc) operator(=) ident(Qtrue)operator(;) reserved(return) ident(old)operator(;) operator(}) ident(VALUE) ident(rb_mGC)operator(;) directive(static) reserved(struct) ident(gc_list) operator({) ident(VALUE) operator(*)ident(varptr)operator(;) reserved(struct) ident(gc_list) operator(*)ident(next)operator(;) operator(}) operator(*)ident(global_List) operator(=) integer(0)operator(;) directive(void) ident(rb_gc_register_address)operator(()ident(addr)operator(\)) ident(VALUE) operator(*)ident(addr)operator(;) operator({) reserved(struct) ident(gc_list) operator(*)ident(tmp)operator(;) ident(tmp) operator(=) ident(ALLOC)operator(()reserved(struct) ident(gc_list)operator(\);) ident(tmp)operator(->)ident(next) operator(=) ident(global_List)operator(;) ident(tmp)operator(->)ident(varptr) operator(=) ident(addr)operator(;) ident(global_List) operator(=) ident(tmp)operator(;) operator(}) directive(void) ident(rb_gc_unregister_address)operator(()ident(addr)operator(\)) ident(VALUE) operator(*)ident(addr)operator(;) operator({) reserved(struct) ident(gc_list) operator(*)ident(tmp) operator(=) ident(global_List)operator(;) reserved(if) operator(()ident(tmp)operator(->)ident(varptr) operator(==) ident(addr)operator(\)) operator({) ident(global_List) operator(=) ident(tmp)operator(->)ident(next)operator(;) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(tmp)operator(\)\);) reserved(return)operator(;) operator(}) reserved(while) operator(()ident(tmp)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(tmp)operator(->)ident(next)operator(->)ident(varptr) operator(==) ident(addr)operator(\)) operator({) reserved(struct) ident(gc_list) operator(*)ident(t) operator(=) ident(tmp)operator(->)ident(next)operator(;) ident(tmp)operator(->)ident(next) operator(=) ident(tmp)operator(->)ident(next)operator(->)ident(next)operator(;) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(t)operator(\)\);) reserved(break)operator(;) operator(}) ident(tmp) operator(=) ident(tmp)operator(->)ident(next)operator(;) operator(}) operator(}) preprocessor(#undef) ident(GC_DEBUG) directive(void) ident(rb_global_variable)operator(()ident(var)operator(\)) ident(VALUE) operator(*)ident(var)operator(;) operator({) ident(rb_gc_register_address)operator(()ident(var)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(_MSC_VER)operator(\)) operator(||) ident(defined)operator(()ident(__BORLANDC__)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) preprocessor(#pragma) ident(pack)operator(()ident(push)operator(,) integer(1)operator(\)) comment(/* magic for reducing sizeof(RVALUE\): 24 -> 20 */) preprocessor(#endif) reserved(typedef) reserved(struct) ident(RVALUE) operator({) reserved(union) operator({) reserved(struct) operator({) pre_type(unsigned) pre_type(long) ident(flags)operator(;) comment(/* always 0 for freed obj */) reserved(struct) ident(RVALUE) operator(*)ident(next)operator(;) operator(}) ident(free)operator(;) reserved(struct) ident(RBasic) ident(basic)operator(;) reserved(struct) ident(RObject) ident(object)operator(;) reserved(struct) ident(RClass) ident(klass)operator(;) reserved(struct) ident(RFloat) ident(flonum)operator(;) reserved(struct) ident(RString) ident(string)operator(;) reserved(struct) ident(RArray) ident(array)operator(;) reserved(struct) ident(RRegexp) ident(regexp)operator(;) reserved(struct) ident(RHash) ident(hash)operator(;) reserved(struct) ident(RData) ident(data)operator(;) reserved(struct) ident(RStruct) ident(rstruct)operator(;) reserved(struct) ident(RBignum) ident(bignum)operator(;) reserved(struct) ident(RFile) ident(file)operator(;) reserved(struct) ident(RNode) ident(node)operator(;) reserved(struct) ident(RMatch) ident(match)operator(;) reserved(struct) ident(RVarmap) ident(varmap)operator(;) reserved(struct) ident(SCOPE) ident(scope)operator(;) operator(}) ident(as)operator(;) preprocessor(#ifdef) ident(GC_DEBUG) pre_type(char) operator(*)ident(file)operator(;) pre_type(int) ident(line)operator(;) preprocessor(#endif) operator(}) ident(RVALUE)operator(;) preprocessor(#if) ident(defined)operator(()ident(_MSC_VER)operator(\)) operator(||) ident(defined)operator(()ident(__BORLANDC__)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) preprocessor(#pragma) ident(pack)operator(()ident(pop)operator(\)) preprocessor(#endif) directive(static) ident(RVALUE) operator(*)ident(freelist) operator(=) integer(0)operator(;) directive(static) ident(RVALUE) operator(*)ident(deferred_final_list) operator(=) integer(0)operator(;) preprocessor(#define) ident(HEAPS_INCREMENT) integer(10) directive(static) reserved(struct) ident(heaps_slot) operator({) directive(void) operator(*)ident(membase)operator(;) ident(RVALUE) operator(*)ident(slot)operator(;) pre_type(int) ident(limit)operator(;) operator(}) operator(*)ident(heaps)operator(;) directive(static) pre_type(int) ident(heaps_length) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(heaps_used) operator(=) integer(0)operator(;) preprocessor(#define) ident(HEAP_MIN_SLOTS) integer(10000) directive(static) pre_type(int) ident(heap_slots) operator(=) ident(HEAP_MIN_SLOTS)operator(;) preprocessor(#define) ident(FREE_MIN) integer(4096) directive(static) ident(RVALUE) operator(*)ident(himem)operator(,) operator(*)ident(lomem)operator(;) directive(static) directive(void) ident(add_heap)operator((\)) operator({) ident(RVALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) reserved(if) operator(()ident(heaps_used) operator(==) ident(heaps_length)operator(\)) operator({) comment(/* Realloc heaps */) reserved(struct) ident(heaps_slot) operator(*)ident(p)operator(;) pre_type(int) ident(length)operator(;) ident(heaps_length) operator(+=) ident(HEAPS_INCREMENT)operator(;) ident(length) operator(=) ident(heaps_length)operator(*)reserved(sizeof)operator(()reserved(struct) ident(heaps_slot)operator(\);) ident(RUBY_CRITICAL)operator(() reserved(if) operator(()ident(heaps_used) operator(>) integer(0)operator(\)) operator({) ident(p) operator(=) operator(()reserved(struct) ident(heaps_slot) operator(*\))ident(realloc)operator(()ident(heaps)operator(,) ident(length)operator(\);) reserved(if) operator(()ident(p)operator(\)) ident(heaps) operator(=) ident(p)operator(;) operator(}) reserved(else) operator({) ident(p) operator(=) ident(heaps) operator(=) operator(()reserved(struct) ident(heaps_slot) operator(*\))ident(malloc)operator(()ident(length)operator(\);) operator(}\);) reserved(if) operator(()ident(p) operator(==) integer(0)operator(\)) ident(rb_memerror)operator((\);) operator(}) reserved(for) operator((;;\)) operator({) ident(RUBY_CRITICAL)operator(()ident(p) operator(=) operator(()ident(RVALUE)operator(*\))ident(malloc)operator(()reserved(sizeof)operator(()ident(RVALUE)operator(\)*()ident(heap_slots)operator(+)integer(1)operator(\)\)\);) reserved(if) operator(()ident(p) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(heap_slots) operator(==) ident(HEAP_MIN_SLOTS)operator(\)) operator({) ident(rb_memerror)operator((\);) operator(}) ident(heap_slots) operator(=) ident(HEAP_MIN_SLOTS)operator(;) reserved(continue)operator(;) operator(}) ident(heaps)operator([)ident(heaps_used)operator(])operator(.)ident(membase) operator(=) ident(p)operator(;) reserved(if) operator((()ident(VALUE)operator(\))ident(p) operator(%) reserved(sizeof)operator(()ident(RVALUE)operator(\)) operator(==) integer(0)operator(\)) ident(heap_slots) operator(+=) integer(1)operator(;) reserved(else) ident(p) operator(=) operator(()ident(RVALUE)operator(*\)(()ident(VALUE)operator(\))ident(p) operator(+) reserved(sizeof)operator(()ident(RVALUE)operator(\)) operator(-) operator((()ident(VALUE)operator(\))ident(p) operator(%) reserved(sizeof)operator(()ident(RVALUE)operator(\)\)\);) ident(heaps)operator([)ident(heaps_used)operator(])operator(.)ident(slot) operator(=) ident(p)operator(;) ident(heaps)operator([)ident(heaps_used)operator(])operator(.)ident(limit) operator(=) ident(heap_slots)operator(;) reserved(break)operator(;) operator(}) ident(pend) operator(=) ident(p) operator(+) ident(heap_slots)operator(;) reserved(if) operator(()ident(lomem) operator(==) integer(0) operator(||) ident(lomem) operator(>) ident(p)operator(\)) ident(lomem) operator(=) ident(p)operator(;) reserved(if) operator(()ident(himem) operator(<) ident(pend)operator(\)) ident(himem) operator(=) ident(pend)operator(;) ident(heaps_used)operator(++;) ident(heap_slots) operator(*=) float(1)float(.8)operator(;) reserved(if) operator(()ident(heap_slots) operator(<=) integer(0)operator(\)) ident(heap_slots) operator(=) ident(HEAP_MIN_SLOTS)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(=) integer(0)operator(;) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next) operator(=) ident(freelist)operator(;) ident(freelist) operator(=) ident(p)operator(;) ident(p)operator(++;) operator(}) operator(}) preprocessor(#define) ident(RANY)operator(()ident(o)operator(\)) operator((()ident(RVALUE)operator(*\)()ident(o)operator(\)\)) pre_type(int) ident(rb_during_gc)operator((\)) operator({) reserved(return) ident(during_gc)operator(;) operator(}) ident(VALUE) ident(rb_newobj)operator((\)) operator({) ident(VALUE) ident(obj)operator(;) reserved(if) operator(()ident(during_gc)operator(\)) ident(rb_bug)operator(()stringoperator(\);) reserved(if) operator((!)ident(freelist)operator(\)) ident(garbage_collect)operator((\);) ident(obj) operator(=) operator(()ident(VALUE)operator(\))ident(freelist)operator(;) ident(freelist) operator(=) ident(freelist)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next)operator(;) ident(MEMZERO)operator((()directive(void)operator(*\))ident(obj)operator(,) ident(RVALUE)operator(,) integer(1)operator(\);) preprocessor(#ifdef) ident(GC_DEBUG) ident(RANY)operator(()ident(obj)operator(\)->)ident(file) operator(=) ident(ruby_sourcefile)operator(;) ident(RANY)operator(()ident(obj)operator(\)->)ident(line) operator(=) ident(ruby_sourceline)operator(;) preprocessor(#endif) reserved(return) ident(obj)operator(;) operator(}) ident(VALUE) ident(rb_data_object_alloc)operator(()ident(klass)operator(,) ident(datap)operator(,) ident(dmark)operator(,) ident(dfree)operator(\)) ident(VALUE) ident(klass)operator(;) directive(void) operator(*)ident(datap)operator(;) ident(RUBY_DATA_FUNC) ident(dmark)operator(;) ident(RUBY_DATA_FUNC) ident(dfree)operator(;) operator({) ident(NEWOBJ)operator(()ident(data)operator(,) reserved(struct) ident(RData)operator(\);) reserved(if) operator(()ident(klass)operator(\)) ident(Check_Type)operator(()ident(klass)operator(,) ident(T_CLASS)operator(\);) ident(OBJSETUP)operator(()ident(data)operator(,) ident(klass)operator(,) ident(T_DATA)operator(\);) ident(data)operator(->)ident(data) operator(=) ident(datap)operator(;) ident(data)operator(->)ident(dfree) operator(=) ident(dfree)operator(;) ident(data)operator(->)ident(dmark) operator(=) ident(dmark)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(data)operator(;) operator(}) directive(extern) ident(st_table) operator(*)ident(rb_class_tbl)operator(;) ident(VALUE) operator(*)ident(rb_gc_stack_start) operator(=) integer(0)operator(;) preprocessor(#ifdef) ident(__ia64) ident(VALUE) operator(*)ident(rb_gc_register_stack_start) operator(=) integer(0)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(DJGPP) comment(/* set stack size (http://www.delorie.com/djgpp/v2faq/faq15_9.html\) */) pre_type(unsigned) pre_type(int) ident(_stklen) operator(=) hex(0x180000)operator(;) comment(/* 1.5 kB */) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32_WCE)operator(\)) directive(static) pre_type(unsigned) pre_type(int) ident(STACK_LEVEL_MAX) operator(=) integer(65535)operator(;) preprocessor(#elif) ident(defined)operator(()ident(__human68k__)operator(\)) pre_type(unsigned) pre_type(int) ident(_stacksize) operator(=) integer(262144)operator(;) preprocessor(# define) ident(STACK_LEVEL_MAX) operator(()ident(_stacksize) operator(-) integer(4096)operator(\)) preprocessor(# undef) ident(HAVE_GETRLIMIT) preprocessor(#elif) ident(defined)operator(()ident(HAVE_GETRLIMIT)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) directive(static) ident(size_t) ident(STACK_LEVEL_MAX) operator(=) integer(655300)operator(;) preprocessor(#else) preprocessor(# define) ident(STACK_LEVEL_MAX) integer(655300) preprocessor(#endif) preprocessor(#ifdef) ident(C_ALLOCA) preprocessor(# define) ident(SET_STACK_END) ident(VALUE) ident(stack_end)operator(;) ident(alloca)operator(()integer(0)operator(\);) preprocessor(# define) ident(STACK_END) operator((&)ident(stack_end)operator(\)) preprocessor(#else) preprocessor(# if) ident(defined)operator(()ident(__GNUC__)operator(\)) operator(&&) ident(defined)operator(()ident(USE_BUILTIN_FRAME_ADDRESS)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__ia64)operator(\)) preprocessor(# if) operator(() ident(__GNUC__) operator(==) integer(3) operator(&&) ident(__GNUC_MINOR__) operator(>) integer(0) operator(\)) operator(||) ident(__GNUC__) operator(>) integer(3) ident(__attribute__) operator((()ident(noinline)operator(\)\)) preprocessor(# endif) directive(static) directive(void) ident(stack_end_address)operator(()ident(VALUE) operator(**)ident(stack_end_p)operator(\)) operator({) ident(VALUE) ident(stack_end)operator(;) operator(*)ident(stack_end_p) operator(=) operator(&)ident(stack_end)operator(;) operator(}) preprocessor(# define) ident(SET_STACK_END) ident(VALUE) operator(*)ident(stack_end)operator(;) ident(stack_end_address)operator((&)ident(stack_end)operator(\)) preprocessor(# else) preprocessor(# define) ident(SET_STACK_END) ident(VALUE) operator(*)ident(stack_end) operator(=) ident(alloca)operator(()integer(1)operator(\)) preprocessor(# endif) preprocessor(# define) ident(STACK_END) operator(()ident(stack_end)operator(\)) preprocessor(#endif) preprocessor(#if) ident(STACK_GROW_DIRECTION) operator(<) integer(0) preprocessor(# define) ident(STACK_LENGTH) operator(()ident(rb_gc_stack_start) operator(-) ident(STACK_END)operator(\)) preprocessor(#elif) ident(STACK_GROW_DIRECTION) operator(>) integer(0) preprocessor(# define) ident(STACK_LENGTH) operator(()ident(STACK_END) operator(-) ident(rb_gc_stack_start) operator(+) integer(1)operator(\)) preprocessor(#else) preprocessor(# define) ident(STACK_LENGTH) operator((()ident(STACK_END) operator(<) ident(rb_gc_stack_start)operator(\)) operator(?) ident(rb_gc_stack_start) operator(-) ident(STACK_END)\ operator(:) ident(STACK_END) operator(-) ident(rb_gc_stack_start) operator(+) integer(1)operator(\)) preprocessor(#endif) preprocessor(#if) ident(STACK_GROW_DIRECTION) operator(>) integer(0) preprocessor(# define) ident(STACK_UPPER)operator(()ident(x)operator(,) ident(a)operator(,) ident(b)operator(\)) ident(a) preprocessor(#elif) ident(STACK_GROW_DIRECTION) operator(<) integer(0) preprocessor(# define) ident(STACK_UPPER)operator(()ident(x)operator(,) ident(a)operator(,) ident(b)operator(\)) ident(b) preprocessor(#else) directive(static) pre_type(int) ident(grow_direction)operator(;) directive(static) pre_type(int) ident(stack_grow_direction)operator(()ident(addr)operator(\)) ident(VALUE) operator(*)ident(addr)operator(;) operator({) ident(SET_STACK_END)operator(;) reserved(if) operator(()ident(STACK_END) operator(>) ident(addr)operator(\)) reserved(return) ident(grow_direction) operator(=) integer(1)operator(;) reserved(return) ident(grow_direction) operator(=) operator(-)integer(1)operator(;) operator(}) preprocessor(# define) ident(stack_growup_p)operator(()ident(x)operator(\)) operator((()ident(grow_direction) operator(?) ident(grow_direction) operator(:) ident(stack_grow_direction)operator(()ident(x)operator(\)\)) operator(>) integer(0)operator(\)) preprocessor(# define) ident(STACK_UPPER)operator(()ident(x)operator(,) ident(a)operator(,) ident(b)operator(\)) operator(()ident(stack_growup_p)operator(()ident(x)operator(\)) operator(?) ident(a) operator(:) ident(b)operator(\)) preprocessor(#endif) preprocessor(#define) ident(GC_WATER_MARK) integer(512) preprocessor(#define) ident(CHECK_STACK)operator(()ident(ret)operator(\)) reserved(do) operator({)\ ident(SET_STACK_END)operator(;)\ operator(()ident(ret)operator(\)) operator(=) operator(()ident(STACK_LENGTH) operator(>) ident(STACK_LEVEL_MAX) operator(+) ident(GC_WATER_MARK)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) ident(size_t) ident(ruby_stack_length)operator(()ident(p)operator(\)) ident(VALUE) operator(**)ident(p)operator(;) operator({) ident(SET_STACK_END)operator(;) reserved(if) operator(()ident(p)operator(\)) operator(*)ident(p) operator(=) ident(STACK_UPPER)operator(()ident(STACK_END)operator(,) ident(rb_gc_stack_start)operator(,) ident(STACK_END)operator(\);) reserved(return) ident(STACK_LENGTH)operator(;) operator(}) pre_type(int) ident(ruby_stack_check)operator((\)) operator({) pre_type(int) ident(ret)operator(;) ident(CHECK_STACK)operator(()ident(ret)operator(\);) reserved(return) ident(ret)operator(;) operator(}) preprocessor(#define) ident(MARK_STACK_MAX) integer(1024) directive(static) ident(VALUE) ident(mark_stack)operator([)ident(MARK_STACK_MAX)operator(];) directive(static) ident(VALUE) operator(*)ident(mark_stack_ptr)operator(;) directive(static) pre_type(int) ident(mark_stack_overflow)operator(;) directive(static) directive(void) ident(init_mark_stack)operator((\)) operator({) ident(mark_stack_overflow) operator(=) integer(0)operator(;) ident(mark_stack_ptr) operator(=) ident(mark_stack)operator(;) operator(}) preprocessor(#define) ident(MARK_STACK_EMPTY) operator(()ident(mark_stack_ptr) operator(==) ident(mark_stack)operator(\)) directive(static) ident(st_table) operator(*)ident(source_filenames)operator(;) pre_type(char) operator(*) ident(rb_source_filename)operator(()ident(f)operator(\)) directive(const) pre_type(char) operator(*)ident(f)operator(;) operator({) ident(st_data_t) ident(name)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(source_filenames)operator(,) operator(()ident(st_data_t)operator(\))ident(f)operator(,) operator(&)ident(name)operator(\)\)) operator({) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(f)operator(\)) operator(+) integer(1)operator(;) pre_type(char) operator(*)ident(ptr) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) ident(len) operator(+) integer(1)operator(\);) ident(name) operator(=) operator(()ident(st_data_t)operator(\))ident(ptr)operator(;) operator(*)ident(ptr)operator(++) operator(=) integer(0)operator(;) ident(MEMCPY)operator(()ident(ptr)operator(,) ident(f)operator(,) pre_type(char)operator(,) ident(len)operator(\);) ident(st_add_direct)operator(()ident(source_filenames)operator(,) operator(()ident(st_data_t)operator(\))ident(ptr)operator(,) ident(name)operator(\);) reserved(return) ident(ptr)operator(;) operator(}) reserved(return) operator(()pre_type(char) operator(*\))ident(name) operator(+) integer(1)operator(;) operator(}) directive(static) directive(void) ident(mark_source_filename)operator(()ident(f)operator(\)) pre_type(char) operator(*)ident(f)operator(;) operator({) reserved(if) operator(()ident(f)operator(\)) operator({) ident(f)operator([-)integer(1)operator(]) operator(=) integer(1)operator(;) operator(}) operator(}) directive(static) pre_type(int) ident(sweep_source_filename)operator(()ident(key)operator(,) ident(value)operator(\)) pre_type(char) operator(*)ident(key)operator(,) operator(*)ident(value)operator(;) operator({) reserved(if) operator((*)ident(value)operator(\)) operator({) operator(*)ident(value) operator(=) integer(0)operator(;) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) reserved(else) operator({) ident(free)operator(()ident(value)operator(\);) reserved(return) ident(ST_DELETE)operator(;) operator(}) operator(}) directive(static) directive(void) ident(gc_mark) ident(_)operator((()ident(VALUE) ident(ptr)operator(,) pre_type(int) ident(lev)operator(\)\);) directive(static) directive(void) ident(gc_mark_children) ident(_)operator((()ident(VALUE) ident(ptr)operator(,) pre_type(int) ident(lev)operator(\)\);) directive(static) directive(void) ident(gc_mark_all)operator((\)) operator({) ident(RVALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(int) ident(i)operator(;) ident(init_mark_stack)operator((\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) ident(p) operator(=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(slot)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(FL_MARK)operator(\)) operator(&&) operator(()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(!=) ident(FL_MARK)operator(\)\)) operator({) ident(gc_mark_children)operator((()ident(VALUE)operator(\))ident(p)operator(,) integer(0)operator(\);) operator(}) ident(p)operator(++;) operator(}) operator(}) operator(}) directive(static) directive(void) ident(gc_mark_rest)operator((\)) operator({) ident(VALUE) ident(tmp_arry)operator([)ident(MARK_STACK_MAX)operator(];) ident(VALUE) operator(*)ident(p)operator(;) ident(p) operator(=) operator(()ident(mark_stack_ptr) operator(-) ident(mark_stack)operator(\)) operator(+) ident(tmp_arry)operator(;) ident(MEMCPY)operator(()ident(tmp_arry)operator(,) ident(mark_stack)operator(,) ident(VALUE)operator(,) ident(MARK_STACK_MAX)operator(\);) ident(init_mark_stack)operator((\);) reserved(while)operator(()ident(p) operator(!=) ident(tmp_arry)operator(\){) ident(p)operator(--;) ident(gc_mark_children)operator((*)ident(p)operator(,) integer(0)operator(\);) operator(}) operator(}) directive(static) directive(inline) pre_type(int) ident(is_pointer_to_heap)operator(()ident(ptr)operator(\)) directive(void) operator(*)ident(ptr)operator(;) operator({) directive(register) ident(RVALUE) operator(*)ident(p) operator(=) ident(RANY)operator(()ident(ptr)operator(\);) directive(register) ident(RVALUE) operator(*)ident(heap_org)operator(;) directive(register) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(p) operator(<) ident(lomem) operator(||) ident(p) operator(>) ident(himem)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((()ident(VALUE)operator(\))ident(p) operator(%) reserved(sizeof)operator(()ident(RVALUE)operator(\)) operator(!=) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) comment(/* check if p looks like a pointer */) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) ident(heap_org) operator(=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(slot)operator(;) reserved(if) operator(()ident(heap_org) operator(<=) ident(p) operator(&&) ident(p) operator(<) ident(heap_org) operator(+) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(mark_locations_array)operator(()ident(x)operator(,) ident(n)operator(\)) directive(register) ident(VALUE) operator(*)ident(x)operator(;) directive(register) pre_type(long) ident(n)operator(;) operator({) ident(VALUE) ident(v)operator(;) reserved(while) operator(()ident(n)operator(--\)) operator({) ident(v) operator(=) operator(*)ident(x)operator(;) reserved(if) operator(()ident(is_pointer_to_heap)operator((()directive(void) operator(*\))ident(v)operator(\)\)) operator({) ident(gc_mark)operator(()ident(v)operator(,) integer(0)operator(\);) operator(}) ident(x)operator(++;) operator(}) operator(}) directive(void) ident(rb_gc_mark_locations)operator(()ident(start)operator(,) ident(end)operator(\)) ident(VALUE) operator(*)ident(start)operator(,) operator(*)ident(end)operator(;) operator({) pre_type(long) ident(n)operator(;) ident(n) operator(=) ident(end) operator(-) ident(start)operator(;) ident(mark_locations_array)operator(()ident(start)operator(,)ident(n)operator(\);) operator(}) directive(static) pre_type(int) ident(mark_entry)operator(()ident(key)operator(,) ident(value)operator(,) ident(lev)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(;) pre_type(int) ident(lev)operator(;) operator({) ident(gc_mark)operator(()ident(value)operator(,) ident(lev)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) directive(void) ident(mark_tbl)operator(()ident(tbl)operator(,) ident(lev)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) pre_type(int) ident(lev)operator(;) operator({) reserved(if) operator((!)ident(tbl)operator(\)) reserved(return)operator(;) ident(st_foreach)operator(()ident(tbl)operator(,) ident(mark_entry)operator(,) ident(lev)operator(\);) operator(}) directive(void) ident(rb_mark_tbl)operator(()ident(tbl)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) operator({) ident(mark_tbl)operator(()ident(tbl)operator(,) integer(0)operator(\);) operator(}) directive(static) pre_type(int) ident(mark_key)operator(()ident(key)operator(,) ident(value)operator(,) ident(lev)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) pre_type(int) ident(lev)operator(;) operator({) ident(gc_mark)operator(()ident(key)operator(,) ident(lev)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) directive(void) ident(mark_set)operator(()ident(tbl)operator(,) ident(lev)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) pre_type(int) ident(lev)operator(;) operator({) reserved(if) operator((!)ident(tbl)operator(\)) reserved(return)operator(;) ident(st_foreach)operator(()ident(tbl)operator(,) ident(mark_key)operator(,) ident(lev)operator(\);) operator(}) directive(void) ident(rb_mark_set)operator(()ident(tbl)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) operator({) ident(mark_set)operator(()ident(tbl)operator(,) integer(0)operator(\);) operator(}) directive(static) pre_type(int) ident(mark_keyvalue)operator(()ident(key)operator(,) ident(value)operator(,) ident(lev)operator(\)) ident(VALUE) ident(key)operator(;) ident(VALUE) ident(value)operator(;) pre_type(int) ident(lev)operator(;) operator({) ident(gc_mark)operator(()ident(key)operator(,) ident(lev)operator(\);) ident(gc_mark)operator(()ident(value)operator(,) ident(lev)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) directive(void) ident(mark_hash)operator(()ident(tbl)operator(,) ident(lev)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) pre_type(int) ident(lev)operator(;) operator({) reserved(if) operator((!)ident(tbl)operator(\)) reserved(return)operator(;) ident(st_foreach)operator(()ident(tbl)operator(,) ident(mark_keyvalue)operator(,) ident(lev)operator(\);) operator(}) directive(void) ident(rb_mark_hash)operator(()ident(tbl)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) operator({) ident(mark_hash)operator(()ident(tbl)operator(,) integer(0)operator(\);) operator(}) directive(void) ident(rb_gc_mark_maybe)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(is_pointer_to_heap)operator((()directive(void) operator(*\))ident(obj)operator(\)\)) operator({) ident(gc_mark)operator(()ident(obj)operator(,) integer(0)operator(\);) operator(}) operator(}) preprocessor(#define) ident(GC_LEVEL_MAX) integer(250) directive(static) directive(void) ident(gc_mark)operator(()ident(ptr)operator(,) ident(lev)operator(\)) ident(VALUE) ident(ptr)operator(;) pre_type(int) ident(lev)operator(;) operator({) directive(register) ident(RVALUE) operator(*)ident(obj)operator(;) ident(obj) operator(=) ident(RANY)operator(()ident(ptr)operator(\);) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(ptr)operator(\)\)) reserved(return)operator(;) comment(/* special const not marked */) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(==) integer(0)operator(\)) reserved(return)operator(;) comment(/* free cell */) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(FL_MARK)operator(\)) reserved(return)operator(;) comment(/* already marked */) ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(|=) ident(FL_MARK)operator(;) reserved(if) operator(()ident(lev) operator(>) ident(GC_LEVEL_MAX) operator(||) operator(()ident(lev) operator(==) integer(0) operator(&&) ident(ruby_stack_check)operator((\)\)\)) operator({) reserved(if) operator((!)ident(mark_stack_overflow)operator(\)) operator({) reserved(if) operator(()ident(mark_stack_ptr) operator(-) ident(mark_stack) operator(<) ident(MARK_STACK_MAX)operator(\)) operator({) operator(*)ident(mark_stack_ptr) operator(=) ident(ptr)operator(;) ident(mark_stack_ptr)operator(++;) operator(}) reserved(else) operator({) ident(mark_stack_overflow) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(return)operator(;) operator(}) ident(gc_mark_children)operator(()ident(ptr)operator(,) ident(lev)operator(+)integer(1)operator(\);) operator(}) directive(void) ident(rb_gc_mark)operator(()ident(ptr)operator(\)) ident(VALUE) ident(ptr)operator(;) operator({) ident(gc_mark)operator(()ident(ptr)operator(,) integer(0)operator(\);) operator(}) directive(static) directive(void) ident(gc_mark_children)operator(()ident(ptr)operator(,) ident(lev)operator(\)) ident(VALUE) ident(ptr)operator(;) pre_type(int) ident(lev)operator(;) operator({) directive(register) ident(RVALUE) operator(*)ident(obj) operator(=) ident(RANY)operator(()ident(ptr)operator(\);) reserved(goto) ident(marking)operator(;) comment(/* skip */) label(again:) ident(obj) operator(=) ident(RANY)operator(()ident(ptr)operator(\);) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(ptr)operator(\)\)) reserved(return)operator(;) comment(/* special const not marked */) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(==) integer(0)operator(\)) reserved(return)operator(;) comment(/* free cell */) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(FL_MARK)operator(\)) reserved(return)operator(;) comment(/* already marked */) ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(|=) ident(FL_MARK)operator(;) label(marking:) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)\)) operator({) ident(rb_mark_generic_ivar)operator(()ident(ptr)operator(\);) operator(}) reserved(switch) operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(T_MASK)operator(\)) operator({) reserved(case) ident(T_NIL)operator(:) reserved(case) ident(T_FIXNUM)operator(:) ident(rb_bug)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(T_NODE)operator(:) ident(mark_source_filename)operator(()ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(nd_file)operator(\);) reserved(switch) operator(()ident(nd_type)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(NODE_IF)operator(:) comment(/* 1,2,3 */) reserved(case) ident(NODE_FOR)operator(:) reserved(case) ident(NODE_ITER)operator(:) reserved(case) ident(NODE_CREF)operator(:) reserved(case) ident(NODE_WHEN)operator(:) reserved(case) ident(NODE_MASGN)operator(:) reserved(case) ident(NODE_RESCUE)operator(:) reserved(case) ident(NODE_RESBODY)operator(:) reserved(case) ident(NODE_CLASS)operator(:) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u2)operator(.)ident(node)operator(,) ident(lev)operator(\);) comment(/* fall through */) reserved(case) ident(NODE_BLOCK)operator(:) comment(/* 1,3 */) reserved(case) ident(NODE_ARRAY)operator(:) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_DXSTR)operator(:) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) reserved(case) ident(NODE_FBODY)operator(:) reserved(case) ident(NODE_ENSURE)operator(:) reserved(case) ident(NODE_CALL)operator(:) reserved(case) ident(NODE_DEFS)operator(:) reserved(case) ident(NODE_OP_ASGN1)operator(:) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(node)operator(,) ident(lev)operator(\);) comment(/* fall through */) reserved(case) ident(NODE_SUPER)operator(:) comment(/* 3 */) reserved(case) ident(NODE_FCALL)operator(:) reserved(case) ident(NODE_DEFN)operator(:) reserved(case) ident(NODE_NEWLINE)operator(:) ident(ptr) operator(=) operator(()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u3)operator(.)ident(node)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_WHILE)operator(:) comment(/* 1,2 */) reserved(case) ident(NODE_UNTIL)operator(:) reserved(case) ident(NODE_AND)operator(:) reserved(case) ident(NODE_OR)operator(:) reserved(case) ident(NODE_CASE)operator(:) reserved(case) ident(NODE_SCLASS)operator(:) reserved(case) ident(NODE_DOT2)operator(:) reserved(case) ident(NODE_DOT3)operator(:) reserved(case) ident(NODE_FLIP2)operator(:) reserved(case) ident(NODE_FLIP3)operator(:) reserved(case) ident(NODE_MATCH2)operator(:) reserved(case) ident(NODE_MATCH3)operator(:) reserved(case) ident(NODE_OP_ASGN_OR)operator(:) reserved(case) ident(NODE_OP_ASGN_AND)operator(:) reserved(case) ident(NODE_MODULE)operator(:) reserved(case) ident(NODE_ALIAS)operator(:) reserved(case) ident(NODE_VALIAS)operator(:) reserved(case) ident(NODE_ARGS)operator(:) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(node)operator(,) ident(lev)operator(\);) comment(/* fall through */) reserved(case) ident(NODE_METHOD)operator(:) comment(/* 2 */) reserved(case) ident(NODE_NOT)operator(:) reserved(case) ident(NODE_GASGN)operator(:) reserved(case) ident(NODE_LASGN)operator(:) reserved(case) ident(NODE_DASGN)operator(:) reserved(case) ident(NODE_DASGN_CURR)operator(:) reserved(case) ident(NODE_IASGN)operator(:) reserved(case) ident(NODE_CVDECL)operator(:) reserved(case) ident(NODE_CVASGN)operator(:) reserved(case) ident(NODE_COLON3)operator(:) reserved(case) ident(NODE_OPT_N)operator(:) reserved(case) ident(NODE_EVSTR)operator(:) reserved(case) ident(NODE_UNDEF)operator(:) ident(ptr) operator(=) operator(()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u2)operator(.)ident(node)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_HASH)operator(:) comment(/* 1 */) reserved(case) ident(NODE_LIT)operator(:) reserved(case) ident(NODE_STR)operator(:) reserved(case) ident(NODE_XSTR)operator(:) reserved(case) ident(NODE_DEFINED)operator(:) reserved(case) ident(NODE_MATCH)operator(:) reserved(case) ident(NODE_RETURN)operator(:) reserved(case) ident(NODE_BREAK)operator(:) reserved(case) ident(NODE_NEXT)operator(:) reserved(case) ident(NODE_YIELD)operator(:) reserved(case) ident(NODE_COLON2)operator(:) reserved(case) ident(NODE_SPLAT)operator(:) reserved(case) ident(NODE_TO_ARY)operator(:) reserved(case) ident(NODE_SVALUE)operator(:) ident(ptr) operator(=) operator(()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(node)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_SCOPE)operator(:) comment(/* 2,3 */) reserved(case) ident(NODE_BLOCK_PASS)operator(:) reserved(case) ident(NODE_CDECL)operator(:) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u3)operator(.)ident(node)operator(,) ident(lev)operator(\);) ident(ptr) operator(=) operator(()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u2)operator(.)ident(node)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_ZARRAY)operator(:) comment(/* - */) reserved(case) ident(NODE_ZSUPER)operator(:) reserved(case) ident(NODE_CFUNC)operator(:) reserved(case) ident(NODE_VCALL)operator(:) reserved(case) ident(NODE_GVAR)operator(:) reserved(case) ident(NODE_LVAR)operator(:) reserved(case) ident(NODE_DVAR)operator(:) reserved(case) ident(NODE_IVAR)operator(:) reserved(case) ident(NODE_CVAR)operator(:) reserved(case) ident(NODE_NTH_REF)operator(:) reserved(case) ident(NODE_BACK_REF)operator(:) reserved(case) ident(NODE_REDO)operator(:) reserved(case) ident(NODE_RETRY)operator(:) reserved(case) ident(NODE_SELF)operator(:) reserved(case) ident(NODE_NIL)operator(:) reserved(case) ident(NODE_TRUE)operator(:) reserved(case) ident(NODE_FALSE)operator(:) reserved(case) ident(NODE_ATTRSET)operator(:) reserved(case) ident(NODE_BLOCK_ARG)operator(:) reserved(case) ident(NODE_POSTEXE)operator(:) reserved(break)operator(;) reserved(case) ident(NODE_ALLOCA)operator(:) ident(mark_locations_array)operator((()ident(VALUE)operator(*\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(value)operator(,) ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u3)operator(.)ident(cnt)operator(\);) ident(ptr) operator(=) operator(()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u2)operator(.)ident(node)operator(;) reserved(goto) ident(again)operator(;) reserved(default)operator(:) comment(/* unlisted NODE */) reserved(if) operator(()ident(is_pointer_to_heap)operator(()ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(node)operator(\)\)) operator({) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(node)operator(,) ident(lev)operator(\);) operator(}) reserved(if) operator(()ident(is_pointer_to_heap)operator(()ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u2)operator(.)ident(node)operator(\)\)) operator({) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u2)operator(.)ident(node)operator(,) ident(lev)operator(\);) operator(}) reserved(if) operator(()ident(is_pointer_to_heap)operator(()ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u3)operator(.)ident(node)operator(\)\)) operator({) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(node)operator(.)ident(u3)operator(.)ident(node)operator(,) ident(lev)operator(\);) operator(}) operator(}) reserved(return)operator(;) comment(/* no need to mark class. */) operator(}) ident(gc_mark)operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(klass)operator(,) ident(lev)operator(\);) reserved(switch) operator(()ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(T_MASK)operator(\)) operator({) reserved(case) ident(T_ICLASS)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) ident(mark_tbl)operator(()ident(obj)operator(->)ident(as)operator(.)ident(klass)operator(.)ident(m_tbl)operator(,) ident(lev)operator(\);) ident(mark_tbl)operator(()ident(obj)operator(->)ident(as)operator(.)ident(klass)operator(.)ident(iv_tbl)operator(,) ident(lev)operator(\);) ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(klass)operator(.)ident(super)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(T_ARRAY)operator(:) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(array)operator(.)ident(aux)operator(.)ident(shared)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(else) operator({) pre_type(long) ident(i)operator(,) ident(len) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(array)operator(.)ident(len)operator(;) ident(VALUE) operator(*)ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(array)operator(.)ident(ptr)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i) operator(<) ident(len)operator(;) ident(i)operator(++\)) operator({) ident(gc_mark)operator((*)ident(ptr)operator(++,) ident(lev)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(T_HASH)operator(:) ident(mark_hash)operator(()ident(obj)operator(->)ident(as)operator(.)ident(hash)operator(.)ident(tbl)operator(,) ident(lev)operator(\);) ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(hash)operator(.)ident(ifnone)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(T_STRING)operator(:) preprocessor(#define) ident(STR_ASSOC) ident(FL_USER3) comment(/* copied from string.c */) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(ELTS_SHARED)operator(|)ident(STR_ASSOC)operator(\)\)) operator({) ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(string)operator(.)ident(aux)operator(.)ident(shared)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(T_DATA)operator(:) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(data)operator(.)ident(dmark)operator(\)) operator((*)ident(obj)operator(->)ident(as)operator(.)ident(data)operator(.)ident(dmark)operator(\)()ident(DATA_PTR)operator(()ident(obj)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_OBJECT)operator(:) ident(mark_tbl)operator(()ident(obj)operator(->)ident(as)operator(.)ident(object)operator(.)ident(iv_tbl)operator(,) ident(lev)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FILE)operator(:) reserved(case) ident(T_REGEXP)operator(:) reserved(case) ident(T_FLOAT)operator(:) reserved(case) ident(T_BIGNUM)operator(:) reserved(case) ident(T_BLKTAG)operator(:) reserved(break)operator(;) reserved(case) ident(T_MATCH)operator(:) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(match)operator(.)ident(str)operator(\)) operator({) ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(match)operator(.)ident(str)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(T_VARMAP)operator(:) ident(gc_mark)operator(()ident(obj)operator(->)ident(as)operator(.)ident(varmap)operator(.)ident(val)operator(,) ident(lev)operator(\);) ident(ptr) operator(=) operator(()ident(VALUE)operator(\))ident(obj)operator(->)ident(as)operator(.)ident(varmap)operator(.)ident(next)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(T_SCOPE)operator(:) reserved(if) operator(()ident(obj)operator(->)ident(as)operator(.)ident(scope)operator(.)ident(local_vars) operator(&&) operator(()ident(obj)operator(->)ident(as)operator(.)ident(scope)operator(.)ident(flags) operator(&) ident(SCOPE_MALLOC)operator(\)\)) operator({) pre_type(int) ident(n) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(scope)operator(.)ident(local_tbl)operator([)integer(0)operator(]+)integer(1)operator(;) ident(VALUE) operator(*)ident(vars) operator(=) operator(&)ident(obj)operator(->)ident(as)operator(.)ident(scope)operator(.)ident(local_vars)operator([-)integer(1)operator(];) reserved(while) operator(()ident(n)operator(--\)) operator({) ident(gc_mark)operator((*)ident(vars)operator(++,) ident(lev)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(T_STRUCT)operator(:) operator({) pre_type(long) ident(len) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(rstruct)operator(.)ident(len)operator(;) ident(VALUE) operator(*)ident(ptr) operator(=) ident(obj)operator(->)ident(as)operator(.)ident(rstruct)operator(.)ident(ptr)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(gc_mark)operator((*)ident(ptr)operator(++,) ident(lev)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(,) ident(obj)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(T_MASK)operator(,) ident(obj)operator(,) ident(is_pointer_to_heap)operator(()ident(obj)operator(\)) operator(?) string operator(:) stringoperator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(obj_free) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) directive(inline) directive(void) ident(add_freelist)operator(()ident(p)operator(\)) ident(RVALUE) operator(*)ident(p)operator(;) operator({) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(=) integer(0)operator(;) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next) operator(=) ident(freelist)operator(;) ident(freelist) operator(=) ident(p)operator(;) operator(}) directive(static) directive(void) ident(finalize_list)operator(()ident(p)operator(\)) ident(RVALUE) operator(*)ident(p)operator(;) operator({) reserved(while) operator(()ident(p)operator(\)) operator({) ident(RVALUE) operator(*)ident(tmp) operator(=) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next)operator(;) ident(run_final)operator((()ident(VALUE)operator(\))ident(p)operator(\);) reserved(if) operator((!)ident(FL_TEST)operator(()ident(p)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) comment(/* not freeing page */) ident(add_freelist)operator(()ident(p)operator(\);) operator(}) ident(p) operator(=) ident(tmp)operator(;) operator(}) operator(}) directive(static) directive(void) ident(free_unused_heaps)operator((\)) operator({) pre_type(int) ident(i)operator(,) ident(j)operator(;) reserved(for) operator(()ident(i) operator(=) ident(j) operator(=) integer(1)operator(;) ident(j) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit) operator(==) integer(0)operator(\)) operator({) ident(free)operator(()ident(heaps)operator([)ident(i)operator(])operator(.)ident(membase)operator(\);) ident(heaps_used)operator(--;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(i) operator(!=) ident(j)operator(\)) operator({) ident(heaps)operator([)ident(j)operator(]) operator(=) ident(heaps)operator([)ident(i)operator(];) operator(}) ident(j)operator(++;) operator(}) operator(}) operator(}) preprocessor(#define) ident(T_DEFERRED) hex(0x3a) directive(void) ident(rb_gc_abort_threads)operator(()directive(void)operator(\);) directive(static) directive(void) ident(gc_sweep)operator((\)) operator({) ident(RVALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(,) operator(*)ident(final_list)operator(;) pre_type(int) ident(freed) operator(=) integer(0)operator(;) pre_type(int) ident(i)operator(;) pre_type(unsigned) pre_type(long) ident(live) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(long) ident(free_min) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) ident(free_min) operator(+=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(;) operator(}) ident(free_min) operator(=) ident(free_min) operator(*) float(0)float(.2)operator(;) reserved(if) operator(()ident(free_min) operator(<) ident(FREE_MIN)operator(\)) ident(free_min) operator(=) ident(FREE_MIN)operator(;) reserved(if) operator(()ident(ruby_in_compile) operator(&&) ident(ruby_parser_stack_on_heap)operator((\)\)) operator({) comment(/* should not reclaim nodes during compilation if yacc's semantic stack is not allocated on machine stack */) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) ident(p) operator(=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(slot)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((!()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags)operator(&)ident(FL_MARK)operator(\)) operator(&&) ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_NODE)operator(\)) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(p)operator(,) integer(0)operator(\);) ident(p)operator(++;) operator(}) operator(}) operator(}) ident(mark_source_filename)operator(()ident(ruby_sourcefile)operator(\);) reserved(if) operator(()ident(source_filenames)operator(\)) operator({) ident(st_foreach)operator(()ident(source_filenames)operator(,) ident(sweep_source_filename)operator(,) integer(0)operator(\);) operator(}) ident(freelist) operator(=) integer(0)operator(;) ident(final_list) operator(=) ident(deferred_final_list)operator(;) ident(deferred_final_list) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) pre_type(int) ident(n) operator(=) integer(0)operator(;) ident(RVALUE) operator(*)ident(free) operator(=) ident(freelist)operator(;) ident(RVALUE) operator(*)ident(final) operator(=) ident(final_list)operator(;) pre_type(int) ident(deferred)operator(;) ident(p) operator(=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(slot)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((!()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(FL_MARK)operator(\)\)) operator({) reserved(if) operator(()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&&) operator((()ident(deferred) operator(=) ident(obj_free)operator((()ident(VALUE)operator(\))ident(p)operator(\)\)) operator(||) operator((()ident(FL_TEST)operator(()ident(p)operator(,) ident(FL_FINALIZE)operator(\)\)) operator(&&) ident(need_call_final)operator(\)\)\)) operator({) reserved(if) operator((!)ident(deferred)operator(\)) operator({) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(=) ident(T_DEFERRED)operator(;) ident(RDATA)operator(()ident(p)operator(\)->)ident(dfree) operator(=) integer(0)operator(;) operator(}) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(|=) ident(FL_MARK)operator(;) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next) operator(=) ident(final_list)operator(;) ident(final_list) operator(=) ident(p)operator(;) operator(}) reserved(else) operator({) ident(add_freelist)operator(()ident(p)operator(\);) operator(}) ident(n)operator(++;) operator(}) reserved(else) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_DEFERRED)operator(\)) operator({) comment(/* objects to be finalized */) comment(/* do nothing remain marked */) operator(}) reserved(else) operator({) ident(RBASIC)operator(()ident(p)operator(\)->)ident(flags) operator(&=) operator(~)ident(FL_MARK)operator(;) ident(live)operator(++;) operator(}) ident(p)operator(++;) operator(}) reserved(if) operator(()ident(n) operator(==) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit) operator(&&) ident(freed) operator(>) ident(free_min)operator(\)) operator({) ident(RVALUE) operator(*)ident(pp)operator(;) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit) operator(=) integer(0)operator(;) reserved(for) operator(()ident(pp) operator(=) ident(final_list)operator(;) ident(pp) operator(!=) ident(final)operator(;) ident(pp) operator(=) ident(pp)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next)operator(\)) operator({) ident(pp)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(|=) ident(FL_SINGLETON)operator(;) comment(/* freeing page mark */) operator(}) ident(freelist) operator(=) ident(free)operator(;) comment(/* cancel this page from freelist */) operator(}) reserved(else) operator({) ident(freed) operator(+=) ident(n)operator(;) operator(}) operator(}) reserved(if) operator(()ident(malloc_increase) operator(>) ident(malloc_limit)operator(\)) operator({) ident(malloc_limit) operator(+=) operator(()ident(malloc_increase) operator(-) ident(malloc_limit)operator(\)) operator(*) operator(()pre_type(double)operator(\))ident(live) operator(/) operator(()ident(live) operator(+) ident(freed)operator(\);) reserved(if) operator(()ident(malloc_limit) operator(<) ident(GC_MALLOC_LIMIT)operator(\)) ident(malloc_limit) operator(=) ident(GC_MALLOC_LIMIT)operator(;) operator(}) ident(malloc_increase) operator(=) integer(0)operator(;) reserved(if) operator(()ident(freed) operator(<) ident(free_min)operator(\)) operator({) ident(add_heap)operator((\);) operator(}) ident(during_gc) operator(=) integer(0)operator(;) comment(/* clear finalization list */) reserved(if) operator(()ident(final_list)operator(\)) operator({) ident(deferred_final_list) operator(=) ident(final_list)operator(;) ident(rb_thread_pending) operator(=) integer(1)operator(;) reserved(return)operator(;) operator(}) ident(free_unused_heaps)operator((\);) operator(}) directive(void) ident(rb_gc_force_recycle)operator(()ident(p)operator(\)) ident(VALUE) ident(p)operator(;) operator({) ident(add_freelist)operator((()ident(RVALUE)operator(*\))ident(p)operator(\);) operator(}) directive(static) directive(inline) directive(void) ident(make_deferred)operator(()ident(p)operator(\)) ident(RVALUE) operator(*)ident(p)operator(;) operator({) ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(=) operator(()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) operator(~)ident(T_MASK)operator(\)) operator(|) ident(T_DEFERRED)operator(;) operator(}) directive(static) pre_type(int) ident(obj_free)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(switch) operator(()ident(BUILTIN_TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_NIL)operator(:) reserved(case) ident(T_FIXNUM)operator(:) reserved(case) ident(T_TRUE)operator(:) reserved(case) ident(T_FALSE)operator(:) ident(rb_bug)operator(()stringoperator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)\)) operator({) ident(rb_free_generic_ivar)operator((()ident(VALUE)operator(\))ident(obj)operator(\);) operator(}) reserved(switch) operator(()ident(BUILTIN_TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(object)operator(.)ident(iv_tbl)operator(\)) operator({) ident(st_free_table)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(object)operator(.)ident(iv_tbl)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) ident(rb_clear_cache_by_class)operator((()ident(VALUE)operator(\))ident(obj)operator(\);) ident(st_free_table)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(klass)operator(.)ident(m_tbl)operator(\);) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(object)operator(.)ident(iv_tbl)operator(\)) operator({) ident(st_free_table)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(object)operator(.)ident(iv_tbl)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_STRING)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(string)operator(.)ident(ptr) operator(&&) operator(!)ident(FL_TEST)operator(()ident(obj)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(string)operator(.)ident(ptr)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_ARRAY)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(array)operator(.)ident(ptr) operator(&&) operator(!)ident(FL_TEST)operator(()ident(obj)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(array)operator(.)ident(ptr)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_HASH)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(hash)operator(.)ident(tbl)operator(\)) operator({) ident(st_free_table)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(hash)operator(.)ident(tbl)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_REGEXP)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(regexp)operator(.)ident(ptr)operator(\)) operator({) ident(re_free_pattern)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(regexp)operator(.)ident(ptr)operator(\);) operator(}) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(regexp)operator(.)ident(str)operator(\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(regexp)operator(.)ident(str)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_DATA)operator(:) reserved(if) operator(()ident(DATA_PTR)operator(()ident(obj)operator(\)\)) operator({) reserved(if) operator((()pre_type(long)operator(\))ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(data)operator(.)ident(dfree) operator(==) operator(-)integer(1)operator(\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(DATA_PTR)operator(()ident(obj)operator(\)\)\);) operator(}) reserved(else) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(data)operator(.)ident(dfree)operator(\)) operator({) ident(make_deferred)operator(()ident(RANY)operator(()ident(obj)operator(\)\);) reserved(return) integer(1)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(T_MATCH)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(match)operator(.)ident(regs)operator(\)) operator({) ident(re_free_registers)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(match)operator(.)ident(regs)operator(\);) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(match)operator(.)ident(regs)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_FILE)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(file)operator(.)ident(fptr)operator(\)) operator({) reserved(struct) ident(rb_io_t) operator(*)ident(fptr) operator(=) ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(file)operator(.)ident(fptr)operator(;) ident(make_deferred)operator(()ident(RANY)operator(()ident(obj)operator(\)\);) ident(RDATA)operator(()ident(obj)operator(\)->)ident(dfree) operator(=) operator(()directive(void) operator((*\)()directive(void)operator(*\)\))ident(rb_io_fptr_finalize)operator(;) ident(RDATA)operator(()ident(obj)operator(\)->)ident(data) operator(=) ident(fptr)operator(;) reserved(return) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(T_ICLASS)operator(:) comment(/* iClass shares table with the module */) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) reserved(case) ident(T_VARMAP)operator(:) reserved(case) ident(T_BLKTAG)operator(:) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(bignum)operator(.)ident(digits)operator(\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(bignum)operator(.)ident(digits)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_NODE)operator(:) reserved(switch) operator(()ident(nd_type)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(NODE_SCOPE)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(tbl)operator(\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(tbl)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_ALLOCA)operator(:) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(node)operator(.)ident(u1)operator(.)ident(node)operator(\)\);) reserved(break)operator(;) operator(}) reserved(break)operator(;) comment(/* no need to free iv_tbl */) reserved(case) ident(T_SCOPE)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(scope)operator(.)ident(local_vars) operator(&&) ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(scope)operator(.)ident(flags) operator(!=) ident(SCOPE_ALLOCA)operator(\)) operator({) ident(VALUE) operator(*)ident(vars) operator(=) ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(scope)operator(.)ident(local_vars)operator(-)integer(1)operator(;) reserved(if) operator((!()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(scope)operator(.)ident(flags) operator(&) ident(SCOPE_CLONE)operator(\)) operator(&&) ident(vars)operator([)integer(0)operator(]) operator(==) integer(0)operator(\)) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(scope)operator(.)ident(local_tbl)operator(\)\);) reserved(if) operator((()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(scope)operator(.)ident(flags) operator(&) operator(()ident(SCOPE_MALLOC)operator(|)ident(SCOPE_CLONE)operator(\)\)) operator(==) ident(SCOPE_MALLOC)operator(\)) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(vars)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_STRUCT)operator(:) reserved(if) operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(rstruct)operator(.)ident(ptr)operator(\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(rstruct)operator(.)ident(ptr)operator(\)\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(,) ident(RANY)operator(()ident(obj)operator(\)->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) ident(T_MASK)operator(,) ident(obj)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(void) ident(rb_gc_mark_frame)operator(()ident(frame)operator(\)) reserved(struct) ident(FRAME) operator(*)ident(frame)operator(;) operator({) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(frame)operator(->)ident(node)operator(,) integer(0)operator(\);) operator(}) preprocessor(#ifdef) ident(__GNUC__) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(DJGPP)operator(\)) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) reserved(typedef) pre_type(unsigned) pre_type(long) ident(rb_jmp_buf)operator([)integer(8)operator(];) ident(__asm__) operator(()stringoperator(\);) preprocessor(#ifdef) ident(setjmp) preprocessor(#undef) ident(setjmp) preprocessor(#endif) preprocessor(#else) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) reserved(typedef) pre_type(unsigned) pre_type(long) ident(rb_jmp_buf)operator([)integer(6)operator(];) ident(__asm__) operator(()stringoperator(\);) preprocessor(#endif) preprocessor(#endif) pre_type(int) ident(rb_setjmp) operator(()ident(rb_jmp_buf)operator(\);) preprocessor(#define) ident(jmp_buf) ident(rb_jmp_buf) preprocessor(#define) ident(setjmp) ident(rb_setjmp) preprocessor(#endif) comment(/* __human68k__ or DJGPP */) preprocessor(#endif) comment(/* __GNUC__ */) directive(static) directive(void) ident(garbage_collect)operator((\)) operator({) reserved(struct) ident(gc_list) operator(*)ident(list)operator(;) reserved(struct) ident(FRAME) operator(*) directive(volatile) ident(frame)operator(;) comment(/* gcc 2.7.2.3 -O2 bug?? */) ident(jmp_buf) ident(save_regs_gc_mark)operator(;) ident(SET_STACK_END)operator(;) preprocessor(#ifdef) ident(HAVE_NATIVETHREAD) reserved(if) operator((!)ident(is_ruby_native_thread)operator((\)\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) preprocessor(#endif) reserved(if) operator(()ident(dont_gc) operator(||) ident(during_gc)operator(\)) operator({) reserved(if) operator((!)ident(freelist)operator(\)) operator({) ident(add_heap)operator((\);) operator(}) reserved(return)operator(;) operator(}) reserved(if) operator(()ident(during_gc)operator(\)) reserved(return)operator(;) ident(during_gc)operator(++;) ident(init_mark_stack)operator((\);) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(ruby_current_node)operator(,) integer(0)operator(\);) comment(/* mark frame stack */) reserved(for) operator(()ident(frame) operator(=) ident(ruby_frame)operator(;) ident(frame)operator(;) ident(frame) operator(=) ident(frame)operator(->)ident(prev)operator(\)) operator({) ident(rb_gc_mark_frame)operator(()ident(frame)operator(\);) reserved(if) operator(()ident(frame)operator(->)ident(tmp)operator(\)) operator({) reserved(struct) ident(FRAME) operator(*)ident(tmp) operator(=) ident(frame)operator(->)ident(tmp)operator(;) reserved(while) operator(()ident(tmp)operator(\)) operator({) ident(rb_gc_mark_frame)operator(()ident(tmp)operator(\);) ident(tmp) operator(=) ident(tmp)operator(->)ident(prev)operator(;) operator(}) operator(}) operator(}) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(ruby_scope)operator(,) integer(0)operator(\);) ident(gc_mark)operator((()ident(VALUE)operator(\))ident(ruby_dyna_vars)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(finalizer_table)operator(\)) operator({) ident(mark_tbl)operator(()ident(finalizer_table)operator(,) integer(0)operator(\);) operator(}) ident(FLUSH_REGISTER_WINDOWS)operator(;) comment(/* This assumes that all registers are saved into the jmp_buf (and stack\) */) ident(setjmp)operator(()ident(save_regs_gc_mark)operator(\);) ident(mark_locations_array)operator((()ident(VALUE)operator(*\))ident(save_regs_gc_mark)operator(,) reserved(sizeof)operator(()ident(save_regs_gc_mark)operator(\)) operator(/) reserved(sizeof)operator(()ident(VALUE) operator(*\)\);) preprocessor(#if) ident(STACK_GROW_DIRECTION) operator(<) integer(0) ident(rb_gc_mark_locations)operator((()ident(VALUE)operator(*\))ident(STACK_END)operator(,) ident(rb_gc_stack_start)operator(\);) preprocessor(#elif) ident(STACK_GROW_DIRECTION) operator(>) integer(0) ident(rb_gc_mark_locations)operator(()ident(rb_gc_stack_start)operator(,) operator(()ident(VALUE)operator(*\))ident(STACK_END) operator(+) integer(1)operator(\);) preprocessor(#else) reserved(if) operator((()ident(VALUE)operator(*\))ident(STACK_END) operator(<) ident(rb_gc_stack_start)operator(\)) ident(rb_gc_mark_locations)operator((()ident(VALUE)operator(*\))ident(STACK_END)operator(,) ident(rb_gc_stack_start)operator(\);) reserved(else) ident(rb_gc_mark_locations)operator(()ident(rb_gc_stack_start)operator(,) operator(()ident(VALUE)operator(*\))ident(STACK_END) operator(+) integer(1)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(__ia64) comment(/* mark backing store (flushed register window on the stack\) */) comment(/* the basic idea from guile GC code */) ident(rb_gc_mark_locations)operator(()ident(rb_gc_register_stack_start)operator(,) operator(()ident(VALUE)operator(*\))ident(rb_ia64_bsp)operator((\)\);) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__mc68000__)operator(\)) ident(rb_gc_mark_locations)operator((()ident(VALUE)operator(*\)(()pre_type(char)operator(*\))ident(STACK_END) operator(+) integer(2)operator(\),) operator(()ident(VALUE)operator(*\)(()pre_type(char)operator(*\))ident(rb_gc_stack_start) operator(+) integer(2)operator(\)\);) preprocessor(#endif) ident(rb_gc_mark_threads)operator((\);) comment(/* mark protected global variables */) reserved(for) operator(()ident(list) operator(=) ident(global_List)operator(;) ident(list)operator(;) ident(list) operator(=) ident(list)operator(->)ident(next)operator(\)) operator({) ident(rb_gc_mark_maybe)operator((*)ident(list)operator(->)ident(varptr)operator(\);) operator(}) ident(rb_mark_end_proc)operator((\);) ident(rb_gc_mark_global_tbl)operator((\);) ident(rb_mark_tbl)operator(()ident(rb_class_tbl)operator(\);) ident(rb_gc_mark_trap_list)operator((\);) comment(/* mark generic instance variables for special constants */) ident(rb_mark_generic_ivar_tbl)operator((\);) ident(rb_gc_mark_parser)operator((\);) comment(/* gc_mark objects whose marking are not completed*/) reserved(do) operator({) reserved(while) operator((!)ident(MARK_STACK_EMPTY)operator(\)) operator({) reserved(if) operator(()ident(mark_stack_overflow)operator(\){) ident(gc_mark_all)operator((\);) operator(}) reserved(else) operator({) ident(gc_mark_rest)operator((\);) operator(}) operator(}) ident(rb_gc_abort_threads)operator((\);) operator(}) reserved(while) operator((!)ident(MARK_STACK_EMPTY)operator(\);) ident(gc_sweep)operator((\);) operator(}) directive(void) ident(rb_gc)operator((\)) operator({) ident(garbage_collect)operator((\);) ident(rb_gc_finalize_deferred)operator((\);) operator(}) comment(/* * call-seq: * GC.start => nil * gc.garbage_collect => nil * ObjectSpace.garbage_collect => nil * * Initiates garbage collection, unless manually disabled. * */) ident(VALUE) ident(rb_gc_start)operator((\)) operator({) ident(rb_gc)operator((\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(ruby_set_stack_size)operator(()ident(size)operator(\)) ident(size_t) ident(size)operator(;) operator({) preprocessor(#ifndef) ident(STACK_LEVEL_MAX) ident(STACK_LEVEL_MAX) operator(=) ident(size) operator(/) reserved(sizeof)operator(()ident(VALUE)operator(\);) preprocessor(#endif) operator(}) directive(void) ident(Init_stack)operator(()ident(addr)operator(\)) ident(VALUE) operator(*)ident(addr)operator(;) operator({) preprocessor(#ifdef) ident(__ia64) reserved(if) operator(()ident(rb_gc_register_stack_start) operator(==) integer(0)operator(\)) operator({) preprocessor(# if) ident(defined)operator(()ident(__FreeBSD__)operator(\)) comment(/* * FreeBSD/ia64 currently does not have a way for a process to get the * base address for the RSE backing store, so hardcode it. */) ident(rb_gc_register_stack_start) operator(=) operator(()integer(4)ident(ULL)operator(<<)integer(61)operator(\);) preprocessor(# elif) ident(defined)operator(()ident(HAVE___LIBC_IA64_REGISTER_BACKING_STORE_BASE)operator(\)) preprocessor(# pragma) ident(weak) ident(__libc_ia64_register_backing_store_base) directive(extern) pre_type(unsigned) pre_type(long) ident(__libc_ia64_register_backing_store_base)operator(;) ident(rb_gc_register_stack_start) operator(=) operator(()ident(VALUE)operator(*\))ident(__libc_ia64_register_backing_store_base)operator(;) preprocessor(# endif) operator(}) operator({) ident(VALUE) operator(*)ident(bsp) operator(=) operator(()ident(VALUE)operator(*\))ident(rb_ia64_bsp)operator((\);) reserved(if) operator(()ident(rb_gc_register_stack_start) operator(==) integer(0) operator(||) ident(bsp) operator(<) ident(rb_gc_register_stack_start)operator(\)) operator({) ident(rb_gc_register_stack_start) operator(=) ident(bsp)operator(;) operator(}) operator(}) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) ident(MEMORY_BASIC_INFORMATION) ident(m)operator(;) ident(memset)operator((&)ident(m)operator(,) integer(0)operator(,) reserved(sizeof)operator(()ident(m)operator(\)\);) ident(VirtualQuery)operator((&)ident(m)operator(,) operator(&)ident(m)operator(,) reserved(sizeof)operator(()ident(m)operator(\)\);) ident(rb_gc_stack_start) operator(=) ident(STACK_UPPER)operator((()ident(VALUE) operator(*\)&)ident(m)operator(,) operator(()ident(VALUE) operator(*\))ident(m)operator(.)ident(BaseAddress)operator(,) operator(()ident(VALUE) operator(*\)(()pre_type(char) operator(*\))ident(m)operator(.)ident(BaseAddress) operator(+) ident(m)operator(.)ident(RegionSize)operator(\)) operator(-) integer(1)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(STACK_END_ADDRESS)operator(\)) operator({) directive(extern) directive(void) operator(*)ident(STACK_END_ADDRESS)operator(;) ident(rb_gc_stack_start) operator(=) ident(STACK_END_ADDRESS)operator(;) operator(}) preprocessor(#else) reserved(if) operator((!)ident(addr)operator(\)) ident(addr) operator(=) operator(()directive(void) operator(*\)&)ident(addr)operator(;) ident(STACK_UPPER)operator((&)ident(addr)operator(,) ident(addr)operator(,) operator(++)ident(addr)operator(\);) reserved(if) operator(()ident(rb_gc_stack_start)operator(\)) operator({) reserved(if) operator(()ident(STACK_UPPER)operator((&)ident(addr)operator(,) ident(rb_gc_stack_start) operator(>) ident(addr)operator(,) ident(rb_gc_stack_start) operator(<) ident(addr)operator(\)\)) ident(rb_gc_stack_start) operator(=) ident(addr)operator(;) reserved(return)operator(;) operator(}) ident(rb_gc_stack_start) operator(=) ident(addr)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_GETRLIMIT) operator({) reserved(struct) ident(rlimit) ident(rlim)operator(;) reserved(if) operator(()ident(getrlimit)operator(()ident(RLIMIT_STACK)operator(,) operator(&)ident(rlim)operator(\)) operator(==) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(int) ident(space) operator(=) ident(rlim)operator(.)ident(rlim_cur)operator(/)integer(5)operator(;) reserved(if) operator(()ident(space) operator(>) integer(1024)operator(*)integer(1024)operator(\)) ident(space) operator(=) integer(1024)operator(*)integer(1024)operator(;) ident(STACK_LEVEL_MAX) operator(=) operator(()ident(rlim)operator(.)ident(rlim_cur) operator(-) ident(space)operator(\)) operator(/) reserved(sizeof)operator(()ident(VALUE)operator(\);) operator(}) operator(}) preprocessor(#endif) operator(}) directive(void) ident(ruby_init_stack)operator(()ident(VALUE) operator(*)ident(addr) preprocessor(#ifdef) ident(__ia64) operator(,) directive(void) operator(*)ident(bsp) preprocessor(#endif) operator(\)) operator({) reserved(if) operator((!)ident(rb_gc_stack_start) operator(||) ident(STACK_UPPER)operator((&)ident(addr)operator(,) ident(rb_gc_stack_start) operator(>) ident(addr)operator(,) ident(rb_gc_stack_start) operator(<) ident(addr)operator(\)\)) operator({) ident(rb_gc_stack_start) operator(=) ident(addr)operator(;) operator(}) preprocessor(#ifdef) ident(__ia64) reserved(if) operator((!)ident(rb_gc_register_stack_start) operator(||) operator(()ident(VALUE)operator(*\))ident(bsp) operator(<) ident(rb_gc_register_stack_start)operator(\)) operator({) ident(rb_gc_register_stack_start) operator(=) operator(()ident(VALUE)operator(*\))ident(bsp)operator(;) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_GETRLIMIT) operator({) reserved(struct) ident(rlimit) ident(rlim)operator(;) reserved(if) operator(()ident(getrlimit)operator(()ident(RLIMIT_STACK)operator(,) operator(&)ident(rlim)operator(\)) operator(==) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(int) ident(space) operator(=) ident(rlim)operator(.)ident(rlim_cur)operator(/)integer(5)operator(;) reserved(if) operator(()ident(space) operator(>) integer(1024)operator(*)integer(1024)operator(\)) ident(space) operator(=) integer(1024)operator(*)integer(1024)operator(;) ident(STACK_LEVEL_MAX) operator(=) operator(()ident(rlim)operator(.)ident(rlim_cur) operator(-) ident(space)operator(\)) operator(/) reserved(sizeof)operator(()ident(VALUE)operator(\);) operator(}) operator(}) preprocessor(#elif) ident(defined) ident(_WIN32) operator({) ident(MEMORY_BASIC_INFORMATION) ident(mi)operator(;) ident(DWORD) ident(size)operator(;) ident(DWORD) ident(space)operator(;) reserved(if) operator(()ident(VirtualQuery)operator((&)ident(mi)operator(,) operator(&)ident(mi)operator(,) reserved(sizeof)operator(()ident(mi)operator(\)\)\)) operator({) ident(size) operator(=) operator(()pre_type(char) operator(*\))ident(mi)operator(.)ident(BaseAddress) operator(-) operator(()pre_type(char) operator(*\))ident(mi)operator(.)ident(AllocationBase)operator(;) ident(space) operator(=) ident(size) operator(/) integer(5)operator(;) reserved(if) operator(()ident(space) operator(>) integer(1024)operator(*)integer(1024)operator(\)) ident(space) operator(=) integer(1024)operator(*)integer(1024)operator(;) ident(STACK_LEVEL_MAX) operator(=) operator(()ident(size) operator(-) ident(space)operator(\)) operator(/) reserved(sizeof)operator(()ident(VALUE)operator(\);) operator(}) operator(}) preprocessor(#endif) operator(}) comment(/* * Document-class: ObjectSpace * * The ObjectSpace module contains a number of routines * that interact with the garbage collection facility and allow you to * traverse all living objects with an iterator. * * ObjectSpace also provides support for object * finalizers, procs that will be called when a specific object is * about to be destroyed by garbage collection. * * include ObjectSpace * * * a = "A" * b = "B" * c = "C" * * * define_finalizer(a, proc {|id| puts "Finalizer one on #{id}" }\) * define_finalizer(a, proc {|id| puts "Finalizer two on #{id}" }\) * define_finalizer(b, proc {|id| puts "Finalizer three on #{id}" }\) * * produces: * * Finalizer three on 537763470 * Finalizer one on 537763480 * Finalizer two on 537763480 * */) directive(void) ident(Init_heap)operator((\)) operator({) reserved(if) operator((!)ident(rb_gc_stack_start)operator(\)) operator({) ident(Init_stack)operator(()integer(0)operator(\);) operator(}) ident(add_heap)operator((\);) operator(}) directive(static) ident(VALUE) ident(os_obj_of)operator(()ident(of)operator(\)) ident(VALUE) ident(of)operator(;) operator({) pre_type(int) ident(i)operator(;) pre_type(int) ident(n) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) ident(RVALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) ident(p) operator(=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(slot)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(;) reserved(for) operator((;)ident(p) operator(<) ident(pend)operator(;) ident(p)operator(++\)) operator({) reserved(if) operator(()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags)operator(\)) operator({) reserved(switch) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)\)) operator({) reserved(case) ident(T_NONE)operator(:) reserved(case) ident(T_ICLASS)operator(:) reserved(case) ident(T_VARMAP)operator(:) reserved(case) ident(T_SCOPE)operator(:) reserved(case) ident(T_NODE)operator(:) reserved(case) ident(T_DEFERRED)operator(:) reserved(continue)operator(;) reserved(case) ident(T_CLASS)operator(:) reserved(if) operator(()ident(FL_TEST)operator(()ident(p)operator(,) ident(FL_SINGLETON)operator(\)\)) reserved(continue)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(klass)operator(\)) reserved(continue)operator(;) reserved(if) operator((!)ident(of) operator(||) ident(rb_obj_is_kind_of)operator((()ident(VALUE)operator(\))ident(p)operator(,) ident(of)operator(\)\)) operator({) ident(rb_yield)operator((()ident(VALUE)operator(\))ident(p)operator(\);) ident(n)operator(++;) operator(}) operator(}) operator(}) operator(}) operator(}) reserved(return) ident(INT2FIX)operator(()ident(n)operator(\);) operator(}) comment(/* * call-seq: * ObjectSpace.each_object([module]\) {|obj| ... } => fixnum * * Calls the block once for each living, nonimmediate object in this * Ruby process. If module is specified, calls the block * for only those classes or modules that match (or are a subclass of\) * module. Returns the number of objects found. Immediate * objects (Fixnums, Symbols * true, false, and nil\) are * never returned. In the example below, each_object * returns both the numbers we defined and several constants defined in * the Math module. * * a = 102.7 * b = 95 # Won't be returned * c = 12345678987654321 * count = ObjectSpace.each_object(Numeric\) {|x| p x } * puts "Total count: #{count}" * * produces: * * 12345678987654321 * 102.7 * 2.71828182845905 * 3.14159265358979 * 2.22044604925031e-16 * 1.7976931348623157e+308 * 2.2250738585072e-308 * Total count: 7 * */) directive(static) ident(VALUE) ident(os_each_obj)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(of)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(of)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(of) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(os_obj_of)operator(()ident(of)operator(\);) operator(}) directive(static) ident(VALUE) ident(finalizers)operator(;) comment(/* deprecated */) directive(static) ident(VALUE) ident(add_final)operator(()ident(os)operator(,) ident(block)operator(\)) ident(VALUE) ident(os)operator(,) ident(block)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(block)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(block)operator(\)\);) operator(}) ident(rb_ary_push)operator(()ident(finalizers)operator(,) ident(block)operator(\);) reserved(return) ident(block)operator(;) operator(}) comment(/* * deprecated */) directive(static) ident(VALUE) ident(rm_final)operator(()ident(os)operator(,) ident(block)operator(\)) ident(VALUE) ident(os)operator(,) ident(block)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(rb_ary_delete)operator(()ident(finalizers)operator(,) ident(block)operator(\);) reserved(return) ident(block)operator(;) operator(}) comment(/* * deprecated */) directive(static) ident(VALUE) ident(finals)operator((\)) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(return) ident(finalizers)operator(;) operator(}) comment(/* * deprecated */) directive(static) ident(VALUE) ident(call_final)operator(()ident(os)operator(,) ident(obj)operator(\)) ident(VALUE) ident(os)operator(,) ident(obj)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(need_call_final) operator(=) integer(1)operator(;) ident(FL_SET)operator(()ident(obj)operator(,) ident(FL_FINALIZE)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * ObjectSpace.undefine_finalizer(obj\) * * Removes all finalizers for obj. * */) directive(static) ident(VALUE) ident(undefine_final)operator(()ident(os)operator(,) ident(obj)operator(\)) ident(VALUE) ident(os)operator(,) ident(obj)operator(;) operator({) reserved(if) operator(()ident(finalizer_table)operator(\)) operator({) ident(st_delete)operator(()ident(finalizer_table)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(obj)operator(,) integer(0)operator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * ObjectSpace.define_finalizer(obj, aProc=proc(\)\) * * Adds aProc as a finalizer, to be called after obj * was destroyed. * */) directive(static) ident(VALUE) ident(define_final)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(os)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(os)operator(;) operator({) ident(VALUE) ident(obj)operator(,) ident(block)operator(,) ident(table)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(obj)operator(,) operator(&)ident(block)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(block) operator(=) ident(rb_block_proc)operator((\);) operator(}) reserved(else) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(block)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(block)operator(\)\);) operator(}) ident(need_call_final) operator(=) integer(1)operator(;) reserved(if) operator((!)ident(FL_ABLE)operator(()ident(obj)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) operator(}) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags) operator(|=) ident(FL_FINALIZE)operator(;) ident(block) operator(=) ident(rb_ary_new3)operator(()integer(2)operator(,) ident(INT2FIX)operator(()ident(ruby_safe_level)operator(\),) ident(block)operator(\);) ident(OBJ_FREEZE)operator(()ident(block)operator(\);) reserved(if) operator((!)ident(finalizer_table)operator(\)) operator({) ident(finalizer_table) operator(=) ident(st_init_numtable)operator((\);) operator(}) reserved(if) operator(()ident(st_lookup)operator(()ident(finalizer_table)operator(,) ident(obj)operator(,) operator(&)ident(table)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(table)operator(,) ident(block)operator(\);) operator(}) reserved(else) operator({) ident(table) operator(=) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(block)operator(\);) ident(RBASIC)operator(()ident(table)operator(\)->)ident(klass) operator(=) integer(0)operator(;) ident(st_add_direct)operator(()ident(finalizer_table)operator(,) ident(obj)operator(,) ident(table)operator(\);) operator(}) reserved(return) ident(block)operator(;) operator(}) directive(void) ident(rb_gc_copy_finalizer)operator(()ident(dest)operator(,) ident(obj)operator(\)) ident(VALUE) ident(dest)operator(,) ident(obj)operator(;) operator({) ident(VALUE) ident(table)operator(;) reserved(if) operator((!)ident(finalizer_table)operator(\)) reserved(return)operator(;) reserved(if) operator((!)ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_FINALIZE)operator(\)\)) reserved(return)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(finalizer_table)operator(,) ident(obj)operator(,) operator(&)ident(table)operator(\)\)) operator({) ident(st_insert)operator(()ident(finalizer_table)operator(,) ident(dest)operator(,) ident(table)operator(\);) operator(}) ident(RBASIC)operator(()ident(dest)operator(\)->)ident(flags) operator(|=) ident(FL_FINALIZE)operator(;) operator(}) directive(static) ident(VALUE) ident(run_single_final)operator(()ident(args)operator(\)) ident(VALUE) operator(*)ident(args)operator(;) operator({) ident(rb_eval_cmd)operator(()ident(args)operator([)integer(0)operator(],) ident(args)operator([)integer(1)operator(],) operator(()pre_type(int)operator(\))ident(args)operator([)integer(2)operator(]\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) directive(void) ident(run_final)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(long) ident(i)operator(;) pre_type(int) ident(status)operator(,) ident(critical_save) operator(=) ident(rb_thread_critical)operator(;) ident(VALUE) ident(args)operator([)integer(3)operator(],) ident(table)operator(,) ident(objid)operator(;) ident(objid) operator(=) ident(rb_obj_id)operator(()ident(obj)operator(\);) comment(/* make obj into id */) ident(rb_thread_critical) operator(=) ident(Qtrue)operator(;) comment(/* NOTE: This change below, adding DATA_PTR(obj\) to the if line, is a stopgap fix for segfaults; the reason for DATA_PTR(obj\) == 0 needs to be found and fixed. */) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_DEFERRED) operator(&&) ident(RDATA)operator(()ident(obj)operator(\)->)ident(dfree) operator(&&) ident(DATA_PTR)operator(()ident(obj)operator(\)\)) operator({) operator((*)ident(RDATA)operator(()ident(obj)operator(\)->)ident(dfree)operator(\)()ident(DATA_PTR)operator(()ident(obj)operator(\)\);) operator(}) ident(args)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) ident(args)operator([)integer(2)operator(]) operator(=) operator(()ident(VALUE)operator(\))ident(ruby_safe_level)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(finalizers)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(args)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(finalizers)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(if) operator((!)ident(args)operator([)integer(1)operator(]\)) ident(args)operator([)integer(1)operator(]) operator(=) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(objid)operator(\);) ident(rb_protect)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(run_single_final)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) operator(&)ident(status)operator(\);) operator(}) reserved(if) operator(()ident(finalizer_table) operator(&&) ident(st_delete)operator(()ident(finalizer_table)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(obj)operator(,) operator(&)ident(table)operator(\)\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(table)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(final) operator(=) ident(RARRAY)operator(()ident(table)operator(\)->)ident(ptr)operator([)ident(i)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(final)operator(\)->)ident(ptr)operator([)integer(1)operator(];) reserved(if) operator((!)ident(args)operator([)integer(1)operator(]\)) ident(args)operator([)integer(1)operator(]) operator(=) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(objid)operator(\);) ident(args)operator([)integer(2)operator(]) operator(=) ident(FIX2INT)operator(()ident(RARRAY)operator(()ident(final)operator(\)->)ident(ptr)operator([)integer(0)operator(]\);) ident(rb_protect)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(run_single_final)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) operator(&)ident(status)operator(\);) operator(}) operator(}) ident(rb_thread_critical) operator(=) ident(critical_save)operator(;) operator(}) directive(void) ident(rb_gc_finalize_deferred)operator((\)) operator({) ident(RVALUE) operator(*)ident(p) operator(=) ident(deferred_final_list)operator(;) ident(deferred_final_list) operator(=) integer(0)operator(;) reserved(if) operator(()ident(p)operator(\)) operator({) ident(finalize_list)operator(()ident(p)operator(\);) ident(free_unused_heaps)operator((\);) operator(}) operator(}) directive(static) pre_type(int) ident(chain_finalized_object)operator(()ident(st_data_t) ident(key)operator(,) ident(st_data_t) ident(val)operator(,) ident(st_data_t) ident(arg)operator(\)) operator({) ident(RVALUE) operator(*)ident(p) operator(=) operator(()ident(RVALUE) operator(*\))ident(key)operator(,) operator(**)ident(final_list) operator(=) operator(()ident(RVALUE) operator(**\))ident(arg)operator(;) reserved(if) operator((()ident(p)operator(->)ident(as)operator(.)ident(basic)operator(.)ident(flags) operator(&) operator(()ident(FL_FINALIZE)operator(|)ident(FL_MARK)operator(\)\)) operator(==) ident(FL_FINALIZE)operator(\)) operator({) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(!=) ident(T_DEFERRED)operator(\)) operator({) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(=) ident(FL_MARK) operator(|) ident(T_DEFERRED)operator(;) comment(/* remain marked */) ident(RDATA)operator(()ident(p)operator(\)->)ident(dfree) operator(=) integer(0)operator(;) operator(}) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(next) operator(=) operator(*)ident(final_list)operator(;) operator(*)ident(final_list) operator(=) ident(p)operator(;) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(void) ident(rb_gc_call_finalizer_at_exit)operator((\)) operator({) ident(RVALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(int) ident(i)operator(;) comment(/* run finalizers */) reserved(if) operator(()ident(need_call_final)operator(\)) operator({) reserved(do) operator({) ident(p) operator(=) ident(deferred_final_list)operator(;) ident(deferred_final_list) operator(=) integer(0)operator(;) ident(finalize_list)operator(()ident(p)operator(\);) ident(mark_tbl)operator(()ident(finalizer_table)operator(,) integer(0)operator(\);) ident(st_foreach)operator(()ident(finalizer_table)operator(,) ident(chain_finalized_object)operator(,) operator(()ident(st_data_t)operator(\)&)ident(deferred_final_list)operator(\);) operator(}) reserved(while) operator(()ident(deferred_final_list)operator(\);) operator(}) comment(/* run data object's finalizers */) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(heaps_used)operator(;) ident(i)operator(++\)) operator({) ident(p) operator(=) ident(heaps)operator([)ident(i)operator(])operator(.)ident(slot)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(heaps)operator([)ident(i)operator(])operator(.)ident(limit)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(DATA_PTR)operator(()ident(p)operator(\)) operator(&&) ident(RANY)operator(()ident(p)operator(\)->)ident(as)operator(.)ident(data)operator(.)ident(dfree) operator(&&) ident(RANY)operator(()ident(p)operator(\)->)ident(as)operator(.)ident(basic)operator(.)ident(klass) operator(!=) ident(rb_cThread)operator(\)) operator({) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(=) integer(0)operator(;) reserved(if) operator((()pre_type(long)operator(\))ident(RANY)operator(()ident(p)operator(\)->)ident(as)operator(.)ident(data)operator(.)ident(dfree) operator(==) operator(-)integer(1)operator(\)) operator({) ident(RUBY_CRITICAL)operator(()ident(free)operator(()ident(DATA_PTR)operator(()ident(p)operator(\)\)\);) operator(}) reserved(else) reserved(if) operator(()ident(RANY)operator(()ident(p)operator(\)->)ident(as)operator(.)ident(data)operator(.)ident(dfree)operator(\)) operator({) operator((*)ident(RANY)operator(()ident(p)operator(\)->)ident(as)operator(.)ident(data)operator(.)ident(dfree)operator(\)()ident(DATA_PTR)operator(()ident(p)operator(\)\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(p)operator(\)) operator(==) ident(T_FILE)operator(\)) operator({) ident(p)operator(->)ident(as)operator(.)ident(free)operator(.)ident(flags) operator(=) integer(0)operator(;) ident(rb_io_fptr_finalize)operator(()ident(RANY)operator(()ident(p)operator(\)->)ident(as)operator(.)ident(file)operator(.)ident(fptr)operator(\);) operator(}) ident(p)operator(++;) operator(}) operator(}) operator(}) comment(/* * call-seq: * ObjectSpace._id2ref(object_id\) -> an_object * * Converts an object id to a reference to the object. May not be * called on an object id passed as a parameter to a finalizer. * * s = "I am a string" #=> "I am a string" * r = ObjectSpace._id2ref(s.object_id\) #=> "I am a string" * r == s #=> true * */) directive(static) ident(VALUE) ident(id2ref)operator(()ident(obj)operator(,) ident(objid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(objid)operator(;) operator({) pre_type(unsigned) pre_type(long) ident(ptr)operator(,) ident(p0)operator(;) pre_type(int) ident(type)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(p0) operator(=) ident(ptr) operator(=) ident(NUM2ULONG)operator(()ident(objid)operator(\);) reserved(if) operator(()ident(ptr) operator(==) ident(Qtrue)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(ptr) operator(==) ident(Qfalse)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(ptr) operator(==) ident(Qnil)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(ptr)operator(\)\)) reserved(return) operator(()ident(VALUE)operator(\))ident(ptr)operator(;) ident(ptr) operator(=) ident(objid) operator(^) ident(FIXNUM_FLAG)operator(;) comment(/* unset FIXNUM_FLAG */) reserved(if) operator((()ident(ptr) operator(%) reserved(sizeof)operator(()ident(RVALUE)operator(\)\)) operator(==) operator(()integer(4) operator(<<) integer(2)operator(\)\)) operator({) ident(ID) ident(symid) operator(=) ident(ptr) operator(/) reserved(sizeof)operator(()ident(RVALUE)operator(\);) reserved(if) operator(()ident(rb_id2name)operator(()ident(symid)operator(\)) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(p0)operator(\);) reserved(return) ident(ID2SYM)operator(()ident(symid)operator(\);) operator(}) reserved(if) operator((!)ident(is_pointer_to_heap)operator((()directive(void) operator(*\))ident(ptr)operator(\)||) operator(()ident(type) operator(=) ident(BUILTIN_TYPE)operator(()ident(ptr)operator(\)\)) operator(>) ident(T_SYMBOL) operator(||) ident(type) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(p0)operator(\);) operator(}) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(ptr)operator(\)) operator(==) integer(0) operator(||) ident(RBASIC)operator(()ident(ptr)operator(\)->)ident(klass) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(p0)operator(\);) operator(}) reserved(return) operator(()ident(VALUE)operator(\))ident(ptr)operator(;) operator(}) comment(/* * Document-method: __id__ * Document-method: object_id * * call-seq: * obj.__id__ => fixnum * obj.object_id => fixnum * * Returns an integer identifier for obj. The same number will * be returned on all calls to id for a given object, and * no two active objects will share an id. * Object#object_id is a different concept from the * :name notation, which returns the symbol id of * name. Replaces the deprecated Object#id. */) comment(/* * call-seq: * obj.hash => fixnum * * Generates a Fixnum hash value for this object. This * function must have the property that a.eql?(b\) implies * a.hash == b.hash. The hash value is used by class * Hash. Any hash value that exceeds the capacity of a * Fixnum will be truncated before being used. */) ident(VALUE) ident(rb_obj_id)operator(()ident(VALUE) ident(obj)operator(\)) operator({) comment(/* * 32-bit VALUE space * MSB ------------------------ LSB * false 00000000000000000000000000000000 * true 00000000000000000000000000000010 * nil 00000000000000000000000000000100 * undef 00000000000000000000000000000110 * symbol ssssssssssssssssssssssss00001110 * object oooooooooooooooooooooooooooooo00 = 0 (mod sizeof(RVALUE\)\) * fixnum fffffffffffffffffffffffffffffff1 * * object_id space * LSB * false 00000000000000000000000000000000 * true 00000000000000000000000000000010 * nil 00000000000000000000000000000100 * undef 00000000000000000000000000000110 * symbol 000SSSSSSSSSSSSSSSSSSSSSSSSSSS0 S...S % A = 4 (S...S = s...s * A + 4\) * object oooooooooooooooooooooooooooooo0 o...o % A = 0 * fixnum fffffffffffffffffffffffffffffff1 bignum if required * * where A = sizeof(RVALUE\)/4 * * sizeof(RVALUE\) is * 20 if 32-bit, double is 4-byte aligned * 24 if 32-bit, double is 8-byte aligned * 40 if 64-bit */) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_SYMBOL)operator(\)) operator({) reserved(return) operator(()ident(SYM2ID)operator(()ident(obj)operator(\)) operator(*) reserved(sizeof)operator(()ident(RVALUE)operator(\)) operator(+) operator(()integer(4) operator(<<) integer(2)operator(\)\)) operator(|) ident(FIXNUM_FLAG)operator(;) operator(}) reserved(if) operator(()ident(SPECIAL_CONST_P)operator(()ident(obj)operator(\)\)) operator({) reserved(return) ident(LONG2NUM)operator((()pre_type(long)operator(\))ident(obj)operator(\);) operator(}) reserved(return) operator(()ident(VALUE)operator(\)(()pre_type(long)operator(\))ident(obj)operator(|)ident(FIXNUM_FLAG)operator(\);) operator(}) comment(/* * The GC module provides an interface to Ruby's mark and * sweep garbage collection mechanism. Some of the underlying methods * are also available via the ObjectSpace module. */) directive(void) ident(Init_GC)operator((\)) operator({) ident(VALUE) ident(rb_mObSpace)operator(;) ident(rb_mGC) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_singleton_method)operator(()ident(rb_mGC)operator(,) stringoperator(,) ident(rb_gc_start)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_mGC)operator(,) stringoperator(,) ident(rb_gc_enable)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_mGC)operator(,) stringoperator(,) ident(rb_gc_disable)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mGC)operator(,) stringoperator(,) ident(rb_gc_start)operator(,) integer(0)operator(\);) ident(rb_mObSpace) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(os_each_obj)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(rb_gc_start)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(add_final)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(rm_final)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(finals)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(call_final)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(define_final)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(undefine_final)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mObSpace)operator(,) stringoperator(,) ident(id2ref)operator(,) integer(1)operator(\);) ident(rb_gc_register_address)operator((&)ident(rb_mObSpace)operator(\);) ident(rb_global_variable)operator((&)ident(finalizers)operator(\);) ident(rb_gc_unregister_address)operator((&)ident(rb_mObSpace)operator(\);) ident(finalizers) operator(=) ident(rb_ary_new)operator((\);) ident(source_filenames) operator(=) ident(st_init_strtable)operator((\);) ident(rb_global_variable)operator((&)ident(nomem_error)operator(\);) ident(nomem_error) operator(=) ident(rb_exc_new3)operator(()ident(rb_eNoMemError)operator(,) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()stringoperator(\)\)\);) ident(OBJ_TAINT)operator(()ident(nomem_error)operator(\);) ident(OBJ_FREEZE)operator(()ident(nomem_error)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_id)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_id)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_id)operator(,) integer(0)operator(\);) operator(}) comment(/********************************************************************** hash.c - $Author: shyouhei $ $Date: 2007-08-22 05:42:36 +0200 (Wed, 22 Aug 2007\) $ created at: Mon Nov 22 18:51:18 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("st.h") preprocessor(#include) include("util.h") preprocessor(#include) include("rubysig.h") preprocessor(#ifdef) ident(__APPLE__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#define) ident(HASH_DELETED) ident(FL_USER1) preprocessor(#define) ident(HASH_PROC_DEFAULT) ident(FL_USER2) directive(static) directive(void) ident(rb_hash_modify)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator((!)ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(\)) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(hash)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(hash)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(VALUE) ident(rb_hash_freeze)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(return) ident(rb_obj_freeze)operator(()ident(hash)operator(\);) operator(}) ident(VALUE) ident(rb_cHash)operator(;) directive(static) ident(VALUE) ident(envtbl)operator(;) directive(static) ident(ID) ident(id_hash)operator(,) ident(id_call)operator(,) ident(id_default)operator(;) directive(static) ident(VALUE) ident(eql)operator(()ident(args)operator(\)) ident(VALUE) operator(*)ident(args)operator(;) operator({) reserved(return) operator(()ident(VALUE)operator(\))ident(rb_eql)operator(()ident(args)operator([)integer(0)operator(],) ident(args)operator([)integer(1)operator(]\);) operator(}) directive(static) pre_type(int) ident(rb_any_cmp)operator(()ident(a)operator(,) ident(b)operator(\)) ident(VALUE) ident(a)operator(,) ident(b)operator(;) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) reserved(if) operator(()ident(a) operator(==) ident(b)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(a)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(b)operator(\)\)) operator({) reserved(return) ident(a) operator(!=) ident(b)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(a)operator(\)) operator(==) ident(T_STRING) operator(&&) ident(RBASIC)operator(()ident(a)operator(\)->)ident(klass) operator(==) ident(rb_cString) operator(&&) ident(TYPE)operator(()ident(b)operator(\)) operator(==) ident(T_STRING) operator(&&) ident(RBASIC)operator(()ident(b)operator(\)->)ident(klass) operator(==) ident(rb_cString)operator(\)) operator({) reserved(return) ident(rb_str_cmp)operator(()ident(a)operator(,) ident(b)operator(\);) operator(}) reserved(if) operator(()ident(a) operator(==) ident(Qundef) operator(||) ident(b) operator(==) ident(Qundef)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(a)operator(\)) operator(&&) ident(SYMBOL_P)operator(()ident(b)operator(\)\)) operator({) reserved(return) ident(a) operator(!=) ident(b)operator(;) operator(}) ident(args)operator([)integer(0)operator(]) operator(=) ident(a)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(b)operator(;) reserved(return) operator(!)ident(rb_with_disable_interrupt)operator(()ident(eql)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(\);) operator(}) ident(VALUE) ident(rb_hash)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(obj)operator(,) ident(id_hash)operator(,) integer(0)operator(\);) operator(}) directive(static) pre_type(int) ident(rb_any_hash)operator(()ident(a)operator(\)) ident(VALUE) ident(a)operator(;) operator({) ident(VALUE) ident(hval)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(a)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(case) ident(T_SYMBOL)operator(:) reserved(return) operator(()pre_type(int)operator(\))ident(a)operator(;) reserved(break)operator(;) reserved(case) ident(T_STRING)operator(:) reserved(return) ident(rb_str_hash)operator(()ident(a)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(hval) operator(=) ident(rb_funcall)operator(()ident(a)operator(,) ident(id_hash)operator(,) integer(0)operator(\);) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(hval)operator(\)\)) operator({) ident(hval) operator(=) ident(rb_funcall)operator(()ident(hval)operator(,) char('%')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(536870923)operator(\)\);) operator(}) reserved(return) operator(()pre_type(int)operator(\))ident(FIX2LONG)operator(()ident(hval)operator(\);) operator(}) operator(}) directive(static) reserved(struct) ident(st_hash_type) ident(objhash) operator(=) operator({) ident(rb_any_cmp)operator(,) ident(rb_any_hash)operator(,) operator(};) reserved(struct) ident(foreach_safe_arg) operator({) ident(st_table) operator(*)ident(tbl)operator(;) pre_type(int) operator((*)ident(func)operator(\)(\);) ident(st_data_t) ident(arg)operator(;) operator(};) directive(static) pre_type(int) ident(foreach_safe_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(arg)operator(\)) ident(st_data_t) ident(key)operator(,) ident(value)operator(;) reserved(struct) ident(foreach_safe_arg) operator(*)ident(arg)operator(;) operator({) pre_type(int) ident(status)operator(;) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(status) operator(=) operator((*)ident(arg)operator(->)ident(func)operator(\)()ident(key)operator(,) ident(value)operator(,) ident(arg)operator(->)ident(arg)operator(\);) reserved(if) operator(()ident(status) operator(==) ident(ST_CONTINUE)operator(\)) operator({) reserved(return) ident(ST_CHECK)operator(;) operator(}) reserved(return) ident(status)operator(;) operator(}) directive(void) ident(st_foreach_safe)operator(()ident(table)operator(,) ident(func)operator(,) ident(a)operator(\)) ident(st_table) operator(*)ident(table)operator(;) pre_type(int) operator((*)ident(func)operator(\)(\);) ident(st_data_t) ident(a)operator(;) operator({) reserved(struct) ident(foreach_safe_arg) ident(arg)operator(;) ident(arg)operator(.)ident(tbl) operator(=) ident(table)operator(;) ident(arg)operator(.)ident(func) operator(=) ident(func)operator(;) ident(arg)operator(.)ident(arg) operator(=) ident(a)operator(;) reserved(if) operator(()ident(st_foreach)operator(()ident(table)operator(,) ident(foreach_safe_i)operator(,) operator(()ident(st_data_t)operator(\)&)ident(arg)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(struct) ident(hash_foreach_arg) operator({) ident(VALUE) ident(hash)operator(;) pre_type(int) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(arg)operator(;) operator(};) directive(static) pre_type(int) ident(hash_foreach_iter)operator(()ident(key)operator(,) ident(value)operator(,) ident(arg)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) reserved(struct) ident(hash_foreach_arg) operator(*)ident(arg)operator(;) operator({) pre_type(int) ident(status)operator(;) ident(st_table) operator(*)ident(tbl)operator(;) ident(tbl) operator(=) ident(RHASH)operator(()ident(arg)operator(->)ident(hash)operator(\)->)ident(tbl)operator(;) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(status) operator(=) operator((*)ident(arg)operator(->)ident(func)operator(\)()ident(key)operator(,) ident(value)operator(,) ident(arg)operator(->)ident(arg)operator(\);) reserved(if) operator(()ident(RHASH)operator(()ident(arg)operator(->)ident(hash)operator(\)->)ident(tbl) operator(!=) ident(tbl)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(switch) operator(()ident(status)operator(\)) operator({) reserved(case) ident(ST_DELETE)operator(:) ident(st_delete_safe)operator(()ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(key)operator(,) integer(0)operator(,) ident(Qundef)operator(\);) ident(FL_SET)operator(()ident(arg)operator(->)ident(hash)operator(,) ident(HASH_DELETED)operator(\);) reserved(case) ident(ST_CONTINUE)operator(:) reserved(break)operator(;) reserved(case) ident(ST_STOP)operator(:) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(return) ident(ST_CHECK)operator(;) operator(}) directive(static) ident(VALUE) ident(hash_foreach_ensure)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(RHASH)operator(()ident(hash)operator(\)->)ident(iter_lev)operator(--;) reserved(if) operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(iter_lev) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(hash)operator(,) ident(HASH_DELETED)operator(\)\)) operator({) ident(st_cleanup_safe)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(Qundef)operator(\);) ident(FL_UNSET)operator(()ident(hash)operator(,) ident(HASH_DELETED)operator(\);) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(VALUE) ident(hash_foreach_call)operator(()ident(arg)operator(\)) reserved(struct) ident(hash_foreach_arg) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(st_foreach)operator(()ident(RHASH)operator(()ident(arg)operator(->)ident(hash)operator(\)->)ident(tbl)operator(,) ident(hash_foreach_iter)operator(,) operator(()ident(st_data_t)operator(\))ident(arg)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(func)operator(,) ident(farg)operator(\)) ident(VALUE) ident(hash)operator(;) pre_type(int) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(farg)operator(;) operator({) reserved(struct) ident(hash_foreach_arg) ident(arg)operator(;) ident(RHASH)operator(()ident(hash)operator(\)->)ident(iter_lev)operator(++;) ident(arg)operator(.)ident(hash) operator(=) ident(hash)operator(;) ident(arg)operator(.)ident(func) operator(=) ident(func)operator(;) ident(arg)operator(.)ident(arg) operator(=) ident(farg)operator(;) ident(rb_ensure)operator(()ident(hash_foreach_call)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) ident(hash_foreach_ensure)operator(,) ident(hash)operator(\);) operator(}) directive(static) ident(VALUE) ident(hash_alloc0) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(hash_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(hash_alloc0)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(hash)operator(,) reserved(struct) ident(RHash)operator(\);) ident(OBJSETUP)operator(()ident(hash)operator(,) ident(klass)operator(,) ident(T_HASH)operator(\);) ident(hash)operator(->)ident(ifnone) operator(=) ident(Qnil)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(hash)operator(;) operator(}) directive(static) ident(VALUE) ident(hash_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(hash) operator(=) ident(hash_alloc0)operator(()ident(klass)operator(\);) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl) operator(=) ident(st_init_table)operator((&)ident(objhash)operator(\);) reserved(return) ident(hash)operator(;) operator(}) ident(VALUE) ident(rb_hash_new)operator((\)) operator({) reserved(return) ident(hash_alloc)operator(()ident(rb_cHash)operator(\);) operator(}) comment(/* * call-seq: * Hash.new => hash * Hash.new(obj\) => aHash * Hash.new {|hash, key| block } => aHash * * Returns a new, empty hash. If this hash is subsequently accessed by * a key that doesn't correspond to a hash entry, the value returned * depends on the style of new used to create the hash. In * the first form, the access returns nil. If * obj is specified, this single object will be used for * all default values. If a block is specified, it will be * called with the hash object and the key, and should return the * default value. It is the block's responsibility to store the value * in the hash if required. * * h = Hash.new("Go Fish"\) * h["a"] = 100 * h["b"] = 200 * h["a"] #=> 100 * h["c"] #=> "Go Fish" * # The following alters the single default object * h["c"].upcase! #=> "GO FISH" * h["d"] #=> "GO FISH" * h.keys #=> ["a", "b"] * * # While this creates a new default object each time * h = Hash.new { |hash, key| hash[key] = "Go Fish: #{key}" } * h["c"] #=> "Go Fish: c" * h["c"].upcase! #=> "GO FISH: C" * h["d"] #=> "Go Fish: d" * h.keys #=> ["c", "d"] * */) directive(static) ident(VALUE) ident(rb_hash_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(hash)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(ifnone)operator(;) ident(rb_hash_modify)operator(()ident(hash)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone) operator(=) ident(rb_block_proc)operator((\);) ident(FL_SET)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\);) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(ifnone)operator(\);) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone) operator(=) ident(ifnone)operator(;) operator(}) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * Hash[ [key =>|, value]* ] => hash * * Creates a new hash populated with the given objects. Equivalent to * the literal { key, value, ... }. Keys and * values occur in pairs, so there must be an even number of arguments. * * Hash["a", 100, "b", 200] #=> {"a"=>100, "b"=>200} * Hash["a" => 100, "b" => 200] #=> {"a"=>100, "b"=>200} * { "a" => 100, "b" => 200 } #=> {"a"=>100, "b"=>200} */) directive(static) ident(VALUE) ident(rb_hash_s_create)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(hash)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_HASH)operator(\)) operator({) ident(hash) operator(=) ident(hash_alloc0)operator(()ident(klass)operator(\);) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl) operator(=) ident(st_copy)operator(()ident(RHASH)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(tbl)operator(\);) reserved(return) ident(hash)operator(;) operator(}) reserved(if) operator(()ident(argc) operator(%) integer(2) operator(!=) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(hash) operator(=) ident(hash_alloc)operator(()ident(klass)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(+=)integer(2)operator(\)) operator({) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(argv)operator([)ident(i)operator(],) ident(argv)operator([)ident(i) operator(+) integer(1)operator(]\);) operator(}) reserved(return) ident(hash)operator(;) operator(}) directive(static) ident(VALUE) ident(to_hash)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(return) ident(rb_convert_type)operator(()ident(hash)operator(,) ident(T_HASH)operator(,) stringoperator(,) stringoperator(\);) operator(}) directive(static) pre_type(int) ident(rb_hash_rehash_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(tbl)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) ident(st_table) operator(*)ident(tbl)operator(;) operator({) reserved(if) operator(()ident(key) operator(!=) ident(Qundef)operator(\)) ident(st_insert)operator(()ident(tbl)operator(,) ident(key)operator(,) ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.rehash -> hsh * * Rebuilds the hash based on the current hash values for each key. If * values of key objects have changed since they were inserted, this * method will reindex hsh. If Hash#rehash is * called while an iterator is traversing the hash, an * IndexError will be raised in the iterator. * * a = [ "a", "b" ] * c = [ "c", "d" ] * h = { a => 100, c => 300 } * h[a] #=> 100 * a[0] = "z" * h[a] #=> nil * h.rehash #=> {["z", "b"]=>100, ["c", "d"]=>300} * h[a] #=> 100 */) directive(static) ident(VALUE) ident(rb_hash_rehash)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) ident(rb_hash_modify)operator(()ident(hash)operator(\);) ident(tbl) operator(=) ident(st_init_table_with_size)operator((&)ident(objhash)operator(,) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(rb_hash_rehash_i)operator(,) operator(()ident(st_data_t)operator(\))ident(tbl)operator(\);) ident(st_free_table)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(\);) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl) operator(=) ident(tbl)operator(;) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * hsh[key] => value * * Element Reference---Retrieves the value object corresponding * to the key object. If not found, returns the a default value (see * Hash::new for details\). * * h = { "a" => 100, "b" => 200 } * h["a"] #=> 100 * h["c"] #=> nil * */) ident(VALUE) ident(rb_hash_aref)operator(()ident(hash)operator(,) ident(key)operator(\)) ident(VALUE) ident(hash)operator(,) ident(key)operator(;) operator({) ident(VALUE) ident(val)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(key)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(rb_funcall)operator(()ident(hash)operator(,) ident(id_default)operator(,) integer(1)operator(,) ident(key)operator(\);) operator(}) reserved(return) ident(val)operator(;) operator(}) comment(/* * call-seq: * hsh.fetch(key [, default] \) => obj * hsh.fetch(key\) {| key | block } => obj * * Returns a value from the hash for the given key. If the key can't be * found, there are several options: With no other arguments, it will * raise an IndexError exception; if default is * given, then that will be returned; if the optional code block is * specified, then that will be run and its result returned. * * h = { "a" => 100, "b" => 200 } * h.fetch("a"\) #=> 100 * h.fetch("z", "go fish"\) #=> "go fish" * h.fetch("z"\) { |el| "go fish, #{el}"} #=> "go fish, z" * * The following example shows that an exception is raised if the key * is not found and a default value is not supplied. * * h = { "a" => 100, "b" => 200 } * h.fetch("z"\) * * produces: * * prog.rb:2:in `fetch': key not found (IndexError\) * from prog.rb:2 * */) directive(static) ident(VALUE) ident(rb_hash_fetch)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(hash)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(key)operator(,) ident(if_none)operator(;) ident(VALUE) ident(val)operator(;) pre_type(long) ident(block_given)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(key)operator(,) operator(&)ident(if_none)operator(\);) ident(block_given) operator(=) ident(rb_block_given_p)operator((\);) reserved(if) operator(()ident(block_given) operator(&&) ident(argc) operator(==) integer(2)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(if) operator((!)ident(st_lookup)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(key)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(if) operator(()ident(block_given)operator(\)) reserved(return) ident(rb_yield)operator(()ident(key)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(if_none)operator(;) operator(}) reserved(return) ident(val)operator(;) operator(}) comment(/* * call-seq: * hsh.default(key=nil\) => obj * * Returns the default value, the value that would be returned by * hsh[key] if key did not exist in hsh. * See also Hash::new and Hash#default=. * * h = Hash.new #=> {} * h.default #=> nil * h.default(2\) #=> nil * * h = Hash.new("cat"\) #=> {} * h.default #=> "cat" * h.default(2\) #=> "cat" * * h = Hash.new {|h,k| h[k] = k.to_i*10} #=> {} * h.default #=> 0 * h.default(2\) #=> 20 */) directive(static) ident(VALUE) ident(rb_hash_default)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(hash)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(key)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(key)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\)\)) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_funcall)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone)operator(,) ident(id_call)operator(,) integer(2)operator(,) ident(hash)operator(,) ident(key)operator(\);) operator(}) reserved(return) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone)operator(;) operator(}) comment(/* * call-seq: * hsh.default = obj => hsh * * Sets the default value, the value returned for a key that does not * exist in the hash. It is not possible to set the a default to a * Proc that will be executed on each key lookup. * * h = { "a" => 100, "b" => 200 } * h.default = "Go fish" * h["a"] #=> 100 * h["z"] #=> "Go fish" * # This doesn't do what you might hope... * h.default = proc do |hash, key| * hash[key] = key + key * end * h[2] #=> # * h["cat"] #=> # */) directive(static) ident(VALUE) ident(rb_hash_set_default)operator(()ident(hash)operator(,) ident(ifnone)operator(\)) ident(VALUE) ident(hash)operator(,) ident(ifnone)operator(;) operator({) ident(rb_hash_modify)operator(()ident(hash)operator(\);) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone) operator(=) ident(ifnone)operator(;) ident(FL_UNSET)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\);) reserved(return) ident(ifnone)operator(;) operator(}) comment(/* * call-seq: * hsh.default_proc -> anObject * * If Hash::new was invoked with a block, return that * block, otherwise return nil. * * h = Hash.new {|h,k| h[k] = k*k } #=> {} * p = h.default_proc #=> # * a = [] #=> [] * p.call(a, 2\) * a #=> [nil, nil, 4] */) directive(static) ident(VALUE) ident(rb_hash_default_proc)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\)\)) operator({) reserved(return) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) pre_type(int) ident(index_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(args)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) ident(VALUE) operator(*)ident(args)operator(;) operator({) reserved(if) operator(()ident(rb_equal)operator(()ident(value)operator(,) ident(args)operator([)integer(0)operator(]\)\)) operator({) ident(args)operator([)integer(1)operator(]) operator(=) ident(key)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_hash_delete_key)operator(()ident(hash)operator(,) ident(key)operator(\)) ident(VALUE) ident(hash)operator(,) ident(key)operator(;) operator({) ident(st_data_t) ident(ktmp) operator(=) operator(()ident(st_data_t)operator(\))ident(key)operator(,) ident(val)operator(;) reserved(if) operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(iter_lev) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(st_delete_safe)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(&)ident(ktmp)operator(,) operator(&)ident(val)operator(,) ident(Qundef)operator(\)\)) operator({) ident(FL_SET)operator(()ident(hash)operator(,) ident(HASH_DELETED)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(val)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(st_delete)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(&)ident(ktmp)operator(,) operator(&)ident(val)operator(\)\)) reserved(return) operator(()ident(VALUE)operator(\))ident(val)operator(;) reserved(return) ident(Qundef)operator(;) operator(}) comment(/* * call-seq: * hsh.index(value\) => key * * Returns the key for a given value. If not found, returns nil. * * h = { "a" => 100, "b" => 200 } * h.index(200\) #=> "b" * h.index(999\) #=> nil * */) directive(static) ident(VALUE) ident(rb_hash_index)operator(()ident(hash)operator(,) ident(value)operator(\)) ident(VALUE) ident(hash)operator(,) ident(value)operator(;) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(value)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(Qnil)operator(;) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(index_i)operator(,) operator(()ident(st_data_t)operator(\))ident(args)operator(\);) reserved(return) ident(args)operator([)integer(1)operator(];) operator(}) comment(/* * call-seq: * hsh.indexes(key, ...\) => array * hsh.indices(key, ...\) => array * * Deprecated in favor of Hash#select. * */) directive(static) ident(VALUE) ident(rb_hash_indexes)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(hash)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(indexes)operator(;) pre_type(int) ident(i)operator(;) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(rb_frame_last_func)operator((\)\)\);) ident(indexes) operator(=) ident(rb_ary_new2)operator(()ident(argc)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(RARRAY)operator(()ident(indexes)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(rb_hash_aref)operator(()ident(hash)operator(,) ident(argv)operator([)ident(i)operator(]\);) ident(RARRAY)operator(()ident(indexes)operator(\)->)ident(len)operator(++;) operator(}) reserved(return) ident(indexes)operator(;) operator(}) comment(/* * call-seq: * hsh.delete(key\) => value * hsh.delete(key\) {| key | block } => value * * Deletes and returns a key-value pair from hsh whose key is * equal to key. If the key is not found, returns the * default value. If the optional code block is given and the * key is not found, pass in the key and return the result of * block. * * h = { "a" => 100, "b" => 200 } * h.delete("a"\) #=> 100 * h.delete("z"\) #=> nil * h.delete("z"\) { |el| "#{el} not found" } #=> "z not found" * */) ident(VALUE) ident(rb_hash_delete)operator(()ident(hash)operator(,) ident(key)operator(\)) ident(VALUE) ident(hash)operator(,) ident(key)operator(;) operator({) ident(VALUE) ident(val)operator(;) ident(rb_hash_modify)operator(()ident(hash)operator(\);) ident(val) operator(=) ident(rb_hash_delete_key)operator(()ident(hash)operator(,) ident(key)operator(\);) reserved(if) operator(()ident(val) operator(!=) ident(Qundef)operator(\)) reserved(return) ident(val)operator(;) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) ident(rb_yield)operator(()ident(key)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) reserved(struct) ident(shift_var) operator({) ident(VALUE) ident(key)operator(;) ident(VALUE) ident(val)operator(;) operator(};) directive(static) pre_type(int) ident(shift_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(var)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) reserved(struct) ident(shift_var) operator(*)ident(var)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(var)operator(->)ident(key) operator(!=) ident(Qundef)operator(\)) reserved(return) ident(ST_STOP)operator(;) ident(var)operator(->)ident(key) operator(=) ident(key)operator(;) ident(var)operator(->)ident(val) operator(=) ident(value)operator(;) reserved(return) ident(ST_DELETE)operator(;) operator(}) directive(static) pre_type(int) ident(shift_i_safe)operator(()ident(key)operator(,) ident(value)operator(,) ident(var)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) reserved(struct) ident(shift_var) operator(*)ident(var)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(var)operator(->)ident(key) operator(=) ident(key)operator(;) ident(var)operator(->)ident(val) operator(=) ident(value)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) comment(/* * call-seq: * hsh.shift -> anArray or obj * * Removes a key-value pair from hsh and returns it as the * two-item array [ key, value ], or * the hash's default value if the hash is empty. * * h = { 1 => "a", 2 => "b", 3 => "c" } * h.shift #=> [1, "a"] * h #=> {2=>"b", 3=>"c"} */) directive(static) ident(VALUE) ident(rb_hash_shift)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(struct) ident(shift_var) ident(var)operator(;) ident(rb_hash_modify)operator(()ident(hash)operator(\);) ident(var)operator(.)ident(key) operator(=) ident(Qundef)operator(;) reserved(if) operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(iter_lev) operator(>) integer(0)operator(\)) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(shift_i_safe)operator(,) operator(()ident(st_data_t)operator(\)&)ident(var)operator(\);) reserved(if) operator(()ident(var)operator(.)ident(key) operator(!=) ident(Qundef)operator(\)) operator({) ident(st_data_t) ident(key) operator(=) ident(var)operator(.)ident(key)operator(;) reserved(if) operator(()ident(st_delete_safe)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) operator(&)ident(key)operator(,) integer(0)operator(,) ident(Qundef)operator(\)\)) operator({) ident(FL_SET)operator(()ident(hash)operator(,) ident(HASH_DELETED)operator(\);) operator(}) operator(}) operator(}) reserved(else) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(shift_i)operator(,) operator(()ident(st_data_t)operator(\)&)ident(var)operator(\);) operator(}) reserved(if) operator(()ident(var)operator(.)ident(key) operator(!=) ident(Qundef)operator(\)) operator({) reserved(return) ident(rb_assoc_new)operator(()ident(var)operator(.)ident(key)operator(,) ident(var)operator(.)ident(val)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(FL_TEST)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\)\)) operator({) reserved(return) ident(rb_funcall)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone)operator(,) ident(id_call)operator(,) integer(2)operator(,) ident(hash)operator(,) ident(Qnil)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone)operator(;) operator(}) operator(}) directive(static) pre_type(int) ident(delete_if_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(hash)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(hash)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield_values)operator(()integer(2)operator(,) ident(key)operator(,) ident(value)operator(\)\)\)) operator({) ident(rb_hash_delete_key)operator(()ident(hash)operator(,) ident(key)operator(\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.delete_if {| key, value | block } -> hsh * * Deletes every key-value pair from hsh for which block * evaluates to true. * * h = { "a" => 100, "b" => 200, "c" => 300 } * h.delete_if {|key, value| key >= "b" } #=> {"a"=>100} * */) ident(VALUE) ident(rb_hash_delete_if)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(rb_hash_modify)operator(()ident(hash)operator(\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(delete_if_i)operator(,) ident(hash)operator(\);) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * hsh.reject! {| key, value | block } -> hsh or nil * * Equivalent to Hash#delete_if, but returns * nil if no changes were made. */) ident(VALUE) ident(rb_hash_reject_bang)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) pre_type(int) ident(n) operator(=) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(;) ident(rb_hash_delete_if)operator(()ident(hash)operator(\);) reserved(if) operator(()ident(n) operator(==) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * hsh.reject {| key, value | block } -> a_hash * * Same as Hash#delete_if, but works on (and returns\) a * copy of the hsh. Equivalent to * hsh.dup.delete_if. * */) directive(static) ident(VALUE) ident(rb_hash_reject)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(return) ident(rb_hash_delete_if)operator(()ident(rb_obj_dup)operator(()ident(hash)operator(\)\);) operator(}) directive(static) pre_type(int) ident(select_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(result)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(result)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield_values)operator(()integer(2)operator(,) ident(key)operator(,) ident(value)operator(\)\)\)) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_assoc_new)operator(()ident(key)operator(,) ident(value)operator(\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.values_at(key, ...\) => array * * Return an array containing the values associated with the given keys. * Also see Hash.select. * * h = { "cat" => "feline", "dog" => "canine", "cow" => "bovine" } * h.values_at("cow", "cat"\) #=> ["bovine", "feline"] */) ident(VALUE) ident(rb_hash_values_at)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(hash)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(rb_ary_new)operator((\);) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_hash_aref)operator(()ident(hash)operator(,) ident(argv)operator([)ident(i)operator(]\)\);) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * hsh.select {|key, value| block} => array * * Returns a new array consisting of [key,value] * pairs for which the block returns true. * Also see Hash.values_at. * * h = { "a" => 100, "b" => 200, "c" => 300 } * h.select {|k,v| k > "a"} #=> [["b", 200], ["c", 300]] * h.select {|k,v| v < 200} #=> [["a", 100]] */) ident(VALUE) ident(rb_hash_select)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(hash)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(result)operator(;) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) ident(result) operator(=) ident(rb_ary_new)operator((\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(select_i)operator(,) ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) pre_type(int) ident(clear_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(dummy)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(dummy)operator(;) operator({) reserved(return) ident(ST_DELETE)operator(;) operator(}) comment(/* * call-seq: * hsh.clear -> hsh * * Removes all key-value pairs from hsh. * * h = { "a" => 100, "b" => 200 } #=> {"a"=>100, "b"=>200} * h.clear #=> {} * */) directive(static) ident(VALUE) ident(rb_hash_clear)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(rb_hash_modify)operator(()ident(hash)operator(\);) reserved(if) operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(clear_i)operator(,) integer(0)operator(\);) operator(}) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * hsh[key] = value => value * hsh.store(key, value\) => value * * Element Assignment---Associates the value given by * value with the key given by key. * key should not have its value changed while it is in * use as a key (a String passed as a key will be * duplicated and frozen\). * * h = { "a" => 100, "b" => 200 } * h["a"] = 9 * h["c"] = 4 * h #=> {"a"=>9, "b"=>200, "c"=>4} * */) ident(VALUE) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(key)operator(,) ident(val)operator(\)) ident(VALUE) ident(hash)operator(,) ident(key)operator(,) ident(val)operator(;) operator({) ident(rb_hash_modify)operator(()ident(hash)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(key)operator(\)) operator(!=) ident(T_STRING) operator(||) ident(st_lookup)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(key)operator(,) integer(0)operator(\)\)) operator({) ident(st_insert)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(key)operator(,) ident(val)operator(\);) operator(}) reserved(else) operator({) ident(st_add_direct)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(rb_str_new4)operator(()ident(key)operator(\),) ident(val)operator(\);) operator(}) reserved(return) ident(val)operator(;) operator(}) directive(static) pre_type(int) ident(replace_i)operator(()ident(key)operator(,) ident(val)operator(,) ident(hash)operator(\)) ident(VALUE) ident(key)operator(,) ident(val)operator(,) ident(hash)operator(;) operator({) reserved(if) operator(()ident(key) operator(!=) ident(Qundef)operator(\)) operator({) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(key)operator(,) ident(val)operator(\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.replace(other_hash\) -> hsh * * Replaces the contents of hsh with the contents of * other_hash. * * h = { "a" => 100, "b" => 200 } * h.replace({ "c" => 300, "d" => 400 }\) #=> {"c"=>300, "d"=>400} * */) directive(static) ident(VALUE) ident(rb_hash_replace)operator(()ident(hash)operator(,) ident(hash2)operator(\)) ident(VALUE) ident(hash)operator(,) ident(hash2)operator(;) operator({) ident(hash2) operator(=) ident(to_hash)operator(()ident(hash2)operator(\);) reserved(if) operator(()ident(hash) operator(==) ident(hash2)operator(\)) reserved(return) ident(hash)operator(;) ident(rb_hash_clear)operator(()ident(hash)operator(\);) ident(rb_hash_foreach)operator(()ident(hash2)operator(,) ident(replace_i)operator(,) ident(hash)operator(\);) ident(RHASH)operator(()ident(hash)operator(\)->)ident(ifnone) operator(=) ident(RHASH)operator(()ident(hash2)operator(\)->)ident(ifnone)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(hash2)operator(,) ident(HASH_PROC_DEFAULT)operator(\)\)) operator({) ident(FL_SET)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\);) operator(}) reserved(else) operator({) ident(FL_UNSET)operator(()ident(hash)operator(,) ident(HASH_PROC_DEFAULT)operator(\);) operator(}) reserved(return) ident(hash)operator(;) operator(}) comment(/* * call-seq: * hsh.length => fixnum * hsh.size => fixnum * * Returns the number of key-value pairs in the hash. * * h = { "d" => 100, "a" => 200, "v" => 300, "e" => 400 } * h.length #=> 4 * h.delete("a"\) #=> 200 * h.length #=> 3 */) directive(static) ident(VALUE) ident(rb_hash_size)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(return) ident(INT2FIX)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(\);) operator(}) comment(/* * call-seq: * hsh.empty? => true or false * * Returns true if hsh contains no key-value pairs. * * {}.empty? #=> true * */) directive(static) ident(VALUE) ident(rb_hash_empty_p)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(each_value_i)operator(()ident(key)operator(,) ident(value)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_yield)operator(()ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.each_value {| value | block } -> hsh * * Calls block once for each key in hsh, passing the * value as a parameter. * * h = { "a" => 100, "b" => 200 } * h.each_value {|value| puts value } * * produces: * * 100 * 200 */) directive(static) ident(VALUE) ident(rb_hash_each_value)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(each_value_i)operator(,) integer(0)operator(\);) reserved(return) ident(hash)operator(;) operator(}) directive(static) pre_type(int) ident(each_key_i)operator(()ident(key)operator(,) ident(value)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_yield)operator(()ident(key)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.each_key {| key | block } -> hsh * * Calls block once for each key in hsh, passing the key * as a parameter. * * h = { "a" => 100, "b" => 200 } * h.each_key {|key| puts key } * * produces: * * a * b */) directive(static) ident(VALUE) ident(rb_hash_each_key)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(each_key_i)operator(,) integer(0)operator(\);) reserved(return) ident(hash)operator(;) operator(}) directive(static) pre_type(int) ident(each_pair_i)operator(()ident(key)operator(,) ident(value)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_yield_values)operator(()integer(2)operator(,) ident(key)operator(,) ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.each_pair {| key_value_array | block } -> hsh * * Calls block once for each key in hsh, passing the key * and value as parameters. * * h = { "a" => 100, "b" => 200 } * h.each_pair {|key, value| puts "#{key} is #{value}" } * * produces: * * a is 100 * b is 200 * */) directive(static) ident(VALUE) ident(rb_hash_each_pair)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(each_pair_i)operator(,) integer(0)operator(\);) reserved(return) ident(hash)operator(;) operator(}) directive(static) pre_type(int) ident(each_i)operator(()ident(key)operator(,) ident(value)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_yield)operator(()ident(rb_assoc_new)operator(()ident(key)operator(,) ident(value)operator(\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.each {| key, value | block } -> hsh * * Calls block once for each key in hsh, passing the key * and value to the block as a two-element array. Because of the assignment * semantics of block parameters, these elements will be split out if the * block has two formal parameters. Also see Hash.each_pair, which * will be marginally more efficient for blocks with two parameters. * * h = { "a" => 100, "b" => 200 } * h.each {|key, value| puts "#{key} is #{value}" } * * produces: * * a is 100 * b is 200 * */) directive(static) ident(VALUE) ident(rb_hash_each)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(each_i)operator(,) integer(0)operator(\);) reserved(return) ident(hash)operator(;) operator(}) directive(static) pre_type(int) ident(to_a_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(ary)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_assoc_new)operator(()ident(key)operator(,) ident(value)operator(\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.to_a -> array * * Converts hsh to a nested array of [ key, * value ] arrays. * * h = { "c" => 300, "a" => 100, "d" => 400, "c" => 300 } * h.to_a #=> [["a", 100], ["c", 300], ["d", 400]] */) directive(static) ident(VALUE) ident(rb_hash_to_a)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(to_a_i)operator(,) ident(ary)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(hash)operator(\)\)) ident(OBJ_TAINT)operator(()ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * hsh.sort => array * hsh.sort {| a, b | block } => array * * Converts hsh to a nested array of [ key, * value ] arrays and sorts it, using * Array#sort. * * h = { "a" => 20, "b" => 30, "c" => 10 } * h.sort #=> [["a", 20], ["b", 30], ["c", 10]] * h.sort {|a,b| a[1]<=>b[1]} #=> [["c", 10], ["a", 20], ["b", 30]] * */) directive(static) ident(VALUE) ident(rb_hash_sort)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(entries) operator(=) ident(rb_hash_to_a)operator(()ident(hash)operator(\);) ident(rb_ary_sort_bang)operator(()ident(entries)operator(\);) reserved(return) ident(entries)operator(;) operator(}) directive(static) pre_type(int) ident(inspect_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(str)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(str)operator(;) operator({) ident(VALUE) ident(str2)operator(;) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) ident(str2) operator(=) ident(rb_inspect)operator(()ident(key)operator(\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) ident(str2) operator(=) ident(rb_inspect)operator(()ident(value)operator(\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(inspect_hash)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(str)operator(;) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(inspect_i)operator(,) ident(str)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(hash)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * hsh.inspect => string * * Return the contents of this hash as a string. */) directive(static) ident(VALUE) ident(rb_hash_inspect)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl) operator(==) integer(0) operator(||) ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(->)ident(num_entries) operator(==) integer(0)operator(\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(hash)operator(\)\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) reserved(return) ident(rb_protect_inspect)operator(()ident(inspect_hash)operator(,) ident(hash)operator(,) integer(0)operator(\);) operator(}) directive(static) ident(VALUE) ident(to_s_hash)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(return) ident(rb_ary_to_s)operator(()ident(rb_hash_to_a)operator(()ident(hash)operator(\)\);) operator(}) comment(/* * call-seq: * hsh.to_s => string * * Converts hsh to a string by converting the hash to an array * of [ key, value ] pairs and then * converting that array to a string using Array#join with * the default separator. * * h = { "c" => 300, "a" => 100, "d" => 400, "c" => 300 } * h.to_s #=> "a100c300d400" */) directive(static) ident(VALUE) ident(rb_hash_to_s)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(hash)operator(\)\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) reserved(return) ident(rb_protect_inspect)operator(()ident(to_s_hash)operator(,) ident(hash)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * hsh.to_hash => hsh * * Returns self. */) directive(static) ident(VALUE) ident(rb_hash_to_hash)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) reserved(return) ident(hash)operator(;) operator(}) directive(static) pre_type(int) ident(keys_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(ary)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(key)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.keys => array * * Returns a new array populated with the keys from this hash. See also * Hash#values. * * h = { "a" => 100, "b" => 200, "c" => 300, "d" => 400 } * h.keys #=> ["a", "b", "c", "d"] * */) directive(static) ident(VALUE) ident(rb_hash_keys)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(keys_i)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) pre_type(int) ident(values_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) ident(ary)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.values => array * * Returns a new array populated with the values from hsh. See * also Hash#keys. * * h = { "a" => 100, "b" => 200, "c" => 300 } * h.values #=> [100, 200, 300] * */) directive(static) ident(VALUE) ident(rb_hash_values)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(values_i)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * hsh.has_key?(key\) => true or false * hsh.include?(key\) => true or false * hsh.key?(key\) => true or false * hsh.member?(key\) => true or false * * Returns true if the given key is present in hsh. * * h = { "a" => 100, "b" => 200 } * h.has_key?("a"\) #=> true * h.has_key?("z"\) #=> false * */) directive(static) ident(VALUE) ident(rb_hash_has_key)operator(()ident(hash)operator(,) ident(key)operator(\)) ident(VALUE) ident(hash)operator(;) ident(VALUE) ident(key)operator(;) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(RHASH)operator(()ident(hash)operator(\)->)ident(tbl)operator(,) ident(key)operator(,) integer(0)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(rb_hash_search_value)operator(()ident(key)operator(,) ident(value)operator(,) ident(data)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(,) operator(*)ident(data)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(rb_equal)operator(()ident(value)operator(,) ident(data)operator([)integer(1)operator(]\)\)) operator({) ident(data)operator([)integer(0)operator(]) operator(=) ident(Qtrue)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.has_value?(value\) => true or false * hsh.value?(value\) => true or false * * Returns true if the given value is present for some key * in hsh. * * h = { "a" => 100, "b" => 200 } * h.has_value?(100\) #=> true * h.has_value?(999\) #=> false */) directive(static) ident(VALUE) ident(rb_hash_has_value)operator(()ident(hash)operator(,) ident(val)operator(\)) ident(VALUE) ident(hash)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) ident(data)operator([)integer(2)operator(];) ident(data)operator([)integer(0)operator(]) operator(=) ident(Qfalse)operator(;) ident(data)operator([)integer(1)operator(]) operator(=) ident(val)operator(;) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(rb_hash_search_value)operator(,) operator(()ident(st_data_t)operator(\))ident(data)operator(\);) reserved(return) ident(data)operator([)integer(0)operator(];) operator(}) reserved(struct) ident(equal_data) operator({) pre_type(int) ident(result)operator(;) ident(st_table) operator(*)ident(tbl)operator(;) operator(};) directive(static) pre_type(int) ident(equal_i)operator(()ident(key)operator(,) ident(val1)operator(,) ident(data)operator(\)) ident(VALUE) ident(key)operator(,) ident(val1)operator(;) reserved(struct) ident(equal_data) operator(*)ident(data)operator(;) operator({) ident(VALUE) ident(val2)operator(;) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(data)operator(->)ident(tbl)operator(,) ident(key)operator(,) operator(&)ident(val2)operator(\)\)) operator({) ident(data)operator(->)ident(result) operator(=) ident(Qfalse)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(if) operator((!)ident(rb_equal)operator(()ident(val1)operator(,) ident(val2)operator(\)\)) operator({) ident(data)operator(->)ident(result) operator(=) ident(Qfalse)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(hash_equal)operator(()ident(hash1)operator(,) ident(hash2)operator(,) ident(eql)operator(\)) ident(VALUE) ident(hash1)operator(,) ident(hash2)operator(;) pre_type(int) ident(eql)operator(;) comment(/* compare default value if true */) operator({) reserved(struct) ident(equal_data) ident(data)operator(;) reserved(if) operator(()ident(hash1) operator(==) ident(hash2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(hash2)operator(\)) operator(!=) ident(T_HASH)operator(\)) operator({) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(hash2)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(rb_equal)operator(()ident(hash2)operator(,) ident(hash1)operator(\);) operator(}) reserved(if) operator(()ident(RHASH)operator(()ident(hash1)operator(\)->)ident(tbl)operator(->)ident(num_entries) operator(!=) ident(RHASH)operator(()ident(hash2)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(eql)operator(\)) operator({) reserved(if) operator((!()ident(rb_equal)operator(()ident(RHASH)operator(()ident(hash1)operator(\)->)ident(ifnone)operator(,) ident(RHASH)operator(()ident(hash2)operator(\)->)ident(ifnone)operator(\)) operator(&&) ident(FL_TEST)operator(()ident(hash1)operator(,) ident(HASH_PROC_DEFAULT)operator(\)) operator(==) ident(FL_TEST)operator(()ident(hash2)operator(,) ident(HASH_PROC_DEFAULT)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) operator(}) ident(data)operator(.)ident(tbl) operator(=) ident(RHASH)operator(()ident(hash2)operator(\)->)ident(tbl)operator(;) ident(data)operator(.)ident(result) operator(=) ident(Qtrue)operator(;) ident(rb_hash_foreach)operator(()ident(hash1)operator(,) ident(equal_i)operator(,) operator(()ident(st_data_t)operator(\)&)ident(data)operator(\);) reserved(return) ident(data)operator(.)ident(result)operator(;) operator(}) comment(/* * call-seq: * hsh == other_hash => true or false * * Equality---Two hashes are equal if they each contain the same number * of keys and if each key-value pair is equal to (according to * Object#==\) the corresponding elements in the other * hash. * * h1 = { "a" => 1, "c" => 2 } * h2 = { 7 => 35, "c" => 2, "a" => 1 } * h3 = { "a" => 1, "c" => 2, 7 => 35 } * h4 = { "a" => 1, "d" => 2, "f" => 35 } * h1 == h2 #=> false * h2 == h3 #=> true * h3 == h4 #=> false * */) directive(static) ident(VALUE) ident(rb_hash_equal)operator(()ident(hash1)operator(,) ident(hash2)operator(\)) ident(VALUE) ident(hash1)operator(,) ident(hash2)operator(;) operator({) reserved(return) ident(hash_equal)operator(()ident(hash1)operator(,) ident(hash2)operator(,) ident(Qfalse)operator(\);) operator(}) directive(static) pre_type(int) ident(rb_hash_invert_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(hash)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(value)operator(,) ident(key)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.invert -> aHash * * Returns a new hash created by using hsh's values as keys, and * the keys as values. * * h = { "n" => 100, "m" => 100, "y" => 300, "d" => 200, "a" => 0 } * h.invert #=> {0=>"a", 100=>"n", 200=>"d", 300=>"y"} * */) directive(static) ident(VALUE) ident(rb_hash_invert)operator(()ident(hash)operator(\)) ident(VALUE) ident(hash)operator(;) operator({) ident(VALUE) ident(h) operator(=) ident(rb_hash_new)operator((\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(rb_hash_invert_i)operator(,) ident(h)operator(\);) reserved(return) ident(h)operator(;) operator(}) directive(static) pre_type(int) ident(rb_hash_update_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(hash)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(key)operator(,) ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) pre_type(int) ident(rb_hash_update_block_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(hash)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) ident(VALUE) ident(hash)operator(;) operator({) reserved(if) operator(()ident(key) operator(==) ident(Qundef)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(rb_hash_has_key)operator(()ident(hash)operator(,) ident(key)operator(\)\)) operator({) ident(value) operator(=) ident(rb_yield_values)operator(()integer(3)operator(,) ident(key)operator(,) ident(rb_hash_aref)operator(()ident(hash)operator(,) ident(key)operator(\),) ident(value)operator(\);) operator(}) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(key)operator(,) ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * hsh.merge!(other_hash\) => hsh * hsh.update(other_hash\) => hsh * hsh.merge!(other_hash\){|key, oldval, newval| block} => hsh * hsh.update(other_hash\){|key, oldval, newval| block} => hsh * * Adds the contents of other_hash to hsh, overwriting * entries with duplicate keys with those from other_hash. * * h1 = { "a" => 100, "b" => 200 } * h2 = { "b" => 254, "c" => 300 } * h1.merge!(h2\) #=> {"a"=>100, "b"=>254, "c"=>300} */) directive(static) ident(VALUE) ident(rb_hash_update)operator(()ident(hash1)operator(,) ident(hash2)operator(\)) ident(VALUE) ident(hash1)operator(,) ident(hash2)operator(;) operator({) ident(hash2) operator(=) ident(to_hash)operator(()ident(hash2)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_hash_foreach)operator(()ident(hash2)operator(,) ident(rb_hash_update_block_i)operator(,) ident(hash1)operator(\);) operator(}) reserved(else) operator({) ident(rb_hash_foreach)operator(()ident(hash2)operator(,) ident(rb_hash_update_i)operator(,) ident(hash1)operator(\);) operator(}) reserved(return) ident(hash1)operator(;) operator(}) comment(/* * call-seq: * hsh.merge(other_hash\) -> a_hash * hsh.merge(other_hash\){|key, oldval, newval| block} -> a_hash * * Returns a new hash containing the contents of other_hash and * the contents of hsh, overwriting entries in hsh with * duplicate keys with those from other_hash. * * h1 = { "a" => 100, "b" => 200 } * h2 = { "b" => 254, "c" => 300 } * h1.merge(h2\) #=> {"a"=>100, "b"=>254, "c"=>300} * h1 #=> {"a"=>100, "b"=>200} * */) directive(static) ident(VALUE) ident(rb_hash_merge)operator(()ident(hash1)operator(,) ident(hash2)operator(\)) ident(VALUE) ident(hash1)operator(,) ident(hash2)operator(;) operator({) reserved(return) ident(rb_hash_update)operator(()ident(rb_obj_dup)operator(()ident(hash1)operator(\),) ident(hash2)operator(\);) operator(}) directive(static) pre_type(int) ident(path_tainted) operator(=) operator(-)integer(1)operator(;) directive(static) pre_type(char) operator(**)ident(origenviron)operator(;) preprocessor(#ifdef) ident(_WIN32) preprocessor(#define) ident(GET_ENVIRON)operator(()ident(e)operator(\)) operator(()ident(e) operator(=) ident(rb_w32_get_environ)operator((\)\)) preprocessor(#define) ident(FREE_ENVIRON)operator(()ident(e)operator(\)) ident(rb_w32_free_environ)operator(()ident(e)operator(\)) directive(static) pre_type(char) operator(**)ident(my_environ)operator(;) preprocessor(#undef) ident(environ) preprocessor(#define) ident(environ) ident(my_environ) preprocessor(#elif) ident(defined)operator(()ident(__APPLE__)operator(\)) preprocessor(#undef) ident(environ) preprocessor(#define) ident(environ) operator((*)ident(_NSGetEnviron)operator((\)\)) preprocessor(#define) ident(GET_ENVIRON)operator(()ident(e)operator(\)) operator(()ident(e)operator(\)) preprocessor(#define) ident(FREE_ENVIRON)operator(()ident(e)operator(\)) preprocessor(#else) directive(extern) pre_type(char) operator(**)ident(environ)operator(;) preprocessor(#define) ident(GET_ENVIRON)operator(()ident(e)operator(\)) operator(()ident(e)operator(\)) preprocessor(#define) ident(FREE_ENVIRON)operator(()ident(e)operator(\)) preprocessor(#endif) directive(static) ident(VALUE) ident(env_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_tainted_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\);) ident(rb_obj_freeze)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(env_str_new2)operator(()ident(ptr)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) operator({) reserved(if) operator((!)ident(ptr)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(env_str_new)operator(()ident(ptr)operator(,) ident(strlen)operator(()ident(ptr)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(env_delete)operator(()ident(obj)operator(,) ident(name)operator(\)) ident(VALUE) ident(obj)operator(,) ident(name)operator(;) operator({) pre_type(char) operator(*)ident(nam)operator(,) operator(*)ident(val)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(SafeStringValue)operator(()ident(name)operator(\);) ident(nam) operator(=) ident(RSTRING)operator(()ident(name)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(strlen)operator(()ident(nam)operator(\)) operator(!=) ident(RSTRING)operator(()ident(name)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(val) operator(=) ident(getenv)operator(()ident(nam)operator(\);) reserved(if) operator(()ident(val)operator(\)) operator({) ident(VALUE) ident(value) operator(=) ident(env_str_new2)operator(()ident(val)operator(\);) ident(ruby_setenv)operator(()ident(nam)operator(,) integer(0)operator(\);) preprocessor(#ifdef) ident(ENV_IGNORECASE) reserved(if) operator(()ident(strcasecmp)operator(()ident(nam)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0)operator(\)) preprocessor(#else) reserved(if) operator(()ident(strcmp)operator(()ident(nam)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0)operator(\)) preprocessor(#endif) operator({) ident(path_tainted) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(value)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(env_delete_m)operator(()ident(obj)operator(,) ident(name)operator(\)) ident(VALUE) ident(obj)operator(,) ident(name)operator(;) operator({) ident(VALUE) ident(val)operator(;) ident(val) operator(=) ident(env_delete)operator(()ident(obj)operator(,) ident(name)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)) operator(&&) ident(rb_block_given_p)operator((\)\)) ident(rb_yield)operator(()ident(name)operator(\);) reserved(return) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_f_getenv)operator(()ident(obj)operator(,) ident(name)operator(\)) ident(VALUE) ident(obj)operator(,) ident(name)operator(;) operator({) pre_type(char) operator(*)ident(nam)operator(,) operator(*)ident(env)operator(;) ident(StringValue)operator(()ident(name)operator(\);) ident(nam) operator(=) ident(RSTRING)operator(()ident(name)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(strlen)operator(()ident(nam)operator(\)) operator(!=) ident(RSTRING)operator(()ident(name)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(env) operator(=) ident(getenv)operator(()ident(nam)operator(\);) reserved(if) operator(()ident(env)operator(\)) operator({) preprocessor(#ifdef) ident(ENV_IGNORECASE) reserved(if) operator(()ident(strcasecmp)operator(()ident(nam)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0) operator(&&) operator(!)ident(rb_env_path_tainted)operator((\)\)) preprocessor(#else) reserved(if) operator(()ident(strcmp)operator(()ident(nam)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0) operator(&&) operator(!)ident(rb_env_path_tainted)operator((\)\)) preprocessor(#endif) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_new2)operator(()ident(env)operator(\);) ident(rb_obj_freeze)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(env_str_new2)operator(()ident(env)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(env_fetch)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(key)operator(,) ident(if_none)operator(;) pre_type(long) ident(block_given)operator(;) pre_type(char) operator(*)ident(nam)operator(,) operator(*)ident(env)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(key)operator(,) operator(&)ident(if_none)operator(\);) ident(block_given) operator(=) ident(rb_block_given_p)operator((\);) reserved(if) operator(()ident(block_given) operator(&&) ident(argc) operator(==) integer(2)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) ident(StringValue)operator(()ident(key)operator(\);) ident(nam) operator(=) ident(RSTRING)operator(()ident(key)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(strlen)operator(()ident(nam)operator(\)) operator(!=) ident(RSTRING)operator(()ident(key)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(env) operator(=) ident(getenv)operator(()ident(nam)operator(\);) reserved(if) operator((!)ident(env)operator(\)) operator({) reserved(if) operator(()ident(block_given)operator(\)) reserved(return) ident(rb_yield)operator(()ident(key)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(if_none)operator(;) operator(}) preprocessor(#ifdef) ident(ENV_IGNORECASE) reserved(if) operator(()ident(strcasecmp)operator(()ident(nam)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0) operator(&&) operator(!)ident(rb_env_path_tainted)operator((\)\)) preprocessor(#else) reserved(if) operator(()ident(strcmp)operator(()ident(nam)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0) operator(&&) operator(!)ident(rb_env_path_tainted)operator((\)\)) preprocessor(#endif) reserved(return) ident(rb_str_new2)operator(()ident(env)operator(\);) reserved(return) ident(env_str_new2)operator(()ident(env)operator(\);) operator(}) directive(static) directive(void) ident(path_tainted_p)operator(()ident(path)operator(\)) pre_type(char) operator(*)ident(path)operator(;) operator({) ident(path_tainted) operator(=) ident(rb_path_check)operator(()ident(path)operator(\)?)integer(0)operator(:)integer(1)operator(;) operator(}) pre_type(int) ident(rb_env_path_tainted)operator((\)) operator({) reserved(if) operator(()ident(path_tainted) operator(<) integer(0)operator(\)) operator({) ident(path_tainted_p)operator(()ident(getenv)operator(()ident(PATH_ENV)operator(\)\);) operator(}) reserved(return) ident(path_tainted)operator(;) operator(}) directive(static) pre_type(int) ident(envix)operator(()ident(nam)operator(\)) directive(const) pre_type(char) operator(*)ident(nam)operator(;) operator({) directive(register) pre_type(int) ident(i)operator(,) ident(len) operator(=) ident(strlen)operator(()ident(nam)operator(\);) pre_type(char) operator(**)ident(env)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(env)operator([)ident(i)operator(];) ident(i)operator(++\)) operator({) reserved(if) operator(() preprocessor(#ifdef) ident(ENV_IGNORECASE) ident(strncasecmp)operator(()ident(env)operator([)ident(i)operator(],)ident(nam)operator(,)ident(len)operator(\)) operator(==) integer(0) preprocessor(#else) ident(memcmp)operator(()ident(env)operator([)ident(i)operator(],)ident(nam)operator(,)ident(len)operator(\)) operator(==) integer(0) preprocessor(#endif) operator(&&) ident(env)operator([)ident(i)operator(][)ident(len)operator(]) operator(==) char('=')operator(\)) reserved(break)operator(;) comment(/* memcmp must come first to avoid */) operator(}) comment(/* potential SEGV's */) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(i)operator(;) operator(}) directive(void) ident(ruby_setenv)operator(()ident(name)operator(,) ident(value)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) directive(const) pre_type(char) operator(*)ident(value)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) comment(/* The sane way to deal with the environment. * Has these advantages over putenv(\) & co.: * * enables us to store a truly empty value in the * environment (like in UNIX\). * * we don't have to deal with RTL globals, bugs and leaks. * * Much faster. * Why you may want to enable USE_WIN32_RTL_ENV: * * environ[] and RTL functions will not reflect changes, * which might be an issue if extensions want to access * the env. via RTL. This cuts both ways, since RTL will * not see changes made by extensions that call the Win32 * functions directly, either. * GSAR 97-06-07 * * REMARK: USE_WIN32_RTL_ENV is already obsoleted since we don't use * RTL's environ global variable directly yet. */) ident(SetEnvironmentVariable)operator(()ident(name)operator(,)ident(value)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETENV)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_UNSETENV)operator(\)) preprocessor(#undef) ident(setenv) preprocessor(#undef) ident(unsetenv) reserved(if) operator(()ident(value)operator(\)) ident(setenv)operator(()ident(name)operator(,)ident(value)operator(,)integer(1)operator(\);) reserved(else) ident(unsetenv)operator(()ident(name)operator(\);) preprocessor(#else) comment(/* WIN32 */) ident(size_t) ident(len)operator(;) pre_type(int) ident(i)operator(=)ident(envix)operator(()ident(name)operator(\);) comment(/* where does it go? */) reserved(if) operator(()ident(environ) operator(==) ident(origenviron)operator(\)) operator({) comment(/* need we copy environment? */) pre_type(int) ident(j)operator(;) pre_type(int) ident(max)operator(;) pre_type(char) operator(**)ident(tmpenv)operator(;) reserved(for) operator(()ident(max) operator(=) ident(i)operator(;) ident(environ)operator([)ident(max)operator(];) ident(max)operator(++\)) operator(;) ident(tmpenv) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(*,) ident(max)operator(+)integer(2)operator(\);) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(max)operator(;) ident(j)operator(++\)) comment(/* copy environment */) ident(tmpenv)operator([)ident(j)operator(]) operator(=) ident(strdup)operator(()ident(environ)operator([)ident(j)operator(]\);) ident(tmpenv)operator([)ident(max)operator(]) operator(=) integer(0)operator(;) ident(environ) operator(=) ident(tmpenv)operator(;) comment(/* tell exec where it is now */) operator(}) reserved(if) operator(()ident(environ)operator([)ident(i)operator(]\)) operator({) pre_type(char) operator(**)ident(envp) operator(=) ident(origenviron)operator(;) reserved(while) operator((*)ident(envp) operator(&&) operator(*)ident(envp) operator(!=) ident(environ)operator([)ident(i)operator(]\)) ident(envp)operator(++;) reserved(if) operator((!*)ident(envp)operator(\)) ident(free)operator(()ident(environ)operator([)ident(i)operator(]\);) reserved(if) operator((!)ident(value)operator(\)) operator({) reserved(while) operator(()ident(environ)operator([)ident(i)operator(]\)) operator({) ident(environ)operator([)ident(i)operator(]) operator(=) ident(environ)operator([)ident(i)operator(+)integer(1)operator(];) ident(i)operator(++;) operator(}) reserved(return)operator(;) operator(}) operator(}) reserved(else) operator({) comment(/* does not exist yet */) reserved(if) operator((!)ident(value)operator(\)) reserved(return)operator(;) ident(REALLOC_N)operator(()ident(environ)operator(,) pre_type(char)operator(*,) ident(i)operator(+)integer(2)operator(\);) comment(/* just expand it a bit */) ident(environ)operator([)ident(i)operator(+)integer(1)operator(]) operator(=) integer(0)operator(;) comment(/* make sure it's null terminated */) operator(}) ident(len) operator(=) ident(strlen)operator(()ident(name)operator(\)) operator(+) ident(strlen)operator(()ident(value)operator(\)) operator(+) integer(2)operator(;) ident(environ)operator([)ident(i)operator(]) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) ident(len)operator(\);) preprocessor(#ifndef) ident(MSDOS) ident(snprintf)operator(()ident(environ)operator([)ident(i)operator(],)ident(len)operator(,)stringoperator(,)ident(name)operator(,)ident(value)operator(\);) comment(/* all that work just for this */) preprocessor(#else) comment(/* MS-DOS requires environment variable names to be in uppercase */) comment(/* [Tom Dinger, 27 August 1990: Well, it doesn't _require_ it, but * some utilities and applications may break because they only look * for upper case strings. (Fixed strupr(\) bug here.\)] */) ident(strcpy)operator(()ident(environ)operator([)ident(i)operator(],)ident(name)operator(\);) ident(strupr)operator(()ident(environ)operator([)ident(i)operator(]\);) ident(sprintf)operator(()ident(environ)operator([)ident(i)operator(]) operator(+) ident(strlen)operator(()ident(name)operator(\),)stringoperator(,) ident(value)operator(\);) preprocessor(#endif) comment(/* MSDOS */) preprocessor(#endif) comment(/* WIN32 */) operator(}) directive(void) ident(ruby_unsetenv)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(ruby_setenv)operator(()ident(name)operator(,) integer(0)operator(\);) operator(}) directive(static) ident(VALUE) ident(env_aset)operator(()ident(obj)operator(,) ident(nm)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(,) ident(nm)operator(,) ident(val)operator(;) operator({) pre_type(char) operator(*)ident(name)operator(,) operator(*)ident(value)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(env_delete)operator(()ident(obj)operator(,) ident(nm)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) ident(StringValue)operator(()ident(nm)operator(\);) ident(StringValue)operator(()ident(val)operator(\);) ident(name) operator(=) ident(RSTRING)operator(()ident(nm)operator(\)->)ident(ptr)operator(;) ident(value) operator(=) ident(RSTRING)operator(()ident(val)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(strlen)operator(()ident(name)operator(\)) operator(!=) ident(RSTRING)operator(()ident(nm)operator(\)->)ident(len)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator(()ident(strlen)operator(()ident(value)operator(\)) operator(!=) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(ruby_setenv)operator(()ident(name)operator(,) ident(value)operator(\);) preprocessor(#ifdef) ident(ENV_IGNORECASE) reserved(if) operator(()ident(strcasecmp)operator(()ident(name)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0)operator(\)) operator({) preprocessor(#else) reserved(if) operator(()ident(strcmp)operator(()ident(name)operator(,) ident(PATH_ENV)operator(\)) operator(==) integer(0)operator(\)) operator({) preprocessor(#endif) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(val)operator(\)\)) operator({) comment(/* already tainted, no check */) ident(path_tainted) operator(=) integer(1)operator(;) reserved(return) ident(val)operator(;) operator(}) reserved(else) operator({) ident(path_tainted_p)operator(()ident(value)operator(\);) operator(}) operator(}) reserved(return) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(env_keys)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\)\);) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(env_each_key)operator(()ident(ehash)operator(\)) ident(VALUE) ident(ehash)operator(;) operator({) ident(VALUE) ident(keys) operator(=) ident(env_keys)operator((\);) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(keys)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(ehash)operator(;) operator(}) directive(static) ident(VALUE) ident(env_values)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(env_str_new2)operator(()ident(s)operator(+)integer(1)operator(\)\);) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(env_each_value)operator(()ident(ehash)operator(\)) ident(VALUE) ident(ehash)operator(;) operator({) ident(VALUE) ident(values) operator(=) ident(env_values)operator((\);) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(RARRAY)operator(()ident(values)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(ehash)operator(;) operator(}) directive(static) ident(VALUE) ident(env_each_i)operator(()ident(ehash)operator(,) ident(values)operator(\)) ident(VALUE) ident(ehash)operator(;) pre_type(int) ident(values)operator(;) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) pre_type(long) ident(i)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\)\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(env_str_new2)operator(()ident(s)operator(+)integer(1)operator(\)\);) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(+=)integer(2)operator(\)) operator({) reserved(if) operator(()ident(values)operator(\)) operator({) ident(rb_yield_values)operator(()integer(2)operator(,) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(+)integer(1)operator(]\);) operator(}) reserved(else) operator({) ident(rb_yield)operator(()ident(rb_assoc_new)operator(()ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(+)integer(1)operator(]\)\);) operator(}) operator(}) reserved(return) ident(ehash)operator(;) operator(}) directive(static) ident(VALUE) ident(env_each)operator(()ident(ehash)operator(\)) ident(VALUE) ident(ehash)operator(;) operator({) reserved(return) ident(env_each_i)operator(()ident(ehash)operator(,) ident(Qfalse)operator(\);) operator(}) directive(static) ident(VALUE) ident(env_each_pair)operator(()ident(ehash)operator(\)) ident(VALUE) ident(ehash)operator(;) operator({) reserved(return) ident(env_each_i)operator(()ident(ehash)operator(,) ident(Qtrue)operator(\);) operator(}) directive(static) ident(VALUE) ident(env_reject_bang)operator((\)) operator({) directive(volatile) ident(VALUE) ident(keys)operator(;) pre_type(long) ident(i)operator(;) pre_type(int) ident(del) operator(=) integer(0)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(keys) operator(=) ident(env_keys)operator((\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(keys)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(val) operator(=) ident(rb_f_getenv)operator(()ident(Qnil)operator(,) ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield_values)operator(()integer(2)operator(,) ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(val)operator(\)\)\)) operator({) ident(FL_UNSET)operator(()ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(FL_TAINT)operator(\);) ident(env_delete)operator(()ident(Qnil)operator(,) ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) ident(del)operator(++;) operator(}) operator(}) operator(}) reserved(if) operator(()ident(del) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(envtbl)operator(;) operator(}) directive(static) ident(VALUE) ident(env_delete_if)operator((\)) operator({) ident(env_reject_bang)operator((\);) reserved(return) ident(envtbl)operator(;) operator(}) directive(static) ident(VALUE) ident(env_values_at)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(rb_ary_new)operator((\);) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_f_getenv)operator(()ident(Qnil)operator(,) ident(argv)operator([)ident(i)operator(]\)\);) operator(}) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(env_select)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(result)operator(;) pre_type(char) operator(**)ident(env)operator(;) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) ident(result) operator(=) ident(rb_ary_new)operator((\);) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(VALUE) ident(k) operator(=) ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\);) ident(VALUE) ident(v) operator(=) ident(env_str_new2)operator(()ident(s)operator(+)integer(1)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield_values)operator(()integer(2)operator(,) ident(k)operator(,) ident(v)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_assoc_new)operator(()ident(k)operator(,) ident(v)operator(\)\);) operator(}) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(env_clear)operator((\)) operator({) directive(volatile) ident(VALUE) ident(keys)operator(;) pre_type(long) ident(i)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(keys) operator(=) ident(env_keys)operator((\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(keys)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(val) operator(=) ident(rb_f_getenv)operator(()ident(Qnil)operator(,) ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(env_delete)operator(()ident(Qnil)operator(,) ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) operator(}) reserved(return) ident(envtbl)operator(;) operator(}) directive(static) ident(VALUE) ident(env_to_s)operator((\)) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(env_inspect)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(VALUE) ident(i)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(env) operator(!=) ident(environ)operator(\)) operator({) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(s)operator(\)) operator({) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_buf_cat)operator(()ident(str)operator(,) operator(*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) ident(i) operator(=) ident(rb_inspect)operator(()ident(rb_str_new2)operator(()ident(s)operator(+)integer(1)operator(\)\);) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(i)operator(\);) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(env_to_a)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_assoc_new)operator(()ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\),) ident(env_str_new2)operator(()ident(s)operator(+)integer(1)operator(\)\)\);) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(ary)operator(;) operator(}) directive(static) ident(VALUE) ident(env_none)operator((\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(env_size)operator((\)) operator({) pre_type(int) ident(i)operator(;) pre_type(char) operator(**)ident(env)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(for)operator(()ident(i)operator(=)integer(0)operator(;) ident(env)operator([)ident(i)operator(];) ident(i)operator(++\)) operator(;) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(i)operator(\);) operator(}) directive(static) ident(VALUE) ident(env_empty_p)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(if) operator(()ident(env)operator([)integer(0)operator(]) operator(==) integer(0)operator(\)) operator({) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(Qtrue)operator(;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(env_has_key)operator(()ident(env)operator(,) ident(key)operator(\)) ident(VALUE) ident(env)operator(,) ident(key)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(;) ident(s) operator(=) ident(StringValuePtr)operator(()ident(key)operator(\);) reserved(if) operator(()ident(strlen)operator(()ident(s)operator(\)) operator(!=) ident(RSTRING)operator(()ident(key)operator(\)->)ident(len)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator(()ident(getenv)operator(()ident(s)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(env_has_value)operator(()ident(dmy)operator(,) ident(value)operator(\)) ident(VALUE) ident(dmy)operator(,) ident(value)operator(;) operator({) pre_type(char) operator(**)ident(env)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(value)operator(\)) operator(!=) ident(T_STRING)operator(\)) reserved(return) ident(Qfalse)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(++\)) operator({) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(s)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(value)operator(\)->)ident(len) operator(==) ident(len) operator(&&) ident(strncmp)operator(()ident(s)operator(,) ident(RSTRING)operator(()ident(value)operator(\)->)ident(ptr)operator(,) ident(len)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(env_index)operator(()ident(dmy)operator(,) ident(value)operator(\)) ident(VALUE) ident(dmy)operator(,) ident(value)operator(;) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(str)operator(;) ident(StringValue)operator(()ident(value)operator(\);) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(++\)) operator({) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(s)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(value)operator(\)->)ident(len) operator(==) ident(len) operator(&&) ident(strncmp)operator(()ident(s)operator(,) ident(RSTRING)operator(()ident(value)operator(\)->)ident(ptr)operator(,) ident(len)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(str) operator(=) ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(-)integer(1)operator(\);) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(str)operator(;) operator(}) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(env_indexes)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(VALUE) ident(indexes) operator(=) ident(rb_ary_new2)operator(()ident(argc)operator(\);) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(rb_frame_last_func)operator((\)\)\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(argc)operator(;)ident(i)operator(++\)) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(argv)operator([)ident(i)operator(]\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(RARRAY)operator(()ident(indexes)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(Qnil)operator(;) operator(}) reserved(else) operator({) ident(RARRAY)operator(()ident(indexes)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(env_str_new2)operator(()ident(getenv)operator(()ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(\)\);) operator(}) ident(RARRAY)operator(()ident(indexes)operator(\)->)ident(len) operator(=) ident(i)operator(+)integer(1)operator(;) operator(}) reserved(return) ident(indexes)operator(;) operator(}) directive(static) ident(VALUE) ident(env_to_hash)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(VALUE) ident(hash) operator(=) ident(rb_hash_new)operator((\);) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(while) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\),) ident(env_str_new2)operator(()ident(s)operator(+)integer(1)operator(\)\);) operator(}) ident(env)operator(++;) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(hash)operator(;) operator(}) directive(static) ident(VALUE) ident(env_reject)operator((\)) operator({) reserved(return) ident(rb_hash_delete_if)operator(()ident(env_to_hash)operator((\)\);) operator(}) directive(static) ident(VALUE) ident(env_shift)operator((\)) operator({) pre_type(char) operator(**)ident(env)operator(;) ident(env) operator(=) ident(GET_ENVIRON)operator(()ident(environ)operator(\);) reserved(if) operator((*)ident(env)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(strchr)operator((*)ident(env)operator(,) char('=')operator(\);) reserved(if) operator(()ident(s)operator(\)) operator({) ident(VALUE) ident(key) operator(=) ident(env_str_new)operator((*)ident(env)operator(,) ident(s)operator(-*)ident(env)operator(\);) ident(VALUE) ident(val) operator(=) ident(env_str_new2)operator(()ident(getenv)operator(()ident(RSTRING)operator(()ident(key)operator(\)->)ident(ptr)operator(\)\);) ident(env_delete)operator(()ident(Qnil)operator(,) ident(key)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(key)operator(,) ident(val)operator(\);) operator(}) operator(}) ident(FREE_ENVIRON)operator(()ident(environ)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(env_invert)operator((\)) operator({) reserved(return) ident(rb_hash_invert)operator(()ident(env_to_hash)operator((\)\);) operator(}) directive(static) pre_type(int) ident(env_replace_i)operator(()ident(key)operator(,) ident(val)operator(,) ident(keys)operator(\)) ident(VALUE) ident(key)operator(,) ident(val)operator(,) ident(keys)operator(;) operator({) reserved(if) operator(()ident(key) operator(!=) ident(Qundef)operator(\)) operator({) ident(env_aset)operator(()ident(Qnil)operator(,) ident(key)operator(,) ident(val)operator(\);) reserved(if) operator(()ident(rb_ary_includes)operator(()ident(keys)operator(,) ident(key)operator(\)\)) operator({) ident(rb_ary_delete)operator(()ident(keys)operator(,) ident(key)operator(\);) operator(}) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(env_replace)operator(()ident(env)operator(,) ident(hash)operator(\)) ident(VALUE) ident(env)operator(,) ident(hash)operator(;) operator({) directive(volatile) ident(VALUE) ident(keys) operator(=) ident(env_keys)operator((\);) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(env) operator(==) ident(hash)operator(\)) reserved(return) ident(env)operator(;) ident(hash) operator(=) ident(to_hash)operator(()ident(hash)operator(\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(env_replace_i)operator(,) ident(keys)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(keys)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(env_delete)operator(()ident(env)operator(,) ident(RARRAY)operator(()ident(keys)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(env)operator(;) operator(}) directive(static) pre_type(int) ident(env_update_i)operator(()ident(key)operator(,) ident(val)operator(\)) ident(VALUE) ident(key)operator(,) ident(val)operator(;) operator({) reserved(if) operator(()ident(key) operator(!=) ident(Qundef)operator(\)) operator({) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(val) operator(=) ident(rb_yield_values)operator(()integer(3)operator(,) ident(key)operator(,) ident(rb_f_getenv)operator(()ident(Qnil)operator(,) ident(key)operator(\),) ident(val)operator(\);) operator(}) ident(env_aset)operator(()ident(Qnil)operator(,) ident(key)operator(,) ident(val)operator(\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(env_update)operator(()ident(env)operator(,) ident(hash)operator(\)) ident(VALUE) ident(env)operator(,) ident(hash)operator(;) operator({) reserved(if) operator(()ident(env) operator(==) ident(hash)operator(\)) reserved(return) ident(env)operator(;) ident(hash) operator(=) ident(to_hash)operator(()ident(hash)operator(\);) ident(rb_hash_foreach)operator(()ident(hash)operator(,) ident(env_update_i)operator(,) integer(0)operator(\);) reserved(return) ident(env)operator(;) operator(}) comment(/* * A Hash is a collection of key-value pairs. It is * similar to an Array, except that indexing is done via * arbitrary keys of any object type, not an integer index. The order * in which you traverse a hash by either key or value may seem * arbitrary, and will generally not be in the insertion order. * * Hashes have a default value that is returned when accessing * keys that do not exist in the hash. By default, that value is * nil. * * Hash uses key.eql? to test keys for equality. * If you need to use instances of your own classes as keys in a Hash, * it is recommended that you define both the eql? and hash * methods. The hash method must have the property that * a.eql?(b\) implies a.hash == b.hash. * * class MyClass * attr_reader :str * def initialize(str\) * @str = str * end * def eql?(o\) * o.is_a?(MyClass\) && str == o.str * end * def hash * @str.hash * end * end * * a = MyClass.new("some string"\) * b = MyClass.new("some string"\) * a.eql? b #=> true * * h = {} * * h[a] = 1 * h[a] #=> 1 * h[b] #=> 1 * * h[b] = 2 * h[a] #=> 2 * h[b] #=> 2 */) directive(void) ident(Init_Hash)operator((\)) operator({) ident(id_hash) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_call) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_default) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_cHash) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cHash)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cHash)operator(,) ident(hash_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cHash)operator(,) stringoperator(,) ident(rb_hash_s_create)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_replace)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_rehash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_to_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_aref)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_fetch)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_aset)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_aset)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_default)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_set_default)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_default_proc)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_index)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_indexes)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_indexes)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_empty_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_each)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_each_value)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_each_key)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_each_pair)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_sort)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_keys)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_values)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_values_at)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_shift)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_delete)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_delete_if)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_select)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_reject)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_reject_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_clear)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_invert)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_update)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_replace)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_update)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_merge)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_has_key)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_has_key)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_has_key)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_has_value)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_has_key)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cHash)operator(,)stringoperator(,) ident(rb_hash_has_value)operator(,) integer(1)operator(\);) preprocessor(#ifndef) ident(__MACOS__) comment(/* environment variables nothing on MacOS. */) ident(origenviron) operator(=) ident(environ)operator(;) ident(envtbl) operator(=) ident(rb_obj_alloc)operator(()ident(rb_cObject)operator(\);) ident(rb_extend_object)operator(()ident(envtbl)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(rb_f_getenv)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_fetch)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_aset)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_aset)operator(,) integer(2)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_each)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_each_pair)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_each_key)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_each_value)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_delete_m)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_delete_if)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_clear)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_reject)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_reject_bang)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_select)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_shift)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_invert)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_replace)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_update)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_inspect)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_none)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_to_a)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_to_s)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_index)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_indexes)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_indexes)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_size)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_size)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_empty_p)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_keys)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_values)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_values_at)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_has_key)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_has_key)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_has_key)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_has_value)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_has_key)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_has_value)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(envtbl)operator(,)stringoperator(,) ident(env_to_hash)operator(,) integer(0)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(envtbl)operator(\);) preprocessor(#else) comment(/* __MACOS__ */) ident(envtbl) operator(=) ident(rb_hash_s_new)operator(()integer(0)operator(,) pre_constant(NULL)operator(,) ident(rb_cHash)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(envtbl)operator(\);) preprocessor(#endif) comment(/* ifndef __MACOS__ environment variables nothing on MacOS. */) operator(}) comment(/********************************************************************** inits.c - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Tue Dec 28 16:01:58 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") directive(void) ident(Init_Array) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Bignum) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Binding) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Comparable) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Dir) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Enumerable) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Exception) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_syserr) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_eval) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_load) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Proc) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Thread) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_File) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_GC) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Hash) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_IO) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Math) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_marshal) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Numeric) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Object) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_pack) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Precision) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_sym) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_process) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Random) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Range) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Regexp) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_signal) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_String) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Struct) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_Time) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_var_tables) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(Init_version) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_call_inits)operator((\)) operator({) ident(Init_sym)operator((\);) ident(Init_var_tables)operator((\);) ident(Init_Object)operator((\);) ident(Init_Comparable)operator((\);) ident(Init_Enumerable)operator((\);) ident(Init_Precision)operator((\);) ident(Init_eval)operator((\);) ident(Init_String)operator((\);) ident(Init_Exception)operator((\);) ident(Init_Thread)operator((\);) ident(Init_Numeric)operator((\);) ident(Init_Bignum)operator((\);) ident(Init_syserr)operator((\);) ident(Init_Array)operator((\);) ident(Init_Hash)operator((\);) ident(Init_Struct)operator((\);) ident(Init_Regexp)operator((\);) ident(Init_pack)operator((\);) ident(Init_Range)operator((\);) ident(Init_IO)operator((\);) ident(Init_Dir)operator((\);) ident(Init_Time)operator((\);) ident(Init_Random)operator((\);) ident(Init_signal)operator((\);) ident(Init_process)operator((\);) ident(Init_load)operator((\);) ident(Init_Proc)operator((\);) ident(Init_Binding)operator((\);) ident(Init_Math)operator((\);) ident(Init_GC)operator((\);) ident(Init_marshal)operator((\);) ident(Init_version)operator((\);) operator(}) comment(/********************************************************************** io.c - $Author: shyouhei $ $Date: 2009-03-09 01:52:15 +0100 (Mon, 09 Mar 2009\) $ created at: Fri Oct 15 18:08:59 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#define) ident(_XOPEN_SOURCE) preprocessor(#define) ident(_POSIX_C_SOURCE) integer(2) preprocessor(#endif) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubyio.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include("env.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(__BOW__)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__EMX__)operator(\)) operator(||) ident(defined)operator(()ident(__BEOS__)operator(\)) preprocessor(# define) ident(NO_SAFE_RENAME) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) preprocessor(# define) ident(NO_LONG_FNAME) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__FreeBSD__)operator(\)) operator(||) ident(defined)operator(()ident(__NetBSD__)operator(\)) operator(||) ident(defined)operator(()ident(__OpenBSD__)operator(\)) operator(||) ident(defined)operator(()ident(__DragonFly__)operator(\)) operator(||) ident(defined)operator(()ident(sun)operator(\)) operator(||) ident(defined)operator(()ident(_nec_ews)operator(\)) preprocessor(# define) ident(USE_SETVBUF) preprocessor(#endif) preprocessor(#ifdef) ident(__QNXNTO__) preprocessor(#include) include("unix.h") preprocessor(#endif) preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(HAVE_SYS_IOCTL_H)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(DJGPP)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__human68k__)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_FCNTL_H)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) preprocessor(#include) include() preprocessor(#elif) ident(defined)operator(()ident(HAVE_SYS_FCNTL_H)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) operator(!)ident(HAVE_OFF_T) operator(&&) operator(!)ident(defined)operator(()ident(off_t)operator(\)) preprocessor(# define) ident(off_t) pre_type(long) preprocessor(#endif) preprocessor(#if) operator(!)ident(HAVE_FSEEKO) operator(&&) operator(!)ident(defined)operator(()ident(fseeko)operator(\)) preprocessor(# define) ident(fseeko) ident(fseek) preprocessor(#endif) preprocessor(#if) operator(!)ident(HAVE_FTELLO) operator(&&) operator(!)ident(defined)operator(()ident(ftello)operator(\)) preprocessor(# define) ident(ftello) ident(ftell) preprocessor(#endif) preprocessor(#include) include() comment(/* EMX has sys/param.h, but.. */) preprocessor(#if) ident(defined)operator(()ident(HAVE_SYS_PARAM_H)operator(\)) operator(&&) operator(!()ident(defined)operator(()ident(__EMX__)operator(\)) operator(||) ident(defined)operator(()ident(__HIUX_MPP__)operator(\)\)) preprocessor(# include) include() preprocessor(#endif) preprocessor(#if) operator(!)ident(defined) ident(NOFILE) preprocessor(# define) ident(NOFILE) integer(64) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#ifdef) ident(HAVE_SYSCALL_H) preprocessor(#include) include() preprocessor(#elif) ident(defined) ident(HAVE_SYS_SYSCALL_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#endif) directive(extern) directive(void) ident(Init_File) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#ifdef) ident(__BEOS__) preprocessor(# ifndef) ident(NOFILE) preprocessor(# define) ident(NOFILE) operator(()ident(OPEN_MAX)operator(\)) preprocessor(# endif) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include("util.h") preprocessor(#ifndef) ident(O_ACCMODE) preprocessor(#define) ident(O_ACCMODE) operator(()ident(O_RDONLY) operator(|) ident(O_WRONLY) operator(|) ident(O_RDWR)operator(\)) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_OFF_T) operator(>) ident(SIZEOF_LONG) operator(&&) operator(!)ident(defined)operator(()ident(HAVE_LONG_LONG)operator(\)) preprocessor(# error) ident(off_t) ident(is) ident(bigger) ident(than) pre_type(long)operator(,) ident(but) ident(you) ident(have) ident(no) pre_type(long) pre_type(long)operator(.)operator(.)operator(.) preprocessor(#endif) preprocessor(#ifndef) ident(PIPE_BUF) preprocessor(# ifdef) ident(_POSIX_PIPE_BUF) preprocessor(# define) ident(PIPE_BUF) ident(_POSIX_PIPE_BUF) preprocessor(# else) preprocessor(# define) ident(PIPE_BUF) integer(512) comment(/* is this ok? */) preprocessor(# endif) preprocessor(#endif) ident(VALUE) ident(rb_cIO)operator(;) ident(VALUE) ident(rb_eEOFError)operator(;) ident(VALUE) ident(rb_eIOError)operator(;) ident(VALUE) ident(rb_stdin)operator(,) ident(rb_stdout)operator(,) ident(rb_stderr)operator(;) ident(VALUE) ident(rb_deferr)operator(;) comment(/* rescue VIM plugin */) directive(static) ident(VALUE) ident(orig_stdout)operator(,) ident(orig_stderr)operator(;) ident(VALUE) ident(rb_output_fs)operator(;) ident(VALUE) ident(rb_rs)operator(;) ident(VALUE) ident(rb_output_rs)operator(;) ident(VALUE) ident(rb_default_rs)operator(;) directive(static) ident(VALUE) ident(argf)operator(;) directive(static) ident(ID) ident(id_write)operator(,) ident(id_read)operator(,) ident(id_getc)operator(;) directive(extern) pre_type(char) operator(*)ident(ruby_inplace_mode)operator(;) reserved(struct) ident(timeval) ident(rb_time_interval) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(filename)operator(,) ident(current_file)operator(;) directive(static) pre_type(int) ident(gets_lineno)operator(;) directive(static) pre_type(int) ident(init_p) operator(=) integer(0)operator(,) ident(next_p) operator(=) integer(0)operator(;) directive(static) ident(VALUE) ident(lineno) operator(=) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#ifdef) ident(_STDIO_USES_IOSTREAM) comment(/* GNU libc */) preprocessor(# ifdef) ident(_IO_fpos_t) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(_IO_read_ptr) operator(!=) operator(()ident(fp)operator(\)->)ident(_IO_read_end)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(_IO_read_end) operator(-) operator(()ident(fp)operator(\)->)ident(_IO_read_ptr)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_PTR)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(_IO_read_ptr)operator(\)) preprocessor(# else) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(_gptr) operator(<) operator(()ident(fp)operator(\)->)ident(_egptr)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(_egptr) operator(-) operator(()ident(fp)operator(\)->)ident(_gptr)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_PTR)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(_gptr)operator(\)) preprocessor(# endif) preprocessor(#elif) ident(defined)operator(()ident(_LP64)operator(\)) operator(&&) operator(()ident(defined)operator(()ident(__sun__)operator(\)) operator(||) ident(defined)operator(()ident(__sun)operator(\)\)) reserved(typedef) reserved(struct) ident(_FILE64) operator({) pre_type(unsigned) pre_type(char) operator(*)ident(_ptr)operator(;) comment(/* next character from/to here in buffer */) pre_type(unsigned) pre_type(char) operator(*)ident(_base)operator(;) comment(/* the buffer */) pre_type(unsigned) pre_type(char) operator(*)ident(_end)operator(;) comment(/* the end of the buffer */) ident(ssize_t) ident(_cnt)operator(;) comment(/* number of available characters in buffer */) pre_type(int) ident(_file)operator(;) comment(/* UNIX System file descriptor */) pre_type(unsigned) pre_type(int) ident(_flag)operator(;) comment(/* the state of the stream */) pre_type(char) ident(__fill)operator([)integer(80)operator(];) comment(/* filler to bring size to 128 bytes */) operator(}) ident(FILE64)operator(;) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator(((()ident(FILE64)operator(*\)()ident(fp)operator(\)\)->)ident(_cnt) operator(>) integer(0)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator(((()ident(FILE64)operator(*\)()ident(fp)operator(\)\)->)ident(_cnt)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_PTR)operator(()ident(fp)operator(\)) operator((()pre_type(char) operator(*\)(()ident(FILE64)operator(*\)()ident(fp)operator(\)\)->)ident(_ptr)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(FILE_COUNT)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(FILE_COUNT) operator(>) integer(0)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(FILE_COUNT)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(FILE_READEND)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(FILE_READPTR) operator(<) operator(()ident(fp)operator(\)->)ident(FILE_READEND)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator((()ident(fp)operator(\)->)ident(FILE_READEND) operator(-) operator(()ident(fp)operator(\)->)ident(FILE_READPTR)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(__BEOS__)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator(()ident(fp)operator(->)ident(_state)operator(.)ident(_eof) operator(==) integer(0)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator((()pre_type(unsigned) pre_type(int)operator(\)(*()ident(fp)operator(\)\)->)ident(_cnt)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator(((()pre_type(unsigned) pre_type(int)operator(\)(*()ident(fp)operator(\)\)->)ident(_cnt)operator(\)) operator(>) integer(0)operator(\)) preprocessor(# define) ident(READ_DATA_BUFFERED)operator(()ident(fp)operator(\)) integer(0) preprocessor(#elif) ident(defined)operator(()ident(__DragonFly__)operator(\)) comment(/* FILE is an incomplete struct type since DragonFly BSD 1.4.0 */) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator(((()reserved(struct) ident(__FILE_public) operator(*\)()ident(fp)operator(\)\)->)ident(_r) operator(>) integer(0)operator(\)) preprocessor(# define) ident(READ_DATA_PENDING_COUNT)operator(()ident(fp)operator(\)) operator(((()reserved(struct) ident(__FILE_public) operator(*\)()ident(fp)operator(\)\)->)ident(_r)operator(\)) preprocessor(#else) comment(/* requires systems own version of the ReadDataPending(\) */) directive(extern) pre_type(int) ident(ReadDataPending)operator((\);) preprocessor(# define) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) operator((!)ident(feof)operator(()ident(fp)operator(\)\)) preprocessor(# define) ident(READ_DATA_BUFFERED)operator(()ident(fp)operator(\)) integer(0) preprocessor(#endif) preprocessor(#ifndef) ident(READ_DATA_BUFFERED) preprocessor(# define) ident(READ_DATA_BUFFERED)operator(()ident(fp)operator(\)) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(READ_DATA_PENDING_PTR) preprocessor(# ifdef) ident(FILE_READPTR) preprocessor(# define) ident(READ_DATA_PENDING_PTR)operator(()ident(fp)operator(\)) operator((()pre_type(char) operator(*\)()ident(fp)operator(\)->)ident(FILE_READPTR)operator(\)) preprocessor(# endif) preprocessor(#endif) preprocessor(#if) ident(defined) ident(__DJGPP__) preprocessor(# undef) ident(READ_DATA_PENDING_COUNT) preprocessor(# undef) ident(READ_DATA_PENDING_PTR) preprocessor(#endif) preprocessor(#define) ident(READ_CHECK)operator(()ident(fp)operator(\)) reserved(do) operator({)\ reserved(if) operator((!)ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)\)) operator({)\ ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(fp)operator(\)\);)\ ident(rb_io_check_closed)operator(()ident(fptr)operator(\);)\ operator(})\ operator(}) reserved(while)operator(()integer(0)operator(\)) directive(void) ident(rb_eof_error)operator((\)) operator({) ident(rb_raise)operator(()ident(rb_eEOFError)operator(,) stringoperator(\);) operator(}) ident(VALUE) ident(rb_io_taint_check)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(io)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) ident(rb_check_frozen)operator(()ident(io)operator(\);) reserved(return) ident(io)operator(;) operator(}) directive(void) ident(rb_io_check_initialized)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(if) operator((!)ident(fptr)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) operator(}) directive(void) ident(rb_io_check_closed)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) ident(rb_io_check_initialized)operator(()ident(fptr)operator(\);) reserved(if) operator((!)ident(fptr)operator(->)ident(f) operator(&&) operator(!)ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) operator(}) directive(static) directive(void) ident(io_fflush) ident(_)operator((()ident(FILE) operator(*,) ident(OpenFile) operator(*\)\);) directive(static) ident(OpenFile) operator(*) ident(flush_before_seek)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WBUF)operator(\)) operator({) ident(io_fflush)operator(()ident(GetWriteFile)operator(()ident(fptr)operator(\),) ident(fptr)operator(\);) operator(}) ident(errno) operator(=) integer(0)operator(;) reserved(return) ident(fptr)operator(;) operator(}) preprocessor(#define) ident(io_seek)operator(()ident(fptr)operator(,) ident(ofs)operator(,) ident(whence)operator(\)) ident(fseeko)operator(()ident(flush_before_seek)operator(()ident(fptr)operator(\)->)ident(f)operator(,) ident(ofs)operator(,) ident(whence)operator(\)) preprocessor(#define) ident(io_tell)operator(()ident(fptr)operator(\)) ident(ftello)operator(()ident(flush_before_seek)operator(()ident(fptr)operator(\)->)ident(f)operator(\)) preprocessor(#ifndef) ident(SEEK_CUR) preprocessor(# define) ident(SEEK_SET) integer(0) preprocessor(# define) ident(SEEK_CUR) integer(1) preprocessor(# define) ident(SEEK_END) integer(2) preprocessor(#endif) preprocessor(#define) ident(FMODE_SYNCWRITE) operator(()ident(FMODE_SYNC)operator(|)ident(FMODE_WRITABLE)operator(\)) directive(void) ident(rb_io_check_readable)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) reserved(if) operator((!()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_READABLE)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) preprocessor(#ifdef) ident(NEED_IO_SEEK_BETWEEN_RW) reserved(if) operator(((()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WBUF)operator(\)) operator(||) operator(()ident(fptr)operator(->)ident(mode) operator(&) operator(()ident(FMODE_SYNCWRITE)operator(|)ident(FMODE_RBUF)operator(\)\)) operator(==) ident(FMODE_SYNCWRITE)operator(\)) operator(&&) operator(!)ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)) operator(&&) operator(!)ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(io_seek)operator(()ident(fptr)operator(,) integer(0)operator(,) ident(SEEK_CUR)operator(\);) operator(}) preprocessor(#endif) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_RBUF)operator(;) operator(}) directive(void) ident(rb_io_check_writable)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) reserved(if) operator((!()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_RBUF)operator(\)) operator(&&) operator(!)ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)) operator(&&) operator(!)ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(io_seek)operator(()ident(fptr)operator(,) integer(0)operator(,) ident(SEEK_CUR)operator(\);) operator(}) reserved(if) operator((!)ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(fptr)operator(->)ident(mode) operator(&=) operator(~)ident(FMODE_RBUF)operator(;) operator(}) operator(}) pre_type(int) ident(rb_read_pending)operator(()ident(fp)operator(\)) ident(FILE) operator(*)ident(fp)operator(;) operator({) reserved(return) ident(READ_DATA_PENDING)operator(()ident(fp)operator(\);) operator(}) directive(void) ident(rb_read_check)operator(()ident(fp)operator(\)) ident(FILE) operator(*)ident(fp)operator(;) operator({) reserved(if) operator((!)ident(READ_DATA_PENDING)operator(()ident(fp)operator(\)\)) operator({) ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(fp)operator(\)\);) operator(}) operator(}) directive(static) pre_type(int) ident(ruby_dup)operator(()ident(orig)operator(\)) pre_type(int) ident(orig)operator(;) operator({) pre_type(int) ident(fd)operator(;) ident(fd) operator(=) ident(dup)operator(()ident(orig)operator(\);) reserved(if) operator(()ident(fd) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EMFILE) operator(||) ident(errno) operator(==) ident(ENFILE) operator(||) ident(errno) operator(==) ident(ENOMEM)operator(\)) operator({) ident(rb_gc)operator((\);) ident(fd) operator(=) ident(dup)operator(()ident(orig)operator(\);) operator(}) reserved(if) operator(()ident(fd) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) operator(}) reserved(return) ident(fd)operator(;) operator(}) directive(static) ident(VALUE) ident(io_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(io_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(io)operator(,) reserved(struct) ident(RFile)operator(\);) ident(OBJSETUP)operator(()ident(io)operator(,) ident(klass)operator(,) ident(T_FILE)operator(\);) ident(io)operator(->)ident(fptr) operator(=) integer(0)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(io)operator(;) operator(}) directive(static) directive(void) ident(io_fflush)operator(()ident(f)operator(,) ident(fptr)operator(\)) ident(FILE) operator(*)ident(f)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) pre_type(int) ident(n)operator(;) reserved(if) operator((!)ident(rb_thread_fd_writable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) operator(}) reserved(for) operator((;;\)) operator({) ident(TRAP_BEG)operator(;) ident(n) operator(=) ident(fflush)operator(()ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(n) operator(!=) pre_constant(EOF)operator(\)) reserved(break)operator(;) reserved(if) operator((!)ident(rb_io_wait_writable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) ident(fptr)operator(->)ident(mode) operator(&=) operator(~)ident(FMODE_WBUF)operator(;) operator(}) pre_type(int) ident(rb_io_wait_readable)operator(()ident(f)operator(\)) pre_type(int) ident(f)operator(;) operator({) ident(fd_set) ident(rfds)operator(;) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EINTR)operator(:) preprocessor(#if) ident(defined)operator(()ident(ERESTART)operator(\)) reserved(case) ident(ERESTART)operator(:) preprocessor(#endif) ident(rb_thread_wait_fd)operator(()ident(f)operator(\);) reserved(return) ident(Qtrue)operator(;) reserved(case) ident(EAGAIN)operator(:) preprocessor(#if) ident(defined)operator(()ident(EWOULDBLOCK)operator(\)) operator(&&) ident(EWOULDBLOCK) operator(!=) ident(EAGAIN) reserved(case) ident(EWOULDBLOCK)operator(:) preprocessor(#endif) ident(FD_ZERO)operator((&)ident(rfds)operator(\);) ident(FD_SET)operator(()ident(f)operator(,) operator(&)ident(rfds)operator(\);) ident(rb_thread_select)operator(()ident(f) operator(+) integer(1)operator(,) operator(&)ident(rfds)operator(,) pre_constant(NULL)operator(,) pre_constant(NULL)operator(,) pre_constant(NULL)operator(\);) reserved(return) ident(Qtrue)operator(;) reserved(default)operator(:) reserved(return) ident(Qfalse)operator(;) operator(}) operator(}) pre_type(int) ident(rb_io_wait_writable)operator(()ident(f)operator(\)) pre_type(int) ident(f)operator(;) operator({) ident(fd_set) ident(wfds)operator(;) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EINTR)operator(:) preprocessor(#if) ident(defined)operator(()ident(ERESTART)operator(\)) reserved(case) ident(ERESTART)operator(:) preprocessor(#endif) ident(rb_thread_fd_writable)operator(()ident(f)operator(\);) reserved(return) ident(Qtrue)operator(;) reserved(case) ident(EAGAIN)operator(:) preprocessor(#if) ident(defined)operator(()ident(EWOULDBLOCK)operator(\)) operator(&&) ident(EWOULDBLOCK) operator(!=) ident(EAGAIN) reserved(case) ident(EWOULDBLOCK)operator(:) preprocessor(#endif) ident(FD_ZERO)operator((&)ident(wfds)operator(\);) ident(FD_SET)operator(()ident(f)operator(,) operator(&)ident(wfds)operator(\);) ident(rb_thread_select)operator(()ident(f) operator(+) integer(1)operator(,) pre_constant(NULL)operator(,) operator(&)ident(wfds)operator(,) pre_constant(NULL)operator(,) pre_constant(NULL)operator(\);) reserved(return) ident(Qtrue)operator(;) reserved(default)operator(:) reserved(return) ident(Qfalse)operator(;) operator(}) operator(}) preprocessor(#ifndef) ident(S_ISREG) preprocessor(# define) ident(S_ISREG)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFREG)operator(\)) preprocessor(#endif) directive(static) pre_type(int) ident(wsplit_p)operator(()ident(OpenFile) operator(*)ident(fptr)operator(\)) operator({) ident(FILE) operator(*)ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) pre_type(int) ident(r)operator(;) reserved(if) operator((!()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WSPLIT_INITIALIZED)operator(\)\)) operator({) reserved(struct) ident(stat) ident(buf)operator(;) reserved(if) operator(()ident(fstat)operator(()ident(fileno)operator(()ident(f)operator(\),) operator(&)ident(buf)operator(\)) operator(==) integer(0) operator(&&) operator(!)ident(S_ISREG)operator(()ident(buf)operator(.)ident(st_mode)operator(\)) preprocessor(#if) ident(defined)operator(()ident(HAVE_FCNTL)operator(\)) operator(&&) ident(defined)operator(()ident(F_GETFL)operator(\)) operator(&&) ident(defined)operator(()ident(O_NONBLOCK)operator(\)) operator(&&) operator(()ident(r) operator(=) ident(fcntl)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(F_GETFL)operator(\)\)) operator(!=) operator(-)integer(1) operator(&&) operator(!()ident(r) operator(&) ident(O_NONBLOCK)operator(\)) preprocessor(#endif) operator(\)) operator({) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_WSPLIT)operator(;) operator(}) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_WSPLIT_INITIALIZED)operator(;) operator(}) reserved(return) ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WSPLIT)operator(;) operator(}) comment(/* writing functions */) directive(static) pre_type(long) ident(io_fwrite)operator(()ident(str)operator(,) ident(fptr)operator(\)) ident(VALUE) ident(str)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) pre_type(long) ident(len)operator(,) ident(n)operator(,) ident(r)operator(,) ident(l)operator(,) ident(offset) operator(=) integer(0)operator(;) ident(FILE) operator(*)ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator((()ident(n) operator(=) ident(len)operator(\)) operator(<=) integer(0)operator(\)) reserved(return) ident(n)operator(;) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_SYNC)operator(\)) operator({) ident(io_fflush)operator(()ident(f)operator(,) ident(fptr)operator(\);) reserved(if) operator((!)ident(rb_thread_fd_writable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) operator(}) label(retry:) ident(l) operator(=) ident(n)operator(;) reserved(if) operator(()ident(PIPE_BUF) operator(<) ident(l) operator(&&) operator(!)ident(rb_thread_critical) operator(&&) operator(!)ident(rb_thread_alone)operator((\)) operator(&&) ident(wsplit_p)operator(()ident(fptr)operator(\)\)) operator({) ident(l) operator(=) ident(PIPE_BUF)operator(;) operator(}) ident(TRAP_BEG)operator(;) ident(r) operator(=) ident(write)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(offset)operator(,) ident(l)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(r) operator(==) ident(n)operator(\)) reserved(return) ident(len)operator(;) reserved(if) operator(()integer(0) operator(<=) ident(r)operator(\)) operator({) ident(offset) operator(+=) ident(r)operator(;) ident(n) operator(-=) ident(r)operator(;) ident(errno) operator(=) ident(EAGAIN)operator(;) operator(}) reserved(if) operator(()ident(rb_io_wait_writable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(offset) operator(<) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) operator(-)integer(1L)operator(;) operator(}) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__vms)operator(\)) reserved(do) operator({) reserved(if) operator(()ident(fputc)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(offset)operator(++],) ident(f)operator(\)) operator(==) pre_constant(EOF)operator(\)) operator({) reserved(if) operator(()ident(ferror)operator(()ident(f)operator(\)\)) reserved(return) operator(-)integer(1L)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(while) operator((--)ident(n) operator(>) integer(0)operator(\);) preprocessor(#else) reserved(while) operator(()ident(errno) operator(=) integer(0)operator(,) ident(offset) operator(+=) operator(()ident(r) operator(=) ident(fwrite)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(offset)operator(,) integer(1)operator(,) ident(n)operator(,) ident(f)operator(\)\),) operator(()ident(n) operator(-=) ident(r)operator(\)) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(ferror)operator(()ident(f)operator(\)) preprocessor(#if) ident(defined) ident(__BORLANDC__) operator(||) ident(errno) preprocessor(#endif) operator(\)) operator({) preprocessor(#ifdef) ident(__hpux) reserved(if) operator((!)ident(errno)operator(\)) ident(errno) operator(=) ident(EAGAIN)operator(;) preprocessor(#elif) ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__BORLANDC__)operator(\)) comment(/* workaround for MSVCRT's bug */) reserved(if) operator((!)ident(errno)operator(\)) operator({) reserved(if) operator(()ident(GetLastError)operator((\)) operator(==) ident(ERROR_NO_DATA)operator(\)) ident(errno) operator(=) ident(EPIPE)operator(;) reserved(else) ident(errno) operator(=) ident(EBADF)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(rb_io_wait_writable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) ident(clearerr)operator(()ident(f)operator(\);) reserved(if) operator(()ident(offset) operator(<) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) reserved(continue)operator(;) operator(}) reserved(return) operator(-)integer(1L)operator(;) operator(}) operator(}) preprocessor(#endif) reserved(return) ident(len) operator(-) ident(n)operator(;) operator(}) pre_type(long) ident(rb_io_fwrite)operator(()ident(ptr)operator(,) ident(len)operator(,) ident(f)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) ident(FILE) operator(*)ident(f)operator(;) operator({) ident(OpenFile) ident(of)operator(;) ident(of)operator(.)ident(f) operator(=) ident(f)operator(;) ident(of)operator(.)ident(f2) operator(=) pre_constant(NULL)operator(;) ident(of)operator(.)ident(mode) operator(=) ident(FMODE_WRITABLE)operator(;) ident(of)operator(.)ident(path) operator(=) pre_constant(NULL)operator(;) reserved(return) ident(io_fwrite)operator(()ident(rb_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\),) operator(&)ident(of)operator(\);) operator(}) comment(/* * call-seq: * ios.write(string\) => integer * * Writes the given string to ios. The stream must be opened * for writing. If the argument is not a string, it will be converted * to a string using to_s. Returns the number of bytes * written. * * count = $stdout.write( "This is a test\\n" \) * puts "That was #{count} bytes of data" * * produces: * * This is a test * That was 15 bytes of data */) directive(static) ident(VALUE) ident(io_write)operator(()ident(io)operator(,) ident(str)operator(\)) ident(VALUE) ident(io)operator(,) ident(str)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(str)operator(\)) operator(!=) ident(T_STRING)operator(\)) ident(str) operator(=) ident(rb_obj_as_string)operator(()ident(str)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(io)operator(\)) operator(!=) ident(T_FILE)operator(\)) operator({) comment(/* port is not IO, call write method for it. */) reserved(return) ident(rb_funcall)operator(()ident(io)operator(,) ident(id_write)operator(,) integer(1)operator(,) ident(str)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_writable)operator(()ident(fptr)operator(\);) ident(n) operator(=) ident(io_fwrite)operator(()ident(str)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(n) operator(==) operator(-)integer(1L)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(if) operator((!()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_SYNC)operator(\)\)) operator({) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_WBUF)operator(;) operator(}) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) ident(VALUE) ident(rb_io_write)operator(()ident(io)operator(,) ident(str)operator(\)) ident(VALUE) ident(io)operator(,) ident(str)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(io)operator(,) ident(id_write)operator(,) integer(1)operator(,) ident(str)operator(\);) operator(}) comment(/* * call-seq: * ios << obj => ios * * String Output---Writes obj to ios. * obj will be converted to a string using * to_s. * * $stdout << "Hello " << "world!\\n" * * produces: * * Hello world! */) ident(VALUE) ident(rb_io_addstr)operator(()ident(io)operator(,) ident(str)operator(\)) ident(VALUE) ident(io)operator(,) ident(str)operator(;) operator({) ident(rb_io_write)operator(()ident(io)operator(,) ident(str)operator(\);) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * ios.flush => ios * * Flushes any buffered data within ios to the underlying * operating system (note that this is Ruby internal buffering only; * the OS may buffer the data as well\). * * $stdout.print "no newline" * $stdout.flush * * produces: * * no newline */) directive(static) ident(VALUE) ident(rb_io_flush)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_writable)operator(()ident(fptr)operator(\);) ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) ident(io_fflush)operator(()ident(f)operator(,) ident(fptr)operator(\);) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * ios.pos => integer * ios.tell => integer * * Returns the current offset (in bytes\) of ios. * * f = File.new("testfile"\) * f.pos #=> 0 * f.gets #=> "This is line one\\n" * f.pos #=> 17 */) directive(static) ident(VALUE) ident(rb_io_tell)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(off_t) ident(pos)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(pos) operator(=) ident(io_tell)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(pos) operator(<) integer(0) operator(&&) ident(errno)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(OFFT2NUM)operator(()ident(pos)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_io_seek)operator(()ident(io)operator(,) ident(offset)operator(,) ident(whence)operator(\)) ident(VALUE) ident(io)operator(,) ident(offset)operator(;) pre_type(int) ident(whence)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(off_t) ident(pos)operator(;) ident(pos) operator(=) ident(NUM2OFFT)operator(()ident(offset)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(pos) operator(=) ident(io_seek)operator(()ident(fptr)operator(,) ident(pos)operator(,) ident(whence)operator(\);) reserved(if) operator(()ident(pos) operator(<) integer(0) operator(&&) ident(errno)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * ios.seek(amount, whence=SEEK_SET\) -> 0 * * Seeks to a given offset anInteger in the stream according to * the value of whence: * * IO::SEEK_CUR | Seeks to _amount_ plus current position * --------------+---------------------------------------------------- * IO::SEEK_END | Seeks to _amount_ plus end of stream (you probably * | want a negative value for _amount_\) * --------------+---------------------------------------------------- * IO::SEEK_SET | Seeks to the absolute location given by _amount_ * * Example: * * f = File.new("testfile"\) * f.seek(-13, IO::SEEK_END\) #=> 0 * f.readline #=> "And so on...\\n" */) directive(static) ident(VALUE) ident(rb_io_seek_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(offset)operator(,) ident(ptrname)operator(;) pre_type(int) ident(whence) operator(=) ident(SEEK_SET)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(offset)operator(,) operator(&)ident(ptrname)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(whence) operator(=) ident(NUM2INT)operator(()ident(ptrname)operator(\);) operator(}) reserved(return) ident(rb_io_seek)operator(()ident(io)operator(,) ident(offset)operator(,) ident(whence)operator(\);) operator(}) comment(/* * call-seq: * ios.pos = integer => integer * * Seeks to the given position (in bytes\) in ios. * * f = File.new("testfile"\) * f.pos = 17 * f.gets #=> "This is line two\\n" */) directive(static) ident(VALUE) ident(rb_io_set_pos)operator(()ident(io)operator(,) ident(offset)operator(\)) ident(VALUE) ident(io)operator(,) ident(offset)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(off_t) ident(pos)operator(;) ident(pos) operator(=) ident(NUM2OFFT)operator(()ident(offset)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(pos) operator(=) ident(io_seek)operator(()ident(fptr)operator(,) ident(pos)operator(,) ident(SEEK_SET)operator(\);) reserved(if) operator(()ident(pos) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(return) ident(OFFT2NUM)operator(()ident(pos)operator(\);) operator(}) comment(/* * call-seq: * ios.rewind => 0 * * Positions ios to the beginning of input, resetting * lineno to zero. * * f = File.new("testfile"\) * f.readline #=> "This is line one\\n" * f.rewind #=> 0 * f.lineno #=> 0 * f.readline #=> "This is line one\\n" */) directive(static) ident(VALUE) ident(rb_io_rewind)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(io_seek)operator(()ident(fptr)operator(,) integer(0L)operator(,) integer(0)operator(\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(io) operator(==) ident(current_file)operator(\)) operator({) ident(gets_lineno) operator(-=) ident(fptr)operator(->)ident(lineno)operator(;) operator(}) ident(fptr)operator(->)ident(lineno) operator(=) integer(0)operator(;) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * ios.eof => true or false * ios.eof? => true or false * * Returns true if ios is at end of file that means * there are no more data to read. * The stream must be opened for reading or an IOError will be * raised. * * f = File.new("testfile"\) * dummy = f.readlines * f.eof #=> true * * If ios is a stream such as pipe or socket, IO#eof? * blocks until the other end sends some data or closes it. * * r, w = IO.pipe * Thread.new { sleep 1; w.close } * r.eof? #=> true after 1 second blocking * * r, w = IO.pipe * Thread.new { sleep 1; w.puts "a" } * r.eof? #=> false after 1 second blocking * * r, w = IO.pipe * r.eof? # blocks forever * * Note that IO#eof? reads data to a input buffer. * So IO#sysread doesn't work with IO#eof?. */) ident(VALUE) ident(rb_io_eof)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(ch)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(READ_DATA_PENDING)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(READ_CHECK)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(ch) operator(=) ident(getc)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(ch) operator(!=) pre_constant(EOF)operator(\)) operator({) ident(ungetc)operator(()ident(ch)operator(,) ident(fptr)operator(->)ident(f)operator(\);) reserved(return) ident(Qfalse)operator(;) operator(}) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * ios.sync => true or false * * Returns the current ``sync mode'' of ios. When sync mode is * true, all output is immediately flushed to the underlying operating * system and is not buffered by Ruby internally. See also * IO#fsync. * * f = File.new("testfile"\) * f.sync #=> false */) directive(static) ident(VALUE) ident(rb_io_sync)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(return) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_SYNC)operator(\)) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * ios.sync = boolean => boolean * * Sets the ``sync mode'' to true or false. * When sync mode is true, all output is immediately flushed to the * underlying operating system and is not buffered internally. Returns * the new state. See also IO#fsync. * * f = File.new("testfile"\) * f.sync = true * * (produces no output\) */) directive(static) ident(VALUE) ident(rb_io_set_sync)operator(()ident(io)operator(,) ident(mode)operator(\)) ident(VALUE) ident(io)operator(,) ident(mode)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(mode)operator(\)\)) operator({) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_SYNC)operator(;) operator(}) reserved(else) operator({) ident(fptr)operator(->)ident(mode) operator(&=) operator(~)ident(FMODE_SYNC)operator(;) operator(}) reserved(return) ident(mode)operator(;) operator(}) comment(/* * call-seq: * ios.fsync => 0 or nil * * Immediately writes all buffered data in ios to disk. * Returns nil if the underlying operating system does not * support fsync(2\). Note that fsync differs from * using IO#sync=. The latter ensures that data is flushed * from Ruby's buffers, but doesn't not guarantee that the underlying * operating system actually writes it to disk. */) directive(static) ident(VALUE) ident(rb_io_fsync)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_FSYNC) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) ident(io_fflush)operator(()ident(f)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fsync)operator(()ident(fileno)operator(()ident(f)operator(\)\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * ios.fileno => fixnum * ios.to_i => fixnum * * Returns an integer representing the numeric file descriptor for * ios. * * $stdin.fileno #=> 0 * $stdout.fileno #=> 1 */) directive(static) ident(VALUE) ident(rb_io_fileno)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(fd)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(fd) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(fd)operator(\);) operator(}) comment(/* * call-seq: * ios.pid => fixnum * * Returns the process ID of a child process associated with * ios. This will be set by IO::popen. * * pipe = IO.popen("-"\) * if pipe * $stderr.puts "In parent, child pid is #{pipe.pid}" * else * $stderr.puts "In child, pid is #{$$}" * end * * produces: * * In child, pid is 26209 * In parent, child pid is 26209 */) directive(static) ident(VALUE) ident(rb_io_pid)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator((!)ident(fptr)operator(->)ident(pid)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(INT2FIX)operator(()ident(fptr)operator(->)ident(pid)operator(\);) operator(}) comment(/* * call-seq: * ios.inspect => string * * Return a string describing this IO object. */) directive(static) ident(VALUE) ident(rb_io_inspect)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(char) operator(*)ident(buf)operator(,) operator(*)ident(cname)operator(,) operator(*)ident(st) operator(=) stringoperator(;) pre_type(long) ident(len)operator(;) ident(fptr) operator(=) ident(RFILE)operator(()ident(rb_io_taint_check)operator(()ident(obj)operator(\)\)->)ident(fptr)operator(;) reserved(if) operator((!)ident(fptr) operator(||) operator(!)ident(fptr)operator(->)ident(path)operator(\)) reserved(return) ident(rb_any_to_s)operator(()ident(obj)operator(\);) ident(cname) operator(=) ident(rb_obj_classname)operator(()ident(obj)operator(\);) ident(len) operator(=) ident(strlen)operator(()ident(cname)operator(\)) operator(+) ident(strlen)operator(()ident(fptr)operator(->)ident(path)operator(\)) operator(+) integer(5)operator(;) reserved(if) operator((!()ident(fptr)operator(->)ident(f) operator(||) ident(fptr)operator(->)ident(f2)operator(\)\)) operator({) ident(st) operator(=) stringoperator(;) ident(len) operator(+=) integer(9)operator(;) operator(}) ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(buf)operator(,) ident(len)operator(,) string)delimiter(")>operator(,) ident(cname)operator(,) ident(fptr)operator(->)ident(path)operator(,) ident(st)operator(\);) reserved(return) ident(rb_str_new2)operator(()ident(buf)operator(\);) operator(}) comment(/* * call-seq: * ios.to_io -> ios * * Returns ios. */) directive(static) ident(VALUE) ident(rb_io_to_io)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(return) ident(io)operator(;) operator(}) comment(/* reading functions */) directive(static) pre_type(long) ident(read_buffered_data)operator(()ident(ptr)operator(,) ident(len)operator(,) ident(f)operator(\)) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) ident(FILE) operator(*)ident(f)operator(;) operator({) pre_type(long) ident(n)operator(;) preprocessor(#ifdef) ident(READ_DATA_PENDING_COUNT) ident(n) operator(=) ident(READ_DATA_PENDING_COUNT)operator(()ident(f)operator(\);) reserved(if) operator(()ident(n) operator(<=) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(n) operator(>) ident(len)operator(\)) ident(n) operator(=) ident(len)operator(;) reserved(return) ident(fread)operator(()ident(ptr)operator(,) integer(1)operator(,) ident(n)operator(,) ident(f)operator(\);) preprocessor(#else) pre_type(int) ident(c)operator(;) reserved(for) operator(()ident(n) operator(=) integer(0)operator(;) ident(n) operator(<) ident(len) operator(&&) ident(READ_DATA_PENDING)operator(()ident(f)operator(\)) operator(&&) operator(()ident(c) operator(=) ident(getc)operator(()ident(f)operator(\)\)) operator(!=) pre_constant(EOF)operator(;) operator(++)ident(n)operator(\)) operator({) operator(*)ident(ptr)operator(++) operator(=) ident(c)operator(;) operator(}) reserved(return) ident(n)operator(;) preprocessor(#endif) operator(}) directive(static) pre_type(long) ident(io_fread)operator(()ident(ptr)operator(,) ident(len)operator(,) ident(fptr)operator(\)) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) pre_type(long) ident(n) operator(=) ident(len)operator(;) pre_type(int) ident(c)operator(;) pre_type(int) ident(saved_errno)operator(;) reserved(while) operator(()ident(n) operator(>) integer(0)operator(\)) operator({) ident(c) operator(=) ident(read_buffered_data)operator(()ident(ptr)operator(,) ident(n)operator(,) ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(c) operator(<) integer(0)operator(\)) reserved(goto) ident(eof)operator(;) reserved(if) operator(()ident(c) operator(>) integer(0)operator(\)) operator({) ident(ptr) operator(+=) ident(c)operator(;) reserved(if) operator((()ident(n) operator(-=) ident(c)operator(\)) operator(<=) integer(0)operator(\)) reserved(break)operator(;) operator(}) ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\);) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(c) operator(=) ident(getc)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(c) operator(==) pre_constant(EOF)operator(\)) operator({) label(eof:) reserved(if) operator(()ident(ferror)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) operator({) reserved(switch) operator(()ident(errno)operator(\)) operator({) reserved(case) ident(EINTR)operator(:) preprocessor(#if) ident(defined)operator(()ident(ERESTART)operator(\)) reserved(case) ident(ERESTART)operator(:) preprocessor(#endif) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(continue)operator(;) reserved(case) ident(EAGAIN)operator(:) preprocessor(#if) ident(defined)operator(()ident(EWOULDBLOCK)operator(\)) operator(&&) ident(EWOULDBLOCK) operator(!=) ident(EAGAIN) reserved(case) ident(EWOULDBLOCK)operator(:) preprocessor(#endif) reserved(if) operator(()ident(len) operator(>) ident(n)operator(\)) operator({) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) operator(}) ident(saved_errno) operator(=) ident(errno)operator(;) ident(rb_warning)operator(()stringoperator(\);) ident(errno) operator(=) ident(saved_errno)operator(;) operator(}) reserved(if) operator(()ident(len) operator(==) ident(n)operator(\)) reserved(return) integer(0)operator(;) operator(}) reserved(break)operator(;) operator(}) operator(*)ident(ptr)operator(++) operator(=) ident(c)operator(;) ident(n)operator(--;) operator(}) reserved(return) ident(len) operator(-) ident(n)operator(;) operator(}) pre_type(long) ident(rb_io_fread)operator(()ident(ptr)operator(,) ident(len)operator(,) ident(f)operator(\)) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) ident(FILE) operator(*)ident(f)operator(;) operator({) ident(OpenFile) ident(of)operator(;) ident(of)operator(.)ident(f) operator(=) ident(f)operator(;) ident(of)operator(.)ident(f2) operator(=) pre_constant(NULL)operator(;) reserved(return) ident(io_fread)operator(()ident(ptr)operator(,) ident(len)operator(,) operator(&)ident(of)operator(\);) operator(}) preprocessor(#define) ident(SMALLBUF) integer(100) directive(static) pre_type(long) ident(remain_size)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(struct) ident(stat) ident(st)operator(;) ident(off_t) ident(siz) operator(=) ident(BUFSIZ)operator(;) ident(off_t) ident(pos)operator(;) reserved(if) operator(()ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(fstat)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(st)operator(\)) operator(==) integer(0) operator(&&) ident(S_ISREG)operator(()ident(st)operator(.)ident(st_mode)operator(\)) preprocessor(#ifdef) ident(__BEOS__) operator(&&) operator(()ident(st)operator(.)ident(st_dev) operator(>) integer(3)operator(\)) preprocessor(#endif) operator(\)) operator({) ident(pos) operator(=) ident(io_tell)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(st)operator(.)ident(st_size) operator(>=) ident(pos) operator(&&) ident(pos) operator(>=) integer(0)operator(\)) operator({) ident(siz) operator(=) ident(st)operator(.)ident(st_size) operator(-) ident(pos) operator(+) integer(1)operator(;) reserved(if) operator(()ident(siz) operator(>) ident(LONG_MAX)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) operator(}) operator(}) reserved(return) operator(()pre_type(long)operator(\))ident(siz)operator(;) operator(}) directive(static) ident(VALUE) ident(read_all)operator(()ident(fptr)operator(,) ident(siz)operator(,) ident(str)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(long) ident(siz)operator(;) ident(VALUE) ident(str)operator(;) operator({) pre_type(long) ident(bytes) operator(=) integer(0)operator(;) pre_type(long) ident(n)operator(;) reserved(if) operator(()ident(siz) operator(==) integer(0)operator(\)) ident(siz) operator(=) ident(BUFSIZ)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(siz)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_resize)operator(()ident(str)operator(,) ident(siz)operator(\);) operator(}) reserved(for) operator((;;\)) operator({) ident(rb_str_locktmp)operator(()ident(str)operator(\);) ident(READ_CHECK)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(n) operator(=) ident(io_fread)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(bytes)operator(,) ident(siz)operator(-)ident(bytes)operator(,) ident(fptr)operator(\);) ident(rb_str_unlocktmp)operator(()ident(str)operator(\);) reserved(if) operator(()ident(n) operator(==) integer(0) operator(&&) ident(bytes) operator(==) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(fptr)operator(->)ident(f)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) reserved(break)operator(;) reserved(if) operator((!)ident(ferror)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) reserved(break)operator(;) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) ident(bytes) operator(+=) ident(n)operator(;) reserved(if) operator(()ident(bytes) operator(<) ident(siz)operator(\)) reserved(break)operator(;) ident(siz) operator(+=) ident(BUFSIZ)operator(;) ident(rb_str_resize)operator(()ident(str)operator(,) ident(siz)operator(\);) operator(}) reserved(if) operator(()ident(bytes) operator(!=) ident(siz)operator(\)) ident(rb_str_resize)operator(()ident(str)operator(,) ident(bytes)operator(\);) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(void) ident(rb_io_set_nonblock)operator(()ident(OpenFile) operator(*)ident(fptr)operator(\)) operator({) pre_type(int) ident(flags)operator(;) preprocessor(#ifdef) ident(F_GETFL) ident(flags) operator(=) ident(fcntl)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(F_GETFL)operator(\);) reserved(if) operator(()ident(flags) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) preprocessor(#else) ident(flags) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator((()ident(flags) operator(&) ident(O_NONBLOCK)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(flags) operator(|=) ident(O_NONBLOCK)operator(;) reserved(if) operator(()ident(fcntl)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(F_SETFL)operator(,) ident(flags)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) preprocessor(#ifdef) ident(F_GETFL) ident(flags) operator(=) ident(fcntl)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(F_GETFL)operator(\);) reserved(if) operator(()ident(flags) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) preprocessor(#else) ident(flags) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator((()ident(flags) operator(&) ident(O_NONBLOCK)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(flags) operator(|=) ident(O_NONBLOCK)operator(;) reserved(if) operator(()ident(fcntl)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(F_SETFL)operator(,) ident(flags)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) operator(}) operator(}) operator(}) directive(static) ident(VALUE) ident(io_getpartial)operator(()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(,) ident(VALUE) ident(io)operator(,) pre_type(int) ident(nonblock)operator(\)) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(VALUE) ident(length)operator(,) ident(str)operator(;) pre_type(long) ident(n)operator(,) ident(len)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(length)operator(,) operator(&)ident(str)operator(\);) reserved(if) operator((()ident(len) operator(=) ident(NUM2LONG)operator(()ident(length)operator(\)\)) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(len)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) operator(}) reserved(else) operator({) ident(StringValue)operator(()ident(str)operator(\);) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(rb_str_resize)operator(()ident(str)operator(,) ident(len)operator(\);) operator(}) ident(OBJ_TAINT)operator(()ident(str)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(str)operator(;) reserved(if) operator((!)ident(nonblock)operator(\)) operator({) ident(READ_CHECK)operator(()ident(fptr)operator(->)ident(f)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(len)operator(\)) operator({) label(modified:) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(n) operator(=) ident(read_buffered_data)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(,) ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(n) operator(<=) integer(0)operator(\)) operator({) label(again:) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(len)operator(\)) reserved(goto) ident(modified)operator(;) reserved(if) operator(()ident(nonblock)operator(\)) operator({) ident(rb_io_set_nonblock)operator(()ident(fptr)operator(\);) ident(n) operator(=) ident(read)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(\);) operator(}) reserved(else) operator({) ident(TRAP_BEG)operator(;) ident(n) operator(=) ident(read)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(\);) ident(TRAP_END)operator(;) operator(}) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(nonblock) operator(&&) ident(rb_io_wait_readable)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\)\)) reserved(goto) ident(again)operator(;) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) comment(/* update pos in FILE structure [ruby-core:21561] */) ident(fflush)operator(()ident(fptr)operator(->)ident(f)operator(\);) operator(}) ident(rb_str_resize)operator(()ident(str)operator(,) ident(n)operator(\);) reserved(if) operator(()ident(n) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(else) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * ios.readpartial(maxlen\) => string * ios.readpartial(maxlen, outbuf\) => outbuf * * Reads at most maxlen bytes from the I/O stream. * It blocks only if ios has no data immediately available. * It doesn't block if some data available. * If the optional outbuf argument is present, * it must reference a String, which will receive the data. * It raises EOFError on end of file. * * readpartial is designed for streams such as pipe, socket, tty, etc. * It blocks only when no data immediately available. * This means that it blocks only when following all conditions hold. * * the buffer in the IO object is empty. * * the content of the stream is empty. * * the stream is not reached to EOF. * * When readpartial blocks, it waits data or EOF on the stream. * If some data is reached, readpartial returns with the data. * If EOF is reached, readpartial raises EOFError. * * When readpartial doesn't blocks, it returns or raises immediately. * If the buffer is not empty, it returns the data in the buffer. * Otherwise if the stream has some content, * it returns the data in the stream. * Otherwise if the stream is reached to EOF, it raises EOFError. * * r, w = IO.pipe # buffer pipe content * w << "abc" # "" "abc". * r.readpartial(4096\) #=> "abc" "" "" * r.readpartial(4096\) # blocks because buffer and pipe is empty. * * r, w = IO.pipe # buffer pipe content * w << "abc" # "" "abc" * w.close # "" "abc" EOF * r.readpartial(4096\) #=> "abc" "" EOF * r.readpartial(4096\) # raises EOFError * * r, w = IO.pipe # buffer pipe content * w << "abc\\ndef\\n" # "" "abc\\ndef\\n" * r.gets #=> "abc\\n" "def\\n" "" * w << "ghi\\n" # "def\\n" "ghi\\n" * r.readpartial(4096\) #=> "def\\n" "" "ghi\\n" * r.readpartial(4096\) #=> "ghi\\n" "" "" * * Note that readpartial behaves similar to sysread. * The differences are: * * If the buffer is not empty, read from the buffer instead of "sysread for buffered IO (IOError\)". * * It doesn't cause Errno::EAGAIN and Errno::EINTR. When readpartial meets EAGAIN and EINTR by read system call, readpartial retry the system call. * * The later means that readpartial is nonblocking-flag insensitive. * It blocks on the situation IO#sysread causes Errno::EAGAIN as if the fd is blocking mode. * */) directive(static) ident(VALUE) ident(io_readpartial)operator(()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(,) ident(VALUE) ident(io)operator(\)) operator({) ident(VALUE) ident(ret)operator(;) ident(ret) operator(=) ident(io_getpartial)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(ret)operator(\)\)) ident(rb_eof_error)operator((\);) reserved(else) reserved(return) ident(ret)operator(;) operator(}) comment(/* * call-seq: * ios.read_nonblock(maxlen\) => string * ios.read_nonblock(maxlen, outbuf\) => outbuf * * Reads at most maxlen bytes from ios using * read(2\) system call after O_NONBLOCK is set for * the underlying file descriptor. * * If the optional outbuf argument is present, * it must reference a String, which will receive the data. * * read_nonblock just calls read(2\). * It causes all errors read(2\) causes: EAGAIN, EINTR, etc. * The caller should care such errors. * * read_nonblock causes EOFError on EOF. * * If the read buffer is not empty, * read_nonblock reads from the buffer like readpartial. * In this case, read(2\) is not called. * */) directive(static) ident(VALUE) ident(io_read_nonblock)operator(()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(,) ident(VALUE) ident(io)operator(\)) operator({) ident(VALUE) ident(ret)operator(;) ident(ret) operator(=) ident(io_getpartial)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(,) integer(1)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(ret)operator(\)\)) ident(rb_eof_error)operator((\);) reserved(else) reserved(return) ident(ret)operator(;) operator(}) comment(/* * call-seq: * ios.write_nonblock(string\) => integer * * Writes the given string to ios using * write(2\) system call after O_NONBLOCK is set for * the underlying file descriptor. * * write_nonblock just calls write(2\). * It causes all errors write(2\) causes: EAGAIN, EINTR, etc. * The result may also be smaller than string.length (partial write\). * The caller should care such errors and partial write. * */) directive(static) ident(VALUE) ident(rb_io_write_nonblock)operator(()ident(VALUE) ident(io)operator(,) ident(VALUE) ident(str)operator(\)) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(str)operator(\)) operator(!=) ident(T_STRING)operator(\)) ident(str) operator(=) ident(rb_obj_as_string)operator(()ident(str)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_writable)operator(()ident(fptr)operator(\);) ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) ident(rb_io_set_nonblock)operator(()ident(fptr)operator(\);) ident(n) operator(=) ident(write)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(n) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) comment(/* * call-seq: * ios.read([length [, buffer]]\) => string, buffer, or nil * * Reads at most length bytes from the I/O stream, or to the * end of file if length is omitted or is nil. * length must be a non-negative integer or nil. * If the optional buffer argument is present, it must reference * a String, which will receive the data. * * At end of file, it returns nil or "" * depend on length. * ios.read(\) and * ios.read(nil\) returns "". * ios.read(positive-integer\) returns nil. * * f = File.new("testfile"\) * f.read(16\) #=> "This is line one" */) directive(static) ident(VALUE) ident(io_read)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(long) ident(n)operator(,) ident(len)operator(;) ident(VALUE) ident(length)operator(,) ident(str)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(length)operator(,) operator(&)ident(str)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(length)operator(\)\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) ident(StringValue)operator(()ident(str)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(return) ident(read_all)operator(()ident(fptr)operator(,) ident(remain_size)operator(()ident(fptr)operator(\),) ident(str)operator(\);) operator(}) ident(len) operator(=) ident(NUM2LONG)operator(()ident(length)operator(\);) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(len)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(str) operator(=) ident(rb_tainted_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) operator(}) reserved(else) operator({) ident(StringValue)operator(()ident(str)operator(\);) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(rb_str_resize)operator(()ident(str)operator(,)ident(len)operator(\);) operator(}) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(str)operator(;) ident(rb_str_locktmp)operator(()ident(str)operator(\);) ident(READ_CHECK)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(n) operator(=) ident(io_fread)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(,) ident(fptr)operator(\);) ident(rb_str_unlocktmp)operator(()ident(str)operator(\);) reserved(if) operator(()ident(n) operator(==) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(fptr)operator(->)ident(f)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(feof)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) operator({) ident(rb_str_resize)operator(()ident(str)operator(,) integer(0)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(len) operator(>) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) ident(rb_str_resize)operator(()ident(str)operator(,) ident(n)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(n)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(n)operator(]) operator(=) char('\\0')operator(;) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) pre_type(int) ident(appendline)operator(()ident(fptr)operator(,) ident(delim)operator(,) ident(strp)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(delim)operator(;) ident(VALUE) operator(*)ident(strp)operator(;) operator({) ident(FILE) operator(*)ident(f) operator(=) ident(fptr)operator(->)ident(f)operator(;) ident(VALUE) ident(str) operator(=) operator(*)ident(strp)operator(;) pre_type(int) ident(c) operator(=) pre_constant(EOF)operator(;) preprocessor(#ifndef) ident(READ_DATA_PENDING_PTR) pre_type(char) ident(buf)operator([)integer(8192)operator(];) pre_type(char) operator(*)ident(bp) operator(=) ident(buf)operator(,) operator(*)ident(bpe) operator(=) ident(buf) operator(+) reserved(sizeof) ident(buf) operator(-) integer(3)operator(;) pre_type(int) ident(update) operator(=) ident(Qfalse)operator(;) preprocessor(#endif) reserved(do) operator({) preprocessor(#ifdef) ident(READ_DATA_PENDING_PTR) pre_type(long) ident(pending) operator(=) ident(READ_DATA_PENDING_COUNT)operator(()ident(f)operator(\);) reserved(if) operator(()ident(pending) operator(>) integer(0)operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(READ_DATA_PENDING_PTR)operator(()ident(f)operator(\);) directive(const) pre_type(char) operator(*)ident(e) operator(=) ident(memchr)operator(()ident(p)operator(,) ident(delim)operator(,) ident(pending)operator(\);) pre_type(long) ident(last) operator(=) integer(0)operator(,) ident(len) operator(=) operator(()ident(c) operator(!=) pre_constant(EOF)operator(\);) reserved(if) operator(()ident(e)operator(\)) ident(pending) operator(=) ident(e) operator(-) ident(p) operator(+) integer(1)operator(;) ident(len) operator(+=) ident(pending)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(last) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(rb_str_resize)operator(()ident(str)operator(,) ident(last) operator(+) ident(len)operator(\);) operator(}) reserved(else) operator({) operator(*)ident(strp) operator(=) ident(str) operator(=) ident(rb_str_buf_new)operator(()ident(len)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) operator(}) reserved(if) operator(()ident(c) operator(!=) pre_constant(EOF)operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(last)operator(++]) operator(=) ident(c)operator(;) operator(}) ident(fread)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(last)operator(,) integer(1)operator(,) ident(pending)operator(,) ident(f)operator(\);) comment(/* must not fail */) reserved(if) operator(()ident(e)operator(\)) reserved(return) ident(delim)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(!=) pre_constant(EOF)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) pre_type(char) ident(ch) operator(=) ident(c)operator(;) ident(rb_str_buf_cat)operator(()ident(str)operator(,) operator(&)ident(ch)operator(,) integer(1)operator(\);) operator(}) reserved(else) operator({) operator(*)ident(strp) operator(=) ident(str) operator(=) ident(rb_str_buf_new)operator(()integer(1)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(++]) operator(=) ident(c)operator(;) operator(}) operator(}) ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(f)operator(\)\);) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) preprocessor(#else) ident(READ_CHECK)operator(()ident(f)operator(\);) preprocessor(#endif) ident(clearerr)operator(()ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(c) operator(=) ident(getc)operator(()ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(c) operator(==) pre_constant(EOF)operator(\)) operator({) reserved(if) operator(()ident(ferror)operator(()ident(f)operator(\)\)) operator({) ident(clearerr)operator(()ident(f)operator(\);) reserved(if) operator((!)ident(rb_io_wait_readable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(continue)operator(;) operator(}) preprocessor(#ifdef) ident(READ_DATA_PENDING_PTR) reserved(return) ident(c)operator(;) preprocessor(#endif) operator(}) preprocessor(#ifndef) ident(READ_DATA_PENDING_PTR) reserved(if) operator(()ident(c) operator(==) pre_constant(EOF) operator(||) operator((*)ident(bp)operator(++) operator(=) ident(c)operator(\)) operator(==) ident(delim) operator(||) ident(bp) operator(==) ident(bpe)operator(\)) operator({) pre_type(int) ident(cnt) operator(=) ident(bp) operator(-) ident(buf)operator(;) reserved(if) operator(()ident(cnt) operator(>) integer(0)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) ident(rb_str_cat)operator(()ident(str)operator(,) ident(buf)operator(,) ident(cnt)operator(\);) reserved(else) operator(*)ident(strp) operator(=) ident(str) operator(=) ident(rb_str_new)operator(()ident(buf)operator(,) ident(cnt)operator(\);) operator(}) reserved(if) operator(()ident(c) operator(==) pre_constant(EOF)operator(\)) operator({) reserved(if) operator(()ident(update)operator(\)) reserved(return) operator(()pre_type(int)operator(\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(-)integer(1)operator(];) reserved(return) ident(c)operator(;) operator(}) ident(bp) operator(=) ident(buf)operator(;) operator(}) ident(update) operator(=) ident(Qtrue)operator(;) preprocessor(#endif) operator(}) reserved(while) operator(()ident(c) operator(!=) ident(delim)operator(\);) preprocessor(#ifdef) ident(READ_DATA_PENDING_PTR) operator({) pre_type(char) ident(ch) operator(=) ident(c)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(rb_str_cat)operator(()ident(str)operator(,) operator(&)ident(ch)operator(,) integer(1)operator(\);) operator(}) reserved(else) operator({) operator(*)ident(strp) operator(=) ident(str) operator(=) ident(rb_str_new)operator((&)ident(ch)operator(,) integer(1)operator(\);) operator(}) operator(}) preprocessor(#endif) reserved(return) ident(c)operator(;) operator(}) directive(static) directive(inline) pre_type(int) ident(swallow)operator(()ident(fptr)operator(,) ident(term)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(term)operator(;) operator({) ident(FILE) operator(*)ident(f) operator(=) ident(fptr)operator(->)ident(f)operator(;) pre_type(int) ident(c)operator(;) reserved(do) operator({) preprocessor(#ifdef) ident(READ_DATA_PENDING_PTR) pre_type(long) ident(cnt)operator(;) reserved(while) operator((()ident(cnt) operator(=) ident(READ_DATA_PENDING_COUNT)operator(()ident(f)operator(\)\)) operator(>) integer(0)operator(\)) operator({) pre_type(char) ident(buf)operator([)integer(1024)operator(];) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(READ_DATA_PENDING_PTR)operator(()ident(f)operator(\);) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(cnt) operator(>) reserved(sizeof) ident(buf)operator(\)) ident(cnt) operator(=) reserved(sizeof) ident(buf)operator(;) reserved(if) operator((*)ident(p) operator(!=) ident(term)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(i) operator(=) ident(cnt)operator(;) reserved(while) operator((--)ident(i) operator(&&) operator(*++)ident(p) operator(==) ident(term)operator(\);) reserved(if) operator((!)ident(fread)operator(()ident(buf)operator(,) integer(1)operator(,) ident(cnt) operator(-) ident(i)operator(,) ident(f)operator(\)\)) comment(/* must not fail */) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(f)operator(\)\);) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) preprocessor(#else) ident(READ_CHECK)operator(()ident(f)operator(\);) preprocessor(#endif) ident(clearerr)operator(()ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(c) operator(=) ident(getc)operator(()ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(c) operator(!=) ident(term)operator(\)) operator({) ident(ungetc)operator(()ident(c)operator(,) ident(f)operator(\);) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(while) operator(()ident(c) operator(!=) pre_constant(EOF)operator(\);) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_io_getline_fast)operator(()ident(fptr)operator(,) ident(delim)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(unsigned) pre_type(char) ident(delim)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(Qnil)operator(;) pre_type(int) ident(c)operator(;) reserved(while) operator((()ident(c) operator(=) ident(appendline)operator(()ident(fptr)operator(,) ident(delim)operator(,) operator(&)ident(str)operator(\)\)) operator(!=) pre_constant(EOF) operator(&&) ident(c) operator(!=) ident(delim)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(fptr)operator(->)ident(lineno)operator(++;) ident(lineno) operator(=) ident(INT2FIX)operator(()ident(fptr)operator(->)ident(lineno)operator(\);) ident(OBJ_TAINT)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) directive(static) pre_type(int) ident(rscheck)operator(()ident(rsptr)operator(,) ident(rslen)operator(,) ident(rs)operator(\)) pre_type(char) operator(*)ident(rsptr)operator(;) pre_type(long) ident(rslen)operator(;) ident(VALUE) ident(rs)operator(;) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr) operator(!=) ident(rsptr) operator(&&) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(len) operator(!=) ident(rslen)operator(\)) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) reserved(return) integer(1)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_io_getline)operator(()ident(VALUE) ident(rs)operator(,) ident(VALUE) ident(io)operator(\);) directive(static) ident(VALUE) ident(rb_io_getline)operator(()ident(rs)operator(,) ident(io)operator(\)) ident(VALUE) ident(rs)operator(,) ident(io)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(Qnil)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(rs)operator(\)\)) operator({) ident(str) operator(=) ident(read_all)operator(()ident(fptr)operator(,) integer(0)operator(,) ident(Qnil)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(rs) operator(==) ident(rb_default_rs)operator(\)) operator({) reserved(return) ident(rb_io_getline_fast)operator(()ident(fptr)operator(,) char('\\n')operator(\);) operator(}) reserved(else) operator({) pre_type(int) ident(c)operator(,) ident(newline)operator(;) pre_type(char) operator(*)ident(rsptr)operator(;) pre_type(long) ident(rslen)operator(;) pre_type(int) ident(rspara) operator(=) integer(0)operator(;) ident(rslen) operator(=) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(rslen) operator(==) integer(0)operator(\)) operator({) ident(rsptr) operator(=) stringoperator(;) ident(rslen) operator(=) integer(2)operator(;) ident(rspara) operator(=) integer(1)operator(;) ident(swallow)operator(()ident(fptr)operator(,) char('\\n')operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(rslen) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(rb_io_getline_fast)operator(()ident(fptr)operator(,) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr)operator([)integer(0)operator(]\);) operator(}) reserved(else) operator({) ident(rsptr) operator(=) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr)operator(;) operator(}) ident(newline) operator(=) ident(rsptr)operator([)ident(rslen) operator(-) integer(1)operator(];) reserved(while) operator((()ident(c) operator(=) ident(appendline)operator(()ident(fptr)operator(,) ident(newline)operator(,) operator(&)ident(str)operator(\)\)) operator(!=) pre_constant(EOF) operator(&&) operator(()ident(c) operator(!=) ident(newline) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(rslen) operator(||) operator((()ident(rspara) operator(||) ident(rscheck)operator(()ident(rsptr)operator(,)ident(rslen)operator(,)ident(rs)operator(\)\)) operator(&&) integer(0)operator(\)) operator(||) ident(memcmp)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(-)ident(rslen)operator(,)ident(rsptr)operator(,)ident(rslen)operator(\)\)\);) reserved(if) operator(()ident(rspara)operator(\)) operator({) reserved(if) operator(()ident(c) operator(!=) pre_constant(EOF)operator(\)) operator({) ident(swallow)operator(()ident(fptr)operator(,) char('\\n')operator(\);) operator(}) operator(}) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(fptr)operator(->)ident(lineno)operator(++;) ident(lineno) operator(=) ident(INT2FIX)operator(()ident(fptr)operator(->)ident(lineno)operator(\);) ident(OBJ_TAINT)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_io_gets)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(return) ident(rb_io_getline_fast)operator(()ident(fptr)operator(,) char('\\n')operator(\);) operator(}) comment(/* * call-seq: * ios.gets(sep_string=$/\) => string or nil * * Reads the next ``line'' from the I/O stream; lines are separated by * sep_string. A separator of nil reads the entire * contents, and a zero-length separator reads the input a paragraph at * a time (two successive newlines in the input separate paragraphs\). * The stream must be opened for reading or an IOError * will be raised. The line read in will be returned and also assigned * to $_. Returns nil if called at end of * file. * * File.new("testfile"\).gets #=> "This is line one\\n" * $_ #=> "This is line one\\n" */) directive(static) ident(VALUE) ident(rb_io_gets_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(rs)operator(,) ident(str)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rs) operator(=) ident(rb_rs)operator(;) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(rs)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(rs)operator(\)\)) ident(StringValue)operator(()ident(rs)operator(\);) operator(}) ident(str) operator(=) ident(rb_io_getline)operator(()ident(rs)operator(,) ident(io)operator(\);) ident(rb_lastline_set)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * ios.lineno => integer * * Returns the current line number in ios. The stream must be * opened for reading. lineno counts the number of times * gets is called, rather than the number of newlines * encountered. The two values will differ if gets is * called with a separator other than newline. See also the * $. variable. * * f = File.new("testfile"\) * f.lineno #=> 0 * f.gets #=> "This is line one\\n" * f.lineno #=> 1 * f.gets #=> "This is line two\\n" * f.lineno #=> 2 */) directive(static) ident(VALUE) ident(rb_io_lineno)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(fptr)operator(->)ident(lineno)operator(\);) operator(}) comment(/* * call-seq: * ios.lineno = integer => integer * * Manually sets the current line number to the given value. * $. is updated only on the next read. * * f = File.new("testfile"\) * f.gets #=> "This is line one\\n" * $. #=> 1 * f.lineno = 1000 * f.lineno #=> 1000 * $. # lineno of last read #=> 1 * f.gets #=> "This is line two\\n" * $. # lineno of last read #=> 1001 */) directive(static) ident(VALUE) ident(rb_io_set_lineno)operator(()ident(io)operator(,) ident(lineno)operator(\)) ident(VALUE) ident(io)operator(,) ident(lineno)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) ident(fptr)operator(->)ident(lineno) operator(=) ident(NUM2INT)operator(()ident(lineno)operator(\);) reserved(return) ident(lineno)operator(;) operator(}) directive(static) directive(void) ident(lineno_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) ident(gets_lineno) operator(=) ident(NUM2INT)operator(()ident(val)operator(\);) operator(*)ident(var) operator(=) ident(INT2FIX)operator(()ident(gets_lineno)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_set_lineno)operator(()ident(argf)operator(,) ident(val)operator(\)) ident(VALUE) ident(argf)operator(,) ident(val)operator(;) operator({) ident(gets_lineno) operator(=) ident(NUM2INT)operator(()ident(val)operator(\);) ident(lineno) operator(=) ident(INT2FIX)operator(()ident(gets_lineno)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_lineno)operator((\)) operator({) reserved(return) ident(lineno)operator(;) operator(}) comment(/* * call-seq: * ios.readline(sep_string=$/\) => string * * Reads a line as with IO#gets, but raises an * EOFError on end of file. */) directive(static) ident(VALUE) ident(rb_io_readline)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(line) operator(=) ident(rb_io_gets_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(line)operator(\)\)) operator({) ident(rb_eof_error)operator((\);) operator(}) reserved(return) ident(line)operator(;) operator(}) comment(/* * call-seq: * ios.readlines(sep_string=$/\) => array * * Reads all of the lines in ios, and returns them in * anArray. Lines are separated by the optional * sep_string. If sep_string is nil, the * rest of the stream is returned as a single record. * The stream must be opened for reading or an * IOError will be raised. * * f = File.new("testfile"\) * f.readlines[0] #=> "This is line one\\n" */) directive(static) ident(VALUE) ident(rb_io_readlines)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(line)operator(,) ident(ary)operator(;) ident(VALUE) ident(rs)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rs) operator(=) ident(rb_rs)operator(;) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(rs)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(rs)operator(\)\)) ident(StringValue)operator(()ident(rs)operator(\);) operator(}) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(while) operator((!)ident(NIL_P)operator(()ident(line) operator(=) ident(rb_io_getline)operator(()ident(rs)operator(,) ident(io)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(line)operator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * ios.each(sep_string=$/\) {|line| block } => ios * ios.each_line(sep_string=$/\) {|line| block } => ios * * Executes the block for every line in ios, where lines are * separated by sep_string. ios must be opened for * reading or an IOError will be raised. * * f = File.new("testfile"\) * f.each {|line| puts "#{f.lineno}: #{line}" } * * produces: * * 1: This is line one * 2: This is line two * 3: This is line three * 4: And so on... */) directive(static) ident(VALUE) ident(rb_io_each_line)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(str)operator(;) ident(VALUE) ident(rs)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rs) operator(=) ident(rb_rs)operator(;) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(rs)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(rs)operator(\)\)) ident(StringValue)operator(()ident(rs)operator(\);) operator(}) reserved(while) operator((!)ident(NIL_P)operator(()ident(str) operator(=) ident(rb_io_getline)operator(()ident(rs)operator(,) ident(io)operator(\)\)\)) operator({) ident(rb_yield)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * ios.each_byte {|byte| block } => nil * * Calls the given block once for each byte (0..255\) in ios, * passing the byte as an argument. The stream must be opened for * reading or an IOError will be raised. * * f = File.new("testfile"\) * checksum = 0 * f.each_byte {|x| checksum ^= x } #=> # * checksum #=> 12 */) directive(static) ident(VALUE) ident(rb_io_each_byte)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) pre_type(int) ident(c)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(for) operator((;;\)) operator({) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) ident(f) operator(=) ident(fptr)operator(->)ident(f)operator(;) ident(READ_CHECK)operator(()ident(f)operator(\);) ident(clearerr)operator(()ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(c) operator(=) ident(getc)operator(()ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(c) operator(==) pre_constant(EOF)operator(\)) operator({) reserved(if) operator(()ident(ferror)operator(()ident(f)operator(\)\)) operator({) ident(clearerr)operator(()ident(f)operator(\);) reserved(if) operator((!)ident(rb_io_wait_readable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(continue)operator(;) operator(}) reserved(break)operator(;) operator(}) ident(rb_yield)operator(()ident(INT2FIX)operator(()ident(c) operator(&) hex(0xff)operator(\)\);) operator(}) reserved(if) operator(()ident(ferror)operator(()ident(f)operator(\)\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * ios.getc => fixnum or nil * * Gets the next 8-bit byte (0..255\) from ios. Returns * nil if called at end of file. * * f = File.new("testfile"\) * f.getc #=> 84 * f.getc #=> 104 */) ident(VALUE) ident(rb_io_getc)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) pre_type(int) ident(c)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) ident(f) operator(=) ident(fptr)operator(->)ident(f)operator(;) label(retry:) ident(READ_CHECK)operator(()ident(f)operator(\);) ident(clearerr)operator(()ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(c) operator(=) ident(getc)operator(()ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(c) operator(==) pre_constant(EOF)operator(\)) operator({) reserved(if) operator(()ident(ferror)operator(()ident(f)operator(\)\)) operator({) ident(clearerr)operator(()ident(f)operator(\);) reserved(if) operator((!)ident(rb_io_wait_readable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(INT2FIX)operator(()ident(c) operator(&) hex(0xff)operator(\);) operator(}) pre_type(int) ident(rb_getc)operator(()ident(f)operator(\)) ident(FILE) operator(*)ident(f)operator(;) operator({) pre_type(int) ident(c)operator(;) reserved(if) operator((!)ident(READ_DATA_PENDING)operator(()ident(f)operator(\)\)) operator({) ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(f)operator(\)\);) operator(}) ident(clearerr)operator(()ident(f)operator(\);) ident(TRAP_BEG)operator(;) ident(c) operator(=) ident(getc)operator(()ident(f)operator(\);) ident(TRAP_END)operator(;) reserved(return) ident(c)operator(;) operator(}) comment(/* * call-seq: * ios.readchar => fixnum * * Reads a character as with IO#getc, but raises an * EOFError on end of file. */) directive(static) ident(VALUE) ident(rb_io_readchar)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(c) operator(=) ident(rb_io_getc)operator(()ident(io)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) operator({) ident(rb_eof_error)operator((\);) operator(}) reserved(return) ident(c)operator(;) operator(}) comment(/* * call-seq: * ios.ungetc(integer\) => nil * * Pushes back one character (passed as a parameter\) onto ios, * such that a subsequent buffered read will return it. Only one character * may be pushed back before a subsequent read operation (that is, * you will be able to read only the last of several characters that have been pushed * back\). Has no effect with unbuffered reads (such as IO#sysread\). * * f = File.new("testfile"\) #=> # * c = f.getc #=> 84 * f.ungetc(c\) #=> nil * f.getc #=> 84 */) ident(VALUE) ident(rb_io_ungetc)operator(()ident(io)operator(,) ident(c)operator(\)) ident(VALUE) ident(io)operator(,) ident(c)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(cc) operator(=) ident(NUM2INT)operator(()ident(c)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator((!()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_RBUF)operator(\)\)) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(ungetc)operator(()ident(cc)operator(,) ident(fptr)operator(->)ident(f)operator(\)) operator(==) pre_constant(EOF) operator(&&) ident(cc) operator(!=) pre_constant(EOF)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.isatty => true or false * ios.tty? => true or false * * Returns true if ios is associated with a * terminal device (tty\), false otherwise. * * File.new("testfile"\).isatty #=> false * File.new("/dev/tty"\).isatty #=> true */) directive(static) ident(VALUE) ident(rb_io_isatty)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(isatty)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) directive(static) directive(void) ident(fptr_finalize)operator(()ident(fptr)operator(,) ident(noraise)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(noraise)operator(;) operator({) pre_type(int) ident(n1) operator(=) integer(0)operator(,) ident(n2) operator(=) integer(0)operator(,) ident(f1)operator(,) ident(f2) operator(=) operator(-)integer(1)operator(;) ident(errno) operator(=) integer(0)operator(;) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(f2) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\);) reserved(while) operator(()ident(n2) operator(=) integer(0)operator(,) ident(fflush)operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(n2) operator(=) ident(errno)operator(;) reserved(if) operator((!)ident(rb_io_wait_writable)operator(()ident(f2)operator(\)\)) operator({) reserved(break)operator(;) operator(}) reserved(if) operator((!)ident(fptr)operator(->)ident(f2)operator(\)) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(fclose)operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator(<) integer(0) operator(&&) ident(n2) operator(==) integer(0)operator(\)) operator({) ident(n2) operator(=) ident(errno)operator(;) operator(}) ident(fptr)operator(->)ident(f2) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) operator({) ident(f1) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator((()ident(f2) operator(==) operator(-)integer(1)operator(\)) operator(&&) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WBUF)operator(\)\)) operator({) reserved(while) operator(()ident(n1) operator(=) integer(0)operator(,) ident(fflush)operator(()ident(fptr)operator(->)ident(f)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(n1) operator(=) ident(errno)operator(;) reserved(if) operator((!)ident(rb_io_wait_writable)operator(()ident(f1)operator(\)\)) reserved(break)operator(;) reserved(if) operator((!)ident(fptr)operator(->)ident(f)operator(\)) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(fclose)operator(()ident(fptr)operator(->)ident(f)operator(\)) operator(<) integer(0) operator(&&) ident(n1) operator(==) integer(0)operator(\)) operator({) ident(n1) operator(=) ident(errno)operator(;) operator(}) ident(fptr)operator(->)ident(f) operator(=) integer(0)operator(;) reserved(if) operator(()ident(n1) operator(==) ident(EBADF) operator(&&) ident(f1) operator(==) ident(f2)operator(\)) operator({) ident(n1) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(noraise) operator(&&) operator(()ident(n1) operator(||) ident(n2)operator(\)\)) operator({) ident(errno) operator(=) operator(()ident(n1) operator(?) ident(n1) operator(:) ident(n2)operator(\);) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(rb_io_fptr_cleanup)operator(()ident(fptr)operator(,) ident(noraise)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(noraise)operator(;) operator({) reserved(if) operator(()ident(fptr)operator(->)ident(finalize)operator(\)) operator({) operator((*)ident(fptr)operator(->)ident(finalize)operator(\)()ident(fptr)operator(,) ident(noraise)operator(\);) operator(}) reserved(else) operator({) ident(fptr_finalize)operator(()ident(fptr)operator(,) ident(noraise)operator(\);) operator(}) operator(}) directive(void) ident(rb_io_fptr_finalize)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(if) operator((!)ident(fptr)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(fptr)operator(->)ident(path)operator(\)) operator({) ident(free)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) reserved(if) operator((!)ident(fptr)operator(->)ident(f) operator(&&) operator(!)ident(fptr)operator(->)ident(f2)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)) operator(<) integer(3)operator(\)) reserved(return)operator(;) ident(rb_io_fptr_cleanup)operator(()ident(fptr)operator(,) ident(Qtrue)operator(\);) operator(}) ident(VALUE) ident(rb_io_close)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(fd)operator(,) ident(fd2)operator(;) ident(fptr) operator(=) ident(RFILE)operator(()ident(io)operator(\)->)ident(fptr)operator(;) reserved(if) operator((!)ident(fptr)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(fd2) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator((!)ident(fptr)operator(->)ident(f)operator(\)) reserved(return) ident(Qnil)operator(;) ident(fd2) operator(=) operator(-)integer(1)operator(;) operator(}) ident(fd) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(rb_io_fptr_cleanup)operator(()ident(fptr)operator(,) ident(Qfalse)operator(\);) ident(rb_thread_fd_close)operator(()ident(fd)operator(\);) reserved(if) operator(()ident(fd2) operator(>=) integer(0)operator(\)) ident(rb_thread_fd_close)operator(()ident(fd2)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(pid)operator(\)) operator({) ident(rb_syswait)operator(()ident(fptr)operator(->)ident(pid)operator(\);) ident(fptr)operator(->)ident(pid) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.close => nil * * Closes ios and flushes any pending writes to the operating * system. The stream is unavailable for any further data operations; * an IOError is raised if such an attempt is made. I/O * streams are automatically closed when they are claimed by the * garbage collector. * * If ios is opened by IO.popen, * close sets $?. */) directive(static) ident(VALUE) ident(rb_io_close_m)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(io)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(rb_io_check_closed)operator(()ident(RFILE)operator(()ident(io)operator(\)->)ident(fptr)operator(\);) ident(rb_io_close)operator(()ident(io)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(io_call_close)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(io)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) directive(static) ident(VALUE) ident(io_close)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(return) ident(rb_rescue)operator(()ident(io_call_close)operator(,) ident(io)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * ios.closed? => true or false * * Returns true if ios is completely closed (for * duplex streams, both reader and writer\), false * otherwise. * * f = File.new("testfile"\) * f.close #=> nil * f.closed? #=> true * f = IO.popen("/bin/sh","r+"\) * f.close_write #=> nil * f.closed? #=> false * f.close_read #=> nil * f.closed? #=> true */) directive(static) ident(VALUE) ident(rb_io_closed)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(fptr) operator(=) ident(RFILE)operator(()ident(io)operator(\)->)ident(fptr)operator(;) ident(rb_io_check_initialized)operator(()ident(fptr)operator(\);) reserved(return) operator(()ident(fptr)operator(->)ident(f) operator(||) ident(fptr)operator(->)ident(f2)operator(\)?)ident(Qfalse)operator(:)ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * ios.close_read => nil * * Closes the read end of a duplex I/O stream (i.e., one that contains * both a read and a write stream, such as a pipe\). Will raise an * IOError if the stream is not duplexed. * * f = IO.popen("/bin/sh","r+"\) * f.close_read * f.readlines * * produces: * * prog.rb:3:in `readlines': not opened for reading (IOError\) * from prog.rb:3 */) directive(static) ident(VALUE) ident(rb_io_close_read)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(n)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(io)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(==) integer(0) operator(&&) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_io_close)operator(()ident(io)operator(\);) operator(}) ident(n) operator(=) ident(fclose)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(fptr)operator(->)ident(mode) operator(&=) operator(~)ident(FMODE_READABLE)operator(;) ident(fptr)operator(->)ident(f) operator(=) ident(fptr)operator(->)ident(f2)operator(;) ident(fptr)operator(->)ident(f2) operator(=) integer(0)operator(;) reserved(if) operator(()ident(n) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.close_write => nil * * Closes the write end of a duplex I/O stream (i.e., one that contains * both a read and a write stream, such as a pipe\). Will raise an * IOError if the stream is not duplexed. * * f = IO.popen("/bin/sh","r+"\) * f.close_write * f.print "nowhere" * * produces: * * prog.rb:3:in `write': not opened for writing (IOError\) * from prog.rb:3:in `print' * from prog.rb:3 */) directive(static) ident(VALUE) ident(rb_io_close_write)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(n)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(io)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(==) integer(0) operator(&&) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_READABLE)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_io_close)operator(()ident(io)operator(\);) operator(}) ident(n) operator(=) ident(fclose)operator(()ident(fptr)operator(->)ident(f2)operator(\);) ident(fptr)operator(->)ident(f2) operator(=) integer(0)operator(;) ident(fptr)operator(->)ident(mode) operator(&=) operator(~)ident(FMODE_WRITABLE)operator(;) reserved(if) operator(()ident(n) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.sysseek(offset, whence=SEEK_SET\) => integer * * Seeks to a given offset in the stream according to the value * of whence (see IO#seek for values of * whence\). Returns the new offset into the file. * * f = File.new("testfile"\) * f.sysseek(-13, IO::SEEK_END\) #=> 53 * f.sysread(10\) #=> "And so on." */) directive(static) ident(VALUE) ident(rb_io_sysseek)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(offset)operator(,) ident(ptrname)operator(;) pre_type(int) ident(whence) operator(=) ident(SEEK_SET)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(off_t) ident(pos)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(offset)operator(,) operator(&)ident(ptrname)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(whence) operator(=) ident(NUM2INT)operator(()ident(ptrname)operator(\);) operator(}) ident(pos) operator(=) ident(NUM2OFFT)operator(()ident(offset)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator((()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_READABLE)operator(\)) operator(&&) ident(READ_DATA_BUFFERED)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)) operator(&&) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WBUF)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) ident(pos) operator(=) ident(lseek)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(pos)operator(,) ident(whence)operator(\);) reserved(if) operator(()ident(pos) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(return) ident(OFFT2NUM)operator(()ident(pos)operator(\);) operator(}) comment(/* * call-seq: * ios.syswrite(string\) => integer * * Writes the given string to ios using a low-level write. * Returns the number of bytes written. Do not mix with other methods * that write to ios or you may get unpredictable results. * Raises SystemCallError on error. * * f = File.new("out", "w"\) * f.syswrite("ABCDEF"\) #=> 6 */) directive(static) ident(VALUE) ident(rb_io_syswrite)operator(()ident(io)operator(,) ident(str)operator(\)) ident(VALUE) ident(io)operator(,) ident(str)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(FILE) operator(*)ident(f)operator(;) pre_type(long) ident(n)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(str)operator(\)) operator(!=) ident(T_STRING)operator(\)) ident(str) operator(=) ident(rb_obj_as_string)operator(()ident(str)operator(\);) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_writable)operator(()ident(fptr)operator(\);) ident(f) operator(=) ident(GetWriteFile)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WBUF)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(if) operator((!)ident(rb_thread_fd_writable)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) operator({) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) operator(}) ident(TRAP_BEG)operator(;) ident(n) operator(=) ident(write)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(n) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(n)operator(\);) operator(}) comment(/* * call-seq: * ios.sysread(integer \) => string * * Reads integer bytes from ios using a low-level * read and returns them as a string. Do not mix with other methods * that read from ios or you may get unpredictable results. * Raises SystemCallError on error and * EOFError at end of file. * * f = File.new("testfile"\) * f.sysread(16\) #=> "This is line one" */) directive(static) ident(VALUE) ident(rb_io_sysread)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(len)operator(,) ident(str)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(long) ident(n)operator(,) ident(ilen)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(len)operator(,) operator(&)ident(str)operator(\);) ident(ilen) operator(=) ident(NUM2LONG)operator(()ident(len)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(ilen)operator(\);) operator(}) reserved(else) operator({) ident(StringValue)operator(()ident(str)operator(\);) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(rb_str_resize)operator(()ident(str)operator(,) ident(ilen)operator(\);) operator(}) reserved(if) operator(()ident(ilen) operator(==) integer(0)operator(\)) reserved(return) ident(str)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(rb_io_check_readable)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(READ_DATA_BUFFERED)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eIOError)operator(,) stringoperator(\);) operator(}) ident(rb_str_locktmp)operator(()ident(str)operator(\);) ident(n) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(rb_thread_wait_fd)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\);) ident(rb_io_check_closed)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(ilen)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(TRAP_BEG)operator(;) ident(n) operator(=) ident(read)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(ilen)operator(\);) ident(TRAP_END)operator(;) ident(rb_str_unlocktmp)operator(()ident(str)operator(\);) reserved(if) operator(()ident(n) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) ident(rb_str_resize)operator(()ident(str)operator(,) ident(n)operator(\);) reserved(if) operator(()ident(n) operator(==) integer(0) operator(&&) ident(ilen) operator(>) integer(0)operator(\)) operator({) ident(rb_eof_error)operator((\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(n)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(n)operator(]) operator(=) char('\\0')operator(;) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * ios.binmode => ios * * Puts ios into binary mode. This is useful only in * MS-DOS/Windows environments. Once a stream is in binary mode, it * cannot be reset to nonbinary mode. */) ident(VALUE) ident(rb_io_binmode)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__EMX__)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) preprocessor(#ifdef) ident(__human68k__) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) ident(fmode)operator(()ident(fptr)operator(->)ident(f)operator(,) ident(_IOBIN)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) ident(fmode)operator(()ident(fptr)operator(->)ident(f2)operator(,) ident(_IOBIN)operator(\);) preprocessor(#else) reserved(if) operator(()ident(fptr)operator(->)ident(f) operator(&&) ident(setmode)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(O_BINARY)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(&&) ident(setmode)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(O_BINARY)operator(\)) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#endif) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_BINMODE)operator(;) preprocessor(#endif) reserved(return) ident(io)operator(;) operator(}) pre_type(char)operator(*) ident(rb_io_flags_mode)operator(()ident(flags)operator(\)) pre_type(int) ident(flags)operator(;) operator({) preprocessor(#ifdef) ident(O_BINARY) preprocessor(# define) ident(MODE_BINMODE)operator(()ident(a)operator(,)ident(b)operator(\)) operator((()ident(flags) operator(&) ident(FMODE_BINMODE)operator(\)) operator(?) operator(()ident(b)operator(\)) operator(:) operator(()ident(a)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(MODE_BINMODE)operator(()ident(a)operator(,)ident(b)operator(\)) operator(()ident(a)operator(\)) preprocessor(#endif) reserved(if) operator(()ident(flags) operator(&) ident(FMODE_APPEND)operator(\)) operator({) reserved(if) operator((()ident(flags) operator(&) ident(FMODE_READWRITE)operator(\)) operator(==) ident(FMODE_READWRITE)operator(\)) operator({) reserved(return) ident(MODE_BINMODE)operator(()stringoperator(,) stringoperator(\);) operator(}) reserved(return) ident(MODE_BINMODE)operator(()stringoperator(,) stringoperator(\);) operator(}) reserved(switch) operator(()ident(flags) operator(&) ident(FMODE_READWRITE)operator(\)) operator({) reserved(case) ident(FMODE_READABLE)operator(:) reserved(return) ident(MODE_BINMODE)operator(()stringoperator(,) stringoperator(\);) reserved(case) ident(FMODE_WRITABLE)operator(:) reserved(return) ident(MODE_BINMODE)operator(()stringoperator(,) stringoperator(\);) reserved(case) ident(FMODE_READWRITE)operator(:) reserved(if) operator(()ident(flags) operator(&) ident(FMODE_CREATE)operator(\)) operator({) reserved(return) ident(MODE_BINMODE)operator(()stringoperator(,) stringoperator(\);) operator(}) reserved(return) ident(MODE_BINMODE)operator(()stringoperator(,) stringoperator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(flags)operator(\);) reserved(return) pre_constant(NULL)operator(;) comment(/* not reached */) operator(}) pre_type(int) ident(rb_io_mode_flags)operator(()ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(mode)operator(;) operator({) pre_type(int) ident(flags) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(m) operator(=) ident(mode)operator(;) reserved(switch) operator((*)ident(m)operator(++\)) operator({) reserved(case) char('r')operator(:) ident(flags) operator(|=) ident(FMODE_READABLE)operator(;) reserved(break)operator(;) reserved(case) char('w')operator(:) ident(flags) operator(|=) ident(FMODE_WRITABLE) operator(|) ident(FMODE_CREATE)operator(;) reserved(break)operator(;) reserved(case) char('a')operator(:) ident(flags) operator(|=) ident(FMODE_WRITABLE) operator(|) ident(FMODE_APPEND) operator(|) ident(FMODE_CREATE)operator(;) reserved(break)operator(;) reserved(default)operator(:) label(error:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(mode)operator(\);) operator(}) reserved(while) operator((*)ident(m)operator(\)) operator({) reserved(switch) operator((*)ident(m)operator(++\)) operator({) reserved(case) char('b')operator(:) ident(flags) operator(|=) ident(FMODE_BINMODE)operator(;) reserved(break)operator(;) reserved(case) char('+')operator(:) ident(flags) operator(|=) ident(FMODE_READWRITE)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(goto) ident(error)operator(;) operator(}) operator(}) reserved(return) ident(flags)operator(;) operator(}) pre_type(int) ident(rb_io_modenum_flags)operator(()ident(mode)operator(\)) pre_type(int) ident(mode)operator(;) operator({) pre_type(int) ident(flags) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(mode) operator(&) operator(()ident(O_RDONLY)operator(|)ident(O_WRONLY)operator(|)ident(O_RDWR)operator(\)\)) operator({) reserved(case) ident(O_RDONLY)operator(:) ident(flags) operator(=) ident(FMODE_READABLE)operator(;) reserved(break)operator(;) reserved(case) ident(O_WRONLY)operator(:) ident(flags) operator(=) ident(FMODE_WRITABLE)operator(;) reserved(break)operator(;) reserved(case) ident(O_RDWR)operator(:) ident(flags) operator(=) ident(FMODE_READWRITE)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(mode) operator(&) ident(O_APPEND)operator(\)) operator({) ident(flags) operator(|=) ident(FMODE_APPEND)operator(;) operator(}) reserved(if) operator(()ident(mode) operator(&) ident(O_CREAT)operator(\)) operator({) ident(flags) operator(|=) ident(FMODE_CREATE)operator(;) operator(}) preprocessor(#ifdef) ident(O_BINARY) reserved(if) operator(()ident(mode) operator(&) ident(O_BINARY)operator(\)) operator({) ident(flags) operator(|=) ident(FMODE_BINMODE)operator(;) operator(}) preprocessor(#endif) reserved(return) ident(flags)operator(;) operator(}) directive(static) pre_type(int) ident(rb_io_mode_modenum)operator(()ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(mode)operator(;) operator({) pre_type(int) ident(flags) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(m) operator(=) ident(mode)operator(;) reserved(switch) operator((*)ident(m)operator(++\)) operator({) reserved(case) char('r')operator(:) ident(flags) operator(|=) ident(O_RDONLY)operator(;) reserved(break)operator(;) reserved(case) char('w')operator(:) ident(flags) operator(|=) ident(O_WRONLY) operator(|) ident(O_CREAT) operator(|) ident(O_TRUNC)operator(;) reserved(break)operator(;) reserved(case) char('a')operator(:) ident(flags) operator(|=) ident(O_WRONLY) operator(|) ident(O_CREAT) operator(|) ident(O_APPEND)operator(;) reserved(break)operator(;) reserved(default)operator(:) label(error:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(mode)operator(\);) operator(}) reserved(while) operator((*)ident(m)operator(\)) operator({) reserved(switch) operator((*)ident(m)operator(++\)) operator({) reserved(case) char('b')operator(:) preprocessor(#ifdef) ident(O_BINARY) ident(flags) operator(|=) ident(O_BINARY)operator(;) preprocessor(#endif) reserved(break)operator(;) reserved(case) char('+')operator(:) ident(flags) operator(=) operator(()ident(flags) operator(&) operator(~)ident(O_ACCMODE)operator(\)) operator(|) ident(O_RDWR)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(goto) ident(error)operator(;) operator(}) operator(}) reserved(return) ident(flags)operator(;) operator(}) preprocessor(#define) ident(MODENUM_MAX) integer(4) directive(static) pre_type(char)operator(*) ident(rb_io_modenum_mode)operator(()ident(flags)operator(\)) pre_type(int) ident(flags)operator(;) operator({) preprocessor(#ifdef) ident(O_BINARY) preprocessor(# define) ident(MODE_BINARY)operator(()ident(a)operator(,)ident(b)operator(\)) operator((()ident(flags) operator(&) ident(O_BINARY)operator(\)) operator(?) operator(()ident(b)operator(\)) operator(:) operator(()ident(a)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(MODE_BINARY)operator(()ident(a)operator(,)ident(b)operator(\)) operator(()ident(a)operator(\)) preprocessor(#endif) reserved(if) operator(()ident(flags) operator(&) ident(O_APPEND)operator(\)) operator({) reserved(if) operator((()ident(flags) operator(&) ident(O_RDWR)operator(\)) operator(==) ident(O_RDWR)operator(\)) operator({) reserved(return) ident(MODE_BINARY)operator(()stringoperator(,) stringoperator(\);) operator(}) reserved(return) ident(MODE_BINARY)operator(()stringoperator(,) stringoperator(\);) operator(}) reserved(switch) operator(()ident(flags) operator(&) operator(()ident(O_RDONLY)operator(|)ident(O_WRONLY)operator(|)ident(O_RDWR)operator(\)\)) operator({) reserved(case) ident(O_RDONLY)operator(:) reserved(return) ident(MODE_BINARY)operator(()stringoperator(,) stringoperator(\);) reserved(case) ident(O_WRONLY)operator(:) reserved(return) ident(MODE_BINARY)operator(()stringoperator(,) stringoperator(\);) reserved(case) ident(O_RDWR)operator(:) reserved(return) ident(MODE_BINARY)operator(()stringoperator(,) stringoperator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(flags)operator(\);) reserved(return) pre_constant(NULL)operator(;) comment(/* not reached */) operator(}) directive(static) pre_type(int) ident(rb_sysopen)operator(()ident(fname)operator(,) ident(flags)operator(,) ident(mode)operator(\)) pre_type(char) operator(*)ident(fname)operator(;) pre_type(int) ident(flags)operator(;) pre_type(unsigned) pre_type(int) ident(mode)operator(;) operator({) pre_type(int) ident(fd)operator(;) ident(fd) operator(=) ident(open)operator(()ident(fname)operator(,) ident(flags)operator(,) ident(mode)operator(\);) reserved(if) operator(()ident(fd) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EMFILE) operator(||) ident(errno) operator(==) ident(ENFILE)operator(\)) operator({) ident(rb_gc)operator((\);) ident(fd) operator(=) ident(open)operator(()ident(fname)operator(,) ident(flags)operator(,) ident(mode)operator(\);) operator(}) reserved(if) operator(()ident(fd) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fname)operator(\);) operator(}) operator(}) reserved(return) ident(fd)operator(;) operator(}) ident(FILE) operator(*) ident(rb_fopen)operator(()ident(fname)operator(,) ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) directive(const) pre_type(char) operator(*)ident(mode)operator(;) operator({) ident(FILE) operator(*)ident(file)operator(;) ident(file) operator(=) ident(fopen)operator(()ident(fname)operator(,) ident(mode)operator(\);) reserved(if) operator((!)ident(file)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EMFILE) operator(||) ident(errno) operator(==) ident(ENFILE)operator(\)) operator({) ident(rb_gc)operator((\);) ident(file) operator(=) ident(fopen)operator(()ident(fname)operator(,) ident(mode)operator(\);) operator(}) reserved(if) operator((!)ident(file)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fname)operator(\);) operator(}) operator(}) preprocessor(#ifdef) ident(USE_SETVBUF) reserved(if) operator(()ident(setvbuf)operator(()ident(file)operator(,) pre_constant(NULL)operator(,) ident(_IOFBF)operator(,) integer(0)operator(\)) operator(!=) integer(0)operator(\)) ident(rb_warn)operator(()stringoperator(,) ident(fname)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(__human68k__) ident(fmode)operator(()ident(file)operator(,) ident(_IOTEXT)operator(\);) preprocessor(#endif) reserved(return) ident(file)operator(;) operator(}) ident(FILE) operator(*) ident(rb_fdopen)operator(()ident(fd)operator(,) ident(mode)operator(\)) pre_type(int) ident(fd)operator(;) directive(const) pre_type(char) operator(*)ident(mode)operator(;) operator({) ident(FILE) operator(*)ident(file)operator(;) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) ident(errno) operator(=) integer(0)operator(;) preprocessor(#endif) ident(file) operator(=) ident(fdopen)operator(()ident(fd)operator(,) ident(mode)operator(\);) reserved(if) operator((!)ident(file)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) reserved(if) operator(()ident(errno) operator(==) integer(0) operator(||) ident(errno) operator(==) ident(EMFILE) operator(||) ident(errno) operator(==) ident(ENFILE)operator(\)) operator({) preprocessor(#else) reserved(if) operator(()ident(errno) operator(==) ident(EMFILE) operator(||) ident(errno) operator(==) ident(ENFILE)operator(\)) operator({) preprocessor(#endif) ident(rb_gc)operator((\);) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) ident(errno) operator(=) integer(0)operator(;) preprocessor(#endif) ident(file) operator(=) ident(fdopen)operator(()ident(fd)operator(,) ident(mode)operator(\);) operator(}) reserved(if) operator((!)ident(file)operator(\)) operator({) preprocessor(#ifdef) ident(_WIN32) reserved(if) operator(()ident(errno) operator(==) integer(0)operator(\)) ident(errno) operator(=) ident(EINVAL)operator(;) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) reserved(if) operator(()ident(errno) operator(==) integer(0)operator(\)) ident(errno) operator(=) ident(EMFILE)operator(;) preprocessor(#endif) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) operator(}) preprocessor(#ifdef) ident(USE_SETVBUF) reserved(if) operator(()ident(setvbuf)operator(()ident(file)operator(,) pre_constant(NULL)operator(,) ident(_IOFBF)operator(,) integer(0)operator(\)) operator(!=) integer(0)operator(\)) ident(rb_warn)operator(()stringoperator(,) ident(fd)operator(\);) preprocessor(#endif) reserved(return) ident(file)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_file_open_internal)operator(()ident(io)operator(,) ident(fname)operator(,) ident(mode)operator(\)) ident(VALUE) ident(io)operator(;) directive(const) pre_type(char) operator(*)ident(fname)operator(,) operator(*)ident(mode)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(MakeOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(fptr)operator(->)ident(mode) operator(=) ident(rb_io_mode_flags)operator(()ident(mode)operator(\);) ident(fptr)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(fname)operator(\);) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fopen)operator(()ident(fptr)operator(->)ident(path)operator(,) ident(rb_io_flags_mode)operator(()ident(fptr)operator(->)ident(mode)operator(\)\);) reserved(return) ident(io)operator(;) operator(}) ident(VALUE) ident(rb_file_open)operator(()ident(fname)operator(,) ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(,) operator(*)ident(mode)operator(;) operator({) reserved(return) ident(rb_file_open_internal)operator(()ident(io_alloc)operator(()ident(rb_cFile)operator(\),) ident(fname)operator(,) ident(mode)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_file_sysopen_internal)operator(()ident(io)operator(,) ident(fname)operator(,) ident(flags)operator(,) ident(mode)operator(\)) ident(VALUE) ident(io)operator(;) pre_type(char) operator(*)ident(fname)operator(;) pre_type(int) ident(flags)operator(,) ident(mode)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(fd)operator(;) pre_type(char) operator(*)ident(m)operator(;) ident(MakeOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(fptr)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(fname)operator(\);) ident(m) operator(=) ident(rb_io_modenum_mode)operator(()ident(flags)operator(\);) ident(fptr)operator(->)ident(mode) operator(=) ident(rb_io_modenum_flags)operator(()ident(flags)operator(\);) ident(fd) operator(=) ident(rb_sysopen)operator(()ident(fptr)operator(->)ident(path)operator(,) ident(flags)operator(,) ident(mode)operator(\);) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) ident(m)operator(\);) reserved(return) ident(io)operator(;) operator(}) ident(VALUE) ident(rb_file_sysopen)operator(()ident(fname)operator(,) ident(flags)operator(,) ident(mode)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) pre_type(int) ident(flags)operator(,) ident(mode)operator(;) operator({) reserved(return) ident(rb_file_sysopen_internal)operator(()ident(io_alloc)operator(()ident(rb_cFile)operator(\),) ident(fname)operator(,) ident(flags)operator(,) ident(mode)operator(\);) operator(}) preprocessor(#if) ident(defined) operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__VMS)operator(\)) directive(static) reserved(struct) ident(pipe_list) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) reserved(struct) ident(pipe_list) operator(*)ident(next)operator(;) operator(}) operator(*)ident(pipe_list)operator(;) directive(static) directive(void) ident(pipe_add_fptr)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(struct) ident(pipe_list) operator(*)ident(list)operator(;) ident(list) operator(=) ident(ALLOC)operator(()reserved(struct) ident(pipe_list)operator(\);) ident(list)operator(->)ident(fptr) operator(=) ident(fptr)operator(;) ident(list)operator(->)ident(next) operator(=) ident(pipe_list)operator(;) ident(pipe_list) operator(=) ident(list)operator(;) operator(}) directive(static) directive(void) ident(pipe_del_fptr)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(struct) ident(pipe_list) operator(*)ident(list) operator(=) ident(pipe_list)operator(;) reserved(struct) ident(pipe_list) operator(*)ident(tmp)operator(;) reserved(if) operator(()ident(list)operator(->)ident(fptr) operator(==) ident(fptr)operator(\)) operator({) ident(pipe_list) operator(=) ident(list)operator(->)ident(next)operator(;) ident(free)operator(()ident(list)operator(\);) reserved(return)operator(;) operator(}) reserved(while) operator(()ident(list)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(list)operator(->)ident(next)operator(->)ident(fptr) operator(==) ident(fptr)operator(\)) operator({) ident(tmp) operator(=) ident(list)operator(->)ident(next)operator(;) ident(list)operator(->)ident(next) operator(=) ident(list)operator(->)ident(next)operator(->)ident(next)operator(;) ident(free)operator(()ident(tmp)operator(\);) reserved(return)operator(;) operator(}) ident(list) operator(=) ident(list)operator(->)ident(next)operator(;) operator(}) operator(}) directive(static) directive(void) ident(pipe_atexit) ident(_)operator((()directive(void)operator(\)\)) operator({) reserved(struct) ident(pipe_list) operator(*)ident(list) operator(=) ident(pipe_list)operator(;) reserved(struct) ident(pipe_list) operator(*)ident(tmp)operator(;) reserved(while) operator(()ident(list)operator(\)) operator({) ident(tmp) operator(=) ident(list)operator(->)ident(next)operator(;) ident(rb_io_fptr_finalize)operator(()ident(list)operator(->)ident(fptr)operator(\);) ident(list) operator(=) ident(tmp)operator(;) operator(}) operator(}) directive(static) directive(void) ident(pipe_finalize) ident(_)operator((()ident(OpenFile) operator(*)ident(fptr)operator(,)pre_type(int)operator(\)\);) directive(static) directive(void) ident(pipe_finalize)operator(()ident(fptr)operator(,) ident(noraise)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(noraise)operator(;) operator({) preprocessor(#if) operator(!)ident(defined) operator(()ident(__CYGWIN__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) directive(extern) ident(VALUE) ident(rb_last_status)operator(;) pre_type(int) ident(status)operator(;) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) operator({) ident(status) operator(=) ident(pclose)operator(()ident(fptr)operator(->)ident(f)operator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(status) operator(=) ident(pclose)operator(()ident(fptr)operator(->)ident(f2)operator(\);) operator(}) ident(fptr)operator(->)ident(f) operator(=) ident(fptr)operator(->)ident(f2) operator(=) integer(0)operator(;) preprocessor(#if) ident(defined) ident(DJGPP) ident(status) operator(<<=) integer(8)operator(;) preprocessor(#endif) ident(rb_last_status) operator(=) ident(INT2FIX)operator(()ident(status)operator(\);) preprocessor(#else) ident(fptr_finalize)operator(()ident(fptr)operator(,) ident(noraise)operator(\);) preprocessor(#endif) ident(pipe_del_fptr)operator(()ident(fptr)operator(\);) operator(}) preprocessor(#endif) directive(void) ident(rb_io_synchronized)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_SYNC)operator(;) operator(}) directive(void) ident(rb_io_unbuffered)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) ident(rb_io_synchronized)operator(()ident(fptr)operator(\);) operator(}) directive(static) ident(VALUE) ident(pipe_open)operator(()ident(VALUE) ident(pstr)operator(,) pre_type(char) operator(*)ident(pname)operator(,) pre_type(char) operator(*)ident(mode)operator(\);) directive(static) ident(VALUE) ident(pipe_open)operator(()ident(pstr)operator(,) ident(pname)operator(,) ident(mode)operator(\)) ident(VALUE) ident(pstr)operator(;) pre_type(char) operator(*)ident(pname)operator(,) operator(*)ident(mode)operator(;) operator({) pre_type(int) ident(modef) operator(=) ident(rb_io_mode_flags)operator(()ident(mode)operator(\);) ident(OpenFile) operator(*)ident(fptr)operator(;) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__VMS)operator(\)) ident(FILE) operator(*)ident(f)operator(;) preprocessor(#else) pre_type(int) ident(pid)operator(;) preprocessor(#ifdef) ident(_WIN32) ident(FILE) operator(*)ident(fpr)operator(,) operator(*)ident(fpw)operator(;) preprocessor(#else) pre_type(int) ident(pr)operator([)integer(2)operator(],) ident(pw)operator([)integer(2)operator(];) preprocessor(#endif) preprocessor(#endif) directive(volatile) pre_type(int) ident(doexec)operator(;) reserved(if) operator((!)ident(pname)operator(\)) ident(pname) operator(=) ident(StringValueCStr)operator(()ident(pstr)operator(\);) ident(doexec) operator(=) operator(()ident(strcmp)operator(()stringoperator(,) ident(pname)operator(\)) operator(!=) integer(0)operator(\);) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__VMS)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) reserved(if) operator((!)ident(doexec)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eNotImpError)operator(,) stringoperator(\);) operator(}) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__VMS)operator(\)) ident(f) operator(=) ident(popen)operator(()ident(pname)operator(,) ident(mode)operator(\);) reserved(if) operator((!)ident(f)operator(\)) ident(rb_sys_fail)operator(()ident(pname)operator(\);) reserved(else) operator({) ident(VALUE) ident(port) operator(=) ident(io_alloc)operator(()ident(rb_cIO)operator(\);) ident(MakeOpenFile)operator(()ident(port)operator(,) ident(fptr)operator(\);) ident(fptr)operator(->)ident(finalize) operator(=) ident(pipe_finalize)operator(;) ident(fptr)operator(->)ident(mode) operator(=) ident(modef)operator(;) ident(pipe_add_fptr)operator(()ident(fptr)operator(\);) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_READABLE)operator(\)) ident(fptr)operator(->)ident(f) operator(=) ident(f)operator(;) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) ident(fptr)operator(->)ident(f2) operator(=) ident(f)operator(;) reserved(else) ident(fptr)operator(->)ident(f) operator(=) ident(f)operator(;) ident(rb_io_synchronized)operator(()ident(fptr)operator(\);) operator(}) reserved(return) operator(()ident(VALUE)operator(\))ident(port)operator(;) operator(}) preprocessor(#else) preprocessor(#ifdef) ident(_WIN32) label(retry:) ident(pid) operator(=) ident(pipe_exec)operator(()ident(pname)operator(,) ident(rb_io_mode_modenum)operator(()ident(mode)operator(\),) operator(&)ident(fpr)operator(,) operator(&)ident(fpw)operator(\);) reserved(if) operator(()ident(pid) operator(==) operator(-)integer(1)operator(\)) operator({) comment(/* exec failed */) reserved(if) operator(()ident(errno) operator(==) ident(EAGAIN)operator(\)) operator({) ident(rb_thread_sleep)operator(()integer(1)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) ident(rb_sys_fail)operator(()ident(pname)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(port) operator(=) ident(io_alloc)operator(()ident(rb_cIO)operator(\);) ident(MakeOpenFile)operator(()ident(port)operator(,) ident(fptr)operator(\);) ident(fptr)operator(->)ident(mode) operator(=) ident(modef)operator(;) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_SYNC)operator(;) ident(fptr)operator(->)ident(pid) operator(=) ident(pid)operator(;) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_READABLE)operator(\)) operator({) ident(fptr)operator(->)ident(f) operator(=) ident(fpr)operator(;) operator(}) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) ident(fptr)operator(->)ident(f2) operator(=) ident(fpw)operator(;) reserved(else) ident(fptr)operator(->)ident(f) operator(=) ident(fpw)operator(;) operator(}) ident(fptr)operator(->)ident(finalize) operator(=) ident(pipe_finalize)operator(;) ident(pipe_add_fptr)operator(()ident(fptr)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(port)operator(;) operator(}) preprocessor(#else) reserved(if) operator(((()ident(modef) operator(&) ident(FMODE_READABLE)operator(\)) operator(&&) ident(pipe)operator(()ident(pr)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator(||) operator((()ident(modef) operator(&) ident(FMODE_WRITABLE)operator(\)) operator(&&) ident(pipe)operator(()ident(pw)operator(\)) operator(==) operator(-)integer(1)operator(\)\)) ident(rb_sys_fail)operator(()ident(pname)operator(\);) reserved(if) operator((!)ident(doexec)operator(\)) operator({) ident(fflush)operator(()ident(stdin)operator(\);) comment(/* is it really needed? */) ident(fflush)operator(()ident(stdout)operator(\);) ident(fflush)operator(()ident(stderr)operator(\);) operator(}) label(retry:) reserved(switch) operator((()ident(pid) operator(=) ident(fork)operator((\)\)\)) operator({) reserved(case) integer(0)operator(:) comment(/* child */) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_READABLE)operator(\)) operator({) ident(close)operator(()ident(pr)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(pr)operator([)integer(1)operator(]) operator(!=) integer(1)operator(\)) operator({) ident(dup2)operator(()ident(pr)operator([)integer(1)operator(],) integer(1)operator(\);) ident(close)operator(()ident(pr)operator([)integer(1)operator(]\);) operator(}) operator(}) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) ident(close)operator(()ident(pw)operator([)integer(1)operator(]\);) reserved(if) operator(()ident(pw)operator([)integer(0)operator(]) operator(!=) integer(0)operator(\)) operator({) ident(dup2)operator(()ident(pw)operator([)integer(0)operator(],) integer(0)operator(\);) ident(close)operator(()ident(pw)operator([)integer(0)operator(]\);) operator(}) operator(}) reserved(if) operator(()ident(doexec)operator(\)) operator({) pre_type(int) ident(fd)operator(;) reserved(for) operator(()ident(fd) operator(=) integer(3)operator(;) ident(fd) operator(<) ident(NOFILE)operator(;) ident(fd)operator(++\)) ident(close)operator(()ident(fd)operator(\);) ident(rb_proc_exec)operator(()ident(pname)operator(\);) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(ruby_sourcefile)operator(,) ident(ruby_sourceline)operator(,) ident(pname)operator(\);) ident(_exit)operator(()integer(127)operator(\);) operator(}) ident(rb_io_synchronized)operator(()ident(RFILE)operator(()ident(orig_stdout)operator(\)->)ident(fptr)operator(\);) ident(rb_io_synchronized)operator(()ident(RFILE)operator(()ident(orig_stderr)operator(\)->)ident(fptr)operator(\);) reserved(return) ident(Qnil)operator(;) reserved(case) operator(-)integer(1)operator(:) comment(/* fork failed */) reserved(if) operator(()ident(errno) operator(==) ident(EAGAIN)operator(\)) operator({) ident(rb_thread_sleep)operator(()integer(1)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) reserved(else) operator({) pre_type(int) ident(e) operator(=) ident(errno)operator(;) reserved(if) operator((()ident(modef) operator(&) ident(FMODE_READABLE)operator(\)\)) operator({) ident(close)operator(()ident(pr)operator([)integer(0)operator(]\);) ident(close)operator(()ident(pr)operator([)integer(1)operator(]\);) operator(}) reserved(if) operator((()ident(modef) operator(&) ident(FMODE_WRITABLE)operator(\)\)) operator({) ident(close)operator(()ident(pw)operator([)integer(0)operator(]\);) ident(close)operator(()ident(pw)operator([)integer(1)operator(]\);) operator(}) ident(errno) operator(=) ident(e)operator(;) ident(rb_sys_fail)operator(()ident(pname)operator(\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) comment(/* parent */) reserved(if) operator(()ident(pid) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(pname)operator(\);) reserved(else) operator({) ident(VALUE) ident(port) operator(=) ident(io_alloc)operator(()ident(rb_cIO)operator(\);) ident(MakeOpenFile)operator(()ident(port)operator(,) ident(fptr)operator(\);) ident(fptr)operator(->)ident(mode) operator(=) ident(modef)operator(;) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_SYNC)operator(;) ident(fptr)operator(->)ident(pid) operator(=) ident(pid)operator(;) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_READABLE)operator(\)) operator({) ident(close)operator(()ident(pr)operator([)integer(1)operator(]\);) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fdopen)operator(()ident(pr)operator([)integer(0)operator(],) stringoperator(\);) operator(}) reserved(if) operator(()ident(modef) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) ident(FILE) operator(*)ident(f) operator(=) ident(rb_fdopen)operator(()ident(pw)operator([)integer(1)operator(],) stringoperator(\);) ident(close)operator(()ident(pw)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(fptr)operator(->)ident(f)operator(\)) ident(fptr)operator(->)ident(f2) operator(=) ident(f)operator(;) reserved(else) ident(fptr)operator(->)ident(f) operator(=) ident(f)operator(;) operator(}) preprocessor(#if) ident(defined) operator(()ident(__CYGWIN__)operator(\)) ident(fptr)operator(->)ident(finalize) operator(=) ident(pipe_finalize)operator(;) ident(pipe_add_fptr)operator(()ident(fptr)operator(\);) preprocessor(#endif) reserved(return) ident(port)operator(;) operator(}) operator(}) preprocessor(#endif) preprocessor(#endif) operator(}) comment(/* * call-seq: * IO.popen(cmd_string, mode="r" \) => io * IO.popen(cmd_string, mode="r" \) {|io| block } => obj * * Runs the specified command string as a subprocess; the subprocess's * standard input and output will be connected to the returned * IO object. If cmd_string starts with a * ``-'', then a new instance of Ruby is started as the * subprocess. The default mode for the new file object is ``r'', but * mode may be set to any of the modes listed in the description * for class IO. * * If a block is given, Ruby will run the command as a child connected * to Ruby with a pipe. Ruby's end of the pipe will be passed as a * parameter to the block. * At the end of block, Ruby close the pipe and sets $?. * In this case IO::popen returns * the value of the block. * * If a block is given with a cmd_string of ``-'', * the block will be run in two separate processes: once in the parent, * and once in a child. The parent process will be passed the pipe * object as a parameter to the block, the child version of the block * will be passed nil, and the child's standard in and * standard out will be connected to the parent through the pipe. Not * available on all platforms. * * f = IO.popen("uname"\) * p f.readlines * puts "Parent is #{Process.pid}" * IO.popen ("date"\) { |f| puts f.gets } * IO.popen("-"\) {|f| $stderr.puts "#{Process.pid} is here, f is #{f}"} * p $? * * produces: * * ["Linux\\n"] * Parent is 26166 * Wed Apr 9 08:53:52 CDT 2003 * 26169 is here, f is * 26166 is here, f is # * # */) directive(static) ident(VALUE) ident(rb_io_s_popen)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) pre_type(char) operator(*)ident(mode)operator(;) ident(VALUE) ident(pname)operator(,) ident(pmode)operator(,) ident(port)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(pname)operator(,) operator(&)ident(pmode)operator(\)) operator(==) integer(1)operator(\)) operator({) ident(mode) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(pmode)operator(\)\)) operator({) ident(mode) operator(=) ident(rb_io_modenum_mode)operator(()ident(FIX2INT)operator(()ident(pmode)operator(\)\);) operator(}) reserved(else) operator({) ident(mode) operator(=) ident(rb_io_flags_mode)operator(()ident(rb_io_mode_flags)operator(()ident(StringValueCStr)operator(()ident(pmode)operator(\)\)\);) operator(}) ident(SafeStringValue)operator(()ident(pname)operator(\);) ident(port) operator(=) ident(pipe_open)operator(()ident(pname)operator(,) integer(0)operator(,) ident(mode)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(port)operator(\)\)) operator({) comment(/* child */) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_yield)operator(()ident(Qnil)operator(\);) ident(fflush)operator(()ident(stdout)operator(\);) ident(fflush)operator(()ident(stderr)operator(\);) ident(_exit)operator(()integer(0)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) ident(RBASIC)operator(()ident(port)operator(\)->)ident(klass) operator(=) ident(klass)operator(;) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(port)operator(,) ident(io_close)operator(,) ident(port)operator(\);) operator(}) reserved(return) ident(port)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_open_file)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(vmode)operator(,) ident(perm)operator(;) pre_type(char) operator(*)ident(path)operator(,) operator(*)ident(mode)operator(;) pre_type(int) ident(flags)operator(;) pre_type(unsigned) pre_type(int) ident(fmode)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(vmode)operator(,) operator(&)ident(perm)operator(\);) ident(SafeStringValue)operator(()ident(fname)operator(\);) ident(path) operator(=) ident(StringValueCStr)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(vmode)operator(\)) operator(||) operator(!)ident(NIL_P)operator(()ident(perm)operator(\)\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(vmode)operator(\)\)) operator({) ident(flags) operator(=) ident(FIX2INT)operator(()ident(vmode)operator(\);) operator(}) reserved(else) operator({) ident(SafeStringValue)operator(()ident(vmode)operator(\);) ident(flags) operator(=) ident(rb_io_mode_modenum)operator(()ident(RSTRING)operator(()ident(vmode)operator(\)->)ident(ptr)operator(\);) operator(}) ident(fmode) operator(=) ident(NIL_P)operator(()ident(perm)operator(\)) operator(?) oct(0666) operator(:) ident(NUM2UINT)operator(()ident(perm)operator(\);) ident(rb_file_sysopen_internal)operator(()ident(io)operator(,) ident(path)operator(,) ident(flags)operator(,) ident(fmode)operator(\);) operator(}) reserved(else) operator({) ident(mode) operator(=) ident(NIL_P)operator(()ident(vmode)operator(\)) operator(?) string operator(:) ident(StringValueCStr)operator(()ident(vmode)operator(\);) ident(rb_file_open_internal)operator(()ident(io)operator(,) ident(path)operator(,) ident(mode)operator(\);) operator(}) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * IO.open(fd, mode_string="r" \) => io * IO.open(fd, mode_string="r" \) {|io| block } => obj * * With no associated block, open is a synonym for * IO::new. If the optional code block is given, it will * be passed io as an argument, and the IO object will * automatically be closed when the block terminates. In this instance, * IO::open returns the value of the block. * */) directive(static) ident(VALUE) ident(rb_io_s_open)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(io) operator(=) ident(rb_class_new_instance)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(io)operator(,) ident(io_close)operator(,) ident(io)operator(\);) operator(}) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * IO.sysopen(path, [mode, [perm]]\) => fixnum * * Opens the given path, returning the underlying file descriptor as a * Fixnum. * * IO.sysopen("testfile"\) #=> 3 * */) directive(static) ident(VALUE) ident(rb_io_s_sysopen)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(vmode)operator(,) ident(perm)operator(;) pre_type(int) ident(flags)operator(,) ident(fd)operator(;) pre_type(unsigned) pre_type(int) ident(fmode)operator(;) pre_type(char) operator(*)ident(path)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(vmode)operator(,) operator(&)ident(perm)operator(\);) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(vmode)operator(\)\)) ident(flags) operator(=) ident(O_RDONLY)operator(;) reserved(else) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(vmode)operator(\)\)) ident(flags) operator(=) ident(FIX2INT)operator(()ident(vmode)operator(\);) reserved(else) operator({) ident(SafeStringValue)operator(()ident(vmode)operator(\);) ident(flags) operator(=) ident(rb_io_mode_modenum)operator(()ident(RSTRING)operator(()ident(vmode)operator(\)->)ident(ptr)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(perm)operator(\)\)) ident(fmode) operator(=) oct(0666)operator(;) reserved(else) ident(fmode) operator(=) ident(NUM2UINT)operator(()ident(perm)operator(\);) ident(path) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\)+)integer(1)operator(\);) ident(strcpy)operator(()ident(path)operator(,) ident(RSTRING)operator(()ident(fname)operator(\)->)ident(ptr)operator(\);) ident(fd) operator(=) ident(rb_sysopen)operator(()ident(path)operator(,) ident(flags)operator(,) ident(fmode)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(fd)operator(\);) operator(}) comment(/* * call-seq: * open(path [, mode [, perm]] \) => io or nil * open(path [, mode [, perm]] \) {|io| block } => obj * * Creates an IO object connected to the given stream, * file, or subprocess. * * If path does not start with a pipe character * (``|''\), treat it as the name of a file to open using * the specified mode (defaulting to ``r''\). (See the table * of valid modes on page 331.\) If a file is being created, its initial * permissions may be set using the integer third parameter. * * If a block is specified, it will be invoked with the * File object as a parameter, and the file will be * automatically closed when the block terminates. The call * returns the value of the block. * * If path starts with a pipe character, a subprocess is * created, connected to the caller by a pair of pipes. The returned * IO object may be used to write to the standard input * and read from the standard output of this subprocess. If the command * following the ``|'' is a single minus sign, Ruby forks, * and this subprocess is connected to the parent. In the subprocess, * the open call returns nil. If the command * is not ``-'', the subprocess runs the command. If a * block is associated with an open("|-"\) call, that block * will be run twice---once in the parent and once in the child. The * block parameter will be an IO object in the parent and * nil in the child. The parent's IO object * will be connected to the child's $stdin and * $stdout. The subprocess will be terminated at the end * of the block. * * open("testfile"\) do |f| * print f.gets * end * * produces: * * This is line one * * Open a subprocess and read its output: * * cmd = open("|date"\) * print cmd.gets * cmd.close * * produces: * * Wed Apr 9 08:56:31 CDT 2003 * * Open a subprocess running the same Ruby program: * * f = open("|-", "w+"\) * if f == nil * puts "in Child" * exit * else * puts "Got: #{f.gets}" * end * * produces: * * Got: in Child * * Open a subprocess using a block to receive the I/O object: * * open("|-"\) do |f| * if f == nil * puts "in Child" * else * puts "Got: #{f.gets}" * end * end * * produces: * * Got: in Child */) directive(static) ident(VALUE) ident(rb_f_open)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(if) operator(()ident(argc) operator(>=) integer(1)operator(\)) operator({) pre_type(char) operator(*)ident(str) operator(=) ident(StringValuePtr)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(if) operator(()ident(str)operator([)integer(0)operator(]) operator(==) char('|')operator(\)) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_str_new)operator(()ident(str)operator(+)integer(1)operator(,) ident(RSTRING)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len)operator(-)integer(1)operator(\);) ident(OBJ_INFECT)operator(()ident(tmp)operator(,) ident(argv)operator([)integer(0)operator(]\);) ident(argv)operator([)integer(0)operator(]) operator(=) ident(tmp)operator(;) reserved(return) ident(rb_io_s_popen)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_cIO)operator(\);) operator(}) operator(}) reserved(return) ident(rb_io_s_open)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_cFile)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_io_open)operator(()ident(fname)operator(,) ident(mode)operator(\)) pre_type(char) operator(*)ident(fname)operator(,) operator(*)ident(mode)operator(;) operator({) reserved(if) operator(()ident(fname)operator([)integer(0)operator(]) operator(==) char('|')operator(\)) operator({) reserved(return) ident(pipe_open)operator(()integer(0)operator(,) ident(fname)operator(+)integer(1)operator(,) ident(mode)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(rb_file_open)operator(()ident(fname)operator(,) ident(mode)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(rb_io_get_io)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(return) ident(rb_convert_type)operator(()ident(io)operator(,) ident(T_FILE)operator(,) stringoperator(,) stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(rb_io_check_io)operator(()ident(io)operator(\)) ident(VALUE) ident(io)operator(;) operator({) reserved(return) ident(rb_check_convert_type)operator(()ident(io)operator(,) ident(T_FILE)operator(,) stringoperator(,) stringoperator(\);) operator(}) directive(static) pre_type(char)operator(*) ident(rb_io_mode_string)operator(()ident(fptr)operator(\)) ident(OpenFile) operator(*)ident(fptr)operator(;) operator({) reserved(switch) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_READWRITE)operator(\)) operator({) reserved(case) ident(FMODE_READABLE)operator(:) reserved(default)operator(:) reserved(return) stringoperator(;) reserved(case) ident(FMODE_WRITABLE)operator(:) reserved(return) stringoperator(;) reserved(case) ident(FMODE_READWRITE)operator(:) reserved(return) stringoperator(;) operator(}) operator(}) directive(static) ident(VALUE) ident(io_reopen)operator(()ident(io)operator(,) ident(nfile)operator(\)) ident(VALUE) ident(io)operator(,) ident(nfile)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(,) operator(*)ident(orig)operator(;) pre_type(char) operator(*)ident(mode)operator(;) pre_type(int) ident(fd)operator(,) ident(fd2)operator(;) ident(off_t) ident(pos) operator(=) integer(0)operator(;) ident(nfile) operator(=) ident(rb_io_get_io)operator(()ident(nfile)operator(\);) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4) operator(&&) operator((!)ident(OBJ_TAINTED)operator(()ident(io)operator(\)) operator(||) operator(!)ident(OBJ_TAINTED)operator(()ident(nfile)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(GetOpenFile)operator(()ident(nfile)operator(,) ident(orig)operator(\);) reserved(if) operator(()ident(fptr) operator(==) ident(orig)operator(\)) reserved(return) ident(io)operator(;) reserved(if) operator(()ident(orig)operator(->)ident(mode) operator(&) ident(FMODE_READABLE)operator(\)) operator({) ident(pos) operator(=) ident(io_tell)operator(()ident(orig)operator(\);) operator(}) reserved(if) operator(()ident(orig)operator(->)ident(f2)operator(\)) operator({) ident(io_fflush)operator(()ident(orig)operator(->)ident(f2)operator(,) ident(orig)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(orig)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) ident(io_fflush)operator(()ident(orig)operator(->)ident(f)operator(,) ident(orig)operator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) ident(io_fflush)operator(()ident(GetWriteFile)operator(()ident(fptr)operator(\),) ident(fptr)operator(\);) operator(}) comment(/* copy OpenFile structure */) ident(fptr)operator(->)ident(mode) operator(=) ident(orig)operator(->)ident(mode)operator(;) ident(fptr)operator(->)ident(pid) operator(=) ident(orig)operator(->)ident(pid)operator(;) ident(fptr)operator(->)ident(lineno) operator(=) ident(orig)operator(->)ident(lineno)operator(;) reserved(if) operator(()ident(fptr)operator(->)ident(path)operator(\)) ident(free)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(if) operator(()ident(orig)operator(->)ident(path)operator(\)) ident(fptr)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(orig)operator(->)ident(path)operator(\);) reserved(else) ident(fptr)operator(->)ident(path) operator(=) integer(0)operator(;) ident(fptr)operator(->)ident(finalize) operator(=) ident(orig)operator(->)ident(finalize)operator(;) ident(mode) operator(=) ident(rb_io_mode_string)operator(()ident(fptr)operator(\);) ident(fd) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(fd2) operator(=) ident(fileno)operator(()ident(orig)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(fd) operator(!=) ident(fd2)operator(\)) operator({) reserved(if) operator(()ident(fptr)operator(->)ident(f) operator(==) ident(stdin) operator(||) ident(fptr)operator(->)ident(f) operator(==) ident(stdout) operator(||) ident(fptr)operator(->)ident(f) operator(==) ident(stderr)operator(\)) operator({) ident(clearerr)operator(()ident(fptr)operator(->)ident(f)operator(\);) comment(/* need to keep stdio objects */) reserved(if) operator(()ident(dup2)operator(()ident(fd2)operator(,) ident(fd)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(orig)operator(->)ident(path)operator(\);) operator(}) reserved(else) operator({) ident(FILE) operator(*)ident(f2) operator(=) ident(fptr)operator(->)ident(f2)operator(;) pre_type(int) ident(m) operator(=) ident(fptr)operator(->)ident(mode)operator(;) ident(fclose)operator(()ident(fptr)operator(->)ident(f)operator(\);) ident(fptr)operator(->)ident(f) operator(=) ident(f2)operator(;) ident(fptr)operator(->)ident(f2) operator(=) pre_constant(NULL)operator(;) ident(fptr)operator(->)ident(mode) operator(&=) operator(()ident(m) operator(&) ident(FMODE_READABLE)operator(\)) operator(?) operator(~)ident(FMODE_READABLE) operator(:) operator(~)ident(FMODE_WRITABLE)operator(;) reserved(if) operator(()ident(dup2)operator(()ident(fd2)operator(,) ident(fd)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(orig)operator(->)ident(path)operator(\);) reserved(if) operator(()ident(f2)operator(\)) operator({) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) stringoperator(\);) ident(fptr)operator(->)ident(f2) operator(=) ident(f2)operator(;) operator(}) reserved(else) operator({) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) ident(mode)operator(\);) operator(}) ident(fptr)operator(->)ident(mode) operator(=) ident(m)operator(;) operator(}) ident(rb_thread_fd_close)operator(()ident(fd)operator(\);) reserved(if) operator((()ident(orig)operator(->)ident(mode) operator(&) ident(FMODE_READABLE)operator(\)) operator(&&) ident(pos) operator(>=) integer(0)operator(\)) operator({) ident(io_seek)operator(()ident(fptr)operator(,) ident(pos)operator(,) ident(SEEK_SET)operator(\);) ident(io_seek)operator(()ident(orig)operator(,) ident(pos)operator(,) ident(SEEK_SET)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(&&) ident(fd) operator(!=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\)\)) operator({) ident(fd) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\);) reserved(if) operator((!)ident(orig)operator(->)ident(f2)operator(\)) operator({) ident(fclose)operator(()ident(fptr)operator(->)ident(f2)operator(\);) ident(rb_thread_fd_close)operator(()ident(fd)operator(\);) ident(fptr)operator(->)ident(f2) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(fd) operator(!=) operator(()ident(fd2) operator(=) ident(fileno)operator(()ident(orig)operator(->)ident(f2)operator(\)\)\)) operator({) ident(fclose)operator(()ident(fptr)operator(->)ident(f2)operator(\);) ident(rb_thread_fd_close)operator(()ident(fd)operator(\);) reserved(if) operator(()ident(dup2)operator(()ident(fd2)operator(,) ident(fd)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(orig)operator(->)ident(path)operator(\);) ident(fptr)operator(->)ident(f2) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) stringoperator(\);) operator(}) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_BINMODE)operator(\)) operator({) ident(rb_io_binmode)operator(()ident(io)operator(\);) operator(}) ident(RBASIC)operator(()ident(io)operator(\)->)ident(klass) operator(=) ident(RBASIC)operator(()ident(nfile)operator(\)->)ident(klass)operator(;) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * ios.reopen(other_IO\) => ios * ios.reopen(path, mode_str\) => ios * * Reassociates ios with the I/O stream given in * other_IO or to a new stream opened on path. This may * dynamically change the actual class of this stream. * * f1 = File.new("testfile"\) * f2 = File.new("testfile"\) * f2.readlines[0] #=> "This is line one\\n" * f2.reopen(f1\) #=> # * f2.readlines[0] #=> "This is line one\\n" */) directive(static) ident(VALUE) ident(rb_io_reopen)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(file)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(file)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(nmode)operator(;) pre_type(char) operator(*)ident(mode)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(nmode)operator(\)) operator(==) integer(1)operator(\)) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_io_check_io)operator(()ident(fname)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(io_reopen)operator(()ident(file)operator(,) ident(tmp)operator(\);) operator(}) operator(}) ident(SafeStringValue)operator(()ident(fname)operator(\);) ident(rb_io_taint_check)operator(()ident(file)operator(\);) ident(fptr) operator(=) ident(RFILE)operator(()ident(file)operator(\)->)ident(fptr)operator(;) reserved(if) operator((!)ident(fptr)operator(\)) operator({) ident(fptr) operator(=) ident(RFILE)operator(()ident(file)operator(\)->)ident(fptr) operator(=) ident(ALLOC)operator(()ident(OpenFile)operator(\);) ident(MEMZERO)operator(()ident(fptr)operator(,) ident(OpenFile)operator(,) integer(1)operator(\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(nmode)operator(\)\)) operator({) ident(fptr)operator(->)ident(mode) operator(=) ident(rb_io_mode_flags)operator(()ident(StringValueCStr)operator(()ident(nmode)operator(\)\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(path)operator(\)) operator({) ident(free)operator(()ident(fptr)operator(->)ident(path)operator(\);) ident(fptr)operator(->)ident(path) operator(=) integer(0)operator(;) operator(}) ident(fptr)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\)\);) ident(mode) operator(=) ident(rb_io_flags_mode)operator(()ident(fptr)operator(->)ident(mode)operator(\);) reserved(if) operator((!)ident(fptr)operator(->)ident(f)operator(\)) operator({) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fopen)operator(()ident(fptr)operator(->)ident(path)operator(,) ident(mode)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(fclose)operator(()ident(fptr)operator(->)ident(f2)operator(\);) ident(fptr)operator(->)ident(f2) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(file)operator(;) operator(}) reserved(if) operator(()ident(freopen)operator(()ident(fptr)operator(->)ident(path)operator(,) ident(mode)operator(,) ident(fptr)operator(->)ident(f)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) preprocessor(#ifdef) ident(USE_SETVBUF) reserved(if) operator(()ident(setvbuf)operator(()ident(fptr)operator(->)ident(f)operator(,) pre_constant(NULL)operator(,) ident(_IOFBF)operator(,) integer(0)operator(\)) operator(!=) integer(0)operator(\)) ident(rb_warn)operator(()stringoperator(,) ident(fptr)operator(->)ident(path)operator(\);) preprocessor(#endif) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) reserved(if) operator(()ident(freopen)operator(()ident(fptr)operator(->)ident(path)operator(,) stringoperator(,) ident(fptr)operator(->)ident(f2)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) operator(}) operator(}) reserved(return) ident(file)operator(;) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(rb_io_init_copy)operator(()ident(dest)operator(,) ident(io)operator(\)) ident(VALUE) ident(dest)operator(,) ident(io)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(,) operator(*)ident(orig)operator(;) pre_type(int) ident(fd)operator(;) pre_type(char) operator(*)ident(mode)operator(;) ident(io) operator(=) ident(rb_io_get_io)operator(()ident(io)operator(\);) reserved(if) operator(()ident(dest) operator(==) ident(io)operator(\)) reserved(return) ident(dest)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(orig)operator(\);) ident(MakeOpenFile)operator(()ident(dest)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(orig)operator(->)ident(f2)operator(\)) operator({) ident(io_fflush)operator(()ident(orig)operator(->)ident(f2)operator(,) ident(orig)operator(\);) ident(fseeko)operator(()ident(orig)operator(->)ident(f)operator(,) integer(0L)operator(,) ident(SEEK_CUR)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(orig)operator(->)ident(mode) operator(&) ident(FMODE_WRITABLE)operator(\)) operator({) ident(io_fflush)operator(()ident(orig)operator(->)ident(f)operator(,) ident(orig)operator(\);) operator(}) reserved(else) operator({) ident(fseeko)operator(()ident(orig)operator(->)ident(f)operator(,) integer(0L)operator(,) ident(SEEK_CUR)operator(\);) operator(}) comment(/* copy OpenFile structure */) ident(fptr)operator(->)ident(mode) operator(=) ident(orig)operator(->)ident(mode)operator(;) ident(fptr)operator(->)ident(pid) operator(=) ident(orig)operator(->)ident(pid)operator(;) ident(fptr)operator(->)ident(lineno) operator(=) ident(orig)operator(->)ident(lineno)operator(;) reserved(if) operator(()ident(orig)operator(->)ident(path)operator(\)) ident(fptr)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(orig)operator(->)ident(path)operator(\);) ident(fptr)operator(->)ident(finalize) operator(=) ident(orig)operator(->)ident(finalize)operator(;) reserved(switch) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_READWRITE)operator(\)) operator({) reserved(case) ident(FMODE_READABLE)operator(:) reserved(default)operator(:) ident(mode) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(FMODE_WRITABLE)operator(:) ident(mode) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(FMODE_READWRITE)operator(:) reserved(if) operator(()ident(orig)operator(->)ident(f2)operator(\)) ident(mode) operator(=) stringoperator(;) reserved(else) ident(mode) operator(=) stringoperator(;) reserved(break)operator(;) operator(}) ident(fd) operator(=) ident(ruby_dup)operator(()ident(fileno)operator(()ident(orig)operator(->)ident(f)operator(\)\);) ident(fptr)operator(->)ident(f) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) ident(mode)operator(\);) ident(fseeko)operator(()ident(fptr)operator(->)ident(f)operator(,) ident(ftello)operator(()ident(orig)operator(->)ident(f)operator(\),) ident(SEEK_SET)operator(\);) reserved(if) operator(()ident(orig)operator(->)ident(f2)operator(\)) operator({) reserved(if) operator(()ident(fileno)operator(()ident(orig)operator(->)ident(f)operator(\)) operator(!=) ident(fileno)operator(()ident(orig)operator(->)ident(f2)operator(\)\)) operator({) ident(fd) operator(=) ident(ruby_dup)operator(()ident(fileno)operator(()ident(orig)operator(->)ident(f2)operator(\)\);) operator(}) ident(fptr)operator(->)ident(f2) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) stringoperator(\);) ident(fseeko)operator(()ident(fptr)operator(->)ident(f2)operator(,) ident(ftello)operator(()ident(orig)operator(->)ident(f2)operator(\),) ident(SEEK_SET)operator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_BINMODE)operator(\)) operator({) ident(rb_io_binmode)operator(()ident(dest)operator(\);) operator(}) reserved(return) ident(dest)operator(;) operator(}) comment(/* * call-seq: * ios.printf(format_string [, obj, ...] \) => nil * * Formats and writes to ios, converting parameters under * control of the format string. See Kernel#sprintf * for details. */) ident(VALUE) ident(rb_io_printf)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(out)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) ident(argv)operator([];) ident(VALUE) ident(out)operator(;) operator({) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_f_sprintf)operator(()ident(argc)operator(,) ident(argv)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * printf(io, string [, obj ... ] \) => nil * printf(string [, obj ... ] \) => nil * * Equivalent to: * io.write(sprintf(string, obj, ...\) * or * $stdout.write(sprintf(string, obj, ...\) */) directive(static) ident(VALUE) ident(rb_f_printf)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) ident(argv)operator([];) operator({) ident(VALUE) ident(out)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(out) operator(=) ident(rb_stdout)operator(;) operator(}) reserved(else) operator({) ident(out) operator(=) ident(argv)operator([)integer(0)operator(];) ident(argv)operator(++;) ident(argc)operator(--;) operator(}) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_f_sprintf)operator(()ident(argc)operator(,) ident(argv)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.print(\) => nil * ios.print(obj, ...\) => nil * * Writes the given object(s\) to ios. The stream must be * opened for writing. If the output record separator ($\\\\\) * is not nil, it will be appended to the output. If no * arguments are given, prints $_. Objects that aren't * strings will be converted by calling their to_s method. * With no argument, prints the contents of the variable $_. * Returns nil. * * $stdout.print("This is ", 100, " percent.\\n"\) * * produces: * * This is 100 percent. */) ident(VALUE) ident(rb_io_print)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(out)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(out)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(VALUE) ident(line)operator(;) comment(/* if no argument given, print `$_' */) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(argc) operator(=) integer(1)operator(;) ident(line) operator(=) ident(rb_lastline_get)operator((\);) ident(argv) operator(=) operator(&)ident(line)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(rb_output_fs)operator(\)) operator(&&) ident(i)operator(>)integer(0)operator(\)) operator({) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_output_fs)operator(\);) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(argv)operator([)ident(i)operator(]\)\)) operator({) reserved(case) ident(T_NIL)operator(:) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_str_new2)operator(()stringoperator(\)\);) reserved(break)operator(;) reserved(default)operator(:) ident(rb_io_write)operator(()ident(out)operator(,) ident(argv)operator([)ident(i)operator(]\);) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(rb_output_rs)operator(\)\)) operator({) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_output_rs)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * print(obj, ...\) => nil * * Prints each object in turn to $stdout. If the output * field separator ($,\) is not +nil+, its * contents will appear between each field. If the output record * separator ($\\\\\) is not +nil+, it will be * appended to the output. If no arguments are given, prints * $_. Objects that aren't strings will be converted by * calling their to_s method. * * print "cat", [1,2,3], 99, "\\n" * $, = ", " * $\\ = "\\n" * print "cat", [1,2,3], 99 * * produces: * * cat12399 * cat, 1, 2, 3, 99 */) directive(static) ident(VALUE) ident(rb_f_print)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(rb_io_print)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_stdout)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.putc(obj\) => obj * * If obj is Numeric, write the character whose * code is obj, otherwise write the first character of the * string representation of obj to ios. * * $stdout.putc "A" * $stdout.putc 65 * * produces: * * AA */) directive(static) ident(VALUE) ident(rb_io_putc)operator(()ident(io)operator(,) ident(ch)operator(\)) ident(VALUE) ident(io)operator(,) ident(ch)operator(;) operator({) pre_type(char) ident(c) operator(=) ident(NUM2CHR)operator(()ident(ch)operator(\);) ident(rb_io_write)operator(()ident(io)operator(,) ident(rb_str_new)operator((&)ident(c)operator(,) integer(1)operator(\)\);) reserved(return) ident(ch)operator(;) operator(}) comment(/* * call-seq: * putc(int\) => int * * Equivalent to: * * $stdout.putc(int\) */) directive(static) ident(VALUE) ident(rb_f_putc)operator(()ident(recv)operator(,) ident(ch)operator(\)) ident(VALUE) ident(recv)operator(,) ident(ch)operator(;) operator({) reserved(return) ident(rb_io_putc)operator(()ident(rb_stdout)operator(,) ident(ch)operator(\);) operator(}) directive(static) ident(VALUE) ident(io_puts_ary)operator(()ident(ary)operator(,) ident(out)operator(\)) ident(VALUE) ident(ary)operator(,) ident(out)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(tmp) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(tmp)operator(\)\)) operator({) ident(tmp) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) ident(rb_io_puts)operator(()integer(1)operator(,) operator(&)ident(tmp)operator(,) ident(out)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * ios.puts(obj, ...\) => nil * * Writes the given objects to ios as with * IO#print. Writes a record separator (typically a * newline\) after any that do not already end with a newline sequence. * If called with an array argument, writes each element on a new line. * If called without arguments, outputs a single record separator. * * $stdout.puts("this", "is", "a", "test"\) * * produces: * * this * is * a * test */) ident(VALUE) ident(rb_io_puts)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(out)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(out)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(VALUE) ident(line)operator(;) comment(/* if no argument given, print newline. */) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_default_rs)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(argv)operator([)ident(i)operator(]\)\)) operator({) ident(line) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(line) operator(=) ident(rb_check_array_type)operator(()ident(argv)operator([)ident(i)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(line)operator(\)\)) operator({) ident(rb_protect_inspect)operator(()ident(io_puts_ary)operator(,) ident(line)operator(,) ident(out)operator(\);) reserved(continue)operator(;) operator(}) ident(line) operator(=) ident(rb_obj_as_string)operator(()ident(argv)operator([)ident(i)operator(]\);) operator(}) ident(rb_io_write)operator(()ident(out)operator(,) ident(line)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(line)operator(\)->)ident(len) operator(==) integer(0) operator(||) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(line)operator(\)->)ident(len)operator(-)integer(1)operator(]) operator(!=) char('\\n')operator(\)) operator({) ident(rb_io_write)operator(()ident(out)operator(,) ident(rb_default_rs)operator(\);) operator(}) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * puts(obj, ...\) => nil * * Equivalent to * * $stdout.puts(obj, ...\) */) directive(static) ident(VALUE) ident(rb_f_puts)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(rb_io_puts)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(rb_stdout)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(rb_p)operator(()ident(obj)operator(\)) comment(/* for debug print within C code */) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_io_write)operator(()ident(rb_stdout)operator(,) ident(rb_obj_as_string)operator(()ident(rb_inspect)operator(()ident(obj)operator(\)\)\);) ident(rb_io_write)operator(()ident(rb_stdout)operator(,) ident(rb_default_rs)operator(\);) operator(}) comment(/* * call-seq: * p(obj, ...\) => nil * * For each object, directly writes * _obj_.+inspect+ followed by the current output * record separator to the program's standard output. * * S = Struct.new(:name, :state\) * s = S['dave', 'TX'] * p s * * produces: * * # */) directive(static) ident(VALUE) ident(rb_f_p)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_p)operator(()ident(argv)operator([)ident(i)operator(]\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(rb_stdout)operator(\)) operator(==) ident(T_FILE)operator(\)) operator({) ident(rb_io_flush)operator(()ident(rb_stdout)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * obj.display(port=$>\) => nil * * Prints obj on the given port (default $>\). * Equivalent to: * * def display(port=$>\) * port.write self * end * * For example: * * 1.display * "cat".display * [ 4, 5, 6 ].display * puts * * produces: * * 1cat456 */) directive(static) ident(VALUE) ident(rb_obj_display)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) ident(VALUE) ident(out)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(out)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(out) operator(=) ident(rb_stdout)operator(;) operator(}) ident(rb_io_write)operator(()ident(out)operator(,) ident(self)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(rb_write_error2)operator(()ident(mesg)operator(,) ident(len)operator(\)) directive(const) pre_type(char) operator(*)ident(mesg)operator(;) pre_type(long) ident(len)operator(;) operator({) ident(rb_io_write)operator(()ident(rb_stderr)operator(,) ident(rb_str_new)operator(()ident(mesg)operator(,) ident(len)operator(\)\);) operator(}) directive(void) ident(rb_write_error)operator(()ident(mesg)operator(\)) directive(const) pre_type(char) operator(*)ident(mesg)operator(;) operator({) ident(rb_write_error2)operator(()ident(mesg)operator(,) ident(strlen)operator(()ident(mesg)operator(\)\);) operator(}) directive(static) directive(void) ident(must_respond_to)operator(()ident(mid)operator(,) ident(val)operator(,) ident(id)operator(\)) ident(ID) ident(mid)operator(;) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(val)operator(,) ident(mid)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(rb_id2name)operator(()ident(mid)operator(\),) ident(rb_obj_classname)operator(()ident(val)operator(\)\);) operator(}) operator(}) directive(static) directive(void) ident(stdout_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(variable)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(variable)operator(;) operator({) ident(must_respond_to)operator(()ident(id_write)operator(,) ident(val)operator(,) ident(id)operator(\);) operator(*)ident(variable) operator(=) ident(val)operator(;) operator(}) directive(static) directive(void) ident(defout_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(variable)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(variable)operator(;) operator({) ident(stdout_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(variable)operator(\);) ident(rb_warn)operator(()stringoperator(\);) operator(}) directive(static) directive(void) ident(deferr_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(variable)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(variable)operator(;) operator({) ident(stdout_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(variable)operator(\);) ident(rb_warn)operator(()stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(prep_stdio)operator(()ident(f)operator(,) ident(mode)operator(,) ident(klass)operator(\)) ident(FILE) operator(*)ident(f)operator(;) pre_type(int) ident(mode)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(OpenFile) operator(*)ident(fp)operator(;) ident(VALUE) ident(io) operator(=) ident(io_alloc)operator(()ident(klass)operator(\);) ident(MakeOpenFile)operator(()ident(io)operator(,) ident(fp)operator(\);) preprocessor(#ifdef) ident(__CYGWIN__) reserved(if) operator((!)ident(isatty)operator(()ident(fileno)operator(()ident(f)operator(\)\)\)) operator({) ident(mode) operator(|=) ident(O_BINARY)operator(;) ident(setmode)operator(()ident(fileno)operator(()ident(f)operator(\),) ident(O_BINARY)operator(\);) operator(}) preprocessor(#endif) ident(fp)operator(->)ident(f) operator(=) ident(f)operator(;) ident(fp)operator(->)ident(mode) operator(=) ident(mode)operator(;) reserved(return) ident(io)operator(;) operator(}) directive(static) directive(void) ident(prep_path)operator(()ident(io)operator(,) ident(path)operator(\)) ident(VALUE) ident(io)operator(;) pre_type(char) operator(*)ident(path)operator(;) operator({) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(path)operator(\)) ident(rb_bug)operator(()stringoperator(\);) ident(fptr)operator(->)ident(path) operator(=) ident(strdup)operator(()ident(path)operator(\);) operator(}) comment(/* * call-seq: * IO.new(fd, mode\) => io * * Returns a new IO object (a stream\) for the given * integer file descriptor and mode string. See also * IO#fileno and IO::for_fd. * * a = IO.new(2,"w"\) # '2' is standard error * $stderr.puts "Hello" * a.puts "World" * * produces: * * Hello * World */) directive(static) ident(VALUE) ident(rb_io_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(fnum)operator(,) ident(mode)operator(;) ident(OpenFile) operator(*)ident(fp)operator(;) pre_type(int) ident(fd)operator(,) ident(flags)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fnum)operator(,) operator(&)ident(mode)operator(\);) ident(fd) operator(=) ident(NUM2INT)operator(()ident(fnum)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(mode)operator(\)\)) operator({) ident(flags) operator(=) ident(FIX2LONG)operator(()ident(mode)operator(\);) operator(}) reserved(else) operator({) ident(SafeStringValue)operator(()ident(mode)operator(\);) ident(flags) operator(=) ident(rb_io_mode_modenum)operator(()ident(StringValueCStr)operator(()ident(mode)operator(\)\);) operator(}) operator(}) reserved(else) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_FCNTL)operator(\)) operator(&&) ident(defined)operator(()ident(F_GETFL)operator(\)) ident(flags) operator(=) ident(fcntl)operator(()ident(fd)operator(,) ident(F_GETFL)operator(\);) reserved(if) operator(()ident(flags) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(flags) operator(=) ident(O_RDONLY)operator(;) preprocessor(#endif) operator(}) ident(MakeOpenFile)operator(()ident(io)operator(,) ident(fp)operator(\);) ident(fp)operator(->)ident(mode) operator(=) ident(rb_io_modenum_flags)operator(()ident(flags)operator(\);) ident(fp)operator(->)ident(f) operator(=) ident(rb_fdopen)operator(()ident(fd)operator(,) ident(rb_io_modenum_mode)operator(()ident(flags)operator(\)\);) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * File.new(filename, mode="r"\) => file * File.new(filename [, mode [, perm]]\) => file * * Opens the file named by _filename_ according to * _mode_ (default is ``r''\) and returns a new * File object. See the description of class +IO+ for * a description of _mode_. The file mode may optionally be * specified as a +Fixnum+ by _or_-ing together the * flags (O_RDONLY etc, again described under +IO+\). Optional * permission bits may be given in _perm_. These mode and permission * bits are platform dependent; on Unix systems, see * open(2\) for details. * * f = File.new("testfile", "r"\) * f = File.new("newfile", "w+"\) * f = File.new("newfile", File::CREAT|File::TRUNC|File::RDWR, 0644\) */) directive(static) ident(VALUE) ident(rb_file_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) reserved(if) operator(()ident(RFILE)operator(()ident(io)operator(\)->)ident(fptr)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()integer(0) operator(<) ident(argc) operator(&&) ident(argc) operator(<) integer(3)operator(\)) operator({) ident(VALUE) ident(fd) operator(=) ident(rb_check_convert_type)operator(()ident(argv)operator([)integer(0)operator(],) ident(T_FIXNUM)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(fd)operator(\)\)) operator({) ident(argv)operator([)integer(0)operator(]) operator(=) ident(fd)operator(;) reserved(return) ident(rb_io_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\);) operator(}) operator(}) ident(rb_open_file)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\);) reserved(return) ident(io)operator(;) operator(}) comment(/* * call-seq: * IO.new(fd, mode_string\) => io * * Returns a new IO object (a stream\) for the given * integer file descriptor and mode string. See also * IO#fileno and IO::for_fd. * * a = IO.new(2,"w"\) # '2' is standard error * $stderr.puts "Hello" * a.puts "World" * * produces: * * Hello * World */) directive(static) ident(VALUE) ident(rb_io_s_new)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) pre_type(char) operator(*)ident(cname) operator(=) ident(rb_class2name)operator(()ident(klass)operator(\);) ident(rb_warn)operator(()stringoperator(,) ident(cname)operator(,) ident(cname)operator(\);) operator(}) reserved(return) ident(rb_class_new_instance)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\);) operator(}) comment(/* * call-seq: * IO.for_fd(fd, mode\) => io * * Synonym for IO::new. * */) directive(static) ident(VALUE) ident(rb_io_s_for_fd)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(io) operator(=) ident(rb_obj_alloc)operator(()ident(klass)operator(\);) ident(rb_io_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\);) reserved(return) ident(io)operator(;) operator(}) directive(static) pre_type(int) ident(binmode) operator(=) integer(0)operator(;) directive(static) ident(VALUE) ident(argf_forward)operator(()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(\)) operator({) reserved(return) ident(rb_funcall3)operator(()ident(current_file)operator(,) ident(ruby_frame)operator(->)ident(last_func)operator(,) ident(argc)operator(,) ident(argv)operator(\);) operator(}) preprocessor(#define) ident(ARGF_FORWARD)operator(()ident(argc)operator(,) ident(argv)operator(\)) reserved(do) operator({)\ reserved(if) operator(()ident(TYPE)operator(()ident(current_file)operator(\)) operator(!=) ident(T_FILE)operator(\))\ reserved(return) ident(argf_forward)operator(()ident(argc)operator(,) ident(argv)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(NEXT_ARGF_FORWARD)operator(()ident(argc)operator(,) ident(argv)operator(\)) reserved(do) operator({)\ reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(Qnil)operator(;)\ ident(ARGF_FORWARD)operator(()ident(argc)operator(,) ident(argv)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) directive(static) directive(void) ident(argf_close)operator(()ident(file)operator(\)) ident(VALUE) ident(file)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(file)operator(\)) operator(==) ident(T_FILE)operator(\)) ident(rb_io_close)operator(()ident(file)operator(\);) reserved(else) ident(rb_funcall3)operator(()ident(file)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) directive(static) pre_type(int) ident(next_argv)operator((\)) operator({) directive(extern) ident(VALUE) ident(rb_argv)operator(;) pre_type(char) operator(*)ident(fn)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(int) ident(stdout_binmode) operator(=) integer(0)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(rb_stdout)operator(\)) operator(==) ident(T_FILE)operator(\)) operator({) ident(GetOpenFile)operator(()ident(rb_stdout)operator(,) ident(fptr)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(mode) operator(&) ident(FMODE_BINMODE)operator(\)) ident(stdout_binmode) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(init_p) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(rb_argv)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(next_p) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(next_p) operator(=) operator(-)integer(1)operator(;) operator(}) ident(init_p) operator(=) integer(1)operator(;) ident(gets_lineno) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(next_p) operator(==) integer(1)operator(\)) operator({) ident(next_p) operator(=) integer(0)operator(;) label(retry:) reserved(if) operator(()ident(RARRAY)operator(()ident(rb_argv)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(filename) operator(=) ident(rb_ary_shift)operator(()ident(rb_argv)operator(\);) ident(fn) operator(=) ident(StringValueCStr)operator(()ident(filename)operator(\);) reserved(if) operator(()ident(strlen)operator(()ident(fn)operator(\)) operator(==) integer(1) operator(&&) ident(fn)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) ident(current_file) operator(=) ident(rb_stdin)operator(;) reserved(if) operator(()ident(ruby_inplace_mode)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(goto) ident(retry)operator(;) operator(}) operator(}) reserved(else) operator({) ident(FILE) operator(*)ident(fr) operator(=) ident(rb_fopen)operator(()ident(fn)operator(,) stringoperator(\);) reserved(if) operator(()ident(ruby_inplace_mode)operator(\)) operator({) reserved(struct) ident(stat) ident(st)operator(,) ident(st2)operator(;) ident(VALUE) ident(str)operator(;) ident(FILE) operator(*)ident(fw)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(rb_stdout)operator(\)) operator(==) ident(T_FILE) operator(&&) ident(rb_stdout) operator(!=) ident(orig_stdout)operator(\)) operator({) ident(rb_io_close)operator(()ident(rb_stdout)operator(\);) operator(}) ident(fstat)operator(()ident(fileno)operator(()ident(fr)operator(\),) operator(&)ident(st)operator(\);) reserved(if) operator((*)ident(ruby_inplace_mode)operator(\)) operator({) ident(str) operator(=) ident(rb_str_new2)operator(()ident(fn)operator(\);) preprocessor(#ifdef) ident(NO_LONG_FNAME) ident(ruby_add_suffix)operator(()ident(str)operator(,) ident(ruby_inplace_mode)operator(\);) preprocessor(#else) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(ruby_inplace_mode)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(NO_SAFE_RENAME) operator(()directive(void)operator(\))ident(fclose)operator(()ident(fr)operator(\);) operator(()directive(void)operator(\))ident(unlink)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) operator(()directive(void)operator(\))ident(rename)operator(()ident(fn)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(fr) operator(=) ident(rb_fopen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) stringoperator(\);) preprocessor(#else) reserved(if) operator(()ident(rename)operator(()ident(fn)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(fn)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(strerror)operator(()ident(errno)operator(\)\);) ident(fclose)operator(()ident(fr)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) preprocessor(#endif) operator(}) reserved(else) operator({) preprocessor(#ifdef) ident(NO_SAFE_RENAME) ident(rb_fatal)operator(()stringoperator(\);) preprocessor(#else) reserved(if) operator(()ident(unlink)operator(()ident(fn)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(fn)operator(,) ident(strerror)operator(()ident(errno)operator(\)\);) ident(fclose)operator(()ident(fr)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) preprocessor(#endif) operator(}) ident(fw) operator(=) ident(rb_fopen)operator(()ident(fn)operator(,) stringoperator(\);) preprocessor(#ifndef) ident(NO_SAFE_RENAME) ident(fstat)operator(()ident(fileno)operator(()ident(fw)operator(\),) operator(&)ident(st2)operator(\);) preprocessor(#ifdef) ident(HAVE_FCHMOD) ident(fchmod)operator(()ident(fileno)operator(()ident(fw)operator(\),) ident(st)operator(.)ident(st_mode)operator(\);) preprocessor(#else) ident(chmod)operator(()ident(fn)operator(,) ident(st)operator(.)ident(st_mode)operator(\);) preprocessor(#endif) reserved(if) operator(()ident(st)operator(.)ident(st_uid)operator(!=)ident(st2)operator(.)ident(st_uid) operator(||) ident(st)operator(.)ident(st_gid)operator(!=)ident(st2)operator(.)ident(st_gid)operator(\)) operator({) ident(fchown)operator(()ident(fileno)operator(()ident(fw)operator(\),) ident(st)operator(.)ident(st_uid)operator(,) ident(st)operator(.)ident(st_gid)operator(\);) operator(}) preprocessor(#endif) ident(rb_stdout) operator(=) ident(prep_stdio)operator(()ident(fw)operator(,) ident(FMODE_WRITABLE)operator(,) ident(rb_cFile)operator(\);) ident(prep_path)operator(()ident(rb_stdout)operator(,) ident(fn)operator(\);) reserved(if) operator(()ident(stdout_binmode)operator(\)) ident(rb_io_binmode)operator(()ident(rb_stdout)operator(\);) operator(}) ident(current_file) operator(=) ident(prep_stdio)operator(()ident(fr)operator(,) ident(FMODE_READABLE)operator(,) ident(rb_cFile)operator(\);) ident(prep_path)operator(()ident(current_file)operator(,) ident(fn)operator(\);) operator(}) reserved(if) operator(()ident(binmode)operator(\)) ident(rb_io_binmode)operator(()ident(current_file)operator(\);) operator(}) reserved(else) operator({) ident(next_p) operator(=) integer(1)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(next_p) operator(==) operator(-)integer(1)operator(\)) operator({) ident(current_file) operator(=) ident(rb_stdin)operator(;) ident(filename) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(if) operator(()ident(ruby_inplace_mode)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(rb_stdout) operator(=) ident(orig_stdout)operator(;) operator(}) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_getline)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(line)operator(;) label(retry:) reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0) operator(&&) ident(rb_rs) operator(==) ident(rb_default_rs)operator(\)) operator({) ident(line) operator(=) ident(rb_io_gets)operator(()ident(current_file)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(rs)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rs) operator(=) ident(rb_rs)operator(;) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(rs)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(rs)operator(\)\)) ident(StringValue)operator(()ident(rs)operator(\);) operator(}) ident(line) operator(=) ident(rb_io_getline)operator(()ident(rs)operator(,) ident(current_file)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(line)operator(\)) operator(&&) ident(next_p) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(argf_close)operator(()ident(current_file)operator(\);) ident(next_p) operator(=) integer(1)operator(;) reserved(goto) ident(retry)operator(;) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(line)operator(\)\)) operator({) ident(gets_lineno)operator(++;) ident(lineno) operator(=) ident(INT2FIX)operator(()ident(gets_lineno)operator(\);) operator(}) reserved(return) ident(line)operator(;) operator(}) comment(/* * call-seq: * gets(separator=$/\) => string or nil * * Returns (and assigns to $_\) the next line from the list * of files in +ARGV+ (or $*\), or from standard * input if no files are present on the command line. Returns * +nil+ at end of file. The optional argument specifies the * record separator. The separator is included with the contents of * each record. A separator of +nil+ reads the entire * contents, and a zero-length separator reads the input one paragraph * at a time, where paragraphs are divided by two consecutive newlines. * If multiple filenames are present in +ARGV+, * +gets(nil\)+ will read the contents one file at a time. * * ARGV << "testfile" * print while gets * * produces: * * This is line one * This is line two * This is line three * And so on... * * The style of programming using $_ as an implicit * parameter is gradually losing favor in the Ruby community. */) directive(static) ident(VALUE) ident(rb_f_gets)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(line)operator(;) reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(current_file)operator(\)) operator(!=) ident(T_FILE)operator(\)) operator({) ident(line) operator(=) ident(rb_funcall3)operator(()ident(current_file)operator(,) ident(rb_intern)operator(()stringoperator(\),) ident(argc)operator(,) ident(argv)operator(\);) operator(}) reserved(else) operator({) ident(line) operator(=) ident(argf_getline)operator(()ident(argc)operator(,) ident(argv)operator(\);) operator(}) ident(rb_lastline_set)operator(()ident(line)operator(\);) reserved(return) ident(line)operator(;) operator(}) ident(VALUE) ident(rb_gets)operator((\)) operator({) ident(VALUE) ident(line)operator(;) reserved(if) operator(()ident(rb_rs) operator(!=) ident(rb_default_rs)operator(\)) operator({) reserved(return) ident(rb_f_gets)operator(()integer(0)operator(,) integer(0)operator(\);) operator(}) label(retry:) reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(Qnil)operator(;) ident(line) operator(=) ident(rb_io_gets)operator(()ident(current_file)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(line)operator(\)) operator(&&) ident(next_p) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(argf_close)operator(()ident(current_file)operator(\);) ident(next_p) operator(=) integer(1)operator(;) reserved(goto) ident(retry)operator(;) operator(}) ident(rb_lastline_set)operator(()ident(line)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(line)operator(\)\)) operator({) ident(gets_lineno)operator(++;) ident(lineno) operator(=) ident(INT2FIX)operator(()ident(gets_lineno)operator(\);) operator(}) reserved(return) ident(line)operator(;) operator(}) comment(/* * call-seq: * readline(separator=$/\) => string * * Equivalent to Kernel::gets, except * +readline+ raises +EOFError+ at end of file. */) directive(static) ident(VALUE) ident(rb_f_readline)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(line)operator(;) reserved(if) operator((!)ident(next_argv)operator((\)\)) ident(rb_eof_error)operator((\);) ident(ARGF_FORWARD)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(line) operator(=) ident(rb_f_gets)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(line)operator(\)\)) operator({) ident(rb_eof_error)operator((\);) operator(}) reserved(return) ident(line)operator(;) operator(}) comment(/* * obsolete */) directive(static) ident(VALUE) ident(rb_f_getc)operator((\)) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(rb_stdin)operator(\)) operator(!=) ident(T_FILE)operator(\)) operator({) reserved(return) ident(rb_funcall3)operator(()ident(rb_stdin)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(return) ident(rb_io_getc)operator(()ident(rb_stdin)operator(\);) operator(}) comment(/* * call-seq: * readlines(separator=$/\) => array * * Returns an array containing the lines returned by calling * Kernel.gets(separator\) until the end of file. */) directive(static) ident(VALUE) ident(rb_f_readlines)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(line)operator(,) ident(ary)operator(;) ident(NEXT_ARGF_FORWARD)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(while) operator((!)ident(NIL_P)operator(()ident(line) operator(=) ident(argf_getline)operator(()ident(argc)operator(,) ident(argv)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(line)operator(\);) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * `cmd` => string * * Returns the standard output of running _cmd_ in a subshell. * The built-in syntax %x{...} uses * this method. Sets $? to the process status. * * `date` #=> "Wed Apr 9 08:56:30 CDT 2003\\n" * `ls testdir`.split[1] #=> "main.rb" * `echo oops && exit 99` #=> "oops\\n" * $?.exitstatus #=> 99 */) directive(static) ident(VALUE) ident(rb_f_backquote)operator(()ident(obj)operator(,) ident(str)operator(\)) ident(VALUE) ident(obj)operator(,) ident(str)operator(;) operator({) directive(volatile) ident(VALUE) ident(port)operator(;) ident(VALUE) ident(result)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) ident(SafeStringValue)operator(()ident(str)operator(\);) ident(port) operator(=) ident(pipe_open)operator(()ident(str)operator(,) integer(0)operator(,) stringoperator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(port)operator(\)\)) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,)integer(0)operator(\);) ident(GetOpenFile)operator(()ident(port)operator(,) ident(fptr)operator(\);) ident(result) operator(=) ident(read_all)operator(()ident(fptr)operator(,) ident(remain_size)operator(()ident(fptr)operator(\),) ident(Qnil)operator(\);) ident(rb_io_close)operator(()ident(port)operator(\);) reserved(return) ident(result)operator(;) operator(}) preprocessor(#ifdef) ident(HAVE_SYS_SELECT_H) preprocessor(#include) include() preprocessor(#endif) comment(/* * call-seq: * IO.select(read_array * [, write_array * [, error_array * [, timeout]]] \) => array or nil * * See Kernel#select. */) directive(static) ident(VALUE) ident(rb_f_select)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(read)operator(,) ident(write)operator(,) ident(except)operator(,) ident(timeout)operator(,) ident(res)operator(,) ident(list)operator(;) ident(fd_set) ident(rset)operator(,) ident(wset)operator(,) ident(eset)operator(,) ident(pset)operator(;) ident(fd_set) operator(*)ident(rp)operator(,) operator(*)ident(wp)operator(,) operator(*)ident(ep)operator(;) reserved(struct) ident(timeval) operator(*)ident(tp)operator(,) ident(timerec)operator(;) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(long) ident(i)operator(;) pre_type(int) ident(max) operator(=) integer(0)operator(,) ident(n)operator(;) pre_type(int) ident(interrupt_flag) operator(=) integer(0)operator(;) pre_type(int) ident(pending) operator(=) integer(0)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(read)operator(,) operator(&)ident(write)operator(,) operator(&)ident(except)operator(,) operator(&)ident(timeout)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(timeout)operator(\)\)) operator({) ident(tp) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(timerec) operator(=) ident(rb_time_interval)operator(()ident(timeout)operator(\);) ident(tp) operator(=) operator(&)ident(timerec)operator(;) operator(}) ident(FD_ZERO)operator((&)ident(pset)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(read)operator(\)\)) operator({) ident(Check_Type)operator(()ident(read)operator(,) ident(T_ARRAY)operator(\);) ident(rp) operator(=) operator(&)ident(rset)operator(;) ident(FD_ZERO)operator(()ident(rp)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(read)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(GetOpenFile)operator(()ident(rb_io_get_io)operator(()ident(RARRAY)operator(()ident(read)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(fptr)operator(\);) ident(FD_SET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(rp)operator(\);) reserved(if) operator(()ident(READ_DATA_PENDING)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) operator({) comment(/* check for buffered data */) ident(pending)operator(++;) ident(FD_SET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(pset)operator(\);) operator(}) reserved(if) operator(()ident(max) operator(<) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) ident(max) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) operator(}) reserved(if) operator(()ident(pending)operator(\)) operator({) comment(/* no blocking if there's buffered data */) ident(timerec)operator(.)ident(tv_sec) operator(=) ident(timerec)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) ident(tp) operator(=) operator(&)ident(timerec)operator(;) operator(}) operator(}) reserved(else) ident(rp) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(write)operator(\)\)) operator({) ident(Check_Type)operator(()ident(write)operator(,) ident(T_ARRAY)operator(\);) ident(wp) operator(=) operator(&)ident(wset)operator(;) ident(FD_ZERO)operator(()ident(wp)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(write)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(GetOpenFile)operator(()ident(rb_io_get_io)operator(()ident(RARRAY)operator(()ident(write)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(fptr)operator(\);) ident(FD_SET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(wp)operator(\);) reserved(if) operator(()ident(max) operator(<) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) ident(max) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(FD_SET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(wp)operator(\);) reserved(if) operator(()ident(max) operator(<) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\)\)) ident(max) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\);) operator(}) operator(}) operator(}) reserved(else) ident(wp) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(except)operator(\)\)) operator({) ident(Check_Type)operator(()ident(except)operator(,) ident(T_ARRAY)operator(\);) ident(ep) operator(=) operator(&)ident(eset)operator(;) ident(FD_ZERO)operator(()ident(ep)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(except)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(GetOpenFile)operator(()ident(rb_io_get_io)operator(()ident(RARRAY)operator(()ident(except)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(fptr)operator(\);) ident(FD_SET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(ep)operator(\);) reserved(if) operator(()ident(max) operator(<) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)\)) ident(max) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\);) reserved(if) operator(()ident(fptr)operator(->)ident(f2)operator(\)) operator({) ident(FD_SET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(ep)operator(\);) reserved(if) operator(()ident(max) operator(<) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\)\)) ident(max) operator(=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\);) operator(}) operator(}) operator(}) reserved(else) operator({) ident(ep) operator(=) integer(0)operator(;) operator(}) ident(max)operator(++;) ident(n) operator(=) ident(rb_thread_select)operator(()ident(max)operator(,) ident(rp)operator(,) ident(wp)operator(,) ident(ep)operator(,) ident(tp)operator(\);) reserved(if) operator(()ident(n) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(if) operator((!)ident(pending) operator(&&) ident(n) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) comment(/* returns nil on timeout */) ident(res) operator(=) ident(rb_ary_new2)operator(()integer(3)operator(\);) ident(rb_ary_push)operator(()ident(res)operator(,) ident(rp)operator(?)ident(rb_ary_new)operator((\):)ident(rb_ary_new2)operator(()integer(0)operator(\)\);) ident(rb_ary_push)operator(()ident(res)operator(,) ident(wp)operator(?)ident(rb_ary_new)operator((\):)ident(rb_ary_new2)operator(()integer(0)operator(\)\);) ident(rb_ary_push)operator(()ident(res)operator(,) ident(ep)operator(?)ident(rb_ary_new)operator((\):)ident(rb_ary_new2)operator(()integer(0)operator(\)\);) reserved(if) operator(()ident(interrupt_flag) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(rp)operator(\)) operator({) ident(list) operator(=) ident(RARRAY)operator(()ident(res)operator(\)->)ident(ptr)operator([)integer(0)operator(];) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<) ident(RARRAY)operator(()ident(read)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(GetOpenFile)operator(()ident(rb_io_get_io)operator(()ident(RARRAY)operator(()ident(read)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(fptr)operator(\);) reserved(if) operator(()ident(FD_ISSET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(rp)operator(\)) operator(||) ident(FD_ISSET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) operator(&)ident(pset)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(list)operator(,) ident(rb_ary_entry)operator(()ident(read)operator(,) ident(i)operator(\)\);) operator(}) operator(}) operator(}) reserved(if) operator(()ident(wp)operator(\)) operator({) ident(list) operator(=) ident(RARRAY)operator(()ident(res)operator(\)->)ident(ptr)operator([)integer(1)operator(];) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<) ident(RARRAY)operator(()ident(write)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(GetOpenFile)operator(()ident(rb_io_get_io)operator(()ident(RARRAY)operator(()ident(write)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(fptr)operator(\);) reserved(if) operator(()ident(FD_ISSET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(wp)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(list)operator(,) ident(rb_ary_entry)operator(()ident(write)operator(,) ident(i)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(&&) ident(FD_ISSET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(wp)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(list)operator(,) ident(rb_ary_entry)operator(()ident(write)operator(,) ident(i)operator(\)\);) operator(}) operator(}) operator(}) reserved(if) operator(()ident(ep)operator(\)) operator({) ident(list) operator(=) ident(RARRAY)operator(()ident(res)operator(\)->)ident(ptr)operator([)integer(2)operator(];) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<) ident(RARRAY)operator(()ident(except)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(GetOpenFile)operator(()ident(rb_io_get_io)operator(()ident(RARRAY)operator(()ident(except)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(fptr)operator(\);) reserved(if) operator(()ident(FD_ISSET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(ep)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(list)operator(,) ident(rb_ary_entry)operator(()ident(except)operator(,) ident(i)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(&&) ident(FD_ISSET)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(ep)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(list)operator(,) ident(rb_ary_entry)operator(()ident(except)operator(,) ident(i)operator(\)\);) operator(}) operator(}) operator(}) operator(}) reserved(return) ident(res)operator(;) comment(/* returns an empty array on interrupt */) operator(}) preprocessor(#if) operator(!)ident(defined)operator(()ident(MSDOS)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__human68k__)operator(\)) directive(static) pre_type(int) ident(io_cntl)operator(()ident(fd)operator(,) ident(cmd)operator(,) ident(narg)operator(,) ident(io_p)operator(\)) pre_type(int) ident(fd)operator(,) ident(cmd)operator(,) ident(io_p)operator(;) pre_type(long) ident(narg)operator(;) operator({) pre_type(int) ident(retval)operator(;) preprocessor(#ifdef) ident(HAVE_FCNTL) ident(TRAP_BEG)operator(;) preprocessor(# if) ident(defined)operator(()ident(__CYGWIN__)operator(\)) ident(retval) operator(=) ident(io_p)operator(?)ident(ioctl)operator(()ident(fd)operator(,) ident(cmd)operator(,) operator(()directive(void)operator(*\))ident(narg)operator(\):)ident(fcntl)operator(()ident(fd)operator(,) ident(cmd)operator(,) ident(narg)operator(\);) preprocessor(# else) ident(retval) operator(=) ident(io_p)operator(?)ident(ioctl)operator(()ident(fd)operator(,) ident(cmd)operator(,) ident(narg)operator(\):)ident(fcntl)operator(()ident(fd)operator(,) ident(cmd)operator(,) ident(narg)operator(\);) preprocessor(# endif) ident(TRAP_END)operator(;) preprocessor(#else) reserved(if) operator((!)ident(io_p)operator(\)) operator({) ident(rb_notimplement)operator((\);) operator(}) ident(TRAP_BEG)operator(;) ident(retval) operator(=) ident(ioctl)operator(()ident(fd)operator(,) ident(cmd)operator(,) ident(narg)operator(\);) ident(TRAP_END)operator(;) preprocessor(#endif) reserved(return) ident(retval)operator(;) operator(}) preprocessor(#endif) directive(static) ident(VALUE) ident(rb_io_ctl)operator(()ident(io)operator(,) ident(req)operator(,) ident(arg)operator(,) ident(io_p)operator(\)) ident(VALUE) ident(io)operator(,) ident(req)operator(,) ident(arg)operator(;) pre_type(int) ident(io_p)operator(;) operator({) preprocessor(#if) operator(!)ident(defined)operator(()ident(MSDOS)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__human68k__)operator(\)) pre_type(int) ident(cmd) operator(=) ident(NUM2ULONG)operator(()ident(req)operator(\);) ident(OpenFile) operator(*)ident(fptr)operator(;) pre_type(long) ident(len) operator(=) integer(0)operator(;) pre_type(long) ident(narg) operator(=) integer(0)operator(;) pre_type(int) ident(retval)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(arg)operator(\)) operator(||) ident(arg) operator(==) ident(Qfalse)operator(\)) operator({) ident(narg) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(arg)operator(\)\)) operator({) ident(narg) operator(=) ident(FIX2LONG)operator(()ident(arg)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(arg) operator(==) ident(Qtrue)operator(\)) operator({) ident(narg) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(narg) operator(=) ident(NUM2LONG)operator(()ident(arg)operator(\);) operator(}) reserved(else) operator({) ident(arg) operator(=) ident(tmp)operator(;) preprocessor(#ifdef) ident(IOCPARM_MASK) preprocessor(#ifndef) ident(IOCPARM_LEN) preprocessor(#define) ident(IOCPARM_LEN)operator(()ident(x)operator(\)) operator(((()ident(x)operator(\)) operator(>>) integer(16)operator(\)) operator(&) ident(IOCPARM_MASK)operator(\)) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifdef) ident(IOCPARM_LEN) ident(len) operator(=) ident(IOCPARM_LEN)operator(()ident(cmd)operator(\);) comment(/* on BSDish systems we're safe */) preprocessor(#else) ident(len) operator(=) integer(256)operator(;) comment(/* otherwise guess at what's safe */) preprocessor(#endif) ident(rb_str_modify)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(len) operator(<=) ident(RSTRING)operator(()ident(arg)operator(\)->)ident(len)operator(\)) operator({) ident(len) operator(=) ident(RSTRING)operator(()ident(arg)operator(\)->)ident(len)operator(;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(arg)operator(\)->)ident(len) operator(<) ident(len)operator(\)) operator({) ident(rb_str_resize)operator(()ident(arg)operator(,) ident(len)operator(+)integer(1)operator(\);) operator(}) ident(RSTRING)operator(()ident(arg)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(=) integer(17)operator(;) comment(/* a little sanity check here */) ident(narg) operator(=) operator(()pre_type(long)operator(\))ident(RSTRING)operator(()ident(arg)operator(\)->)ident(ptr)operator(;) operator(}) operator(}) ident(GetOpenFile)operator(()ident(io)operator(,) ident(fptr)operator(\);) ident(retval) operator(=) ident(io_cntl)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\),) ident(cmd)operator(,) ident(narg)operator(,) ident(io_p)operator(\);) reserved(if) operator(()ident(retval) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()ident(fptr)operator(->)ident(path)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(arg)operator(\)) operator(==) ident(T_STRING) operator(&&) ident(RSTRING)operator(()ident(arg)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(!=) integer(17)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(fptr)operator(->)ident(f2) operator(&&) ident(fileno)operator(()ident(fptr)operator(->)ident(f)operator(\)) operator(!=) ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\)\)) operator({) comment(/* call on f2 too; ignore result */) ident(io_cntl)operator(()ident(fileno)operator(()ident(fptr)operator(->)ident(f2)operator(\),) ident(cmd)operator(,) ident(narg)operator(,) ident(io_p)operator(\);) operator(}) reserved(if) operator((!)ident(io_p) operator(&&) ident(cmd) operator(==) ident(F_SETFL)operator(\)) operator({) reserved(if) operator(()ident(narg) operator(&) ident(O_NONBLOCK)operator(\)) operator({) ident(fptr)operator(->)ident(mode) operator(|=) ident(FMODE_WSPLIT_INITIALIZED)operator(;) ident(fptr)operator(->)ident(mode) operator(&=) operator(~)ident(FMODE_WSPLIT)operator(;) operator(}) reserved(else) operator({) ident(fptr)operator(->)ident(mode) operator(&=) operator(~()ident(FMODE_WSPLIT_INITIALIZED)operator(|)ident(FMODE_WSPLIT)operator(\);) operator(}) operator(}) reserved(return) ident(INT2NUM)operator(()ident(retval)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * ios.ioctl(integer_cmd, arg\) => integer * * Provides a mechanism for issuing low-level commands to control or * query I/O devices. Arguments and results are platform dependent. If * arg is a number, its value is passed directly. If it is a * string, it is interpreted as a binary sequence of bytes. On Unix * platforms, see ioctl(2\) for details. Not implemented on * all platforms. */) directive(static) ident(VALUE) ident(rb_io_ioctl)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(req)operator(,) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(req)operator(,) operator(&)ident(arg)operator(\);) reserved(return) ident(rb_io_ctl)operator(()ident(io)operator(,) ident(req)operator(,) ident(arg)operator(,) integer(1)operator(\);) operator(}) comment(/* * call-seq: * ios.fcntl(integer_cmd, arg\) => integer * * Provides a mechanism for issuing low-level commands to control or * query file-oriented I/O streams. Arguments and results are platform * dependent. If arg is a number, its value is passed * directly. If it is a string, it is interpreted as a binary sequence * of bytes (Array#pack might be a useful way to build this * string\). On Unix platforms, see fcntl(2\) for details. * Not implemented on all platforms. */) directive(static) ident(VALUE) ident(rb_io_fcntl)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_FCNTL) ident(VALUE) ident(req)operator(,) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(req)operator(,) operator(&)ident(arg)operator(\);) reserved(return) ident(rb_io_ctl)operator(()ident(io)operator(,) ident(req)operator(,) ident(arg)operator(,) integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * syscall(fixnum [, args...]\) => integer * * Calls the operating system function identified by _fixnum_, * passing in the arguments, which must be either +String+ * objects, or +Integer+ objects that ultimately fit within * a native +long+. Up to nine parameters may be passed (14 * on the Atari-ST\). The function identified by _fixnum_ is system * dependent. On some Unix systems, the numbers may be obtained from a * header file called syscall.h. * * syscall 4, 1, "hello\\n", 6 # '4' is write(2\) on our box * * produces: * * hello */) directive(static) ident(VALUE) ident(rb_f_syscall)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SYSCALL)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) preprocessor(#ifdef) ident(atarist) pre_type(unsigned) pre_type(long) ident(arg)operator([)integer(14)operator(];) comment(/* yes, we really need that many ! */) preprocessor(#else) pre_type(unsigned) pre_type(long) ident(arg)operator([)integer(8)operator(];) preprocessor(#endif) pre_type(int) ident(retval) operator(=) operator(-)integer(1)operator(;) pre_type(int) ident(i) operator(=) integer(1)operator(;) pre_type(int) ident(items) operator(=) ident(argc) operator(-) integer(1)operator(;) comment(/* This probably won't work on machines where sizeof(long\) != sizeof(int\) * or where sizeof(long\) != sizeof(char*\). But such machines will * not likely have syscall implemented either, so who cares? */) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator(()ident(argc) operator(>) reserved(sizeof)operator(()ident(arg)operator(\)) operator(/) reserved(sizeof)operator(()ident(arg)operator([)integer(0)operator(]\)\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(arg)operator([)integer(0)operator(]) operator(=) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(argv)operator(++;) reserved(while) operator(()ident(items)operator(--\)) operator({) ident(VALUE) ident(v) operator(=) ident(rb_check_string_type)operator((*)ident(argv)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(v)operator(\)\)) operator({) ident(StringValue)operator(()ident(v)operator(\);) ident(rb_str_modify)operator(()ident(v)operator(\);) ident(arg)operator([)ident(i)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(long)operator(\))ident(StringValueCStr)operator(()ident(v)operator(\);) operator(}) reserved(else) operator({) ident(arg)operator([)ident(i)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(long)operator(\))ident(NUM2LONG)operator((*)ident(argv)operator(\);) operator(}) ident(argv)operator(++;) ident(i)operator(++;) operator(}) ident(TRAP_BEG)operator(;) reserved(switch) operator(()ident(argc)operator(\)) operator({) reserved(case) integer(1)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(]\);) reserved(break)operator(;) reserved(case) integer(2)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(]\);) reserved(break)operator(;) reserved(case) integer(3)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(]\);) reserved(break)operator(;) reserved(case) integer(4)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(]\);) reserved(break)operator(;) reserved(case) integer(5)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(]\);) reserved(break)operator(;) reserved(case) integer(6)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(]\);) reserved(break)operator(;) reserved(case) integer(7)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(]\);) reserved(break)operator(;) reserved(case) integer(8)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(]\);) reserved(break)operator(;) preprocessor(#ifdef) ident(atarist) reserved(case) integer(9)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(],) ident(arg)operator([)integer(8)operator(]\);) reserved(break)operator(;) reserved(case) integer(10)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(],) ident(arg)operator([)integer(8)operator(],) ident(arg)operator([)integer(9)operator(]\);) reserved(break)operator(;) reserved(case) integer(11)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(],) ident(arg)operator([)integer(8)operator(],) ident(arg)operator([)integer(9)operator(],) ident(arg)operator([)integer(10)operator(]\);) reserved(break)operator(;) reserved(case) integer(12)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(],) ident(arg)operator([)integer(8)operator(],) ident(arg)operator([)integer(9)operator(],) ident(arg)operator([)integer(10)operator(],) ident(arg)operator([)integer(11)operator(]\);) reserved(break)operator(;) reserved(case) integer(13)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(],) ident(arg)operator([)integer(8)operator(],) ident(arg)operator([)integer(9)operator(],) ident(arg)operator([)integer(10)operator(],) ident(arg)operator([)integer(11)operator(],) ident(arg)operator([)integer(12)operator(]\);) reserved(break)operator(;) reserved(case) integer(14)operator(:) ident(retval) operator(=) ident(syscall)operator(()ident(arg)operator([)integer(0)operator(],)ident(arg)operator([)integer(1)operator(],)ident(arg)operator([)integer(2)operator(],)ident(arg)operator([)integer(3)operator(],)ident(arg)operator([)integer(4)operator(],)ident(arg)operator([)integer(5)operator(],)ident(arg)operator([)integer(6)operator(],) ident(arg)operator([)integer(7)operator(],) ident(arg)operator([)integer(8)operator(],) ident(arg)operator([)integer(9)operator(],) ident(arg)operator([)integer(10)operator(],) ident(arg)operator([)integer(11)operator(],) ident(arg)operator([)integer(12)operator(],) ident(arg)operator([)integer(13)operator(]\);) reserved(break)operator(;) preprocessor(#endif) comment(/* atarist */) operator(}) ident(TRAP_END)operator(;) reserved(if) operator(()ident(retval) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(retval)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) directive(static) ident(VALUE) ident(io_new_instance) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(io_new_instance)operator(()ident(args)operator(\)) ident(VALUE) ident(args)operator(;) operator({) reserved(return) ident(rb_class_new_instance)operator(()integer(2)operator(,) operator(()ident(VALUE)operator(*\))ident(args)operator(+)integer(1)operator(,) operator(*()ident(VALUE)operator(*\))ident(args)operator(\);) operator(}) comment(/* * call-seq: * IO.pipe -> array * * Creates a pair of pipe endpoints (connected to each other\) and * returns them as a two-element array of IO objects: * [ read_file, write_file ]. Not * available on all platforms. * * In the example below, the two processes close the ends of the pipe * that they are not using. This is not just a cosmetic nicety. The * read end of a pipe will not generate an end of file condition if * there are any writers with the pipe still open. In the case of the * parent process, the rd.read will never return if it * does not first issue a wr.close. * * rd, wr = IO.pipe * * if fork * wr.close * puts "Parent got: <#{rd.read}>" * rd.close * Process.wait * else * rd.close * puts "Sending message to parent" * wr.write "Hi Dad" * wr.close * end * * produces: * * Sending message to parent * Parent got: */) directive(static) ident(VALUE) ident(rb_io_s_pipe)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) preprocessor(#ifndef) ident(__human68k__) pre_type(int) ident(pipes)operator([)integer(2)operator(],) ident(state)operator(;) ident(VALUE) ident(r)operator(,) ident(w)operator(,) ident(args)operator([)integer(3)operator(];) preprocessor(#ifdef) ident(_WIN32) reserved(if) operator(()ident(_pipe)operator(()ident(pipes)operator(,) integer(1024)operator(,) ident(O_BINARY)operator(\)) operator(==) operator(-)integer(1)operator(\)) preprocessor(#else) reserved(if) operator(()ident(pipe)operator(()ident(pipes)operator(\)) operator(==) operator(-)integer(1)operator(\)) preprocessor(#endif) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(args)operator([)integer(0)operator(]) operator(=) ident(klass)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(INT2NUM)operator(()ident(pipes)operator([)integer(0)operator(]\);) ident(args)operator([)integer(2)operator(]) operator(=) ident(INT2FIX)operator(()ident(O_RDONLY)operator(\);) ident(r) operator(=) ident(rb_protect)operator(()ident(io_new_instance)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) operator(&)ident(state)operator(\);) reserved(if) operator(()ident(state)operator(\)) operator({) ident(close)operator(()ident(pipes)operator([)integer(0)operator(]\);) ident(close)operator(()ident(pipes)operator([)integer(1)operator(]\);) ident(rb_jump_tag)operator(()ident(state)operator(\);) operator(}) ident(args)operator([)integer(1)operator(]) operator(=) ident(INT2NUM)operator(()ident(pipes)operator([)integer(1)operator(]\);) ident(args)operator([)integer(2)operator(]) operator(=) ident(INT2FIX)operator(()ident(O_WRONLY)operator(\);) ident(w) operator(=) ident(rb_protect)operator(()ident(io_new_instance)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) operator(&)ident(state)operator(\);) reserved(if) operator(()ident(state)operator(\)) operator({) ident(close)operator(()ident(pipes)operator([)integer(1)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(r)operator(\)\)) ident(rb_io_close)operator(()ident(r)operator(\);) ident(rb_jump_tag)operator(()ident(state)operator(\);) operator(}) ident(rb_io_synchronized)operator(()ident(RFILE)operator(()ident(w)operator(\)->)ident(fptr)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(r)operator(,) ident(w)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) reserved(struct) ident(foreach_arg) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) ident(sep)operator(;) ident(VALUE) ident(io)operator(;) operator(};) directive(static) ident(VALUE) ident(io_s_foreach)operator(()ident(arg)operator(\)) reserved(struct) ident(foreach_arg) operator(*)ident(arg)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(while) operator((!)ident(NIL_P)operator(()ident(str) operator(=) ident(rb_io_getline)operator(()ident(arg)operator(->)ident(sep)operator(,) ident(arg)operator(->)ident(io)operator(\)\)\)) operator({) ident(rb_yield)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * IO.foreach(name, sep_string=$/\) {|line| block } => nil * * Executes the block for every line in the named I/O port, where lines * are separated by sep_string. * * IO.foreach("testfile"\) {|x| print "GOT ", x } * * produces: * * GOT This is line one * GOT This is line two * GOT This is line three * GOT And so on... */) directive(static) ident(VALUE) ident(rb_io_s_foreach)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(fname)operator(;) reserved(struct) ident(foreach_arg) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(arg)operator(.)ident(sep)operator(\);) ident(SafeStringValue)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(arg)operator(.)ident(sep) operator(=) ident(rb_default_rs)operator(;) operator(}) reserved(else) reserved(if) operator((!)ident(NIL_P)operator(()ident(arg)operator(.)ident(sep)operator(\)\)) operator({) ident(StringValue)operator(()ident(arg)operator(.)ident(sep)operator(\);) operator(}) ident(arg)operator(.)ident(io) operator(=) ident(rb_io_open)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) stringoperator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(arg)operator(.)ident(io)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_ensure)operator(()ident(io_s_foreach)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) ident(rb_io_close)operator(,) ident(arg)operator(.)ident(io)operator(\);) operator(}) directive(static) ident(VALUE) ident(io_s_readlines)operator(()ident(arg)operator(\)) reserved(struct) ident(foreach_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(rb_io_readlines)operator(()ident(arg)operator(->)ident(argc)operator(,) operator(&)ident(arg)operator(->)ident(sep)operator(,) ident(arg)operator(->)ident(io)operator(\);) operator(}) comment(/* * call-seq: * IO.readlines(name, sep_string=$/\) => array * * Reads the entire file specified by name as individual * lines, and returns those lines in an array. Lines are separated by * sep_string. * * a = IO.readlines("testfile"\) * a[0] #=> "This is line one\\n" * */) directive(static) ident(VALUE) ident(rb_io_s_readlines)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(fname)operator(;) reserved(struct) ident(foreach_arg) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(arg)operator(.)ident(sep)operator(\);) ident(SafeStringValue)operator(()ident(fname)operator(\);) ident(arg)operator(.)ident(argc) operator(=) ident(argc) operator(-) integer(1)operator(;) ident(arg)operator(.)ident(io) operator(=) ident(rb_io_open)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) stringoperator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(arg)operator(.)ident(io)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_ensure)operator(()ident(io_s_readlines)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) ident(rb_io_close)operator(,) ident(arg)operator(.)ident(io)operator(\);) operator(}) directive(static) ident(VALUE) ident(io_s_read)operator(()ident(arg)operator(\)) reserved(struct) ident(foreach_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(io_read)operator(()ident(arg)operator(->)ident(argc)operator(,) operator(&)ident(arg)operator(->)ident(sep)operator(,) ident(arg)operator(->)ident(io)operator(\);) operator(}) comment(/* * call-seq: * IO.read(name, [length [, offset]] \) => string * * Opens the file, optionally seeks to the given offset, then returns * length bytes (defaulting to the rest of the file\). * read ensures the file is closed before returning. * * IO.read("testfile"\) #=> "This is line one\\nThis is line two\\nThis is line three\\nAnd so on...\\n" * IO.read("testfile", 20\) #=> "This is line one\\nThi" * IO.read("testfile", 20, 10\) #=> "ne one\\nThis is line " */) directive(static) ident(VALUE) ident(rb_io_s_read)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(io)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(io)operator(;) operator({) ident(VALUE) ident(fname)operator(,) ident(offset)operator(;) reserved(struct) ident(foreach_arg) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(fname)operator(,) operator(&)ident(arg)operator(.)ident(sep)operator(,) operator(&)ident(offset)operator(\);) ident(SafeStringValue)operator(()ident(fname)operator(\);) ident(arg)operator(.)ident(argc) operator(=) ident(argc) operator(?) integer(1) operator(:) integer(0)operator(;) ident(arg)operator(.)ident(io) operator(=) ident(rb_io_open)operator(()ident(StringValueCStr)operator(()ident(fname)operator(\),) stringoperator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(arg)operator(.)ident(io)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(offset)operator(\)\)) operator({) ident(rb_io_seek)operator(()ident(arg)operator(.)ident(io)operator(,) ident(offset)operator(,) ident(SEEK_SET)operator(\);) operator(}) reserved(return) ident(rb_ensure)operator(()ident(io_s_read)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) ident(rb_io_close)operator(,) ident(arg)operator(.)ident(io)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_tell)operator((\)) operator({) reserved(if) operator((!)ident(next_argv)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(return) ident(rb_io_tell)operator(()ident(current_file)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_seek_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) reserved(if) operator((!)ident(next_argv)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(ARGF_FORWARD)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(return) ident(rb_io_seek_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(current_file)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_set_pos)operator(()ident(self)operator(,) ident(offset)operator(\)) ident(VALUE) ident(self)operator(,) ident(offset)operator(;) operator({) reserved(if) operator((!)ident(next_argv)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(ARGF_FORWARD)operator(()integer(1)operator(,) operator(&)ident(offset)operator(\);) reserved(return) ident(rb_io_set_pos)operator(()ident(current_file)operator(,) ident(offset)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_rewind)operator((\)) operator({) reserved(if) operator((!)ident(next_argv)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(return) ident(rb_io_rewind)operator(()ident(current_file)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_fileno)operator((\)) operator({) reserved(if) operator((!)ident(next_argv)operator((\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(return) ident(rb_io_fileno)operator(()ident(current_file)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_to_io)operator((\)) operator({) ident(next_argv)operator((\);) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(return) ident(current_file)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_eof)operator((\)) operator({) reserved(if) operator(()ident(current_file)operator(\)) operator({) reserved(if) operator(()ident(init_p) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(rb_io_eof)operator(()ident(current_file)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_read)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(tmp)operator(,) ident(str)operator(,) ident(length)operator(;) pre_type(long) ident(len) operator(=) integer(0)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(length)operator(,) operator(&)ident(str)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(length)operator(\)\)) operator({) ident(len) operator(=) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(StringValue)operator(()ident(str)operator(\);) ident(rb_str_resize)operator(()ident(str)operator(,)integer(0)operator(\);) ident(argv)operator([)integer(1)operator(]) operator(=) ident(Qnil)operator(;) operator(}) label(retry:) reserved(if) operator((!)ident(next_argv)operator((\)\)) operator({) reserved(return) ident(str)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(current_file)operator(\)) operator(!=) ident(T_FILE)operator(\)) operator({) ident(tmp) operator(=) ident(argf_forward)operator(()ident(argc)operator(,) ident(argv)operator(\);) operator(}) reserved(else) operator({) ident(tmp) operator(=) ident(io_read)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(current_file)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) ident(str) operator(=) ident(tmp)operator(;) reserved(else) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) ident(rb_str_append)operator(()ident(str)operator(,) ident(tmp)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)) operator(||) ident(NIL_P)operator(()ident(length)operator(\)\)) operator({) reserved(if) operator(()ident(next_p) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(argf_close)operator(()ident(current_file)operator(\);) ident(next_p) operator(=) integer(1)operator(;) reserved(goto) ident(retry)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(>=) integer(1)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(len)operator(\)) operator({) ident(len) operator(-=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(argv)operator([)integer(0)operator(]) operator(=) ident(INT2NUM)operator(()ident(len)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) operator(}) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_getc)operator((\)) operator({) ident(VALUE) ident(byte)operator(;) label(retry:) reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(current_file)operator(\)) operator(!=) ident(T_FILE)operator(\)) operator({) ident(byte) operator(=) ident(rb_funcall3)operator(()ident(current_file)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(else) operator({) ident(byte) operator(=) ident(rb_io_getc)operator(()ident(current_file)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(byte)operator(\)) operator(&&) ident(next_p) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(argf_close)operator(()ident(current_file)operator(\);) ident(next_p) operator(=) integer(1)operator(;) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) ident(byte)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_readchar)operator((\)) operator({) ident(VALUE) ident(c)operator(;) ident(NEXT_ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) ident(c) operator(=) ident(argf_getc)operator((\);) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) operator({) ident(rb_eof_error)operator((\);) operator(}) reserved(return) ident(c)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_each_line)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(current_file)operator(\)) operator(!=) ident(T_FILE)operator(\)) operator({) reserved(for) operator((;;\)) operator({) reserved(if) operator((!)ident(next_argv)operator((\)\)) reserved(return) ident(argf)operator(;) ident(rb_iterate)operator(()ident(rb_each)operator(,) ident(current_file)operator(,) ident(rb_yield)operator(,) integer(0)operator(\);) ident(next_p) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(while) operator((!)ident(NIL_P)operator(()ident(str) operator(=) ident(argf_getline)operator(()ident(argc)operator(,) ident(argv)operator(\)\)\)) operator({) ident(rb_yield)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(argf)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_each_byte)operator((\)) operator({) ident(VALUE) ident(byte)operator(;) reserved(while) operator((!)ident(NIL_P)operator(()ident(byte) operator(=) ident(argf_getc)operator((\)\)\)) operator({) ident(rb_yield)operator(()ident(byte)operator(\);) operator(}) reserved(return) ident(argf)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_filename)operator((\)) operator({) ident(next_argv)operator((\);) reserved(return) ident(filename)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_file)operator((\)) operator({) ident(next_argv)operator((\);) reserved(return) ident(current_file)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_binmode)operator((\)) operator({) ident(binmode) operator(=) integer(1)operator(;) ident(next_argv)operator((\);) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) ident(rb_io_binmode)operator(()ident(current_file)operator(\);) reserved(return) ident(argf)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_skip)operator((\)) operator({) reserved(if) operator(()ident(next_p) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(argf_close)operator(()ident(current_file)operator(\);) ident(next_p) operator(=) integer(1)operator(;) operator(}) reserved(return) ident(argf)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_close_m)operator((\)) operator({) ident(next_argv)operator((\);) ident(argf_close)operator(()ident(current_file)operator(\);) reserved(if) operator(()ident(next_p) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(next_p) operator(=) integer(1)operator(;) operator(}) ident(gets_lineno) operator(=) integer(0)operator(;) reserved(return) ident(argf)operator(;) operator(}) directive(static) ident(VALUE) ident(argf_closed)operator((\)) operator({) ident(next_argv)operator((\);) ident(ARGF_FORWARD)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(return) ident(rb_io_closed)operator(()ident(current_file)operator(\);) operator(}) directive(static) ident(VALUE) ident(argf_to_s)operator((\)) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(opt_i_get)operator((\)) operator({) reserved(if) operator((!)ident(ruby_inplace_mode)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_str_new2)operator(()ident(ruby_inplace_mode)operator(\);) operator(}) directive(static) directive(void) ident(opt_i_set)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(val)operator(\)\)) operator({) reserved(if) operator(()ident(ruby_inplace_mode)operator(\)) ident(free)operator(()ident(ruby_inplace_mode)operator(\);) ident(ruby_inplace_mode) operator(=) integer(0)operator(;) reserved(return)operator(;) operator(}) ident(StringValue)operator(()ident(val)operator(\);) reserved(if) operator(()ident(ruby_inplace_mode)operator(\)) ident(free)operator(()ident(ruby_inplace_mode)operator(\);) ident(ruby_inplace_mode) operator(=) integer(0)operator(;) ident(ruby_inplace_mode) operator(=) ident(strdup)operator(()ident(StringValueCStr)operator(()ident(val)operator(\)\);) operator(}) comment(/* * Class IO is the basis for all input and output in Ruby. * An I/O stream may be duplexed (that is, bidirectional\), and * so may use more than one native operating system stream. * * Many of the examples in this section use class File, * the only standard subclass of IO. The two classes are * closely associated. * * As used in this section, portname may take any of the * following forms. * * * A plain string represents a filename suitable for the underlying * operating system. * * * A string starting with ``|'' indicates a subprocess. * The remainder of the string following the ``|'' is * invoked as a process with appropriate input/output channels * connected to it. * * * A string equal to ``|-'' will create another Ruby * instance as a subprocess. * * Ruby will convert pathnames between different operating system * conventions if possible. For instance, on a Windows system the * filename ``/gumby/ruby/test.rb'' will be opened as * ``\\gumby\\ruby\\test.rb''. When specifying a * Windows-style filename in a Ruby string, remember to escape the * backslashes: * * "c:\\\\gumby\\\\ruby\\\\test.rb" * * Our examples here will use the Unix-style forward slashes; * File::SEPARATOR can be used to get the * platform-specific separator character. * * I/O ports may be opened in any one of several different modes, which * are shown in this section as mode. The mode may * either be a Fixnum or a String. If numeric, it should be * one of the operating system specific constants (O_RDONLY, * O_WRONLY, O_RDWR, O_APPEND and so on\). See man open(2\) for * more information. * * If the mode is given as a String, it must be one of the * values listed in the following table. * * Mode | Meaning * -----+-------------------------------------------------------- * "r" | Read-only, starts at beginning of file (default mode\). * -----+-------------------------------------------------------- * "r+" | Read-write, starts at beginning of file. * -----+-------------------------------------------------------- * "w" | Write-only, truncates existing file * | to zero length or creates a new file for writing. * -----+-------------------------------------------------------- * "w+" | Read-write, truncates existing file to zero length * | or creates a new file for reading and writing. * -----+-------------------------------------------------------- * "a" | Write-only, starts at end of file if file exists, * | otherwise creates a new file for writing. * -----+-------------------------------------------------------- * "a+" | Read-write, starts at end of file if file exists, * | otherwise creates a new file for reading and * | writing. * -----+-------------------------------------------------------- * "b" | (DOS/Windows only\) Binary file mode (may appear with * | any of the key letters listed above\). * * * The global constant ARGF (also accessible as $<\) provides an * IO-like stream which allows access to all files mentioned on the * command line (or STDIN if no files are mentioned\). ARGF provides * the methods #path and #filename to access * the name of the file currently being read. */) directive(void) ident(Init_IO)operator((\)) operator({) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(#include) include() directive(static) reserved(struct) ident(__cygwin_perfile) ident(pf)operator([]) operator(=) operator({) operator({)stringoperator(,) ident(O_RDONLY) operator(|) ident(O_BINARY)operator(},) operator({)stringoperator(,) ident(O_WRONLY) operator(|) ident(O_BINARY)operator(},) operator({)stringoperator(,) ident(O_RDWR) operator(|) ident(O_BINARY)operator(},) operator({)stringoperator(,) ident(O_APPEND) operator(|) ident(O_BINARY)operator(},) operator({)pre_constant(NULL)operator(,) integer(0)operator(}) operator(};) ident(cygwin_internal)operator(()ident(CW_PERFILE)operator(,) ident(pf)operator(\);) preprocessor(#endif) ident(rb_eIOError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eEOFError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eIOError)operator(\);) ident(id_write) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_read) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_getc) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_syscall)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_open)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_printf)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_print)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_putc)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_puts)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_gets)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_readline)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_getc)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_select)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_readlines)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_backquote)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_p)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_display)operator(,) operator(-)integer(1)operator(\);) ident(rb_cIO) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cIO)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cIO)operator(,) ident(io_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_new)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_open)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_sysopen)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_for_fd)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_popen)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_foreach)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_readlines)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_read)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_f_select)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_s_pipe)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_output_fs) operator(=) ident(Qnil)operator(;) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_output_fs)operator(,) integer(0)operator(,) ident(rb_str_setter)operator(\);) ident(rb_global_variable)operator((&)ident(rb_default_rs)operator(\);) ident(rb_rs) operator(=) ident(rb_default_rs) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) ident(rb_output_rs) operator(=) ident(Qnil)operator(;) ident(OBJ_FREEZE)operator(()ident(rb_default_rs)operator(\);) comment(/* avoid modifying RS_default */) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_rs)operator(,) integer(0)operator(,) ident(rb_str_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_rs)operator(,) integer(0)operator(,) ident(rb_str_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_output_rs)operator(,) integer(0)operator(,) ident(rb_str_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(lineno)operator(,) integer(0)operator(,) ident(lineno_setter)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(rb_lastline_get)operator(,) ident(rb_lastline_set)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_reopen)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_print)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_putc)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_puts)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_printf)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_each_line)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_each_line)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_each_byte)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_syswrite)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_sysread)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_fileno)operator(,) integer(0)operator(\);) ident(rb_define_alias)operator(()ident(rb_cIO)operator(,) stringoperator(,) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_to_io)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_fsync)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_sync)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_set_sync)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_lineno)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_set_lineno)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_readlines)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(io_read_nonblock)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_write_nonblock)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(io_readpartial)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(io_read)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(io_write)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_gets_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_readline)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_getc)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_readchar)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,)ident(rb_io_ungetc)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_addstr)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_flush)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_tell)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_seek_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_const)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(SEEK_SET)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(SEEK_CUR)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(SEEK_END)operator(\)\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_rewind)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_tell)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_set_pos)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_eof)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_eof)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_close_m)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_closed)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_close_read)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_close_write)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_isatty)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_isatty)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_binmode)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_sysseek)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_ioctl)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_fcntl)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_pid)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cIO)operator(,) stringoperator(,) ident(rb_io_inspect)operator(,) integer(0)operator(\);) ident(rb_define_variable)operator(()stringoperator(,) operator(&)ident(rb_stdin)operator(\);) ident(rb_stdin) operator(=) ident(prep_stdio)operator(()ident(stdin)operator(,) ident(FMODE_READABLE)operator(,) ident(rb_cIO)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_stdout)operator(,) integer(0)operator(,) ident(stdout_setter)operator(\);) ident(rb_stdout) operator(=) ident(prep_stdio)operator(()ident(stdout)operator(,) ident(FMODE_WRITABLE)operator(,) ident(rb_cIO)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_stderr)operator(,) integer(0)operator(,) ident(stdout_setter)operator(\);) ident(rb_stderr) operator(=) ident(prep_stdio)operator(()ident(stderr)operator(,) ident(FMODE_WRITABLE)operator(,) ident(rb_cIO)operator(\);) ident(rb_define_hooked_variable)operator(()string)delimiter(")>operator(,) operator(&)ident(rb_stdout)operator(,) integer(0)operator(,) ident(stdout_setter)operator(\);) ident(orig_stdout) operator(=) ident(rb_stdout)operator(;) ident(rb_deferr) operator(=) ident(orig_stderr) operator(=) ident(rb_stderr)operator(;) comment(/* variables to be removed in 1.8.1 */) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_stdout)operator(,) integer(0)operator(,) ident(defout_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_stderr)operator(,) integer(0)operator(,) ident(deferr_setter)operator(\);) comment(/* constants to hold original stdin/stdout/stderr */) ident(rb_define_global_const)operator(()stringoperator(,) ident(rb_stdin)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(rb_stdout)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(rb_stderr)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(argf)operator(\);) ident(argf) operator(=) ident(rb_obj_alloc)operator(()ident(rb_cObject)operator(\);) ident(rb_extend_object)operator(()ident(argf)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(argf)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_to_s)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_fileno)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_fileno)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_to_io)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_each_line)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_each_line)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_each_byte)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_read)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(rb_f_readlines)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(rb_f_readlines)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(rb_f_gets)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(rb_f_readline)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_getc)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_readchar)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_tell)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_seek_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_rewind)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_tell)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_set_pos)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_eof)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_eof)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_binmode)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_filename)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_filename)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_file)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_skip)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_close_m)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_closed)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_lineno)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(argf)operator(,) stringoperator(,) ident(argf_set_lineno)operator(,) integer(1)operator(\);) ident(rb_global_variable)operator((&)ident(current_file)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(filename)operator(\);) ident(filename) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(opt_i_get)operator(,) ident(opt_i_set)operator(\);) preprocessor(#if) ident(defined) operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) ident(atexit)operator(()ident(pipe_atexit)operator(\);) preprocessor(#endif) ident(Init_File)operator((\);) ident(rb_define_method)operator(()ident(rb_cFile)operator(,) stringoperator(,) ident(rb_file_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_RDONLY)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_WRONLY)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_RDWR)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_APPEND)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_CREAT)operator(\)\);) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_EXCL)operator(\)\);) preprocessor(#if) ident(defined)operator(()ident(O_NDELAY)operator(\)) operator(||) ident(defined)operator(()ident(O_NONBLOCK)operator(\)) preprocessor(# ifdef) ident(O_NONBLOCK) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_NONBLOCK)operator(\)\);) preprocessor(# else) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_NDELAY)operator(\)\);) preprocessor(# endif) preprocessor(#endif) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_TRUNC)operator(\)\);) preprocessor(#ifdef) ident(O_NOCTTY) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_NOCTTY)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(O_BINARY) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_BINARY)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(O_SYNC) ident(rb_file_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(O_SYNC)operator(\)\);) preprocessor(#endif) operator(}) comment(/* C code produced by gperf version 2.7.2 */) comment(/* Command-line: gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k'1,3,$' ./keywords */) reserved(struct) ident(kwtable) operator({)pre_type(char) operator(*)ident(name)operator(;) pre_type(int) ident(id)operator([)integer(2)operator(];) reserved(enum) ident(lex_state) ident(state)operator(;};) preprocessor(#define) ident(TOTAL_KEYWORDS) integer(40) preprocessor(#define) ident(MIN_WORD_LENGTH) integer(2) preprocessor(#define) ident(MAX_WORD_LENGTH) integer(8) preprocessor(#define) ident(MIN_HASH_VALUE) integer(6) preprocessor(#define) ident(MAX_HASH_VALUE) integer(55) comment(/* maximum key range = 50, duplicates = 0 */) preprocessor(#ifdef) ident(__GNUC__) ident(__inline) preprocessor(#else) preprocessor(#ifdef) ident(__cplusplus) directive(inline) preprocessor(#endif) preprocessor(#endif) directive(static) pre_type(unsigned) pre_type(int) ident(hash) operator(()ident(str)operator(,) ident(len)operator(\)) directive(register) directive(const) pre_type(char) operator(*)ident(str)operator(;) directive(register) pre_type(unsigned) pre_type(int) ident(len)operator(;) operator({) directive(static) pre_type(unsigned) pre_type(char) ident(asso_values)operator([]) operator(=) operator({) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(11)operator(,) integer(56)operator(,) integer(56)operator(,) integer(36)operator(,) integer(56)operator(,) integer(1)operator(,) integer(37)operator(,) integer(31)operator(,) integer(1)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(29)operator(,) integer(56)operator(,) integer(1)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(1)operator(,) integer(56)operator(,) integer(32)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(4)operator(,) integer(23)operator(,) integer(56)operator(,) integer(17)operator(,) integer(56)operator(,) integer(20)operator(,) integer(9)operator(,) integer(2)operator(,) integer(9)operator(,) integer(26)operator(,) integer(14)operator(,) integer(56)operator(,) integer(5)operator(,) integer(1)operator(,) integer(1)operator(,) integer(16)operator(,) integer(56)operator(,) integer(21)operator(,) integer(20)operator(,) integer(9)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56)operator(,) integer(56) operator(};) directive(register) pre_type(int) ident(hval) operator(=) ident(len)operator(;) reserved(switch) operator(()ident(hval)operator(\)) operator({) reserved(default)operator(:) reserved(case) integer(3)operator(:) ident(hval) operator(+=) ident(asso_values)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(str)operator([)integer(2)operator(]];) reserved(case) integer(2)operator(:) reserved(case) integer(1)operator(:) ident(hval) operator(+=) ident(asso_values)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(str)operator([)integer(0)operator(]];) reserved(break)operator(;) operator(}) reserved(return) ident(hval) operator(+) ident(asso_values)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(str)operator([)ident(len) operator(-) integer(1)operator(]];) operator(}) preprocessor(#ifdef) ident(__GNUC__) ident(__inline) preprocessor(#endif) reserved(struct) ident(kwtable) operator(*) ident(rb_reserved_word) operator(()ident(str)operator(,) ident(len)operator(\)) directive(register) directive(const) pre_type(char) operator(*)ident(str)operator(;) directive(register) pre_type(unsigned) pre_type(int) ident(len)operator(;) operator({) directive(static) reserved(struct) ident(kwtable) ident(wordlist)operator([]) operator(=) operator({) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(,) operator({)ident(kEND)operator(,) ident(kEND)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kELSE)operator(,) ident(kELSE)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kCASE)operator(,) ident(kCASE)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kENSURE)operator(,) ident(kENSURE)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kMODULE)operator(,) ident(kMODULE)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kELSIF)operator(,) ident(kELSIF)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kDEF)operator(,) ident(kDEF)operator(},) ident(EXPR_FNAME)operator(},) operator({)stringoperator(,) operator({)ident(kRESCUE)operator(,) ident(kRESCUE_MOD)operator(},) ident(EXPR_MID)operator(},) operator({)stringoperator(,) operator({)ident(kNOT)operator(,) ident(kNOT)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kTHEN)operator(,) ident(kTHEN)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kYIELD)operator(,) ident(kYIELD)operator(},) ident(EXPR_ARG)operator(},) operator({)stringoperator(,) operator({)ident(kFOR)operator(,) ident(kFOR)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kSELF)operator(,) ident(kSELF)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kFALSE)operator(,) ident(kFALSE)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kRETRY)operator(,) ident(kRETRY)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kRETURN)operator(,) ident(kRETURN)operator(},) ident(EXPR_MID)operator(},) operator({)stringoperator(,) operator({)ident(kTRUE)operator(,) ident(kTRUE)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kIF)operator(,) ident(kIF_MOD)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kDEFINED)operator(,) ident(kDEFINED)operator(},) ident(EXPR_ARG)operator(},) operator({)stringoperator(,) operator({)ident(kSUPER)operator(,) ident(kSUPER)operator(},) ident(EXPR_ARG)operator(},) operator({)stringoperator(,) operator({)ident(kUNDEF)operator(,) ident(kUNDEF)operator(},) ident(EXPR_FNAME)operator(},) operator({)stringoperator(,) operator({)ident(kBREAK)operator(,) ident(kBREAK)operator(},) ident(EXPR_MID)operator(},) operator({)stringoperator(,) operator({)ident(kIN)operator(,) ident(kIN)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kDO)operator(,) ident(kDO)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kNIL)operator(,) ident(kNIL)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kUNTIL)operator(,) ident(kUNTIL_MOD)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kUNLESS)operator(,) ident(kUNLESS_MOD)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kOR)operator(,) ident(kOR)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kNEXT)operator(,) ident(kNEXT)operator(},) ident(EXPR_MID)operator(},) operator({)stringoperator(,) operator({)ident(kWHEN)operator(,) ident(kWHEN)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kREDO)operator(,) ident(kREDO)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kAND)operator(,) ident(kAND)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(kBEGIN)operator(,) ident(kBEGIN)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(,) operator({)ident(k__LINE__)operator(,) ident(k__LINE__)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kCLASS)operator(,) ident(kCLASS)operator(},) ident(EXPR_CLASS)operator(},) operator({)stringoperator(,) operator({)ident(k__FILE__)operator(,) ident(k__FILE__)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(klEND)operator(,) ident(klEND)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(klBEGIN)operator(,) ident(klBEGIN)operator(},) ident(EXPR_END)operator(},) operator({)stringoperator(,) operator({)ident(kWHILE)operator(,) ident(kWHILE_MOD)operator(},) ident(EXPR_BEG)operator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(},) operator({)stringoperator(,) operator({)ident(kALIAS)operator(,) ident(kALIAS)operator(},) ident(EXPR_FNAME)operator(}) operator(};) reserved(if) operator(()ident(len) operator(<=) ident(MAX_WORD_LENGTH) operator(&&) ident(len) operator(>=) ident(MIN_WORD_LENGTH)operator(\)) operator({) directive(register) pre_type(int) ident(key) operator(=) ident(hash) operator(()ident(str)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(key) operator(<=) ident(MAX_HASH_VALUE) operator(&&) ident(key) operator(>=) integer(0)operator(\)) operator({) directive(register) directive(const) pre_type(char) operator(*)ident(s) operator(=) ident(wordlist)operator([)ident(key)operator(])operator(.)ident(name)operator(;) reserved(if) operator((*)ident(str) operator(==) operator(*)ident(s) operator(&&) operator(!)ident(strcmp) operator(()ident(str) operator(+) integer(1)operator(,) ident(s) operator(+) integer(1)operator(\)\)) reserved(return) operator(&)ident(wordlist)operator([)ident(key)operator(];) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/********************************************************************** main.c - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Fri Aug 19 13:19:58 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#ifdef) ident(__human68k__) pre_type(int) ident(_stacksize) operator(=) integer(262144)operator(;) preprocessor(#endif) preprocessor(#if) ident(defined) ident(__MINGW32__) pre_type(int) ident(_CRT_glob) operator(=) integer(0)operator(;) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__MACOS__)operator(\)) operator(&&) ident(defined)operator(()ident(__MWERKS__)operator(\)) preprocessor(#include) include() preprocessor(#endif) comment(/* to link startup code with ObjC support */) preprocessor(#if) operator(()ident(defined)operator(()ident(__APPLE__)operator(\)) operator(||) ident(defined)operator(()ident(__NeXT__)operator(\)\)) operator(&&) ident(defined)operator(()ident(__MACH__)operator(\)) directive(static) directive(void) ident(objcdummyfunction)operator(() directive(void) operator(\)) operator({) ident(objc_msgSend)operator((\);) operator(}) preprocessor(#endif) pre_type(int) ident(main)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(envp)operator(\)) pre_type(int) ident(argc)operator(;) pre_type(char) operator(**)ident(argv)operator(,) operator(**)ident(envp)operator(;) operator({) preprocessor(#ifdef) ident(_WIN32) ident(NtInitialize)operator((&)ident(argc)operator(,) operator(&)ident(argv)operator(\);) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__MACOS__)operator(\)) operator(&&) ident(defined)operator(()ident(__MWERKS__)operator(\)) ident(argc) operator(=) ident(ccommand)operator((&)ident(argv)operator(\);) preprocessor(#endif) operator({) ident(RUBY_INIT_STACK) ident(ruby_init)operator((\);) ident(ruby_options)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(ruby_run)operator((\);) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/********************************************************************** marshal.c - $Author: shyouhei $ $Date: 2009-01-28 12:59:58 +0100 (Wed, 28 Jan 2009\) $ created at: Thu Apr 27 16:30:01 JST 1995 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubyio.h") preprocessor(#include) include("st.h") preprocessor(#include) include("util.h") preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_FLOAT_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_IEEEFP_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#define) ident(BITSPERSHORT) operator(()integer(2)operator(*)ident(CHAR_BIT)operator(\)) preprocessor(#define) ident(SHORTMASK) operator((()integer(1)operator(<<)ident(BITSPERSHORT)operator(\)-)integer(1)operator(\)) preprocessor(#define) ident(SHORTDN)operator(()ident(x)operator(\)) ident(RSHIFT)operator(()ident(x)operator(,)ident(BITSPERSHORT)operator(\)) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) ident(SIZEOF_BDIGITS) preprocessor(#define) ident(SHORTLEN)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#else) directive(static) pre_type(int) ident(shortlen)operator(()ident(len)operator(,) ident(ds)operator(\)) pre_type(long) ident(len)operator(;) ident(BDIGIT) operator(*)ident(ds)operator(;) operator({) ident(BDIGIT) ident(num)operator(;) pre_type(int) ident(offset) operator(=) integer(0)operator(;) ident(num) operator(=) ident(ds)operator([)ident(len)operator(-)integer(1)operator(];) reserved(while) operator(()ident(num)operator(\)) operator({) ident(num) operator(=) ident(SHORTDN)operator(()ident(num)operator(\);) ident(offset)operator(++;) operator(}) reserved(return) operator(()ident(len) operator(-) integer(1)operator(\)*)reserved(sizeof)operator(()ident(BDIGIT)operator(\))operator(/)integer(2) operator(+) ident(offset)operator(;) operator(}) preprocessor(#define) ident(SHORTLEN)operator(()ident(x)operator(\)) ident(shortlen)operator((()ident(x)operator(\),)ident(d)operator(\)) preprocessor(#endif) preprocessor(#define) ident(MARSHAL_MAJOR) integer(4) preprocessor(#define) ident(MARSHAL_MINOR) integer(8) preprocessor(#define) ident(TYPE_NIL) char('0') preprocessor(#define) ident(TYPE_TRUE) char('T') preprocessor(#define) ident(TYPE_FALSE) char('F') preprocessor(#define) ident(TYPE_FIXNUM) char('i') preprocessor(#define) ident(TYPE_EXTENDED) char('e') preprocessor(#define) ident(TYPE_UCLASS) char('C') preprocessor(#define) ident(TYPE_OBJECT) char('o') preprocessor(#define) ident(TYPE_DATA) char('d') preprocessor(#define) ident(TYPE_USERDEF) char('u') preprocessor(#define) ident(TYPE_USRMARSHAL) char('U') preprocessor(#define) ident(TYPE_FLOAT) char('f') preprocessor(#define) ident(TYPE_BIGNUM) char('l') preprocessor(#define) ident(TYPE_STRING) char('"') preprocessor(#define) ident(TYPE_REGEXP) char('/') preprocessor(#define) ident(TYPE_ARRAY) char('[') preprocessor(#define) ident(TYPE_HASH) char('{') preprocessor(#define) ident(TYPE_HASH_DEF) char('}') preprocessor(#define) ident(TYPE_STRUCT) char('S') preprocessor(#define) ident(TYPE_MODULE_OLD) char('M') preprocessor(#define) ident(TYPE_CLASS) char('c') preprocessor(#define) ident(TYPE_MODULE) char('m') preprocessor(#define) ident(TYPE_SYMBOL) char(':') preprocessor(#define) ident(TYPE_SYMLINK) char(';') preprocessor(#define) ident(TYPE_IVAR) char('I') preprocessor(#define) ident(TYPE_LINK) char('@') directive(static) ident(ID) ident(s_dump)operator(,) ident(s_load)operator(,) ident(s_mdump)operator(,) ident(s_mload)operator(;) directive(static) ident(ID) ident(s_dump_data)operator(,) ident(s_load_data)operator(,) ident(s_alloc)operator(,) ident(s_call)operator(;) directive(static) ident(ID) ident(s_getc)operator(,) ident(s_read)operator(,) ident(s_write)operator(,) ident(s_binmode)operator(;) reserved(struct) ident(dump_arg) operator({) ident(VALUE) ident(obj)operator(;) ident(VALUE) ident(str)operator(,) ident(dest)operator(;) ident(st_table) operator(*)ident(symbols)operator(;) ident(st_table) operator(*)ident(data)operator(;) pre_type(int) ident(taint)operator(;) ident(VALUE) ident(wrapper)operator(;) operator(};) reserved(struct) ident(dump_call_arg) operator({) ident(VALUE) ident(obj)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) pre_type(int) ident(limit)operator(;) operator(};) directive(static) directive(void) ident(check_dump_arg)operator(()ident(arg)operator(,) ident(sym)operator(\)) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) ident(ID) ident(sym)operator(;) operator({) reserved(if) operator((!)ident(DATA_PTR)operator(()ident(arg)operator(->)ident(wrapper)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(sym)operator(\)\);) operator(}) operator(}) directive(static) directive(void) ident(mark_dump_arg)operator(()ident(ptr)operator(\)) directive(void) operator(*)ident(ptr)operator(;) operator({) reserved(struct) ident(dump_arg) operator(*)ident(p) operator(=) ident(ptr)operator(;) reserved(if) operator((!)ident(ptr)operator(\)) reserved(return)operator(;) ident(rb_mark_set)operator(()ident(p)operator(->)ident(data)operator(\);) operator(}) directive(static) ident(VALUE) ident(class2path)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(path) operator(=) ident(rb_class_path)operator(()ident(klass)operator(\);) pre_type(char) operator(*)ident(n) operator(=) ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(n)operator([)integer(0)operator(]) operator(==) char('#')operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_CLASS) operator(?) string operator(:) stringoperator(\),) ident(n)operator(\);) operator(}) reserved(if) operator(()ident(rb_path2class)operator(()ident(n)operator(\)) operator(!=) ident(rb_class_real)operator(()ident(klass)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(n)operator(\);) operator(}) reserved(return) ident(path)operator(;) operator(}) directive(static) directive(void) ident(w_long) ident(_)operator((()pre_type(long)operator(,) reserved(struct) ident(dump_arg)operator(*\)\);) directive(static) directive(void) ident(w_nbyte)operator(()ident(s)operator(,) ident(n)operator(,) ident(arg)operator(\)) pre_type(char) operator(*)ident(s)operator(;) pre_type(int) ident(n)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) ident(VALUE) ident(buf) operator(=) ident(arg)operator(->)ident(str)operator(;) ident(rb_str_buf_cat)operator(()ident(buf)operator(,) ident(s)operator(,) ident(n)operator(\);) reserved(if) operator(()ident(arg)operator(->)ident(dest) operator(&&) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len) operator(>=) ident(BUFSIZ)operator(\)) operator({) reserved(if) operator(()ident(arg)operator(->)ident(taint)operator(\)) ident(OBJ_TAINT)operator(()ident(buf)operator(\);) ident(rb_io_write)operator(()ident(arg)operator(->)ident(dest)operator(,) ident(buf)operator(\);) ident(rb_str_resize)operator(()ident(buf)operator(,) integer(0)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(w_byte)operator(()ident(c)operator(,) ident(arg)operator(\)) pre_type(char) ident(c)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) ident(w_nbyte)operator((&)ident(c)operator(,) integer(1)operator(,) ident(arg)operator(\);) operator(}) directive(static) directive(void) ident(w_bytes)operator(()ident(s)operator(,) ident(n)operator(,) ident(arg)operator(\)) pre_type(char) operator(*)ident(s)operator(;) pre_type(int) ident(n)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) ident(w_long)operator(()ident(n)operator(,) ident(arg)operator(\);) ident(w_nbyte)operator(()ident(s)operator(,) ident(n)operator(,) ident(arg)operator(\);) operator(}) directive(static) directive(void) ident(w_short)operator(()ident(x)operator(,) ident(arg)operator(\)) pre_type(int) ident(x)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) ident(w_byte)operator((()ident(x) operator(>>) integer(0)operator(\)) operator(&) hex(0xff)operator(,) ident(arg)operator(\);) ident(w_byte)operator((()ident(x) operator(>>) integer(8)operator(\)) operator(&) hex(0xff)operator(,) ident(arg)operator(\);) operator(}) directive(static) directive(void) ident(w_long)operator(()ident(x)operator(,) ident(arg)operator(\)) pre_type(long) ident(x)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) pre_type(char) ident(buf)operator([)reserved(sizeof)operator(()pre_type(long)operator(\)+)integer(1)operator(];) pre_type(int) ident(i)operator(,) ident(len) operator(=) integer(0)operator(;) preprocessor(#if) ident(SIZEOF_LONG) operator(>) integer(4) reserved(if) operator((!()ident(RSHIFT)operator(()ident(x)operator(,) integer(31)operator(\)) operator(==) integer(0) operator(||) ident(RSHIFT)operator(()ident(x)operator(,) integer(31)operator(\)) operator(==) operator(-)integer(1)operator(\)\)) operator({) comment(/* big long does not fit in 4 bytes */) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) preprocessor(#endif) reserved(if) operator(()ident(x) operator(==) integer(0)operator(\)) operator({) ident(w_byte)operator(()integer(0)operator(,) ident(arg)operator(\);) reserved(return)operator(;) operator(}) reserved(if) operator(()integer(0) operator(<) ident(x) operator(&&) ident(x) operator(<) integer(123)operator(\)) operator({) ident(w_byte)operator(()ident(x) operator(+) integer(5)operator(,) ident(arg)operator(\);) reserved(return)operator(;) operator(}) reserved(if) operator((-)integer(124) operator(<) ident(x) operator(&&) ident(x) operator(<) integer(0)operator(\)) operator({) ident(w_byte)operator((()ident(x) operator(-) integer(5)operator(\)&)hex(0xff)operator(,) ident(arg)operator(\);) reserved(return)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;)ident(i)operator(<)reserved(sizeof)operator(()pre_type(long)operator(\)+)integer(1)operator(;)ident(i)operator(++\)) operator({) ident(buf)operator([)ident(i)operator(]) operator(=) ident(x) operator(&) hex(0xff)operator(;) ident(x) operator(=) ident(RSHIFT)operator(()ident(x)operator(,)integer(8)operator(\);) reserved(if) operator(()ident(x) operator(==) integer(0)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) ident(i)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(x) operator(==) operator(-)integer(1)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator(-)ident(i)operator(;) reserved(break)operator(;) operator(}) operator(}) ident(len) operator(=) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<=)ident(len)operator(;)ident(i)operator(++\)) operator({) ident(w_byte)operator(()ident(buf)operator([)ident(i)operator(],) ident(arg)operator(\);) operator(}) operator(}) preprocessor(#ifdef) ident(DBL_MANT_DIG) preprocessor(#define) ident(DECIMAL_MANT) operator(()integer(53)operator(-)integer(16)operator(\)) comment(/* from IEEE754 double precision */) preprocessor(#if) ident(DBL_MANT_DIG) operator(>) integer(32) preprocessor(#define) ident(MANT_BITS) integer(32) preprocessor(#elif) ident(DBL_MANT_DIG) operator(>) integer(24) preprocessor(#define) ident(MANT_BITS) integer(24) preprocessor(#elif) ident(DBL_MANT_DIG) operator(>) integer(16) preprocessor(#define) ident(MANT_BITS) integer(16) preprocessor(#else) preprocessor(#define) ident(MANT_BITS) integer(8) preprocessor(#endif) directive(static) pre_type(int) ident(save_mantissa)operator(()ident(d)operator(,) ident(buf)operator(\)) pre_type(double) ident(d)operator(;) pre_type(char) operator(*)ident(buf)operator(;) operator({) pre_type(int) ident(e)operator(,) ident(i) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(long) ident(m)operator(;) pre_type(double) ident(n)operator(;) ident(d) operator(=) ident(modf)operator(()ident(ldexp)operator(()ident(frexp)operator(()ident(fabs)operator(()ident(d)operator(\),) operator(&)ident(e)operator(\),) ident(DECIMAL_MANT)operator(\),) operator(&)ident(d)operator(\);) reserved(if) operator(()ident(d) operator(>) integer(0)operator(\)) operator({) ident(buf)operator([)ident(i)operator(++]) operator(=) integer(0)operator(;) reserved(do) operator({) ident(d) operator(=) ident(modf)operator(()ident(ldexp)operator(()ident(d)operator(,) ident(MANT_BITS)operator(\),) operator(&)ident(n)operator(\);) ident(m) operator(=) operator(()pre_type(unsigned) pre_type(long)operator(\))ident(n)operator(;) preprocessor(#if) ident(MANT_BITS) operator(>) integer(24) ident(buf)operator([)ident(i)operator(++]) operator(=) ident(m) operator(>>) integer(24)operator(;) preprocessor(#endif) preprocessor(#if) ident(MANT_BITS) operator(>) integer(16) ident(buf)operator([)ident(i)operator(++]) operator(=) ident(m) operator(>>) integer(16)operator(;) preprocessor(#endif) preprocessor(#if) ident(MANT_BITS) operator(>) integer(8) ident(buf)operator([)ident(i)operator(++]) operator(=) ident(m) operator(>>) integer(8)operator(;) preprocessor(#endif) ident(buf)operator([)ident(i)operator(++]) operator(=) ident(m)operator(;) operator(}) reserved(while) operator(()ident(d) operator(>) integer(0)operator(\);) reserved(while) operator((!)ident(buf)operator([)ident(i) operator(-) integer(1)operator(]\)) operator(--)ident(i)operator(;) operator(}) reserved(return) ident(i)operator(;) operator(}) directive(static) pre_type(double) ident(load_mantissa)operator(()ident(d)operator(,) ident(buf)operator(,) ident(len)operator(\)) pre_type(double) ident(d)operator(;) directive(const) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(len)operator(;) operator({) reserved(if) operator((--)ident(len) operator(>) integer(0) operator(&&) operator(!*)ident(buf)operator(++\)) operator({) comment(/* binary mantissa mark */) pre_type(int) ident(e)operator(,) ident(s) operator(=) ident(d) operator(<) integer(0)operator(,) ident(dig) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(long) ident(m)operator(;) ident(modf)operator(()ident(ldexp)operator(()ident(frexp)operator(()ident(fabs)operator(()ident(d)operator(\),) operator(&)ident(e)operator(\),) ident(DECIMAL_MANT)operator(\),) operator(&)ident(d)operator(\);) reserved(do) operator({) ident(m) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(len)operator(\)) operator({) reserved(default)operator(:) ident(m) operator(=) operator(*)ident(buf)operator(++) operator(&) hex(0xff)operator(;) preprocessor(#if) ident(MANT_BITS) operator(>) integer(24) reserved(case) integer(3)operator(:) ident(m) operator(=) operator(()ident(m) operator(<<) integer(8)operator(\)) operator(|) operator((*)ident(buf)operator(++) operator(&) hex(0xff)operator(\);) preprocessor(#endif) preprocessor(#if) ident(MANT_BITS) operator(>) integer(16) reserved(case) integer(2)operator(:) ident(m) operator(=) operator(()ident(m) operator(<<) integer(8)operator(\)) operator(|) operator((*)ident(buf)operator(++) operator(&) hex(0xff)operator(\);) preprocessor(#endif) preprocessor(#if) ident(MANT_BITS) operator(>) integer(8) reserved(case) integer(1)operator(:) ident(m) operator(=) operator(()ident(m) operator(<<) integer(8)operator(\)) operator(|) operator((*)ident(buf)operator(++) operator(&) hex(0xff)operator(\);) preprocessor(#endif) operator(}) ident(dig) operator(-=) ident(len) operator(<) ident(MANT_BITS) operator(/) integer(8) operator(?) integer(8) operator(*) operator(()pre_type(unsigned)operator(\))ident(len) operator(:) ident(MANT_BITS)operator(;) ident(d) operator(+=) ident(ldexp)operator((()pre_type(double)operator(\))ident(m)operator(,) ident(dig)operator(\);) operator(}) reserved(while) operator((()ident(len) operator(-=) ident(MANT_BITS) operator(/) integer(8)operator(\)) operator(>) integer(0)operator(\);) ident(d) operator(=) ident(ldexp)operator(()ident(d)operator(,) ident(e) operator(-) ident(DECIMAL_MANT)operator(\);) reserved(if) operator(()ident(s)operator(\)) ident(d) operator(=) operator(-)ident(d)operator(;) operator(}) reserved(return) ident(d)operator(;) operator(}) preprocessor(#else) preprocessor(#define) ident(load_mantissa)operator(()ident(d)operator(,) ident(buf)operator(,) ident(len)operator(\)) operator(()ident(d)operator(\)) preprocessor(#define) ident(save_mantissa)operator(()ident(d)operator(,) ident(buf)operator(\)) integer(0) preprocessor(#endif) preprocessor(#ifdef) ident(DBL_DIG) preprocessor(#define) ident(FLOAT_DIG) operator(()ident(DBL_DIG)operator(+)integer(2)operator(\)) preprocessor(#else) preprocessor(#define) ident(FLOAT_DIG) integer(17) preprocessor(#endif) directive(static) directive(void) ident(w_float)operator(()ident(d)operator(,) ident(arg)operator(\)) pre_type(double) ident(d)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) pre_type(char) ident(buf)operator([)integer(100)operator(];) reserved(if) operator(()ident(isinf)operator(()ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(d) operator(<) integer(0)operator(\)) ident(strcpy)operator(()ident(buf)operator(,) stringoperator(\);) reserved(else) ident(strcpy)operator(()ident(buf)operator(,) stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(isnan)operator(()ident(d)operator(\)\)) operator({) ident(strcpy)operator(()ident(buf)operator(,) stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(d) operator(==) float(0)float(.0)operator(\)) operator({) reserved(if) operator(()float(1)float(.0)operator(/)ident(d) operator(<) integer(0)operator(\)) ident(strcpy)operator(()ident(buf)operator(,) stringoperator(\);) reserved(else) ident(strcpy)operator(()ident(buf)operator(,) stringoperator(\);) operator(}) reserved(else) operator({) pre_type(int) ident(len)operator(;) comment(/* xxx: should not use system's sprintf(3\) */) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(FLOAT_DIG)operator(,) ident(d)operator(\);) ident(len) operator(=) ident(strlen)operator(()ident(buf)operator(\);) ident(w_bytes)operator(()ident(buf)operator(,) ident(len) operator(+) ident(save_mantissa)operator(()ident(d)operator(,) ident(buf) operator(+) ident(len)operator(\),) ident(arg)operator(\);) reserved(return)operator(;) operator(}) ident(w_bytes)operator(()ident(buf)operator(,) ident(strlen)operator(()ident(buf)operator(\),) ident(arg)operator(\);) operator(}) directive(static) directive(void) ident(w_symbol)operator(()ident(id)operator(,) ident(arg)operator(\)) ident(ID) ident(id)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) pre_type(char) operator(*)ident(sym) operator(=) ident(rb_id2name)operator(()ident(id)operator(\);) ident(st_data_t) ident(num)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(arg)operator(->)ident(symbols)operator(,) ident(id)operator(,) operator(&)ident(num)operator(\)\)) operator({) ident(w_byte)operator(()ident(TYPE_SYMLINK)operator(,) ident(arg)operator(\);) ident(w_long)operator((()pre_type(long)operator(\))ident(num)operator(,) ident(arg)operator(\);) operator(}) reserved(else) operator({) ident(w_byte)operator(()ident(TYPE_SYMBOL)operator(,) ident(arg)operator(\);) ident(w_bytes)operator(()ident(sym)operator(,) ident(strlen)operator(()ident(sym)operator(\),) ident(arg)operator(\);) ident(st_add_direct)operator(()ident(arg)operator(->)ident(symbols)operator(,) ident(id)operator(,) ident(arg)operator(->)ident(symbols)operator(->)ident(num_entries)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(w_unique)operator(()ident(s)operator(,) ident(arg)operator(\)) pre_type(char) operator(*)ident(s)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(==) char('#')operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(s)operator(\);) operator(}) ident(w_symbol)operator(()ident(rb_intern)operator(()ident(s)operator(\),) ident(arg)operator(\);) operator(}) directive(static) directive(void) ident(w_object) ident(_)operator((()ident(VALUE)operator(,)reserved(struct) ident(dump_arg)operator(*,)pre_type(int)operator(\)\);) directive(static) pre_type(int) ident(hash_each)operator(()ident(key)operator(,) ident(value)operator(,) ident(arg)operator(\)) ident(VALUE) ident(key)operator(,) ident(value)operator(;) reserved(struct) ident(dump_call_arg) operator(*)ident(arg)operator(;) operator({) ident(w_object)operator(()ident(key)operator(,) ident(arg)operator(->)ident(arg)operator(,) ident(arg)operator(->)ident(limit)operator(\);) ident(w_object)operator(()ident(value)operator(,) ident(arg)operator(->)ident(arg)operator(,) ident(arg)operator(->)ident(limit)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) directive(void) ident(w_extended)operator(()ident(klass)operator(,) ident(arg)operator(,) ident(check)operator(\)) ident(VALUE) ident(klass)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) pre_type(int) ident(check)operator(;) operator({) pre_type(char) operator(*)ident(path)operator(;) reserved(if) operator(()ident(check) operator(&&) ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(m_tbl)operator(->)ident(num_entries) operator(||) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl) operator(&&) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(->)ident(num_entries) operator(>) integer(1)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(klass) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) operator(}) reserved(while) operator(()ident(BUILTIN_TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(path) operator(=) ident(rb_class2name)operator(()ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass)operator(\);) ident(w_byte)operator(()ident(TYPE_EXTENDED)operator(,) ident(arg)operator(\);) ident(w_unique)operator(()ident(path)operator(,) ident(arg)operator(\);) ident(klass) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) operator(}) operator(}) directive(static) directive(void) ident(w_class)operator(()ident(type)operator(,) ident(obj)operator(,) ident(arg)operator(,) ident(check)operator(\)) pre_type(int) ident(type)operator(;) ident(VALUE) ident(obj)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) pre_type(int) ident(check)operator(;) operator({) pre_type(char) operator(*)ident(path)operator(;) ident(VALUE) ident(klass) operator(=) ident(CLASS_OF)operator(()ident(obj)operator(\);) ident(w_extended)operator(()ident(klass)operator(,) ident(arg)operator(,) ident(check)operator(\);) ident(w_byte)operator(()ident(type)operator(,) ident(arg)operator(\);) ident(path) operator(=) ident(RSTRING)operator(()ident(class2path)operator(()ident(rb_class_real)operator(()ident(klass)operator(\)\)\)->)ident(ptr)operator(;) ident(w_unique)operator(()ident(path)operator(,) ident(arg)operator(\);) operator(}) directive(static) directive(void) ident(w_uclass)operator(()ident(obj)operator(,) ident(base_klass)operator(,) ident(arg)operator(\)) ident(VALUE) ident(obj)operator(,) ident(base_klass)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(CLASS_OF)operator(()ident(obj)operator(\);) ident(w_extended)operator(()ident(klass)operator(,) ident(arg)operator(,) ident(Qtrue)operator(\);) ident(klass) operator(=) ident(rb_class_real)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(klass) operator(!=) ident(base_klass)operator(\)) operator({) ident(w_byte)operator(()ident(TYPE_UCLASS)operator(,) ident(arg)operator(\);) ident(w_unique)operator(()ident(RSTRING)operator(()ident(class2path)operator(()ident(klass)operator(\)\)->)ident(ptr)operator(,) ident(arg)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(w_obj_each)operator(()ident(id)operator(,) ident(value)operator(,) ident(arg)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) reserved(struct) ident(dump_call_arg) operator(*)ident(arg)operator(;) operator({) ident(w_symbol)operator(()ident(id)operator(,) ident(arg)operator(->)ident(arg)operator(\);) ident(w_object)operator(()ident(value)operator(,) ident(arg)operator(->)ident(arg)operator(,) ident(arg)operator(->)ident(limit)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) directive(void) ident(w_ivar)operator(()ident(tbl)operator(,) ident(arg)operator(\)) ident(st_table) operator(*)ident(tbl)operator(;) reserved(struct) ident(dump_call_arg) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(tbl)operator(\)) operator({) ident(w_long)operator(()ident(tbl)operator(->)ident(num_entries)operator(,) ident(arg)operator(->)ident(arg)operator(\);) ident(st_foreach_safe)operator(()ident(tbl)operator(,) ident(w_obj_each)operator(,) operator(()ident(st_data_t)operator(\))ident(arg)operator(\);) operator(}) reserved(else) operator({) ident(w_long)operator(()integer(0)operator(,) ident(arg)operator(->)ident(arg)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(w_object)operator(()ident(obj)operator(,) ident(arg)operator(,) ident(limit)operator(\)) ident(VALUE) ident(obj)operator(;) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) pre_type(int) ident(limit)operator(;) operator({) reserved(struct) ident(dump_call_arg) ident(c_arg)operator(;) ident(st_table) operator(*)ident(ivtbl) operator(=) integer(0)operator(;) ident(st_data_t) ident(num)operator(;) reserved(if) operator(()ident(limit) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(limit)operator(--;) ident(c_arg)operator(.)ident(limit) operator(=) ident(limit)operator(;) ident(c_arg)operator(.)ident(arg) operator(=) ident(arg)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(arg)operator(->)ident(data)operator(,) ident(obj)operator(,) operator(&)ident(num)operator(\)\)) operator({) ident(w_byte)operator(()ident(TYPE_LINK)operator(,) ident(arg)operator(\);) ident(w_long)operator((()pre_type(long)operator(\))ident(num)operator(,) ident(arg)operator(\);) reserved(return)operator(;) operator(}) reserved(if) operator((()ident(ivtbl) operator(=) ident(rb_generic_ivar_table)operator(()ident(obj)operator(\)\)) operator(!=) integer(0)operator(\)) operator({) ident(w_byte)operator(()ident(TYPE_IVAR)operator(,) ident(arg)operator(\);) operator(}) reserved(if) operator(()ident(obj) operator(==) ident(Qnil)operator(\)) operator({) ident(w_byte)operator(()ident(TYPE_NIL)operator(,) ident(arg)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(obj) operator(==) ident(Qtrue)operator(\)) operator({) ident(w_byte)operator(()ident(TYPE_TRUE)operator(,) ident(arg)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(obj) operator(==) ident(Qfalse)operator(\)) operator({) ident(w_byte)operator(()ident(TYPE_FALSE)operator(,) ident(arg)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(obj)operator(\)\)) operator({) preprocessor(#if) ident(SIZEOF_LONG) operator(<=) integer(4) ident(w_byte)operator(()ident(TYPE_FIXNUM)operator(,) ident(arg)operator(\);) ident(w_long)operator(()ident(FIX2INT)operator(()ident(obj)operator(\),) ident(arg)operator(\);) preprocessor(#else) reserved(if) operator(()ident(RSHIFT)operator((()pre_type(long)operator(\))ident(obj)operator(,) integer(31)operator(\)) operator(==) integer(0) operator(||) ident(RSHIFT)operator((()pre_type(long)operator(\))ident(obj)operator(,) integer(31)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(w_byte)operator(()ident(TYPE_FIXNUM)operator(,) ident(arg)operator(\);) ident(w_long)operator(()ident(FIX2LONG)operator(()ident(obj)operator(\),) ident(arg)operator(\);) operator(}) reserved(else) operator({) ident(w_object)operator(()ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(obj)operator(\)\),) ident(arg)operator(,) ident(limit)operator(\);) operator(}) preprocessor(#endif) operator(}) reserved(else) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(obj)operator(\)\)) operator({) ident(w_symbol)operator(()ident(SYM2ID)operator(()ident(obj)operator(\),) ident(arg)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) ident(arg)operator(->)ident(taint) operator(=) ident(Qtrue)operator(;) ident(st_add_direct)operator(()ident(arg)operator(->)ident(data)operator(,) ident(obj)operator(,) ident(arg)operator(->)ident(data)operator(->)ident(num_entries)operator(\);) reserved(if) operator(()ident(rb_respond_to)operator(()ident(obj)operator(,) ident(s_mdump)operator(\)\)) operator({) directive(volatile) ident(VALUE) ident(v)operator(;) ident(v) operator(=) ident(rb_funcall)operator(()ident(obj)operator(,) ident(s_mdump)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(check_dump_arg)operator(()ident(arg)operator(,) ident(s_mdump)operator(\);) ident(w_class)operator(()ident(TYPE_USRMARSHAL)operator(,) ident(obj)operator(,) ident(arg)operator(,) ident(Qfalse)operator(\);) ident(w_object)operator(()ident(v)operator(,) ident(arg)operator(,) ident(limit)operator(\);) reserved(if) operator(()ident(ivtbl)operator(\)) ident(w_ivar)operator(()integer(0)operator(,) operator(&)ident(c_arg)operator(\);) reserved(return)operator(;) operator(}) reserved(if) operator(()ident(rb_respond_to)operator(()ident(obj)operator(,) ident(s_dump)operator(\)\)) operator({) ident(VALUE) ident(v)operator(;) ident(v) operator(=) ident(rb_funcall)operator(()ident(obj)operator(,) ident(s_dump)operator(,) integer(1)operator(,) ident(INT2NUM)operator(()ident(limit)operator(\)\);) ident(check_dump_arg)operator(()ident(arg)operator(,) ident(s_dump)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(ivtbl) operator(&&) operator(()ident(ivtbl) operator(=) ident(rb_generic_ivar_table)operator(()ident(v)operator(\)\)\)) operator({) ident(w_byte)operator(()ident(TYPE_IVAR)operator(,) ident(arg)operator(\);) operator(}) ident(w_class)operator(()ident(TYPE_USERDEF)operator(,) ident(obj)operator(,) ident(arg)operator(,) ident(Qfalse)operator(\);) ident(w_bytes)operator(()ident(RSTRING)operator(()ident(v)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(v)operator(\)->)ident(len)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(ivtbl)operator(\)) operator({) ident(w_ivar)operator(()ident(ivtbl)operator(,) operator(&)ident(c_arg)operator(\);) operator(}) reserved(return)operator(;) operator(}) reserved(switch) operator(()ident(BUILTIN_TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(w_byte)operator(()ident(TYPE_CLASS)operator(,) ident(arg)operator(\);) operator({) ident(VALUE) ident(path) operator(=) ident(class2path)operator(()ident(obj)operator(\);) ident(w_bytes)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(path)operator(\)->)ident(len)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_MODULE)operator(:) ident(w_byte)operator(()ident(TYPE_MODULE)operator(,) ident(arg)operator(\);) operator({) ident(VALUE) ident(path) operator(=) ident(class2path)operator(()ident(obj)operator(\);) ident(w_bytes)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(path)operator(\)->)ident(len)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(w_byte)operator(()ident(TYPE_FLOAT)operator(,) ident(arg)operator(\);) ident(w_float)operator(()ident(RFLOAT)operator(()ident(obj)operator(\)->)ident(value)operator(,) ident(arg)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(w_byte)operator(()ident(TYPE_BIGNUM)operator(,) ident(arg)operator(\);) operator({) pre_type(char) ident(sign) operator(=) ident(RBIGNUM)operator(()ident(obj)operator(\)->)ident(sign) operator(?) char('+') operator(:) char('-')operator(;) pre_type(long) ident(len) operator(=) ident(RBIGNUM)operator(()ident(obj)operator(\)->)ident(len)operator(;) ident(BDIGIT) operator(*)ident(d) operator(=) ident(RBIGNUM)operator(()ident(obj)operator(\)->)ident(digits)operator(;) ident(w_byte)operator(()ident(sign)operator(,) ident(arg)operator(\);) ident(w_long)operator(()ident(SHORTLEN)operator(()ident(len)operator(\),) ident(arg)operator(\);) comment(/* w_short? */) reserved(while) operator(()ident(len)operator(--\)) operator({) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(>) ident(SIZEOF_SHORT) ident(BDIGIT) ident(num) operator(=) operator(*)ident(d)operator(;) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(SIZEOF_BDIGITS)operator(;) ident(i)operator(+=)ident(SIZEOF_SHORT)operator(\)) operator({) ident(w_short)operator(()ident(num) operator(&) ident(SHORTMASK)operator(,) ident(arg)operator(\);) ident(num) operator(=) ident(SHORTDN)operator(()ident(num)operator(\);) reserved(if) operator(()ident(len) operator(==) integer(0) operator(&&) ident(num) operator(==) integer(0)operator(\)) reserved(break)operator(;) operator(}) preprocessor(#else) ident(w_short)operator((*)ident(d)operator(,) ident(arg)operator(\);) preprocessor(#endif) ident(d)operator(++;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(T_STRING)operator(:) ident(w_uclass)operator(()ident(obj)operator(,) ident(rb_cString)operator(,) ident(arg)operator(\);) ident(w_byte)operator(()ident(TYPE_STRING)operator(,) ident(arg)operator(\);) ident(w_bytes)operator(()ident(RSTRING)operator(()ident(obj)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(obj)operator(\)->)ident(len)operator(,) ident(arg)operator(\);) reserved(break)operator(;) reserved(case) ident(T_REGEXP)operator(:) ident(w_uclass)operator(()ident(obj)operator(,) ident(rb_cRegexp)operator(,) ident(arg)operator(\);) ident(w_byte)operator(()ident(TYPE_REGEXP)operator(,) ident(arg)operator(\);) ident(w_bytes)operator(()ident(RREGEXP)operator(()ident(obj)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(obj)operator(\)->)ident(len)operator(,) ident(arg)operator(\);) ident(w_byte)operator(()ident(rb_reg_options)operator(()ident(obj)operator(\),) ident(arg)operator(\);) reserved(break)operator(;) reserved(case) ident(T_ARRAY)operator(:) ident(w_uclass)operator(()ident(obj)operator(,) ident(rb_cArray)operator(,) ident(arg)operator(\);) ident(w_byte)operator(()ident(TYPE_ARRAY)operator(,) ident(arg)operator(\);) operator({) pre_type(long) ident(len) operator(=) ident(RARRAY)operator(()ident(obj)operator(\)->)ident(len)operator(;) ident(VALUE) operator(*)ident(ptr) operator(=) ident(RARRAY)operator(()ident(obj)operator(\)->)ident(ptr)operator(;) ident(w_long)operator(()ident(len)operator(,) ident(arg)operator(\);) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(w_object)operator((*)ident(ptr)operator(,) ident(arg)operator(,) ident(limit)operator(\);) ident(ptr)operator(++;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(T_HASH)operator(:) ident(w_uclass)operator(()ident(obj)operator(,) ident(rb_cHash)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(RHASH)operator(()ident(obj)operator(\)->)ident(ifnone)operator(\)\)) operator({) ident(w_byte)operator(()ident(TYPE_HASH)operator(,) ident(arg)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_USER2)operator(\)\)) operator({) comment(/* FL_USER2 means HASH_PROC_DEFAULT (see hash.c\) */) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(else) operator({) ident(w_byte)operator(()ident(TYPE_HASH_DEF)operator(,) ident(arg)operator(\);) operator(}) ident(w_long)operator(()ident(RHASH)operator(()ident(obj)operator(\)->)ident(tbl)operator(->)ident(num_entries)operator(,) ident(arg)operator(\);) ident(rb_hash_foreach)operator(()ident(obj)operator(,) ident(hash_each)operator(,) operator(()ident(st_data_t)operator(\)&)ident(c_arg)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(RHASH)operator(()ident(obj)operator(\)->)ident(ifnone)operator(\)\)) operator({) ident(w_object)operator(()ident(RHASH)operator(()ident(obj)operator(\)->)ident(ifnone)operator(,) ident(arg)operator(,) ident(limit)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_STRUCT)operator(:) ident(w_class)operator(()ident(TYPE_STRUCT)operator(,) ident(obj)operator(,) ident(arg)operator(,) ident(Qtrue)operator(\);) operator({) pre_type(long) ident(len) operator(=) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(len)operator(;) ident(VALUE) ident(mem)operator(;) pre_type(long) ident(i)operator(;) ident(w_long)operator(()ident(len)operator(,) ident(arg)operator(\);) ident(mem) operator(=) ident(rb_struct_members)operator(()ident(obj)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(w_symbol)operator(()ident(SYM2ID)operator(()ident(RARRAY)operator(()ident(mem)operator(\)->)ident(ptr)operator([)ident(i)operator(]\),) ident(arg)operator(\);) ident(w_object)operator(()ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(arg)operator(,) ident(limit)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(T_OBJECT)operator(:) ident(w_class)operator(()ident(TYPE_OBJECT)operator(,) ident(obj)operator(,) ident(arg)operator(,) ident(Qtrue)operator(\);) ident(w_ivar)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) operator(&)ident(c_arg)operator(\);) reserved(break)operator(;) reserved(case) ident(T_DATA)operator(:) operator({) ident(VALUE) ident(v)operator(;) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(obj)operator(,) ident(s_dump_data)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) operator(}) ident(v) operator(=) ident(rb_funcall)operator(()ident(obj)operator(,) ident(s_dump_data)operator(,) integer(0)operator(\);) ident(check_dump_arg)operator(()ident(arg)operator(,) ident(s_dump_data)operator(\);) ident(w_class)operator(()ident(TYPE_DATA)operator(,) ident(obj)operator(,) ident(arg)operator(,) ident(Qtrue)operator(\);) ident(w_object)operator(()ident(v)operator(,) ident(arg)operator(,) ident(limit)operator(\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(ivtbl)operator(\)) operator({) ident(w_ivar)operator(()ident(ivtbl)operator(,) operator(&)ident(c_arg)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(dump)operator(()ident(arg)operator(\)) reserved(struct) ident(dump_call_arg) operator(*)ident(arg)operator(;) operator({) ident(w_object)operator(()ident(arg)operator(->)ident(obj)operator(,) ident(arg)operator(->)ident(arg)operator(,) ident(arg)operator(->)ident(limit)operator(\);) reserved(if) operator(()ident(arg)operator(->)ident(arg)operator(->)ident(dest)operator(\)) operator({) ident(rb_io_write)operator(()ident(arg)operator(->)ident(arg)operator(->)ident(dest)operator(,) ident(arg)operator(->)ident(arg)operator(->)ident(str)operator(\);) ident(rb_str_resize)operator(()ident(arg)operator(->)ident(arg)operator(->)ident(str)operator(,) integer(0)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(VALUE) ident(dump_ensure)operator(()ident(arg)operator(\)) reserved(struct) ident(dump_arg) operator(*)ident(arg)operator(;) operator({) reserved(if) operator((!)ident(DATA_PTR)operator(()ident(arg)operator(->)ident(wrapper)operator(\)\)) reserved(return) integer(0)operator(;) ident(st_free_table)operator(()ident(arg)operator(->)ident(symbols)operator(\);) ident(st_free_table)operator(()ident(arg)operator(->)ident(data)operator(\);) ident(DATA_PTR)operator(()ident(arg)operator(->)ident(wrapper)operator(\)) operator(=) integer(0)operator(;) ident(arg)operator(->)ident(wrapper) operator(=) integer(0)operator(;) reserved(if) operator(()ident(arg)operator(->)ident(taint)operator(\)) operator({) ident(OBJ_TAINT)operator(()ident(arg)operator(->)ident(str)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/* * call-seq: * dump( obj [, anIO] , limit=--1 \) => anIO * * Serializes obj and all descendent objects. If anIO is * specified, the serialized data will be written to it, otherwise the * data will be returned as a String. If limit is specified, the * traversal of subobjects will be limited to that depth. If limit is * negative, no checking of depth will be performed. * * class Klass * def initialize(str\) * @str = str * end * def sayHello * @str * end * end * * (produces no output\) * * o = Klass.new("hello\\n"\) * data = Marshal.dump(o\) * obj = Marshal.load(data\) * obj.sayHello #=> "hello\\n" */) directive(static) ident(VALUE) ident(marshal_dump)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE)operator(*) ident(argv)operator(;) operator({) ident(VALUE) ident(obj)operator(,) ident(port)operator(,) ident(a1)operator(,) ident(a2)operator(;) pre_type(int) ident(limit) operator(=) operator(-)integer(1)operator(;) reserved(struct) ident(dump_arg) ident(arg)operator(;) reserved(struct) ident(dump_call_arg) ident(c_arg)operator(;) ident(port) operator(=) ident(Qnil)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(obj)operator(,) operator(&)ident(a1)operator(,) operator(&)ident(a2)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(3)operator(\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(a2)operator(\)\)) ident(limit) operator(=) ident(NUM2INT)operator(()ident(a2)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(a1)operator(\)\)) reserved(goto) ident(type_error)operator(;) ident(port) operator(=) ident(a1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(a1)operator(\)\)) ident(limit) operator(=) ident(FIX2INT)operator(()ident(a1)operator(\);) reserved(else) reserved(if) operator(()ident(NIL_P)operator(()ident(a1)operator(\)\)) reserved(goto) ident(type_error)operator(;) reserved(else) ident(port) operator(=) ident(a1)operator(;) operator(}) ident(arg)operator(.)ident(dest) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(symbols) operator(=) ident(st_init_numtable)operator((\);) ident(arg)operator(.)ident(data) operator(=) ident(st_init_numtable)operator((\);) ident(arg)operator(.)ident(taint) operator(=) ident(Qfalse)operator(;) ident(arg)operator(.)ident(str) operator(=) ident(rb_str_buf_new)operator(()integer(0)operator(\);) ident(RBASIC)operator(()ident(arg)operator(.)ident(str)operator(\)->)ident(klass) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(wrapper) operator(=) ident(Data_Wrap_Struct)operator(()ident(rb_cData)operator(,) ident(mark_dump_arg)operator(,) integer(0)operator(,) operator(&)ident(arg)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(port)operator(\)\)) operator({) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(port)operator(,) ident(s_write)operator(\)\)) operator({) label(type_error:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(arg)operator(.)ident(dest) operator(=) ident(port)operator(;) reserved(if) operator(()ident(rb_respond_to)operator(()ident(port)operator(,) ident(s_binmode)operator(\)\)) operator({) ident(rb_funcall2)operator(()ident(port)operator(,) ident(s_binmode)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(check_dump_arg)operator((&)ident(arg)operator(,) ident(s_binmode)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(port) operator(=) ident(arg)operator(.)ident(str)operator(;) operator(}) ident(c_arg)operator(.)ident(obj) operator(=) ident(obj)operator(;) ident(c_arg)operator(.)ident(arg) operator(=) operator(&)ident(arg)operator(;) ident(c_arg)operator(.)ident(limit) operator(=) ident(limit)operator(;) ident(w_byte)operator(()ident(MARSHAL_MAJOR)operator(,) operator(&)ident(arg)operator(\);) ident(w_byte)operator(()ident(MARSHAL_MINOR)operator(,) operator(&)ident(arg)operator(\);) ident(rb_ensure)operator(()ident(dump)operator(,) operator(()ident(VALUE)operator(\)&)ident(c_arg)operator(,) ident(dump_ensure)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(\);) ident(RBASIC)operator(()ident(arg)operator(.)ident(str)operator(\)->)ident(klass) operator(=) ident(rb_cString)operator(;) reserved(return) ident(port)operator(;) operator(}) reserved(struct) ident(load_arg) operator({) ident(VALUE) ident(src)operator(;) pre_type(long) ident(offset)operator(;) ident(st_table) operator(*)ident(symbols)operator(;) ident(st_table) operator(*)ident(data)operator(;) ident(VALUE) ident(proc)operator(;) pre_type(int) ident(taint)operator(;) ident(VALUE) ident(wrapper)operator(;) operator(};) directive(static) directive(void) ident(check_load_arg)operator(()ident(arg)operator(,) ident(sym)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) ident(ID) ident(sym)operator(;) operator({) reserved(if) operator((!)ident(DATA_PTR)operator(()ident(arg)operator(->)ident(wrapper)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(sym)operator(\)\);) operator(}) operator(}) directive(static) directive(void) ident(mark_load_arg)operator(()ident(ptr)operator(\)) directive(void) operator(*)ident(ptr)operator(;) operator({) reserved(struct) ident(load_arg) operator(*)ident(p) operator(=) ident(ptr)operator(;) reserved(if) operator((!)ident(ptr)operator(\)) reserved(return)operator(;) ident(rb_mark_tbl)operator(()ident(p)operator(->)ident(data)operator(\);) operator(}) directive(static) ident(VALUE) ident(r_object) ident(_)operator((()reserved(struct) ident(load_arg) operator(*)ident(arg)operator(\)\);) directive(static) pre_type(int) ident(r_byte)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) pre_type(int) ident(c)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(arg)operator(->)ident(src)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(arg)operator(->)ident(src)operator(\)->)ident(len) operator(>) ident(arg)operator(->)ident(offset)operator(\)) operator({) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(RSTRING)operator(()ident(arg)operator(->)ident(src)operator(\)->)ident(ptr)operator([)ident(arg)operator(->)ident(offset)operator(++];) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(src) operator(=) ident(arg)operator(->)ident(src)operator(;) ident(VALUE) ident(v) operator(=) ident(rb_funcall2)operator(()ident(src)operator(,) ident(s_getc)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_getc)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator(\)\)) ident(rb_eof_error)operator((\);) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(FIX2INT)operator(()ident(v)operator(\);) operator(}) reserved(return) ident(c)operator(;) operator(}) directive(static) directive(void) ident(long_toobig)operator(()ident(size)operator(\)) pre_type(int) ident(size)operator(;) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) reserved(sizeof)operator(()pre_type(long)operator(\),) ident(size)operator(\);) operator(}) preprocessor(#undef) ident(SIGN_EXTEND_CHAR) preprocessor(#if) ident(__STDC__) preprocessor(# define) ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)) operator((()pre_type(signed) pre_type(char)operator(\)()ident(c)operator(\)\)) preprocessor(#else) comment(/* not __STDC__ */) comment(/* As in Harbison and Steele. */) preprocessor(# define) ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)) operator((((()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)) operator(^) integer(128)operator(\)) operator(-) integer(128)operator(\)) preprocessor(#endif) directive(static) pre_type(long) ident(r_long)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) directive(register) pre_type(long) ident(x)operator(;) pre_type(int) ident(c) operator(=) ident(SIGN_EXTEND_CHAR)operator(()ident(r_byte)operator(()ident(arg)operator(\)\);) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(c) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(c) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()integer(4) operator(<) ident(c) operator(&&) ident(c) operator(<) integer(128)operator(\)) operator({) reserved(return) ident(c) operator(-) integer(5)operator(;) operator(}) reserved(if) operator(()ident(c) operator(>) reserved(sizeof)operator(()pre_type(long)operator(\)\)) ident(long_toobig)operator(()ident(c)operator(\);) ident(x) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(c)operator(;)ident(i)operator(++\)) operator({) ident(x) operator(|=) operator(()pre_type(long)operator(\))ident(r_byte)operator(()ident(arg)operator(\)) operator(<<) operator(()integer(8)operator(*)ident(i)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(if) operator((-)integer(129) operator(<) ident(c) operator(&&) ident(c) operator(<) operator(-)integer(4)operator(\)) operator({) reserved(return) ident(c) operator(+) integer(5)operator(;) operator(}) ident(c) operator(=) operator(-)ident(c)operator(;) reserved(if) operator(()ident(c) operator(>) reserved(sizeof)operator(()pre_type(long)operator(\)\)) ident(long_toobig)operator(()ident(c)operator(\);) ident(x) operator(=) operator(-)integer(1)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;)ident(i)operator(<)ident(c)operator(;)ident(i)operator(++\)) operator({) ident(x) operator(&=) operator(~(()pre_type(long)operator(\))hex(0xff) operator(<<) operator(()integer(8)operator(*)ident(i)operator(\)\);) ident(x) operator(|=) operator(()pre_type(long)operator(\))ident(r_byte)operator(()ident(arg)operator(\)) operator(<<) operator(()integer(8)operator(*)ident(i)operator(\);) operator(}) operator(}) reserved(return) ident(x)operator(;) operator(}) preprocessor(#define) ident(r_bytes)operator(()ident(arg)operator(\)) ident(r_bytes0)operator(()ident(r_long)operator(()ident(arg)operator(\),) operator(()ident(arg)operator(\)\)) directive(static) ident(VALUE) ident(r_bytes0)operator(()ident(len)operator(,) ident(arg)operator(\)) pre_type(long) ident(len)operator(;) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(arg)operator(->)ident(src)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(arg)operator(->)ident(src)operator(\)->)ident(len) operator(-) ident(arg)operator(->)ident(offset) operator(>=) ident(len)operator(\)) operator({) ident(str) operator(=) ident(rb_str_new)operator(()ident(RSTRING)operator(()ident(arg)operator(->)ident(src)operator(\)->)ident(ptr)operator(+)ident(arg)operator(->)ident(offset)operator(,) ident(len)operator(\);) ident(arg)operator(->)ident(offset) operator(+=) ident(len)operator(;) operator(}) reserved(else) operator({) label(too_short:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(src) operator(=) ident(arg)operator(->)ident(src)operator(;) ident(VALUE) ident(n) operator(=) ident(LONG2NUM)operator(()ident(len)operator(\);) ident(str) operator(=) ident(rb_funcall2)operator(()ident(src)operator(,) ident(s_read)operator(,) integer(1)operator(,) operator(&)ident(n)operator(\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_read)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) reserved(goto) ident(too_short)operator(;) ident(StringValue)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(len)operator(\)) reserved(goto) ident(too_short)operator(;) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(str)operator(\)\)) ident(arg)operator(->)ident(taint) operator(=) ident(Qtrue)operator(;) operator(}) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(ID) ident(r_symlink)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) ident(ID) ident(id)operator(;) pre_type(long) ident(num) operator(=) ident(r_long)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(st_lookup)operator(()ident(arg)operator(->)ident(symbols)operator(,) ident(num)operator(,) operator(&)ident(id)operator(\)\)) operator({) reserved(return) ident(id)operator(;) operator(}) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) directive(static) ident(ID) ident(r_symreal)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) ident(ID) ident(id)operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(RSTRING)operator(()ident(r_bytes)operator(()ident(arg)operator(\)\)->)ident(ptr)operator(\);) ident(st_insert)operator(()ident(arg)operator(->)ident(symbols)operator(,) ident(arg)operator(->)ident(symbols)operator(->)ident(num_entries)operator(,) ident(id)operator(\);) reserved(return) ident(id)operator(;) operator(}) directive(static) ident(ID) ident(r_symbol)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) reserved(if) operator(()ident(r_byte)operator(()ident(arg)operator(\)) operator(==) ident(TYPE_SYMLINK)operator(\)) operator({) reserved(return) ident(r_symlink)operator(()ident(arg)operator(\);) operator(}) reserved(return) ident(r_symreal)operator(()ident(arg)operator(\);) operator(}) directive(static) pre_type(char)operator(*) ident(r_unique)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(rb_id2name)operator(()ident(r_symbol)operator(()ident(arg)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(r_string)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(r_bytes)operator(()ident(arg)operator(\);) operator(}) directive(static) ident(VALUE) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\)) ident(VALUE) ident(v)operator(;) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) ident(st_insert)operator(()ident(arg)operator(->)ident(data)operator(,) ident(arg)operator(->)ident(data)operator(->)ident(num_entries)operator(,) operator(()ident(st_data_t)operator(\))ident(v)operator(\);) reserved(if) operator(()ident(arg)operator(->)ident(taint)operator(\)) ident(OBJ_TAINT)operator(()ident(v)operator(\);) reserved(return) ident(v)operator(;) operator(}) directive(static) directive(void) ident(r_ivar)operator(()ident(obj)operator(,) ident(arg)operator(\)) ident(VALUE) ident(obj)operator(;) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) pre_type(long) ident(len)operator(;) ident(len) operator(=) ident(r_long)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(len) operator(>) integer(0)operator(\)) operator({) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(ID) ident(id) operator(=) ident(r_symbol)operator(()ident(arg)operator(\);) ident(VALUE) ident(val) operator(=) ident(r_object)operator(()ident(arg)operator(\);) ident(rb_ivar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(\);) operator(}) operator(}) operator(}) directive(static) ident(VALUE) ident(path2class)operator(()ident(path)operator(\)) pre_type(char) operator(*)ident(path)operator(;) operator({) ident(VALUE) ident(v) operator(=) ident(rb_path2class)operator(()ident(path)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_CLASS)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(path)operator(\);) operator(}) reserved(return) ident(v)operator(;) operator(}) directive(static) ident(VALUE) ident(path2module)operator(()ident(path)operator(\)) pre_type(char) operator(*)ident(path)operator(;) operator({) ident(VALUE) ident(v) operator(=) ident(rb_path2class)operator(()ident(path)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_MODULE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(path)operator(\);) operator(}) reserved(return) ident(v)operator(;) operator(}) directive(static) ident(VALUE) ident(r_object0)operator(()ident(arg)operator(,) ident(proc)operator(,) ident(ivp)operator(,) ident(extmod)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) ident(VALUE) ident(proc)operator(;) pre_type(int) operator(*)ident(ivp)operator(;) ident(VALUE) ident(extmod)operator(;) operator({) ident(VALUE) ident(v) operator(=) ident(Qnil)operator(;) pre_type(int) ident(type) operator(=) ident(r_byte)operator(()ident(arg)operator(\);) pre_type(long) ident(id)operator(;) ident(st_data_t) ident(link)operator(;) reserved(switch) operator(()ident(type)operator(\)) operator({) reserved(case) ident(TYPE_LINK)operator(:) ident(id) operator(=) ident(r_long)operator(()ident(arg)operator(\);) reserved(if) operator((!)ident(st_lookup)operator(()ident(arg)operator(->)ident(data)operator(,) operator(()ident(st_data_t)operator(\))ident(id)operator(,) operator(&)ident(link)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(v) operator(=) operator(()ident(st_data_t)operator(\))ident(link)operator(;) reserved(return) ident(v)operator(;) reserved(case) ident(TYPE_IVAR)operator(:) operator({) pre_type(int) ident(ivar) operator(=) ident(Qtrue)operator(;) ident(v) operator(=) ident(r_object0)operator(()ident(arg)operator(,) integer(0)operator(,) operator(&)ident(ivar)operator(,) ident(extmod)operator(\);) reserved(if) operator(()ident(ivar)operator(\)) ident(r_ivar)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_EXTENDED)operator(:) operator({) ident(VALUE) ident(m) operator(=) ident(path2module)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) reserved(if) operator(()ident(NIL_P)operator(()ident(extmod)operator(\)\)) ident(extmod) operator(=) ident(rb_ary_new2)operator(()integer(0)operator(\);) ident(rb_ary_push)operator(()ident(extmod)operator(,) ident(m)operator(\);) ident(v) operator(=) ident(r_object0)operator(()ident(arg)operator(,) integer(0)operator(,) integer(0)operator(,) ident(extmod)operator(\);) reserved(while) operator(()ident(RARRAY)operator(()ident(extmod)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(m) operator(=) ident(rb_ary_pop)operator(()ident(extmod)operator(\);) ident(rb_extend_object)operator(()ident(v)operator(,) ident(m)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_UCLASS)operator(:) operator({) ident(VALUE) ident(c) operator(=) ident(path2class)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(c)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(v) operator(=) ident(r_object0)operator(()ident(arg)operator(,) integer(0)operator(,) integer(0)operator(,) ident(extmod)operator(\);) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(v)operator(\)) operator(||) ident(TYPE)operator(()ident(v)operator(\)) operator(==) ident(T_OBJECT) operator(||) ident(TYPE)operator(()ident(v)operator(\)) operator(==) ident(T_CLASS)operator(\)) operator({) label(format_error:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(==) ident(T_MODULE) operator(||) operator(!)ident(RTEST)operator(()ident(rb_class_inherited_p)operator(()ident(c)operator(,) ident(RBASIC)operator(()ident(v)operator(\)->)ident(klass)operator(\)\)\)) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_obj_alloc)operator(()ident(c)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(TYPE)operator(()ident(tmp)operator(\)\)) reserved(goto) ident(format_error)operator(;) operator(}) ident(RBASIC)operator(()ident(v)operator(\)->)ident(klass) operator(=) ident(c)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_NIL)operator(:) ident(v) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) ident(TYPE_TRUE)operator(:) ident(v) operator(=) ident(Qtrue)operator(;) reserved(break)operator(;) reserved(case) ident(TYPE_FALSE)operator(:) ident(v) operator(=) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(case) ident(TYPE_FIXNUM)operator(:) operator({) pre_type(long) ident(i) operator(=) ident(r_long)operator(()ident(arg)operator(\);) ident(v) operator(=) ident(LONG2FIX)operator(()ident(i)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_FLOAT)operator(:) operator({) pre_type(double) ident(d)operator(,) ident(t) operator(=) float(0)float(.0)operator(;) ident(VALUE) ident(str) operator(=) ident(r_bytes)operator(()ident(arg)operator(\);) directive(const) pre_type(char) operator(*)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(strcmp)operator(()ident(ptr)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(d) operator(=) ident(t) operator(/) ident(t)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strcmp)operator(()ident(ptr)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(d) operator(=) float(1)float(.0) operator(/) ident(t)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strcmp)operator(()ident(ptr)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(d) operator(=) operator(-)float(1)float(.0) operator(/) ident(t)operator(;) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(e)operator(;) ident(d) operator(=) ident(strtod)operator(()ident(ptr)operator(,) operator(&)ident(e)operator(\);) ident(d) operator(=) ident(load_mantissa)operator(()ident(d)operator(,) ident(e)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) operator(()ident(e) operator(-) ident(ptr)operator(\)\);) operator(}) ident(v) operator(=) ident(rb_float_new)operator(()ident(d)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_BIGNUM)operator(:) operator({) pre_type(long) ident(len)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) directive(volatile) ident(VALUE) ident(data)operator(;) ident(NEWOBJ)operator(()ident(big)operator(,) reserved(struct) ident(RBignum)operator(\);) ident(OBJSETUP)operator(()ident(big)operator(,) ident(rb_cBignum)operator(,) ident(T_BIGNUM)operator(\);) ident(big)operator(->)ident(sign) operator(=) operator(()ident(r_byte)operator(()ident(arg)operator(\)) operator(==) char('+')operator(\);) ident(len) operator(=) ident(r_long)operator(()ident(arg)operator(\);) ident(data) operator(=) ident(r_bytes0)operator(()ident(len) operator(*) integer(2)operator(,) ident(arg)operator(\);) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(==) ident(SIZEOF_SHORT) ident(big)operator(->)ident(len) operator(=) ident(len)operator(;) preprocessor(#else) ident(big)operator(->)ident(len) operator(=) operator(()ident(len) operator(+) integer(1)operator(\)) operator(*) integer(2) operator(/) reserved(sizeof)operator(()ident(BDIGIT)operator(\);) preprocessor(#endif) ident(big)operator(->)ident(digits) operator(=) ident(digits) operator(=) ident(ALLOC_N)operator(()ident(BDIGIT)operator(,) ident(big)operator(->)ident(len)operator(\);) ident(MEMCPY)operator(()ident(digits)operator(,) ident(RSTRING)operator(()ident(data)operator(\)->)ident(ptr)operator(,) pre_type(char)operator(,) ident(len) operator(*) integer(2)operator(\);) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(>) ident(SIZEOF_SHORT) ident(MEMZERO)operator((()pre_type(char) operator(*\))ident(digits) operator(+) ident(len) operator(*) integer(2)operator(,) pre_type(char)operator(,) ident(big)operator(->)ident(len) operator(*) reserved(sizeof)operator(()ident(BDIGIT)operator(\)) operator(-) ident(len) operator(*) integer(2)operator(\);) preprocessor(#endif) ident(len) operator(=) ident(big)operator(->)ident(len)operator(;) reserved(while) operator(()ident(len) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(digits)operator(;) ident(BDIGIT) ident(num) operator(=) integer(0)operator(;) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(>) ident(SIZEOF_SHORT) pre_type(int) ident(shift) operator(=) integer(0)operator(;) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(SIZEOF_BDIGITS)operator(;) ident(i)operator(++\)) operator({) ident(num) operator(|=) operator(()pre_type(int)operator(\))ident(p)operator([)ident(i)operator(]) operator(<<) ident(shift)operator(;) ident(shift) operator(+=) integer(8)operator(;) operator(}) preprocessor(#else) ident(num) operator(=) ident(p)operator([)integer(0)operator(]) operator(|) operator(()ident(p)operator([)integer(1)operator(]) operator(<<) integer(8)operator(\);) preprocessor(#endif) operator(*)ident(digits)operator(++) operator(=) ident(num)operator(;) ident(len)operator(--;) operator(}) ident(v) operator(=) ident(rb_big_norm)operator((()ident(VALUE)operator(\))ident(big)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_STRING)operator(:) ident(v) operator(=) ident(r_entry)operator(()ident(r_string)operator(()ident(arg)operator(\),) ident(arg)operator(\);) reserved(break)operator(;) reserved(case) ident(TYPE_REGEXP)operator(:) operator({) directive(volatile) ident(VALUE) ident(str) operator(=) ident(r_bytes)operator(()ident(arg)operator(\);) pre_type(int) ident(options) operator(=) ident(r_byte)operator(()ident(arg)operator(\);) ident(v) operator(=) ident(r_entry)operator(()ident(rb_reg_new)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(options)operator(\),) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_ARRAY)operator(:) operator({) directive(volatile) pre_type(long) ident(len) operator(=) ident(r_long)operator(()ident(arg)operator(\);) comment(/* gcc 2.7.2.3 -O2 bug?? */) ident(v) operator(=) ident(rb_ary_new2)operator(()ident(len)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(rb_ary_push)operator(()ident(v)operator(,) ident(r_object)operator(()ident(arg)operator(\)\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_HASH)operator(:) reserved(case) ident(TYPE_HASH_DEF)operator(:) operator({) pre_type(long) ident(len) operator(=) ident(r_long)operator(()ident(arg)operator(\);) ident(v) operator(=) ident(rb_hash_new)operator((\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(VALUE) ident(key) operator(=) ident(r_object)operator(()ident(arg)operator(\);) ident(VALUE) ident(value) operator(=) ident(r_object)operator(()ident(arg)operator(\);) ident(rb_hash_aset)operator(()ident(v)operator(,) ident(key)operator(,) ident(value)operator(\);) operator(}) reserved(if) operator(()ident(type) operator(==) ident(TYPE_HASH_DEF)operator(\)) operator({) ident(RHASH)operator(()ident(v)operator(\)->)ident(ifnone) operator(=) ident(r_object)operator(()ident(arg)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_STRUCT)operator(:) operator({) ident(VALUE) ident(klass)operator(,) ident(mem)operator(,) ident(values)operator(;) directive(volatile) pre_type(long) ident(i)operator(;) comment(/* gcc 2.7.2.3 -O2 bug?? */) pre_type(long) ident(len)operator(;) ident(ID) ident(slot)operator(;) ident(klass) operator(=) ident(path2class)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) ident(mem) operator(=) ident(rb_struct_s_members)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(mem) operator(==) ident(Qnil)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(len) operator(=) ident(r_long)operator(()ident(arg)operator(\);) ident(values) operator(=) ident(rb_ary_new2)operator(()ident(len)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(values)operator(,) ident(Qnil)operator(\);) operator(}) ident(v) operator(=) ident(rb_struct_alloc)operator(()ident(klass)operator(,) ident(values)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(slot) operator(=) ident(r_symbol)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(RARRAY)operator(()ident(mem)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(!=) ident(ID2SYM)operator(()ident(slot)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\),) ident(rb_id2name)operator(()ident(slot)operator(\),) ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(RARRAY)operator(()ident(mem)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\)\);) operator(}) ident(rb_struct_aset)operator(()ident(v)operator(,) ident(LONG2FIX)operator(()ident(i)operator(\),) ident(r_object)operator(()ident(arg)operator(\)\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_USERDEF)operator(:) operator({) ident(VALUE) ident(klass) operator(=) ident(path2class)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) ident(VALUE) ident(data)operator(;) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(klass)operator(,) ident(s_load)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\)\);) operator(}) ident(data) operator(=) ident(r_string)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(ivp)operator(\)) operator({) ident(r_ivar)operator(()ident(data)operator(,) ident(arg)operator(\);) operator(*)ident(ivp) operator(=) ident(Qfalse)operator(;) operator(}) ident(v) operator(=) ident(rb_funcall)operator(()ident(klass)operator(,) ident(s_load)operator(,) integer(1)operator(,) ident(data)operator(\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_load)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_USRMARSHAL)operator(:) operator({) ident(VALUE) ident(klass) operator(=) ident(path2class)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) ident(VALUE) ident(data)operator(;) ident(v) operator(=) ident(rb_obj_alloc)operator(()ident(klass)operator(\);) reserved(if) operator((!) ident(NIL_P)operator(()ident(extmod)operator(\)\)) operator({) reserved(while) operator(()ident(RARRAY)operator(()ident(extmod)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(VALUE) ident(m) operator(=) ident(rb_ary_pop)operator(()ident(extmod)operator(\);) ident(rb_extend_object)operator(()ident(v)operator(,) ident(m)operator(\);) operator(}) operator(}) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(v)operator(,) ident(s_mload)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\)\);) operator(}) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) ident(data) operator(=) ident(r_object)operator(()ident(arg)operator(\);) ident(rb_funcall)operator(()ident(v)operator(,) ident(s_mload)operator(,) integer(1)operator(,) ident(data)operator(\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_mload)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_OBJECT)operator(:) operator({) ident(VALUE) ident(klass) operator(=) ident(path2class)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) ident(v) operator(=) ident(rb_obj_alloc)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_OBJECT)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) ident(r_ivar)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_DATA)operator(:) operator({) ident(VALUE) ident(klass) operator(=) ident(path2class)operator(()ident(r_unique)operator(()ident(arg)operator(\)\);) reserved(if) operator(()ident(rb_respond_to)operator(()ident(klass)operator(,) ident(s_alloc)operator(\)\)) operator({) directive(static) pre_type(int) ident(warn) operator(=) ident(Qtrue)operator(;) reserved(if) operator(()ident(warn)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(warn) operator(=) ident(Qfalse)operator(;) operator(}) ident(v) operator(=) ident(rb_funcall)operator(()ident(klass)operator(,) ident(s_alloc)operator(,) integer(0)operator(\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_alloc)operator(\);) operator(}) reserved(else) operator({) ident(v) operator(=) ident(rb_obj_alloc)operator(()ident(klass)operator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(T_DATA)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(v)operator(,) ident(s_load_data)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\)\);) operator(}) ident(rb_funcall)operator(()ident(v)operator(,) ident(s_load_data)operator(,) integer(1)operator(,) ident(r_object0)operator(()ident(arg)operator(,) integer(0)operator(,) integer(0)operator(,) ident(extmod)operator(\)\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_load_data)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_MODULE_OLD)operator(:) operator({) directive(volatile) ident(VALUE) ident(str) operator(=) ident(r_bytes)operator(()ident(arg)operator(\);) ident(v) operator(=) ident(rb_path2class)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_CLASS)operator(:) operator({) directive(volatile) ident(VALUE) ident(str) operator(=) ident(r_bytes)operator(()ident(arg)operator(\);) ident(v) operator(=) ident(path2class)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_MODULE)operator(:) operator({) directive(volatile) ident(VALUE) ident(str) operator(=) ident(r_bytes)operator(()ident(arg)operator(\);) ident(v) operator(=) ident(path2module)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(r_entry)operator(()ident(v)operator(,) ident(arg)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(TYPE_SYMBOL)operator(:) ident(v) operator(=) ident(ID2SYM)operator(()ident(r_symreal)operator(()ident(arg)operator(\)\);) reserved(break)operator(;) reserved(case) ident(TYPE_SYMLINK)operator(:) reserved(return) ident(ID2SYM)operator(()ident(r_symlink)operator(()ident(arg)operator(\)\);) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(type)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(proc)operator(\)) operator({) ident(rb_funcall)operator(()ident(proc)operator(,) ident(s_call)operator(,) integer(1)operator(,) ident(v)operator(\);) ident(check_load_arg)operator(()ident(arg)operator(,) ident(s_call)operator(\);) operator(}) reserved(return) ident(v)operator(;) operator(}) directive(static) ident(VALUE) ident(r_object)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(r_object0)operator(()ident(arg)operator(,) ident(arg)operator(->)ident(proc)operator(,) integer(0)operator(,) ident(Qnil)operator(\);) operator(}) directive(static) ident(VALUE) ident(load)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) reserved(return) ident(r_object)operator(()ident(arg)operator(\);) operator(}) directive(static) ident(VALUE) ident(load_ensure)operator(()ident(arg)operator(\)) reserved(struct) ident(load_arg) operator(*)ident(arg)operator(;) operator({) reserved(if) operator((!)ident(DATA_PTR)operator(()ident(arg)operator(->)ident(wrapper)operator(\)\)) reserved(return) integer(0)operator(;) ident(st_free_table)operator(()ident(arg)operator(->)ident(symbols)operator(\);) ident(st_free_table)operator(()ident(arg)operator(->)ident(data)operator(\);) ident(DATA_PTR)operator(()ident(arg)operator(->)ident(wrapper)operator(\)) operator(=) integer(0)operator(;) ident(arg)operator(->)ident(wrapper) operator(=) integer(0)operator(;) reserved(return) integer(0)operator(;) operator(}) comment(/* * call-seq: * load( source [, proc] \) => obj * restore( source [, proc] \) => obj * * Returns the result of converting the serialized data in source into a * Ruby object (possibly with associated subordinate objects\). source * may be either an instance of IO or an object that responds to * to_str. If proc is specified, it will be passed each object as it * is deserialized. */) directive(static) ident(VALUE) ident(marshal_load)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(port)operator(,) ident(proc)operator(;) pre_type(int) ident(major)operator(,) ident(minor)operator(;) ident(VALUE) ident(v)operator(;) reserved(struct) ident(load_arg) ident(arg)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(port)operator(,) operator(&)ident(proc)operator(\);) ident(v) operator(=) ident(rb_check_string_type)operator(()ident(port)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(v)operator(\)\)) operator({) ident(arg)operator(.)ident(taint) operator(=) ident(OBJ_TAINTED)operator(()ident(port)operator(\);) comment(/* original taintedness */) ident(port) operator(=) ident(v)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(rb_respond_to)operator(()ident(port)operator(,) ident(s_getc)operator(\)) operator(&&) ident(rb_respond_to)operator(()ident(port)operator(,) ident(s_read)operator(\)\)) operator({) reserved(if) operator(()ident(rb_respond_to)operator(()ident(port)operator(,) ident(s_binmode)operator(\)\)) operator({) ident(rb_funcall2)operator(()ident(port)operator(,) ident(s_binmode)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) ident(arg)operator(.)ident(taint) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(arg)operator(.)ident(src) operator(=) ident(port)operator(;) ident(arg)operator(.)ident(offset) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(symbols) operator(=) ident(st_init_numtable)operator((\);) ident(arg)operator(.)ident(data) operator(=) ident(st_init_numtable)operator((\);) ident(arg)operator(.)ident(proc) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(wrapper) operator(=) ident(Data_Wrap_Struct)operator(()ident(rb_cData)operator(,) ident(mark_load_arg)operator(,) integer(0)operator(,) operator(&)ident(arg)operator(\);) ident(major) operator(=) ident(r_byte)operator((&)ident(arg)operator(\);) ident(minor) operator(=) ident(r_byte)operator((&)ident(arg)operator(\);) reserved(if) operator(()ident(major) operator(!=) ident(MARSHAL_MAJOR) operator(||) ident(minor) operator(>) ident(MARSHAL_MINOR)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(MARSHAL_MAJOR)operator(,) ident(MARSHAL_MINOR)operator(,) ident(major)operator(,) ident(minor)operator(\);) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)) operator(&&) ident(minor) operator(!=) ident(MARSHAL_MINOR)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(MARSHAL_MAJOR)operator(,) ident(MARSHAL_MINOR)operator(,) ident(major)operator(,) ident(minor)operator(\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(proc)operator(\)\)) ident(arg)operator(.)ident(proc) operator(=) ident(proc)operator(;) ident(v) operator(=) ident(rb_ensure)operator(()ident(load)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) ident(load_ensure)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(\);) reserved(return) ident(v)operator(;) operator(}) comment(/* * The marshaling library converts collections of Ruby objects into a * byte stream, allowing them to be stored outside the currently * active script. This data may subsequently be read and the original * objects reconstituted. * Marshaled data has major and minor version numbers stored along * with the object information. In normal use, marshaling can only * load data written with the same major version number and an equal * or lower minor version number. If Ruby's ``verbose'' flag is set * (normally using -d, -v, -w, or --verbose\) the major and minor * numbers must match exactly. Marshal versioning is independent of * Ruby's version numbers. You can extract the version by reading the * first two bytes of marshaled data. * * str = Marshal.dump("thing"\) * RUBY_VERSION #=> "1.8.0" * str[0] #=> 4 * str[1] #=> 8 * * Some objects cannot be dumped: if the objects to be dumped include * bindings, procedure or method objects, instances of class IO, or * singleton objects, a TypeError will be raised. * If your class has special serialization needs (for example, if you * want to serialize in some specific format\), or if it contains * objects that would otherwise not be serializable, you can implement * your own serialization strategy by defining two methods, _dump and * _load: * The instance method _dump should return a String object containing * all the information necessary to reconstitute objects of this class * and all referenced objects up to a maximum depth given as an integer * parameter (a value of -1 implies that you should disable depth checking\). * The class method _load should take a String and return an object of this class. */) directive(void) ident(Init_marshal)operator((\)) operator({) ident(VALUE) ident(rb_mMarshal) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(s_dump) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_load) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_mdump) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_mload) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_dump_data) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_load_data) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_alloc) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_call) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_getc) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_read) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_write) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(s_binmode) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_define_module_function)operator(()ident(rb_mMarshal)operator(,) stringoperator(,) ident(marshal_dump)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMarshal)operator(,) stringoperator(,) ident(marshal_load)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMarshal)operator(,) stringoperator(,) ident(marshal_load)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_const)operator(()ident(rb_mMarshal)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(MARSHAL_MAJOR)operator(\)\);) ident(rb_define_const)operator(()ident(rb_mMarshal)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(MARSHAL_MINOR)operator(\)\);) operator(}) ident(VALUE) ident(rb_marshal_dump)operator(()ident(obj)operator(,) ident(port)operator(\)) ident(VALUE) ident(obj)operator(,) ident(port)operator(;) operator({) pre_type(int) ident(argc) operator(=) integer(1)operator(;) ident(VALUE) ident(argv)operator([)integer(2)operator(];) ident(argv)operator([)integer(0)operator(]) operator(=) ident(obj)operator(;) ident(argv)operator([)integer(1)operator(]) operator(=) ident(port)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(port)operator(\)\)) ident(argc) operator(=) integer(2)operator(;) reserved(return) ident(marshal_dump)operator(()ident(argc)operator(,) ident(argv)operator(\);) operator(}) ident(VALUE) ident(rb_marshal_load)operator(()ident(port)operator(\)) ident(VALUE) ident(port)operator(;) operator({) reserved(return) ident(marshal_load)operator(()integer(1)operator(,) operator(&)ident(port)operator(\);) operator(}) comment(/********************************************************************** math.c - $Author: shyouhei $ $Date: 2008-07-02 11:25:48 +0200 (Wed, 02 Jul 2008\) $ created at: Tue Jan 25 14:12:56 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include() preprocessor(#include) include() ident(VALUE) ident(rb_mMath)operator(;) preprocessor(#define) ident(Need_Float)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) operator(=) ident(rb_Float)operator(()ident(x)operator(\)) preprocessor(#define) ident(Need_Float2)operator(()ident(x)operator(,)ident(y)operator(\)) reserved(do) operator({)\ ident(Need_Float)operator(()ident(x)operator(\);)\ ident(Need_Float)operator(()ident(y)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) directive(static) directive(void) ident(domain_check)operator(()ident(x)operator(,) ident(msg)operator(\)) pre_type(double) ident(x)operator(;) pre_type(char) operator(*)ident(msg)operator(;) operator({) reserved(while)operator(()integer(1)operator(\)) operator({) reserved(if) operator(()ident(errno)operator(\)) operator({) ident(rb_sys_fail)operator(()ident(msg)operator(\);) operator(}) reserved(if) operator(()ident(isnan)operator(()ident(x)operator(\)\)) operator({) preprocessor(#if) ident(defined)operator(()ident(EDOM)operator(\)) ident(errno) operator(=) ident(EDOM)operator(;) preprocessor(#elif) ident(defined)operator(()ident(ERANGE)operator(\)) ident(errno) operator(=) ident(ERANGE)operator(;) preprocessor(#endif) reserved(continue)operator(;) operator(}) reserved(break)operator(;) operator(}) operator(}) comment(/* * call-seq: * Math.atan2(y, x\) => float * * Computes the arc tangent given y and x. Returns * -PI..PI. * */) directive(static) ident(VALUE) ident(math_atan2)operator(()ident(obj)operator(,) ident(y)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(,) ident(y)operator(;) operator({) ident(Need_Float2)operator(()ident(y)operator(,) ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(atan2)operator(()ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(,) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.cos(x\) => float * * Computes the cosine of x (expressed in radians\). Returns * -1..1. */) directive(static) ident(VALUE) ident(math_cos)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(cos)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.sin(x\) => float * * Computes the sine of x (expressed in radians\). Returns * -1..1. */) directive(static) ident(VALUE) ident(math_sin)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(sin)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.tan(x\) => float * * Returns the tangent of x (expressed in radians\). */) directive(static) ident(VALUE) ident(math_tan)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(tan)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.acos(x\) => float * * Computes the arc cosine of x. Returns 0..PI. */) directive(static) ident(VALUE) ident(math_acos)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(acos)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.asin(x\) => float * * Computes the arc sine of x. Returns 0..PI. */) directive(static) ident(VALUE) ident(math_asin)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(asin)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.atan(x\) => float * * Computes the arc tangent of x. Returns -{PI/2} .. {PI/2}. */) directive(static) ident(VALUE) ident(math_atan)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(atan)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) preprocessor(#ifndef) ident(HAVE_COSH) pre_type(double) ident(cosh)operator(()ident(x)operator(\)) pre_type(double) ident(x)operator(;) operator({) reserved(return) operator(()ident(exp)operator(()ident(x)operator(\)) operator(+) ident(exp)operator((-)ident(x)operator(\)\)) operator(/) integer(2)operator(;) operator(}) preprocessor(#endif) comment(/* * call-seq: * Math.cosh(x\) => float * * Computes the hyperbolic cosine of x (expressed in radians\). */) directive(static) ident(VALUE) ident(math_cosh)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(cosh)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) preprocessor(#ifndef) ident(HAVE_SINH) pre_type(double) ident(sinh)operator(()ident(x)operator(\)) pre_type(double) ident(x)operator(;) operator({) reserved(return) operator(()ident(exp)operator(()ident(x)operator(\)) operator(-) ident(exp)operator((-)ident(x)operator(\)\)) operator(/) integer(2)operator(;) operator(}) preprocessor(#endif) comment(/* * call-seq: * Math.sinh(x\) => float * * Computes the hyperbolic sine of x (expressed in * radians\). */) directive(static) ident(VALUE) ident(math_sinh)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(sinh)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) preprocessor(#ifndef) ident(HAVE_TANH) pre_type(double) ident(tanh)operator(()ident(x)operator(\)) pre_type(double) ident(x)operator(;) operator({) reserved(return) ident(sinh)operator(()ident(x)operator(\)) operator(/) ident(cosh)operator(()ident(x)operator(\);) operator(}) preprocessor(#endif) comment(/* * call-seq: * Math.tanh(\) => float * * Computes the hyperbolic tangent of x (expressed in * radians\). */) directive(static) ident(VALUE) ident(math_tanh)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(tanh)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.acosh(x\) => float * * Computes the inverse hyperbolic cosine of x. */) directive(static) ident(VALUE) ident(math_acosh)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(acosh)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.asinh(x\) => float * * Computes the inverse hyperbolic sine of x. */) directive(static) ident(VALUE) ident(math_asinh)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(asinh)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.atanh(x\) => float * * Computes the inverse hyperbolic tangent of x. */) directive(static) ident(VALUE) ident(math_atanh)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(atanh)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.exp(x\) => float * * Returns e**x. */) directive(static) ident(VALUE) ident(math_exp)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(exp)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) preprocessor(#if) ident(defined) ident(__CYGWIN__) preprocessor(# include) include() preprocessor(# if) ident(CYGWIN_VERSION_DLL_MAJOR) operator(<) integer(1005) preprocessor(# define) ident(nan)operator(()ident(x)operator(\)) ident(nan)operator((\)) preprocessor(# endif) preprocessor(# define) ident(log)operator(()ident(x)operator(\)) operator((()ident(x)operator(\)) operator(<) float(0)float(.0) operator(?) ident(nan)operator(()stringoperator(\)) operator(:) ident(log)operator(()ident(x)operator(\)\)) preprocessor(# define) ident(log10)operator(()ident(x)operator(\)) operator((()ident(x)operator(\)) operator(<) float(0)float(.0) operator(?) ident(nan)operator(()stringoperator(\)) operator(:) ident(log10)operator(()ident(x)operator(\)\)) preprocessor(#endif) comment(/* * call-seq: * Math.log(numeric\) => float * * Returns the natural logarithm of numeric. */) directive(static) ident(VALUE) ident(math_log)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(log)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.log10(numeric\) => float * * Returns the base 10 logarithm of numeric. */) directive(static) ident(VALUE) ident(math_log10)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(log10)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.sqrt(numeric\) => float * * Returns the non-negative square root of numeric. */) directive(static) ident(VALUE) ident(math_sqrt)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(sqrt)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\);) ident(domain_check)operator(()ident(d)operator(,) stringoperator(\);) reserved(return) ident(rb_float_new)operator(()ident(d)operator(\);) operator(}) comment(/* * call-seq: * Math.frexp(numeric\) => [ fraction, exponent ] * * Returns a two-element array containing the normalized fraction (a * Float\) and exponent (a Fixnum\) of * numeric. * * fraction, exponent = Math.frexp(1234\) #=> [0.6025390625, 11] * fraction * 2**exponent #=> 1234.0 */) directive(static) ident(VALUE) ident(math_frexp)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) pre_type(double) ident(d)operator(;) pre_type(int) ident(exp)operator(;) ident(Need_Float)operator(()ident(x)operator(\);) ident(d) operator(=) ident(frexp)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) operator(&)ident(exp)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(rb_float_new)operator(()ident(d)operator(\),) ident(INT2NUM)operator(()ident(exp)operator(\)\);) operator(}) comment(/* * call-seq: * Math.ldexp(flt, int\) -> float * * Returns the value of flt*(2**int\). * * fraction, exponent = Math.frexp(1234\) * Math.ldexp(fraction, exponent\) #=> 1234.0 */) directive(static) ident(VALUE) ident(math_ldexp)operator(()ident(obj)operator(,) ident(x)operator(,) ident(n)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(,) ident(n)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(ldexp)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) ident(NUM2INT)operator(()ident(n)operator(\)\)\);) operator(}) comment(/* * call-seq: * Math.hypot(x, y\) => float * * Returns sqrt(x**2 + y**2\), the hypotenuse of a right-angled triangle * with sides x and y. * * Math.hypot(3, 4\) #=> 5.0 */) directive(static) ident(VALUE) ident(math_hypot)operator(()ident(obj)operator(,) ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(,) ident(y)operator(;) operator({) ident(Need_Float2)operator(()ident(x)operator(,) ident(y)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(hypot)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.erf(x\) => float * * Calculates the error function of x. */) directive(static) ident(VALUE) ident(math_erf)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(erf)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * call-seq: * Math.erfc(x\) => float * * Calculates the complementary error function of x. */) directive(static) ident(VALUE) ident(math_erfc)operator(()ident(obj)operator(,) ident(x)operator(\)) ident(VALUE) ident(obj)operator(,) ident(x)operator(;) operator({) ident(Need_Float)operator(()ident(x)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(erfc)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(\)\);) operator(}) comment(/* * The Math module contains module functions for basic * trigonometric and transcendental functions. See class * Float for a list of constants that * define Ruby's floating point accuracy. */) directive(void) ident(Init_Math)operator((\)) operator({) ident(rb_mMath) operator(=) ident(rb_define_module)operator(()stringoperator(\);) preprocessor(#ifdef) ident(M_PI) ident(rb_define_const)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(M_PI)operator(\)\);) preprocessor(#else) ident(rb_define_const)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(atan)operator(()float(1)float(.0)operator(\)*)float(4)float(.0)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(M_E) ident(rb_define_const)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(M_E)operator(\)\);) preprocessor(#else) ident(rb_define_const)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(exp)operator(()float(1)float(.0)operator(\)\)\);) preprocessor(#endif) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_atan2)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_cos)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_sin)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_tan)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_acos)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_asin)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_atan)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_cosh)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_sinh)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_tanh)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_acosh)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_asinh)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_atanh)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_exp)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_log)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_log10)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_sqrt)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_frexp)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_ldexp)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_hypot)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_erf)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mMath)operator(,) stringoperator(,) ident(math_erfc)operator(,) integer(1)operator(\);) operator(}) comment(/********************************************************************** numeric.c - $Author: wyhaines $ $Date: 2009-07-14 17:05:27 +0200 (Tue, 14 Jul 2009\) $ created at: Fri Aug 13 18:33:09 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("env.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(__FreeBSD__)operator(\)) operator(&&) ident(__FreeBSD__) operator(<) integer(4) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_FLOAT_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_IEEEFP_H) preprocessor(#include) include() preprocessor(#endif) comment(/* use IEEE 64bit values if not defined */) preprocessor(#ifndef) ident(FLT_RADIX) preprocessor(#define) ident(FLT_RADIX) integer(2) preprocessor(#endif) preprocessor(#ifndef) ident(FLT_ROUNDS) preprocessor(#define) ident(FLT_ROUNDS) integer(1) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MIN) preprocessor(#define) ident(DBL_MIN) float(2)float(.2250738585072014e-308) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MAX) preprocessor(#define) ident(DBL_MAX) float(1)float(.7976931348623157e+308) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MIN_EXP) preprocessor(#define) ident(DBL_MIN_EXP) operator((-)integer(1021)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MAX_EXP) preprocessor(#define) ident(DBL_MAX_EXP) integer(1024) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MIN_10_EXP) preprocessor(#define) ident(DBL_MIN_10_EXP) operator((-)integer(307)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MAX_10_EXP) preprocessor(#define) ident(DBL_MAX_10_EXP) integer(308) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_DIG) preprocessor(#define) ident(DBL_DIG) integer(15) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_MANT_DIG) preprocessor(#define) ident(DBL_MANT_DIG) integer(53) preprocessor(#endif) preprocessor(#ifndef) ident(DBL_EPSILON) preprocessor(#define) ident(DBL_EPSILON) float(2)float(.2204460492503131e-16) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_ROUND) pre_type(double) ident(round)operator(()ident(x)operator(\)) pre_type(double) ident(x)operator(;) operator({) pre_type(double) ident(f)operator(;) reserved(if) operator(()ident(x) operator(>) float(0)float(.0)operator(\)) operator({) ident(f) operator(=) ident(floor)operator(()ident(x)operator(\);) ident(x) operator(=) ident(f) operator(+) operator(()ident(x) operator(-) ident(f) operator(>=) float(0)float(.5)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(x) operator(<) float(0)float(.0)operator(\)) operator({) ident(f) operator(=) ident(ceil)operator(()ident(x)operator(\);) ident(x) operator(=) ident(f) operator(-) operator(()ident(f) operator(-) ident(x) operator(>=) float(0)float(.5)operator(\);) operator(}) reserved(return) ident(x)operator(;) operator(}) preprocessor(#endif) directive(static) ident(ID) ident(id_coerce)operator(,) ident(id_to_i)operator(,) ident(id_eq)operator(;) ident(VALUE) ident(rb_cNumeric)operator(;) ident(VALUE) ident(rb_cFloat)operator(;) ident(VALUE) ident(rb_cInteger)operator(;) ident(VALUE) ident(rb_cFixnum)operator(;) ident(VALUE) ident(rb_eZeroDivError)operator(;) ident(VALUE) ident(rb_eFloatDomainError)operator(;) directive(void) ident(rb_num_zerodiv)operator((\)) operator({) ident(rb_raise)operator(()ident(rb_eZeroDivError)operator(,) stringoperator(\);) operator(}) comment(/* * call-seq: * num.coerce(numeric\) => array * * If aNumeric is the same type as num, returns an array * containing aNumeric and num. Otherwise, returns an * array with both aNumeric and num represented as * Float objects. This coercion mechanism is used by * Ruby to handle mixed-type numeric operations: it is intended to * find a compatible common type between the two operands of the operator. * * 1.coerce(2.5\) #=> [2.5, 1.0] * 1.2.coerce(3\) #=> [3.0, 1.2] * 1.coerce(2\) #=> [2, 1] */) directive(static) ident(VALUE) ident(num_coerce)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(CLASS_OF)operator(()ident(x)operator(\)) operator(==) ident(CLASS_OF)operator(()ident(y)operator(\)\)) reserved(return) ident(rb_assoc_new)operator(()ident(y)operator(,) ident(x)operator(\);) ident(x) operator(=) ident(rb_Float)operator(()ident(x)operator(\);) ident(y) operator(=) ident(rb_Float)operator(()ident(y)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(y)operator(,) ident(x)operator(\);) operator(}) directive(static) ident(VALUE) ident(coerce_body)operator(()ident(x)operator(\)) ident(VALUE) operator(*)ident(x)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(x)operator([)integer(1)operator(],) ident(id_coerce)operator(,) integer(1)operator(,) ident(x)operator([)integer(0)operator(]\);) operator(}) directive(static) ident(VALUE) ident(coerce_rescue)operator(()ident(x)operator(\)) ident(VALUE) operator(*)ident(x)operator(;) operator({) directive(volatile) ident(VALUE) ident(v) operator(=) ident(rb_inspect)operator(()ident(x)operator([)integer(1)operator(]\);) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_special_const_p)operator(()ident(x)operator([)integer(1)operator(]\)?) ident(RSTRING)operator(()ident(v)operator(\)->)ident(ptr)operator(:) ident(rb_obj_classname)operator(()ident(x)operator([)integer(1)operator(]\),) ident(rb_obj_classname)operator(()ident(x)operator([)integer(0)operator(]\)\);) reserved(return) ident(Qnil)operator(;) comment(/* dummy */) operator(}) directive(static) pre_type(int) ident(do_coerce)operator(()ident(x)operator(,) ident(y)operator(,) ident(err)operator(\)) ident(VALUE) operator(*)ident(x)operator(,) operator(*)ident(y)operator(;) pre_type(int) ident(err)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(a)operator([)integer(2)operator(];) ident(a)operator([)integer(0)operator(]) operator(=) operator(*)ident(x)operator(;) ident(a)operator([)integer(1)operator(]) operator(=) operator(*)ident(y)operator(;) ident(ary) operator(=) ident(rb_rescue)operator(()ident(coerce_body)operator(,) operator(()ident(VALUE)operator(\))ident(a)operator(,) ident(err)operator(?)ident(coerce_rescue)operator(:)integer(0)operator(,) operator(()ident(VALUE)operator(\))ident(a)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(ary)operator(\)) operator(!=) ident(T_ARRAY) operator(||) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len) operator(!=) integer(2)operator(\)) operator({) reserved(if) operator(()ident(err)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) operator(*)ident(x) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(0)operator(];) operator(*)ident(y) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)integer(1)operator(];) reserved(return) ident(Qtrue)operator(;) operator(}) ident(VALUE) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(do_coerce)operator((&)ident(x)operator(,) operator(&)ident(y)operator(,) ident(Qtrue)operator(\);) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(,) integer(1)operator(,) ident(y)operator(\);) operator(}) ident(VALUE) ident(rb_num_coerce_cmp)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(do_coerce)operator((&)ident(x)operator(,) operator(&)ident(y)operator(,) ident(Qfalse)operator(\)\)) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(,) integer(1)operator(,) ident(y)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) ident(VALUE) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(c)operator(,) ident(x0) operator(=) ident(x)operator(,) ident(y0) operator(=) ident(y)operator(;) reserved(if) operator((!)ident(do_coerce)operator((&)ident(x)operator(,) operator(&)ident(y)operator(,) ident(Qfalse)operator(\)) operator(||) ident(NIL_P)operator(()ident(c) operator(=) ident(rb_funcall)operator(()ident(x)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(,) integer(1)operator(,) ident(y)operator(\)\)\)) operator({) ident(rb_cmperr)operator(()ident(x0)operator(,) ident(y0)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) reserved(return) ident(c)operator(;) operator(}) comment(/* * Trap attempts to add methods to Numeric objects. Always * raises a TypeError */) directive(static) ident(VALUE) ident(num_sadded)operator(()ident(x)operator(,) ident(name)operator(\)) ident(VALUE) ident(x)operator(,) ident(name)operator(;) operator({) ident(ruby_frame) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(;) comment(/* pop frame for "singleton_method_added" */) comment(/* Numerics should be values; singleton_methods should not be added to them */) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(rb_to_id)operator(()ident(name)operator(\)\),) ident(rb_obj_classname)operator(()ident(x)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(num_init_copy)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) comment(/* Numerics are immutable values, which should not be copied */) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call-seq: * +num => num * * Unary Plus---Returns the receiver's value. */) directive(static) ident(VALUE) ident(num_uplus)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(num)operator(;) operator(}) comment(/* * call-seq: * -num => numeric * * Unary Minus---Returns the receiver's value, negated. */) directive(static) ident(VALUE) ident(num_uminus)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) ident(VALUE) ident(zero)operator(;) ident(zero) operator(=) ident(INT2FIX)operator(()integer(0)operator(\);) ident(do_coerce)operator((&)ident(zero)operator(,) operator(&)ident(num)operator(,) ident(Qtrue)operator(\);) reserved(return) ident(rb_funcall)operator(()ident(zero)operator(,) char('-')operator(,) integer(1)operator(,) ident(num)operator(\);) operator(}) comment(/* * call-seq: * num.quo(numeric\) => result * * Equivalent to Numeric#/, but overridden in subclasses. */) directive(static) ident(VALUE) ident(num_quo)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) char('/')operator(,) integer(1)operator(,) ident(y)operator(\);) operator(}) directive(static) ident(VALUE) ident(num_floor)operator(()ident(VALUE) ident(num)operator(\);) comment(/* * call-seq: * num.div(numeric\) => integer * * Uses / to perform division, then converts the result to * an integer. Numeric does not define the / * operator; this is left to subclasses. */) directive(static) ident(VALUE) ident(num_div)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(num_floor)operator(()ident(rb_funcall)operator(()ident(x)operator(,) char('/')operator(,) integer(1)operator(,) ident(y)operator(\)\);) operator(}) comment(/* * call-seq: * num.divmod( aNumeric \) -> anArray * * Returns an array containing the quotient and modulus obtained by * dividing num by aNumeric. If q, r = * x.divmod(y\), then * * q = floor(float(x\)/float(y\)\) * x = q*y + r * * The quotient is rounded toward -infinity, as shown in the following table: * * a | b | a.divmod(b\) | a/b | a.modulo(b\) | a.remainder(b\) * ------+-----+---------------+---------+-------------+--------------- * 13 | 4 | 3, 1 | 3 | 1 | 1 * ------+-----+---------------+---------+-------------+--------------- * 13 | -4 | -4, -3 | -3 | -3 | 1 * ------+-----+---------------+---------+-------------+--------------- * -13 | 4 | -4, 3 | -4 | 3 | -1 * ------+-----+---------------+---------+-------------+--------------- * -13 | -4 | 3, -1 | 3 | -1 | -1 * ------+-----+---------------+---------+-------------+--------------- * 11.5 | 4 | 2, 3.5 | 2.875 | 3.5 | 3.5 * ------+-----+---------------+---------+-------------+--------------- * 11.5 | -4 | -3, -0.5 | -2.875 | -0.5 | 3.5 * ------+-----+---------------+---------+-------------+--------------- * -11.5 | 4 | -3, 0.5 | -2.875 | 0.5 | -3.5 * ------+-----+---------------+---------+-------------+--------------- * -11.5 | -4 | 2 -3.5 | 2.875 | -3.5 | -3.5 * * * Examples * 11.divmod(3\) #=> [3, 2] * 11.divmod(-3\) #=> [-4, -1] * 11.divmod(3.5\) #=> [3, 0.5] * (-11\).divmod(3.5\) #=> [-4, 3.0] * (11.5\).divmod(3.5\) #=> [3, 1.0] */) directive(static) ident(VALUE) ident(num_divmod)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(rb_assoc_new)operator(()ident(num_div)operator(()ident(x)operator(,) ident(y)operator(\),) ident(rb_funcall)operator(()ident(x)operator(,) char('%')operator(,) integer(1)operator(,) ident(y)operator(\)\);) operator(}) comment(/* * call-seq: * num.modulo(numeric\) => result * * Equivalent to * num.divmod(aNumeric\)[1]. */) directive(static) ident(VALUE) ident(num_modulo)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) char('%')operator(,) integer(1)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * num.remainder(numeric\) => result * * If num and numeric have different signs, returns * mod-numeric; otherwise, returns mod. In * both cases mod is the value * num.modulo(numeric\). The * differences between remainder and modulo * (%\) are shown in the table under Numeric#divmod. */) directive(static) ident(VALUE) ident(num_remainder)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) ident(VALUE) ident(z) operator(=) ident(rb_funcall)operator(()ident(x)operator(,) char('%')operator(,) integer(1)operator(,) ident(y)operator(\);) reserved(if) operator(((!)ident(rb_equal)operator(()ident(z)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)) operator(&&) operator((()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(x)operator(,) char('<')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)) operator(&&) ident(RTEST)operator(()ident(rb_funcall)operator(()ident(y)operator(,) char('>')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)\)) operator(||) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(x)operator(,) char('>')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)) operator(&&) ident(RTEST)operator(()ident(rb_funcall)operator(()ident(y)operator(,) char('<')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)\)\)\)) operator({) reserved(return) ident(rb_funcall)operator(()ident(z)operator(,) char('-')operator(,) integer(1)operator(,) ident(y)operator(\);) operator(}) reserved(return) ident(z)operator(;) operator(}) comment(/* * call-seq: * num.integer? -> true or false * * Returns true if num is an Integer * (including Fixnum and Bignum\). */) directive(static) ident(VALUE) ident(num_int_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * num.abs => num or numeric * * Returns the absolute value of num. * * 12.abs #=> 12 * (-34.56\).abs #=> 34.56 * -34.56.abs #=> 34.56 */) directive(static) ident(VALUE) ident(num_abs)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(num)operator(,) char('<')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)\)) operator({) reserved(return) ident(rb_funcall)operator(()ident(num)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(\);) operator(}) reserved(return) ident(num)operator(;) operator(}) comment(/* * call-seq: * num.zero? => true or false * * Returns true if num has a zero value. */) directive(static) ident(VALUE) ident(num_zero_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(rb_equal)operator(()ident(num)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * num.nonzero? => num or nil * * Returns num if num is not zero, nil * otherwise. This behavior is useful when chaining comparisons: * * a = %w( z Bb bB bb BB a aA Aa AA A \) * b = a.sort {|a,b| (a.downcase <=> b.downcase\).nonzero? || a <=> b } * b #=> ["A", "a", "AA", "Aa", "aA", "BB", "Bb", "bB", "bb", "z"] */) directive(static) ident(VALUE) ident(num_nonzero_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(num)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\)\)\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(num)operator(;) operator(}) comment(/* * call-seq: * num.to_int => integer * * Invokes the child class's to_i method to convert * num to an integer. */) directive(static) ident(VALUE) ident(num_to_int)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(num)operator(,) ident(id_to_i)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) comment(/******************************************************************** * * Document-class: Float * * Float objects represent real numbers using the native * architecture's double-precision floating point representation. */) ident(VALUE) ident(rb_float_new)operator(()ident(d)operator(\)) pre_type(double) ident(d)operator(;) operator({) ident(NEWOBJ)operator(()ident(flt)operator(,) reserved(struct) ident(RFloat)operator(\);) ident(OBJSETUP)operator(()ident(flt)operator(,) ident(rb_cFloat)operator(,) ident(T_FLOAT)operator(\);) ident(flt)operator(->)ident(value) operator(=) ident(d)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(flt)operator(;) operator(}) comment(/* * call-seq: * flt.to_s => string * * Returns a string containing a representation of self. As well as a * fixed or exponential form of the number, the call may return * ``NaN'', ``Infinity'', and * ``-Infinity''. */) directive(static) ident(VALUE) ident(flo_to_s)operator(()ident(flt)operator(\)) ident(VALUE) ident(flt)operator(;) operator({) pre_type(char) ident(buf)operator([)integer(32)operator(];) pre_type(double) ident(value) operator(=) ident(RFLOAT)operator(()ident(flt)operator(\)->)ident(value)operator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(e)operator(;) reserved(if) operator(()ident(isinf)operator(()ident(value)operator(\)\)) reserved(return) ident(rb_str_new2)operator(()ident(value) operator(<) integer(0) operator(?) string operator(:) stringoperator(\);) reserved(else) reserved(if)operator(()ident(isnan)operator(()ident(value)operator(\)\)) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(value)operator(\);) comment(/* ensure to print decimal point */) reserved(if) operator((!()ident(e) operator(=) ident(strchr)operator(()ident(buf)operator(,) char('e')operator(\)\)\)) operator({) ident(e) operator(=) ident(buf) operator(+) ident(strlen)operator(()ident(buf)operator(\);) operator(}) reserved(if) operator((!)ident(ISDIGIT)operator(()ident(e)operator([-)integer(1)operator(]\)\)) operator({) comment(/* reformat if ended with decimal point (ex 111111111111111.\) */) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(value)operator(\);) reserved(if) operator((!()ident(e) operator(=) ident(strchr)operator(()ident(buf)operator(,) char('e')operator(\)\)\)) operator({) ident(e) operator(=) ident(buf) operator(+) ident(strlen)operator(()ident(buf)operator(\);) operator(}) operator(}) ident(p) operator(=) ident(e)operator(;) reserved(while) operator(()ident(p)operator([-)integer(1)operator(]==)char('0') operator(&&) ident(ISDIGIT)operator(()ident(p)operator([-)integer(2)operator(]\)\)) ident(p)operator(--;) ident(memmove)operator(()ident(p)operator(,) ident(e)operator(,) ident(strlen)operator(()ident(e)operator(\)+)integer(1)operator(\);) reserved(return) ident(rb_str_new2)operator(()ident(buf)operator(\);) operator(}) comment(/* * MISSING: documentation */) directive(static) ident(VALUE) ident(flo_coerce)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(rb_assoc_new)operator(()ident(rb_Float)operator(()ident(y)operator(\),) ident(x)operator(\);) operator(}) comment(/* * call-seq: * -float => float * * Returns float, negated. */) directive(static) ident(VALUE) ident(flo_uminus)operator(()ident(flt)operator(\)) ident(VALUE) ident(flt)operator(;) operator({) reserved(return) ident(rb_float_new)operator((-)ident(RFLOAT)operator(()ident(flt)operator(\)->)ident(value)operator(\);) operator(}) comment(/* * call-seq: * float + other => float * * Returns a new float which is the sum of float * and other. */) directive(static) ident(VALUE) ident(flo_plus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(+) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(+) ident(rb_big2dbl)operator(()ident(y)operator(\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(+) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * float + other => float * * Returns a new float which is the difference of float * and other. */) directive(static) ident(VALUE) ident(flo_minus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(-) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(-) ident(rb_big2dbl)operator(()ident(y)operator(\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(-) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * float * other => float * * Returns a new float which is the product of float * and other. */) directive(static) ident(VALUE) ident(flo_mul)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(*) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\)\);) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(*) ident(rb_big2dbl)operator(()ident(y)operator(\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(*) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * float / other => float * * Returns a new float which is the result of dividing * float by other. */) directive(static) ident(VALUE) ident(flo_div)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(f_y)operator(;) pre_type(double) ident(d)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(f_y) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(/) operator(()pre_type(double)operator(\))ident(f_y)operator(\);) reserved(case) ident(T_BIGNUM)operator(:) ident(d) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(/) ident(d)operator(\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value) operator(/) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(flodivmod)operator(()ident(x)operator(,) ident(y)operator(,) ident(divp)operator(,) ident(modp)operator(\)) pre_type(double) ident(x)operator(,) ident(y)operator(;) pre_type(double) operator(*)ident(divp)operator(,) operator(*)ident(modp)operator(;) operator({) pre_type(double) ident(div)operator(,) ident(mod)operator(;) preprocessor(#ifdef) ident(HAVE_FMOD) ident(mod) operator(=) ident(fmod)operator(()ident(x)operator(,) ident(y)operator(\);) preprocessor(#else) operator({) pre_type(double) ident(z)operator(;) ident(modf)operator(()ident(x)operator(/)ident(y)operator(,) operator(&)ident(z)operator(\);) ident(mod) operator(=) ident(x) operator(-) ident(z) operator(*) ident(y)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(isinf)operator(()ident(x)operator(\)) operator(&&) operator(!)ident(isinf)operator(()ident(y)operator(\)) operator(&&) operator(!)ident(isnan)operator(()ident(y)operator(\)\)) ident(div) operator(=) ident(x)operator(;) reserved(else) ident(div) operator(=) operator(()ident(x) operator(-) ident(mod)operator(\)) operator(/) ident(y)operator(;) reserved(if) operator(()ident(y)operator(*)ident(mod) operator(<) integer(0)operator(\)) operator({) ident(mod) operator(+=) ident(y)operator(;) ident(div) operator(-=) float(1)float(.0)operator(;) operator(}) reserved(if) operator(()ident(modp)operator(\)) operator(*)ident(modp) operator(=) ident(mod)operator(;) reserved(if) operator(()ident(divp)operator(\)) operator(*)ident(divp) operator(=) ident(div)operator(;) operator(}) comment(/* * call-seq: * flt % other => float * flt.modulo(other\) => float * * Return the modulo after division of flt by other. * * 6543.21.modulo(137\) #=> 104.21 * 6543.21.modulo(137.24\) #=> 92.9299999999996 */) directive(static) ident(VALUE) ident(flo_mod)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(fy)operator(,) ident(mod)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(fy) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(fy) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(fy) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(flodivmod)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) ident(fy)operator(,) integer(0)operator(,) operator(&)ident(mod)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(mod)operator(\);) operator(}) comment(/* * call-seq: * flt.divmod(numeric\) => array * * See Numeric#divmod. */) directive(static) ident(VALUE) ident(flo_divmod)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(fy)operator(,) ident(div)operator(,) ident(mod)operator(,) ident(val)operator(;) directive(volatile) ident(VALUE) ident(a)operator(,) ident(b)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(fy) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(fy) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(fy) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(flodivmod)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) ident(fy)operator(,) operator(&)ident(div)operator(,) operator(&)ident(mod)operator(\);) reserved(if) operator(()ident(FIXABLE)operator(()ident(div)operator(\)\)) operator({) ident(val) operator(=) ident(round)operator(()ident(div)operator(\);) ident(a) operator(=) ident(LONG2FIX)operator(()ident(val)operator(\);) operator(}) reserved(else) operator({) ident(a) operator(=) ident(rb_dbl2big)operator(()ident(div)operator(\);) operator(}) ident(b) operator(=) ident(rb_float_new)operator(()ident(mod)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(a)operator(,) ident(b)operator(\);) operator(}) comment(/* * call-seq: * * flt ** other => float * * Raises float the other power. */) directive(static) ident(VALUE) ident(flo_pow)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(pow)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\)\)\);) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(pow)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) ident(rb_big2dbl)operator(()ident(y)operator(\)\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_float_new)operator(()ident(pow)operator(()ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(,) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\)\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * num.eql?(numeric\) => true or false * * Returns true if num and numeric are the * same type and have equal values. * * 1 == 1.0 #=> true * 1.eql?(1.0\) #=> false * (1.0\).eql?(1.0\) #=> true */) directive(static) ident(VALUE) ident(num_eql)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(x)operator(\)) operator(!=) ident(TYPE)operator(()ident(y)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(rb_equal)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * num <=> other -> 0 or nil * * Returns zero if num equals other, nil * otherwise. */) directive(static) ident(VALUE) ident(num_cmp)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(x) operator(==) ident(y)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(num_equal)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(x) operator(==) ident(y)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(rb_funcall)operator(()ident(y)operator(,) ident(id_eq)operator(,) integer(1)operator(,) ident(x)operator(\);) operator(}) comment(/* * call-seq: * flt == obj => true or false * * Returns true only if obj has the same value * as flt. Contrast this with Float#eql?, which * requires obj to be a Float. * * 1.0 == 1 #=> true * */) directive(static) ident(VALUE) ident(flo_eq)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) directive(volatile) pre_type(double) ident(a)operator(,) ident(b)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(num_equal)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) operator(()ident(a) operator(==) ident(b)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt.hash => integer * * Returns a hash code for this float. */) directive(static) ident(VALUE) ident(flo_hash)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(d)operator(;) pre_type(char) operator(*)ident(c)operator(;) pre_type(int) ident(i)operator(,) ident(hash)operator(;) ident(d) operator(=) ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(d) operator(==) integer(0)operator(\)) ident(d) operator(=) ident(fabs)operator(()ident(d)operator(\);) ident(c) operator(=) operator(()pre_type(char)operator(*\)&)ident(d)operator(;) reserved(for) operator(()ident(hash)operator(=)integer(0)operator(,) ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)reserved(sizeof)operator(()pre_type(double)operator(\);)ident(i)operator(++\)) operator({) ident(hash) operator(=) operator(()ident(hash) operator(*) integer(971)operator(\)) operator(^) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(c)operator([)ident(i)operator(];) operator(}) reserved(if) operator(()ident(hash) operator(<) integer(0)operator(\)) ident(hash) operator(=) operator(-)ident(hash)operator(;) reserved(return) ident(INT2FIX)operator(()ident(hash)operator(\);) operator(}) ident(VALUE) ident(rb_dbl_cmp)operator(()ident(a)operator(,) ident(b)operator(\)) pre_type(double) ident(a)operator(,) ident(b)operator(;) operator({) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)) operator(||) ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(a) operator(==) ident(b)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(a) operator(>) ident(b)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(if) operator(()ident(a) operator(<) ident(b)operator(\)) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * flt <=> numeric => -1, 0, +1 * * Returns -1, 0, or +1 depending on whether flt is less than, * equal to, or greater than numeric. This is the basis for the * tests in Comparable. */) directive(static) ident(VALUE) ident(flo_cmp)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(a)operator(,) ident(b)operator(;) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(b) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(if) operator(()ident(isinf)operator(()ident(a)operator(\)\)) operator({) reserved(if) operator(()ident(a) operator(>) float(0)float(.0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_cmp)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(return) ident(rb_dbl_cmp)operator(()ident(a)operator(,) ident(b)operator(\);) operator(}) comment(/* * call-seq: * flt > other => true or false * * true if flt is greater than other. */) directive(static) ident(VALUE) ident(flo_gt)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(a)operator(,) ident(b)operator(;) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(b) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) operator(()ident(a) operator(>) ident(b)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt >= other => true or false * * true if flt is greater than * or equal to other. */) directive(static) ident(VALUE) ident(flo_ge)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(a)operator(,) ident(b)operator(;) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(b) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) operator(()ident(a) operator(>=) ident(b)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt < other => true or false * * true if flt is less than other. */) directive(static) ident(VALUE) ident(flo_lt)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(a)operator(,) ident(b)operator(;) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(b) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) operator(()ident(a) operator(<) ident(b)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt <= other => true or false * * true if flt is less than * or equal to other. */) directive(static) ident(VALUE) ident(flo_le)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(double) ident(a)operator(,) ident(b)operator(;) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(b) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(b) operator(=) ident(rb_big2dbl)operator(()ident(y)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) operator(()ident(a) operator(<=) ident(b)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt.eql?(obj\) => true or false * * Returns true only if obj is a * Float with the same value as flt. Contrast this * with Float#==, which performs type conversions. * * 1.0.eql?(1\) #=> false */) directive(static) ident(VALUE) ident(flo_eql)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_FLOAT)operator(\)) operator({) pre_type(double) ident(a) operator(=) ident(RFLOAT)operator(()ident(x)operator(\)->)ident(value)operator(;) pre_type(double) ident(b) operator(=) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(a)operator(\)) operator(||) ident(isnan)operator(()ident(b)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(a) operator(==) ident(b)operator(\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt.to_f => flt * * As flt is already a float, returns self. */) directive(static) ident(VALUE) ident(flo_to_f)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(num)operator(;) operator(}) comment(/* * call-seq: * flt.abs => float * * Returns the absolute value of flt. * * (-34.56\).abs #=> 34.56 * -34.56.abs #=> 34.56 * */) directive(static) ident(VALUE) ident(flo_abs)operator(()ident(flt)operator(\)) ident(VALUE) ident(flt)operator(;) operator({) pre_type(double) ident(val) operator(=) ident(fabs)operator(()ident(RFLOAT)operator(()ident(flt)operator(\)->)ident(value)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * flt.zero? -> true or false * * Returns true if flt is 0.0. * */) directive(static) ident(VALUE) ident(flo_zero_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value) operator(==) float(0)float(.0)operator(\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt.nan? -> true or false * * Returns true if flt is an invalid IEEE floating * point number. * * a = -1.0 #=> -1.0 * a.nan? #=> false * a = 0.0/0.0 #=> NaN * a.nan? #=> true */) directive(static) ident(VALUE) ident(flo_is_nan_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(value) operator(=) ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(;) reserved(return) ident(isnan)operator(()ident(value)operator(\)) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * flt.infinite? -> nil, -1, +1 * * Returns nil, -1, or +1 depending on whether flt * is finite, -infinity, or +infinity. * * (0.0\).infinite? #=> nil * (-1.0/0.0\).infinite? #=> -1 * (+1.0/0.0\).infinite? #=> 1 */) directive(static) ident(VALUE) ident(flo_is_infinite_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(value) operator(=) ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(;) reserved(if) operator(()ident(isinf)operator(()ident(value)operator(\)\)) operator({) reserved(return) ident(INT2FIX)operator(() ident(value) operator(<) integer(0) operator(?) operator(-)integer(1) operator(:) integer(1) operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * flt.finite? -> true or false * * Returns true if flt is a valid IEEE floating * point number (it is not infinite, and nan? is * false\). * */) directive(static) ident(VALUE) ident(flo_is_finite_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(value) operator(=) ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(;) preprocessor(#if) ident(HAVE_FINITE) reserved(if) operator((!)ident(finite)operator(()ident(value)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#else) reserved(if) operator(()ident(isinf)operator(()ident(value)operator(\)) operator(||) ident(isnan)operator(()ident(value)operator(\)\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * flt.floor => integer * * Returns the largest integer less than or equal to flt. * * 1.2.floor #=> 1 * 2.0.floor #=> 2 * (-1.2\).floor #=> -2 * (-2.0\).floor #=> -2 */) directive(static) ident(VALUE) ident(flo_floor)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(f) operator(=) ident(floor)operator(()ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(\);) pre_type(long) ident(val)operator(;) reserved(if) operator((!)ident(FIXABLE)operator(()ident(f)operator(\)\)) operator({) reserved(return) ident(rb_dbl2big)operator(()ident(f)operator(\);) operator(}) ident(val) operator(=) ident(f)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * flt.ceil => integer * * Returns the smallest Integer greater than or equal to * flt. * * 1.2.ceil #=> 2 * 2.0.ceil #=> 2 * (-1.2\).ceil #=> -1 * (-2.0\).ceil #=> -2 */) directive(static) ident(VALUE) ident(flo_ceil)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(f) operator(=) ident(ceil)operator(()ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(\);) pre_type(long) ident(val)operator(;) reserved(if) operator((!)ident(FIXABLE)operator(()ident(f)operator(\)\)) operator({) reserved(return) ident(rb_dbl2big)operator(()ident(f)operator(\);) operator(}) ident(val) operator(=) ident(f)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * flt.round => integer * * Rounds flt to the nearest integer. Equivalent to: * * def round * return (self+0.5\).floor if self > 0.0 * return (self-0.5\).ceil if self < 0.0 * return 0 * end * * 1.5.round #=> 2 * (-1.5\).round #=> -2 * */) directive(static) ident(VALUE) ident(flo_round)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(f) operator(=) ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(;) pre_type(long) ident(val)operator(;) ident(f) operator(=) ident(round)operator(()ident(f)operator(\);) reserved(if) operator((!)ident(FIXABLE)operator(()ident(f)operator(\)\)) operator({) reserved(return) ident(rb_dbl2big)operator(()ident(f)operator(\);) operator(}) ident(val) operator(=) ident(f)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * flt.to_i => integer * flt.to_int => integer * flt.truncate => integer * * Returns flt truncated to an Integer. */) directive(static) ident(VALUE) ident(flo_truncate)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(f) operator(=) ident(RFLOAT)operator(()ident(num)operator(\)->)ident(value)operator(;) pre_type(long) ident(val)operator(;) reserved(if) operator(()ident(f) operator(>) float(0)float(.0)operator(\)) ident(f) operator(=) ident(floor)operator(()ident(f)operator(\);) reserved(if) operator(()ident(f) operator(<) float(0)float(.0)operator(\)) ident(f) operator(=) ident(ceil)operator(()ident(f)operator(\);) reserved(if) operator((!)ident(FIXABLE)operator(()ident(f)operator(\)\)) operator({) reserved(return) ident(rb_dbl2big)operator(()ident(f)operator(\);) operator(}) ident(val) operator(=) ident(f)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * num.floor => integer * * Returns the largest integer less than or equal to num. * Numeric implements this by converting anInteger * to a Float and invoking Float#floor. * * 1.floor #=> 1 * (-1\).floor #=> -1 */) directive(static) ident(VALUE) ident(num_floor)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(flo_floor)operator(()ident(rb_Float)operator(()ident(num)operator(\)\);) operator(}) comment(/* * call-seq: * num.ceil => integer * * Returns the smallest Integer greater than or equal to * num. Class Numeric achieves this by converting * itself to a Float then invoking * Float#ceil. * * 1.ceil #=> 1 * 1.2.ceil #=> 2 * (-1.2\).ceil #=> -1 * (-1.0\).ceil #=> -1 */) directive(static) ident(VALUE) ident(num_ceil)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(flo_ceil)operator(()ident(rb_Float)operator(()ident(num)operator(\)\);) operator(}) comment(/* * call-seq: * num.round => integer * * Rounds num to the nearest integer. Numeric * implements this by converting itself to a * Float and invoking Float#round. */) directive(static) ident(VALUE) ident(num_round)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(flo_round)operator(()ident(rb_Float)operator(()ident(num)operator(\)\);) operator(}) comment(/* * call-seq: * num.truncate => integer * * Returns num truncated to an integer. Numeric * implements this by converting its value to a float and invoking * Float#truncate. */) directive(static) ident(VALUE) ident(num_truncate)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(flo_truncate)operator(()ident(rb_Float)operator(()ident(num)operator(\)\);) operator(}) comment(/* * call-seq: * num.step(limit, step \) {|i| block } => num * * Invokes block with the sequence of numbers starting at * num, incremented by step on each call. The loop * finishes when the value to be passed to the block is greater than * limit (if step is positive\) or less than * limit (if step is negative\). If all the arguments are * integers, the loop operates using an integer counter. If any of the * arguments are floating point numbers, all are converted to floats, * and the loop is executed floor(n + n*epsilon\)+ 1 times, * where n = (limit - num\)/step. Otherwise, the loop * starts at num, uses either the < or * > operator to compare the counter against * limit, and increments itself using the + * operator. * * 1.step(10, 2\) { |i| print i, " " } * Math::E.step(Math::PI, 0.2\) { |f| print f, " " } * * produces: * * 1 3 5 7 9 * 2.71828182845905 2.91828182845905 3.11828182845905 */) directive(static) ident(VALUE) ident(num_step)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(from)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(from)operator(;) operator({) ident(VALUE) ident(to)operator(,) ident(step)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(to) operator(=) ident(argv)operator([)integer(0)operator(];) ident(step) operator(=) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(to) operator(=) ident(argv)operator([)integer(0)operator(];) ident(step) operator(=) ident(argv)operator([)integer(1)operator(];) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_equal)operator(()ident(step)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(from)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(to)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(step)operator(\)\)) operator({) pre_type(long) ident(i)operator(,) ident(end)operator(,) ident(diff)operator(;) ident(i) operator(=) ident(FIX2LONG)operator(()ident(from)operator(\);) ident(end) operator(=) ident(FIX2LONG)operator(()ident(to)operator(\);) ident(diff) operator(=) ident(FIX2LONG)operator(()ident(step)operator(\);) reserved(if) operator(()ident(diff) operator(>) integer(0)operator(\)) operator({) reserved(while) operator(()ident(i) operator(<=) ident(end)operator(\)) operator({) ident(rb_yield)operator(()ident(LONG2FIX)operator(()ident(i)operator(\)\);) ident(i) operator(+=) ident(diff)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(while) operator(()ident(i) operator(>=) ident(end)operator(\)) operator({) ident(rb_yield)operator(()ident(LONG2FIX)operator(()ident(i)operator(\)\);) ident(i) operator(+=) ident(diff)operator(;) operator(}) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(from)operator(\)) operator(==) ident(T_FLOAT) operator(||) ident(TYPE)operator(()ident(to)operator(\)) operator(==) ident(T_FLOAT) operator(||) ident(TYPE)operator(()ident(step)operator(\)) operator(==) ident(T_FLOAT)operator(\)) operator({) directive(const) pre_type(double) ident(epsilon) operator(=) ident(DBL_EPSILON)operator(;) pre_type(double) ident(beg) operator(=) ident(NUM2DBL)operator(()ident(from)operator(\);) pre_type(double) ident(end) operator(=) ident(NUM2DBL)operator(()ident(to)operator(\);) pre_type(double) ident(unit) operator(=) ident(NUM2DBL)operator(()ident(step)operator(\);) pre_type(double) ident(n) operator(=) operator(()ident(end) operator(-) ident(beg)operator(\))operator(/)ident(unit)operator(;) pre_type(double) ident(err) operator(=) operator(()ident(fabs)operator(()ident(beg)operator(\)) operator(+) ident(fabs)operator(()ident(end)operator(\)) operator(+) ident(fabs)operator(()ident(end)operator(-)ident(beg)operator(\)\)) operator(/) ident(fabs)operator(()ident(unit)operator(\)) operator(*) ident(epsilon)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(err)operator(>)float(0)float(.5)operator(\)) ident(err)operator(=)float(0)float(.5)operator(;) ident(n) operator(=) ident(floor)operator(()ident(n) operator(+) ident(err)operator(\)) operator(+) integer(1)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(n)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(rb_float_new)operator(()ident(i)operator(*)ident(unit)operator(+)ident(beg)operator(\)\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(i) operator(=) ident(from)operator(;) ident(ID) ident(cmp)operator(;) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(step)operator(,) char('>')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)\)) operator({) ident(cmp) operator(=) char('>')operator(;) operator(}) reserved(else) operator({) ident(cmp) operator(=) char('<')operator(;) operator(}) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(i)operator(,) ident(cmp)operator(,) integer(1)operator(,) ident(to)operator(\)\)\)) reserved(break)operator(;) ident(rb_yield)operator(()ident(i)operator(\);) ident(i) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) char('+')operator(,) integer(1)operator(,) ident(step)operator(\);) operator(}) operator(}) reserved(return) ident(from)operator(;) operator(}) pre_type(long) ident(rb_num2long)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) label(again:) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) reserved(return) ident(FIX2LONG)operator(()ident(val)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) reserved(if) operator(()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value) operator(<=) operator(()pre_type(double)operator(\))ident(LONG_MAX) operator(&&) ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value) operator(>=) operator(()pre_type(double)operator(\))ident(LONG_MIN)operator(\)) operator({) reserved(return) operator(()pre_type(long)operator(\)()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(\);) operator(}) reserved(else) operator({) pre_type(char) ident(buf)operator([)integer(24)operator(];) pre_type(char) operator(*)ident(s)operator(;) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(\);) reserved(if) operator((()ident(s) operator(=) ident(strchr)operator(()ident(buf)operator(,) char(' ')operator(\)\)) operator(!=) integer(0)operator(\)) operator(*)ident(s) operator(=) char('\\0')operator(;) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(buf)operator(\);) operator(}) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_big2long)operator(()ident(val)operator(\);) reserved(default)operator(:) ident(val) operator(=) ident(rb_to_int)operator(()ident(val)operator(\);) reserved(goto) ident(again)operator(;) operator(}) operator(}) pre_type(unsigned) pre_type(long) ident(rb_num2ulong)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(return) ident(rb_big2ulong)operator(()ident(val)operator(\);) operator(}) reserved(return) operator(()pre_type(unsigned) pre_type(long)operator(\))ident(rb_num2long)operator(()ident(val)operator(\);) operator(}) preprocessor(#if) ident(SIZEOF_INT) operator(<) ident(SIZEOF_LONG) directive(static) directive(void) ident(check_int)operator(()ident(num)operator(\)) pre_type(long) ident(num)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(s)operator(;) reserved(if) operator(()ident(num) operator(<) ident(INT_MIN)operator(\)) operator({) ident(s) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(num) operator(>) ident(INT_MAX)operator(\)) operator({) ident(s) operator(=) stringoperator(;) operator(}) reserved(else) operator({) reserved(return)operator(;) operator(}) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(num)operator(,) ident(s)operator(\);) operator(}) directive(static) directive(void) ident(check_uint)operator(()ident(num)operator(,) ident(sign)operator(\)) pre_type(unsigned) pre_type(long) ident(num)operator(;) ident(VALUE) ident(sign)operator(;) operator({) directive(static) directive(const) pre_type(unsigned) pre_type(long) ident(mask) operator(=) operator(~()pre_type(unsigned) pre_type(long)operator(\))ident(UINT_MAX)operator(;) reserved(if) operator(()ident(RTEST)operator(()ident(sign)operator(\)\)) operator({) comment(/* minus */) reserved(if) operator((()ident(num) operator(&) ident(mask)operator(\)) operator(!=) ident(mask) operator(||) operator(()ident(num) operator(&) operator(~)ident(mask)operator(\)) operator(<=) ident(INT_MAX) operator(+) integer(1)ident(UL)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(num)operator(\);) operator(}) reserved(else) operator({) comment(/* plus */) reserved(if) operator((()ident(num) operator(&) ident(mask)operator(\)) operator(!=) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(num)operator(\);) operator(}) operator(}) pre_type(long) ident(rb_num2int)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) pre_type(long) ident(num) operator(=) ident(rb_num2long)operator(()ident(val)operator(\);) ident(check_int)operator(()ident(num)operator(\);) reserved(return) ident(num)operator(;) operator(}) pre_type(long) ident(rb_fix2int)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) pre_type(long) ident(num) operator(=) ident(FIXNUM_P)operator(()ident(val)operator(\)?)ident(FIX2LONG)operator(()ident(val)operator(\):)ident(rb_num2long)operator(()ident(val)operator(\);) ident(check_int)operator(()ident(num)operator(\);) reserved(return) ident(num)operator(;) operator(}) pre_type(unsigned) pre_type(long) ident(rb_num2uint)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) pre_type(unsigned) pre_type(long) ident(num) operator(=) ident(rb_num2ulong)operator(()ident(val)operator(\);) ident(check_uint)operator(()ident(num)operator(,) ident(rb_funcall)operator(()ident(val)operator(,) char('<')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\);) reserved(return) ident(num)operator(;) operator(}) pre_type(unsigned) pre_type(long) ident(rb_fix2uint)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) pre_type(unsigned) pre_type(long) ident(num)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(val)operator(\)\)) operator({) reserved(return) ident(rb_num2uint)operator(()ident(val)operator(\);) operator(}) ident(num) operator(=) ident(FIX2ULONG)operator(()ident(val)operator(\);) ident(check_uint)operator(()ident(num)operator(,) ident(rb_funcall)operator(()ident(val)operator(,) char('<')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\);) reserved(return) ident(num)operator(;) operator(}) preprocessor(#else) pre_type(long) ident(rb_num2int)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(return) ident(rb_num2long)operator(()ident(val)operator(\);) operator(}) pre_type(long) ident(rb_fix2int)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(return) ident(FIX2INT)operator(()ident(val)operator(\);) operator(}) preprocessor(#endif) ident(VALUE) ident(rb_num2fix)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) pre_type(long) ident(v)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) reserved(return) ident(val)operator(;) ident(v) operator(=) ident(rb_num2long)operator(()ident(val)operator(\);) reserved(if) operator((!)ident(FIXABLE)operator(()ident(v)operator(\)\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(v)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(v)operator(\);) operator(}) preprocessor(#if) ident(HAVE_LONG_LONG) ident(LONG_LONG) ident(rb_num2ll)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) reserved(return) operator(()ident(LONG_LONG)operator(\))ident(FIX2LONG)operator(()ident(val)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) reserved(if) operator(()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value) operator(<=) operator(()pre_type(double)operator(\))ident(LLONG_MAX) operator(&&) ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value) operator(>=) operator(()pre_type(double)operator(\))ident(LLONG_MIN)operator(\)) operator({) reserved(return) operator(()ident(LONG_LONG)operator(\)()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(\);) operator(}) reserved(else) operator({) pre_type(char) ident(buf)operator([)integer(24)operator(];) pre_type(char) operator(*)ident(s)operator(;) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(\);) reserved(if) operator((()ident(s) operator(=) ident(strchr)operator(()ident(buf)operator(,) char(' ')operator(\)\)) operator(!=) integer(0)operator(\)) operator(*)ident(s) operator(=) char('\\0')operator(;) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(buf)operator(\);) operator(}) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_big2ll)operator(()ident(val)operator(\);) reserved(case) ident(T_STRING)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) reserved(case) ident(T_TRUE)operator(:) reserved(case) ident(T_FALSE)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) reserved(default)operator(:) ident(val) operator(=) ident(rb_to_int)operator(()ident(val)operator(\);) reserved(return) ident(NUM2LL)operator(()ident(val)operator(\);) operator(}) operator(}) pre_type(unsigned) ident(LONG_LONG) ident(rb_num2ull)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(return) ident(rb_big2ull)operator(()ident(val)operator(\);) operator(}) reserved(return) operator(()pre_type(unsigned) ident(LONG_LONG)operator(\))ident(rb_num2ll)operator(()ident(val)operator(\);) operator(}) preprocessor(#endif) comment(/* HAVE_LONG_LONG */) comment(/* * Document-class: Integer * * Integer is the basis for the two concrete classes that * hold whole numbers, Bignum and Fixnum. * */) comment(/* * call-seq: * int.to_i => int * int.to_int => int * int.floor => int * int.ceil => int * int.round => int * int.truncate => int * * As int is already an Integer, all these * methods simply return the receiver. */) directive(static) ident(VALUE) ident(int_to_i)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(num)operator(;) operator(}) comment(/* * call-seq: * int.integer? -> true * * Always returns true. */) directive(static) ident(VALUE) ident(int_int_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * int.next => integer * int.succ => integer * * Returns the Integer equal to int + 1. * * 1.next #=> 2 * (-1\).next #=> 0 */) directive(static) ident(VALUE) ident(int_succ)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(num)operator(\)\)) operator({) pre_type(long) ident(i) operator(=) ident(FIX2LONG)operator(()ident(num)operator(\)) operator(+) integer(1)operator(;) reserved(return) ident(LONG2NUM)operator(()ident(i)operator(\);) operator(}) reserved(return) ident(rb_funcall)operator(()ident(num)operator(,) char('+')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(1)operator(\)\);) operator(}) comment(/* * call-seq: * int.chr => string * * Returns a string containing the ASCII character represented by the * receiver's value. * * 65.chr #=> "A" * ?a.chr #=> "a" * 230.chr #=> "\\346" */) directive(static) ident(VALUE) ident(int_chr)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(char) ident(c)operator(;) pre_type(long) ident(i) operator(=) ident(NUM2LONG)operator(()ident(num)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0) operator(||) hex(0xff) operator(<) ident(i)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(i)operator(\);) ident(c) operator(=) ident(i)operator(;) reserved(return) ident(rb_str_new)operator((&)ident(c)operator(,) integer(1)operator(\);) operator(}) comment(/******************************************************************** * * Document-class: Fixnum * * A Fixnum holds Integer values that can be * represented in a native machine word (minus 1 bit\). If any operation * on a Fixnum exceeds this range, the value is * automatically converted to a Bignum. * * Fixnum objects have immediate value. This means that * when they are assigned or passed as parameters, the actual object is * passed, rather than a reference to that object. Assignment does not * alias Fixnum objects. There is effectively only one * Fixnum object instance for any given integer value, so, * for example, you cannot add a singleton method to a * Fixnum. */) comment(/* * call-seq: * Fixnum.induced_from(obj\) => fixnum * * Convert obj to a Fixnum. Works with numeric parameters. * Also works with Symbols, but this is deprecated. */) directive(static) ident(VALUE) ident(rb_fix_induced_from)operator(()ident(klass)operator(,) ident(x)operator(\)) ident(VALUE) ident(klass)operator(,) ident(x)operator(;) operator({) reserved(return) ident(rb_num2fix)operator(()ident(x)operator(\);) operator(}) comment(/* * call-seq: * Integer.induced_from(obj\) => fixnum, bignum * * Convert obj to an Integer. */) directive(static) ident(VALUE) ident(rb_int_induced_from)operator(()ident(klass)operator(,) ident(x)operator(\)) ident(VALUE) ident(klass)operator(,) ident(x)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(x)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(x)operator(;) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) ident(id_to_i)operator(,) integer(0)operator(\);) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\)\);) operator(}) operator(}) comment(/* * call-seq: * Float.induced_from(obj\) => float * * Convert obj to a float. */) directive(static) ident(VALUE) ident(rb_flo_induced_from)operator(()ident(klass)operator(,) ident(x)operator(\)) ident(VALUE) ident(klass)operator(,) ident(x)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(x)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(x)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\)\);) operator(}) operator(}) comment(/* * call-seq: * -fix => integer * * Negates fix (which might return a Bignum\). */) directive(static) ident(VALUE) ident(fix_uminus)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(return) ident(LONG2NUM)operator((-)ident(FIX2LONG)operator(()ident(num)operator(\)\);) operator(}) ident(VALUE) ident(rb_fix2str)operator(()ident(x)operator(,) ident(base)operator(\)) ident(VALUE) ident(x)operator(;) pre_type(int) ident(base)operator(;) operator({) directive(extern) directive(const) pre_type(char) ident(ruby_digitmap)operator([];) pre_type(char) ident(buf)operator([)ident(SIZEOF_LONG)operator(*)ident(CHAR_BIT) operator(+) integer(2)operator(],) operator(*)ident(b) operator(=) ident(buf) operator(+) reserved(sizeof) ident(buf)operator(;) pre_type(long) ident(val) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) pre_type(int) ident(neg) operator(=) integer(0)operator(;) reserved(if) operator(()ident(base) operator(<) integer(2) operator(||) integer(36) operator(<) ident(base)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(base)operator(\);) operator(}) reserved(if) operator(()ident(val) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(val) operator(<) integer(0)operator(\)) operator({) ident(val) operator(=) operator(-)ident(val)operator(;) ident(neg) operator(=) integer(1)operator(;) operator(}) operator(*--)ident(b) operator(=) char('\\0')operator(;) reserved(do) operator({) operator(*--)ident(b) operator(=) ident(ruby_digitmap)operator([()pre_type(int)operator(\)()ident(val) operator(%) ident(base)operator(\)];) operator(}) reserved(while) operator(()ident(val) operator(/=) ident(base)operator(\);) reserved(if) operator(()ident(neg)operator(\)) operator({) operator(*--)ident(b) operator(=) char('-')operator(;) operator(}) reserved(return) ident(rb_str_new2)operator(()ident(b)operator(\);) operator(}) comment(/* * call-seq: * fix.to_s( base=10 \) -> aString * * Returns a string containing the representation of fix radix * base (between 2 and 36\). * * 12345.to_s #=> "12345" * 12345.to_s(2\) #=> "11000000111001" * 12345.to_s(8\) #=> "30071" * 12345.to_s(10\) #=> "12345" * 12345.to_s(16\) #=> "3039" * 12345.to_s(36\) #=> "9ix" * */) directive(static) ident(VALUE) ident(fix_to_s)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(x)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(b)operator(;) pre_type(int) ident(base)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(b)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) ident(base) operator(=) integer(10)operator(;) reserved(else) ident(base) operator(=) ident(NUM2INT)operator(()ident(b)operator(\);) reserved(return) ident(rb_fix2str)operator(()ident(x)operator(,) ident(base)operator(\);) operator(}) comment(/* * call-seq: * fix + numeric => numeric_result * * Performs addition: the class of the resulting object depends on * the class of numeric and on the magnitude of the * result. */) directive(static) ident(VALUE) ident(fix_plus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a)operator(,) ident(b)operator(,) ident(c)operator(;) ident(VALUE) ident(r)operator(;) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) ident(c) operator(=) ident(a) operator(+) ident(b)operator(;) ident(r) operator(=) ident(LONG2NUM)operator(()ident(c)operator(\);) reserved(return) ident(r)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_FLOAT)operator(\)) operator({) reserved(return) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(x)operator(\)) operator(+) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * fix - numeric => numeric_result * * Performs subtraction: the class of the resulting object depends on * the class of numeric and on the magnitude of the * result. */) directive(static) ident(VALUE) ident(fix_minus)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a)operator(,) ident(b)operator(,) ident(c)operator(;) ident(VALUE) ident(r)operator(;) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) ident(c) operator(=) ident(a) operator(-) ident(b)operator(;) ident(r) operator(=) ident(LONG2NUM)operator(()ident(c)operator(\);) reserved(return) ident(r)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_FLOAT)operator(\)) operator({) reserved(return) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(x)operator(\)) operator(-) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * fix * numeric => numeric_result * * Performs multiplication: the class of the resulting object depends on * the class of numeric and on the magnitude of the * result. */) directive(static) ident(VALUE) ident(fix_mul)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) preprocessor(#ifdef) ident(__HP_cc) comment(/* avoids an optimization bug of HP aC++/ANSI C B3910B A.06.05 [Jul 25 2005] */) directive(volatile) preprocessor(#endif) pre_type(long) ident(a)operator(,) ident(b)operator(,) ident(c)operator(;) ident(VALUE) ident(r)operator(;) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) reserved(if) operator(()ident(a) operator(==) integer(0)operator(\)) reserved(return) ident(x)operator(;) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) ident(c) operator(=) ident(a) operator(*) ident(b)operator(;) ident(r) operator(=) ident(LONG2FIX)operator(()ident(c)operator(\);) reserved(if) operator(()ident(FIX2LONG)operator(()ident(r)operator(\)) operator(!=) ident(c) operator(||) ident(c)operator(/)ident(a) operator(!=) ident(b)operator(\)) operator({) ident(r) operator(=) ident(rb_big_mul)operator(()ident(rb_int2big)operator(()ident(a)operator(\),) ident(rb_int2big)operator(()ident(b)operator(\)\);) operator(}) reserved(return) ident(r)operator(;) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(y)operator(\)) operator(==) ident(T_FLOAT)operator(\)) operator({) reserved(return) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(x)operator(\)) operator(*) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) directive(static) directive(void) ident(fixdivmod)operator(()ident(x)operator(,) ident(y)operator(,) ident(divp)operator(,) ident(modp)operator(\)) pre_type(long) ident(x)operator(,) ident(y)operator(;) pre_type(long) operator(*)ident(divp)operator(,) operator(*)ident(modp)operator(;) operator({) pre_type(long) ident(div)operator(,) ident(mod)operator(;) reserved(if) operator(()ident(y) operator(==) integer(0)operator(\)) ident(rb_num_zerodiv)operator((\);) reserved(if) operator(()ident(y) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(x) operator(<) integer(0)operator(\)) ident(div) operator(=) operator(-)ident(x) operator(/) operator(-)ident(y)operator(;) reserved(else) ident(div) operator(=) operator(-) operator(()ident(x) operator(/) operator(-)ident(y)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(x) operator(<) integer(0)operator(\)) ident(div) operator(=) operator(-) operator((-)ident(x) operator(/) ident(y)operator(\);) reserved(else) ident(div) operator(=) ident(x) operator(/) ident(y)operator(;) operator(}) ident(mod) operator(=) ident(x) operator(-) ident(div)operator(*)ident(y)operator(;) reserved(if) operator((()ident(mod) operator(<) integer(0) operator(&&) ident(y) operator(>) integer(0)operator(\)) operator(||) operator(()ident(mod) operator(>) integer(0) operator(&&) ident(y) operator(<) integer(0)operator(\)\)) operator({) ident(mod) operator(+=) ident(y)operator(;) ident(div) operator(-=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(divp)operator(\)) operator(*)ident(divp) operator(=) ident(div)operator(;) reserved(if) operator(()ident(modp)operator(\)) operator(*)ident(modp) operator(=) ident(mod)operator(;) operator(}) comment(/* * call-seq: * fix.quo(numeric\) => float * * Returns the floating point result of dividing fix by * numeric. * * 654321.quo(13731\) #=> 47.6528293642124 * 654321.quo(13731.24\) #=> 47.6519964693647 * */) directive(static) ident(VALUE) ident(fix_quo)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) reserved(return) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(x)operator(\)) operator(/) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(y)operator(\)\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * fix / numeric => numeric_result * fix.div(numeric\) => numeric_result * * Performs division: the class of the resulting object depends on * the class of numeric and on the magnitude of the * result. */) directive(static) ident(VALUE) ident(fix_div)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(div)operator(;) ident(fixdivmod)operator(()ident(FIX2LONG)operator(()ident(x)operator(\),) ident(FIX2LONG)operator(()ident(y)operator(\),) operator(&)ident(div)operator(,) integer(0)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(div)operator(\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * fix % other => Numeric * fix.modulo(other\) => Numeric * * Returns fix modulo other. * See Numeric.divmod for more information. */) directive(static) ident(VALUE) ident(fix_mod)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(mod)operator(;) ident(fixdivmod)operator(()ident(FIX2LONG)operator(()ident(x)operator(\),) ident(FIX2LONG)operator(()ident(y)operator(\),) integer(0)operator(,) operator(&)ident(mod)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(mod)operator(\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * fix.divmod(numeric\) => array * * See Numeric#divmod. */) directive(static) ident(VALUE) ident(fix_divmod)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(div)operator(,) ident(mod)operator(;) ident(fixdivmod)operator(()ident(FIX2LONG)operator(()ident(x)operator(\),) ident(FIX2LONG)operator(()ident(y)operator(\),) operator(&)ident(div)operator(,) operator(&)ident(mod)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(LONG2NUM)operator(()ident(div)operator(\),) ident(LONG2NUM)operator(()ident(mod)operator(\)\);) operator(}) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) directive(static) ident(VALUE) ident(int_even_p)operator(()ident(VALUE) ident(num)operator(\)) operator({) reserved(if) operator(()ident(rb_funcall)operator(()ident(num)operator(,) char('%')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(2)operator(\)\)) operator(==) ident(INT2FIX)operator(()integer(0)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * fix ** other => Numeric * * Raises fix to the other power, which may * be negative or fractional. * * 2 ** 3 #=> 8 * 2 ** -1 #=> 0.5 * 2 ** 0.5 #=> 1.4142135623731 */) directive(static) ident(VALUE) ident(fix_pow)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) directive(static) directive(const) pre_type(double) ident(zero) operator(=) float(0)float(.0)operator(;) pre_type(long) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(b)operator(;) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(b) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(if) operator(()ident(b) operator(==) integer(1)operator(\)) reserved(return) ident(x)operator(;) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) reserved(if) operator(()ident(a) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(b) operator(>) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(return) ident(rb_float_new)operator(()float(1)float(.0) operator(/) ident(zero)operator(\);) operator(}) reserved(if) operator(()ident(a) operator(==) integer(1)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(if) operator(()ident(a) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(b) operator(%) integer(2) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(if) operator(()ident(b) operator(>) integer(0)operator(\)) operator({) reserved(return) ident(rb_big_pow)operator(()ident(rb_int2big)operator(()ident(a)operator(\),) ident(y)operator(\);) operator(}) reserved(return) ident(rb_float_new)operator(()ident(pow)operator((()pre_type(double)operator(\))ident(a)operator(,) operator(()pre_type(double)operator(\))ident(b)operator(\)\);) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_BIGNUM)operator(:) reserved(if) operator(()ident(a) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(a) operator(==) integer(1)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(if) operator(()ident(a) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(int_even_p)operator(()ident(y)operator(\)\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(else) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) ident(x) operator(=) ident(rb_int2big)operator(()ident(FIX2LONG)operator(()ident(x)operator(\)\);) reserved(return) ident(rb_big_pow)operator(()ident(x)operator(,) ident(y)operator(\);) reserved(case) ident(T_FLOAT)operator(:) reserved(if) operator(()ident(a) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_float_new)operator(()ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value) operator(<) integer(0) operator(?) operator(()float(1)float(.0) operator(/) ident(zero)operator(\)) operator(:) float(0)float(.0)operator(\);) operator(}) reserved(if) operator(()ident(a) operator(==) integer(1)operator(\)) reserved(return) ident(rb_float_new)operator(()float(1)float(.0)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(pow)operator((()pre_type(double)operator(\))ident(a)operator(,) ident(RFLOAT)operator(()ident(y)operator(\)->)ident(value)operator(\)\);) reserved(default)operator(:) reserved(return) ident(rb_num_coerce_bin)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * fix == other * * Return true if fix equals other * numerically. * * 1 == 2 #=> false * 1 == 1.0 #=> true */) directive(static) ident(VALUE) ident(fix_equal)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(x) operator(==) ident(y)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(num_equal)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) comment(/* * call-seq: * fix <=> numeric => -1, 0, +1 * * Comparison---Returns -1, 0, or +1 depending on whether fix is * less than, equal to, or greater than numeric. This is the * basis for the tests in Comparable. */) directive(static) ident(VALUE) ident(fix_cmp)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(x) operator(==) ident(y)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\),) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(a) operator(>) ident(b)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(rb_num_coerce_cmp)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * fix > other => true or false * * Returns true if the value of fix is * greater than that of other. */) directive(static) ident(VALUE) ident(fix_gt)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\),) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(a) operator(>) ident(b)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * fix >= other => true or false * * Returns true if the value of fix is * greater than or equal to that of other. */) directive(static) ident(VALUE) ident(fix_ge)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\),) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(a) operator(>=) ident(b)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * fix < other => true or false * * Returns true if the value of fix is * less than that of other. */) directive(static) ident(VALUE) ident(fix_lt)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\),) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(a) operator(<) ident(b)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * fix <= other => true or false * * Returns true if the value of fix is * less thanor equal to that of other. */) directive(static) ident(VALUE) ident(fix_le)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(y)operator(\)\)) operator({) pre_type(long) ident(a) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\),) ident(b) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(a) operator(<=) ident(b)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_num_coerce_relop)operator(()ident(x)operator(,) ident(y)operator(\);) operator(}) operator(}) comment(/* * call-seq: * ~fix => integer * * One's complement: returns a number where each bit is flipped. */) directive(static) ident(VALUE) ident(fix_rev)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(long) ident(val) operator(=) ident(FIX2LONG)operator(()ident(num)operator(\);) ident(val) operator(=) operator(~)ident(val)operator(;) reserved(return) ident(LONG2NUM)operator(()ident(val)operator(\);) operator(}) directive(static) ident(VALUE) ident(fix_coerce)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) reserved(while) operator((!)ident(FIXNUM_P)operator(()ident(x)operator(\)) operator(&&) ident(TYPE)operator(()ident(x)operator(\)) operator(!=) ident(T_BIGNUM)operator(\)) operator({) ident(x) operator(=) ident(rb_to_int)operator(()ident(x)operator(\);) operator(}) reserved(return) ident(x)operator(;) operator(}) comment(/* * call-seq: * fix & other => integer * * Bitwise AND. */) directive(static) ident(VALUE) ident(fix_and)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(val)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(y) operator(=) ident(fix_coerce)operator(()ident(y)operator(\)\)\)) operator({) reserved(return) ident(rb_big_and)operator(()ident(y)operator(,) ident(x)operator(\);) operator(}) ident(val) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\)) operator(&) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * fix | other => integer * * Bitwise OR. */) directive(static) ident(VALUE) ident(fix_or)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(val)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(y) operator(=) ident(fix_coerce)operator(()ident(y)operator(\)\)\)) operator({) reserved(return) ident(rb_big_or)operator(()ident(y)operator(,) ident(x)operator(\);) operator(}) ident(val) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\)) operator(|) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * fix ^ other => integer * * Bitwise EXCLUSIVE OR. */) directive(static) ident(VALUE) ident(fix_xor)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(val)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(y) operator(=) ident(fix_coerce)operator(()ident(y)operator(\)\)\)) operator({) reserved(return) ident(rb_big_xor)operator(()ident(y)operator(,) ident(x)operator(\);) operator(}) ident(val) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\)) operator(^) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(val)operator(\);) operator(}) directive(static) ident(VALUE) ident(fix_lshift) ident(_)operator((()pre_type(long)operator(,) pre_type(unsigned) pre_type(long)operator(\)\);) directive(static) ident(VALUE) ident(fix_rshift) ident(_)operator((()pre_type(long)operator(,) pre_type(unsigned) pre_type(long)operator(\)\);) comment(/* * call-seq: * fix << count => integer * * Shifts _fix_ left _count_ positions (right if _count_ is negative\). */) directive(static) ident(VALUE) ident(rb_fix_lshift)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(val)operator(,) ident(width)operator(;) ident(val) operator(=) ident(NUM2LONG)operator(()ident(x)operator(\);) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(y)operator(\)\)) reserved(return) ident(rb_big_lshift)operator(()ident(rb_int2big)operator(()ident(val)operator(\),) ident(y)operator(\);) ident(width) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(width) operator(<) integer(0)operator(\)) reserved(return) ident(fix_rshift)operator(()ident(val)operator(,) operator(()pre_type(unsigned) pre_type(long)operator(\)-)ident(width)operator(\);) reserved(return) ident(fix_lshift)operator(()ident(val)operator(,) ident(width)operator(\);) operator(}) directive(static) ident(VALUE) ident(fix_lshift)operator(()ident(val)operator(,) ident(width)operator(\)) pre_type(long) ident(val)operator(;) pre_type(unsigned) pre_type(long) ident(width)operator(;) operator({) reserved(if) operator(()ident(width) operator(>) operator(()reserved(sizeof)operator(()ident(VALUE)operator(\)*)ident(CHAR_BIT)operator(-)integer(1)operator(\)) operator(||) operator((()pre_type(unsigned) pre_type(long)operator(\))ident(val)operator(\)>>()reserved(sizeof)operator(()ident(VALUE)operator(\)*)ident(CHAR_BIT)operator(-)integer(1)operator(-)ident(width)operator(\)) operator(>) integer(0)operator(\)) operator({) reserved(return) ident(rb_big_lshift)operator(()ident(rb_int2big)operator(()ident(val)operator(\),) ident(ULONG2NUM)operator(()ident(width)operator(\)\);) operator(}) ident(val) operator(=) ident(val) operator(<<) ident(width)operator(;) reserved(return) ident(LONG2NUM)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * fix >> count => integer * * Shifts _fix_ right _count_ positions (left if _count_ is negative\). */) directive(static) ident(VALUE) ident(rb_fix_rshift)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(val)operator(;) ident(val) operator(=) ident(FIX2LONG)operator(()ident(x)operator(\);) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(y)operator(\)\)) reserved(return) ident(rb_big_rshift)operator(()ident(rb_int2big)operator(()ident(val)operator(\),) ident(y)operator(\);) ident(i) operator(=) ident(FIX2LONG)operator(()ident(y)operator(\);) reserved(if) operator(()ident(i) operator(==) integer(0)operator(\)) reserved(return) ident(x)operator(;) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) reserved(return) ident(fix_lshift)operator(()ident(val)operator(,) operator(()pre_type(unsigned) pre_type(long)operator(\)-)ident(i)operator(\);) reserved(return) ident(fix_rshift)operator(()ident(val)operator(,) ident(i)operator(\);) operator(}) directive(static) ident(VALUE) ident(fix_rshift)operator(()pre_type(long) ident(val)operator(,) pre_type(unsigned) pre_type(long) ident(i)operator(\)) operator({) reserved(if) operator(()ident(i) operator(>=) reserved(sizeof)operator(()pre_type(long)operator(\)*)ident(CHAR_BIT)operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(val) operator(<) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) ident(val) operator(=) ident(RSHIFT)operator(()ident(val)operator(,) ident(i)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * fix[n] => 0, 1 * * Bit Reference---Returns the nth bit in the binary * representation of fix, where fix[0] is the least * significant bit. * * a = 0b11001100101010 * 30.downto(0\) do |n| print a[n] end * * produces: * * 0000000000000000011001100101010 */) directive(static) ident(VALUE) ident(fix_aref)operator(()ident(fix)operator(,) ident(idx)operator(\)) ident(VALUE) ident(fix)operator(,) ident(idx)operator(;) operator({) pre_type(long) ident(val) operator(=) ident(FIX2LONG)operator(()ident(fix)operator(\);) pre_type(long) ident(i)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(idx) operator(=) ident(fix_coerce)operator(()ident(idx)operator(\)\)\)) operator({) ident(idx) operator(=) ident(rb_big_norm)operator(()ident(idx)operator(\);) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(idx)operator(\)\)) operator({) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(idx)operator(\)->)ident(sign) operator(||) ident(val) operator(>=) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) operator(}) ident(i) operator(=) ident(FIX2LONG)operator(()ident(idx)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()reserved(sizeof)operator(()ident(VALUE)operator(\)*)ident(CHAR_BIT)operator(-)integer(1) operator(<) ident(i)operator(\)) operator({) reserved(if) operator(()ident(val) operator(<) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(val) operator(&) operator(()integer(1L)operator(<<)ident(i)operator(\)\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * fix.to_f -> float * * Converts fix to a Float. * */) directive(static) ident(VALUE) ident(fix_to_f)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) pre_type(double) ident(val)operator(;) ident(val) operator(=) operator(()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(num)operator(\);) reserved(return) ident(rb_float_new)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * fix.abs -> aFixnum * * Returns the absolute value of fix. * * -12345.abs #=> 12345 * 12345.abs #=> 12345 * */) directive(static) ident(VALUE) ident(fix_abs)operator(()ident(fix)operator(\)) ident(VALUE) ident(fix)operator(;) operator({) pre_type(long) ident(i) operator(=) ident(FIX2LONG)operator(()ident(fix)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) ident(i) operator(=) operator(-)ident(i)operator(;) reserved(return) ident(LONG2NUM)operator(()ident(i)operator(\);) operator(}) comment(/* * call-seq: * fix.id2name -> string or nil * * Returns the name of the object whose symbol id is fix. If * there is no symbol in the symbol table with this value, returns * nil. id2name has nothing to do with the * Object.id method. See also Fixnum#to_sym, * String#intern, and class Symbol. * * symbol = :@inst_var #=> :@inst_var * id = symbol.to_i #=> 9818 * id.id2name #=> "@inst_var" */) directive(static) ident(VALUE) ident(fix_id2name)operator(()ident(fix)operator(\)) ident(VALUE) ident(fix)operator(;) operator({) pre_type(char) operator(*)ident(name) operator(=) ident(rb_id2name)operator(()ident(FIX2UINT)operator(()ident(fix)operator(\)\);) reserved(if) operator(()ident(name)operator(\)) reserved(return) ident(rb_str_new2)operator(()ident(name)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * fix.to_sym -> aSymbol * * Returns the symbol whose integer value is fix. See also * Fixnum#id2name. * * fred = :fred.to_i * fred.id2name #=> "fred" * fred.to_sym #=> :fred */) directive(static) ident(VALUE) ident(fix_to_sym)operator(()ident(fix)operator(\)) ident(VALUE) ident(fix)operator(;) operator({) ident(ID) ident(id) operator(=) ident(FIX2UINT)operator(()ident(fix)operator(\);) reserved(if) operator(()ident(rb_id2name)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(ID2SYM)operator(()ident(id)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * fix.size -> fixnum * * Returns the number of bytes in the machine representation * of a Fixnum. * * 1.size #=> 4 * -1.size #=> 4 * 2147483647.size #=> 4 */) directive(static) ident(VALUE) ident(fix_size)operator(()ident(fix)operator(\)) ident(VALUE) ident(fix)operator(;) operator({) reserved(return) ident(INT2FIX)operator(()reserved(sizeof)operator(()pre_type(long)operator(\)\);) operator(}) comment(/* * call-seq: * int.upto(limit\) {|i| block } => int * * Iterates block, passing in integer values from int * up to and including limit. * * 5.upto(10\) { |i| print i, " " } * * produces: * * 5 6 7 8 9 10 */) directive(static) ident(VALUE) ident(int_upto)operator(()ident(from)operator(,) ident(to)operator(\)) ident(VALUE) ident(from)operator(,) ident(to)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(from)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(to)operator(\)\)) operator({) pre_type(long) ident(i)operator(,) ident(end)operator(;) ident(end) operator(=) ident(FIX2LONG)operator(()ident(to)operator(\);) reserved(for) operator(()ident(i) operator(=) ident(FIX2LONG)operator(()ident(from)operator(\);) ident(i) operator(<=) ident(end)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(LONG2FIX)operator(()ident(i)operator(\)\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(i) operator(=) ident(from)operator(,) ident(c)operator(;) reserved(while) operator((!()ident(c) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) char('>')operator(,) integer(1)operator(,) ident(to)operator(\)\)\)) operator({) ident(rb_yield)operator(()ident(i)operator(\);) ident(i) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) char('+')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(1)operator(\)\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) ident(rb_cmperr)operator(()ident(i)operator(,) ident(to)operator(\);) operator(}) reserved(return) ident(from)operator(;) operator(}) comment(/* * call-seq: * int.downto(limit\) {|i| block } => int * * Iterates block, passing decreasing values from int * down to and including limit. * * 5.downto(1\) { |n| print n, ".. " } * print " Liftoff!\\n" * * produces: * * 5.. 4.. 3.. 2.. 1.. Liftoff! */) directive(static) ident(VALUE) ident(int_downto)operator(()ident(from)operator(,) ident(to)operator(\)) ident(VALUE) ident(from)operator(,) ident(to)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(from)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(to)operator(\)\)) operator({) pre_type(long) ident(i)operator(,) ident(end)operator(;) ident(end) operator(=) ident(FIX2LONG)operator(()ident(to)operator(\);) reserved(for) operator(()ident(i)operator(=)ident(FIX2LONG)operator(()ident(from)operator(\);) ident(i) operator(>=) ident(end)operator(;) ident(i)operator(--\)) operator({) ident(rb_yield)operator(()ident(LONG2FIX)operator(()ident(i)operator(\)\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(i) operator(=) ident(from)operator(,) ident(c)operator(;) reserved(while) operator((!()ident(c) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) char('<')operator(,) integer(1)operator(,) ident(to)operator(\)\)\)) operator({) ident(rb_yield)operator(()ident(i)operator(\);) ident(i) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) char('-')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(1)operator(\)\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) ident(rb_cmperr)operator(()ident(i)operator(,) ident(to)operator(\);) operator(}) reserved(return) ident(from)operator(;) operator(}) comment(/* * call-seq: * int.times {|i| block } => int * * Iterates block int times, passing in values from zero to * int - 1. * * 5.times do |i| * print i, " " * end * * produces: * * 0 1 2 3 4 */) directive(static) ident(VALUE) ident(int_dotimes)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(num)operator(\)\)) operator({) pre_type(long) ident(i)operator(,) ident(end)operator(;) ident(end) operator(=) ident(FIX2LONG)operator(()ident(num)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(end)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(LONG2FIX)operator(()ident(i)operator(\)\);) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(i) operator(=) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(for) operator((;;\)) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(rb_funcall)operator(()ident(i)operator(,) char('<')operator(,) integer(1)operator(,) ident(num)operator(\)\)\)) reserved(break)operator(;) ident(rb_yield)operator(()ident(i)operator(\);) ident(i) operator(=) ident(rb_funcall)operator(()ident(i)operator(,) char('+')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(1)operator(\)\);) operator(}) operator(}) reserved(return) ident(num)operator(;) operator(}) comment(/* * call-seq: * fix.zero? => true or false * * Returns true if fix is zero. * */) directive(static) ident(VALUE) ident(fix_zero_p)operator(()ident(num)operator(\)) ident(VALUE) ident(num)operator(;) operator({) reserved(if) operator(()ident(FIX2LONG)operator(()ident(num)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(void) ident(Init_Numeric)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(__FreeBSD__)operator(\)) operator(&&) ident(__FreeBSD__) operator(<) integer(4) comment(/* allow divide by zero -- Inf */) ident(fpsetmask)operator(()ident(fpgetmask)operator((\)) operator(&) operator(~()ident(FP_X_DZ)operator(|)ident(FP_X_INV)operator(|)ident(FP_X_OFL)operator(\)\);) preprocessor(#elif) ident(defined)operator(()ident(_UNICOSMP)operator(\)) comment(/* Turn off floating point exceptions for divide by zero, etc. */) ident(_set_Creg)operator(()integer(0)operator(,) integer(0)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(__BORLANDC__)operator(\)) comment(/* Turn off floating point exceptions for overflow, etc. */) ident(_control87)operator(()ident(MCW_EM)operator(,) ident(MCW_EM)operator(\);) preprocessor(#endif) ident(id_coerce) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_to_i) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_eq) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_eZeroDivError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(rb_eFloatDomainError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eRangeError)operator(\);) ident(rb_cNumeric) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_sadded)operator(,) integer(1)operator(\);) ident(rb_include_module)operator(()ident(rb_cNumeric)operator(,) ident(rb_mComparable)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_coerce)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_uplus)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_uminus)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) string)delimiter(")>operator(,) ident(num_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_quo)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_div)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_divmod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_modulo)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_remainder)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_abs)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_to_int)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_int_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_zero_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_nonzero_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_floor)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_ceil)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_round)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_truncate)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNumeric)operator(,) stringoperator(,) ident(num_step)operator(,) operator(-)integer(1)operator(\);) ident(rb_cInteger) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cNumeric)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cInteger)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cInteger)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_int_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_upto)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_downto)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_dotimes)operator(,) integer(0)operator(\);) ident(rb_include_module)operator(()ident(rb_cInteger)operator(,) ident(rb_mPrecision)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_succ)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_succ)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_chr)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(int_to_i)operator(,) integer(0)operator(\);) ident(rb_cFixnum) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cInteger)operator(\);) ident(rb_include_module)operator(()ident(rb_cFixnum)operator(,) ident(rb_mPrecision)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(rb_fix_induced_from)operator(,) integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cInteger)operator(,) stringoperator(,) ident(rb_int_induced_from)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_to_s)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_id2name)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_to_sym)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_uminus)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_plus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_minus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_mul)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_div)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_div)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_mod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_mod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_divmod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_quo)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_pow)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_abs)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) string)delimiter(")>operator(,) ident(fix_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) string)delimiter(")>operator(,) ident(fix_gt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) string=)delimiter(")>operator(,) ident(fix_ge)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_lt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_le)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_rev)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_and)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_or)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_xor)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_aref)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(rb_fix_lshift)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) string>)delimiter(")>operator(,) ident(rb_fix_rshift)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_to_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFixnum)operator(,) stringoperator(,) ident(fix_zero_p)operator(,) integer(0)operator(\);) ident(rb_cFloat) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cNumeric)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cFloat)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cFloat)operator(\),) stringoperator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(rb_flo_induced_from)operator(,) integer(1)operator(\);) ident(rb_include_module)operator(()ident(rb_cFloat)operator(,) ident(rb_mPrecision)operator(\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(FLT_ROUNDS)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(FLT_RADIX)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(DBL_MANT_DIG)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(DBL_DIG)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(DBL_MIN_EXP)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(DBL_MAX_EXP)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(DBL_MIN_10_EXP)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(DBL_MAX_10_EXP)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(DBL_MIN)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(DBL_MAX)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(rb_float_new)operator(()ident(DBL_EPSILON)operator(\)\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_coerce)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_uminus)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_plus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_minus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_mul)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_div)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_mod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_mod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_divmod)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_pow)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_eq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) string)delimiter(")>operator(,) ident(flo_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) string)delimiter(")>operator(,) ident(flo_gt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) string=)delimiter(")>operator(,) ident(flo_ge)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_lt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_le)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_to_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_abs)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_zero_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_truncate)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_truncate)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_floor)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_ceil)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_round)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_truncate)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_is_nan_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_is_infinite_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFloat)operator(,) stringoperator(,) ident(flo_is_finite_p)operator(,) integer(0)operator(\);) operator(}) comment(/********************************************************************** object.c - $Author: shyouhei $ $Date: 2008-06-18 08:21:30 +0200 (Wed, 18 Jun 2008\) $ created at: Thu Jul 15 12:01:24 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("st.h") preprocessor(#include) include("util.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() ident(VALUE) ident(rb_mKernel)operator(;) ident(VALUE) ident(rb_cObject)operator(;) ident(VALUE) ident(rb_cModule)operator(;) ident(VALUE) ident(rb_cClass)operator(;) ident(VALUE) ident(rb_cData)operator(;) ident(VALUE) ident(rb_cNilClass)operator(;) ident(VALUE) ident(rb_cTrueClass)operator(;) ident(VALUE) ident(rb_cFalseClass)operator(;) ident(VALUE) ident(rb_cSymbol)operator(;) directive(static) ident(ID) ident(id_eq)operator(,) ident(id_eql)operator(,) ident(id_inspect)operator(,) ident(id_init_copy)operator(;) comment(/* * call-seq: * obj === other => true or false * * Case Equality---For class Object, effectively the same * as calling #==, but typically overridden by descendents * to provide meaningful semantics in case statements. */) ident(VALUE) ident(rb_equal)operator(()ident(obj1)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj1)operator(,) ident(obj2)operator(;) operator({) ident(VALUE) ident(result)operator(;) reserved(if) operator(()ident(obj1) operator(==) ident(obj2)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(result) operator(=) ident(rb_funcall)operator(()ident(obj1)operator(,) ident(id_eq)operator(,) integer(1)operator(,) ident(obj2)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(result)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_eql)operator(()ident(obj1)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj1)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(RTEST)operator(()ident(rb_funcall)operator(()ident(obj1)operator(,) ident(id_eql)operator(,) integer(1)operator(,) ident(obj2)operator(\)\);) operator(}) comment(/* * call-seq: * obj == other => true or false * obj.equal?(other\) => true or false * obj.eql?(other\) => true or false * * Equality---At the Object level, == returns * true only if obj and other are the * same object. Typically, this method is overridden in descendent * classes to provide class-specific meaning. * * Unlike ==, the equal? method should never be * overridden by subclasses: it is used to determine object identity * (that is, a.equal?(b\) iff a is the same * object as b\). * * The eql? method returns true if obj and anObject have the * same value. Used by Hash to test members for equality. * For objects of class Object, eql? is * synonymous with ==. Subclasses normally continue this * tradition, but there are exceptions. Numeric types, for * example, perform type conversion across ==, but not * across eql?, so: * * 1 == 1.0 #=> true * 1.eql? 1.0 #=> false */) directive(static) ident(VALUE) ident(rb_obj_equal)operator(()ident(obj1)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj1)operator(,) ident(obj2)operator(;) operator({) reserved(if) operator(()ident(obj1) operator(==) ident(obj2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj.id => fixnum * * Soon-to-be deprecated version of Object#object_id. */) ident(VALUE) ident(rb_obj_id_obsolete)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(return) ident(rb_obj_id)operator(()ident(obj)operator(\);) operator(}) ident(VALUE) ident(rb_class_real)operator(()ident(cl)operator(\)) ident(VALUE) ident(cl)operator(;) operator({) reserved(while) operator(()ident(FL_TEST)operator(()ident(cl)operator(,) ident(FL_SINGLETON)operator(\)) operator(||) ident(TYPE)operator(()ident(cl)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(cl) operator(=) ident(RCLASS)operator(()ident(cl)operator(\)->)ident(super)operator(;) operator(}) reserved(return) ident(cl)operator(;) operator(}) comment(/* * call-seq: * obj.type => class * * Deprecated synonym for Object#class. */) ident(VALUE) ident(rb_obj_type)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(return) ident(rb_class_real)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) comment(/* * call-seq: * obj.class => class * * Returns the class of obj, now preferred over * Object#type, as an object's type in Ruby is only * loosely tied to that object's class. This method must always be * called with an explicit receiver, as class is also a * reserved word in Ruby. * * 1.class #=> Fixnum * self.class #=> Object */) ident(VALUE) ident(rb_obj_class)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_class_real)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) directive(static) directive(void) ident(init_copy)operator(()ident(dest)operator(,) ident(obj)operator(\)) ident(VALUE) ident(dest)operator(,) ident(obj)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(dest)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(dest)operator(\)\);) operator(}) ident(RBASIC)operator(()ident(dest)operator(\)->)ident(flags) operator(&=) operator(~()ident(T_MASK)operator(|)ident(FL_EXIVAR)operator(\);) ident(RBASIC)operator(()ident(dest)operator(\)->)ident(flags) operator(|=) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags) operator(&) operator(()ident(T_MASK)operator(|)ident(FL_EXIVAR)operator(|)ident(FL_TAINT)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)\)) operator({) ident(rb_copy_generic_ivar)operator(()ident(dest)operator(,) ident(obj)operator(\);) operator(}) ident(rb_gc_copy_finalizer)operator(()ident(dest)operator(,) ident(obj)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator(()ident(ROBJECT)operator(()ident(dest)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(st_free_table)operator(()ident(ROBJECT)operator(()ident(dest)operator(\)->)ident(iv_tbl)operator(\);) ident(ROBJECT)operator(()ident(dest)operator(\)->)ident(iv_tbl) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(ROBJECT)operator(()ident(dest)operator(\)->)ident(iv_tbl) operator(=) ident(st_copy)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(\);) operator(}) operator(}) ident(rb_funcall)operator(()ident(dest)operator(,) ident(id_init_copy)operator(,) integer(1)operator(,) ident(obj)operator(\);) operator(}) comment(/* * call-seq: * obj.clone -> an_object * * Produces a shallow copy of obj---the instance variables of * obj are copied, but not the objects they reference. Copies * the frozen and tainted state of obj. See also the discussion * under Object#dup. * * class Klass * attr_accessor :str * end * s1 = Klass.new #=> # * s1.str = "Hello" #=> "Hello" * s2 = s1.clone #=> # * s2.str[1,4] = "i" #=> "i" * s1.inspect #=> "#" * s2.inspect #=> "#" * * This method may have class-specific behavior. If so, that * behavior will be documented under the #+initialize_copy+ method of * the class. */) ident(VALUE) ident(rb_obj_clone)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(clone)operator(;) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) operator(}) ident(clone) operator(=) ident(rb_obj_alloc)operator(()ident(rb_obj_class)operator(()ident(obj)operator(\)\);) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass) operator(=) ident(rb_singleton_class_clone)operator(()ident(obj)operator(\);) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(flags) operator(=) operator(()ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags) operator(|) ident(FL_TEST)operator(()ident(clone)operator(,) ident(FL_TAINT)operator(\)\)) operator(&) operator(~()ident(FL_FREEZE)operator(|)ident(FL_FINALIZE)operator(\);) ident(init_copy)operator(()ident(clone)operator(,) ident(obj)operator(\);) ident(RBASIC)operator(()ident(clone)operator(\)->)ident(flags) operator(|=) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags) operator(&) ident(FL_FREEZE)operator(;) reserved(return) ident(clone)operator(;) operator(}) comment(/* * call-seq: * obj.dup -> an_object * * Produces a shallow copy of obj---the instance variables of * obj are copied, but not the objects they reference. * dup copies the tainted state of obj. See also * the discussion under Object#clone. In general, * clone and dup may have different semantics * in descendent classes. While clone is used to duplicate * an object, including its internal state, dup typically * uses the class of the descendent object to create the new instance. * * This method may have class-specific behavior. If so, that * behavior will be documented under the #+initialize_copy+ method of * the class. */) ident(VALUE) ident(rb_obj_dup)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(dup)operator(;) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(obj)operator(\)\);) operator(}) ident(dup) operator(=) ident(rb_obj_alloc)operator(()ident(rb_obj_class)operator(()ident(obj)operator(\)\);) ident(init_copy)operator(()ident(dup)operator(,) ident(obj)operator(\);) reserved(return) ident(dup)operator(;) operator(}) comment(/* :nodoc: */) ident(VALUE) ident(rb_obj_init_copy)operator(()ident(obj)operator(,) ident(orig)operator(\)) ident(VALUE) ident(obj)operator(,) ident(orig)operator(;) operator({) reserved(if) operator(()ident(obj) operator(==) ident(orig)operator(\)) reserved(return) ident(obj)operator(;) ident(rb_check_frozen)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(!=) ident(TYPE)operator(()ident(orig)operator(\)) operator(||) ident(rb_obj_class)operator(()ident(obj)operator(\)) operator(!=) ident(rb_obj_class)operator(()ident(orig)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * obj.to_a -> anArray * * Returns an array representation of obj. For objects of class * Object and others that don't explicitly override the * method, the return value is an array containing self. * However, this latter behavior will soon be obsolete. * * self.to_a #=> -:1: warning: default `to_a' will be obsolete * "hello".to_a #=> ["hello"] * Time.new.to_a #=> [39, 54, 8, 9, 4, 2003, 3, 99, true, "CDT"] */) directive(static) ident(VALUE) ident(rb_any_to_a)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(obj)operator(\);) operator(}) comment(/* * call-seq: * obj.to_s => string * * Returns a string representing obj. The default * to_s prints the object's class and an encoding of the * object id. As a special case, the top-level object that is the * initial execution context of Ruby programs returns ``main.'' */) ident(VALUE) ident(rb_any_to_s)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(char) operator(*)ident(cname) operator(=) ident(rb_obj_classname)operator(()ident(obj)operator(\);) ident(size_t) ident(len)operator(;) ident(VALUE) ident(str)operator(;) ident(len) operator(=) ident(strlen)operator(()ident(cname)operator(\)+)integer(6)operator(+)integer(16)operator(;) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) comment(/* 6:tags 16:addr */) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(+)integer(1)operator(,) string)delimiter(")>operator(,) ident(cname)operator(,) ident(obj)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_inspect)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_obj_as_string)operator(()ident(rb_funcall)operator(()ident(obj)operator(,) ident(id_inspect)operator(,) integer(0)operator(,) integer(0)operator(\)\);) operator(}) directive(static) pre_type(int) ident(inspect_i)operator(()ident(id)operator(,) ident(value)operator(,) ident(str)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(str2)operator(;) pre_type(char) operator(*)ident(ivname)operator(;) comment(/* need not to show internal data */) reserved(if) operator(()ident(CLASS_OF)operator(()ident(value)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator((!)ident(rb_is_instance_id)operator(()ident(id)operator(\)\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) comment(/* first element */) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) char('#')operator(;) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) reserved(else) operator({) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) ident(ivname) operator(=) ident(rb_id2name)operator(()ident(id)operator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(ivname)operator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(str2) operator(=) ident(rb_inspect)operator(()ident(value)operator(\);) ident(rb_str_append)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(inspect_obj)operator(()ident(obj)operator(,) ident(str)operator(\)) ident(VALUE) ident(obj)operator(,) ident(str)operator(;) operator({) ident(st_foreach_safe)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) ident(inspect_i)operator(,) ident(str)operator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) char('#')operator(;) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(obj)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * obj.inspect => string * * Returns a string containing a human-readable representation of * obj. If not overridden, uses the to_s method to * generate the string. * * [ 1, 2, 3..4, 'five' ].inspect #=> "[1, 2, 3..4, \\"five\\"]" * Time.new.inspect #=> "Wed Apr 09 08:54:39 CDT 2003" */) directive(static) ident(VALUE) ident(rb_obj_inspect)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_OBJECT) operator(&&) ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl) operator(&&) ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(->)ident(num_entries) operator(>) integer(0)operator(\)) operator({) ident(VALUE) ident(str)operator(;) ident(size_t) ident(len)operator(;) pre_type(char) operator(*)ident(c)operator(;) ident(c) operator(=) ident(rb_obj_classname)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(obj)operator(\)\)) operator({) ident(len) operator(=) ident(strlen)operator(()ident(c)operator(\)+)integer(10)operator(+)integer(16)operator(+)integer(1)operator(;) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) comment(/* 10:tags 16:addr 1:nul */) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(,) string)delimiter(")>operator(,) ident(c)operator(,) ident(obj)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(len) operator(=) ident(strlen)operator(()ident(c)operator(\)+)integer(6)operator(+)integer(16)operator(+)integer(1)operator(;) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) comment(/* 6:tags 16:addr 1:nul */) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(,) stringoperator(,) ident(c)operator(,) ident(obj)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(rb_protect_inspect)operator(()ident(inspect_obj)operator(,) ident(obj)operator(,) ident(str)operator(\);) operator(}) reserved(return) ident(rb_funcall)operator(()ident(obj)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * obj.instance_of?(class\) => true or false * * Returns true if obj is an instance of the given * class. See also Object#kind_of?. */) ident(VALUE) ident(rb_obj_is_instance_of)operator(()ident(obj)operator(,) ident(c)operator(\)) ident(VALUE) ident(obj)operator(,) ident(c)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(c)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_ICLASS)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_obj_class)operator(()ident(obj)operator(\)) operator(==) ident(c)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj.is_a?(class\) => true or false * obj.kind_of?(class\) => true or false * * Returns true if class is the class of * obj, or if class is one of the superclasses of * obj or modules included in obj. * * module M; end * class A * include M * end * class B < A; end * class C < B; end * b = B.new * b.instance_of? A #=> false * b.instance_of? B #=> true * b.instance_of? C #=> false * b.instance_of? M #=> false * b.kind_of? A #=> true * b.kind_of? B #=> true * b.kind_of? C #=> false * b.kind_of? M #=> true */) ident(VALUE) ident(rb_obj_is_kind_of)operator(()ident(obj)operator(,) ident(c)operator(\)) ident(VALUE) ident(obj)operator(,) ident(c)operator(;) operator({) ident(VALUE) ident(cl) operator(=) ident(CLASS_OF)operator(()ident(obj)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(c)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_ICLASS)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(while) operator(()ident(cl)operator(\)) operator({) reserved(if) operator(()ident(cl) operator(==) ident(c) operator(||) ident(RCLASS)operator(()ident(cl)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(c)operator(\)->)ident(m_tbl)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(cl) operator(=) ident(RCLASS)operator(()ident(cl)operator(\)->)ident(super)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * Document-method: inherited * * call-seq: * inherited(subclass\) * * Callback invoked whenever a subclass of the current class is created. * * Example: * * class Foo * def self.inherited(subclass\) * puts "New subclass: #{subclass}" * end * end * * class Bar < Foo * end * * class Baz < Bar * end * * produces: * * New subclass: Bar * New subclass: Baz */) comment(/* * Document-method: singleton_method_added * * call-seq: * singleton_method_added(symbol\) * * Invoked as a callback whenever a singleton method is added to the * receiver. * * module Chatty * def Chatty.singleton_method_added(id\) * puts "Adding #{id.id2name}" * end * def self.one(\) end * def two(\) end * def Chatty.three(\) end * end * * produces: * * Adding singleton_method_added * Adding one * Adding three * */) comment(/* * Document-method: singleton_method_removed * * call-seq: * singleton_method_removed(symbol\) * * Invoked as a callback whenever a singleton method is removed from * the receiver. * * module Chatty * def Chatty.singleton_method_removed(id\) * puts "Removing #{id.id2name}" * end * def self.one(\) end * def two(\) end * def Chatty.three(\) end * class <produces: * * Removing three * Removing one */) comment(/* * Document-method: singleton_method_undefined * * call-seq: * singleton_method_undefined(symbol\) * * Invoked as a callback whenever a singleton method is undefined in * the receiver. * * module Chatty * def Chatty.singleton_method_undefined(id\) * puts "Undefining #{id.id2name}" * end * def Chatty.one(\) end * class << self * undef_method(:one\) * end * end * * produces: * * Undefining one */) comment(/* * Document-method: included * * call-seq: * included( othermod \) * * Callback invoked whenever the receiver is included in another * module or class. This should be used in preference to * Module.append_features if your code wants to perform some * action when a module is included in another. * * module A * def A.included(mod\) * puts "#{self} included in #{mod}" * end * end * module Enumerable * include A * end */) comment(/* * Not documented */) directive(static) ident(VALUE) ident(rb_obj_dummy)operator((\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * obj.tainted? => true or false * * Returns true if the object is tainted. */) ident(VALUE) ident(rb_obj_tainted)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj.taint -> obj * * Marks obj as tainted---if the $SAFE level is * set appropriately, many method calls which might alter the running * programs environment will refuse to accept tainted strings. */) ident(VALUE) ident(rb_obj_taint)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) operator({) ident(rb_error_frozen)operator(()stringoperator(\);) operator(}) ident(OBJ_TAINT)operator(()ident(obj)operator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * obj.untaint => obj * * Removes the taint from obj. */) ident(VALUE) ident(rb_obj_untaint)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_secure)operator(()integer(3)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) operator({) ident(rb_error_frozen)operator(()stringoperator(\);) operator(}) ident(FL_UNSET)operator(()ident(obj)operator(,) ident(FL_TAINT)operator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) directive(void) ident(rb_obj_infect)operator(()ident(obj1)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj1)operator(,) ident(obj2)operator(;) operator({) ident(OBJ_INFECT)operator(()ident(obj1)operator(,) ident(obj2)operator(\);) operator(}) comment(/* * call-seq: * obj.freeze => obj * * Prevents further modifications to obj. A * TypeError will be raised if modification is attempted. * There is no way to unfreeze a frozen object. See also * Object#frozen?. * * a = [ "a", "b", "c" ] * a.freeze * a << "z" * * produces: * * prog.rb:3:in `<<': can't modify frozen array (TypeError\) * from prog.rb:3 */) ident(VALUE) ident(rb_obj_freeze)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator((!)ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) operator({) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4) operator(&&) operator(!)ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(OBJ_FREEZE)operator(()ident(obj)operator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * obj.frozen? => true or false * * Returns the freeze status of obj. * * a = [ "a", "b", "c" ] * a.freeze #=> ["a", "b", "c"] * a.frozen? #=> true */) directive(static) ident(VALUE) ident(rb_obj_frozen_p)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * Document-class: NilClass * * The class of the singleton object nil. */) comment(/* * call-seq: * nil.to_i => 0 * * Always returns zero. * * nil.to_i #=> 0 */) directive(static) ident(VALUE) ident(nil_to_i)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * nil.to_f => 0.0 * * Always returns zero. * * nil.to_f #=> 0.0 */) directive(static) ident(VALUE) ident(nil_to_f)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_float_new)operator(()float(0)float(.0)operator(\);) operator(}) comment(/* * call-seq: * nil.to_s => "" * * Always returns the empty string. * * nil.to_s #=> "" */) directive(static) ident(VALUE) ident(nil_to_s)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) comment(/* * call-seq: * nil.to_a => [] * * Always returns an empty array. * * nil.to_a #=> [] */) directive(static) ident(VALUE) ident(nil_to_a)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_ary_new2)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * nil.inspect => "nil" * * Always returns the string "nil". */) directive(static) ident(VALUE) ident(nil_inspect)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(main_to_s)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) comment(/*********************************************************************** * Document-class: TrueClass * * The global value true is the only instance of class * TrueClass and represents a logically true value in * boolean expressions. The class provides operators allowing * true to be used in logical expressions. */) comment(/* * call-seq: * true.to_s => "true" * * The string representation of true is "true". */) directive(static) ident(VALUE) ident(true_to_s)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) comment(/* * call-seq: * true & obj => true or false * * And---Returns false if obj is * nil or false, true otherwise. */) directive(static) ident(VALUE) ident(true_and)operator(()ident(obj)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(RTEST)operator(()ident(obj2)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * true | obj => true * * Or---Returns true. As anObject is an argument to * a method call, it is always evaluated; there is no short-circuit * evaluation in this case. * * true | puts("or"\) * true || puts("logical or"\) * * produces: * * or */) directive(static) ident(VALUE) ident(true_or)operator(()ident(obj)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * true ^ obj => !obj * * Exclusive Or---Returns true if obj is * nil or false, false * otherwise. */) directive(static) ident(VALUE) ident(true_xor)operator(()ident(obj)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(RTEST)operator(()ident(obj2)operator(\)?)ident(Qfalse)operator(:)ident(Qtrue)operator(;) operator(}) comment(/* * Document-class: FalseClass * * The global value false is the only instance of class * FalseClass and represents a logically false value in * boolean expressions. The class provides operators allowing * false to participate correctly in logical expressions. * */) comment(/* * call-seq: * false.to_s => "false" * * 'nuf said... */) directive(static) ident(VALUE) ident(false_to_s)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) comment(/* * call-seq: * false & obj => false * nil & obj => false * * And---Returns false. obj is always * evaluated as it is the argument to a method call---there is no * short-circuit evaluation in this case. */) directive(static) ident(VALUE) ident(false_and)operator(()ident(obj)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * false | obj => true or false * nil | obj => true or false * * Or---Returns false if obj is * nil or false; true otherwise. */) directive(static) ident(VALUE) ident(false_or)operator(()ident(obj)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(RTEST)operator(()ident(obj2)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * false ^ obj => true or false * nil ^ obj => true or false * * Exclusive Or---If obj is nil or * false, returns false; otherwise, returns * true. * */) directive(static) ident(VALUE) ident(false_xor)operator(()ident(obj)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(RTEST)operator(()ident(obj2)operator(\)?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call_seq: * nil.nil? => true * * Only the object nil responds true to nil?. */) directive(static) ident(VALUE) ident(rb_true)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call_seq: * nil.nil? => true * .nil? => false * * Only the object nil responds true to nil?. */) directive(static) ident(VALUE) ident(rb_false)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * obj =~ other => false * * Pattern Match---Overridden by descendents (notably * Regexp and String\) to provide meaningful * pattern-match semantics. */) directive(static) ident(VALUE) ident(rb_obj_pattern_match)operator(()ident(obj1)operator(,) ident(obj2)operator(\)) ident(VALUE) ident(obj1)operator(,) ident(obj2)operator(;) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/********************************************************************** * Document-class: Symbol * * Symbol objects represent names and some strings * inside the Ruby * interpreter. They are generated using the :name and * :"string" literals * syntax, and by the various to_sym methods. The same * Symbol object will be created for a given name or string * for the duration of a program's execution, regardless of the context * or meaning of that name. Thus if Fred is a constant in * one context, a method in another, and a class in a third, the * Symbol :Fred will be the same object in * all three contexts. * * module One * class Fred * end * $f1 = :Fred * end * module Two * Fred = 1 * $f2 = :Fred * end * def Fred(\) * end * $f3 = :Fred * $f1.id #=> 2514190 * $f2.id #=> 2514190 * $f3.id #=> 2514190 * */) comment(/* * call-seq: * sym.to_i => fixnum * * Returns an integer that is unique for each symbol within a * particular execution of a program. * * :fred.to_i #=> 9809 * "fred".to_sym.to_i #=> 9809 */) directive(static) ident(VALUE) ident(sym_to_i)operator(()ident(sym)operator(\)) ident(VALUE) ident(sym)operator(;) operator({) ident(ID) ident(id) operator(=) ident(SYM2ID)operator(()ident(sym)operator(\);) reserved(return) ident(LONG2FIX)operator(()ident(id)operator(\);) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(sym_to_int)operator(()ident(sym)operator(\)) ident(VALUE) ident(sym)operator(;) operator({) ident(rb_warning)operator(()stringoperator(\);) reserved(return) ident(sym_to_i)operator(()ident(sym)operator(\);) operator(}) comment(/* * call-seq: * sym.inspect => string * * Returns the representation of sym as a symbol literal. * * :fred.inspect #=> ":fred" */) directive(static) ident(VALUE) ident(sym_inspect)operator(()ident(sym)operator(\)) ident(VALUE) ident(sym)operator(;) operator({) ident(VALUE) ident(str)operator(;) pre_type(char) operator(*)ident(name)operator(;) ident(ID) ident(id) operator(=) ident(SYM2ID)operator(()ident(sym)operator(\);) ident(name) operator(=) ident(rb_id2name)operator(()ident(id)operator(\);) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(strlen)operator(()ident(name)operator(\)+)integer(1)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) char(':')operator(;) ident(strcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)integer(1)operator(,) ident(name)operator(\);) reserved(if) operator((!)ident(rb_symname_p)operator(()ident(name)operator(\)\)) operator({) ident(str) operator(=) ident(rb_str_dump)operator(()ident(str)operator(\);) ident(strncpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) stringoperator(,) integer(2)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * sym.id2name => string * sym.to_s => string * * Returns the name or string corresponding to sym. * * :fred.id2name #=> "fred" */) directive(static) ident(VALUE) ident(sym_to_s)operator(()ident(sym)operator(\)) ident(VALUE) ident(sym)operator(;) operator({) reserved(return) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(sym)operator(\)\)\);) operator(}) comment(/* * call-seq: * sym.to_sym => sym * * In general, to_sym returns the Symbol corresponding * to an object. As sym is already a symbol, self is returned * in this case. */) directive(static) ident(VALUE) ident(sym_to_sym)operator(()ident(sym)operator(\)) ident(VALUE) ident(sym)operator(;) operator({) reserved(return) ident(sym)operator(;) operator(}) comment(/*********************************************************************** * * Document-class: Module * * A Module is a collection of methods and constants. The * methods in a module may be instance methods or module methods. * Instance methods appear as methods in a class when the module is * included, module methods do not. Conversely, module methods may be * called without creating an encapsulating object, while instance * methods may not. (See Module#module_function\) * * In the descriptions that follow, the parameter syml refers * to a symbol, which is either a quoted string or a * Symbol (such as :name\). * * module Mod * include Math * CONST = 1 * def meth * # ... * end * end * Mod.class #=> Module * Mod.constants #=> ["E", "PI", "CONST"] * Mod.instance_methods #=> ["meth"] * */) comment(/* * call-seq: * mod.to_s => string * * Return a string representing this module or class. For basic * classes and modules, this is the name. For singletons, we * show information on the thing we're attached to as well. */) directive(static) ident(VALUE) ident(rb_mod_to_s)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(VALUE) ident(s) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) ident(VALUE) ident(v) operator(=) ident(rb_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) ident(rb_str_cat2)operator(()ident(s)operator(,) stringoperator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(v)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) ident(rb_str_append)operator(()ident(s)operator(,) ident(rb_inspect)operator(()ident(v)operator(\)\);) reserved(break)operator(;) reserved(default)operator(:) ident(rb_str_append)operator(()ident(s)operator(,) ident(rb_any_to_s)operator(()ident(v)operator(\)\);) reserved(break)operator(;) operator(}) ident(rb_str_cat2)operator(()ident(s)operator(,) string)delimiter(")>operator(\);) reserved(return) ident(s)operator(;) operator(}) reserved(return) ident(rb_str_dup)operator(()ident(rb_class_name)operator(()ident(klass)operator(\)\);) operator(}) comment(/* * call-seq: * mod.freeze * * Prevents further modifications to mod. */) directive(static) ident(VALUE) ident(rb_mod_freeze)operator(()ident(mod)operator(\)) ident(VALUE) ident(mod)operator(;) operator({) ident(rb_mod_to_s)operator(()ident(mod)operator(\);) reserved(return) ident(rb_obj_freeze)operator(()ident(mod)operator(\);) operator(}) comment(/* * call-seq: * mod === obj => true or false * * Case Equality---Returns true if anObject is an * instance of mod or one of mod's descendents. Of * limited use for modules, but can be used in case * statements to classify objects by class. */) directive(static) ident(VALUE) ident(rb_mod_eqq)operator(()ident(mod)operator(,) ident(arg)operator(\)) ident(VALUE) ident(mod)operator(,) ident(arg)operator(;) operator({) reserved(return) ident(rb_obj_is_kind_of)operator(()ident(arg)operator(,) ident(mod)operator(\);) operator(}) comment(/* * call-seq: * mod <= other => true, false, or nil * * Returns true if mod is a subclass of other or * is the same as other. Returns * nil if there's no relationship between the two. * (Think of the relationship in terms of the class definition: * "class Aoperator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(mod)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(arg)operator(\)->)ident(m_tbl)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(mod) operator(=) ident(RBASIC)operator(()ident(mod)operator(\)->)ident(klass)operator(;) operator(}) reserved(while) operator(()ident(mod)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(arg)operator(\)->)ident(m_tbl)operator(\)) reserved(return) ident(Qtrue)operator(;) ident(mod) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(super)operator(;) operator(}) comment(/* not mod < arg; check if mod > arg */) reserved(while) operator(()ident(arg)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(arg)operator(\)->)ident(m_tbl) operator(==) ident(RCLASS)operator(()ident(start)operator(\)->)ident(m_tbl)operator(\)) reserved(return) ident(Qfalse)operator(;) ident(arg) operator(=) ident(RCLASS)operator(()ident(arg)operator(\)->)ident(super)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * mod < other => true, false, or nil * * Returns true if mod is a subclass of other. Returns * nil if there's no relationship between the two. * (Think of the relationship in terms of the class definition: * "class A= other => true, false, or nil * * Returns true if mod is an ancestor of other, or the * two modules are the same. Returns * nil if there's no relationship between the two. * (Think of the relationship in terms of the class definition: * "class AA"\). * */) directive(static) ident(VALUE) ident(rb_mod_ge)operator(()ident(mod)operator(,) ident(arg)operator(\)) ident(VALUE) ident(mod)operator(,) ident(arg)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(arg)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_class_inherited_p)operator(()ident(arg)operator(,) ident(mod)operator(\);) operator(}) comment(/* * call-seq: * mod > other => true, false, or nil * * Returns true if mod is an ancestor of other. Returns * nil if there's no relationship between the two. * (Think of the relationship in terms of the class definition: * "class AA"\). * */) directive(static) ident(VALUE) ident(rb_mod_gt)operator(()ident(mod)operator(,) ident(arg)operator(\)) ident(VALUE) ident(mod)operator(,) ident(arg)operator(;) operator({) reserved(if) operator(()ident(mod) operator(==) ident(arg)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(rb_mod_ge)operator(()ident(mod)operator(,) ident(arg)operator(\);) operator(}) comment(/* * call-seq: * mod <=> other_mod => -1, 0, +1, or nil * * Comparison---Returns -1 if mod includes other_mod, 0 if * mod is the same as other_mod, and +1 if mod is * included by other_mod or if mod has no relationship with * other_mod. Returns nil if other_mod is * not a module. */) directive(static) ident(VALUE) ident(rb_mod_cmp)operator(()ident(mod)operator(,) ident(arg)operator(\)) ident(VALUE) ident(mod)operator(,) ident(arg)operator(;) operator({) ident(VALUE) ident(cmp)operator(;) reserved(if) operator(()ident(mod) operator(==) ident(arg)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(arg)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(Qnil)operator(;) operator(}) ident(cmp) operator(=) ident(rb_class_inherited_p)operator(()ident(mod)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(cmp)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(cmp)operator(\)) operator({) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_module_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_module_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(mod) operator(=) ident(rb_module_new)operator((\);) ident(RBASIC)operator(()ident(mod)operator(\)->)ident(klass) operator(=) ident(klass)operator(;) reserved(return) ident(mod)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_class_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_class_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(return) ident(rb_class_boot)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * Module.new => mod * Module.new {|mod| block } => mod * * Creates a new anonymous module. If a block is given, it is passed * the module object, and the block is evaluated in the context of this * module using module_eval. * * Fred = Module.new do * def meth1 * "hello" * end * def meth2 * "bye" * end * end * a = "my string" * a.extend(Fred\) #=> "my string" * a.meth1 #=> "hello" * a.meth2 #=> "bye" */) directive(static) ident(VALUE) ident(rb_mod_initialize)operator(()ident(module)operator(\)) ident(VALUE) ident(module)operator(;) operator({) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_mod_module_eval)operator(()integer(0)operator(,) integer(0)operator(,) ident(module)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Class.new(super_class=Object\) => a_class * * Creates a new anonymous (unnamed\) class with the given superclass * (or Object if no parameter is given\). You can give a * class a name by assigning the class object to a constant. * */) directive(static) ident(VALUE) ident(rb_class_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(super)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super) operator(!=) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(super)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(super) operator(=) ident(rb_cObject)operator(;) operator(}) reserved(else) operator({) ident(rb_check_inheritable)operator(()ident(super)operator(\);) operator(}) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super) operator(=) ident(super)operator(;) ident(rb_make_metaclass)operator(()ident(klass)operator(,) ident(RBASIC)operator(()ident(super)operator(\)->)ident(klass)operator(\);) ident(rb_mod_initialize)operator(()ident(klass)operator(\);) ident(rb_class_inherited)operator(()ident(super)operator(,) ident(klass)operator(\);) reserved(return) ident(klass)operator(;) operator(}) comment(/* * call-seq: * class.allocate(\) => obj * * Allocates space for a new object of class's class. The * returned object must be an instance of class. * */) ident(VALUE) ident(rb_obj_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(obj)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(obj) operator(=) ident(rb_funcall)operator(()ident(klass)operator(,) ident(ID_ALLOCATOR)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(rb_obj_class)operator(()ident(obj)operator(\)) operator(!=) ident(rb_class_real)operator(()ident(klass)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(obj)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_class_allocate_instance) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_class_allocate_instance)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(obj)operator(,) reserved(struct) ident(RObject)operator(\);) ident(OBJSETUP)operator(()ident(obj)operator(,) ident(klass)operator(,) ident(T_OBJECT)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(obj)operator(;) operator(}) comment(/* * call-seq: * class.new(args, ...\) => obj * * Calls allocate to create a new object of * class's class, then invokes that object's * initialize method, passing it args. * This is the method that ends up getting called whenever * an object is constructed using .new. * */) ident(VALUE) ident(rb_class_new_instance)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(obj)operator(;) ident(obj) operator(=) ident(rb_obj_alloc)operator(()ident(klass)operator(\);) ident(rb_obj_call_init)operator(()ident(obj)operator(,) ident(argc)operator(,) ident(argv)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * class.superclass -> a_super_class or nil * * Returns the superclass of class, or nil. * * File.superclass #=> IO * IO.superclass #=> Object * Object.superclass #=> nil * */) directive(static) ident(VALUE) ident(rb_class_superclass)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(super) operator(=) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(super)operator(;) reserved(if) operator((!)ident(super)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(klass)operator(,) ident(FL_SINGLETON)operator(\)\)) operator({) ident(super) operator(=) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass)operator(;) operator(}) reserved(while) operator(()ident(TYPE)operator(()ident(super)operator(\)) operator(==) ident(T_ICLASS)operator(\)) operator({) ident(super) operator(=) ident(RCLASS)operator(()ident(super)operator(\)->)ident(super)operator(;) operator(}) reserved(if) operator((!)ident(super)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(super)operator(;) operator(}) directive(static) ident(ID) ident(str_to_id)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(sym) operator(=) ident(rb_str_intern)operator(()ident(str)operator(\);) reserved(return) ident(SYM2ID)operator(()ident(sym)operator(\);) operator(}) ident(ID) ident(rb_to_id)operator(()ident(name)operator(\)) ident(VALUE) ident(name)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) ident(ID) ident(id)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(name)operator(\)\)) operator({) reserved(case) ident(T_STRING)operator(:) reserved(return) ident(str_to_id)operator(()ident(name)operator(\);) reserved(case) ident(T_FIXNUM)operator(:) ident(rb_warn)operator(()stringoperator(\);) ident(id) operator(=) ident(FIX2LONG)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_id2name)operator(()ident(id)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(id)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_SYMBOL)operator(:) ident(id) operator(=) ident(SYM2ID)operator(()ident(name)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(str_to_id)operator(()ident(tmp)operator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(rb_inspect)operator(()ident(name)operator(\)\)->)ident(ptr)operator(\);) operator(}) reserved(return) ident(id)operator(;) operator(}) comment(/* * call-seq: * attr(symbol, writable=false\) => nil * * Defines a named attribute for this module, where the name is * symbol.id2name, creating an instance variable * (@name\) and a corresponding access method to read it. * If the optional writable argument is true, also * creates a method called name= to set the attribute. * * module Mod * attr :size, true * end * * is equivalent to: * * module Mod * def size * @size * end * def size=(val\) * @size = val * end * end */) directive(static) ident(VALUE) ident(rb_mod_attr)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(name)operator(,) ident(pub)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(name)operator(,) operator(&)ident(pub)operator(\);) ident(rb_attr)operator(()ident(klass)operator(,) ident(rb_to_id)operator(()ident(name)operator(\),) integer(1)operator(,) ident(RTEST)operator(()ident(pub)operator(\),) ident(Qtrue)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * attr_reader(symbol, ...\) => nil * * Creates instance variables and corresponding methods that return the * value of each instance variable. Equivalent to calling * ``attr:name'' on each name in turn. */) directive(static) ident(VALUE) ident(rb_mod_attr_reader)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_attr)operator(()ident(klass)operator(,) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\),) integer(1)operator(,) integer(0)operator(,) ident(Qtrue)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * attr_writer(symbol, ...\) => nil * * Creates an accessor method to allow assignment to the attribute * aSymbol.id2name. */) directive(static) ident(VALUE) ident(rb_mod_attr_writer)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_attr)operator(()ident(klass)operator(,) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\),) integer(0)operator(,) integer(1)operator(,) ident(Qtrue)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * attr_accessor(symbol, ...\) => nil * * Equivalent to calling ``attrsymbol, * true'' on each symbol in turn. * * module Mod * attr_accessor(:one, :two\) * end * Mod.instance_methods.sort #=> ["one", "one=", "two", "two="] */) directive(static) ident(VALUE) ident(rb_mod_attr_accessor)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(rb_attr)operator(()ident(klass)operator(,) ident(rb_to_id)operator(()ident(argv)operator([)ident(i)operator(]\),) integer(1)operator(,) integer(1)operator(,) ident(Qtrue)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * mod.const_get(sym\) => obj * * Returns the value of the named constant in mod. * * Math.const_get(:PI\) #=> 3.14159265358979 */) directive(static) ident(VALUE) ident(rb_mod_const_get)operator(()ident(mod)operator(,) ident(name)operator(\)) ident(VALUE) ident(mod)operator(,) ident(name)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_const_get)operator(()ident(mod)operator(,) ident(id)operator(\);) operator(}) comment(/* * call-seq: * mod.const_set(sym, obj\) => obj * * Sets the named constant to the given object, returning that object. * Creates a new constant if no constant with the given name previously * existed. * * Math.const_set("HIGH_SCHOOL_PI", 22.0/7.0\) #=> 3.14285714285714 * Math::HIGH_SCHOOL_PI - Math::PI #=> 0.00126448926734968 */) directive(static) ident(VALUE) ident(rb_mod_const_set)operator(()ident(mod)operator(,) ident(name)operator(,) ident(value)operator(\)) ident(VALUE) ident(mod)operator(,) ident(name)operator(,) ident(value)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(rb_const_set)operator(()ident(mod)operator(,) ident(id)operator(,) ident(value)operator(\);) reserved(return) ident(value)operator(;) operator(}) comment(/* * call-seq: * mod.const_defined?(sym\) => true or false * * Returns true if a constant with the given name is * defined by mod. * * Math.const_defined? "PI" #=> true */) directive(static) ident(VALUE) ident(rb_mod_const_defined)operator(()ident(mod)operator(,) ident(name)operator(\)) ident(VALUE) ident(mod)operator(,) ident(name)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_const_defined_at)operator(()ident(mod)operator(,) ident(id)operator(\);) operator(}) comment(/* * call-seq: * obj.methods => array * * Returns a list of the names of methods publicly accessible in * obj. This will include all the methods accessible in * obj's ancestors. * * class Klass * def kMethod(\) * end * end * k = Klass.new * k.methods[0..9] #=> ["kMethod", "freeze", "nil?", "is_a?", * "class", "instance_variable_set", * "methods", "extend", "__send__", "instance_eval"] * k.methods.length #=> 42 */) directive(static) ident(VALUE) ident(rb_obj_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) label(retry:) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(VALUE) ident(args)operator([)integer(1)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(Qtrue)operator(;) reserved(return) ident(rb_class_instance_methods)operator(()integer(1)operator(,) ident(args)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) reserved(else) operator({) ident(VALUE) ident(recur)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(recur)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(recur)operator(\)\)) operator({) ident(argc) operator(=) integer(0)operator(;) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) ident(rb_obj_singleton_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\);) operator(}) operator(}) comment(/* * call-seq: * obj.protected_methods(all=true\) => array * * Returns the list of protected methods accessible to obj. If * the all parameter is set to false, only those methods * in the receiver will be listed. */) directive(static) ident(VALUE) ident(rb_obj_protected_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) comment(/* hack to stop warning */) ident(VALUE) ident(args)operator([)integer(1)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(Qtrue)operator(;) reserved(return) ident(rb_class_protected_instance_methods)operator(()integer(1)operator(,) ident(args)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) reserved(return) ident(rb_class_protected_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) comment(/* * call-seq: * obj.private_methods(all=true\) => array * * Returns the list of private methods accessible to obj. If * the all parameter is set to false, only those methods * in the receiver will be listed. */) directive(static) ident(VALUE) ident(rb_obj_private_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) comment(/* hack to stop warning */) ident(VALUE) ident(args)operator([)integer(1)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(Qtrue)operator(;) reserved(return) ident(rb_class_private_instance_methods)operator(()integer(1)operator(,) ident(args)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) reserved(return) ident(rb_class_private_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) comment(/* * call-seq: * obj.public_methods(all=true\) => array * * Returns the list of public methods accessible to obj. If * the all parameter is set to false, only those methods * in the receiver will be listed. */) directive(static) ident(VALUE) ident(rb_obj_public_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) comment(/* hack to stop warning */) ident(VALUE) ident(args)operator([)integer(1)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(Qtrue)operator(;) reserved(return) ident(rb_class_public_instance_methods)operator(()integer(1)operator(,) ident(args)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) reserved(return) ident(rb_class_public_instance_methods)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) comment(/* * call-seq: * obj.instance_variable_get(symbol\) => obj * * Returns the value of the given instance variable, or nil if the * instance variable is not set. The @ part of the * variable name should be included for regular instance * variables. Throws a NameError exception if the * supplied symbol is not valid as an instance variable name. * * class Fred * def initialize(p1, p2\) * @a, @b = p1, p2 * end * end * fred = Fred.new('cat', 99\) * fred.instance_variable_get(:@a\) #=> "cat" * fred.instance_variable_get("@b"\) #=> 99 */) directive(static) ident(VALUE) ident(rb_obj_ivar_get)operator(()ident(obj)operator(,) ident(iv)operator(\)) ident(VALUE) ident(obj)operator(,) ident(iv)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(iv)operator(\);) reserved(if) operator((!)ident(rb_is_instance_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id)operator(\);) operator(}) comment(/* * call-seq: * obj.instance_variable_set(symbol, obj\) => obj * * Sets the instance variable names by symbol to * object, thereby frustrating the efforts of the class's * author to attempt to provide proper encapsulation. The variable * did not have to exist prior to this call. * * class Fred * def initialize(p1, p2\) * @a, @b = p1, p2 * end * end * fred = Fred.new('cat', 99\) * fred.instance_variable_set(:@a, 'dog'\) #=> "dog" * fred.instance_variable_set(:@c, 'cat'\) #=> "cat" * fred.inspect #=> "#" */) directive(static) ident(VALUE) ident(rb_obj_ivar_set)operator(()ident(obj)operator(,) ident(iv)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(,) ident(iv)operator(,) ident(val)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(iv)operator(\);) reserved(if) operator((!)ident(rb_is_instance_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_ivar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(\);) operator(}) comment(/* * call-seq: * obj.instance_variable_defined?(symbol\) => true or false * * Returns true if the given instance variable is * defined in obj. * * class Fred * def initialize(p1, p2\) * @a, @b = p1, p2 * end * end * fred = Fred.new('cat', 99\) * fred.instance_variable_defined?(:@a\) #=> true * fred.instance_variable_defined?("@b"\) #=> true * fred.instance_variable_defined?("@c"\) #=> false */) directive(static) ident(VALUE) ident(rb_obj_ivar_defined)operator(()ident(obj)operator(,) ident(iv)operator(\)) ident(VALUE) ident(obj)operator(,) ident(iv)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(iv)operator(\);) reserved(if) operator((!)ident(rb_is_instance_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_ivar_defined)operator(()ident(obj)operator(,) ident(id)operator(\);) operator(}) comment(/* * call-seq: * mod.class_variable_get(symbol\) => obj * * Returns the value of the given class variable (or throws a * NameError exception\). The @@ part of the * variable name should be included for regular class variables * * class Fred * @@foo = 99 * end * * def Fred.foo * class_variable_get(:@@foo\) #=> 99 * end */) directive(static) ident(VALUE) ident(rb_mod_cvar_get)operator(()ident(obj)operator(,) ident(iv)operator(\)) ident(VALUE) ident(obj)operator(,) ident(iv)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(iv)operator(\);) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_cvar_get)operator(()ident(obj)operator(,) ident(id)operator(\);) operator(}) comment(/* * call-seq: * obj.class_variable_set(symbol, obj\) => obj * * Sets the class variable names by symbol to * object. * * class Fred * @@foo = 99 * def foo * @@foo * end * end * * def Fred.foo * class_variable_set(:@@foo, 101\) #=> 101 * end * Fred.foo * Fred.new.foo #=> 101 */) directive(static) ident(VALUE) ident(rb_mod_cvar_set)operator(()ident(obj)operator(,) ident(iv)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(,) ident(iv)operator(,) ident(val)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(iv)operator(\);) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(rb_cvar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(,) ident(Qfalse)operator(\);) reserved(return) ident(val)operator(;) operator(}) comment(/* * call-seq: * obj.class_variable_defined?(symbol\) => true or false * * Returns true if the given class variable is defined * in obj. * * class Fred * @@foo = 99 * end * Fred.class_variable_defined?(:@@foo\) #=> true * Fred.class_variable_defined?(:@@bar\) #=> false */) directive(static) ident(VALUE) ident(rb_mod_cvar_defined)operator(()ident(obj)operator(,) ident(iv)operator(\)) ident(VALUE) ident(obj)operator(,) ident(iv)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(iv)operator(\);) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(rb_cvar_defined)operator(()ident(obj)operator(,) ident(id)operator(\);) operator(}) directive(static) ident(VALUE) ident(convert_type)operator(()ident(val)operator(,) ident(tname)operator(,) ident(method)operator(,) ident(raise)operator(\)) ident(VALUE) ident(val)operator(;) directive(const) pre_type(char) operator(*)ident(tname)operator(,) operator(*)ident(method)operator(;) pre_type(int) ident(raise)operator(;) operator({) ident(ID) ident(m)operator(;) ident(m) operator(=) ident(rb_intern)operator(()ident(method)operator(\);) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(val)operator(,) ident(m)operator(\)\)) operator({) reserved(if) operator(()ident(raise)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(NIL_P)operator(()ident(val)operator(\)) operator(?) string operator(:) ident(val) operator(==) ident(Qtrue) operator(?) string operator(:) ident(val) operator(==) ident(Qfalse) operator(?) string operator(:) ident(rb_obj_classname)operator(()ident(val)operator(\),) ident(tname)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(Qnil)operator(;) operator(}) operator(}) reserved(return) ident(rb_funcall)operator(()ident(val)operator(,) ident(m)operator(,) integer(0)operator(\);) operator(}) ident(VALUE) ident(rb_convert_type)operator(()ident(val)operator(,) ident(type)operator(,) ident(tname)operator(,) ident(method)operator(\)) ident(VALUE) ident(val)operator(;) pre_type(int) ident(type)operator(;) directive(const) pre_type(char) operator(*)ident(tname)operator(,) operator(*)ident(method)operator(;) operator({) ident(VALUE) ident(v)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(==) ident(type)operator(\)) reserved(return) ident(val)operator(;) ident(v) operator(=) ident(convert_type)operator(()ident(val)operator(,) ident(tname)operator(,) ident(method)operator(,) ident(Qtrue)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(type)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(val)operator(\),) ident(method)operator(,) ident(tname)operator(\);) operator(}) reserved(return) ident(v)operator(;) operator(}) ident(VALUE) ident(rb_check_convert_type)operator(()ident(val)operator(,) ident(type)operator(,) ident(tname)operator(,) ident(method)operator(\)) ident(VALUE) ident(val)operator(;) pre_type(int) ident(type)operator(;) directive(const) pre_type(char) operator(*)ident(tname)operator(,) operator(*)ident(method)operator(;) operator({) ident(VALUE) ident(v)operator(;) comment(/* always convert T_DATA */) reserved(if) operator(()ident(TYPE)operator(()ident(val)operator(\)) operator(==) ident(type) operator(&&) ident(type) operator(!=) ident(T_DATA)operator(\)) reserved(return) ident(val)operator(;) ident(v) operator(=) ident(convert_type)operator(()ident(val)operator(,) ident(tname)operator(,) ident(method)operator(,) ident(Qfalse)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(v)operator(\)) operator(!=) ident(type)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(val)operator(\),) ident(method)operator(,) ident(tname)operator(\);) operator(}) reserved(return) ident(v)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_to_integer)operator(()ident(val)operator(,) ident(method)operator(\)) ident(VALUE) ident(val)operator(;) directive(const) pre_type(char) operator(*)ident(method)operator(;) operator({) ident(VALUE) ident(v) operator(=) ident(convert_type)operator(()ident(val)operator(,) stringoperator(,) ident(method)operator(,) ident(Qtrue)operator(\);) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(v)operator(,) ident(rb_cInteger)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(val)operator(\),) ident(method)operator(\);) operator(}) reserved(return) ident(v)operator(;) operator(}) ident(VALUE) ident(rb_to_int)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(return) ident(rb_to_integer)operator(()ident(val)operator(,) stringoperator(\);) operator(}) ident(VALUE) ident(rb_Integer)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) reserved(if) operator(()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value) operator(<=) operator(()pre_type(double)operator(\))ident(FIXNUM_MAX) operator(&&) ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value) operator(>=) operator(()pre_type(double)operator(\))ident(FIXNUM_MIN)operator(\)) operator({) reserved(break)operator(;) operator(}) reserved(return) ident(rb_dbl2big)operator(()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(\);) reserved(case) ident(T_FIXNUM)operator(:) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(val)operator(;) reserved(case) ident(T_STRING)operator(:) reserved(return) ident(rb_str_to_inum)operator(()ident(val)operator(,) integer(0)operator(,) ident(Qtrue)operator(\);) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(tmp) operator(=) ident(convert_type)operator(()ident(val)operator(,) stringoperator(,) stringoperator(,) ident(Qfalse)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(rb_to_integer)operator(()ident(val)operator(,) stringoperator(\);) operator(}) reserved(return) ident(tmp)operator(;) operator(}) comment(/* * call-seq: * Integer(arg\) => integer * * Converts arg to a Fixnum or Bignum. * Numeric types are converted directly (with floating point numbers * being truncated\). If arg is a String, leading * radix indicators (0, 0b, and * 0x\) are honored. Others are converted using * to_int and to_i. This behavior is * different from that of String#to_i. * * Integer(123.999\) #=> 123 * Integer("0x1a"\) #=> 26 * Integer(Time.new\) #=> 1049896590 */) directive(static) ident(VALUE) ident(rb_f_integer)operator(()ident(obj)operator(,) ident(arg)operator(\)) ident(VALUE) ident(obj)operator(,) ident(arg)operator(;) operator({) reserved(return) ident(rb_Integer)operator(()ident(arg)operator(\);) operator(}) pre_type(double) ident(rb_cstr_to_dbl)operator(()ident(p)operator(,) ident(badcheck)operator(\)) directive(const) pre_type(char) operator(*)ident(p)operator(;) pre_type(int) ident(badcheck)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(q)operator(;) pre_type(char) operator(*)ident(end)operator(;) pre_type(double) ident(d)operator(;) directive(const) pre_type(char) operator(*)ident(ellipsis) operator(=) stringoperator(;) pre_type(int) ident(w)operator(;) preprocessor(#define) ident(OutOfRange)operator((\)) operator(((()ident(w) operator(=) ident(end) operator(-) ident(p)operator(\)) operator(>) integer(20)operator(\)) operator(?) operator(()ident(w) operator(=) integer(20)operator(,) ident(ellipsis) operator(=) stringoperator(\)) operator(:) operator(()ident(ellipsis) operator(=) stringoperator(\)\)) reserved(if) operator((!)ident(p)operator(\)) reserved(return) float(0)float(.0)operator(;) ident(q) operator(=) ident(p)operator(;) reserved(if) operator(()ident(badcheck)operator(\)) operator({) reserved(while) operator(()ident(ISSPACE)operator((*)ident(p)operator(\)\)) ident(p)operator(++;) operator(}) reserved(else) operator({) reserved(while) operator(()ident(ISSPACE)operator((*)ident(p)operator(\)) operator(||) operator(*)ident(p) operator(==) char('_')operator(\)) ident(p)operator(++;) operator(}) ident(errno) operator(=) integer(0)operator(;) ident(d) operator(=) ident(strtod)operator(()ident(p)operator(,) operator(&)ident(end)operator(\);) reserved(if) operator(()ident(errno) operator(==) ident(ERANGE)operator(\)) operator({) ident(OutOfRange)operator((\);) ident(rb_warn)operator(()stringoperator(,) ident(w)operator(,) ident(p)operator(,) ident(ellipsis)operator(\);) ident(errno) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(p) operator(==) ident(end)operator(\)) operator({) reserved(if) operator(()ident(badcheck)operator(\)) operator({) label(bad:) ident(rb_invalid_str)operator(()ident(q)operator(,) stringoperator(\);) operator(}) reserved(return) ident(d)operator(;) operator(}) reserved(if) operator((*)ident(end)operator(\)) operator({) pre_type(char) operator(*)ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(p)operator(\)+)integer(1)operator(\);) pre_type(char) operator(*)ident(n) operator(=) ident(buf)operator(;) reserved(while) operator(()ident(p) operator(<) ident(end)operator(\)) operator(*)ident(n)operator(++) operator(=) operator(*)ident(p)operator(++;) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('_')operator(\)) operator({) comment(/* remove underscores between digits */) reserved(if) operator(()ident(badcheck)operator(\)) operator({) reserved(if) operator(()ident(n) operator(==) ident(buf) operator(||) operator(!)ident(ISDIGIT)operator(()ident(n)operator([-)integer(1)operator(]\)\)) reserved(goto) ident(bad)operator(;) operator(++)ident(p)operator(;) reserved(if) operator((!)ident(ISDIGIT)operator((*)ident(p)operator(\)\)) reserved(goto) ident(bad)operator(;) operator(}) reserved(else) operator({) reserved(while) operator((*++)ident(p) operator(==) char('_')operator(\);) reserved(continue)operator(;) operator(}) operator(}) operator(*)ident(n)operator(++) operator(=) operator(*)ident(p)operator(++;) operator(}) operator(*)ident(n) operator(=) char('\\0')operator(;) ident(p) operator(=) ident(buf)operator(;) ident(d) operator(=) ident(strtod)operator(()ident(p)operator(,) operator(&)ident(end)operator(\);) reserved(if) operator(()ident(errno) operator(==) ident(ERANGE)operator(\)) operator({) ident(OutOfRange)operator((\);) ident(rb_warn)operator(()stringoperator(,) ident(w)operator(,) ident(p)operator(,) ident(ellipsis)operator(\);) ident(errno) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(badcheck)operator(\)) operator({) reserved(if) operator((!)ident(end) operator(||) ident(p) operator(==) ident(end)operator(\)) reserved(goto) ident(bad)operator(;) reserved(while) operator((*)ident(end) operator(&&) ident(ISSPACE)operator((*)ident(end)operator(\)\)) ident(end)operator(++;) reserved(if) operator((*)ident(end)operator(\)) reserved(goto) ident(bad)operator(;) operator(}) operator(}) reserved(if) operator(()ident(errno) operator(==) ident(ERANGE)operator(\)) operator({) ident(errno) operator(=) integer(0)operator(;) ident(OutOfRange)operator((\);) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(w)operator(,) ident(q)operator(,) ident(ellipsis)operator(\);) operator(}) reserved(return) ident(d)operator(;) operator(}) pre_type(double) ident(rb_str_to_dbl)operator(()ident(str)operator(,) ident(badcheck)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(int) ident(badcheck)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) ident(StringValue)operator(()ident(str)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(s)operator(\)) operator({) reserved(if) operator(()ident(s)operator([)ident(len)operator(]\)) operator({) comment(/* no sentinel somehow */) pre_type(char) operator(*)ident(p) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len)operator(+)integer(1)operator(\);) ident(MEMCPY)operator(()ident(p)operator(,) ident(s)operator(,) pre_type(char)operator(,) ident(len)operator(\);) ident(p)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) ident(s) operator(=) ident(p)operator(;) operator(}) reserved(if) operator(()ident(badcheck) operator(&&) ident(len) operator(!=) ident(strlen)operator(()ident(s)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(return) ident(rb_cstr_to_dbl)operator(()ident(s)operator(,) ident(badcheck)operator(\);) operator(}) ident(VALUE) ident(rb_Float)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) reserved(return) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(FIX2LONG)operator(()ident(val)operator(\)\);) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(val)operator(;) reserved(case) ident(T_BIGNUM)operator(:) reserved(return) ident(rb_float_new)operator(()ident(rb_big2dbl)operator(()ident(val)operator(\)\);) reserved(case) ident(T_STRING)operator(:) reserved(return) ident(rb_float_new)operator(()ident(rb_str_to_dbl)operator(()ident(val)operator(,) ident(Qtrue)operator(\)\);) reserved(case) ident(T_NIL)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(default)operator(:) operator({) ident(VALUE) ident(f) operator(=) ident(rb_convert_type)operator(()ident(val)operator(,) ident(T_FLOAT)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator(()ident(isnan)operator(()ident(RFLOAT)operator(()ident(f)operator(\)->)ident(value)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(f)operator(;) operator(}) operator(}) operator(}) comment(/* * call-seq: * Float(arg\) => float * * Returns arg converted to a float. Numeric types are converted * directly, the rest are converted using arg.to_f. As of Ruby * 1.8, converting nil generates a TypeError. * * Float(1\) #=> 1.0 * Float("123.456"\) #=> 123.456 */) directive(static) ident(VALUE) ident(rb_f_float)operator(()ident(obj)operator(,) ident(arg)operator(\)) ident(VALUE) ident(obj)operator(,) ident(arg)operator(;) operator({) reserved(return) ident(rb_Float)operator(()ident(arg)operator(\);) operator(}) pre_type(double) ident(rb_num2dbl)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) reserved(return) ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(;) reserved(case) ident(T_STRING)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) ident(T_NIL)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(return) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(val)operator(\)\)->)ident(value)operator(;) operator(}) pre_type(char)operator(*) ident(rb_str2cstr)operator(()ident(str)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(long) operator(*)ident(len)operator(;) operator({) ident(StringValue)operator(()ident(str)operator(\);) reserved(if) operator(()ident(len)operator(\)) operator(*)ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(else) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)) operator(&&) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) reserved(return) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) operator(}) ident(VALUE) ident(rb_String)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(return) ident(rb_convert_type)operator(()ident(val)operator(,) ident(T_STRING)operator(,) stringoperator(,) stringoperator(\);) operator(}) comment(/* * call-seq: * String(arg\) => string * * Converts arg to a String by calling its * to_s method. * * String(self\) #=> "main" * String(self.class #=> "Object" * String(123456\) #=> "123456" */) directive(static) ident(VALUE) ident(rb_f_string)operator(()ident(obj)operator(,) ident(arg)operator(\)) ident(VALUE) ident(obj)operator(,) ident(arg)operator(;) operator({) reserved(return) ident(rb_String)operator(()ident(arg)operator(\);) operator(}) comment(#if 0 VALUE rb_Array(val\) VALUE val; { VALUE tmp = rb_check_array_type(val\); if (NIL_P(tmp\)\) { tmp = rb_check_convert_type(val, T_ARRAY, "Array", "to_a"\); if (NIL_P(tmp\)\) { return rb_ary_new3(1, val\); } } return tmp; } #endif) comment(/* * call-seq: * Array(arg\) => array * * Returns arg as an Array. First tries to call * arg.to_ary, then arg.to_a. * If both fail, creates a single element array containing arg * (unless arg is nil\). * * Array(1..5\) #=> [1, 2, 3, 4, 5] */) directive(static) ident(VALUE) ident(rb_f_array)operator(()ident(obj)operator(,) ident(arg)operator(\)) ident(VALUE) ident(obj)operator(,) ident(arg)operator(;) operator({) reserved(return) ident(rb_Array)operator(()ident(arg)operator(\);) operator(}) directive(static) ident(VALUE) ident(boot_defclass)operator(()ident(name)operator(,) ident(super)operator(\)) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(super)operator(;) operator({) directive(extern) ident(st_table) operator(*)ident(rb_class_tbl)operator(;) ident(VALUE) ident(obj) operator(=) ident(rb_class_boot)operator(()ident(super)operator(\);) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) ident(rb_name_class)operator(()ident(obj)operator(,) ident(id)operator(\);) ident(st_add_direct)operator(()ident(rb_class_tbl)operator(,) ident(id)operator(,) ident(obj)operator(\);) ident(rb_const_set)operator((()ident(rb_cObject) operator(?) ident(rb_cObject) operator(:) ident(obj)operator(\),) ident(id)operator(,) ident(obj)operator(\);) reserved(return) ident(obj)operator(;) operator(}) ident(VALUE) ident(ruby_top_self)operator(;) comment(/* * Document-class: Class * * Classes in Ruby are first-class objects---each is an instance of * class Class. * * When a new class is created (typically using class Name ... * end\), an object of type Class is created and * assigned to a global constant (Name in this case\). When * Name.new is called to create a new object, the * new method in Class is run by default. * This can be demonstrated by overriding new in * Class: * * class Class * alias oldNew new * def new(*args\) * print "Creating a new ", self.name, "\\n" * oldNew(*args\) * end * end * * * class Name * end * * * n = Name.new * * produces: * * Creating a new Name * * Classes, modules, and objects are interrelated. In the diagram * that follows, the vertical arrows represent inheritance, and the * parentheses meta-classes. All metaclasses are instances * of the class `Class'. * * +------------------+ * | | * Object---->(Object\) | * ^ ^ ^ ^ | * | | | | | * | | +-----+ +---------+ | * | | | | | * | +-----------+ | | * | | | | | * +------+ | Module--->(Module\) | * | | ^ ^ | * OtherClass-->(OtherClass\) | | | * | | | * Class---->(Class\) | * ^ | * | | * +----------------+ */) comment(/* * Object is the parent class of all classes in Ruby. Its * methods are therefore available to all objects unless explicitly * overridden. * * Object mixes in the Kernel module, making * the built-in kernel functions globally accessible. Although the * instance methods of Object are defined by the * Kernel module, we have chosen to document them here for * clarity. * * In the descriptions of Object's methods, the parameter symbol refers * to a symbol, which is either a quoted string or a * Symbol (such as :name\). */) directive(void) ident(Init_Object)operator((\)) operator({) ident(VALUE) ident(metaclass)operator(;) ident(rb_cObject) operator(=) ident(boot_defclass)operator(()stringoperator(,) integer(0)operator(\);) ident(rb_cModule) operator(=) ident(boot_defclass)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_cClass) operator(=) ident(boot_defclass)operator(()stringoperator(,) ident(rb_cModule)operator(\);) ident(metaclass) operator(=) ident(rb_make_metaclass)operator(()ident(rb_cObject)operator(,) ident(rb_cClass)operator(\);) ident(metaclass) operator(=) ident(rb_make_metaclass)operator(()ident(rb_cModule)operator(,) ident(metaclass)operator(\);) ident(metaclass) operator(=) ident(rb_make_metaclass)operator(()ident(rb_cClass)operator(,) ident(metaclass)operator(\);) ident(rb_mKernel) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_include_module)operator(()ident(rb_cObject)operator(,) ident(rb_mKernel)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cObject)operator(,) ident(rb_class_allocate_instance)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cObject)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(0)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cClass)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_false)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_pattern_match)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_id_obsolete)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_type)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_class)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_clone)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_dup)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_taint)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_tainted)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_untaint)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_freeze)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_frozen_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_any_to_a)operator(,) integer(0)operator(\);) comment(/* to be removed */) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_any_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_methods)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_singleton_methods)operator(,) operator(-)integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_protected_methods)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_private_methods)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_public_methods)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_instance_variables)operator(,) integer(0)operator(\);) comment(/* in variable.c */) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_ivar_get)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_ivar_set)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_ivar_defined)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_remove_instance_variable)operator(,) integer(1)operator(\);) comment(/* in variable.c */) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_is_instance_of)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_is_kind_of)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_is_kind_of)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_mKernel)operator(,) stringoperator(,) ident(rb_obj_dummy)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_sprintf)operator(,) operator(-)integer(1)operator(\);) comment(/* in sprintf.c */) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_sprintf)operator(,) operator(-)integer(1)operator(\);) comment(/* in sprintf.c */) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_integer)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_float)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_string)operator(,) integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_array)operator(,) integer(1)operator(\);) ident(rb_cNilClass) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(nil_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(nil_to_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(nil_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(nil_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(nil_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(false_and)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(false_or)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(false_xor)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cNilClass)operator(,) stringoperator(,) ident(rb_true)operator(,) integer(0)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cNilClass)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cNilClass)operator(\),) stringoperator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(Qnil)operator(\);) ident(rb_cSymbol) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(rb_sym_all_symbols)operator(,) integer(0)operator(\);) comment(/* in parse.y */) ident(rb_undef_alloc_func)operator(()ident(rb_cSymbol)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cSymbol)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(sym_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(sym_to_int)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(sym_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(sym_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(sym_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(sym_to_sym)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cSymbol)operator(,) stringoperator(,) ident(rb_obj_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_freeze)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_eqq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_obj_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) string)delimiter(")>operator(,) ident(rb_mod_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_lt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_class_inherited_p)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) string)delimiter(")>operator(,) ident(rb_mod_gt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) string=)delimiter(")>operator(,) ident(rb_mod_ge)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_init_copy)operator(,) integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_included_modules)operator(,) integer(0)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_include_p)operator(,) integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_name)operator(,) integer(0)operator(\);) comment(/* in variable.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_ancestors)operator(,) integer(0)operator(\);) comment(/* in class.c */) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_attr)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_attr_reader)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_attr_writer)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_attr_accessor)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cModule)operator(,) ident(rb_module_s_alloc)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_initialize)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_class_instance_methods)operator(,) operator(-)integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_class_public_instance_methods)operator(,) operator(-)integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_class_protected_instance_methods)operator(,) operator(-)integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_class_private_instance_methods)operator(,) operator(-)integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_cvar_defined)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_constants)operator(,) integer(0)operator(\);) comment(/* in variable.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_const_get)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_const_set)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_const_defined)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_remove_const)operator(,) integer(1)operator(\);) comment(/* in variable.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_const_missing)operator(,) integer(1)operator(\);) comment(/* in variable.c */) ident(rb_define_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_class_variables)operator(,) integer(0)operator(\);) comment(/* in variable.c */) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_remove_cvar)operator(,) integer(1)operator(\);) comment(/* in variable.c */) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_cvar_get)operator(,) integer(1)operator(\);) ident(rb_define_private_method)operator(()ident(rb_cModule)operator(,) stringoperator(,) ident(rb_mod_cvar_set)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cClass)operator(,) stringoperator(,) ident(rb_obj_alloc)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cClass)operator(,) stringoperator(,) ident(rb_class_new_instance)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cClass)operator(,) stringoperator(,) ident(rb_class_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cClass)operator(,) stringoperator(,) ident(rb_class_init_copy)operator(,) integer(1)operator(\);) comment(/* in class.c */) ident(rb_define_method)operator(()ident(rb_cClass)operator(,) stringoperator(,) ident(rb_class_superclass)operator(,) integer(0)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cClass)operator(,) ident(rb_class_s_alloc)operator(\);) ident(rb_undef_method)operator(()ident(rb_cClass)operator(,) stringoperator(\);) ident(rb_undef_method)operator(()ident(rb_cClass)operator(,) stringoperator(\);) ident(rb_cData) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cData)operator(\);) ident(rb_global_variable)operator((&)ident(ruby_top_self)operator(\);) ident(ruby_top_self) operator(=) ident(rb_obj_alloc)operator(()ident(rb_cObject)operator(\);) ident(rb_define_singleton_method)operator(()ident(ruby_top_self)operator(,) stringoperator(,) ident(main_to_s)operator(,) integer(0)operator(\);) ident(rb_cTrueClass) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_method)operator(()ident(rb_cTrueClass)operator(,) stringoperator(,) ident(true_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTrueClass)operator(,) stringoperator(,) ident(true_and)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTrueClass)operator(,) stringoperator(,) ident(true_or)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTrueClass)operator(,) stringoperator(,) ident(true_xor)operator(,) integer(1)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cTrueClass)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cTrueClass)operator(\),) stringoperator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(Qtrue)operator(\);) ident(rb_cFalseClass) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_method)operator(()ident(rb_cFalseClass)operator(,) stringoperator(,) ident(false_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cFalseClass)operator(,) stringoperator(,) ident(false_and)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFalseClass)operator(,) stringoperator(,) ident(false_or)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cFalseClass)operator(,) stringoperator(,) ident(false_xor)operator(,) integer(1)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cFalseClass)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cFalseClass)operator(\),) stringoperator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(Qfalse)operator(\);) ident(id_eq) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_eql) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_inspect) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_init_copy) operator(=) ident(rb_intern)operator(()stringoperator(\);) operator(}) comment(/********************************************************************** pack.c - $Author: shyouhei $ $Date: 2009-02-19 10:01:35 +0100 (Thu, 19 Feb 2009\) $ created at: Thu Feb 10 15:17:05 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#define) ident(SIZE16) integer(2) preprocessor(#define) ident(SIZE32) integer(4) preprocessor(#if) ident(SIZEOF_SHORT) operator(!=) integer(2) operator(||) ident(SIZEOF_LONG) operator(!=) integer(4) preprocessor(# define) ident(NATINT_PACK) preprocessor(#endif) preprocessor(#ifdef) ident(NATINT_PACK) preprocessor(# define) ident(OFF16B)operator(()ident(p)operator(\)) operator((()pre_type(char)operator(*\)()ident(p)operator(\)) operator(+) operator(()ident(natint)operator(?)integer(0)operator(:()reserved(sizeof)operator(()pre_type(short)operator(\)) operator(-) ident(SIZE16)operator(\)\)\)) preprocessor(# define) ident(OFF32B)operator(()ident(p)operator(\)) operator((()pre_type(char)operator(*\)()ident(p)operator(\)) operator(+) operator(()ident(natint)operator(?)integer(0)operator(:()reserved(sizeof)operator(()pre_type(long)operator(\)) operator(-) ident(SIZE32)operator(\)\)\)) preprocessor(# define) ident(NATINT_LEN)operator(()ident(type)operator(,)ident(len)operator(\)) operator(()ident(natint)operator(?)reserved(sizeof)operator(()ident(type)operator(\):()ident(len)operator(\)\)) preprocessor(# ifdef) ident(WORDS_BIGENDIAN) preprocessor(# define) ident(OFF16)operator(()ident(p)operator(\)) ident(OFF16B)operator(()ident(p)operator(\)) preprocessor(# define) ident(OFF32)operator(()ident(p)operator(\)) ident(OFF32B)operator(()ident(p)operator(\)) preprocessor(# endif) preprocessor(# define) ident(NATINT_HTOVS)operator(()ident(x)operator(\)) operator(()ident(natint)operator(?)ident(htovs)operator(()ident(x)operator(\):)ident(htov16)operator(()ident(x)operator(\)\)) preprocessor(# define) ident(NATINT_HTOVL)operator(()ident(x)operator(\)) operator(()ident(natint)operator(?)ident(htovl)operator(()ident(x)operator(\):)ident(htov32)operator(()ident(x)operator(\)\)) preprocessor(# define) ident(NATINT_HTONS)operator(()ident(x)operator(\)) operator(()ident(natint)operator(?)ident(htons)operator(()ident(x)operator(\):)ident(hton16)operator(()ident(x)operator(\)\)) preprocessor(# define) ident(NATINT_HTONL)operator(()ident(x)operator(\)) operator(()ident(natint)operator(?)ident(htonl)operator(()ident(x)operator(\):)ident(hton32)operator(()ident(x)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(NATINT_LEN)operator(()ident(type)operator(,)ident(len)operator(\)) reserved(sizeof)operator(()ident(type)operator(\)) preprocessor(# define) ident(NATINT_HTOVS)operator(()ident(x)operator(\)) ident(htovs)operator(()ident(x)operator(\)) preprocessor(# define) ident(NATINT_HTOVL)operator(()ident(x)operator(\)) ident(htovl)operator(()ident(x)operator(\)) preprocessor(# define) ident(NATINT_HTONS)operator(()ident(x)operator(\)) ident(htons)operator(()ident(x)operator(\)) preprocessor(# define) ident(NATINT_HTONL)operator(()ident(x)operator(\)) ident(htonl)operator(()ident(x)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(OFF16) preprocessor(# define) ident(OFF16)operator(()ident(p)operator(\)) operator(()pre_type(char)operator(*\)()ident(p)operator(\)) preprocessor(# define) ident(OFF32)operator(()ident(p)operator(\)) operator(()pre_type(char)operator(*\)()ident(p)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(OFF16B) preprocessor(# define) ident(OFF16B)operator(()ident(p)operator(\)) operator(()pre_type(char)operator(*\)()ident(p)operator(\)) preprocessor(# define) ident(OFF32B)operator(()ident(p)operator(\)) operator(()pre_type(char)operator(*\)()ident(p)operator(\)) preprocessor(#endif) preprocessor(#define) ident(define_swapx)operator(()ident(x)operator(,) ident(xtype)operator(\)) \ directive(static) ident(xtype) \ ident(TOKEN_PASTE)operator(()ident(swap)operator(,)ident(x)operator(\)()ident(z)operator(\)) \ ident(xtype) ident(z)operator(;) \ operator({) \ ident(xtype) ident(r)operator(;) \ ident(xtype) operator(*)ident(zp)operator(;) \ pre_type(unsigned) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(t)operator(;) \ pre_type(int) ident(i)operator(;) \ \ ident(zp) operator(=) ident(xmalloc)operator(()reserved(sizeof)operator(()ident(xtype)operator(\)\);) \ operator(*)ident(zp) operator(=) ident(z)operator(;) \ ident(s) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(zp)operator(;) \ ident(t) operator(=) ident(xmalloc)operator(()reserved(sizeof)operator(()ident(xtype)operator(\)\);) \ reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)reserved(sizeof)operator(()ident(xtype)operator(\);) ident(i)operator(++\)) operator({) \ ident(t)operator([)reserved(sizeof)operator(()ident(xtype)operator(\)-)ident(i)operator(-)integer(1)operator(]) operator(=) ident(s)operator([)ident(i)operator(];) \ operator(}) \ ident(r) operator(=) operator(*()ident(xtype) operator(*\))ident(t)operator(;) \ ident(free)operator(()ident(t)operator(\);) \ ident(free)operator(()ident(zp)operator(\);) \ reserved(return) ident(r)operator(;) \ operator(}) preprocessor(#ifndef) ident(swap16) preprocessor(#define) ident(swap16)operator(()ident(x)operator(\)) operator((((()ident(x)operator(\)&)hex(0xFF)operator(\)<<)integer(8)operator(\)) operator(|) operator(((()ident(x)operator(\)>>)integer(8)operator(\)&)hex(0xFF)operator(\)\)) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) integer(2) preprocessor(#define) ident(swaps)operator(()ident(x)operator(\)) ident(swap16)operator(()ident(x)operator(\)) preprocessor(#else) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) integer(4) preprocessor(#define) ident(swaps)operator(()ident(x)operator(\)) operator((((()ident(x)operator(\)&)hex(0xFF)operator(\)<<)integer(24)operator(\)) \ operator(|((()ident(x)operator(\)>>)integer(24)operator(\)&)hex(0xFF)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x0000FF00)operator(\)<<)integer(8)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x00FF0000)operator(\)>>)integer(8)operator(\)) operator(\)) preprocessor(#else) ident(define_swapx)operator(()ident(s)operator(,)pre_type(short)operator(\)) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifndef) ident(swap32) preprocessor(#define) ident(swap32)operator(()ident(x)operator(\)) operator((((()ident(x)operator(\)&)hex(0xFF)operator(\)<<)integer(24)operator(\)) \ operator(|((()ident(x)operator(\)>>)integer(24)operator(\)&)hex(0xFF)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x0000FF00)operator(\)<<)integer(8)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x00FF0000)operator(\)>>)integer(8)operator(\)) operator(\)) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_LONG) operator(==) integer(4) preprocessor(#define) ident(swapl)operator(()ident(x)operator(\)) ident(swap32)operator(()ident(x)operator(\)) preprocessor(#else) preprocessor(#if) ident(SIZEOF_LONG) operator(==) integer(8) preprocessor(#define) ident(swapl)operator(()ident(x)operator(\)) operator((((()ident(x)operator(\)&)hex(0x00000000000000FF)operator(\)<<)integer(56)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0xFF00000000000000)operator(\)>>)integer(56)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x000000000000FF00)operator(\)<<)integer(40)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x00FF000000000000)operator(\)>>)integer(40)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x0000000000FF0000)operator(\)<<)integer(24)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x0000FF0000000000)operator(\)>>)integer(24)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x00000000FF000000)operator(\)<<)integer(8)operator(\)) \ operator(|((()ident(x)operator(\)&)hex(0x000000FF00000000)operator(\)>>)integer(8)operator(\)\)) preprocessor(#else) ident(define_swapx)operator(()ident(l)operator(,)pre_type(long)operator(\)) preprocessor(#endif) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_FLOAT) operator(==) integer(4) preprocessor(#if) ident(SIZEOF_LONG) operator(==) integer(4) comment(/* SIZEOF_FLOAT == 4 == SIZEOF_LONG */) preprocessor(#define) ident(swapf)operator(()ident(x)operator(\)) ident(swapl)operator(()ident(x)operator(\)) preprocessor(#define) ident(FLOAT_SWAPPER) pre_type(unsigned) pre_type(long) preprocessor(#else) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) integer(4) comment(/* SIZEOF_FLOAT == 4 == SIZEOF_SHORT */) preprocessor(#define) ident(swapf)operator(()ident(x)operator(\)) ident(swaps)operator(()ident(x)operator(\)) preprocessor(#define) ident(FLOAT_SWAPPER) pre_type(unsigned) pre_type(short) preprocessor(#else) comment(/* SIZEOF_FLOAT == 4 but undivide by known size of int */) ident(define_swapx)operator(()ident(f)operator(,)pre_type(float)operator(\)) preprocessor(#endif) comment(/* #if SIZEOF_SHORT == 4 */) preprocessor(#endif) comment(/* #if SIZEOF_LONG == 4 */) preprocessor(#else) comment(/* SIZEOF_FLOAT != 4 */) ident(define_swapx)operator(()ident(f)operator(,)pre_type(float)operator(\)) preprocessor(#endif) comment(/* #if SIZEOF_FLOAT == 4 */) preprocessor(#if) ident(SIZEOF_DOUBLE) operator(==) integer(8) preprocessor(#if) ident(SIZEOF_LONG) operator(==) integer(8) comment(/* SIZEOF_DOUBLE == 8 == SIZEOF_LONG */) preprocessor(#define) ident(swapd)operator(()ident(x)operator(\)) ident(swapl)operator(()ident(x)operator(\)) preprocessor(#define) ident(DOUBLE_SWAPPER) pre_type(unsigned) pre_type(long) preprocessor(#else) preprocessor(#if) ident(SIZEOF_LONG) operator(==) integer(4) comment(/* SIZEOF_DOUBLE == 8 && 4 == SIZEOF_LONG */) directive(static) pre_type(double) ident(swapd)operator(()ident(d)operator(\)) directive(const) pre_type(double) ident(d)operator(;) operator({) pre_type(double) ident(dtmp) operator(=) ident(d)operator(;) pre_type(unsigned) pre_type(long) ident(utmp)operator([)integer(2)operator(];) pre_type(unsigned) pre_type(long) ident(utmp0)operator(;) ident(utmp)operator([)integer(0)operator(]) operator(=) integer(0)operator(;) ident(utmp)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(utmp)operator(,&)ident(dtmp)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) ident(utmp0) operator(=) ident(utmp)operator([)integer(0)operator(];) ident(utmp)operator([)integer(0)operator(]) operator(=) ident(swapl)operator(()ident(utmp)operator([)integer(1)operator(]\);) ident(utmp)operator([)integer(1)operator(]) operator(=) ident(swapl)operator(()ident(utmp0)operator(\);) ident(memcpy)operator((&)ident(dtmp)operator(,)ident(utmp)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) reserved(return) ident(dtmp)operator(;) operator(}) preprocessor(#else) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) integer(4) comment(/* SIZEOF_DOUBLE == 8 && 4 == SIZEOF_SHORT */) directive(static) pre_type(double) ident(swapd)operator(()ident(d)operator(\)) directive(const) pre_type(double) ident(d)operator(;) operator({) pre_type(double) ident(dtmp) operator(=) ident(d)operator(;) pre_type(unsigned) pre_type(short) ident(utmp)operator([)integer(2)operator(];) pre_type(unsigned) pre_type(short) ident(utmp0)operator(;) ident(utmp)operator([)integer(0)operator(]) operator(=) integer(0)operator(;) ident(utmp)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(utmp)operator(,&)ident(dtmp)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) ident(utmp0) operator(=) ident(utmp)operator([)integer(0)operator(];) ident(utmp)operator([)integer(0)operator(]) operator(=) ident(swaps)operator(()ident(utmp)operator([)integer(1)operator(]\);) ident(utmp)operator([)integer(1)operator(]) operator(=) ident(swaps)operator(()ident(utmp0)operator(\);) ident(memcpy)operator((&)ident(dtmp)operator(,)ident(utmp)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) reserved(return) ident(dtmp)operator(;) operator(}) preprocessor(#else) comment(/* SIZEOF_DOUBLE == 8 but undivied by known size of int */) ident(define_swapx)operator(()ident(d)operator(,) pre_type(double)operator(\)) preprocessor(#endif) comment(/* #if SIZEOF_SHORT == 4 */) preprocessor(#endif) comment(/* #if SIZEOF_LONG == 4 */) preprocessor(#endif) comment(/* #if SIZEOF_LONG == 8 */) preprocessor(#else) comment(/* SIZEOF_DOUBLE != 8 */) ident(define_swapx)operator(()ident(d)operator(,) pre_type(double)operator(\)) preprocessor(#endif) comment(/* #if SIZEOF_DOUBLE == 8 */) preprocessor(#undef) ident(define_swapx) preprocessor(#ifdef) ident(DYNAMIC_ENDIAN) preprocessor(#ifdef) ident(ntohs) preprocessor(#undef) ident(ntohs) preprocessor(#undef) ident(ntohl) preprocessor(#undef) ident(htons) preprocessor(#undef) ident(htonl) preprocessor(#endif) directive(static) pre_type(int) ident(endian)operator((\)) operator({) directive(static) pre_type(int) ident(init) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(endian_value)operator(;) pre_type(char) operator(*)ident(p)operator(;) reserved(if) operator(()ident(init)operator(\)) reserved(return) ident(endian_value)operator(;) ident(init) operator(=) integer(1)operator(;) ident(p) operator(=) operator(()pre_type(char)operator(*\)&)ident(init)operator(;) reserved(return) ident(endian_value) operator(=) ident(p)operator([)integer(0)operator(]?)integer(0)operator(:)integer(1)operator(;) operator(}) preprocessor(#define) ident(ntohs)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swaps)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(ntohl)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swapl)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(ntohf)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swapf)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(ntohd)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swapd)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(htons)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swaps)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(htonl)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swapl)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(htonf)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swapf)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(htond)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swapd)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(htovs)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swaps)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(htovl)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swapl)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(htovf)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swapf)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(htovd)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swapd)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(vtohs)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swaps)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(vtohl)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swapl)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(vtohf)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swapf)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(vtohd)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swapd)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(# ifdef) ident(NATINT_PACK) preprocessor(#define) ident(htov16)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swap16)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(htov32)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?)ident(swap32)operator(()ident(x)operator(\):()ident(x)operator(\)\)) preprocessor(#define) ident(hton16)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swap16)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(hton32)operator(()ident(x)operator(\)) operator(()ident(endian)operator((\)?()ident(x)operator(\):)ident(swap32)operator(()ident(x)operator(\)\)) preprocessor(# endif) preprocessor(#else) preprocessor(#ifdef) ident(WORDS_BIGENDIAN) preprocessor(#ifndef) ident(ntohs) preprocessor(#define) ident(ntohs)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(ntohl)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htons)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htonl)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#endif) preprocessor(#define) ident(ntohf)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(ntohd)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htonf)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htond)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htovs)operator(()ident(x)operator(\)) ident(swaps)operator(()ident(x)operator(\)) preprocessor(#define) ident(htovl)operator(()ident(x)operator(\)) ident(swapl)operator(()ident(x)operator(\)) preprocessor(#define) ident(htovf)operator(()ident(x)operator(\)) ident(swapf)operator(()ident(x)operator(\)) preprocessor(#define) ident(htovd)operator(()ident(x)operator(\)) ident(swapd)operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohs)operator(()ident(x)operator(\)) ident(swaps)operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohl)operator(()ident(x)operator(\)) ident(swapl)operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohf)operator(()ident(x)operator(\)) ident(swapf)operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohd)operator(()ident(x)operator(\)) ident(swapd)operator(()ident(x)operator(\)) preprocessor(# ifdef) ident(NATINT_PACK) preprocessor(#define) ident(htov16)operator(()ident(x)operator(\)) ident(swap16)operator(()ident(x)operator(\)) preprocessor(#define) ident(htov32)operator(()ident(x)operator(\)) ident(swap32)operator(()ident(x)operator(\)) preprocessor(#define) ident(hton16)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(hton32)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(# endif) preprocessor(#else) comment(/* LITTLE ENDIAN */) preprocessor(#ifdef) ident(ntohs) preprocessor(#undef) ident(ntohs) preprocessor(#undef) ident(ntohl) preprocessor(#undef) ident(htons) preprocessor(#undef) ident(htonl) preprocessor(#endif) preprocessor(#define) ident(ntohs)operator(()ident(x)operator(\)) ident(swaps)operator(()ident(x)operator(\)) preprocessor(#define) ident(ntohl)operator(()ident(x)operator(\)) ident(swapl)operator(()ident(x)operator(\)) preprocessor(#define) ident(htons)operator(()ident(x)operator(\)) ident(swaps)operator(()ident(x)operator(\)) preprocessor(#define) ident(htonl)operator(()ident(x)operator(\)) ident(swapl)operator(()ident(x)operator(\)) preprocessor(#define) ident(ntohf)operator(()ident(x)operator(\)) ident(swapf)operator(()ident(x)operator(\)) preprocessor(#define) ident(ntohd)operator(()ident(x)operator(\)) ident(swapd)operator(()ident(x)operator(\)) preprocessor(#define) ident(htonf)operator(()ident(x)operator(\)) ident(swapf)operator(()ident(x)operator(\)) preprocessor(#define) ident(htond)operator(()ident(x)operator(\)) ident(swapd)operator(()ident(x)operator(\)) preprocessor(#define) ident(htovs)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htovl)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htovf)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htovd)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohs)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohl)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohf)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(vtohd)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(# ifdef) ident(NATINT_PACK) preprocessor(#define) ident(htov16)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(htov32)operator(()ident(x)operator(\)) operator(()ident(x)operator(\)) preprocessor(#define) ident(hton16)operator(()ident(x)operator(\)) ident(swap16)operator(()ident(x)operator(\)) preprocessor(#define) ident(hton32)operator(()ident(x)operator(\)) ident(swap32)operator(()ident(x)operator(\)) preprocessor(# endif) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifdef) ident(FLOAT_SWAPPER) preprocessor(#define) ident(FLOAT_CONVWITH)operator(()ident(y)operator(\)) ident(FLOAT_SWAPPER) ident(y)operator(;) preprocessor(#define) ident(HTONF)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(y) operator(=) ident(htonf)operator((()ident(FLOAT_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(x)operator(\)) preprocessor(#define) ident(HTOVF)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(y) operator(=) ident(htovf)operator((()ident(FLOAT_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(x)operator(\)) preprocessor(#define) ident(NTOHF)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(y) operator(=) ident(ntohf)operator((()ident(FLOAT_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(x)operator(\)) preprocessor(#define) ident(VTOHF)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(y) operator(=) ident(vtohf)operator((()ident(FLOAT_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\),) \ ident(x)operator(\)) preprocessor(#else) preprocessor(#define) ident(FLOAT_CONVWITH)operator(()ident(y)operator(\)) preprocessor(#define) ident(HTONF)operator(()ident(x)operator(,)ident(y)operator(\)) ident(htonf)operator(()ident(x)operator(\)) preprocessor(#define) ident(HTOVF)operator(()ident(x)operator(,)ident(y)operator(\)) ident(htovf)operator(()ident(x)operator(\)) preprocessor(#define) ident(NTOHF)operator(()ident(x)operator(,)ident(y)operator(\)) ident(ntohf)operator(()ident(x)operator(\)) preprocessor(#define) ident(VTOHF)operator(()ident(x)operator(,)ident(y)operator(\)) ident(vtohf)operator(()ident(x)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(DOUBLE_SWAPPER) preprocessor(#define) ident(DOUBLE_CONVWITH)operator(()ident(y)operator(\)) ident(DOUBLE_SWAPPER) ident(y)operator(;) preprocessor(#define) ident(HTOND)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(y) operator(=) ident(htond)operator((()ident(DOUBLE_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(x)operator(\)) preprocessor(#define) ident(HTOVD)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(y) operator(=) ident(htovd)operator((()ident(DOUBLE_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(x)operator(\)) preprocessor(#define) ident(NTOHD)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(y) operator(=) ident(ntohd)operator((()ident(DOUBLE_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(x)operator(\)) preprocessor(#define) ident(VTOHD)operator(()ident(x)operator(,)ident(y)operator(\)) operator(()ident(memcpy)operator((&)ident(y)operator(,&)ident(x)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(y) operator(=) ident(vtohd)operator((()ident(DOUBLE_SWAPPER)operator(\))ident(y)operator(\),) \ ident(memcpy)operator((&)ident(x)operator(,&)ident(y)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\),) \ ident(x)operator(\)) preprocessor(#else) preprocessor(#define) ident(DOUBLE_CONVWITH)operator(()ident(y)operator(\)) preprocessor(#define) ident(HTOND)operator(()ident(x)operator(,)ident(y)operator(\)) ident(htond)operator(()ident(x)operator(\)) preprocessor(#define) ident(HTOVD)operator(()ident(x)operator(,)ident(y)operator(\)) ident(htovd)operator(()ident(x)operator(\)) preprocessor(#define) ident(NTOHD)operator(()ident(x)operator(,)ident(y)operator(\)) ident(ntohd)operator(()ident(x)operator(\)) preprocessor(#define) ident(VTOHD)operator(()ident(x)operator(,)ident(y)operator(\)) ident(vtohd)operator(()ident(x)operator(\)) preprocessor(#endif) pre_type(unsigned) pre_type(long) ident(rb_big2ulong_pack) ident(_)operator((()ident(VALUE) ident(x)operator(\)\);) directive(static) pre_type(unsigned) pre_type(long) ident(num2i32)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(x) operator(=) ident(rb_to_int)operator(()ident(x)operator(\);) comment(/* is nil OK? (should not\) */) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)\)) reserved(return) ident(FIX2LONG)operator(()ident(x)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(x)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) reserved(return) ident(rb_big2ulong_pack)operator(()ident(x)operator(\);) operator(}) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\)\);) reserved(return) integer(0)operator(;) comment(/* not reached */) operator(}) preprocessor(#if) ident(SIZEOF_LONG) operator(==) ident(SIZE32) preprocessor(# define) ident(EXTEND32)operator(()ident(x)operator(\)) preprocessor(#else) comment(/* invariant in modulo 1<<31 */) preprocessor(# define) ident(EXTEND32)operator(()ident(x)operator(\)) reserved(do) operator({) reserved(if) operator((!)ident(natint)operator(\)) operator({()ident(x)operator(\)) operator(=) operator(((()integer(1L)operator(<<)integer(31)operator(\)-)integer(1)operator(-()ident(x)operator(\)\)^~(~)integer(0L)operator(<<)integer(31)operator(\)\);}}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) ident(SIZE16) preprocessor(# define) ident(EXTEND16)operator(()ident(x)operator(\)) preprocessor(#else) preprocessor(# define) ident(EXTEND16)operator(()ident(x)operator(\)) reserved(do) operator({) reserved(if) operator((!)ident(natint)operator(\)) operator({()ident(x)operator(\)) operator(=) operator(()pre_type(short)operator(\)((()integer(1)operator(<<)integer(15)operator(\)-)integer(1)operator(-()ident(x)operator(\)\)^~(~)integer(0)operator(<<)integer(15)operator(\)\);}}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_LONG_LONG) preprocessor(# define) ident(QUAD_SIZE) reserved(sizeof)operator(()ident(LONG_LONG)operator(\)) preprocessor(#else) preprocessor(# define) ident(QUAD_SIZE) integer(8) preprocessor(#endif) directive(static) directive(const) pre_type(char) ident(toofew)operator([]) operator(=) stringoperator(;) directive(static) directive(void) ident(encodes) ident(_)operator((()ident(VALUE)operator(,)pre_type(char)operator(*,)pre_type(long)operator(,)pre_type(int)operator(\)\);) directive(static) directive(void) ident(qpencode) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(,)pre_type(long)operator(\)\);) directive(static) pre_type(int) ident(uv_to_utf8) ident(_)operator((()pre_type(char)operator(*,)pre_type(unsigned) pre_type(long)operator(\)\);) directive(static) pre_type(unsigned) pre_type(long) ident(utf8_to_uv) ident(_)operator((()pre_type(char)operator(*,)pre_type(long)operator(*\)\);) comment(/* * call-seq: * arr.pack ( aTemplateString \) -> aBinaryString * * Packs the contents of arr into a binary sequence according to * the directives in aTemplateString (see the table below\) * Directives ``A,'' ``a,'' and ``Z'' may be followed by a count, * which gives the width of the resulting field. The remaining * directives also may take a count, indicating the number of array * elements to convert. If the count is an asterisk * (``*''\), all remaining array elements will be * converted. Any of the directives ``sSiIlL'' may be * followed by an underscore (``_''\) to use the underlying * platform's native size for the specified type; otherwise, they use a * platform-independent size. Spaces are ignored in the template * string. See also String#unpack. * * a = [ "a", "b", "c" ] * n = [ 65, 66, 67 ] * a.pack("A3A3A3"\) #=> "a b c " * a.pack("a3a3a3"\) #=> "a\\000\\000b\\000\\000c\\000\\000" * n.pack("ccc"\) #=> "ABC" * * Directives for +pack+. * * Directive Meaning * --------------------------------------------------------------- * @ | Moves to absolute position * A | ASCII string (space padded, count is width\) * a | ASCII string (null padded, count is width\) * B | Bit string (descending bit order\) * b | Bit string (ascending bit order\) * C | Unsigned char * c | Char * D, d | Double-precision float, native format * E | Double-precision float, little-endian byte order * e | Single-precision float, little-endian byte order * F, f | Single-precision float, native format * G | Double-precision float, network (big-endian\) byte order * g | Single-precision float, network (big-endian\) byte order * H | Hex string (high nibble first\) * h | Hex string (low nibble first\) * I | Unsigned integer * i | Integer * L | Unsigned long * l | Long * M | Quoted printable, MIME encoding (see RFC2045\) * m | Base64 encoded string * N | Long, network (big-endian\) byte order * n | Short, network (big-endian\) byte-order * P | Pointer to a structure (fixed-length string\) * p | Pointer to a null-terminated string * Q, q | 64-bit number * S | Unsigned short * s | Short * U | UTF-8 * u | UU-encoded string * V | Long, little-endian byte order * v | Short, little-endian byte order * w | BER-compressed integer\\fnm * X | Back up a byte * x | Null byte * Z | Same as ``a'', except that null is added with * */) directive(static) ident(VALUE) ident(pack_pack)operator(()ident(ary)operator(,) ident(fmt)operator(\)) ident(VALUE) ident(ary)operator(,) ident(fmt)operator(;) operator({) directive(static) pre_type(char) operator(*)ident(nul10) operator(=) stringoperator(;) directive(static) pre_type(char) operator(*)ident(spc10) operator(=) stringoperator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) ident(VALUE) ident(res)operator(,) ident(from)operator(,) ident(associates) operator(=) integer(0)operator(;) pre_type(char) ident(type)operator(;) pre_type(long) ident(items)operator(,) ident(len)operator(,) ident(idx)operator(,) ident(plen)operator(;) pre_type(char) operator(*)ident(ptr)operator(;) preprocessor(#ifdef) ident(NATINT_PACK) pre_type(int) ident(natint)operator(;) comment(/* native integer */) preprocessor(#endif) ident(StringValue)operator(()ident(fmt)operator(\);) ident(p) operator(=) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(len)operator(;) ident(res) operator(=) ident(rb_str_buf_new)operator(()integer(0)operator(\);) ident(items) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(idx) operator(=) integer(0)operator(;) preprocessor(#define) ident(TOO_FEW) operator(()ident(rb_raise)operator(()ident(rb_eArgError)operator(,) ident(toofew)operator(\),) integer(0)operator(\)) preprocessor(#define) ident(THISFROM) operator(()ident(items) operator(>) integer(0) operator(?) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(idx)operator(]) operator(:) ident(TOO_FEW)operator(\)) preprocessor(#define) ident(NEXTFROM) operator(()ident(items)operator(--) operator(>) integer(0) operator(?) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(idx)operator(++]) operator(:) ident(TOO_FEW)operator(\)) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(len) operator(!=) ident(pend)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(type) operator(=) operator(*)ident(p)operator(++;) comment(/* get data type */) preprocessor(#ifdef) ident(NATINT_PACK) ident(natint) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator(()ident(ISSPACE)operator(()ident(type)operator(\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(type) operator(==) char('#')operator(\)) operator({) reserved(while) operator((()ident(p) operator(<) ident(pend)operator(\)) operator(&&) operator((*)ident(p) operator(!=) char('\\n')operator(\)\)) operator({) ident(p)operator(++;) operator(}) reserved(continue)operator(;) operator(}) reserved(if) operator((*)ident(p) operator(==) char('_') operator(||) operator(*)ident(p) operator(==) char('!')operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(natstr) operator(=) stringoperator(;) reserved(if) operator(()ident(strchr)operator(()ident(natstr)operator(,) ident(type)operator(\)\)) operator({) preprocessor(#ifdef) ident(NATINT_PACK) ident(natint) operator(=) integer(1)operator(;) preprocessor(#endif) ident(p)operator(++;) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) operator(*)ident(p)operator(,) ident(natstr)operator(\);) operator(}) operator(}) reserved(if) operator((*)ident(p) operator(==) char('*')operator(\)) operator({) comment(/* set data length */) ident(len) operator(=) ident(strchr)operator(()stringoperator(,) ident(type)operator(\)) operator(?) integer(0) operator(:) ident(strchr)operator(()stringoperator(,) ident(type)operator(\)) operator(?) integer(1) operator(:) ident(items)operator(;) ident(p)operator(++;) operator(}) reserved(else) reserved(if) operator(()ident(ISDIGIT)operator((*)ident(p)operator(\)\)) operator({) ident(len) operator(=) ident(strtoul)operator(()ident(p)operator(,) operator(()pre_type(char)operator(**\)&)ident(p)operator(,) integer(10)operator(\);) operator(}) reserved(else) operator({) ident(len) operator(=) integer(1)operator(;) operator(}) reserved(switch) operator(()ident(type)operator(\)) operator({) reserved(case) char('A')operator(:) reserved(case) char('a')operator(:) reserved(case) char('Z')operator(:) reserved(case) char('B')operator(:) reserved(case) char('b')operator(:) reserved(case) char('H')operator(:) reserved(case) char('h')operator(:) ident(from) operator(=) ident(NEXTFROM)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(from)operator(\)\)) operator({) ident(ptr) operator(=) stringoperator(;) ident(plen) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(StringValue)operator(()ident(from)operator(\);) ident(ptr) operator(=) ident(RSTRING)operator(()ident(from)operator(\)->)ident(ptr)operator(;) ident(plen) operator(=) ident(RSTRING)operator(()ident(from)operator(\)->)ident(len)operator(;) ident(OBJ_INFECT)operator(()ident(res)operator(,) ident(from)operator(\);) operator(}) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(==) char('*')operator(\)) ident(len) operator(=) ident(plen)operator(;) reserved(switch) operator(()ident(type)operator(\)) operator({) reserved(case) char('a')operator(:) comment(/* arbitrary binary string (null padded\) */) reserved(case) char('A')operator(:) comment(/* ASCII string (space padded\) */) reserved(case) char('Z')operator(:) comment(/* null terminated ASCII string */) reserved(if) operator(()ident(plen) operator(>=) ident(len)operator(\)) operator({) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(ptr)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(==) char('*') operator(&&) ident(type) operator(==) char('Z')operator(\)) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(nul10)operator(,) integer(1)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(ptr)operator(,) ident(plen)operator(\);) ident(len) operator(-=) ident(plen)operator(;) reserved(while) operator(()ident(len) operator(>=) integer(10)operator(\)) operator({) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()ident(type) operator(==) char('A')operator(\)?)ident(spc10)operator(:)ident(nul10)operator(,) integer(10)operator(\);) ident(len) operator(-=) integer(10)operator(;) operator(}) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()ident(type) operator(==) char('A')operator(\)?)ident(spc10)operator(:)ident(nul10)operator(,) ident(len)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('b')operator(:) comment(/* bit string (ascending\) */) operator({) pre_type(int) ident(byte) operator(=) integer(0)operator(;) pre_type(long) ident(i)operator(,) ident(j) operator(=) integer(0)operator(;) reserved(if) operator(()ident(len) operator(>) ident(plen)operator(\)) operator({) ident(j) operator(=) operator(()ident(len) operator(-) ident(plen) operator(+) integer(1)operator(\))operator(/)integer(2)operator(;) ident(len) operator(=) ident(plen)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(++) operator(<) ident(len)operator(;) ident(ptr)operator(++\)) operator({) reserved(if) operator((*)ident(ptr) operator(&) integer(1)operator(\)) ident(byte) operator(|=) integer(128)operator(;) reserved(if) operator(()ident(i) operator(&) integer(7)operator(\)) ident(byte) operator(>>=) integer(1)operator(;) reserved(else) operator({) pre_type(char) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) ident(byte) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(if) operator(()ident(len) operator(&) integer(7)operator(\)) operator({) pre_type(char) ident(c)operator(;) ident(byte) operator(>>=) integer(7) operator(-) operator(()ident(len) operator(&) integer(7)operator(\);) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) operator(}) ident(len) operator(=) ident(j)operator(;) reserved(goto) ident(grow)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('B')operator(:) comment(/* bit string (descending\) */) operator({) pre_type(int) ident(byte) operator(=) integer(0)operator(;) pre_type(long) ident(i)operator(,) ident(j) operator(=) integer(0)operator(;) reserved(if) operator(()ident(len) operator(>) ident(plen)operator(\)) operator({) ident(j) operator(=) operator(()ident(len) operator(-) ident(plen) operator(+) integer(1)operator(\))operator(/)integer(2)operator(;) ident(len) operator(=) ident(plen)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(++) operator(<) ident(len)operator(;) ident(ptr)operator(++\)) operator({) ident(byte) operator(|=) operator(*)ident(ptr) operator(&) integer(1)operator(;) reserved(if) operator(()ident(i) operator(&) integer(7)operator(\)) ident(byte) operator(<<=) integer(1)operator(;) reserved(else) operator({) pre_type(char) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) ident(byte) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(if) operator(()ident(len) operator(&) integer(7)operator(\)) operator({) pre_type(char) ident(c)operator(;) ident(byte) operator(<<=) integer(7) operator(-) operator(()ident(len) operator(&) integer(7)operator(\);) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) operator(}) ident(len) operator(=) ident(j)operator(;) reserved(goto) ident(grow)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('h')operator(:) comment(/* hex string (low nibble first\) */) operator({) pre_type(int) ident(byte) operator(=) integer(0)operator(;) pre_type(long) ident(i)operator(,) ident(j) operator(=) integer(0)operator(;) reserved(if) operator(()ident(len) operator(>) ident(plen)operator(\)) operator({) ident(j) operator(=) operator(()ident(len) operator(+) integer(1)operator(\)) operator(/) integer(2) operator(-) operator(()ident(plen) operator(+) integer(1)operator(\)) operator(/) integer(2)operator(;) ident(len) operator(=) ident(plen)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(++) operator(<) ident(len)operator(;) ident(ptr)operator(++\)) operator({) reserved(if) operator(()ident(ISALPHA)operator((*)ident(ptr)operator(\)\)) ident(byte) operator(|=) operator((((*)ident(ptr) operator(&) integer(15)operator(\)) operator(+) integer(9)operator(\)) operator(&) integer(15)operator(\)) operator(<<) integer(4)operator(;) reserved(else) ident(byte) operator(|=) operator((*)ident(ptr) operator(&) integer(15)operator(\)) operator(<<) integer(4)operator(;) reserved(if) operator(()ident(i) operator(&) integer(1)operator(\)) ident(byte) operator(>>=) integer(4)operator(;) reserved(else) operator({) pre_type(char) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) ident(byte) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(if) operator(()ident(len) operator(&) integer(1)operator(\)) operator({) pre_type(char) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) operator(}) ident(len) operator(=) ident(j)operator(;) reserved(goto) ident(grow)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('H')operator(:) comment(/* hex string (high nibble first\) */) operator({) pre_type(int) ident(byte) operator(=) integer(0)operator(;) pre_type(long) ident(i)operator(,) ident(j) operator(=) integer(0)operator(;) reserved(if) operator(()ident(len) operator(>) ident(plen)operator(\)) operator({) ident(j) operator(=) operator(()ident(len) operator(+) integer(1)operator(\)) operator(/) integer(2) operator(-) operator(()ident(plen) operator(+) integer(1)operator(\)) operator(/) integer(2)operator(;) ident(len) operator(=) ident(plen)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(++) operator(<) ident(len)operator(;) ident(ptr)operator(++\)) operator({) reserved(if) operator(()ident(ISALPHA)operator((*)ident(ptr)operator(\)\)) ident(byte) operator(|=) operator(((*)ident(ptr) operator(&) integer(15)operator(\)) operator(+) integer(9)operator(\)) operator(&) integer(15)operator(;) reserved(else) ident(byte) operator(|=) operator(*)ident(ptr) operator(&) integer(15)operator(;) reserved(if) operator(()ident(i) operator(&) integer(1)operator(\)) ident(byte) operator(<<=) integer(4)operator(;) reserved(else) operator({) pre_type(char) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) ident(byte) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(if) operator(()ident(len) operator(&) integer(1)operator(\)) operator({) pre_type(char) ident(c) operator(=) ident(byte) operator(&) hex(0xff)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) operator(}) ident(len) operator(=) ident(j)operator(;) reserved(goto) ident(grow)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('c')operator(:) comment(/* signed char */) reserved(case) char('C')operator(:) comment(/* unsigned char */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(char) ident(c)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(c) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) reserved(sizeof)operator(()pre_type(char)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('s')operator(:) comment(/* signed short */) reserved(case) char('S')operator(:) comment(/* unsigned short */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(short) ident(s)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(s) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF16)operator((&)ident(s)operator(\),) ident(NATINT_LEN)operator(()pre_type(short)operator(,)integer(2)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('i')operator(:) comment(/* signed int */) reserved(case) char('I')operator(:) comment(/* unsigned int */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(i)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(i) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF32)operator((&)ident(i)operator(\),) ident(NATINT_LEN)operator(()pre_type(int)operator(,)integer(4)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('l')operator(:) comment(/* signed long */) reserved(case) char('L')operator(:) comment(/* unsigned long */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(l)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(l) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF32)operator((&)ident(l)operator(\),) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('q')operator(:) comment(/* signed quad (64bit\) int */) reserved(case) char('Q')operator(:) comment(/* unsigned quad (64bit\) int */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(char) ident(tmp)operator([)ident(QUAD_SIZE)operator(];) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(rb_quad_pack)operator(()ident(tmp)operator(,) ident(from)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(tmp)operator(,) ident(QUAD_SIZE)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('n')operator(:) comment(/* unsigned short (network byte-order\) */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(s)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(s) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(s) operator(=) ident(NATINT_HTONS)operator(()ident(s)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF16)operator((&)ident(s)operator(\),) ident(NATINT_LEN)operator(()pre_type(short)operator(,)integer(2)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('N')operator(:) comment(/* unsigned long (network byte-order\) */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(l)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(l) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(l) operator(=) ident(NATINT_HTONL)operator(()ident(l)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF32)operator((&)ident(l)operator(\),) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('v')operator(:) comment(/* unsigned short (VAX byte-order\) */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(s)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(s) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(s) operator(=) ident(NATINT_HTOVS)operator(()ident(s)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF16)operator((&)ident(s)operator(\),) ident(NATINT_LEN)operator(()pre_type(short)operator(,)integer(2)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('V')operator(:) comment(/* unsigned long (VAX byte-order\) */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(l)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(l) operator(=) ident(num2i32)operator(()ident(from)operator(\);) ident(l) operator(=) ident(NATINT_HTOVL)operator(()ident(l)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(OFF32)operator((&)ident(l)operator(\),) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('f')operator(:) comment(/* single precision float in native format */) reserved(case) char('F')operator(:) comment(/* ditto */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(float) ident(f)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(f) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(from)operator(\)\)->)ident(value)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(f)operator(,) reserved(sizeof)operator(()pre_type(float)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('e')operator(:) comment(/* single precision float in VAX byte-order */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(float) ident(f)operator(;) ident(FLOAT_CONVWITH)operator(()ident(ftmp)operator(\);) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(f) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(from)operator(\)\)->)ident(value)operator(;) ident(f) operator(=) ident(HTOVF)operator(()ident(f)operator(,)ident(ftmp)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(f)operator(,) reserved(sizeof)operator(()pre_type(float)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('E')operator(:) comment(/* double precision float in VAX byte-order */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(double) ident(d)operator(;) ident(DOUBLE_CONVWITH)operator(()ident(dtmp)operator(\);) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(d) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(from)operator(\)\)->)ident(value)operator(;) ident(d) operator(=) ident(HTOVD)operator(()ident(d)operator(,)ident(dtmp)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(d)operator(,) reserved(sizeof)operator(()pre_type(double)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('d')operator(:) comment(/* double precision float in native format */) reserved(case) char('D')operator(:) comment(/* ditto */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(double) ident(d)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(d) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(from)operator(\)\)->)ident(value)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(d)operator(,) reserved(sizeof)operator(()pre_type(double)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('g')operator(:) comment(/* single precision float in network byte-order */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(float) ident(f)operator(;) ident(FLOAT_CONVWITH)operator(()ident(ftmp)operator(\);) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(f) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(from)operator(\)\)->)ident(value)operator(;) ident(f) operator(=) ident(HTONF)operator(()ident(f)operator(,)ident(ftmp)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(f)operator(,) reserved(sizeof)operator(()pre_type(float)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('G')operator(:) comment(/* double precision float in network byte-order */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(double) ident(d)operator(;) ident(DOUBLE_CONVWITH)operator(()ident(dtmp)operator(\);) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(d) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(from)operator(\)\)->)ident(value)operator(;) ident(d) operator(=) ident(HTOND)operator(()ident(d)operator(,)ident(dtmp)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(d)operator(,) reserved(sizeof)operator(()pre_type(double)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('x')operator(:) comment(/* null byte */) label(grow:) reserved(while) operator(()ident(len) operator(>=) integer(10)operator(\)) operator({) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(nul10)operator(,) integer(10)operator(\);) ident(len) operator(-=) integer(10)operator(;) operator(}) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(nul10)operator(,) ident(len)operator(\);) reserved(break)operator(;) reserved(case) char('X')operator(:) comment(/* back up byte */) label(shrink:) ident(plen) operator(=) ident(RSTRING)operator(()ident(res)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(plen) operator(<) ident(len)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(RSTRING)operator(()ident(res)operator(\)->)ident(len) operator(=) ident(plen) operator(-) ident(len)operator(;) ident(RSTRING)operator(()ident(res)operator(\)->)ident(ptr)operator([)ident(plen) operator(-) ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(break)operator(;) reserved(case) char('@')operator(:) comment(/* null fill to absolute position */) ident(len) operator(-=) ident(RSTRING)operator(()ident(res)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(>) integer(0)operator(\)) reserved(goto) ident(grow)operator(;) ident(len) operator(=) operator(-)ident(len)operator(;) reserved(if) operator(()ident(len) operator(>) integer(0)operator(\)) reserved(goto) ident(shrink)operator(;) reserved(break)operator(;) reserved(case) char('%')operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) char('U')operator(:) comment(/* Unicode character */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(l)operator(;) pre_type(char) ident(buf)operator([)integer(8)operator(];) pre_type(int) ident(le)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(from) operator(=) ident(rb_to_int)operator(()ident(from)operator(\);) ident(l) operator(=) ident(NUM2INT)operator(()ident(from)operator(\);) reserved(if) operator(()ident(l) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) ident(le) operator(=) ident(uv_to_utf8)operator(()ident(buf)operator(,) ident(l)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\))ident(buf)operator(,) ident(le)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('u')operator(:) comment(/* uuencoded string */) reserved(case) char('m')operator(:) comment(/* base64 encoded string */) ident(from) operator(=) ident(NEXTFROM)operator(;) ident(StringValue)operator(()ident(from)operator(\);) ident(ptr) operator(=) ident(RSTRING)operator(()ident(from)operator(\)->)ident(ptr)operator(;) ident(plen) operator(=) ident(RSTRING)operator(()ident(from)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(<=) integer(2)operator(\)) ident(len) operator(=) integer(45)operator(;) reserved(else) ident(len) operator(=) ident(len) operator(/) integer(3) operator(*) integer(3)operator(;) reserved(while) operator(()ident(plen) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(todo)operator(;) reserved(if) operator(()ident(plen) operator(>) ident(len)operator(\)) ident(todo) operator(=) ident(len)operator(;) reserved(else) ident(todo) operator(=) ident(plen)operator(;) ident(encodes)operator(()ident(res)operator(,) ident(ptr)operator(,) ident(todo)operator(,) ident(type)operator(\);) ident(plen) operator(-=) ident(todo)operator(;) ident(ptr) operator(+=) ident(todo)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('M')operator(:) comment(/* quoted-printable encoded string */) ident(from) operator(=) ident(rb_obj_as_string)operator(()ident(NEXTFROM)operator(\);) reserved(if) operator(()ident(len) operator(<=) integer(1)operator(\)) ident(len) operator(=) integer(72)operator(;) ident(qpencode)operator(()ident(res)operator(,) ident(from)operator(,) ident(len)operator(\);) reserved(break)operator(;) reserved(case) char('P')operator(:) comment(/* pointer to packed byte string */) ident(from) operator(=) ident(THISFROM)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(from)operator(\)\)) operator({) ident(StringValue)operator(()ident(from)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(from)operator(\)->)ident(len) operator(<) ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(from)operator(\)->)ident(len)operator(,) ident(len)operator(\);) operator(}) operator(}) ident(len) operator(=) integer(1)operator(;) comment(/* FALL THROUGH */) reserved(case) char('p')operator(:) comment(/* pointer to string */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(char) operator(*)ident(t)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(from)operator(\)\)) operator({) ident(t) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(t) operator(=) ident(StringValuePtr)operator(()ident(from)operator(\);) operator(}) reserved(if) operator((!)ident(associates)operator(\)) operator({) ident(associates) operator(=) ident(rb_ary_new)operator((\);) operator(}) ident(rb_ary_push)operator(()ident(associates)operator(,) ident(from)operator(\);) ident(rb_obj_taint)operator(()ident(from)operator(\);) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(()pre_type(char)operator(*\)&)ident(t)operator(,) reserved(sizeof)operator(()pre_type(char)operator(*\)\);) operator(}) reserved(break)operator(;) reserved(case) char('w')operator(:) comment(/* BER compressed integer */) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(ul)operator(;) ident(VALUE) ident(buf) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) pre_type(char) ident(c)operator(,) operator(*)ident(bufs)operator(,) operator(*)ident(bufe)operator(;) ident(from) operator(=) ident(NEXTFROM)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(from)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) ident(VALUE) ident(big128) operator(=) ident(rb_uint2big)operator(()integer(128)operator(\);) reserved(while) operator(()ident(TYPE)operator(()ident(from)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) operator({) ident(from) operator(=) ident(rb_big_divmod)operator(()ident(from)operator(,) ident(big128)operator(\);) ident(c) operator(=) ident(NUM2INT)operator(()ident(RARRAY)operator(()ident(from)operator(\)->)ident(ptr)operator([)integer(1)operator(]\)) operator(|) hex(0x80)operator(;) comment(/* mod */) ident(rb_str_buf_cat)operator(()ident(buf)operator(,) operator(&)ident(c)operator(,) reserved(sizeof)operator(()pre_type(char)operator(\)\);) ident(from) operator(=) ident(RARRAY)operator(()ident(from)operator(\)->)ident(ptr)operator([)integer(0)operator(];) comment(/* div */) operator(}) operator(}) operator({) pre_type(long) ident(l) operator(=) ident(NUM2LONG)operator(()ident(from)operator(\);) reserved(if) operator(()ident(l) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(ul) operator(=) ident(l)operator(;) operator(}) reserved(while) operator(()ident(ul)operator(\)) operator({) ident(c) operator(=) operator((()ident(ul) operator(&) hex(0x7f)operator(\)) operator(|) hex(0x80)operator(\);) ident(rb_str_buf_cat)operator(()ident(buf)operator(,) operator(&)ident(c)operator(,) reserved(sizeof)operator(()pre_type(char)operator(\)\);) ident(ul) operator(>>=) integer(7)operator(;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len)operator(\)) operator({) ident(bufs) operator(=) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(;) ident(bufe) operator(=) ident(bufs) operator(+) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len) operator(-) integer(1)operator(;) operator(*)ident(bufs) operator(&=) hex(0x7f)operator(;) comment(/* clear continue bit */) reserved(while) operator(()ident(bufs) operator(<) ident(bufe)operator(\)) operator({) comment(/* reverse */) ident(c) operator(=) operator(*)ident(bufs)operator(;) operator(*)ident(bufs)operator(++) operator(=) operator(*)ident(bufe)operator(;) operator(*)ident(bufe)operator(--) operator(=) ident(c)operator(;) operator(}) ident(rb_str_buf_cat)operator(()ident(res)operator(,) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len)operator(\);) operator(}) reserved(else) operator({) ident(c) operator(=) integer(0)operator(;) ident(rb_str_buf_cat)operator(()ident(res)operator(,) operator(&)ident(c)operator(,) reserved(sizeof)operator(()pre_type(char)operator(\)\);) operator(}) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(associates)operator(\)) operator({) ident(rb_str_associate)operator(()ident(res)operator(,) ident(associates)operator(\);) operator(}) ident(OBJ_INFECT)operator(()ident(res)operator(,) ident(fmt)operator(\);) reserved(return) ident(res)operator(;) operator(}) directive(static) pre_type(char) ident(uu_table)operator([]) operator(=) string?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[)char(\\\\)content(]^_)delimiter(")>operator(;) directive(static) pre_type(char) ident(b64_table)operator([]) operator(=) stringoperator(;) directive(static) directive(void) ident(encodes)operator(()ident(str)operator(,) ident(s)operator(,) ident(len)operator(,) ident(type)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(type)operator(;) operator({) pre_type(char) operator(*)ident(buff) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len) operator(*) integer(4) operator(/) integer(3) operator(+) integer(6)operator(\);) pre_type(long) ident(i) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(trans) operator(=) ident(type) operator(==) char('u') operator(?) ident(uu_table) operator(:) ident(b64_table)operator(;) pre_type(int) ident(padding)operator(;) reserved(if) operator(()ident(type) operator(==) char('u')operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(len) operator(+) char(' ')operator(;) ident(padding) operator(=) char('`')operator(;) operator(}) reserved(else) operator({) ident(padding) operator(=) char('=')operator(;) operator(}) reserved(while) operator(()ident(len) operator(>=) integer(3)operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator((*)ident(s) operator(>>) integer(2)operator(\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator((((*)ident(s) operator(<<) integer(4)operator(\)) operator(&) oct(060)operator(\)) operator(|) operator((()ident(s)operator([)integer(1)operator(]) operator(>>) integer(4)operator(\)) operator(&) oct(017)operator(\)\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator(((()ident(s)operator([)integer(1)operator(]) operator(<<) integer(2)operator(\)) operator(&) oct(074)operator(\)) operator(|) operator((()ident(s)operator([)integer(2)operator(]) operator(>>) integer(6)operator(\)) operator(&) oct(03)operator(\)\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) ident(s)operator([)integer(2)operator(]];) ident(s) operator(+=) integer(3)operator(;) ident(len) operator(-=) integer(3)operator(;) operator(}) reserved(if) operator(()ident(len) operator(==) integer(2)operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator((*)ident(s) operator(>>) integer(2)operator(\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator((((*)ident(s) operator(<<) integer(4)operator(\)) operator(&) oct(060)operator(\)) operator(|) operator((()ident(s)operator([)integer(1)operator(]) operator(>>) integer(4)operator(\)) operator(&) oct(017)operator(\)\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator(((()ident(s)operator([)integer(1)operator(]) operator(<<) integer(2)operator(\)) operator(&) oct(074)operator(\)) operator(|) operator((()char('\\0') operator(>>) integer(6)operator(\)) operator(&) oct(03)operator(\)\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(padding)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(len) operator(==) integer(1)operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator((*)ident(s) operator(>>) integer(2)operator(\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(trans)operator([)oct(077) operator(&) operator((((*)ident(s) operator(<<) integer(4)operator(\)) operator(&) oct(060)operator(\)) operator(|) operator((()char('\\0') operator(>>) integer(4)operator(\)) operator(&) oct(017)operator(\)\)];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(padding)operator(;) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(padding)operator(;) operator(}) ident(buff)operator([)ident(i)operator(++]) operator(=) char('\\n')operator(;) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(buff)operator(,) ident(i)operator(\);) operator(}) directive(static) pre_type(char) ident(hex_table)operator([]) operator(=) stringoperator(;) directive(static) directive(void) ident(qpencode)operator(()ident(str)operator(,) ident(from)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(,) ident(from)operator(;) pre_type(long) ident(len)operator(;) operator({) pre_type(char) ident(buff)operator([)integer(1024)operator(];) pre_type(long) ident(i) operator(=) integer(0)operator(,) ident(n) operator(=) integer(0)operator(,) ident(prev) operator(=) pre_constant(EOF)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(s) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(RSTRING)operator(()ident(from)operator(\)->)ident(ptr)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(from)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(((*)ident(s) operator(>) integer(126)operator(\)) operator(||) operator((*)ident(s) operator(<) integer(32) operator(&&) operator(*)ident(s) operator(!=) char('\\n') operator(&&) operator(*)ident(s) operator(!=) char('\\t')operator(\)) operator(||) operator((*)ident(s) operator(==) char('=')operator(\)\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) char('=')operator(;) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(hex_table)operator([*)ident(s) operator(>>) integer(4)operator(];) ident(buff)operator([)ident(i)operator(++]) operator(=) ident(hex_table)operator([*)ident(s) operator(&) hex(0x0f)operator(];) ident(n) operator(+=) integer(3)operator(;) ident(prev) operator(=) pre_constant(EOF)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(s) operator(==) char('\\n')operator(\)) operator({) reserved(if) operator(()ident(prev) operator(==) char(' ') operator(||) ident(prev) operator(==) char('\\t')operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) char('=')operator(;) ident(buff)operator([)ident(i)operator(++]) operator(=) operator(*)ident(s)operator(;) operator(}) ident(buff)operator([)ident(i)operator(++]) operator(=) operator(*)ident(s)operator(;) ident(n) operator(=) integer(0)operator(;) ident(prev) operator(=) operator(*)ident(s)operator(;) operator(}) reserved(else) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) operator(*)ident(s)operator(;) ident(n)operator(++;) ident(prev) operator(=) operator(*)ident(s)operator(;) operator(}) reserved(if) operator(()ident(n) operator(>) ident(len)operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) char('=')operator(;) ident(buff)operator([)ident(i)operator(++]) operator(=) char('\\n')operator(;) ident(n) operator(=) integer(0)operator(;) ident(prev) operator(=) char('\\n')operator(;) operator(}) reserved(if) operator(()ident(i) operator(>) integer(1024) operator(-) integer(5)operator(\)) operator({) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(buff)operator(,) ident(i)operator(\);) ident(i) operator(=) integer(0)operator(;) operator(}) ident(s)operator(++;) operator(}) reserved(if) operator(()ident(n) operator(>) integer(0)operator(\)) operator({) ident(buff)operator([)ident(i)operator(++]) operator(=) char('=')operator(;) ident(buff)operator([)ident(i)operator(++]) operator(=) char('\\n')operator(;) operator(}) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) operator({) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(buff)operator(,) ident(i)operator(\);) operator(}) operator(}) directive(static) directive(inline) pre_type(int) ident(hex2num)operator(()ident(c)operator(\)) pre_type(char) ident(c)operator(;) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) reserved(return) ident(c) operator(-) char('0')operator(;) reserved(case) char('a')operator(:) reserved(case) char('b')operator(:) reserved(case) char('c')operator(:) reserved(case) char('d')operator(:) reserved(case) char('e')operator(:) reserved(case) char('f')operator(:) reserved(return) ident(c) operator(-) char('a') operator(+) integer(10)operator(;) reserved(case) char('A')operator(:) reserved(case) char('B')operator(:) reserved(case) char('C')operator(:) reserved(case) char('D')operator(:) reserved(case) char('E')operator(:) reserved(case) char('F')operator(:) reserved(return) ident(c) operator(-) char('A') operator(+) integer(10)operator(;) reserved(default)operator(:) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) preprocessor(#define) ident(PACK_LENGTH_ADJUST_SIZE)operator(()ident(sz)operator(\)) reserved(do) operator({) \ ident(tmp) operator(=) integer(0)operator(;) \ reserved(if) operator(()ident(len) operator(>) operator(()ident(send)operator(-)ident(s)operator(\))operator(/)ident(sz)operator(\)) operator({) \ reserved(if) operator((!)ident(star)operator(\)) operator({) \ ident(tmp) operator(=) ident(len)operator(-()ident(send)operator(-)ident(s)operator(\))operator(/)ident(sz)operator(;) \ operator(}) \ ident(len) operator(=) operator(()ident(send)operator(-)ident(s)operator(\))operator(/)ident(sz)operator(;) \ operator(}) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#ifdef) ident(NATINT_PACK) preprocessor(#define) ident(PACK_LENGTH_ADJUST)operator(()ident(type)operator(,)ident(sz)operator(\)) reserved(do) operator({) \ pre_type(int) ident(t__len) operator(=) ident(NATINT_LEN)operator(()ident(type)operator(,()ident(sz)operator(\)\);) \ ident(PACK_LENGTH_ADJUST_SIZE)operator(()ident(t__len)operator(\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#else) preprocessor(#define) ident(PACK_LENGTH_ADJUST)operator(()ident(type)operator(,)ident(sz)operator(\)) \ ident(PACK_LENGTH_ADJUST_SIZE)operator(()reserved(sizeof)operator(()ident(type)operator(\)\)) preprocessor(#endif) preprocessor(#define) ident(PACK_ITEM_ADJUST)operator((\)) reserved(while) operator(()ident(tmp)operator(--\)) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(Qnil)operator(\)) directive(static) ident(VALUE) ident(infected_str_new)operator(()ident(ptr)operator(,) ident(len)operator(,) ident(str)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(s) operator(=) ident(rb_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\);) ident(OBJ_INFECT)operator(()ident(s)operator(,) ident(str)operator(\);) reserved(return) ident(s)operator(;) operator(}) comment(/* * call-seq: * str.unpack(format\) => anArray * * Decodes str (which may contain binary data\) according to the * format string, returning an array of each value extracted. The * format string consists of a sequence of single-character directives, * summarized in the table at the end of this entry. * Each directive may be followed * by a number, indicating the number of times to repeat with this * directive. An asterisk (``*''\) will use up all * remaining elements. The directives sSiIlL may each be * followed by an underscore (``_''\) to use the underlying * platform's native size for the specified type; otherwise, it uses a * platform-independent consistent size. Spaces are ignored in the * format string. See also Array#pack. * * "abc \\0\\0abc \\0\\0".unpack('A6Z6'\) #=> ["abc", "abc "] * "abc \\0\\0".unpack('a3a3'\) #=> ["abc", " \\000\\000"] * "abc \\0abc \\0".unpack('Z*Z*'\) #=> ["abc ", "abc "] * "aa".unpack('b8B8'\) #=> ["10000110", "01100001"] * "aaa".unpack('h2H2c'\) #=> ["16", "61", 97] * "\\xfe\\xff\\xfe\\xff".unpack('sS'\) #=> [-2, 65534] * "now=20is".unpack('M*'\) #=> ["now is"] * "whole".unpack('xax2aX2aX1aX2a'\) #=> ["h", "e", "l", "l", "o"] * * This table summarizes the various formats and the Ruby classes * returned by each. * * Format | Returns | Function * -------+---------+----------------------------------------- * A | String | with trailing nulls and spaces removed * -------+---------+----------------------------------------- * a | String | string * -------+---------+----------------------------------------- * B | String | extract bits from each character (msb first\) * -------+---------+----------------------------------------- * b | String | extract bits from each character (lsb first\) * -------+---------+----------------------------------------- * C | Fixnum | extract a character as an unsigned integer * -------+---------+----------------------------------------- * c | Fixnum | extract a character as an integer * -------+---------+----------------------------------------- * d,D | Float | treat sizeof(double\) characters as * | | a native double * -------+---------+----------------------------------------- * E | Float | treat sizeof(double\) characters as * | | a double in little-endian byte order * -------+---------+----------------------------------------- * e | Float | treat sizeof(float\) characters as * | | a float in little-endian byte order * -------+---------+----------------------------------------- * f,F | Float | treat sizeof(float\) characters as * | | a native float * -------+---------+----------------------------------------- * G | Float | treat sizeof(double\) characters as * | | a double in network byte order * -------+---------+----------------------------------------- * g | Float | treat sizeof(float\) characters as a * | | float in network byte order * -------+---------+----------------------------------------- * H | String | extract hex nibbles from each character * | | (most significant first\) * -------+---------+----------------------------------------- * h | String | extract hex nibbles from each character * | | (least significant first\) * -------+---------+----------------------------------------- * I | Integer | treat sizeof(int\) (modified by _\) * | | successive characters as an unsigned * | | native integer * -------+---------+----------------------------------------- * i | Integer | treat sizeof(int\) (modified by _\) * | | successive characters as a signed * | | native integer * -------+---------+----------------------------------------- * L | Integer | treat four (modified by _\) successive * | | characters as an unsigned native * | | long integer * -------+---------+----------------------------------------- * l | Integer | treat four (modified by _\) successive * | | characters as a signed native * | | long integer * -------+---------+----------------------------------------- * M | String | quoted-printable * -------+---------+----------------------------------------- * m | String | base64-encoded * -------+---------+----------------------------------------- * N | Integer | treat four characters as an unsigned * | | long in network byte order * -------+---------+----------------------------------------- * n | Fixnum | treat two characters as an unsigned * | | short in network byte order * -------+---------+----------------------------------------- * P | String | treat sizeof(char *\) characters as a * | | pointer, and return \\emph{len} characters * | | from the referenced location * -------+---------+----------------------------------------- * p | String | treat sizeof(char *\) characters as a * | | pointer to a null-terminated string * -------+---------+----------------------------------------- * Q | Integer | treat 8 characters as an unsigned * | | quad word (64 bits\) * -------+---------+----------------------------------------- * q | Integer | treat 8 characters as a signed * | | quad word (64 bits\) * -------+---------+----------------------------------------- * S | Fixnum | treat two (different if _ used\) * | | successive characters as an unsigned * | | short in native byte order * -------+---------+----------------------------------------- * s | Fixnum | Treat two (different if _ used\) * | | successive characters as a signed short * | | in native byte order * -------+---------+----------------------------------------- * U | Integer | UTF-8 characters as unsigned integers * -------+---------+----------------------------------------- * u | String | UU-encoded * -------+---------+----------------------------------------- * V | Fixnum | treat four characters as an unsigned * | | long in little-endian byte order * -------+---------+----------------------------------------- * v | Fixnum | treat two characters as an unsigned * | | short in little-endian byte order * -------+---------+----------------------------------------- * w | Integer | BER-compressed integer (see Array.pack\) * -------+---------+----------------------------------------- * X | --- | skip backward one character * -------+---------+----------------------------------------- * x | --- | skip forward one character * -------+---------+----------------------------------------- * Z | String | with trailing nulls removed * | | upto first null with * * -------+---------+----------------------------------------- * @ | --- | skip to the offset given by the * | | length argument * -------+---------+----------------------------------------- */) directive(static) ident(VALUE) ident(pack_unpack)operator(()ident(str)operator(,) ident(fmt)operator(\)) ident(VALUE) ident(str)operator(,) ident(fmt)operator(;) operator({) directive(static) pre_type(char) operator(*)ident(hexdigits) operator(=) stringoperator(;) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) ident(VALUE) ident(ary)operator(;) pre_type(char) ident(type)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(tmp)operator(,) ident(star)operator(;) preprocessor(#ifdef) ident(NATINT_PACK) pre_type(int) ident(natint)operator(;) comment(/* native integer */) preprocessor(#endif) ident(StringValue)operator(()ident(str)operator(\);) ident(StringValue)operator(()ident(fmt)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(p) operator(=) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(len)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) ident(type) operator(=) operator(*)ident(p)operator(++;) preprocessor(#ifdef) ident(NATINT_PACK) ident(natint) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator(()ident(ISSPACE)operator(()ident(type)operator(\)\)) reserved(continue)operator(;) reserved(if) operator(()ident(type) operator(==) char('#')operator(\)) operator({) reserved(while) operator((()ident(p) operator(<) ident(pend)operator(\)) operator(&&) operator((*)ident(p) operator(!=) char('\\n')operator(\)\)) operator({) ident(p)operator(++;) operator(}) reserved(continue)operator(;) operator(}) ident(star) operator(=) integer(0)operator(;) reserved(if) operator((*)ident(p) operator(==) char('_') operator(||) operator(*)ident(p) operator(==) char('!')operator(\)) operator({) pre_type(char) operator(*)ident(natstr) operator(=) stringoperator(;) reserved(if) operator(()ident(strchr)operator(()ident(natstr)operator(,) ident(type)operator(\)\)) operator({) preprocessor(#ifdef) ident(NATINT_PACK) ident(natint) operator(=) integer(1)operator(;) preprocessor(#endif) ident(p)operator(++;) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) operator(*)ident(p)operator(,) ident(natstr)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(p) operator(>=) ident(pend)operator(\)) ident(len) operator(=) integer(1)operator(;) reserved(else) reserved(if) operator((*)ident(p) operator(==) char('*')operator(\)) operator({) ident(star) operator(=) integer(1)operator(;) ident(len) operator(=) ident(send) operator(-) ident(s)operator(;) ident(p)operator(++;) operator(}) reserved(else) reserved(if) operator(()ident(ISDIGIT)operator((*)ident(p)operator(\)\)) operator({) ident(len) operator(=) ident(strtoul)operator(()ident(p)operator(,) operator(()pre_type(char)operator(**\)&)ident(p)operator(,) integer(10)operator(\);) operator(}) reserved(else) operator({) ident(len) operator(=) operator(()ident(type) operator(!=) char('@')operator(\);) operator(}) reserved(switch) operator(()ident(type)operator(\)) operator({) reserved(case) char('%')operator(:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) char('A')operator(:) reserved(if) operator(()ident(len) operator(>) ident(send) operator(-) ident(s)operator(\)) ident(len) operator(=) ident(send) operator(-) ident(s)operator(;) operator({) pre_type(long) ident(end) operator(=) ident(len)operator(;) pre_type(char) operator(*)ident(t) operator(=) ident(s) operator(+) ident(len) operator(-) integer(1)operator(;) reserved(while) operator(()ident(t) operator(>=) ident(s)operator(\)) operator({) reserved(if) operator((*)ident(t) operator(!=) char(' ') operator(&&) operator(*)ident(t) operator(!=) char('\\0')operator(\)) reserved(break)operator(;) ident(t)operator(--;) ident(len)operator(--;) operator(}) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(infected_str_new)operator(()ident(s)operator(,) ident(len)operator(,) ident(str)operator(\)\);) ident(s) operator(+=) ident(end)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('Z')operator(:) operator({) pre_type(char) operator(*)ident(t) operator(=) ident(s)operator(;) reserved(if) operator(()ident(len) operator(>) ident(send)operator(-)ident(s)operator(\)) ident(len) operator(=) ident(send)operator(-)ident(s)operator(;) reserved(while) operator(()ident(t) operator(<) ident(s)operator(+)ident(len) operator(&&) operator(*)ident(t)operator(\)) ident(t)operator(++;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(infected_str_new)operator(()ident(s)operator(,) ident(t)operator(-)ident(s)operator(,) ident(str)operator(\)\);) reserved(if) operator(()ident(t) operator(<) ident(send)operator(\)) ident(t)operator(++;) ident(s) operator(=) ident(star) operator(?) ident(t) operator(:) ident(s)operator(+)ident(len)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('a')operator(:) reserved(if) operator(()ident(len) operator(>) ident(send) operator(-) ident(s)operator(\)) ident(len) operator(=) ident(send) operator(-) ident(s)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(infected_str_new)operator(()ident(s)operator(,) ident(len)operator(,) ident(str)operator(\)\);) ident(s) operator(+=) ident(len)operator(;) reserved(break)operator(;) reserved(case) char('b')operator(:) operator({) ident(VALUE) ident(bitstr)operator(;) pre_type(char) operator(*)ident(t)operator(;) pre_type(int) ident(bits)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(==) char('*') operator(||) ident(len) operator(>) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(8)operator(\)) ident(len) operator(=) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(8)operator(;) ident(bits) operator(=) integer(0)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(bitstr) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\)\);) ident(t) operator(=) ident(RSTRING)operator(()ident(bitstr)operator(\)->)ident(ptr)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(i) operator(&) integer(7)operator(\)) ident(bits) operator(>>=) integer(1)operator(;) reserved(else) ident(bits) operator(=) operator(*)ident(s)operator(++;) operator(*)ident(t)operator(++) operator(=) operator(()ident(bits) operator(&) integer(1)operator(\)) operator(?) char('1') operator(:) char('0')operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) char('B')operator(:) operator({) ident(VALUE) ident(bitstr)operator(;) pre_type(char) operator(*)ident(t)operator(;) pre_type(int) ident(bits)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(==) char('*') operator(||) ident(len) operator(>) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(8)operator(\)) ident(len) operator(=) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(8)operator(;) ident(bits) operator(=) integer(0)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(bitstr) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\)\);) ident(t) operator(=) ident(RSTRING)operator(()ident(bitstr)operator(\)->)ident(ptr)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(i) operator(&) integer(7)operator(\)) ident(bits) operator(<<=) integer(1)operator(;) reserved(else) ident(bits) operator(=) operator(*)ident(s)operator(++;) operator(*)ident(t)operator(++) operator(=) operator(()ident(bits) operator(&) integer(128)operator(\)) operator(?) char('1') operator(:) char('0')operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) char('h')operator(:) operator({) ident(VALUE) ident(bitstr)operator(;) pre_type(char) operator(*)ident(t)operator(;) pre_type(int) ident(bits)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(==) char('*') operator(||) ident(len) operator(>) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(2)operator(\)) ident(len) operator(=) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(2)operator(;) ident(bits) operator(=) integer(0)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(bitstr) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\)\);) ident(t) operator(=) ident(RSTRING)operator(()ident(bitstr)operator(\)->)ident(ptr)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(i) operator(&) integer(1)operator(\)) ident(bits) operator(>>=) integer(4)operator(;) reserved(else) ident(bits) operator(=) operator(*)ident(s)operator(++;) operator(*)ident(t)operator(++) operator(=) ident(hexdigits)operator([)ident(bits) operator(&) integer(15)operator(];) operator(}) operator(}) reserved(break)operator(;) reserved(case) char('H')operator(:) operator({) ident(VALUE) ident(bitstr)operator(;) pre_type(char) operator(*)ident(t)operator(;) pre_type(int) ident(bits)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(==) char('*') operator(||) ident(len) operator(>) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(2)operator(\)) ident(len) operator(=) operator(()ident(send) operator(-) ident(s)operator(\)) operator(*) integer(2)operator(;) ident(bits) operator(=) integer(0)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(bitstr) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\)\);) ident(t) operator(=) ident(RSTRING)operator(()ident(bitstr)operator(\)->)ident(ptr)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(i) operator(&) integer(1)operator(\)) ident(bits) operator(<<=) integer(4)operator(;) reserved(else) ident(bits) operator(=) operator(*)ident(s)operator(++;) operator(*)ident(t)operator(++) operator(=) ident(hexdigits)operator([()ident(bits) operator(>>) integer(4)operator(\)) operator(&) integer(15)operator(];) operator(}) operator(}) reserved(break)operator(;) reserved(case) char('c')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(char)operator(,)reserved(sizeof)operator(()pre_type(char)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(int) ident(c) operator(=) operator(*)ident(s)operator(++;) reserved(if) operator(()ident(c) operator(>) operator(()pre_type(char)operator(\))integer(127)operator(\)) ident(c)operator(-=)integer(256)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(INT2FIX)operator(()ident(c)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('C')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(char)operator(,)reserved(sizeof)operator(()pre_type(unsigned) pre_type(char)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(char) ident(c) operator(=) operator(*)ident(s)operator(++;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(INT2FIX)operator(()ident(c)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('s')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(short)operator(,)integer(2)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(short) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF16)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(short)operator(,)integer(2)operator(\)\);) ident(EXTEND16)operator(()ident(tmp)operator(\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(short)operator(,)integer(2)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(INT2FIX)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('S')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF16)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\)\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(INT2FIX)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('i')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(int)operator(,)reserved(sizeof)operator(()pre_type(int)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(int) ident(tmp)operator(;) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(int)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(int)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(INT2NUM)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('I')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(int)operator(,)reserved(sizeof)operator(()pre_type(unsigned) pre_type(int)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(int) ident(tmp)operator(;) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(unsigned) pre_type(int)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(unsigned) pre_type(int)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(UINT2NUM)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('l')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(long)operator(,)integer(4)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF32)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\)\);) ident(EXTEND32)operator(()ident(tmp)operator(\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(LONG2NUM)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('L')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF32)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\)\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ULONG2NUM)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('q')operator(:) ident(PACK_LENGTH_ADJUST_SIZE)operator(()ident(QUAD_SIZE)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(char) operator(*)ident(tmp) operator(=) operator(()pre_type(char)operator(*\))ident(s)operator(;) ident(s) operator(+=) ident(QUAD_SIZE)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_quad_unpack)operator(()ident(tmp)operator(,) integer(1)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('Q')operator(:) ident(PACK_LENGTH_ADJUST_SIZE)operator(()ident(QUAD_SIZE)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(char) operator(*)ident(tmp) operator(=) operator(()pre_type(char)operator(*\))ident(s)operator(;) ident(s) operator(+=) ident(QUAD_SIZE)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_quad_unpack)operator(()ident(tmp)operator(,) integer(0)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('n')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF16B)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\)\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(UINT2NUM)operator(()ident(ntohs)operator(()ident(tmp)operator(\)\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('N')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF32B)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\)\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ULONG2NUM)operator(()ident(ntohl)operator(()ident(tmp)operator(\)\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('v')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF16)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\)\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(unsigned) pre_type(short)operator(,)integer(2)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(UINT2NUM)operator(()ident(vtohs)operator(()ident(tmp)operator(\)\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('V')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(unsigned) pre_type(long)operator(,)integer(4)operator(\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(tmp) operator(=) integer(0)operator(;) ident(memcpy)operator(()ident(OFF32)operator((&)ident(tmp)operator(\),) ident(s)operator(,) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\)\);) ident(s) operator(+=) ident(NATINT_LEN)operator(()pre_type(long)operator(,)integer(4)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ULONG2NUM)operator(()ident(vtohl)operator(()ident(tmp)operator(\)\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('f')operator(:) reserved(case) char('F')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(float)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(float) ident(tmp)operator(;) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(float)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(float)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('e')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(float)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(float) ident(tmp)operator(;) ident(FLOAT_CONVWITH)operator(()ident(ftmp)operator(\);) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(float)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(float)operator(\);) ident(tmp) operator(=) ident(VTOHF)operator(()ident(tmp)operator(,)ident(ftmp)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('E')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(double)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(double) ident(tmp)operator(;) ident(DOUBLE_CONVWITH)operator(()ident(dtmp)operator(\);) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(double)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(double)operator(\);) ident(tmp) operator(=) ident(VTOHD)operator(()ident(tmp)operator(,)ident(dtmp)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_float_new)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('D')operator(:) reserved(case) char('d')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(double)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(double) ident(tmp)operator(;) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(double)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(double)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_float_new)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('g')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(float)operator(,)reserved(sizeof)operator(()pre_type(float)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(float) ident(tmp)operator(;) ident(FLOAT_CONVWITH)operator(()ident(ftmp)operator(;\)) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(float)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(float)operator(\);) ident(tmp) operator(=) ident(NTOHF)operator(()ident(tmp)operator(,)ident(ftmp)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('G')operator(:) ident(PACK_LENGTH_ADJUST)operator(()pre_type(double)operator(,)reserved(sizeof)operator(()pre_type(double)operator(\)\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) pre_type(double) ident(tmp)operator(;) ident(DOUBLE_CONVWITH)operator(()ident(dtmp)operator(\);) ident(memcpy)operator((&)ident(tmp)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(double)operator(\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(double)operator(\);) ident(tmp) operator(=) ident(NTOHD)operator(()ident(tmp)operator(,)ident(dtmp)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_float_new)operator(()ident(tmp)operator(\)\);) operator(}) ident(PACK_ITEM_ADJUST)operator((\);) reserved(break)operator(;) reserved(case) char('U')operator(:) reserved(if) operator(()ident(len) operator(>) ident(send) operator(-) ident(s)operator(\)) ident(len) operator(=) ident(send) operator(-) ident(s)operator(;) reserved(while) operator(()ident(len) operator(>) integer(0) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator({) pre_type(long) ident(alen) operator(=) ident(send) operator(-) ident(s)operator(;) pre_type(unsigned) pre_type(long) ident(l)operator(;) ident(l) operator(=) ident(utf8_to_uv)operator(()ident(s)operator(,) operator(&)ident(alen)operator(\);) ident(s) operator(+=) ident(alen)operator(;) ident(len)operator(--;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ULONG2NUM)operator(()ident(l)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) char('u')operator(:) operator({) ident(VALUE) ident(buf) operator(=) ident(infected_str_new)operator(()integer(0)operator(,) operator(()ident(send) operator(-) ident(s)operator(\)*)integer(3)operator(/)integer(4)operator(,) ident(str)operator(\);) pre_type(char) operator(*)ident(ptr) operator(=) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(;) pre_type(long) ident(total) operator(=) integer(0)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send) operator(&&) operator(*)ident(s) operator(>) char(' ') operator(&&) operator(*)ident(s) operator(<) char('a')operator(\)) operator({) pre_type(long) ident(a)operator(,)ident(b)operator(,)ident(c)operator(,)ident(d)operator(;) pre_type(char) ident(hunk)operator([)integer(4)operator(];) ident(hunk)operator([)integer(3)operator(]) operator(=) char('\\0')operator(;) ident(len) operator(=) operator((*)ident(s)operator(++) operator(-) char(' ')operator(\)) operator(&) oct(077)operator(;) ident(total) operator(+=) ident(len)operator(;) reserved(if) operator(()ident(total) operator(>) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len)operator(\)) operator({) ident(len) operator(-=) ident(total) operator(-) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len)operator(;) ident(total) operator(=) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len)operator(;) operator(}) reserved(while) operator(()ident(len) operator(>) integer(0)operator(\)) operator({) pre_type(long) ident(mlen) operator(=) ident(len) operator(>) integer(3) operator(?) integer(3) operator(:) ident(len)operator(;) reserved(if) operator(()ident(s) operator(<) ident(send) operator(&&) operator(*)ident(s) operator(>=) char(' ')operator(\)) ident(a) operator(=) operator((*)ident(s)operator(++) operator(-) char(' ')operator(\)) operator(&) oct(077)operator(;) reserved(else) ident(a) operator(=) integer(0)operator(;) reserved(if) operator(()ident(s) operator(<) ident(send) operator(&&) operator(*)ident(s) operator(>=) char(' ')operator(\)) ident(b) operator(=) operator((*)ident(s)operator(++) operator(-) char(' ')operator(\)) operator(&) oct(077)operator(;) reserved(else) ident(b) operator(=) integer(0)operator(;) reserved(if) operator(()ident(s) operator(<) ident(send) operator(&&) operator(*)ident(s) operator(>=) char(' ')operator(\)) ident(c) operator(=) operator((*)ident(s)operator(++) operator(-) char(' ')operator(\)) operator(&) oct(077)operator(;) reserved(else) ident(c) operator(=) integer(0)operator(;) reserved(if) operator(()ident(s) operator(<) ident(send) operator(&&) operator(*)ident(s) operator(>=) char(' ')operator(\)) ident(d) operator(=) operator((*)ident(s)operator(++) operator(-) char(' ')operator(\)) operator(&) oct(077)operator(;) reserved(else) ident(d) operator(=) integer(0)operator(;) ident(hunk)operator([)integer(0)operator(]) operator(=) ident(a) operator(<<) integer(2) operator(|) ident(b) operator(>>) integer(4)operator(;) ident(hunk)operator([)integer(1)operator(]) operator(=) ident(b) operator(<<) integer(4) operator(|) ident(c) operator(>>) integer(2)operator(;) ident(hunk)operator([)integer(2)operator(]) operator(=) ident(c) operator(<<) integer(6) operator(|) ident(d)operator(;) ident(memcpy)operator(()ident(ptr)operator(,) ident(hunk)operator(,) ident(mlen)operator(\);) ident(ptr) operator(+=) ident(mlen)operator(;) ident(len) operator(-=) ident(mlen)operator(;) operator(}) reserved(if) operator((*)ident(s) operator(==) char('\\r')operator(\)) ident(s)operator(++;) reserved(if) operator((*)ident(s) operator(==) char('\\n')operator(\)) ident(s)operator(++;) reserved(else) reserved(if) operator(()ident(s) operator(<) ident(send) operator(&&) operator(()ident(s)operator(+)integer(1) operator(==) ident(send) operator(||) ident(s)operator([)integer(1)operator(]) operator(==) char('\\n')operator(\)\)) ident(s) operator(+=) integer(2)operator(;) comment(/* possible checksum byte */) operator(}) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator([)ident(total)operator(]) operator(=) char('\\0')operator(;) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len) operator(=) ident(total)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(buf)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('m')operator(:) operator({) ident(VALUE) ident(buf) operator(=) ident(infected_str_new)operator(()integer(0)operator(,) operator(()ident(send) operator(-) ident(s)operator(\)*)integer(3)operator(/)integer(4)operator(,) ident(str)operator(\);) pre_type(char) operator(*)ident(ptr) operator(=) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(;) pre_type(int) ident(a) operator(=) operator(-)integer(1)operator(,)ident(b) operator(=) operator(-)integer(1)operator(,)ident(c) operator(=) integer(0)operator(,)ident(d)operator(;) directive(static) pre_type(int) ident(first) operator(=) integer(1)operator(;) directive(static) pre_type(int) ident(b64_xtable)operator([)integer(256)operator(];) reserved(if) operator(()ident(first)operator(\)) operator({) pre_type(int) ident(i)operator(;) ident(first) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) integer(256)operator(;) ident(i)operator(++\)) operator({) ident(b64_xtable)operator([)ident(i)operator(]) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) integer(64)operator(;) ident(i)operator(++\)) operator({) ident(b64_xtable)operator([()pre_type(int)operator(\))ident(b64_table)operator([)ident(i)operator(]]) operator(=) ident(i)operator(;) operator(}) operator(}) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) ident(a) operator(=) ident(b) operator(=) ident(c) operator(=) ident(d) operator(=) operator(-)integer(1)operator(;) reserved(while)operator((()ident(a) operator(=) ident(b64_xtable)operator([()pre_type(int)operator(\)(*()pre_type(unsigned) pre_type(char)operator(*\))ident(s)operator(\)]\)) operator(==) operator(-)integer(1) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator({) ident(s)operator(++;) operator(}) reserved(if)operator(() ident(s) operator(>=) ident(send) operator(\)) reserved(break)operator(;) ident(s)operator(++;) reserved(while)operator((()ident(b) operator(=) ident(b64_xtable)operator([()pre_type(int)operator(\)(*()pre_type(unsigned) pre_type(char)operator(*\))ident(s)operator(\)]\)) operator(==) operator(-)integer(1) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator({) ident(s)operator(++;) operator(}) reserved(if)operator(() ident(s) operator(>=) ident(send) operator(\)) reserved(break)operator(;) ident(s)operator(++;) reserved(while)operator((()ident(c) operator(=) ident(b64_xtable)operator([()pre_type(int)operator(\)(*()pre_type(unsigned) pre_type(char)operator(*\))ident(s)operator(\)]\)) operator(==) operator(-)integer(1) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if)operator(() operator(*)ident(s) operator(==) char('=') operator(\)) reserved(break)operator(;) ident(s)operator(++;) operator(}) reserved(if)operator(() operator(*)ident(s) operator(==) char('=') operator(||) ident(s) operator(>=) ident(send) operator(\)) reserved(break)operator(;) ident(s)operator(++;) reserved(while)operator((()ident(d) operator(=) ident(b64_xtable)operator([()pre_type(int)operator(\)(*()pre_type(unsigned) pre_type(char)operator(*\))ident(s)operator(\)]\)) operator(==) operator(-)integer(1) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if)operator(() operator(*)ident(s) operator(==) char('=') operator(\)) reserved(break)operator(;) ident(s)operator(++;) operator(}) reserved(if)operator(() operator(*)ident(s) operator(==) char('=') operator(||) ident(s) operator(>=) ident(send) operator(\)) reserved(break)operator(;) ident(s)operator(++;) operator(*)ident(ptr)operator(++) operator(=) ident(a) operator(<<) integer(2) operator(|) ident(b) operator(>>) integer(4)operator(;) operator(*)ident(ptr)operator(++) operator(=) ident(b) operator(<<) integer(4) operator(|) ident(c) operator(>>) integer(2)operator(;) operator(*)ident(ptr)operator(++) operator(=) ident(c) operator(<<) integer(6) operator(|) ident(d)operator(;) operator(}) reserved(if) operator(()ident(a) operator(!=) operator(-)integer(1) operator(&&) ident(b) operator(!=) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1) operator(&&) operator(*)ident(s) operator(==) char('=')operator(\)) operator(*)ident(ptr)operator(++) operator(=) ident(a) operator(<<) integer(2) operator(|) ident(b) operator(>>) integer(4)operator(;) reserved(else) reserved(if) operator(()ident(c) operator(!=) operator(-)integer(1) operator(&&) operator(*)ident(s) operator(==) char('=')operator(\)) operator({) operator(*)ident(ptr)operator(++) operator(=) ident(a) operator(<<) integer(2) operator(|) ident(b) operator(>>) integer(4)operator(;) operator(*)ident(ptr)operator(++) operator(=) ident(b) operator(<<) integer(4) operator(|) ident(c) operator(>>) integer(2)operator(;) operator(}) operator(}) operator(*)ident(ptr) operator(=) char('\\0')operator(;) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len) operator(=) ident(ptr) operator(-) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(buf)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('M')operator(:) operator({) ident(VALUE) ident(buf) operator(=) ident(infected_str_new)operator(()integer(0)operator(,) ident(send) operator(-) ident(s)operator(,) ident(str)operator(\);) pre_type(char) operator(*)ident(ptr) operator(=) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(;) pre_type(int) ident(c1)operator(,) ident(c2)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator((*)ident(s) operator(==) char('=')operator(\)) operator({) reserved(if) operator((++)ident(s) operator(==) ident(send)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(s)operator(+)integer(1) operator(<) ident(send) operator(&&) operator(*)ident(s) operator(==) char('\\r') operator(&&) operator(*()ident(s)operator(+)integer(1)operator(\)) operator(==) char('\\n')operator(\)) ident(s)operator(++;) reserved(if) operator((*)ident(s) operator(!=) char('\\n')operator(\)) operator({) reserved(if) operator((()ident(c1) operator(=) ident(hex2num)operator((*)ident(s)operator(\)\)) operator(==) operator(-)integer(1)operator(\)) reserved(break)operator(;) reserved(if) operator((++)ident(s) operator(==) ident(send)operator(\)) reserved(break)operator(;) reserved(if) operator((()ident(c2) operator(=) ident(hex2num)operator((*)ident(s)operator(\)\)) operator(==) operator(-)integer(1)operator(\)) reserved(break)operator(;) operator(*)ident(ptr)operator(++) operator(=) ident(c1) operator(<<) integer(4) operator(|) ident(c2)operator(;) operator(}) operator(}) reserved(else) operator({) operator(*)ident(ptr)operator(++) operator(=) operator(*)ident(s)operator(;) operator(}) ident(s)operator(++;) operator(}) operator(*)ident(ptr) operator(=) char('\\0')operator(;) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(len) operator(=) ident(ptr) operator(-) ident(RSTRING)operator(()ident(buf)operator(\)->)ident(ptr)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(buf)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('@')operator(:) reserved(if) operator(()ident(len) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(len)operator(;) reserved(break)operator(;) reserved(case) char('X')operator(:) reserved(if) operator(()ident(len) operator(>) ident(s) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(s) operator(-=) ident(len)operator(;) reserved(break)operator(;) reserved(case) char('x')operator(:) reserved(if) operator(()ident(len) operator(>) ident(send) operator(-) ident(s)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(s) operator(+=) ident(len)operator(;) reserved(break)operator(;) reserved(case) char('P')operator(:) reserved(if) operator(()reserved(sizeof)operator(()pre_type(char) operator(*\)) operator(<=) ident(send) operator(-) ident(s)operator(\)) operator({) pre_type(char) operator(*)ident(t)operator(;) ident(VALUE) ident(tmp)operator(;) ident(memcpy)operator((&)ident(t)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(char) operator(*\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(char) operator(*\);) reserved(if) operator(()ident(t)operator(\)) operator({) ident(VALUE) ident(a)operator(,) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) reserved(if) operator((!()ident(a) operator(=) ident(rb_str_associated)operator(()ident(str)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(p) operator(=) ident(RARRAY)operator(()ident(a)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RARRAY)operator(()ident(a)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator((*)ident(p)operator(\)) operator(==) ident(T_STRING) operator(&&) ident(RSTRING)operator((*)ident(p)operator(\)->)ident(ptr) operator(==) ident(t)operator(\)) operator({) reserved(if) operator(()ident(len) operator(<) ident(RSTRING)operator((*)ident(p)operator(\)->)ident(len)operator(\)) operator({) ident(tmp) operator(=) ident(rb_tainted_str_new)operator(()ident(t)operator(,) ident(len)operator(\);) ident(rb_str_associate)operator(()ident(tmp)operator(,) ident(a)operator(\);) operator(}) reserved(else) operator({) ident(tmp) operator(=) operator(*)ident(p)operator(;) operator(}) reserved(break)operator(;) operator(}) ident(p)operator(++;) operator(}) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(tmp) operator(=) ident(Qnil)operator(;) operator(}) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(tmp)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('p')operator(:) reserved(if) operator(()ident(len) operator(>) operator(()ident(send) operator(-) ident(s)operator(\)) operator(/) reserved(sizeof)operator(()pre_type(char) operator(*\)\)) ident(len) operator(=) operator(()ident(send) operator(-) ident(s)operator(\)) operator(/) reserved(sizeof)operator(()pre_type(char) operator(*\);) reserved(while) operator(()ident(len)operator(--) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(send) operator(-) ident(s) operator(<) reserved(sizeof)operator(()pre_type(char) operator(*\)\)) reserved(break)operator(;) reserved(else) operator({) ident(VALUE) ident(tmp)operator(;) pre_type(char) operator(*)ident(t)operator(;) ident(memcpy)operator((&)ident(t)operator(,) ident(s)operator(,) reserved(sizeof)operator(()pre_type(char) operator(*\)\);) ident(s) operator(+=) reserved(sizeof)operator(()pre_type(char) operator(*\);) reserved(if) operator(()ident(t)operator(\)) operator({) ident(VALUE) ident(a)operator(,) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) reserved(if) operator((!()ident(a) operator(=) ident(rb_str_associated)operator(()ident(str)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(p) operator(=) ident(RARRAY)operator(()ident(a)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RARRAY)operator(()ident(a)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator((*)ident(p)operator(\)) operator(==) ident(T_STRING) operator(&&) ident(RSTRING)operator((*)ident(p)operator(\)->)ident(ptr) operator(==) ident(t)operator(\)) operator({) ident(tmp) operator(=) operator(*)ident(p)operator(;) reserved(break)operator(;) operator(}) ident(p)operator(++;) operator(}) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(tmp) operator(=) ident(Qnil)operator(;) operator(}) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(tmp)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) char('w')operator(:) operator({) pre_type(unsigned) pre_type(long) ident(ul) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(long) ident(ulmask) operator(=) hex(0xfe)ident(UL) operator(<<) operator((()reserved(sizeof)operator(()pre_type(unsigned) pre_type(long)operator(\)) operator(-) integer(1)operator(\)) operator(*) integer(8)operator(\);) reserved(while) operator(()ident(len) operator(>) integer(0) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator({) ident(ul) operator(<<=) integer(7)operator(;) ident(ul) operator(|=) operator((*)ident(s) operator(&) hex(0x7f)operator(\);) reserved(if) operator((!(*)ident(s)operator(++) operator(&) hex(0x80)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ULONG2NUM)operator(()ident(ul)operator(\)\);) ident(len)operator(--;) ident(ul) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ul) operator(&) ident(ulmask)operator(\)) operator({) ident(VALUE) ident(big) operator(=) ident(rb_uint2big)operator(()ident(ul)operator(\);) ident(VALUE) ident(big128) operator(=) ident(rb_uint2big)operator(()integer(128)operator(\);) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) ident(big) operator(=) ident(rb_big_mul)operator(()ident(big)operator(,) ident(big128)operator(\);) ident(big) operator(=) ident(rb_big_plus)operator(()ident(big)operator(,) ident(rb_uint2big)operator((*)ident(s) operator(&) hex(0x7f)operator(\)\);) reserved(if) operator((!(*)ident(s)operator(++) operator(&) hex(0x80)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(big)operator(\);) ident(len)operator(--;) ident(ul) operator(=) integer(0)operator(;) reserved(break)operator(;) operator(}) operator(}) operator(}) operator(}) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) preprocessor(#define) ident(BYTEWIDTH) integer(8) directive(static) pre_type(int) ident(uv_to_utf8)operator(()ident(buf)operator(,) ident(uv)operator(\)) pre_type(char) operator(*)ident(buf)operator(;) pre_type(unsigned) pre_type(long) ident(uv)operator(;) operator({) reserved(if) operator(()ident(uv) operator(<=) hex(0x7f)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator(()pre_type(char)operator(\))ident(uv)operator(;) reserved(return) integer(1)operator(;) operator(}) reserved(if) operator(()ident(uv) operator(<=) hex(0x7ff)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(6)operator(\)&)hex(0xff)operator(\)|)hex(0xc0)operator(;) ident(buf)operator([)integer(1)operator(]) operator(=) operator(()ident(uv)operator(&)hex(0x3f)operator(\)|)hex(0x80)operator(;) reserved(return) integer(2)operator(;) operator(}) reserved(if) operator(()ident(uv) operator(<=) hex(0xffff)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(12)operator(\)&)hex(0xff)operator(\)|)hex(0xe0)operator(;) ident(buf)operator([)integer(1)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(6)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(2)operator(]) operator(=) operator(()ident(uv)operator(&)hex(0x3f)operator(\)|)hex(0x80)operator(;) reserved(return) integer(3)operator(;) operator(}) reserved(if) operator(()ident(uv) operator(<=) hex(0x1fffff)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(18)operator(\)&)hex(0xff)operator(\)|)hex(0xf0)operator(;) ident(buf)operator([)integer(1)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(12)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(2)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(6)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(3)operator(]) operator(=) operator(()ident(uv)operator(&)hex(0x3f)operator(\)|)hex(0x80)operator(;) reserved(return) integer(4)operator(;) operator(}) reserved(if) operator(()ident(uv) operator(<=) hex(0x3ffffff)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(24)operator(\)&)hex(0xff)operator(\)|)hex(0xf8)operator(;) ident(buf)operator([)integer(1)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(18)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(2)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(12)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(3)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(6)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(4)operator(]) operator(=) operator(()ident(uv)operator(&)hex(0x3f)operator(\)|)hex(0x80)operator(;) reserved(return) integer(5)operator(;) operator(}) reserved(if) operator(()ident(uv) operator(<=) hex(0x7fffffff)operator(\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(30)operator(\)&)hex(0xff)operator(\)|)hex(0xfc)operator(;) ident(buf)operator([)integer(1)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(24)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(2)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(18)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(3)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(12)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(4)operator(]) operator(=) operator((()ident(uv)operator(>>)integer(6)operator(\)&)hex(0x3f)operator(\)|)hex(0x80)operator(;) ident(buf)operator([)integer(5)operator(]) operator(=) operator(()ident(uv)operator(&)hex(0x3f)operator(\)|)hex(0x80)operator(;) reserved(return) integer(6)operator(;) operator(}) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) directive(static) directive(const) pre_type(unsigned) pre_type(long) ident(utf8_limits)operator([]) operator(=) operator({) hex(0x0)operator(,) comment(/* 1 */) hex(0x80)operator(,) comment(/* 2 */) hex(0x800)operator(,) comment(/* 3 */) hex(0x10000)operator(,) comment(/* 4 */) hex(0x200000)operator(,) comment(/* 5 */) hex(0x4000000)operator(,) comment(/* 6 */) hex(0x80000000)operator(,) comment(/* 7 */) operator(};) directive(static) pre_type(unsigned) pre_type(long) ident(utf8_to_uv)operator(()ident(p)operator(,) ident(lenp)operator(\)) pre_type(char) operator(*)ident(p)operator(;) pre_type(long) operator(*)ident(lenp)operator(;) operator({) pre_type(int) ident(c) operator(=) operator(*)ident(p)operator(++) operator(&) hex(0xff)operator(;) pre_type(unsigned) pre_type(long) ident(uv) operator(=) ident(c)operator(;) pre_type(long) ident(n)operator(;) reserved(if) operator((!()ident(uv) operator(&) hex(0x80)operator(\)\)) operator({) operator(*)ident(lenp) operator(=) integer(1)operator(;) reserved(return) ident(uv)operator(;) operator(}) reserved(if) operator((!()ident(uv) operator(&) hex(0x40)operator(\)\)) operator({) operator(*)ident(lenp) operator(=) integer(1)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!()ident(uv) operator(&) hex(0x20)operator(\)\)) operator({) ident(n) operator(=) integer(2)operator(;) ident(uv) operator(&=) hex(0x1f)operator(;) operator(}) reserved(else) reserved(if) operator((!()ident(uv) operator(&) hex(0x10)operator(\)\)) operator({) ident(n) operator(=) integer(3)operator(;) ident(uv) operator(&=) hex(0x0f)operator(;) operator(}) reserved(else) reserved(if) operator((!()ident(uv) operator(&) hex(0x08)operator(\)\)) operator({) ident(n) operator(=) integer(4)operator(;) ident(uv) operator(&=) hex(0x07)operator(;) operator(}) reserved(else) reserved(if) operator((!()ident(uv) operator(&) hex(0x04)operator(\)\)) operator({) ident(n) operator(=) integer(5)operator(;) ident(uv) operator(&=) hex(0x03)operator(;) operator(}) reserved(else) reserved(if) operator((!()ident(uv) operator(&) hex(0x02)operator(\)\)) operator({) ident(n) operator(=) integer(6)operator(;) ident(uv) operator(&=) hex(0x01)operator(;) operator(}) reserved(else) operator({) operator(*)ident(lenp) operator(=) integer(1)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(n) operator(>) operator(*)ident(lenp)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(n)operator(,) operator(*)ident(lenp)operator(\);) operator(}) operator(*)ident(lenp) operator(=) ident(n)operator(--;) reserved(if) operator(()ident(n) operator(!=) integer(0)operator(\)) operator({) reserved(while) operator(()ident(n)operator(--\)) operator({) ident(c) operator(=) operator(*)ident(p)operator(++) operator(&) hex(0xff)operator(;) reserved(if) operator((()ident(c) operator(&) hex(0xc0)operator(\)) operator(!=) hex(0x80)operator(\)) operator({) operator(*)ident(lenp) operator(-=) ident(n) operator(+) integer(1)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(else) operator({) ident(c) operator(&=) hex(0x3f)operator(;) ident(uv) operator(=) ident(uv) operator(<<) integer(6) operator(|) ident(c)operator(;) operator(}) operator(}) operator(}) ident(n) operator(=) operator(*)ident(lenp) operator(-) integer(1)operator(;) reserved(if) operator(()ident(uv) operator(<) ident(utf8_limits)operator([)ident(n)operator(]\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(uv)operator(;) operator(}) directive(void) ident(Init_pack)operator((\)) operator({) ident(rb_define_method)operator(()ident(rb_cArray)operator(,) stringoperator(,) ident(pack_pack)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(pack_unpack)operator(,) integer(1)operator(\);) operator(}) comment(/* A Bison parser, made by GNU Bison 2.3. */) comment(/* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C\) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option\) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */) comment(/* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option\) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */) comment(/* C LALR(1\) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */) comment(/* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */) comment(/* Identify Bison output. */) preprocessor(#define) ident(YYBISON) integer(1) comment(/* Bison version. */) preprocessor(#define) ident(YYBISON_VERSION) string comment(/* Skeleton name. */) preprocessor(#define) ident(YYSKELETON_NAME) string comment(/* Pure parsers. */) preprocessor(#define) ident(YYPURE) integer(0) comment(/* Using locations. */) preprocessor(#define) ident(YYLSP_NEEDED) integer(0) comment(/* Tokens. */) preprocessor(#ifndef) ident(YYTOKENTYPE) preprocessor(# define) ident(YYTOKENTYPE) comment(/* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */) reserved(enum) ident(yytokentype) operator({) ident(kCLASS) operator(=) integer(258)operator(,) ident(kMODULE) operator(=) integer(259)operator(,) ident(kDEF) operator(=) integer(260)operator(,) ident(kUNDEF) operator(=) integer(261)operator(,) ident(kBEGIN) operator(=) integer(262)operator(,) ident(kRESCUE) operator(=) integer(263)operator(,) ident(kENSURE) operator(=) integer(264)operator(,) ident(kEND) operator(=) integer(265)operator(,) ident(kIF) operator(=) integer(266)operator(,) ident(kUNLESS) operator(=) integer(267)operator(,) ident(kTHEN) operator(=) integer(268)operator(,) ident(kELSIF) operator(=) integer(269)operator(,) ident(kELSE) operator(=) integer(270)operator(,) ident(kCASE) operator(=) integer(271)operator(,) ident(kWHEN) operator(=) integer(272)operator(,) ident(kWHILE) operator(=) integer(273)operator(,) ident(kUNTIL) operator(=) integer(274)operator(,) ident(kFOR) operator(=) integer(275)operator(,) ident(kBREAK) operator(=) integer(276)operator(,) ident(kNEXT) operator(=) integer(277)operator(,) ident(kREDO) operator(=) integer(278)operator(,) ident(kRETRY) operator(=) integer(279)operator(,) ident(kIN) operator(=) integer(280)operator(,) ident(kDO) operator(=) integer(281)operator(,) ident(kDO_COND) operator(=) integer(282)operator(,) ident(kDO_BLOCK) operator(=) integer(283)operator(,) ident(kRETURN) operator(=) integer(284)operator(,) ident(kYIELD) operator(=) integer(285)operator(,) ident(kSUPER) operator(=) integer(286)operator(,) ident(kSELF) operator(=) integer(287)operator(,) ident(kNIL) operator(=) integer(288)operator(,) ident(kTRUE) operator(=) integer(289)operator(,) ident(kFALSE) operator(=) integer(290)operator(,) ident(kAND) operator(=) integer(291)operator(,) ident(kOR) operator(=) integer(292)operator(,) ident(kNOT) operator(=) integer(293)operator(,) ident(kIF_MOD) operator(=) integer(294)operator(,) ident(kUNLESS_MOD) operator(=) integer(295)operator(,) ident(kWHILE_MOD) operator(=) integer(296)operator(,) ident(kUNTIL_MOD) operator(=) integer(297)operator(,) ident(kRESCUE_MOD) operator(=) integer(298)operator(,) ident(kALIAS) operator(=) integer(299)operator(,) ident(kDEFINED) operator(=) integer(300)operator(,) ident(klBEGIN) operator(=) integer(301)operator(,) ident(klEND) operator(=) integer(302)operator(,) ident(k__LINE__) operator(=) integer(303)operator(,) ident(k__FILE__) operator(=) integer(304)operator(,) ident(tIDENTIFIER) operator(=) integer(305)operator(,) ident(tFID) operator(=) integer(306)operator(,) ident(tGVAR) operator(=) integer(307)operator(,) ident(tIVAR) operator(=) integer(308)operator(,) ident(tCONSTANT) operator(=) integer(309)operator(,) ident(tCVAR) operator(=) integer(310)operator(,) ident(tINTEGER) operator(=) integer(311)operator(,) ident(tFLOAT) operator(=) integer(312)operator(,) ident(tSTRING_CONTENT) operator(=) integer(313)operator(,) ident(tNTH_REF) operator(=) integer(314)operator(,) ident(tBACK_REF) operator(=) integer(315)operator(,) ident(tREGEXP_END) operator(=) integer(316)operator(,) ident(tUPLUS) operator(=) integer(317)operator(,) ident(tUMINUS) operator(=) integer(318)operator(,) ident(tPOW) operator(=) integer(319)operator(,) ident(tCMP) operator(=) integer(320)operator(,) ident(tEQ) operator(=) integer(321)operator(,) ident(tEQQ) operator(=) integer(322)operator(,) ident(tNEQ) operator(=) integer(323)operator(,) ident(tGEQ) operator(=) integer(324)operator(,) ident(tLEQ) operator(=) integer(325)operator(,) ident(tANDOP) operator(=) integer(326)operator(,) ident(tOROP) operator(=) integer(327)operator(,) ident(tMATCH) operator(=) integer(328)operator(,) ident(tNMATCH) operator(=) integer(329)operator(,) ident(tDOT2) operator(=) integer(330)operator(,) ident(tDOT3) operator(=) integer(331)operator(,) ident(tAREF) operator(=) integer(332)operator(,) ident(tASET) operator(=) integer(333)operator(,) ident(tLSHFT) operator(=) integer(334)operator(,) ident(tRSHFT) operator(=) integer(335)operator(,) ident(tCOLON2) operator(=) integer(336)operator(,) ident(tCOLON3) operator(=) integer(337)operator(,) ident(tOP_ASGN) operator(=) integer(338)operator(,) ident(tASSOC) operator(=) integer(339)operator(,) ident(tLPAREN) operator(=) integer(340)operator(,) ident(tLPAREN_ARG) operator(=) integer(341)operator(,) ident(tRPAREN) operator(=) integer(342)operator(,) ident(tLBRACK) operator(=) integer(343)operator(,) ident(tLBRACE) operator(=) integer(344)operator(,) ident(tLBRACE_ARG) operator(=) integer(345)operator(,) ident(tSTAR) operator(=) integer(346)operator(,) ident(tAMPER) operator(=) integer(347)operator(,) ident(tSYMBEG) operator(=) integer(348)operator(,) ident(tSTRING_BEG) operator(=) integer(349)operator(,) ident(tXSTRING_BEG) operator(=) integer(350)operator(,) ident(tREGEXP_BEG) operator(=) integer(351)operator(,) ident(tWORDS_BEG) operator(=) integer(352)operator(,) ident(tQWORDS_BEG) operator(=) integer(353)operator(,) ident(tSTRING_DBEG) operator(=) integer(354)operator(,) ident(tSTRING_DVAR) operator(=) integer(355)operator(,) ident(tSTRING_END) operator(=) integer(356)operator(,) ident(tLOWEST) operator(=) integer(357)operator(,) ident(tUMINUS_NUM) operator(=) integer(358)operator(,) ident(tLAST_TOKEN) operator(=) integer(359) operator(};) preprocessor(#endif) comment(/* Tokens. */) preprocessor(#define) ident(kCLASS) integer(258) preprocessor(#define) ident(kMODULE) integer(259) preprocessor(#define) ident(kDEF) integer(260) preprocessor(#define) ident(kUNDEF) integer(261) preprocessor(#define) ident(kBEGIN) integer(262) preprocessor(#define) ident(kRESCUE) integer(263) preprocessor(#define) ident(kENSURE) integer(264) preprocessor(#define) ident(kEND) integer(265) preprocessor(#define) ident(kIF) integer(266) preprocessor(#define) ident(kUNLESS) integer(267) preprocessor(#define) ident(kTHEN) integer(268) preprocessor(#define) ident(kELSIF) integer(269) preprocessor(#define) ident(kELSE) integer(270) preprocessor(#define) ident(kCASE) integer(271) preprocessor(#define) ident(kWHEN) integer(272) preprocessor(#define) ident(kWHILE) integer(273) preprocessor(#define) ident(kUNTIL) integer(274) preprocessor(#define) ident(kFOR) integer(275) preprocessor(#define) ident(kBREAK) integer(276) preprocessor(#define) ident(kNEXT) integer(277) preprocessor(#define) ident(kREDO) integer(278) preprocessor(#define) ident(kRETRY) integer(279) preprocessor(#define) ident(kIN) integer(280) preprocessor(#define) ident(kDO) integer(281) preprocessor(#define) ident(kDO_COND) integer(282) preprocessor(#define) ident(kDO_BLOCK) integer(283) preprocessor(#define) ident(kRETURN) integer(284) preprocessor(#define) ident(kYIELD) integer(285) preprocessor(#define) ident(kSUPER) integer(286) preprocessor(#define) ident(kSELF) integer(287) preprocessor(#define) ident(kNIL) integer(288) preprocessor(#define) ident(kTRUE) integer(289) preprocessor(#define) ident(kFALSE) integer(290) preprocessor(#define) ident(kAND) integer(291) preprocessor(#define) ident(kOR) integer(292) preprocessor(#define) ident(kNOT) integer(293) preprocessor(#define) ident(kIF_MOD) integer(294) preprocessor(#define) ident(kUNLESS_MOD) integer(295) preprocessor(#define) ident(kWHILE_MOD) integer(296) preprocessor(#define) ident(kUNTIL_MOD) integer(297) preprocessor(#define) ident(kRESCUE_MOD) integer(298) preprocessor(#define) ident(kALIAS) integer(299) preprocessor(#define) ident(kDEFINED) integer(300) preprocessor(#define) ident(klBEGIN) integer(301) preprocessor(#define) ident(klEND) integer(302) preprocessor(#define) ident(k__LINE__) integer(303) preprocessor(#define) ident(k__FILE__) integer(304) preprocessor(#define) ident(tIDENTIFIER) integer(305) preprocessor(#define) ident(tFID) integer(306) preprocessor(#define) ident(tGVAR) integer(307) preprocessor(#define) ident(tIVAR) integer(308) preprocessor(#define) ident(tCONSTANT) integer(309) preprocessor(#define) ident(tCVAR) integer(310) preprocessor(#define) ident(tINTEGER) integer(311) preprocessor(#define) ident(tFLOAT) integer(312) preprocessor(#define) ident(tSTRING_CONTENT) integer(313) preprocessor(#define) ident(tNTH_REF) integer(314) preprocessor(#define) ident(tBACK_REF) integer(315) preprocessor(#define) ident(tREGEXP_END) integer(316) preprocessor(#define) ident(tUPLUS) integer(317) preprocessor(#define) ident(tUMINUS) integer(318) preprocessor(#define) ident(tPOW) integer(319) preprocessor(#define) ident(tCMP) integer(320) preprocessor(#define) ident(tEQ) integer(321) preprocessor(#define) ident(tEQQ) integer(322) preprocessor(#define) ident(tNEQ) integer(323) preprocessor(#define) ident(tGEQ) integer(324) preprocessor(#define) ident(tLEQ) integer(325) preprocessor(#define) ident(tANDOP) integer(326) preprocessor(#define) ident(tOROP) integer(327) preprocessor(#define) ident(tMATCH) integer(328) preprocessor(#define) ident(tNMATCH) integer(329) preprocessor(#define) ident(tDOT2) integer(330) preprocessor(#define) ident(tDOT3) integer(331) preprocessor(#define) ident(tAREF) integer(332) preprocessor(#define) ident(tASET) integer(333) preprocessor(#define) ident(tLSHFT) integer(334) preprocessor(#define) ident(tRSHFT) integer(335) preprocessor(#define) ident(tCOLON2) integer(336) preprocessor(#define) ident(tCOLON3) integer(337) preprocessor(#define) ident(tOP_ASGN) integer(338) preprocessor(#define) ident(tASSOC) integer(339) preprocessor(#define) ident(tLPAREN) integer(340) preprocessor(#define) ident(tLPAREN_ARG) integer(341) preprocessor(#define) ident(tRPAREN) integer(342) preprocessor(#define) ident(tLBRACK) integer(343) preprocessor(#define) ident(tLBRACE) integer(344) preprocessor(#define) ident(tLBRACE_ARG) integer(345) preprocessor(#define) ident(tSTAR) integer(346) preprocessor(#define) ident(tAMPER) integer(347) preprocessor(#define) ident(tSYMBEG) integer(348) preprocessor(#define) ident(tSTRING_BEG) integer(349) preprocessor(#define) ident(tXSTRING_BEG) integer(350) preprocessor(#define) ident(tREGEXP_BEG) integer(351) preprocessor(#define) ident(tWORDS_BEG) integer(352) preprocessor(#define) ident(tQWORDS_BEG) integer(353) preprocessor(#define) ident(tSTRING_DBEG) integer(354) preprocessor(#define) ident(tSTRING_DVAR) integer(355) preprocessor(#define) ident(tSTRING_END) integer(356) preprocessor(#define) ident(tLOWEST) integer(357) preprocessor(#define) ident(tUMINUS_NUM) integer(358) preprocessor(#define) ident(tLAST_TOKEN) integer(359) comment(/* Copy the first part of user declarations. */) preprocessor(#line) integer(13) string preprocessor(#define) ident(YYDEBUG) integer(1) preprocessor(#define) ident(YYERROR_VERBOSE) integer(1) preprocessor(#ifndef) ident(YYSTACK_USE_ALLOCA) preprocessor(#define) ident(YYSTACK_USE_ALLOCA) integer(0) preprocessor(#endif) preprocessor(#include) include("ruby.h") preprocessor(#include) include("env.h") preprocessor(#include) include("intern.h") preprocessor(#include) include("node.h") preprocessor(#include) include("st.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#define) ident(YYMALLOC) ident(rb_parser_malloc) preprocessor(#define) ident(YYREALLOC) ident(rb_parser_realloc) preprocessor(#define) ident(YYCALLOC) ident(rb_parser_calloc) preprocessor(#define) ident(YYFREE) ident(rb_parser_free) preprocessor(#define) ident(malloc) ident(YYMALLOC) preprocessor(#define) ident(realloc) ident(YYREALLOC) preprocessor(#define) ident(calloc) ident(YYCALLOC) preprocessor(#define) ident(free) ident(YYFREE) directive(static) directive(void) operator(*)ident(rb_parser_malloc) ident(_)operator((()ident(size_t)operator(\)\);) directive(static) directive(void) operator(*)ident(rb_parser_realloc) ident(_)operator((()directive(void) operator(*,) ident(size_t)operator(\)\);) directive(static) directive(void) operator(*)ident(rb_parser_calloc) ident(_)operator((()ident(size_t)operator(,) ident(size_t)operator(\)\);) directive(static) directive(void) ident(rb_parser_free) ident(_)operator((()directive(void) operator(*\)\);) preprocessor(#define) ident(yyparse) ident(ruby_yyparse) preprocessor(#define) ident(yylex) ident(ruby_yylex) preprocessor(#define) ident(yyerror) ident(ruby_yyerror) preprocessor(#define) ident(yylval) ident(ruby_yylval) preprocessor(#define) ident(yychar) ident(ruby_yychar) preprocessor(#define) ident(yydebug) ident(ruby_yydebug) preprocessor(#define) ident(ID_SCOPE_SHIFT) integer(3) preprocessor(#define) ident(ID_SCOPE_MASK) hex(0x07) preprocessor(#define) ident(ID_LOCAL) hex(0x01) preprocessor(#define) ident(ID_INSTANCE) hex(0x02) preprocessor(#define) ident(ID_GLOBAL) hex(0x03) preprocessor(#define) ident(ID_ATTRSET) hex(0x04) preprocessor(#define) ident(ID_CONST) hex(0x05) preprocessor(#define) ident(ID_CLASS) hex(0x06) preprocessor(#define) ident(ID_JUNK) hex(0x07) preprocessor(#define) ident(ID_INTERNAL) ident(ID_JUNK) preprocessor(#define) ident(is_notop_id)operator(()ident(id)operator(\)) operator((()ident(id)operator(\)>)ident(tLAST_TOKEN)operator(\)) preprocessor(#define) ident(is_local_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_LOCAL)operator(\)) preprocessor(#define) ident(is_global_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_GLOBAL)operator(\)) preprocessor(#define) ident(is_instance_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_INSTANCE)operator(\)) preprocessor(#define) ident(is_attrset_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_ATTRSET)operator(\)) preprocessor(#define) ident(is_const_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_CONST)operator(\)) preprocessor(#define) ident(is_class_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_CLASS)operator(\)) preprocessor(#define) ident(is_junk_id)operator(()ident(id)operator(\)) operator(()ident(is_notop_id)operator(()ident(id)operator(\)&&(()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)==)ident(ID_JUNK)operator(\)) preprocessor(#define) ident(is_asgn_or_id)operator(()ident(id)operator(\)) operator((()ident(is_notop_id)operator(()ident(id)operator(\)\)) operator(&&) \ operator(((()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)) operator(==) ident(ID_GLOBAL) operator(||) \ operator((()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)) operator(==) ident(ID_INSTANCE) operator(||) \ operator((()ident(id)operator(\)&)ident(ID_SCOPE_MASK)operator(\)) operator(==) ident(ID_CLASS)operator(\)\)) ident(NODE) operator(*)ident(ruby_eval_tree_begin) operator(=) integer(0)operator(;) ident(NODE) operator(*)ident(ruby_eval_tree) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(ruby_sourcefile)operator(;) comment(/* current source file */) pre_type(int) ident(ruby_sourceline)operator(;) comment(/* current line no. */) directive(static) pre_type(int) ident(yylex)operator((\);) directive(static) pre_type(int) ident(yyerror)operator((\);) directive(static) reserved(enum) ident(lex_state) operator({) ident(EXPR_BEG)operator(,) comment(/* ignore newline, +/- is a sign. */) ident(EXPR_END)operator(,) comment(/* newline significant, +/- is an operator. */) ident(EXPR_ARG)operator(,) comment(/* newline significant, +/- is an operator. */) ident(EXPR_CMDARG)operator(,) comment(/* newline significant, +/- is an operator. */) ident(EXPR_ENDARG)operator(,) comment(/* newline significant, +/- is an operator. */) ident(EXPR_MID)operator(,) comment(/* newline significant, +/- is an operator. */) ident(EXPR_FNAME)operator(,) comment(/* ignore newline, no reserved words. */) ident(EXPR_DOT)operator(,) comment(/* right after `.' or `::', no reserved words. */) ident(EXPR_CLASS)operator(,) comment(/* immediate after `class', no here document. */) operator(}) ident(lex_state)operator(;) directive(static) ident(NODE) operator(*)ident(lex_strterm)operator(;) preprocessor(#ifdef) ident(HAVE_LONG_LONG) reserved(typedef) pre_type(unsigned) ident(LONG_LONG) ident(stack_type)operator(;) preprocessor(#else) reserved(typedef) pre_type(unsigned) pre_type(long) ident(stack_type)operator(;) preprocessor(#endif) preprocessor(#define) ident(BITSTACK_PUSH)operator(()ident(stack)operator(,) ident(n)operator(\)) operator(()ident(stack) operator(=) operator(()ident(stack)operator(<<)integer(1)operator(\)|(()ident(n)operator(\)&)integer(1)operator(\)\)) preprocessor(#define) ident(BITSTACK_POP)operator(()ident(stack)operator(\)) operator(()ident(stack) operator(>>=) integer(1)operator(\)) preprocessor(#define) ident(BITSTACK_LEXPOP)operator(()ident(stack)operator(\)) operator(()ident(stack) operator(=) operator(()ident(stack) operator(>>) integer(1)operator(\)) operator(|) operator(()ident(stack) operator(&) integer(1)operator(\)\)) preprocessor(#define) ident(BITSTACK_SET_P)operator(()ident(stack)operator(\)) operator(()ident(stack)operator(&)integer(1)operator(\)) directive(static) ident(stack_type) ident(cond_stack) operator(=) integer(0)operator(;) preprocessor(#define) ident(COND_PUSH)operator(()ident(n)operator(\)) ident(BITSTACK_PUSH)operator(()ident(cond_stack)operator(,) ident(n)operator(\)) preprocessor(#define) ident(COND_POP)operator((\)) ident(BITSTACK_POP)operator(()ident(cond_stack)operator(\)) preprocessor(#define) ident(COND_LEXPOP)operator((\)) ident(BITSTACK_LEXPOP)operator(()ident(cond_stack)operator(\)) preprocessor(#define) ident(COND_P)operator((\)) ident(BITSTACK_SET_P)operator(()ident(cond_stack)operator(\)) directive(static) ident(stack_type) ident(cmdarg_stack) operator(=) integer(0)operator(;) preprocessor(#define) ident(CMDARG_PUSH)operator(()ident(n)operator(\)) ident(BITSTACK_PUSH)operator(()ident(cmdarg_stack)operator(,) ident(n)operator(\)) preprocessor(#define) ident(CMDARG_POP)operator((\)) ident(BITSTACK_POP)operator(()ident(cmdarg_stack)operator(\)) preprocessor(#define) ident(CMDARG_LEXPOP)operator((\)) ident(BITSTACK_LEXPOP)operator(()ident(cmdarg_stack)operator(\)) preprocessor(#define) ident(CMDARG_P)operator((\)) ident(BITSTACK_SET_P)operator(()ident(cmdarg_stack)operator(\)) directive(static) pre_type(int) ident(class_nest) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(in_single) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(in_def) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(compile_for_eval) operator(=) integer(0)operator(;) directive(static) ident(ID) ident(cur_mid) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(command_start) operator(=) ident(Qtrue)operator(;) directive(static) ident(NODE) operator(*)ident(deferred_nodes)operator(;) directive(static) ident(NODE) operator(*)ident(cond)operator((\);) directive(static) ident(NODE) operator(*)ident(logop)operator((\);) directive(static) pre_type(int) ident(cond_negative)operator((\);) directive(static) ident(NODE) operator(*)ident(newline_node)operator((\);) directive(static) directive(void) ident(fixpos)operator((\);) directive(static) pre_type(int) ident(value_expr0)operator((\);) directive(static) directive(void) ident(void_expr0)operator((\);) directive(static) directive(void) ident(void_stmts)operator((\);) directive(static) ident(NODE) operator(*)ident(remove_begin)operator((\);) preprocessor(#define) ident(value_expr)operator(()ident(node)operator(\)) ident(value_expr0)operator((()ident(node)operator(\)) operator(=) ident(remove_begin)operator(()ident(node)operator(\)\)) preprocessor(#define) ident(void_expr)operator(()ident(node)operator(\)) ident(void_expr0)operator((()ident(node)operator(\)) operator(=) ident(remove_begin)operator(()ident(node)operator(\)\)) directive(static) ident(NODE) operator(*)ident(block_append)operator((\);) directive(static) ident(NODE) operator(*)ident(list_append)operator((\);) directive(static) ident(NODE) operator(*)ident(list_concat)operator((\);) directive(static) ident(NODE) operator(*)ident(arg_concat)operator((\);) directive(static) ident(NODE) operator(*)ident(arg_prepend)operator((\);) directive(static) ident(NODE) operator(*)ident(literal_concat)operator((\);) directive(static) ident(NODE) operator(*)ident(new_evstr)operator((\);) directive(static) ident(NODE) operator(*)ident(evstr2dstr)operator((\);) directive(static) ident(NODE) operator(*)ident(call_op)operator((\);) directive(static) pre_type(int) ident(in_defined) operator(=) integer(0)operator(;) directive(static) ident(NODE) operator(*)ident(negate_lit)operator((\);) directive(static) ident(NODE) operator(*)ident(ret_args)operator((\);) directive(static) ident(NODE) operator(*)ident(arg_blk_pass)operator((\);) directive(static) ident(NODE) operator(*)ident(new_call)operator((\);) directive(static) ident(NODE) operator(*)ident(new_fcall)operator((\);) directive(static) ident(NODE) operator(*)ident(new_super)operator((\);) directive(static) ident(NODE) operator(*)ident(new_yield)operator((\);) directive(static) ident(NODE) operator(*)ident(gettable)operator((\);) directive(static) ident(NODE) operator(*)ident(assignable)operator((\);) directive(static) ident(NODE) operator(*)ident(aryset)operator((\);) directive(static) ident(NODE) operator(*)ident(attrset)operator((\);) directive(static) directive(void) ident(rb_backref_error)operator((\);) directive(static) ident(NODE) operator(*)ident(node_assign)operator((\);) directive(static) ident(NODE) operator(*)ident(match_gen)operator((\);) directive(static) directive(void) ident(local_push)operator((\);) directive(static) directive(void) ident(local_pop)operator((\);) directive(static) pre_type(int) ident(local_append)operator((\);) directive(static) pre_type(int) ident(local_cnt)operator((\);) directive(static) pre_type(int) ident(local_id)operator((\);) directive(static) ident(ID) operator(*)ident(local_tbl)operator((\);) directive(static) ident(ID) ident(internal_id)operator((\);) directive(static) reserved(struct) ident(RVarmap) operator(*)ident(dyna_push)operator((\);) directive(static) directive(void) ident(dyna_pop)operator((\);) directive(static) pre_type(int) ident(dyna_in_block)operator((\);) directive(static) ident(NODE) operator(*)ident(dyna_init)operator((\);) directive(static) directive(void) ident(top_local_init)operator((\);) directive(static) directive(void) ident(top_local_setup)operator((\);) directive(static) directive(void) ident(fixup_nodes)operator((\);) preprocessor(#define) ident(RE_OPTION_ONCE) hex(0x80) preprocessor(#define) ident(NODE_STRTERM) ident(NODE_ZARRAY) comment(/* nothing to gc */) preprocessor(#define) ident(NODE_HEREDOC) ident(NODE_ARRAY) comment(/* 1, 3 to gc */) preprocessor(#define) ident(SIGN_EXTEND)operator(()ident(x)operator(,)ident(n)operator(\)) operator(((()integer(1)operator(<<()ident(n)operator(\)-)integer(1)operator(\)^(()ident(x)operator(\)&~(~)integer(0)operator(<<()ident(n)operator(\)\)\)\)-()integer(1)operator(<<()ident(n)operator(\)-)integer(1)operator(\)\)) preprocessor(#define) ident(nd_func) ident(u1)operator(.)ident(id) preprocessor(#if) ident(SIZEOF_SHORT) operator(==) integer(2) preprocessor(#define) ident(nd_term)operator(()ident(node)operator(\)) operator((()pre_type(signed) pre_type(short)operator(\)()ident(node)operator(\)->)ident(u2)operator(.)ident(id)operator(\)) preprocessor(#else) preprocessor(#define) ident(nd_term)operator(()ident(node)operator(\)) ident(SIGN_EXTEND)operator((()ident(node)operator(\)->)ident(u2)operator(.)ident(id)operator(,) ident(CHAR_BIT)operator(*)integer(2)operator(\)) preprocessor(#endif) preprocessor(#define) ident(nd_paren)operator(()ident(node)operator(\)) operator(()pre_type(char)operator(\)(()ident(node)operator(\)->)ident(u2)operator(.)ident(id) operator(>>) ident(CHAR_BIT)operator(*)integer(2)operator(\)) preprocessor(#define) ident(nd_nest) ident(u3)operator(.)ident(id) comment(/* Older versions of Yacc set YYMAXDEPTH to a very low value by default (150, for instance\). This is too low for Ruby to parse some files, such as date/format.rb, therefore bump the value up to at least Bison's default. */) preprocessor(#ifdef) ident(OLD_YACC) preprocessor(#ifndef) ident(YYMAXDEPTH) preprocessor(#define) ident(YYMAXDEPTH) integer(10000) preprocessor(#endif) preprocessor(#endif) comment(/* Enabling traces. */) preprocessor(#ifndef) ident(YYDEBUG) preprocessor(# define) ident(YYDEBUG) integer(0) preprocessor(#endif) comment(/* Enabling verbose error messages. */) preprocessor(#ifdef) ident(YYERROR_VERBOSE) preprocessor(# undef) ident(YYERROR_VERBOSE) preprocessor(# define) ident(YYERROR_VERBOSE) integer(1) preprocessor(#else) preprocessor(# define) ident(YYERROR_VERBOSE) integer(0) preprocessor(#endif) comment(/* Enabling the token table. */) preprocessor(#ifndef) ident(YYTOKEN_TABLE) preprocessor(# define) ident(YYTOKEN_TABLE) integer(0) preprocessor(#endif) preprocessor(#if) operator(!) ident(defined) ident(YYSTYPE) operator(&&) operator(!) ident(defined) ident(YYSTYPE_IS_DECLARED) reserved(typedef) reserved(union) ident(YYSTYPE) preprocessor(#line) integer(213) string operator({) ident(NODE) operator(*)ident(node)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(num)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vars)operator(;) operator(}) comment(/* Line 193 of yacc.c. */) preprocessor(#line) integer(511) string ident(YYSTYPE)operator(;) preprocessor(# define) ident(yystype) ident(YYSTYPE) comment(/* obsolescent; will be withdrawn */) preprocessor(# define) ident(YYSTYPE_IS_DECLARED) integer(1) preprocessor(# define) ident(YYSTYPE_IS_TRIVIAL) integer(1) preprocessor(#endif) comment(/* Copy the second part of user declarations. */) comment(/* Line 216 of yacc.c. */) preprocessor(#line) integer(524) string preprocessor(#ifdef) pre_type(short) preprocessor(# undef) pre_type(short) preprocessor(#endif) preprocessor(#ifdef) ident(YYTYPE_UINT8) reserved(typedef) ident(YYTYPE_UINT8) ident(yytype_uint8)operator(;) preprocessor(#else) reserved(typedef) pre_type(unsigned) pre_type(char) ident(yytype_uint8)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(YYTYPE_INT8) reserved(typedef) ident(YYTYPE_INT8) ident(yytype_int8)operator(;) preprocessor(#elif) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) reserved(typedef) pre_type(signed) pre_type(char) ident(yytype_int8)operator(;) preprocessor(#else) reserved(typedef) pre_type(short) pre_type(int) ident(yytype_int8)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(YYTYPE_UINT16) reserved(typedef) ident(YYTYPE_UINT16) ident(yytype_uint16)operator(;) preprocessor(#else) reserved(typedef) pre_type(unsigned) pre_type(short) pre_type(int) ident(yytype_uint16)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(YYTYPE_INT16) reserved(typedef) ident(YYTYPE_INT16) ident(yytype_int16)operator(;) preprocessor(#else) reserved(typedef) pre_type(short) pre_type(int) ident(yytype_int16)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(YYSIZE_T) preprocessor(# ifdef) ident(__SIZE_TYPE__) preprocessor(# define) ident(YYSIZE_T) ident(__SIZE_TYPE__) preprocessor(# elif) ident(defined) ident(size_t) preprocessor(# define) ident(YYSIZE_T) ident(size_t) preprocessor(# elif) operator(!) ident(defined) ident(YYSIZE_T) operator(&&) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# define) ident(YYSIZE_T) ident(size_t) preprocessor(# else) preprocessor(# define) ident(YYSIZE_T) pre_type(unsigned) pre_type(int) preprocessor(# endif) preprocessor(#endif) preprocessor(#define) ident(YYSIZE_MAXIMUM) operator((()ident(YYSIZE_T)operator(\)) operator(-)integer(1)operator(\)) preprocessor(#ifndef) ident(YY_) preprocessor(# if) ident(YYENABLE_NLS) preprocessor(# if) ident(ENABLE_NLS) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# define) ident(YY_)operator(()ident(msgid)operator(\)) ident(dgettext) operator(()stringoperator(,) ident(msgid)operator(\)) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(YY_) preprocessor(# define) ident(YY_)operator(()ident(msgid)operator(\)) ident(msgid) preprocessor(# endif) preprocessor(#endif) comment(/* Suppress unused-variable warnings by "using" E. */) preprocessor(#if) operator(!) ident(defined) ident(lint) operator(||) ident(defined) ident(__GNUC__) preprocessor(# define) ident(YYUSE)operator(()ident(e)operator(\)) operator((()directive(void)operator(\)) operator(()ident(e)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(YYUSE)operator(()ident(e)operator(\)) comment(/* empty */) preprocessor(#endif) comment(/* Identity function, used to suppress warnings about constant conditions. */) preprocessor(#ifndef) ident(lint) preprocessor(# define) ident(YYID)operator(()ident(n)operator(\)) operator(()ident(n)operator(\)) preprocessor(#else) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) pre_type(int) ident(YYID) operator(()pre_type(int) ident(i)operator(\)) preprocessor(#else) directive(static) pre_type(int) ident(YYID) operator(()ident(i)operator(\)) pre_type(int) ident(i)operator(;) preprocessor(#endif) operator({) reserved(return) ident(i)operator(;) operator(}) preprocessor(#endif) preprocessor(#if) operator(!) ident(defined) ident(yyoverflow) operator(||) ident(YYERROR_VERBOSE) comment(/* The parser invokes alloca or malloc; define the necessary symbols. */) preprocessor(# ifdef) ident(YYSTACK_USE_ALLOCA) preprocessor(# if) ident(YYSTACK_USE_ALLOCA) preprocessor(# ifdef) ident(__GNUC__) preprocessor(# define) ident(YYSTACK_ALLOC) ident(__builtin_alloca) preprocessor(# elif) ident(defined) ident(__BUILTIN_VA_ARG_INCR) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# elif) ident(defined) ident(_AIX) preprocessor(# define) ident(YYSTACK_ALLOC) ident(__alloca) preprocessor(# elif) ident(defined) ident(_MSC_VER) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# define) ident(alloca) ident(_alloca) preprocessor(# else) preprocessor(# define) ident(YYSTACK_ALLOC) ident(alloca) preprocessor(# if) operator(!) ident(defined) ident(_ALLOCA_H) operator(&&) operator(!) ident(defined) ident(_STDLIB_H) operator(&&) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# ifndef) ident(_STDLIB_H) preprocessor(# define) ident(_STDLIB_H) integer(1) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifdef) ident(YYSTACK_ALLOC) comment(/* Pacify GCC's `empty if-body' warning. */) preprocessor(# define) ident(YYSTACK_FREE)operator(()ident(Ptr)operator(\)) reserved(do) operator({) comment(/* empty */)operator(;) operator(}) reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) preprocessor(# ifndef) ident(YYSTACK_ALLOC_MAXIMUM) comment(/* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N\) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */) preprocessor(# define) ident(YYSTACK_ALLOC_MAXIMUM) integer(4032) comment(/* reasonable circa 2006 */) preprocessor(# endif) preprocessor(# else) preprocessor(# define) ident(YYSTACK_ALLOC) ident(YYMALLOC) preprocessor(# define) ident(YYSTACK_FREE) ident(YYFREE) preprocessor(# ifndef) ident(YYSTACK_ALLOC_MAXIMUM) preprocessor(# define) ident(YYSTACK_ALLOC_MAXIMUM) ident(YYSIZE_MAXIMUM) preprocessor(# endif) preprocessor(# if) operator(()ident(defined) ident(__cplusplus) operator(&&) operator(!) ident(defined) ident(_STDLIB_H) \ operator(&&) operator(!) operator((()ident(defined) ident(YYMALLOC) operator(||) ident(defined) ident(malloc)operator(\)) \ operator(&&) operator(()ident(defined) ident(YYFREE) operator(||) ident(defined) ident(free)operator(\)\)\)) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# ifndef) ident(_STDLIB_H) preprocessor(# define) ident(_STDLIB_H) integer(1) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(YYMALLOC) preprocessor(# define) ident(YYMALLOC) ident(malloc) preprocessor(# if) operator(!) ident(defined) ident(malloc) operator(&&) operator(!) ident(defined) ident(_STDLIB_H) operator(&&) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(void) operator(*)ident(malloc) operator(()ident(YYSIZE_T)operator(\);) comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(YYFREE) preprocessor(# define) ident(YYFREE) ident(free) preprocessor(# if) operator(!) ident(defined) ident(free) operator(&&) operator(!) ident(defined) ident(_STDLIB_H) operator(&&) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(void) ident(free) operator(()directive(void) operator(*\);) comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(#endif) comment(/* ! defined yyoverflow || YYERROR_VERBOSE */) preprocessor(#if) operator((!) ident(defined) ident(yyoverflow) \ operator(&&) operator((!) ident(defined) ident(__cplusplus) \ operator(||) operator(()ident(defined) ident(YYSTYPE_IS_TRIVIAL) operator(&&) ident(YYSTYPE_IS_TRIVIAL)operator(\)\)\)) comment(/* A type that is properly aligned for any stack member. */) reserved(union) ident(yyalloc) operator({) ident(yytype_int16) ident(yyss)operator(;) ident(YYSTYPE) ident(yyvs)operator(;) operator(};) comment(/* The size of the maximum gap between one aligned stack and the next. */) preprocessor(# define) ident(YYSTACK_GAP_MAXIMUM) operator(()reserved(sizeof) operator(()reserved(union) ident(yyalloc)operator(\)) operator(-) integer(1)operator(\)) comment(/* The size of an array large to enough to hold all stacks, each with N elements. */) preprocessor(# define) ident(YYSTACK_BYTES)operator(()ident(N)operator(\)) \ operator((()ident(N)operator(\)) operator(*) operator(()reserved(sizeof) operator(()ident(yytype_int16)operator(\)) operator(+) reserved(sizeof) operator(()ident(YYSTYPE)operator(\)\)) \ operator(+) ident(YYSTACK_GAP_MAXIMUM)operator(\)) comment(/* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */) preprocessor(# ifndef) ident(YYCOPY) preprocessor(# if) ident(defined) ident(__GNUC__) operator(&&) integer(1) operator(<) ident(__GNUC__) preprocessor(# define) ident(YYCOPY)operator(()ident(To)operator(,) ident(From)operator(,) ident(Count)operator(\)) \ ident(__builtin_memcpy) operator(()ident(To)operator(,) ident(From)operator(,) operator(()ident(Count)operator(\)) operator(*) reserved(sizeof) operator((*()ident(From)operator(\)\)\)) preprocessor(# else) preprocessor(# define) ident(YYCOPY)operator(()ident(To)operator(,) ident(From)operator(,) ident(Count)operator(\)) \ reserved(do) \ operator({) \ ident(YYSIZE_T) ident(yyi)operator(;) \ reserved(for) operator(()ident(yyi) operator(=) integer(0)operator(;) ident(yyi) operator(<) operator(()ident(Count)operator(\);) ident(yyi)operator(++\)) \ operator(()ident(To)operator(\)[)ident(yyi)operator(]) operator(=) operator(()ident(From)operator(\)[)ident(yyi)operator(];) \ operator(}) \ reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) preprocessor(# endif) preprocessor(# endif) comment(/* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */) preprocessor(# define) ident(YYSTACK_RELOCATE)operator(()ident(Stack)operator(\)) \ reserved(do) \ operator({) \ ident(YYSIZE_T) ident(yynewbytes)operator(;) \ ident(YYCOPY) operator((&)ident(yyptr)operator(->)ident(Stack)operator(,) ident(Stack)operator(,) ident(yysize)operator(\);) \ ident(Stack) operator(=) operator(&)ident(yyptr)operator(->)ident(Stack)operator(;) \ ident(yynewbytes) operator(=) ident(yystacksize) operator(*) reserved(sizeof) operator((*)ident(Stack)operator(\)) operator(+) ident(YYSTACK_GAP_MAXIMUM)operator(;) \ ident(yyptr) operator(+=) ident(yynewbytes) operator(/) reserved(sizeof) operator((*)ident(yyptr)operator(\);) \ operator(}) \ reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) preprocessor(#endif) comment(/* YYFINAL -- State number of the termination state. */) preprocessor(#define) ident(YYFINAL) integer(3) comment(/* YYLAST -- Last index in YYTABLE. */) preprocessor(#define) ident(YYLAST) integer(9550) comment(/* YYNTOKENS -- Number of terminals. */) preprocessor(#define) ident(YYNTOKENS) integer(132) comment(/* YYNNTS -- Number of nonterminals. */) preprocessor(#define) ident(YYNNTS) integer(144) comment(/* YYNRULES -- Number of rules. */) preprocessor(#define) ident(YYNRULES) integer(501) comment(/* YYNRULES -- Number of states. */) preprocessor(#define) ident(YYNSTATES) integer(895) comment(/* YYTRANSLATE(YYLEX\) -- Bison symbol number corresponding to YYLEX. */) preprocessor(#define) ident(YYUNDEFTOK) integer(2) preprocessor(#define) ident(YYMAXUTOK) integer(359) preprocessor(#define) ident(YYTRANSLATE)operator(()ident(YYX)operator(\)) \ operator((()pre_type(unsigned) pre_type(int)operator(\)) operator(()ident(YYX)operator(\)) operator(<=) ident(YYMAXUTOK) operator(?) ident(yytranslate)operator([)ident(YYX)operator(]) operator(:) ident(YYUNDEFTOK)operator(\)) comment(/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */) directive(static) directive(const) ident(yytype_uint8) ident(yytranslate)operator([]) operator(=) operator({) integer(0)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(130)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(129)operator(,) integer(117)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(115)operator(,) integer(110)operator(,) integer(2)operator(,) integer(128)operator(,) integer(125)operator(,) integer(113)operator(,) integer(111)operator(,) integer(126)operator(,) integer(112)operator(,) integer(124)operator(,) integer(114)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(105)operator(,) integer(131)operator(,) integer(107)operator(,) integer(103)operator(,) integer(106)operator(,) integer(104)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(122)operator(,) integer(2)operator(,) integer(123)operator(,) integer(109)operator(,) integer(2)operator(,) integer(127)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(120)operator(,) integer(108)operator(,) integer(121)operator(,) integer(118)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(2)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(27)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(42)operator(,) integer(43)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(61)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) integer(81)operator(,) integer(82)operator(,) integer(83)operator(,) integer(84)operator(,) integer(85)operator(,) integer(86)operator(,) integer(87)operator(,) integer(88)operator(,) integer(89)operator(,) integer(90)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(102)operator(,) integer(116)operator(,) integer(119) operator(};) preprocessor(#if) ident(YYDEBUG) comment(/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */) directive(static) directive(const) ident(yytype_uint16) ident(yyprhs)operator([]) operator(=) operator({) integer(0)operator(,) integer(0)operator(,) integer(3)operator(,) integer(4)operator(,) integer(7)operator(,) integer(12)operator(,) integer(15)operator(,) integer(17)operator(,) integer(19)operator(,) integer(23)operator(,) integer(26)operator(,) integer(27)operator(,) integer(32)operator(,) integer(36)operator(,) integer(40)operator(,) integer(44)operator(,) integer(47)operator(,) integer(51)operator(,) integer(55)operator(,) integer(59)operator(,) integer(63)operator(,) integer(67)operator(,) integer(68)operator(,) integer(74)operator(,) integer(79)operator(,) integer(83)operator(,) integer(87)operator(,) integer(91)operator(,) integer(98)operator(,) integer(104)operator(,) integer(110)operator(,) integer(116)operator(,) integer(120)operator(,) integer(124)operator(,) integer(128)operator(,) integer(132)operator(,) integer(134)operator(,) integer(136)operator(,) integer(140)operator(,) integer(144)operator(,) integer(147)operator(,) integer(150)operator(,) integer(152)operator(,) integer(154)operator(,) integer(156)operator(,) integer(158)operator(,) integer(161)operator(,) integer(164)operator(,) integer(167)operator(,) integer(169)operator(,) integer(174)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(188)operator(,) integer(191)operator(,) integer(195)operator(,) integer(200)operator(,) integer(206)operator(,) integer(211)operator(,) integer(217)operator(,) integer(220)operator(,) integer(223)operator(,) integer(225)operator(,) integer(229)operator(,) integer(231)operator(,) integer(235)operator(,) integer(237)operator(,) integer(240)operator(,) integer(244)operator(,) integer(247)operator(,) integer(250)operator(,) integer(252)operator(,) integer(254)operator(,) integer(258)operator(,) integer(261)operator(,) integer(265)operator(,) integer(267)operator(,) integer(272)operator(,) integer(276)operator(,) integer(280)operator(,) integer(284)operator(,) integer(288)operator(,) integer(291)operator(,) integer(293)operator(,) integer(295)operator(,) integer(300)operator(,) integer(304)operator(,) integer(308)operator(,) integer(312)operator(,) integer(316)operator(,) integer(319)operator(,) integer(321)operator(,) integer(323)operator(,) integer(325)operator(,) integer(328)operator(,) integer(330)operator(,) integer(334)operator(,) integer(336)operator(,) integer(338)operator(,) integer(340)operator(,) integer(342)operator(,) integer(344)operator(,) integer(346)operator(,) integer(348)operator(,) integer(350)operator(,) integer(352)operator(,) integer(354)operator(,) integer(355)operator(,) integer(360)operator(,) integer(362)operator(,) integer(364)operator(,) integer(366)operator(,) integer(368)operator(,) integer(370)operator(,) integer(372)operator(,) integer(374)operator(,) integer(376)operator(,) integer(378)operator(,) integer(380)operator(,) integer(382)operator(,) integer(384)operator(,) integer(386)operator(,) integer(388)operator(,) integer(390)operator(,) integer(392)operator(,) integer(394)operator(,) integer(396)operator(,) integer(398)operator(,) integer(400)operator(,) integer(402)operator(,) integer(404)operator(,) integer(406)operator(,) integer(408)operator(,) integer(410)operator(,) integer(412)operator(,) integer(414)operator(,) integer(416)operator(,) integer(418)operator(,) integer(420)operator(,) integer(422)operator(,) integer(424)operator(,) integer(426)operator(,) integer(428)operator(,) integer(430)operator(,) integer(432)operator(,) integer(434)operator(,) integer(436)operator(,) integer(438)operator(,) integer(440)operator(,) integer(442)operator(,) integer(444)operator(,) integer(446)operator(,) integer(448)operator(,) integer(450)operator(,) integer(452)operator(,) integer(454)operator(,) integer(456)operator(,) integer(458)operator(,) integer(460)operator(,) integer(462)operator(,) integer(464)operator(,) integer(466)operator(,) integer(468)operator(,) integer(470)operator(,) integer(472)operator(,) integer(474)operator(,) integer(476)operator(,) integer(478)operator(,) integer(480)operator(,) integer(482)operator(,) integer(484)operator(,) integer(486)operator(,) integer(488)operator(,) integer(490)operator(,) integer(492)operator(,) integer(496)operator(,) integer(502)operator(,) integer(506)operator(,) integer(513)operator(,) integer(519)operator(,) integer(525)operator(,) integer(531)operator(,) integer(537)operator(,) integer(542)operator(,) integer(546)operator(,) integer(550)operator(,) integer(554)operator(,) integer(558)operator(,) integer(562)operator(,) integer(566)operator(,) integer(570)operator(,) integer(574)operator(,) integer(578)operator(,) integer(583)operator(,) integer(588)operator(,) integer(591)operator(,) integer(594)operator(,) integer(598)operator(,) integer(602)operator(,) integer(606)operator(,) integer(610)operator(,) integer(614)operator(,) integer(618)operator(,) integer(622)operator(,) integer(626)operator(,) integer(630)operator(,) integer(634)operator(,) integer(638)operator(,) integer(642)operator(,) integer(646)operator(,) integer(649)operator(,) integer(652)operator(,) integer(656)operator(,) integer(660)operator(,) integer(664)operator(,) integer(668)operator(,) integer(669)operator(,) integer(674)operator(,) integer(680)operator(,) integer(682)operator(,) integer(684)operator(,) integer(686)operator(,) integer(689)operator(,) integer(692)operator(,) integer(698)operator(,) integer(701)operator(,) integer(705)operator(,) integer(709)operator(,) integer(714)operator(,) integer(719)operator(,) integer(726)operator(,) integer(728)operator(,) integer(730)operator(,) integer(732)operator(,) integer(735)operator(,) integer(741)operator(,) integer(744)operator(,) integer(750)operator(,) integer(755)operator(,) integer(763)operator(,) integer(767)operator(,) integer(769)operator(,) integer(774)operator(,) integer(778)operator(,) integer(784)operator(,) integer(792)operator(,) integer(795)operator(,) integer(801)operator(,) integer(806)operator(,) integer(813)operator(,) integer(821)operator(,) integer(831)operator(,) integer(835)operator(,) integer(837)operator(,) integer(838)operator(,) integer(841)operator(,) integer(843)operator(,) integer(844)operator(,) integer(848)operator(,) integer(849)operator(,) integer(854)operator(,) integer(857)operator(,) integer(860)operator(,) integer(862)operator(,) integer(864)operator(,) integer(868)operator(,) integer(872)operator(,) integer(877)operator(,) integer(880)operator(,) integer(882)operator(,) integer(884)operator(,) integer(886)operator(,) integer(888)operator(,) integer(890)operator(,) integer(892)operator(,) integer(894)operator(,) integer(896)operator(,) integer(898)operator(,) integer(899)operator(,) integer(904)operator(,) integer(905)operator(,) integer(911)operator(,) integer(915)operator(,) integer(919)operator(,) integer(922)operator(,) integer(927)operator(,) integer(931)operator(,) integer(935)operator(,) integer(937)operator(,) integer(942)operator(,) integer(946)operator(,) integer(948)operator(,) integer(949)operator(,) integer(956)operator(,) integer(959)operator(,) integer(961)operator(,) integer(964)operator(,) integer(971)operator(,) integer(978)operator(,) integer(979)operator(,) integer(980)operator(,) integer(988)operator(,) integer(989)operator(,) integer(990)operator(,) integer(998)operator(,) integer(1004)operator(,) integer(1009)operator(,) integer(1015)operator(,) integer(1016)operator(,) integer(1017)operator(,) integer(1027)operator(,) integer(1028)operator(,) integer(1035)operator(,) integer(1036)operator(,) integer(1037)operator(,) integer(1046)operator(,) integer(1047)operator(,) integer(1053)operator(,) integer(1054)operator(,) integer(1061)operator(,) integer(1062)operator(,) integer(1063)operator(,) integer(1073)operator(,) integer(1075)operator(,) integer(1077)operator(,) integer(1079)operator(,) integer(1081)operator(,) integer(1083)operator(,) integer(1085)operator(,) integer(1087)operator(,) integer(1089)operator(,) integer(1092)operator(,) integer(1094)operator(,) integer(1096)operator(,) integer(1098)operator(,) integer(1100)operator(,) integer(1106)operator(,) integer(1108)operator(,) integer(1111)operator(,) integer(1113)operator(,) integer(1115)operator(,) integer(1117)operator(,) integer(1120)operator(,) integer(1122)operator(,) integer(1126)operator(,) integer(1127)operator(,) integer(1128)operator(,) integer(1135)operator(,) integer(1138)operator(,) integer(1143)operator(,) integer(1148)operator(,) integer(1151)operator(,) integer(1156)operator(,) integer(1161)operator(,) integer(1165)operator(,) integer(1168)operator(,) integer(1170)operator(,) integer(1171)operator(,) integer(1172)operator(,) integer(1179)operator(,) integer(1180)operator(,) integer(1181)operator(,) integer(1188)operator(,) integer(1194)operator(,) integer(1196)operator(,) integer(1201)operator(,) integer(1204)operator(,) integer(1206)operator(,) integer(1208)operator(,) integer(1215)operator(,) integer(1217)operator(,) integer(1219)operator(,) integer(1221)operator(,) integer(1223)operator(,) integer(1226)operator(,) integer(1228)operator(,) integer(1231)operator(,) integer(1233)operator(,) integer(1235)operator(,) integer(1237)operator(,) integer(1239)operator(,) integer(1241)operator(,) integer(1243)operator(,) integer(1246)operator(,) integer(1250)operator(,) integer(1254)operator(,) integer(1258)operator(,) integer(1262)operator(,) integer(1266)operator(,) integer(1267)operator(,) integer(1271)operator(,) integer(1273)operator(,) integer(1276)operator(,) integer(1280)operator(,) integer(1284)operator(,) integer(1285)operator(,) integer(1289)operator(,) integer(1290)operator(,) integer(1293)operator(,) integer(1294)operator(,) integer(1297)operator(,) integer(1299)operator(,) integer(1300)operator(,) integer(1304)operator(,) integer(1305)operator(,) integer(1310)operator(,) integer(1312)operator(,) integer(1314)operator(,) integer(1316)operator(,) integer(1318)operator(,) integer(1321)operator(,) integer(1323)operator(,) integer(1325)operator(,) integer(1327)operator(,) integer(1329)operator(,) integer(1333)operator(,) integer(1335)operator(,) integer(1337)operator(,) integer(1340)operator(,) integer(1343)operator(,) integer(1345)operator(,) integer(1347)operator(,) integer(1349)operator(,) integer(1351)operator(,) integer(1353)operator(,) integer(1355)operator(,) integer(1357)operator(,) integer(1359)operator(,) integer(1361)operator(,) integer(1363)operator(,) integer(1365)operator(,) integer(1367)operator(,) integer(1369)operator(,) integer(1371)operator(,) integer(1373)operator(,) integer(1375)operator(,) integer(1376)operator(,) integer(1381)operator(,) integer(1384)operator(,) integer(1389)operator(,) integer(1392)operator(,) integer(1399)operator(,) integer(1404)operator(,) integer(1409)operator(,) integer(1412)operator(,) integer(1417)operator(,) integer(1420)operator(,) integer(1423)operator(,) integer(1425)operator(,) integer(1426)operator(,) integer(1428)operator(,) integer(1430)operator(,) integer(1432)operator(,) integer(1434)operator(,) integer(1436)operator(,) integer(1438)operator(,) integer(1442)operator(,) integer(1446)operator(,) integer(1448)operator(,) integer(1452)operator(,) integer(1454)operator(,) integer(1456)operator(,) integer(1459)operator(,) integer(1461)operator(,) integer(1463)operator(,) integer(1465)operator(,) integer(1468)operator(,) integer(1471)operator(,) integer(1473)operator(,) integer(1475)operator(,) integer(1476)operator(,) integer(1482)operator(,) integer(1484)operator(,) integer(1487)operator(,) integer(1490)operator(,) integer(1492)operator(,) integer(1496)operator(,) integer(1500)operator(,) integer(1502)operator(,) integer(1504)operator(,) integer(1506)operator(,) integer(1508)operator(,) integer(1510)operator(,) integer(1512)operator(,) integer(1514)operator(,) integer(1516)operator(,) integer(1518)operator(,) integer(1520)operator(,) integer(1522)operator(,) integer(1524)operator(,) integer(1525)operator(,) integer(1527)operator(,) integer(1528)operator(,) integer(1530)operator(,) integer(1531)operator(,) integer(1533)operator(,) integer(1535)operator(,) integer(1537)operator(,) integer(1539)operator(,) integer(1541)operator(,) integer(1544) operator(};) comment(/* YYRHS -- A `-1'-separated list of the rules' RHS. */) directive(static) directive(const) ident(yytype_int16) ident(yyrhs)operator([]) operator(=) operator({) integer(133)operator(,) integer(0)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(134)operator(,) integer(136)operator(,) operator(-)integer(1)operator(,) integer(136)operator(,) integer(219)operator(,) integer(203)operator(,) integer(222)operator(,) operator(-)integer(1)operator(,) integer(137)operator(,) integer(270)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(138)operator(,) operator(-)integer(1)operator(,) integer(137)operator(,) integer(274)operator(,) integer(138)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) integer(138)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(160)operator(,) integer(139)operator(,) integer(160)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(52)operator(,) integer(52)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(52)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(52)operator(,) integer(59)operator(,) operator(-)integer(1)operator(,) integer(6)operator(,) integer(161)operator(,) operator(-)integer(1)operator(,) integer(138)operator(,) integer(39)operator(,) integer(142)operator(,) operator(-)integer(1)operator(,) integer(138)operator(,) integer(40)operator(,) integer(142)operator(,) operator(-)integer(1)operator(,) integer(138)operator(,) integer(41)operator(,) integer(142)operator(,) operator(-)integer(1)operator(,) integer(138)operator(,) integer(42)operator(,) integer(142)operator(,) operator(-)integer(1)operator(,) integer(138)operator(,) integer(43)operator(,) integer(138)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(46)operator(,) integer(140)operator(,) integer(120)operator(,) integer(136)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) integer(47)operator(,) integer(120)operator(,) integer(136)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) integer(155)operator(,) integer(103)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(149)operator(,) integer(103)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(246)operator(,) integer(83)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(122)operator(,) integer(168)operator(,) integer(123)operator(,) integer(83)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(50)operator(,) integer(83)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(54)operator(,) integer(83)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(50)operator(,) integer(83)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(247)operator(,) integer(83)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(155)operator(,) integer(103)operator(,) integer(181)operator(,) operator(-)integer(1)operator(,) integer(149)operator(,) integer(103)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(149)operator(,) integer(103)operator(,) integer(181)operator(,) operator(-)integer(1)operator(,) integer(141)operator(,) operator(-)integer(1)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(141)operator(,) integer(36)operator(,) integer(141)operator(,) operator(-)integer(1)operator(,) integer(141)operator(,) integer(37)operator(,) integer(141)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) integer(141)operator(,) operator(-)integer(1)operator(,) integer(117)operator(,) integer(143)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(141)operator(,) operator(-)integer(1)operator(,) integer(148)operator(,) operator(-)integer(1)operator(,) integer(144)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(171)operator(,) operator(-)integer(1)operator(,) integer(21)operator(,) integer(171)operator(,) operator(-)integer(1)operator(,) integer(22)operator(,) integer(171)operator(,) operator(-)integer(1)operator(,) integer(209)operator(,) operator(-)integer(1)operator(,) integer(209)operator(,) integer(124)operator(,) integer(267)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) integer(209)operator(,) integer(81)operator(,) integer(267)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(90)operator(,) integer(146)operator(,) integer(205)operator(,) integer(147)operator(,) integer(136)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) integer(266)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) integer(266)operator(,) integer(173)operator(,) integer(145)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(267)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(267)operator(,) integer(173)operator(,) integer(145)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(267)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(267)operator(,) integer(173)operator(,) integer(145)operator(,) operator(-)integer(1)operator(,) integer(31)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) integer(30)operator(,) integer(173)operator(,) operator(-)integer(1)operator(,) integer(151)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(150)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(151)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(150)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(153)operator(,) operator(-)integer(1)operator(,) integer(153)operator(,) integer(152)operator(,) operator(-)integer(1)operator(,) integer(153)operator(,) integer(91)operator(,) integer(154)operator(,) operator(-)integer(1)operator(,) integer(153)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(154)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(154)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(150)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(152)operator(,) integer(126)operator(,) operator(-)integer(1)operator(,) integer(153)operator(,) integer(152)operator(,) integer(126)operator(,) operator(-)integer(1)operator(,) integer(244)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(122)operator(,) integer(168)operator(,) integer(123)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(247)operator(,) operator(-)integer(1)operator(,) integer(244)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(122)operator(,) integer(168)operator(,) integer(123)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(247)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(156)operator(,) operator(-)integer(1)operator(,) integer(156)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(156)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) integer(163)operator(,) operator(-)integer(1)operator(,) integer(164)operator(,) operator(-)integer(1)operator(,) integer(158)operator(,) operator(-)integer(1)operator(,) integer(240)operator(,) operator(-)integer(1)operator(,) integer(159)operator(,) operator(-)integer(1)operator(,) integer(242)operator(,) operator(-)integer(1)operator(,) integer(160)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(161)operator(,) integer(126)operator(,) integer(162)operator(,) integer(160)operator(,) operator(-)integer(1)operator(,) integer(108)operator(,) operator(-)integer(1)operator(,) integer(109)operator(,) operator(-)integer(1)operator(,) integer(110)operator(,) operator(-)integer(1)operator(,) integer(65)operator(,) operator(-)integer(1)operator(,) integer(66)operator(,) operator(-)integer(1)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) operator(-)integer(1)operator(,) integer(107)operator(,) operator(-)integer(1)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) operator(-)integer(1)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) integer(111)operator(,) operator(-)integer(1)operator(,) integer(112)operator(,) operator(-)integer(1)operator(,) integer(113)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(114)operator(,) operator(-)integer(1)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) integer(64)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) operator(-)integer(1)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) operator(-)integer(1)operator(,) integer(78)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) operator(-)integer(1)operator(,) integer(49)operator(,) operator(-)integer(1)operator(,) integer(46)operator(,) operator(-)integer(1)operator(,) integer(47)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) operator(-)integer(1)operator(,) integer(36)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) integer(21)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) operator(-)integer(1)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) operator(-)integer(1)operator(,) integer(14)operator(,) operator(-)integer(1)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(9)operator(,) operator(-)integer(1)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) integer(20)operator(,) operator(-)integer(1)operator(,) integer(25)operator(,) operator(-)integer(1)operator(,) integer(4)operator(,) operator(-)integer(1)operator(,) integer(22)operator(,) operator(-)integer(1)operator(,) integer(33)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) integer(37)operator(,) operator(-)integer(1)operator(,) integer(23)operator(,) operator(-)integer(1)operator(,) integer(8)operator(,) operator(-)integer(1)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) operator(-)integer(1)operator(,) integer(32)operator(,) operator(-)integer(1)operator(,) integer(31)operator(,) operator(-)integer(1)operator(,) integer(13)operator(,) operator(-)integer(1)operator(,) integer(34)operator(,) operator(-)integer(1)operator(,) integer(6)operator(,) operator(-)integer(1)operator(,) integer(17)operator(,) operator(-)integer(1)operator(,) integer(30)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) operator(-)integer(1)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) operator(-)integer(1)operator(,) integer(19)operator(,) operator(-)integer(1)operator(,) integer(155)operator(,) integer(103)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(155)operator(,) integer(103)operator(,) integer(165)operator(,) integer(43)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(246)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(122)operator(,) integer(168)operator(,) integer(123)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(50)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(54)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(50)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(54)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(54)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(247)operator(,) integer(83)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(75)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(76)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(111)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(112)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(113)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(114)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(115)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(64)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(56)operator(,) integer(64)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(57)operator(,) integer(64)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(63)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(108)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(109)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(110)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(65)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(106)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(69)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(107)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(70)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(66)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(67)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(68)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(73)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(74)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(117)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(79)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(80)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(71)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(72)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) integer(271)operator(,) integer(166)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) integer(104)operator(,) integer(165)operator(,) integer(105)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(182)operator(,) operator(-)integer(1)operator(,) integer(165)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(148)operator(,) integer(271)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(272)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(91)operator(,) integer(165)operator(,) integer(271)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(272)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(165)operator(,) integer(271)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(275)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(171)operator(,) integer(271)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(209)operator(,) integer(271)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(180)operator(,) integer(126)operator(,) integer(209)operator(,) integer(271)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(169)operator(,) operator(-)integer(1)operator(,) integer(148)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(264)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(264)operator(,) integer(126)operator(,) integer(91)operator(,) integer(165)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(178)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(180)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(178)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(180)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(264)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(180)operator(,) integer(126)operator(,) integer(264)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(264)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(126)operator(,) integer(180)operator(,) integer(126)operator(,) integer(264)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(167)operator(,) integer(179)operator(,) operator(-)integer(1)operator(,) integer(178)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(174)operator(,) integer(175)operator(,) operator(-)integer(1)operator(,) integer(171)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(86)operator(,) integer(176)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(86)operator(,) integer(172)operator(,) integer(177)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(92)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(126)operator(,) integer(178)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(223)operator(,) operator(-)integer(1)operator(,) integer(224)operator(,) operator(-)integer(1)operator(,) integer(227)operator(,) operator(-)integer(1)operator(,) integer(228)operator(,) operator(-)integer(1)operator(,) integer(229)operator(,) operator(-)integer(1)operator(,) integer(232)operator(,) operator(-)integer(1)operator(,) integer(245)operator(,) operator(-)integer(1)operator(,) integer(247)operator(,) operator(-)integer(1)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) integer(183)operator(,) integer(135)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(86)operator(,) integer(141)operator(,) integer(184)operator(,) integer(271)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(136)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(122)operator(,) integer(168)operator(,) integer(123)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(168)operator(,) integer(123)operator(,) operator(-)integer(1)operator(,) integer(89)operator(,) integer(263)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) operator(-)integer(1)operator(,) integer(30)operator(,) integer(128)operator(,) integer(171)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(30)operator(,) integer(128)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(30)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) integer(271)operator(,) integer(128)operator(,) integer(185)operator(,) integer(141)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(266)operator(,) integer(211)operator(,) operator(-)integer(1)operator(,) integer(210)operator(,) operator(-)integer(1)operator(,) integer(210)operator(,) integer(211)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(142)operator(,) integer(200)operator(,) integer(136)operator(,) integer(202)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(12)operator(,) integer(142)operator(,) integer(200)operator(,) integer(136)operator(,) integer(203)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(186)operator(,) integer(142)operator(,) integer(201)operator(,) integer(187)operator(,) integer(136)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(19)operator(,) integer(188)operator(,) integer(142)operator(,) integer(201)operator(,) integer(189)operator(,) integer(136)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(142)operator(,) integer(270)operator(,) integer(216)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(270)operator(,) integer(216)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(270)operator(,) integer(15)operator(,) integer(136)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(20)operator(,) integer(204)operator(,) integer(25)operator(,) integer(190)operator(,) integer(142)operator(,) integer(201)operator(,) integer(191)operator(,) integer(136)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(157)operator(,) integer(248)operator(,) integer(192)operator(,) integer(135)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(79)operator(,) integer(141)operator(,) integer(193)operator(,) integer(273)operator(,) integer(194)operator(,) integer(135)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(4)operator(,) integer(157)operator(,) integer(195)operator(,) integer(135)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(5)operator(,) integer(158)operator(,) integer(196)operator(,) integer(250)operator(,) integer(135)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(5)operator(,) integer(261)operator(,) integer(269)operator(,) integer(197)operator(,) integer(158)operator(,) integer(198)operator(,) integer(250)operator(,) integer(135)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(21)operator(,) operator(-)integer(1)operator(,) integer(22)operator(,) operator(-)integer(1)operator(,) integer(23)operator(,) operator(-)integer(1)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) integer(182)operator(,) operator(-)integer(1)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) integer(105)operator(,) operator(-)integer(1)operator(,) integer(13)operator(,) operator(-)integer(1)operator(,) integer(273)operator(,) integer(13)operator(,) operator(-)integer(1)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) integer(105)operator(,) operator(-)integer(1)operator(,) integer(27)operator(,) operator(-)integer(1)operator(,) integer(203)operator(,) operator(-)integer(1)operator(,) integer(14)operator(,) integer(142)operator(,) integer(200)operator(,) integer(136)operator(,) integer(202)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) integer(136)operator(,) operator(-)integer(1)operator(,) integer(155)operator(,) operator(-)integer(1)operator(,) integer(149)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(108)operator(,) integer(108)operator(,) operator(-)integer(1)operator(,) integer(72)operator(,) operator(-)integer(1)operator(,) integer(108)operator(,) integer(204)operator(,) integer(108)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(28)operator(,) integer(207)operator(,) integer(205)operator(,) integer(208)operator(,) integer(136)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(148)operator(,) integer(206)operator(,) operator(-)integer(1)operator(,) integer(209)operator(,) integer(124)operator(,) integer(267)operator(,) integer(170)operator(,) operator(-)integer(1)operator(,) integer(209)operator(,) integer(81)operator(,) integer(267)operator(,) integer(170)operator(,) operator(-)integer(1)operator(,) integer(266)operator(,) integer(169)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(124)operator(,) integer(267)operator(,) integer(170)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(267)operator(,) integer(169)operator(,) operator(-)integer(1)operator(,) integer(199)operator(,) integer(81)operator(,) integer(268)operator(,) operator(-)integer(1)operator(,) integer(31)operator(,) integer(169)operator(,) operator(-)integer(1)operator(,) integer(31)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(120)operator(,) integer(212)operator(,) integer(205)operator(,) integer(213)operator(,) integer(136)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(26)operator(,) integer(214)operator(,) integer(205)operator(,) integer(215)operator(,) integer(136)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) integer(17)operator(,) integer(217)operator(,) integer(200)operator(,) integer(136)operator(,) integer(218)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(126)operator(,) integer(91)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(203)operator(,) operator(-)integer(1)operator(,) integer(216)operator(,) operator(-)integer(1)operator(,) integer(8)operator(,) integer(220)operator(,) integer(221)operator(,) integer(200)operator(,) integer(136)operator(,) integer(219)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(181)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(84)operator(,) integer(155)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(9)operator(,) integer(136)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(243)operator(,) operator(-)integer(1)operator(,) integer(240)operator(,) operator(-)integer(1)operator(,) integer(242)operator(,) operator(-)integer(1)operator(,) integer(225)operator(,) operator(-)integer(1)operator(,) integer(226)operator(,) operator(-)integer(1)operator(,) integer(225)operator(,) integer(226)operator(,) operator(-)integer(1)operator(,) integer(94)operator(,) integer(234)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) integer(95)operator(,) integer(235)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) integer(96)operator(,) integer(235)operator(,) integer(61)operator(,) operator(-)integer(1)operator(,) integer(97)operator(,) integer(129)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) integer(97)operator(,) integer(230)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(230)operator(,) integer(231)operator(,) integer(129)operator(,) operator(-)integer(1)operator(,) integer(236)operator(,) operator(-)integer(1)operator(,) integer(231)operator(,) integer(236)operator(,) operator(-)integer(1)operator(,) integer(98)operator(,) integer(129)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) integer(98)operator(,) integer(233)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(233)operator(,) integer(58)operator(,) integer(129)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(234)operator(,) integer(236)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(235)operator(,) integer(236)operator(,) operator(-)integer(1)operator(,) integer(58)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(100)operator(,) integer(237)operator(,) integer(239)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(99)operator(,) integer(238)operator(,) integer(136)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) integer(52)operator(,) operator(-)integer(1)operator(,) integer(53)operator(,) operator(-)integer(1)operator(,) integer(55)operator(,) operator(-)integer(1)operator(,) integer(247)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(241)operator(,) operator(-)integer(1)operator(,) integer(158)operator(,) operator(-)integer(1)operator(,) integer(53)operator(,) operator(-)integer(1)operator(,) integer(52)operator(,) operator(-)integer(1)operator(,) integer(55)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(235)operator(,) integer(101)operator(,) operator(-)integer(1)operator(,) integer(56)operator(,) operator(-)integer(1)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(56)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(53)operator(,) operator(-)integer(1)operator(,) integer(52)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(55)operator(,) operator(-)integer(1)operator(,) integer(33)operator(,) operator(-)integer(1)operator(,) integer(32)operator(,) operator(-)integer(1)operator(,) integer(34)operator(,) operator(-)integer(1)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) integer(49)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) operator(-)integer(1)operator(,) integer(244)operator(,) operator(-)integer(1)operator(,) integer(244)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) operator(-)integer(1)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(107)operator(,) integer(249)operator(,) integer(142)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(251)operator(,) integer(271)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(251)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) integer(253)operator(,) integer(126)operator(,) integer(255)operator(,) integer(126)operator(,) integer(257)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(253)operator(,) integer(126)operator(,) integer(255)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(253)operator(,) integer(126)operator(,) integer(257)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(253)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(255)operator(,) integer(126)operator(,) integer(257)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(255)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(257)operator(,) integer(260)operator(,) operator(-)integer(1)operator(,) integer(259)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(53)operator(,) operator(-)integer(1)operator(,) integer(52)operator(,) operator(-)integer(1)operator(,) integer(55)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(252)operator(,) operator(-)integer(1)operator(,) integer(253)operator(,) integer(126)operator(,) integer(252)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) integer(103)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(254)operator(,) operator(-)integer(1)operator(,) integer(255)operator(,) integer(126)operator(,) integer(254)operator(,) operator(-)integer(1)operator(,) integer(113)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(256)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(256)operator(,) operator(-)integer(1)operator(,) integer(110)operator(,) operator(-)integer(1)operator(,) integer(92)operator(,) operator(-)integer(1)operator(,) integer(258)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(126)operator(,) integer(259)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(245)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(262)operator(,) integer(141)operator(,) integer(271)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) integer(275)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(272)operator(,) operator(-)integer(1)operator(,) integer(180)operator(,) integer(272)operator(,) operator(-)integer(1)operator(,) integer(265)operator(,) operator(-)integer(1)operator(,) integer(264)operator(,) integer(126)operator(,) integer(265)operator(,) operator(-)integer(1)operator(,) integer(167)operator(,) integer(84)operator(,) integer(167)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) integer(163)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) operator(-)integer(1)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) integer(163)operator(,) operator(-)integer(1)operator(,) integer(124)operator(,) operator(-)integer(1)operator(,) integer(81)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(274)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) operator(-)integer(1)operator(,) integer(126)operator(,) operator(-)integer(1)operator(,) integer(131)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) operator(-)integer(1)operator(,) integer(273)operator(,) operator(-)integer(1)operator(,) integer(274)operator(,) integer(131)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1) operator(};) comment(/* YYRLINE[YYN] -- source line where rule number YYN was defined. */) directive(static) directive(const) ident(yytype_uint16) ident(yyrline)operator([]) operator(=) operator({) integer(0)operator(,) integer(350)operator(,) integer(350)operator(,) integer(350)operator(,) integer(375)operator(,) integer(395)operator(,) integer(403)operator(,) integer(404)operator(,) integer(408)operator(,) integer(412)operator(,) integer(418)operator(,) integer(418)operator(,) integer(422)operator(,) integer(426)operator(,) integer(433)operator(,) integer(438)operator(,) integer(442)operator(,) integer(451)operator(,) integer(460)operator(,) integer(472)operator(,) integer(484)operator(,) integer(490)operator(,) integer(489)operator(,) integer(503)operator(,) integer(511)operator(,) integer(515)operator(,) integer(521)operator(,) integer(546)operator(,) integer(562)operator(,) integer(574)operator(,) integer(586)operator(,) integer(598)operator(,) integer(603)operator(,) integer(607)operator(,) integer(612)operator(,) integer(617)operator(,) integer(620)operator(,) integer(621)operator(,) integer(625)operator(,) integer(629)operator(,) integer(633)operator(,) integer(637)operator(,) integer(640)operator(,) integer(647)operator(,) integer(648)operator(,) integer(649)operator(,) integer(653)operator(,) integer(657)operator(,) integer(663)operator(,) integer(664)operator(,) integer(668)operator(,) integer(675)operator(,) integer(679)operator(,) integer(674)operator(,) integer(689)operator(,) integer(694)operator(,) integer(706)operator(,) integer(711)operator(,) integer(723)operator(,) integer(728)operator(,) integer(740)operator(,) integer(745)operator(,) integer(752)operator(,) integer(753)operator(,) integer(759)operator(,) integer(760)operator(,) integer(766)operator(,) integer(770)operator(,) integer(774)operator(,) integer(778)operator(,) integer(782)operator(,) integer(786)operator(,) integer(792)operator(,) integer(793)operator(,) integer(799)operator(,) integer(803)operator(,) integer(809)operator(,) integer(813)operator(,) integer(817)operator(,) integer(821)operator(,) integer(825)operator(,) integer(829)operator(,) integer(835)operator(,) integer(841)operator(,) integer(848)operator(,) integer(852)operator(,) integer(856)operator(,) integer(860)operator(,) integer(864)operator(,) integer(868)operator(,) integer(874)operator(,) integer(880)operator(,) integer(887)operator(,) integer(891)operator(,) integer(894)operator(,) integer(898)operator(,) integer(902)operator(,) integer(908)operator(,) integer(909)operator(,) integer(910)operator(,) integer(911)operator(,) integer(916)operator(,) integer(923)operator(,) integer(924)operator(,) integer(927)operator(,) integer(931)operator(,) integer(934)operator(,) integer(938)operator(,) integer(938)operator(,) integer(944)operator(,) integer(945)operator(,) integer(946)operator(,) integer(947)operator(,) integer(948)operator(,) integer(949)operator(,) integer(950)operator(,) integer(951)operator(,) integer(952)operator(,) integer(953)operator(,) integer(954)operator(,) integer(955)operator(,) integer(956)operator(,) integer(957)operator(,) integer(958)operator(,) integer(959)operator(,) integer(960)operator(,) integer(961)operator(,) integer(962)operator(,) integer(963)operator(,) integer(964)operator(,) integer(965)operator(,) integer(966)operator(,) integer(967)operator(,) integer(968)operator(,) integer(969)operator(,) integer(972)operator(,) integer(972)operator(,) integer(972)operator(,) integer(972)operator(,) integer(973)operator(,) integer(973)operator(,) integer(973)operator(,) integer(973)operator(,) integer(973)operator(,) integer(973)operator(,) integer(973)operator(,) integer(974)operator(,) integer(974)operator(,) integer(974)operator(,) integer(974)operator(,) integer(974)operator(,) integer(974)operator(,) integer(974)operator(,) integer(975)operator(,) integer(975)operator(,) integer(975)operator(,) integer(975)operator(,) integer(975)operator(,) integer(975)operator(,) integer(976)operator(,) integer(976)operator(,) integer(976)operator(,) integer(976)operator(,) integer(976)operator(,) integer(976)operator(,) integer(976)operator(,) integer(977)operator(,) integer(977)operator(,) integer(977)operator(,) integer(977)operator(,) integer(977)operator(,) integer(978)operator(,) integer(978)operator(,) integer(978)operator(,) integer(978)operator(,) integer(981)operator(,) integer(985)operator(,) integer(989)operator(,) integer(1014)operator(,) integer(1030)operator(,) integer(1042)operator(,) integer(1054)operator(,) integer(1066)operator(,) integer(1071)operator(,) integer(1076)operator(,) integer(1081)operator(,) integer(1091)operator(,) integer(1101)operator(,) integer(1105)operator(,) integer(1109)operator(,) integer(1113)operator(,) integer(1117)operator(,) integer(1121)operator(,) integer(1125)operator(,) integer(1129)operator(,) integer(1133)operator(,) integer(1142)operator(,) integer(1146)operator(,) integer(1150)operator(,) integer(1154)operator(,) integer(1158)operator(,) integer(1162)operator(,) integer(1166)operator(,) integer(1170)operator(,) integer(1174)operator(,) integer(1178)operator(,) integer(1182)operator(,) integer(1186)operator(,) integer(1190)operator(,) integer(1194)operator(,) integer(1198)operator(,) integer(1202)operator(,) integer(1206)operator(,) integer(1210)operator(,) integer(1214)operator(,) integer(1218)operator(,) integer(1222)operator(,) integer(1222)operator(,) integer(1227)operator(,) integer(1232)operator(,) integer(1238)operator(,) integer(1245)operator(,) integer(1246)operator(,) integer(1251)operator(,) integer(1255)operator(,) integer(1260)operator(,) integer(1264)operator(,) integer(1271)operator(,) integer(1275)operator(,) integer(1279)operator(,) integer(1284)operator(,) integer(1291)operator(,) integer(1292)operator(,) integer(1295)operator(,) integer(1300)operator(,) integer(1304)operator(,) integer(1309)operator(,) integer(1314)operator(,) integer(1319)operator(,) integer(1324)operator(,) integer(1330)operator(,) integer(1334)operator(,) integer(1337)operator(,) integer(1341)operator(,) integer(1345)operator(,) integer(1350)operator(,) integer(1355)operator(,) integer(1360)operator(,) integer(1365)operator(,) integer(1370)operator(,) integer(1375)operator(,) integer(1380)operator(,) integer(1385)operator(,) integer(1389)operator(,) integer(1392)operator(,) integer(1392)operator(,) integer(1404)operator(,) integer(1405)operator(,) integer(1405)operator(,) integer(1410)operator(,) integer(1410)operator(,) integer(1417)operator(,) integer(1423)operator(,) integer(1427)operator(,) integer(1430)operator(,) integer(1434)operator(,) integer(1440)operator(,) integer(1444)operator(,) integer(1448)operator(,) integer(1454)operator(,) integer(1455)operator(,) integer(1456)operator(,) integer(1457)operator(,) integer(1458)operator(,) integer(1459)operator(,) integer(1460)operator(,) integer(1461)operator(,) integer(1462)operator(,) integer(1467)operator(,) integer(1466)operator(,) integer(1479)operator(,) integer(1479)operator(,) integer(1484)operator(,) integer(1489)operator(,) integer(1493)operator(,) integer(1497)operator(,) integer(1505)operator(,) integer(1514)operator(,) integer(1518)operator(,) integer(1522)operator(,) integer(1526)operator(,) integer(1530)operator(,) integer(1534)operator(,) integer(1534)operator(,) integer(1539)operator(,) integer(1545)operator(,) integer(1546)operator(,) integer(1555)operator(,) integer(1568)operator(,) integer(1581)operator(,) integer(1581)operator(,) integer(1581)operator(,) integer(1591)operator(,) integer(1591)operator(,) integer(1591)operator(,) integer(1601)operator(,) integer(1608)operator(,) integer(1612)operator(,) integer(1616)operator(,) integer(1616)operator(,) integer(1616)operator(,) integer(1624)operator(,) integer(1623)operator(,) integer(1640)operator(,) integer(1645)operator(,) integer(1639)operator(,) integer(1662)operator(,) integer(1661)operator(,) integer(1678)operator(,) integer(1677)operator(,) integer(1695)operator(,) integer(1696)operator(,) integer(1695)operator(,) integer(1710)operator(,) integer(1714)operator(,) integer(1718)operator(,) integer(1722)operator(,) integer(1728)operator(,) integer(1735)operator(,) integer(1736)operator(,) integer(1737)operator(,) integer(1738)operator(,) integer(1741)operator(,) integer(1742)operator(,) integer(1743)operator(,) integer(1746)operator(,) integer(1747)operator(,) integer(1756)operator(,) integer(1757)operator(,) integer(1763)operator(,) integer(1764)operator(,) integer(1767)operator(,) integer(1768)operator(,) integer(1772)operator(,) integer(1776)operator(,) integer(1783)operator(,) integer(1787)operator(,) integer(1782)operator(,) integer(1797)operator(,) integer(1806)operator(,) integer(1810)operator(,) integer(1816)operator(,) integer(1821)operator(,) integer(1826)operator(,) integer(1831)operator(,) integer(1835)operator(,) integer(1839)operator(,) integer(1846)operator(,) integer(1850)operator(,) integer(1845)operator(,) integer(1858)operator(,) integer(1862)operator(,) integer(1857)operator(,) integer(1871)operator(,) integer(1878)operator(,) integer(1879)operator(,) integer(1883)operator(,) integer(1889)operator(,) integer(1890)operator(,) integer(1893)operator(,) integer(1904)operator(,) integer(1907)operator(,) integer(1911)operator(,) integer(1912)operator(,) integer(1915)operator(,) integer(1919)operator(,) integer(1922)operator(,) integer(1930)operator(,) integer(1933)operator(,) integer(1934)operator(,) integer(1938)operator(,) integer(1941)operator(,) integer(1954)operator(,) integer(1955)operator(,) integer(1961)operator(,) integer(1967)operator(,) integer(1990)operator(,) integer(2023)operator(,) integer(2027)operator(,) integer(2034)operator(,) integer(2037)operator(,) integer(2043)operator(,) integer(2044)operator(,) integer(2050)operator(,) integer(2054)operator(,) integer(2061)operator(,) integer(2064)operator(,) integer(2071)operator(,) integer(2074)operator(,) integer(2081)operator(,) integer(2084)operator(,) integer(2090)operator(,) integer(2092)operator(,) integer(2091)operator(,) integer(2103)operator(,) integer(2102)operator(,) integer(2123)operator(,) integer(2124)operator(,) integer(2125)operator(,) integer(2126)operator(,) integer(2129)operator(,) integer(2136)operator(,) integer(2137)operator(,) integer(2138)operator(,) integer(2139)operator(,) integer(2142)operator(,) integer(2176)operator(,) integer(2177)operator(,) integer(2178)operator(,) integer(2182)operator(,) integer(2188)operator(,) integer(2189)operator(,) integer(2190)operator(,) integer(2191)operator(,) integer(2192)operator(,) integer(2193)operator(,) integer(2194)operator(,) integer(2195)operator(,) integer(2196)operator(,) integer(2197)operator(,) integer(2198)operator(,) integer(2201)operator(,) integer(2207)operator(,) integer(2213)operator(,) integer(2214)operator(,) integer(2217)operator(,) integer(2222)operator(,) integer(2221)operator(,) integer(2229)operator(,) integer(2232)operator(,) integer(2238)operator(,) integer(2244)operator(,) integer(2248)operator(,) integer(2252)operator(,) integer(2256)operator(,) integer(2260)operator(,) integer(2264)operator(,) integer(2268)operator(,) integer(2272)operator(,) integer(2277)operator(,) integer(2282)operator(,) integer(2286)operator(,) integer(2290)operator(,) integer(2294)operator(,) integer(2298)operator(,) integer(2309)operator(,) integer(2310)operator(,) integer(2316)operator(,) integer(2326)operator(,) integer(2331)operator(,) integer(2337)operator(,) integer(2338)operator(,) integer(2341)operator(,) integer(2352)operator(,) integer(2363)operator(,) integer(2364)operator(,) integer(2367)operator(,) integer(2377)operator(,) integer(2381)operator(,) integer(2384)operator(,) integer(2389)operator(,) integer(2389)operator(,) integer(2414)operator(,) integer(2415)operator(,) integer(2419)operator(,) integer(2428)operator(,) integer(2429)operator(,) integer(2435)operator(,) integer(2441)operator(,) integer(2442)operator(,) integer(2443)operator(,) integer(2446)operator(,) integer(2447)operator(,) integer(2448)operator(,) integer(2449)operator(,) integer(2452)operator(,) integer(2453)operator(,) integer(2454)operator(,) integer(2457)operator(,) integer(2458)operator(,) integer(2461)operator(,) integer(2462)operator(,) integer(2465)operator(,) integer(2466)operator(,) integer(2469)operator(,) integer(2470)operator(,) integer(2471)operator(,) integer(2474)operator(,) integer(2475)operator(,) integer(2478)operator(,) integer(2479)operator(,) integer(2482) operator(};) preprocessor(#endif) preprocessor(#if) ident(YYDEBUG) operator(||) ident(YYERROR_VERBOSE) operator(||) ident(YYTOKEN_TABLE) comment(/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */) directive(static) directive(const) pre_type(char) operator(*)directive(const) ident(yytname)operator([]) operator(=) operator({) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) string')delimiter(")>operator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) integer(0) operator(};) preprocessor(#endif) preprocessor(# ifdef) ident(YYPRINT) comment(/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */) directive(static) directive(const) ident(yytype_uint16) ident(yytoknum)operator([]) operator(=) operator({) integer(0)operator(,) integer(256)operator(,) integer(257)operator(,) integer(258)operator(,) integer(259)operator(,) integer(260)operator(,) integer(261)operator(,) integer(262)operator(,) integer(263)operator(,) integer(264)operator(,) integer(265)operator(,) integer(266)operator(,) integer(267)operator(,) integer(268)operator(,) integer(269)operator(,) integer(270)operator(,) integer(271)operator(,) integer(272)operator(,) integer(273)operator(,) integer(274)operator(,) integer(275)operator(,) integer(276)operator(,) integer(277)operator(,) integer(278)operator(,) integer(279)operator(,) integer(280)operator(,) integer(281)operator(,) integer(282)operator(,) integer(283)operator(,) integer(284)operator(,) integer(285)operator(,) integer(286)operator(,) integer(287)operator(,) integer(288)operator(,) integer(289)operator(,) integer(290)operator(,) integer(291)operator(,) integer(292)operator(,) integer(293)operator(,) integer(294)operator(,) integer(295)operator(,) integer(296)operator(,) integer(297)operator(,) integer(298)operator(,) integer(299)operator(,) integer(300)operator(,) integer(301)operator(,) integer(302)operator(,) integer(303)operator(,) integer(304)operator(,) integer(305)operator(,) integer(306)operator(,) integer(307)operator(,) integer(308)operator(,) integer(309)operator(,) integer(310)operator(,) integer(311)operator(,) integer(312)operator(,) integer(313)operator(,) integer(314)operator(,) integer(315)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(329)operator(,) integer(330)operator(,) integer(331)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(342)operator(,) integer(343)operator(,) integer(344)operator(,) integer(345)operator(,) integer(346)operator(,) integer(347)operator(,) integer(348)operator(,) integer(349)operator(,) integer(350)operator(,) integer(351)operator(,) integer(352)operator(,) integer(353)operator(,) integer(354)operator(,) integer(355)operator(,) integer(356)operator(,) integer(357)operator(,) integer(61)operator(,) integer(63)operator(,) integer(58)operator(,) integer(62)operator(,) integer(60)operator(,) integer(124)operator(,) integer(94)operator(,) integer(38)operator(,) integer(43)operator(,) integer(45)operator(,) integer(42)operator(,) integer(47)operator(,) integer(37)operator(,) integer(358)operator(,) integer(33)operator(,) integer(126)operator(,) integer(359)operator(,) integer(123)operator(,) integer(125)operator(,) integer(91)operator(,) integer(93)operator(,) integer(46)operator(,) integer(41)operator(,) integer(44)operator(,) integer(96)operator(,) integer(40)operator(,) integer(32)operator(,) integer(10)operator(,) integer(59) operator(};) preprocessor(# endif) comment(/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */) directive(static) directive(const) ident(yytype_uint16) ident(yyr1)operator([]) operator(=) operator({) integer(0)operator(,) integer(132)operator(,) integer(134)operator(,) integer(133)operator(,) integer(135)operator(,) integer(136)operator(,) integer(137)operator(,) integer(137)operator(,) integer(137)operator(,) integer(137)operator(,) integer(139)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(140)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(138)operator(,) integer(141)operator(,) integer(141)operator(,) integer(141)operator(,) integer(141)operator(,) integer(141)operator(,) integer(141)operator(,) integer(142)operator(,) integer(143)operator(,) integer(143)operator(,) integer(143)operator(,) integer(143)operator(,) integer(143)operator(,) integer(144)operator(,) integer(144)operator(,) integer(144)operator(,) integer(146)operator(,) integer(147)operator(,) integer(145)operator(,) integer(148)operator(,) integer(148)operator(,) integer(148)operator(,) integer(148)operator(,) integer(148)operator(,) integer(148)operator(,) integer(148)operator(,) integer(148)operator(,) integer(149)operator(,) integer(149)operator(,) integer(150)operator(,) integer(150)operator(,) integer(151)operator(,) integer(151)operator(,) integer(151)operator(,) integer(151)operator(,) integer(151)operator(,) integer(151)operator(,) integer(152)operator(,) integer(152)operator(,) integer(153)operator(,) integer(153)operator(,) integer(154)operator(,) integer(154)operator(,) integer(154)operator(,) integer(154)operator(,) integer(154)operator(,) integer(154)operator(,) integer(154)operator(,) integer(154)operator(,) integer(155)operator(,) integer(155)operator(,) integer(155)operator(,) integer(155)operator(,) integer(155)operator(,) integer(155)operator(,) integer(155)operator(,) integer(155)operator(,) integer(156)operator(,) integer(156)operator(,) integer(157)operator(,) integer(157)operator(,) integer(157)operator(,) integer(158)operator(,) integer(158)operator(,) integer(158)operator(,) integer(158)operator(,) integer(158)operator(,) integer(159)operator(,) integer(159)operator(,) integer(160)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(161)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(163)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(164)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(166)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(167)operator(,) integer(168)operator(,) integer(168)operator(,) integer(168)operator(,) integer(168)operator(,) integer(168)operator(,) integer(168)operator(,) integer(169)operator(,) integer(169)operator(,) integer(169)operator(,) integer(169)operator(,) integer(170)operator(,) integer(170)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(171)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(172)operator(,) integer(174)operator(,) integer(173)operator(,) integer(175)operator(,) integer(176)operator(,) integer(175)operator(,) integer(177)operator(,) integer(175)operator(,) integer(178)operator(,) integer(179)operator(,) integer(179)operator(,) integer(180)operator(,) integer(180)operator(,) integer(181)operator(,) integer(181)operator(,) integer(181)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(183)operator(,) integer(182)operator(,) integer(184)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(185)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(186)operator(,) integer(187)operator(,) integer(182)operator(,) integer(188)operator(,) integer(189)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(190)operator(,) integer(191)operator(,) integer(182)operator(,) integer(192)operator(,) integer(182)operator(,) integer(193)operator(,) integer(194)operator(,) integer(182)operator(,) integer(195)operator(,) integer(182)operator(,) integer(196)operator(,) integer(182)operator(,) integer(197)operator(,) integer(198)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(182)operator(,) integer(199)operator(,) integer(200)operator(,) integer(200)operator(,) integer(200)operator(,) integer(200)operator(,) integer(201)operator(,) integer(201)operator(,) integer(201)operator(,) integer(202)operator(,) integer(202)operator(,) integer(203)operator(,) integer(203)operator(,) integer(204)operator(,) integer(204)operator(,) integer(205)operator(,) integer(205)operator(,) integer(205)operator(,) integer(205)operator(,) integer(207)operator(,) integer(208)operator(,) integer(206)operator(,) integer(209)operator(,) integer(209)operator(,) integer(209)operator(,) integer(210)operator(,) integer(210)operator(,) integer(210)operator(,) integer(210)operator(,) integer(210)operator(,) integer(210)operator(,) integer(212)operator(,) integer(213)operator(,) integer(211)operator(,) integer(214)operator(,) integer(215)operator(,) integer(211)operator(,) integer(216)operator(,) integer(217)operator(,) integer(217)operator(,) integer(217)operator(,) integer(218)operator(,) integer(218)operator(,) integer(219)operator(,) integer(219)operator(,) integer(220)operator(,) integer(220)operator(,) integer(220)operator(,) integer(221)operator(,) integer(221)operator(,) integer(222)operator(,) integer(222)operator(,) integer(223)operator(,) integer(223)operator(,) integer(223)operator(,) integer(224)operator(,) integer(225)operator(,) integer(225)operator(,) integer(226)operator(,) integer(227)operator(,) integer(228)operator(,) integer(229)operator(,) integer(229)operator(,) integer(230)operator(,) integer(230)operator(,) integer(231)operator(,) integer(231)operator(,) integer(232)operator(,) integer(232)operator(,) integer(233)operator(,) integer(233)operator(,) integer(234)operator(,) integer(234)operator(,) integer(235)operator(,) integer(235)operator(,) integer(236)operator(,) integer(237)operator(,) integer(236)operator(,) integer(238)operator(,) integer(236)operator(,) integer(239)operator(,) integer(239)operator(,) integer(239)operator(,) integer(239)operator(,) integer(240)operator(,) integer(241)operator(,) integer(241)operator(,) integer(241)operator(,) integer(241)operator(,) integer(242)operator(,) integer(243)operator(,) integer(243)operator(,) integer(243)operator(,) integer(243)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(244)operator(,) integer(245)operator(,) integer(246)operator(,) integer(247)operator(,) integer(247)operator(,) integer(248)operator(,) integer(249)operator(,) integer(248)operator(,) integer(248)operator(,) integer(250)operator(,) integer(250)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(251)operator(,) integer(252)operator(,) integer(252)operator(,) integer(252)operator(,) integer(252)operator(,) integer(252)operator(,) integer(253)operator(,) integer(253)operator(,) integer(254)operator(,) integer(255)operator(,) integer(255)operator(,) integer(256)operator(,) integer(256)operator(,) integer(257)operator(,) integer(257)operator(,) integer(258)operator(,) integer(258)operator(,) integer(259)operator(,) integer(260)operator(,) integer(260)operator(,) integer(261)operator(,) integer(262)operator(,) integer(261)operator(,) integer(263)operator(,) integer(263)operator(,) integer(263)operator(,) integer(264)operator(,) integer(264)operator(,) integer(265)operator(,) integer(266)operator(,) integer(266)operator(,) integer(266)operator(,) integer(267)operator(,) integer(267)operator(,) integer(267)operator(,) integer(267)operator(,) integer(268)operator(,) integer(268)operator(,) integer(268)operator(,) integer(269)operator(,) integer(269)operator(,) integer(270)operator(,) integer(270)operator(,) integer(271)operator(,) integer(271)operator(,) integer(272)operator(,) integer(272)operator(,) integer(272)operator(,) integer(273)operator(,) integer(273)operator(,) integer(274)operator(,) integer(274)operator(,) integer(275) operator(};) comment(/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */) directive(static) directive(const) ident(yytype_uint8) ident(yyr2)operator([]) operator(=) operator({) integer(0)operator(,) integer(2)operator(,) integer(0)operator(,) integer(2)operator(,) integer(4)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(2)operator(,) integer(0)operator(,) integer(4)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(0)operator(,) integer(5)operator(,) integer(4)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(6)operator(,) integer(5)operator(,) integer(5)operator(,) integer(5)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(3)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(4)operator(,) integer(4)operator(,) integer(0)operator(,) integer(0)operator(,) integer(6)operator(,) integer(2)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(4)operator(,) integer(5)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(3)operator(,) integer(1)operator(,) integer(3)operator(,) integer(1)operator(,) integer(2)operator(,) integer(3)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(2)operator(,) integer(3)operator(,) integer(1)operator(,) integer(4)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(4)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(3)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(4)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(5)operator(,) integer(3)operator(,) integer(6)operator(,) integer(5)operator(,) integer(5)operator(,) integer(5)operator(,) integer(5)operator(,) integer(4)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(4)operator(,) integer(4)operator(,) integer(2)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(2)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(0)operator(,) integer(4)operator(,) integer(5)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(5)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(4)operator(,) integer(4)operator(,) integer(6)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(5)operator(,) integer(2)operator(,) integer(5)operator(,) integer(4)operator(,) integer(7)operator(,) integer(3)operator(,) integer(1)operator(,) integer(4)operator(,) integer(3)operator(,) integer(5)operator(,) integer(7)operator(,) integer(2)operator(,) integer(5)operator(,) integer(4)operator(,) integer(6)operator(,) integer(7)operator(,) integer(9)operator(,) integer(3)operator(,) integer(1)operator(,) integer(0)operator(,) integer(2)operator(,) integer(1)operator(,) integer(0)operator(,) integer(3)operator(,) integer(0)operator(,) integer(4)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(3)operator(,) integer(4)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(3)operator(,) integer(3)operator(,) integer(2)operator(,) integer(4)operator(,) integer(3)operator(,) integer(3)operator(,) integer(1)operator(,) integer(4)operator(,) integer(3)operator(,) integer(1)operator(,) integer(0)operator(,) integer(6)operator(,) integer(2)operator(,) integer(1)operator(,) integer(2)operator(,) integer(6)operator(,) integer(6)operator(,) integer(0)operator(,) integer(0)operator(,) integer(7)operator(,) integer(0)operator(,) integer(0)operator(,) integer(7)operator(,) integer(5)operator(,) integer(4)operator(,) integer(5)operator(,) integer(0)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(6)operator(,) integer(0)operator(,) integer(0)operator(,) integer(8)operator(,) integer(0)operator(,) integer(5)operator(,) integer(0)operator(,) integer(6)operator(,) integer(0)operator(,) integer(0)operator(,) integer(9)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(5)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(3)operator(,) integer(0)operator(,) integer(0)operator(,) integer(6)operator(,) integer(2)operator(,) integer(4)operator(,) integer(4)operator(,) integer(2)operator(,) integer(4)operator(,) integer(4)operator(,) integer(3)operator(,) integer(2)operator(,) integer(1)operator(,) integer(0)operator(,) integer(0)operator(,) integer(6)operator(,) integer(0)operator(,) integer(0)operator(,) integer(6)operator(,) integer(5)operator(,) integer(1)operator(,) integer(4)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(6)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(0)operator(,) integer(3)operator(,) integer(1)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(0)operator(,) integer(3)operator(,) integer(0)operator(,) integer(2)operator(,) integer(0)operator(,) integer(2)operator(,) integer(1)operator(,) integer(0)operator(,) integer(3)operator(,) integer(0)operator(,) integer(4)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(4)operator(,) integer(2)operator(,) integer(4)operator(,) integer(2)operator(,) integer(6)operator(,) integer(4)operator(,) integer(4)operator(,) integer(2)operator(,) integer(4)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(3)operator(,) integer(3)operator(,) integer(1)operator(,) integer(3)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(5)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(1)operator(,) integer(3)operator(,) integer(3)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(1)operator(,) integer(0)operator(,) integer(1)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(0) operator(};) comment(/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */) directive(static) directive(const) ident(yytype_uint16) ident(yydefact)operator([]) operator(=) operator({) integer(2)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(278)operator(,) integer(0)operator(,) integer(0)operator(,) integer(490)operator(,) integer(299)operator(,) integer(302)operator(,) integer(0)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(288)operator(,) integer(291)operator(,) integer(356)operator(,) integer(426)operator(,) integer(425)operator(,) integer(427)operator(,) integer(428)operator(,) integer(0)operator(,) integer(0)operator(,) integer(492)operator(,) integer(21)operator(,) integer(0)operator(,) integer(430)operator(,) integer(429)operator(,) integer(420)operator(,) integer(277)operator(,) integer(422)operator(,) integer(421)operator(,) integer(423)operator(,) integer(424)operator(,) integer(416)operator(,) integer(417)operator(,) integer(433)operator(,) integer(434)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(501)operator(,) integer(501)operator(,) integer(71)operator(,) integer(399)operator(,) integer(397)operator(,) integer(399)operator(,) integer(399)operator(,) integer(389)operator(,) integer(395)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(3)operator(,) integer(490)operator(,) integer(7)operator(,) integer(35)operator(,) integer(36)operator(,) integer(44)operator(,) integer(43)operator(,) integer(0)operator(,) integer(62)operator(,) integer(0)operator(,) integer(66)operator(,) integer(72)operator(,) integer(0)operator(,) integer(41)operator(,) integer(219)operator(,) integer(0)operator(,) integer(48)operator(,) integer(295)operator(,) integer(269)operator(,) integer(270)operator(,) integer(381)operator(,) integer(382)operator(,) integer(271)operator(,) integer(272)operator(,) integer(273)operator(,) integer(274)operator(,) integer(379)operator(,) integer(380)operator(,) integer(378)operator(,) integer(431)operator(,) integer(275)operator(,) integer(0)operator(,) integer(276)operator(,) integer(254)operator(,) integer(6)operator(,) integer(9)operator(,) integer(323)operator(,) integer(324)operator(,) integer(288)operator(,) integer(291)operator(,) integer(356)operator(,) integer(492)operator(,) integer(92)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(95)operator(,) integer(0)operator(,) integer(327)operator(,) integer(0)operator(,) integer(431)operator(,) integer(276)operator(,) integer(0)operator(,) integer(316)operator(,) integer(144)operator(,) integer(155)operator(,) integer(145)operator(,) integer(168)operator(,) integer(141)operator(,) integer(161)operator(,) integer(151)operator(,) integer(150)operator(,) integer(171)operator(,) integer(172)operator(,) integer(166)operator(,) integer(149)operator(,) integer(148)operator(,) integer(143)operator(,) integer(169)operator(,) integer(173)operator(,) integer(174)operator(,) integer(153)operator(,) integer(142)operator(,) integer(156)operator(,) integer(160)operator(,) integer(162)operator(,) integer(154)operator(,) integer(147)operator(,) integer(163)operator(,) integer(170)operator(,) integer(165)operator(,) integer(164)operator(,) integer(157)operator(,) integer(167)operator(,) integer(152)operator(,) integer(140)operator(,) integer(159)operator(,) integer(158)operator(,) integer(139)operator(,) integer(146)operator(,) integer(137)operator(,) integer(138)operator(,) integer(135)operator(,) integer(136)operator(,) integer(97)operator(,) integer(99)operator(,) integer(98)operator(,) integer(130)operator(,) integer(131)operator(,) integer(128)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(117)operator(,) integer(119)operator(,) integer(115)operator(,) integer(132)operator(,) integer(133)operator(,) integer(120)operator(,) integer(121)operator(,) integer(125)operator(,) integer(116)operator(,) integer(118)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(122)operator(,) integer(123)operator(,) integer(124)operator(,) integer(126)operator(,) integer(127)operator(,) integer(129)operator(,) integer(134)operator(,) integer(470)operator(,) integer(318)operator(,) integer(100)operator(,) integer(101)operator(,) integer(469)operator(,) integer(0)operator(,) integer(164)operator(,) integer(157)operator(,) integer(167)operator(,) integer(152)operator(,) integer(135)operator(,) integer(136)operator(,) integer(97)operator(,) integer(98)operator(,) integer(102)operator(,) integer(104)operator(,) integer(106)operator(,) integer(15)operator(,) integer(103)operator(,) integer(105)operator(,) integer(0)operator(,) integer(0)operator(,) integer(42)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(431)operator(,) integer(0)operator(,) integer(276)operator(,) integer(0)operator(,) integer(498)operator(,) integer(497)operator(,) integer(490)operator(,) integer(0)operator(,) integer(499)operator(,) integer(491)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(340)operator(,) integer(339)operator(,) integer(0)operator(,) integer(0)operator(,) integer(431)operator(,) integer(276)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(233)operator(,) integer(220)operator(,) integer(264)operator(,) integer(46)operator(,) integer(241)operator(,) integer(501)operator(,) integer(501)operator(,) integer(475)operator(,) integer(47)operator(,) integer(45)operator(,) integer(0)operator(,) integer(61)operator(,) integer(0)operator(,) integer(501)operator(,) integer(355)operator(,) integer(60)operator(,) integer(39)operator(,) integer(0)operator(,) integer(10)operator(,) integer(493)operator(,) integer(216)operator(,) integer(0)operator(,) integer(0)operator(,) integer(195)operator(,) integer(0)operator(,) integer(196)operator(,) integer(284)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(62)operator(,) integer(280)operator(,) integer(0)operator(,) integer(492)operator(,) integer(0)operator(,) integer(494)operator(,) integer(494)operator(,) integer(221)operator(,) integer(494)operator(,) integer(0)operator(,) integer(494)operator(,) integer(472)operator(,) integer(0)operator(,) integer(70)operator(,) integer(0)operator(,) integer(76)operator(,) integer(83)operator(,) integer(413)operator(,) integer(412)operator(,) integer(414)operator(,) integer(411)operator(,) integer(0)operator(,) integer(410)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(418)operator(,) integer(419)operator(,) integer(40)operator(,) integer(210)operator(,) integer(211)operator(,) integer(5)operator(,) integer(491)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(345)operator(,) integer(348)operator(,) integer(0)operator(,) integer(74)operator(,) integer(0)operator(,) integer(69)operator(,) integer(67)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(360)operator(,) integer(357)operator(,) integer(296)operator(,) integer(383)operator(,) integer(0)operator(,) integer(0)operator(,) integer(351)operator(,) integer(54)operator(,) integer(294)operator(,) integer(0)operator(,) integer(313)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(418)operator(,) integer(419)operator(,) integer(0)operator(,) integer(436)operator(,) integer(311)operator(,) integer(435)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(449)operator(,) integer(489)operator(,) integer(488)operator(,) integer(320)operator(,) integer(107)operator(,) integer(0)operator(,) integer(501)operator(,) integer(284)operator(,) integer(330)operator(,) integer(329)operator(,) integer(0)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(500)operator(,) integer(0)operator(,) integer(0)operator(,) integer(284)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(308)operator(,) integer(501)operator(,) integer(261)operator(,) integer(0)operator(,) integer(0)operator(,) integer(234)operator(,) integer(263)operator(,) integer(0)operator(,) integer(236)operator(,) integer(290)operator(,) integer(0)operator(,) integer(257)operator(,) integer(256)operator(,) integer(255)operator(,) integer(233)operator(,) integer(492)operator(,) integer(501)operator(,) integer(492)operator(,) integer(0)operator(,) integer(12)operator(,) integer(14)operator(,) integer(13)operator(,) integer(0)operator(,) integer(292)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(282)operator(,) integer(63)operator(,) integer(492)operator(,) integer(492)operator(,) integer(222)operator(,) integer(286)operator(,) integer(496)operator(,) integer(495)operator(,) integer(223)operator(,) integer(496)operator(,) integer(225)operator(,) integer(496)operator(,) integer(474)operator(,) integer(287)operator(,) integer(473)operator(,) integer(82)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(401)operator(,) integer(404)operator(,) integer(402)operator(,) integer(415)operator(,) integer(400)operator(,) integer(384)operator(,) integer(398)operator(,) integer(385)operator(,) integer(386)operator(,) integer(387)operator(,) integer(388)operator(,) integer(0)operator(,) integer(391)operator(,) integer(393)operator(,) integer(0)operator(,) integer(394)operator(,) integer(0)operator(,) integer(0)operator(,) integer(8)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(37)operator(,) integer(38)operator(,) integer(501)operator(,) integer(0)operator(,) integer(25)operator(,) integer(33)operator(,) integer(0)operator(,) integer(34)operator(,) integer(0)operator(,) integer(68)operator(,) integer(75)operator(,) integer(24)operator(,) integer(175)operator(,) integer(264)operator(,) integer(32)operator(,) integer(192)operator(,) integer(200)operator(,) integer(205)operator(,) integer(206)operator(,) integer(207)operator(,) integer(202)operator(,) integer(204)operator(,) integer(214)operator(,) integer(215)operator(,) integer(208)operator(,) integer(209)operator(,) integer(185)operator(,) integer(186)operator(,) integer(212)operator(,) integer(213)operator(,) integer(0)operator(,) integer(201)operator(,) integer(203)operator(,) integer(197)operator(,) integer(198)operator(,) integer(199)operator(,) integer(187)operator(,) integer(188)operator(,) integer(189)operator(,) integer(190)operator(,) integer(191)operator(,) integer(481)operator(,) integer(486)operator(,) integer(482)operator(,) integer(487)operator(,) integer(254)operator(,) integer(354)operator(,) integer(0)operator(,) integer(481)operator(,) integer(483)operator(,) integer(482)operator(,) integer(484)operator(,) integer(501)operator(,) integer(481)operator(,) integer(482)operator(,) integer(254)operator(,) integer(254)operator(,) integer(501)operator(,) integer(501)operator(,) integer(26)operator(,) integer(177)operator(,) integer(31)operator(,) integer(184)operator(,) integer(51)operator(,) integer(55)operator(,) integer(0)operator(,) integer(438)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(93)operator(,) integer(96)operator(,) integer(0)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(492)operator(,) integer(454)operator(,) integer(452)operator(,) integer(451)operator(,) integer(450)operator(,) integer(453)operator(,) integer(461)operator(,) integer(465)operator(,) integer(464)operator(,) integer(460)operator(,) integer(449)operator(,) integer(0)operator(,) integer(0)operator(,) integer(455)operator(,) integer(501)operator(,) integer(458)operator(,) integer(501)operator(,) integer(463)operator(,) integer(501)operator(,) integer(0)operator(,) integer(448)operator(,) integer(0)operator(,) integer(0)operator(,) integer(279)operator(,) integer(501)operator(,) integer(501)operator(,) integer(370)operator(,) integer(501)operator(,) integer(331)operator(,) integer(175)operator(,) integer(485)operator(,) integer(283)operator(,) integer(0)operator(,) integer(481)operator(,) integer(482)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(364)operator(,) integer(0)operator(,) integer(306)operator(,) integer(334)operator(,) integer(333)operator(,) integer(300)operator(,) integer(332)operator(,) integer(303)operator(,) integer(485)operator(,) integer(283)operator(,) integer(0)operator(,) integer(481)operator(,) integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(240)operator(,) integer(477)operator(,) integer(0)operator(,) integer(265)operator(,) integer(262)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(476)operator(,) integer(289)operator(,) integer(0)operator(,) integer(41)operator(,) integer(0)operator(,) integer(259)operator(,) integer(0)operator(,) integer(253)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(227)operator(,) integer(11)operator(,) integer(0)operator(,) integer(217)operator(,) integer(0)operator(,) integer(23)operator(,) integer(183)operator(,) integer(63)operator(,) integer(0)operator(,) integer(226)operator(,) integer(0)operator(,) integer(265)operator(,) integer(79)operator(,) integer(81)operator(,) integer(0)operator(,) integer(481)operator(,) integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(390)operator(,) integer(392)operator(,) integer(396)operator(,) integer(193)operator(,) integer(194)operator(,) integer(343)operator(,) integer(0)operator(,) integer(346)operator(,) integer(341)operator(,) integer(268)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(353)operator(,) integer(58)operator(,) integer(285)operator(,) integer(0)operator(,) integer(0)operator(,) integer(232)operator(,) integer(352)operator(,) integer(56)operator(,) integer(231)operator(,) integer(350)operator(,) integer(50)operator(,) integer(349)operator(,) integer(49)operator(,) integer(361)operator(,) integer(358)operator(,) integer(501)operator(,) integer(314)operator(,) integer(0)operator(,) integer(0)operator(,) integer(285)operator(,) integer(317)operator(,) integer(0)operator(,) integer(0)operator(,) integer(492)operator(,) integer(0)operator(,) integer(440)operator(,) integer(0)operator(,) integer(444)operator(,) integer(468)operator(,) integer(0)operator(,) integer(446)operator(,) integer(462)operator(,) integer(0)operator(,) integer(447)operator(,) integer(466)operator(,) integer(321)operator(,) integer(108)operator(,) integer(371)operator(,) integer(372)operator(,) integer(501)operator(,) integer(373)operator(,) integer(0)operator(,) integer(501)operator(,) integer(337)operator(,) integer(0)operator(,) integer(0)operator(,) integer(335)operator(,) integer(0)operator(,) integer(285)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(305)operator(,) integer(307)operator(,) integer(366)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(285)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(238)operator(,) integer(501)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(258)operator(,) integer(0)operator(,) integer(246)operator(,) integer(228)operator(,) integer(0)operator(,) integer(492)operator(,) integer(501)operator(,) integer(501)operator(,) integer(229)operator(,) integer(0)operator(,) integer(22)operator(,) integer(281)operator(,) integer(492)operator(,) integer(77)operator(,) integer(0)operator(,) integer(406)operator(,) integer(407)operator(,) integer(408)operator(,) integer(403)operator(,) integer(409)operator(,) integer(342)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(266)operator(,) integer(176)operator(,) integer(218)operator(,) integer(30)operator(,) integer(181)operator(,) integer(182)operator(,) integer(59)operator(,) integer(0)operator(,) integer(28)operator(,) integer(179)operator(,) integer(29)operator(,) integer(180)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(0)operator(,) integer(437)operator(,) integer(312)operator(,) integer(471)operator(,) integer(457)operator(,) integer(0)operator(,) integer(319)operator(,) integer(456)operator(,) integer(501)operator(,) integer(501)operator(,) integer(467)operator(,) integer(0)operator(,) integer(459)operator(,) integer(501)operator(,) integer(449)operator(,) integer(0)operator(,) integer(0)operator(,) integer(375)operator(,) integer(338)operator(,) integer(0)operator(,) integer(4)operator(,) integer(377)operator(,) integer(0)operator(,) integer(297)operator(,) integer(0)operator(,) integer(298)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(309)operator(,) integer(235)operator(,) integer(0)operator(,) integer(237)operator(,) integer(252)operator(,) integer(0)operator(,) integer(243)operator(,) integer(501)operator(,) integer(501)operator(,) integer(260)operator(,) integer(0)operator(,) integer(0)operator(,) integer(293)operator(,) integer(224)operator(,) integer(405)operator(,) integer(344)operator(,) integer(0)operator(,) integer(267)operator(,) integer(27)operator(,) integer(178)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(439)operator(,) integer(0)operator(,) integer(442)operator(,) integer(443)operator(,) integer(445)operator(,) integer(0)operator(,) integer(0)operator(,) integer(374)operator(,) integer(0)operator(,) integer(84)operator(,) integer(91)operator(,) integer(0)operator(,) integer(376)operator(,) integer(0)operator(,) integer(365)operator(,) integer(367)operator(,) integer(368)operator(,) integer(363)operator(,) integer(301)operator(,) integer(304)operator(,) integer(0)operator(,) integer(501)operator(,) integer(501)operator(,) integer(0)operator(,) integer(242)operator(,) integer(0)operator(,) integer(248)operator(,) integer(501)operator(,) integer(230)operator(,) integer(347)operator(,) integer(362)operator(,) integer(359)operator(,) integer(0)operator(,) integer(315)operator(,) integer(501)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(501)operator(,) integer(501)operator(,) integer(0)operator(,) integer(239)operator(,) integer(244)operator(,) integer(0)operator(,) integer(501)operator(,) integer(0)operator(,) integer(247)operator(,) integer(53)operator(,) integer(441)operator(,) integer(322)operator(,) integer(485)operator(,) integer(89)operator(,) integer(0)operator(,) integer(481)operator(,) integer(482)operator(,) integer(369)operator(,) integer(336)operator(,) integer(310)operator(,) integer(501)operator(,) integer(0)operator(,) integer(249)operator(,) integer(501)operator(,) integer(85)operator(,) integer(245)operator(,) integer(0)operator(,) integer(250)operator(,) integer(501)operator(,) integer(251) operator(};) comment(/* YYDEFGOTO[NTERM-NUM]. */) directive(static) directive(const) ident(yytype_int16) ident(yydefgoto)operator([]) operator(=) operator({) operator(-)integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(377)operator(,) integer(378)operator(,) integer(62)operator(,) integer(63)operator(,) integer(424)operator(,) integer(255)operator(,) integer(64)operator(,) integer(209)operator(,) integer(65)operator(,) integer(66)operator(,) integer(540)operator(,) integer(678)operator(,) integer(823)operator(,) integer(67)operator(,) integer(68)operator(,) integer(263)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(210)operator(,) integer(109)operator(,) integer(110)operator(,) integer(200)operator(,) integer(201)operator(,) integer(202)operator(,) integer(203)operator(,) integer(574)operator(,) integer(527)operator(,) integer(189)operator(,) integer(74)operator(,) integer(426)operator(,) integer(236)operator(,) integer(268)operator(,) integer(668)operator(,) integer(669)operator(,) integer(237)operator(,) integer(619)operator(,) integer(245)operator(,) integer(246)operator(,) integer(415)operator(,) integer(620)operator(,) integer(730)operator(,) integer(610)operator(,) integer(407)operator(,) integer(269)operator(,) integer(483)operator(,) integer(75)operator(,) integer(206)operator(,) integer(435)operator(,) integer(630)operator(,) integer(222)operator(,) integer(720)operator(,) integer(223)operator(,) integer(721)operator(,) integer(604)operator(,) integer(845)operator(,) integer(544)operator(,) integer(541)operator(,) integer(771)operator(,) integer(370)operator(,) integer(372)operator(,) integer(573)operator(,) integer(785)operator(,) integer(258)operator(,) integer(382)operator(,) integer(596)operator(,) integer(708)operator(,) integer(709)operator(,) integer(228)operator(,) integer(654)operator(,) integer(309)operator(,) integer(478)operator(,) integer(753)operator(,) integer(77)operator(,) integer(78)operator(,) integer(355)operator(,) integer(534)operator(,) integer(769)operator(,) integer(533)operator(,) integer(768)operator(,) integer(394)operator(,) integer(592)operator(,) integer(842)operator(,) integer(577)operator(,) integer(702)operator(,) integer(787)operator(,) integer(791)operator(,) integer(79)operator(,) integer(80)operator(,) integer(81)operator(,) integer(82)operator(,) integer(83)operator(,) integer(84)operator(,) integer(85)operator(,) integer(291)operator(,) integer(463)operator(,) integer(86)operator(,) integer(293)operator(,) integer(287)operator(,) integer(285)operator(,) integer(456)operator(,) integer(646)operator(,) integer(645)operator(,) integer(749)operator(,) integer(87)operator(,) integer(286)operator(,) integer(88)operator(,) integer(89)operator(,) integer(212)operator(,) integer(91)operator(,) integer(213)operator(,) integer(214)operator(,) integer(365)operator(,) integer(543)operator(,) integer(563)operator(,) integer(564)operator(,) integer(565)operator(,) integer(566)operator(,) integer(567)operator(,) integer(568)operator(,) integer(569)operator(,) integer(570)operator(,) integer(571)operator(,) integer(781)operator(,) integer(690)operator(,) integer(191)operator(,) integer(371)operator(,) integer(273)operator(,) integer(270)operator(,) integer(241)operator(,) integer(115)operator(,) integer(548)operator(,) integer(522)operator(,) integer(375)operator(,) integer(219)operator(,) integer(254)operator(,) integer(441)operator(,) integer(383)operator(,) integer(221)operator(,) integer(95) operator(};) comment(/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */) preprocessor(#define) ident(YYPACT_NINF) operator(-)integer(654) directive(static) directive(const) ident(yytype_int16) ident(yypact)operator([]) operator(=) operator({) operator(-)integer(654)operator(,) integer(73)operator(,) integer(2254)operator(,) operator(-)integer(654)operator(,) integer(5471)operator(,) integer(7939)operator(,) integer(8236)operator(,) integer(3906)operator(,) integer(5121)operator(,) operator(-)integer(654)operator(,) integer(6810)operator(,) integer(6810)operator(,) integer(3777)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(8038)operator(,) integer(5677)operator(,) integer(5677)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(5677)operator(,) integer(4436)operator(,) integer(4539)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(6810)operator(,) integer(4996)operator(,) operator(-)integer(44)operator(,) operator(-)integer(654)operator(,) operator(-)integer(3)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(2117)operator(,) integer(4024)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(4127)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(50)operator(,) integer(3187)operator(,) integer(6810)operator(,) integer(6913)operator(,) integer(7634)operator(,) integer(8335)operator(,) integer(4871)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(18)operator(,) operator(-)integer(1)operator(,) integer(94)operator(,) integer(7737)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(124)operator(,) integer(757)operator(,) integer(249)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(104)operator(,) integer(74)operator(,) operator(-)integer(654)operator(,) integer(57)operator(,) integer(8137)operator(,) operator(-)integer(654)operator(,) integer(96)operator(,) integer(9349)operator(,) integer(171)operator(,) integer(485)operator(,) integer(11)operator(,) integer(32)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(120)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(10)operator(,) operator(-)integer(654)operator(,) integer(64)operator(,) integer(38)operator(,) integer(42)operator(,) operator(-)integer(654)operator(,) integer(757)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(99)operator(,) integer(111)operator(,) operator(-)integer(44)operator(,) integer(129)operator(,) integer(140)operator(,) integer(6810)operator(,) integer(90)operator(,) integer(3318)operator(,) integer(325)operator(,) operator(-)integer(654)operator(,) integer(78)operator(,) operator(-)integer(654)operator(,) integer(549)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(42)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(95)operator(,) integer(148)operator(,) integer(282)operator(,) integer(333)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(336)operator(,) integer(337)operator(,) integer(465)operator(,) operator(-)integer(654)operator(,) integer(473)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(495)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(147)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(2615)operator(,) integer(225)operator(,) integer(249)operator(,) integer(48)operator(,) integer(188)operator(,) integer(558)operator(,) integer(31)operator(,) integer(213)operator(,) integer(258)operator(,) integer(48)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(124)operator(,) integer(88)operator(,) operator(-)integer(654)operator(,) integer(209)operator(,) integer(6810)operator(,) integer(6810)operator(,) integer(288)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(559)operator(,) integer(324)operator(,) integer(66)operator(,) integer(245)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) integer(274)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(262)operator(,) integer(269)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(5363)operator(,) operator(-)integer(654)operator(,) integer(5780)operator(,) integer(5677)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(222)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(275)operator(,) integer(285)operator(,) integer(3449)operator(,) operator(-)integer(654)operator(,) integer(571)operator(,) integer(366)operator(,) integer(476)operator(,) integer(3187)operator(,) integer(310)operator(,) integer(315)operator(,) integer(342)operator(,) integer(249)operator(,) integer(7634)operator(,) operator(-)integer(44)operator(,) integer(371)operator(,) integer(392)operator(,) integer(401)operator(,) operator(-)integer(654)operator(,) integer(480)operator(,) integer(375)operator(,) integer(401)operator(,) operator(-)integer(654)operator(,) integer(470)operator(,) operator(-)integer(654)operator(,) integer(586)operator(,) integer(595)operator(,) integer(618)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(231)operator(,) operator(-)integer(654)operator(,) integer(482)operator(,) integer(515)operator(,) integer(674)operator(,) integer(425)operator(,) integer(565)operator(,) integer(444)operator(,) integer(30)operator(,) integer(493)operator(,) integer(499)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(3674)operator(,) integer(6810)operator(,) integer(6810)operator(,) integer(6810)operator(,) integer(6810)operator(,) integer(5471)operator(,) integer(6810)operator(,) integer(6810)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7016)operator(,) operator(-)integer(654)operator(,) integer(3187)operator(,) integer(8335)operator(,) integer(438)operator(,) integer(7016)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(1612)operator(,) integer(6913)operator(,) integer(8489)operator(,) integer(8555)operator(,) integer(8555)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7737)operator(,) integer(7737)operator(,) operator(-)integer(654)operator(,) integer(501)operator(,) operator(-)integer(654)operator(,) integer(275)operator(,) integer(249)operator(,) operator(-)integer(654)operator(,) integer(623)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(124)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(8621)operator(,) integer(6913)operator(,) integer(8555)operator(,) integer(2615)operator(,) integer(6810)operator(,) integer(419)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(583)operator(,) integer(596)operator(,) integer(283)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(2737)operator(,) integer(590)operator(,) integer(7634)operator(,) integer(8687)operator(,) integer(6913)operator(,) integer(8753)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(2981)operator(,) integer(601)operator(,) integer(3571)operator(,) integer(7119)operator(,) integer(611)operator(,) operator(-)integer(654)operator(,) integer(18)operator(,) integer(18)operator(,) integer(252)operator(,) integer(8819)operator(,) integer(6913)operator(,) integer(8885)operator(,) operator(-)integer(654)operator(,) integer(498)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(5883)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(5986)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(503)operator(,) integer(5574)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(104)operator(,) operator(-)integer(44)operator(,) integer(510)operator(,) integer(9)operator(,) integer(512)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(5121)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(3449)operator(,) integer(528)operator(,) integer(8687)operator(,) integer(8753)operator(,) integer(7634)operator(,) integer(529)operator(,) operator(-)integer(654)operator(,) integer(527)operator(,) operator(-)integer(44)operator(,) integer(9213)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7222)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(623)operator(,) integer(8951)operator(,) integer(6913)operator(,) integer(9017)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(25)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(534)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(757)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(37)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(544)operator(,) integer(546)operator(,) operator(-)integer(654)operator(,) integer(550)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(1775)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(366)operator(,) integer(9418)operator(,) integer(9418)operator(,) integer(9418)operator(,) integer(9418)operator(,) integer(547)operator(,) integer(547)operator(,) integer(9435)operator(,) integer(1667)operator(,) integer(9418)operator(,) integer(9418)operator(,) integer(9366)operator(,) integer(9366)operator(,) integer(394)operator(,) integer(394)operator(,) integer(2464)operator(,) integer(547)operator(,) integer(547)operator(,) integer(714)operator(,) integer(714)operator(,) integer(437)operator(,) integer(43)operator(,) integer(43)operator(,) integer(366)operator(,) integer(366)operator(,) integer(366)operator(,) integer(2365)operator(,) integer(4642)operator(,) integer(2484)operator(,) integer(4745)operator(,) integer(111)operator(,) operator(-)integer(654)operator(,) integer(554)operator(,) integer(487)operator(,) operator(-)integer(654)operator(,) integer(585)operator(,) operator(-)integer(654)operator(,) integer(4539)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(1899)operator(,) integer(1899)operator(,) integer(37)operator(,) integer(37)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(124)operator(,) operator(-)integer(654)operator(,) integer(6810)operator(,) integer(2615)operator(,) integer(141)operator(,) integer(477)operator(,) operator(-)integer(654)operator(,) integer(111)operator(,) integer(562)operator(,) integer(111)operator(,) integer(681)operator(,) integer(35)operator(,) integer(597)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(429)operator(,) integer(2615)operator(,) integer(124)operator(,) operator(-)integer(654)operator(,) integer(575)operator(,) operator(-)integer(654)operator(,) integer(577)operator(,) integer(655)operator(,) integer(588)operator(,) integer(665)operator(,) operator(-)integer(654)operator(,) integer(5246)operator(,) integer(5121)operator(,) operator(-)integer(654)operator(,) integer(7325)operator(,) integer(703)operator(,) operator(-)integer(654)operator(,) integer(398)operator(,) operator(-)integer(654)operator(,) integer(2345)operator(,) integer(4230)operator(,) integer(4333)operator(,) integer(599)operator(,) integer(344)operator(,) integer(416)operator(,) integer(703)operator(,) integer(726)operator(,) integer(734)operator(,) integer(7634)operator(,) integer(626)operator(,) integer(48)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(60)operator(,) integer(85)operator(,) integer(635)operator(,) integer(259)operator(,) integer(354)operator(,) integer(6810)operator(,) integer(657)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(274)operator(,) operator(-)integer(654)operator(,) integer(628)operator(,) integer(7634)operator(,) integer(274)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(9265)operator(,) integer(16)operator(,) operator(-)integer(654)operator(,) integer(636)operator(,) operator(-)integer(654)operator(,) integer(634)operator(,) integer(643)operator(,) integer(6089)operator(,) integer(8555)operator(,) integer(8555)operator(,) integer(645)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(6810)operator(,) integer(9349)operator(,) integer(656)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) integer(296)operator(,) integer(658)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(141)operator(,) integer(477)operator(,) integer(661)operator(,) integer(340)operator(,) integer(351)operator(,) integer(3449)operator(,) integer(671)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(366)operator(,) integer(366)operator(,) operator(-)integer(654)operator(,) integer(7840)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7428)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(7737)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(501)operator(,) integer(624)operator(,) integer(7737)operator(,) integer(7737)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(501)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(37)operator(,) operator(-)integer(654)operator(,) integer(124)operator(,) integer(776)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(663)operator(,) integer(7634)operator(,) operator(-)integer(44)operator(,) integer(781)operator(,) operator(-)integer(654)operator(,) integer(429)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(452)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(12)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(544)operator(,) operator(-)integer(654)operator(,) integer(708)operator(,) operator(-)integer(654)operator(,) integer(3084)operator(,) integer(792)operator(,) operator(-)integer(654)operator(,) integer(6810)operator(,) integer(797)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(432)operator(,) integer(7634)operator(,) integer(7634)operator(,) integer(798)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7531)operator(,) integer(2859)operator(,) integer(3571)operator(,) integer(3571)operator(,) integer(367)operator(,) integer(18)operator(,) integer(498)operator(,) integer(6192)operator(,) operator(-)integer(654)operator(,) integer(498)operator(,) integer(498)operator(,) integer(6295)operator(,) integer(685)operator(,) operator(-)integer(654)operator(,) integer(6398)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(104)operator(,) integer(9)operator(,) integer(111)operator(,) integer(111)operator(,) operator(-)integer(654)operator(,) integer(101)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(9213)operator(,) integer(631)operator(,) integer(690)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(709)operator(,) integer(3571)operator(,) integer(7634)operator(,) integer(692)operator(,) integer(9349)operator(,) integer(9349)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) integer(9349)operator(,) operator(-)integer(654)operator(,) integer(7737)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) operator(-)integer(654)operator(,) integer(3571)operator(,) integer(3449)operator(,) operator(-)integer(654)operator(,) integer(2615)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(691)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(693)operator(,) integer(588)operator(,) operator(-)integer(654)operator(,) integer(597)operator(,) operator(-)integer(654)operator(,) integer(588)operator(,) integer(419)operator(,) integer(8434)operator(,) integer(48)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(3571)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(48)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(165)operator(,) integer(810)operator(,) integer(812)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(705)operator(,) integer(710)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(712)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(825)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(9349)operator(,) integer(830)operator(,) integer(720)operator(,) integer(3449)operator(,) integer(832)operator(,) operator(-)integer(654)operator(,) integer(452)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(2615)operator(,) integer(789)operator(,) operator(-)integer(654)operator(,) integer(640)operator(,) integer(595)operator(,) integer(618)operator(,) integer(2615)operator(,) operator(-)integer(654)operator(,) integer(2737)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(3571)operator(,) integer(9286)operator(,) integer(498)operator(,) integer(6501)operator(,) operator(-)integer(654)operator(,) integer(6604)operator(,) operator(-)integer(654)operator(,) integer(498)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(724)operator(,) operator(-)integer(654)operator(,) integer(588)operator(,) integer(838)operator(,) integer(623)operator(,) integer(9083)operator(,) integer(6913)operator(,) integer(9149)operator(,) integer(596)operator(,) integer(398)operator(,) integer(839)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) integer(727)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(41)operator(,) integer(477)operator(,) integer(732)operator(,) integer(76)operator(,) integer(93)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(498)operator(,) integer(6707)operator(,) operator(-)integer(654)operator(,) integer(498)operator(,) integer(631)operator(,) operator(-)integer(654)operator(,) integer(7634)operator(,) operator(-)integer(654)operator(,) integer(498)operator(,) operator(-)integer(654) operator(};) comment(/* YYPGOTO[NTERM-NUM]. */) directive(static) directive(const) ident(yytype_int16) ident(yypgoto)operator([]) operator(=) operator({) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(360)operator(,) integer(431)operator(,) operator(-)integer(654)operator(,) integer(59)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(958)operator(,) integer(44)operator(,) integer(23)operator(,) operator(-)integer(654)operator(,) operator(-)integer(569)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(1)operator(,) operator(-)integer(6)operator(,) operator(-)integer(183)operator(,) integer(22)operator(,) integer(779)operator(,) operator(-)integer(654)operator(,) operator(-)integer(25)operator(,) integer(927)operator(,) operator(-)integer(70)operator(,) integer(853)operator(,) integer(7)operator(,) operator(-)integer(654)operator(,) integer(21)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(5)operator(,) operator(-)integer(654)operator(,) operator(-)integer(16)operator(,) operator(-)integer(654)operator(,) integer(1378)operator(,) operator(-)integer(338)operator(,) operator(-)integer(7)operator(,) operator(-)integer(479)operator(,) integer(82)operator(,) operator(-)integer(654)operator(,) integer(2)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(9)operator(,) integer(158)operator(,) integer(110)operator(,) operator(-)integer(278)operator(,) integer(26)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(185)operator(,) operator(-)integer(209)operator(,) operator(-)integer(372)operator(,) integer(0)operator(,) operator(-)integer(520)operator(,) integer(208)operator(,) operator(-)integer(458)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(228)operator(,) operator(-)integer(654)operator(,) integer(785)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(356)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(3)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(784)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(458)operator(,) operator(-)integer(217)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(12)operator(,) operator(-)integer(654)operator(,) integer(14)operator(,) operator(-)integer(654)operator(,) integer(627)operator(,) integer(860)operator(,) integer(1246)operator(,) integer(1107)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) integer(84)operator(,) integer(309)operator(,) integer(183)operator(,) operator(-)integer(654)operator(,) operator(-)integer(653)operator(,) integer(184)operator(,) operator(-)integer(654)operator(,) operator(-)integer(608)operator(,) operator(-)integer(654)operator(,) operator(-)integer(321)operator(,) operator(-)integer(504)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(4)operator(,) operator(-)integer(382)operator(,) integer(755)operator(,) operator(-)integer(226)operator(,) operator(-)integer(654)operator(,) operator(-)integer(654)operator(,) operator(-)integer(24)operator(,) integer(20)operator(,) integer(467)operator(,) integer(53)operator(,) integer(814)operator(,) integer(756) operator(};) comment(/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */) preprocessor(#define) ident(YYTABLE_NINF) operator(-)integer(502) directive(static) directive(const) ident(yytype_int16) ident(yytable)operator([]) operator(=) operator({) integer(235)operator(,) integer(235)operator(,) integer(188)operator(,) integer(188)operator(,) integer(235)operator(,) integer(523)operator(,) integer(390)operator(,) integer(238)operator(,) integer(238)operator(,) integer(225)operator(,) integer(551)operator(,) integer(238)operator(,) integer(240)operator(,) integer(240)operator(,) integer(187)operator(,) integer(248)operator(,) integer(240)operator(,) integer(234)operator(,) integer(234)operator(,) integer(419)operator(,) integer(204)operator(,) integer(234)operator(,) integer(205)operator(,) integer(188)operator(,) integer(249)operator(,) integer(598)operator(,) integer(277)operator(,) integer(614)operator(,) integer(257)operator(,) integer(259)operator(,) integer(549)operator(,) integer(111)operator(,) integer(111)operator(,) integer(235)operator(,) integer(235)operator(,) integer(588)operator(,) integer(360)operator(,) integer(490)operator(,) integer(299)operator(,) integer(783)operator(,) integer(204)operator(,) integer(111)operator(,) integer(205)operator(,) integer(297)operator(,) integer(298)operator(,) integer(594)operator(,) integer(274)operator(,) integer(188)operator(,) integer(584)operator(,) integer(252)operator(,) integer(267)operator(,) integer(572)operator(,) integer(672)operator(,) integer(674)operator(,) operator(-)integer(87)operator(,) integer(215)operator(,) integer(218)operator(,) integer(705)operator(,) integer(347)operator(,) integer(284)operator(,) integer(614)operator(,) integer(380)operator(,) integer(601)operator(,) integer(96)operator(,) integer(693)operator(,) integer(220)operator(,) integer(696)operator(,) integer(714)operator(,) integer(347)operator(,) integer(264)operator(,) integer(458)operator(,) integer(306)operator(,) integer(307)operator(,) integer(3)operator(,) integer(464)operator(,) integer(676)operator(,) integer(677)operator(,) integer(111)operator(,) integer(432)operator(,) integer(363)operator(,) integer(559)operator(,) integer(780)operator(,) integer(296)operator(,) integer(452)operator(,) integer(784)operator(,) operator(-)integer(87)operator(,) integer(253)operator(,) integer(353)operator(,) integer(466)operator(,) operator(-)integer(86)operator(,) integer(625)operator(,) operator(-)integer(84)operator(,) integer(345)operator(,) operator(-)integer(432)operator(,) integer(248)operator(,) integer(761)operator(,) integer(354)operator(,) integer(111)operator(,) integer(560)operator(,) integer(242)operator(,) integer(405)operator(,) integer(767)operator(,) integer(243)operator(,) integer(392)operator(,) integer(260)operator(,) integer(393)operator(,) operator(-)integer(88)operator(,) integer(316)operator(,) integer(353)operator(,) integer(652)operator(,) operator(-)integer(89)operator(,) integer(290)operator(,) integer(642)operator(,) operator(-)integer(84)operator(,) operator(-)integer(432)operator(,) integer(220)operator(,) integer(521)operator(,) integer(256)operator(,) integer(528)operator(,) integer(531)operator(,) integer(532)operator(,) integer(352)operator(,) integer(356)operator(,) integer(595)operator(,) integer(453)operator(,) integer(454)operator(,) integer(239)operator(,) integer(239)operator(,) integer(292)operator(,) integer(484)operator(,) integer(239)operator(,) integer(467)operator(,) integer(308)operator(,) integer(626)operator(,) operator(-)integer(84)operator(,) integer(346)operator(,) operator(-)integer(76)operator(,) integer(306)operator(,) integer(307)operator(,) integer(253)operator(,) integer(358)operator(,) operator(-)integer(91)operator(,) integer(729)operator(,) integer(550)operator(,) integer(359)operator(,) integer(653)operator(,) operator(-)integer(87)operator(,) integer(351)operator(,) integer(216)operator(,) integer(217)operator(,) integer(294)operator(,) integer(295)operator(,) integer(348)operator(,) integer(381)operator(,) integer(647)operator(,) operator(-)integer(478)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(521)operator(,) integer(272)operator(,) integer(528)operator(,) integer(348)operator(,) integer(366)operator(,) operator(-)integer(83)operator(,) integer(253)operator(,) operator(-)integer(479)operator(,) operator(-)integer(485)operator(,) operator(-)integer(87)operator(,) operator(-)integer(481)operator(,) integer(247)operator(,) operator(-)integer(87)operator(,) operator(-)integer(87)operator(,) integer(783)operator(,) operator(-)integer(84)operator(,) integer(550)operator(,) operator(-)integer(426)operator(,) integer(310)operator(,) integer(216)operator(,) integer(217)operator(,) integer(704)operator(,) operator(-)integer(86)operator(,) integer(393)operator(,) integer(311)operator(,) integer(681)operator(,) integer(364)operator(,) operator(-)integer(79)operator(,) integer(76)operator(,) operator(-)integer(481)operator(,) integer(76)operator(,) integer(112)operator(,) integer(112)operator(,) operator(-)integer(76)operator(,) operator(-)integer(89)operator(,) integer(391)operator(,) integer(211)operator(,) integer(211)operator(,) integer(211)operator(,) operator(-)integer(88)operator(,) integer(315)operator(,) integer(227)operator(,) integer(211)operator(,) integer(211)operator(,) integer(687)operator(,) integer(550)operator(,) integer(211)operator(,) operator(-)integer(86)operator(,) operator(-)integer(86)operator(,) integer(216)operator(,) integer(217)operator(,) operator(-)integer(420)operator(,) operator(-)integer(81)operator(,) integer(211)operator(,) operator(-)integer(482)operator(,) integer(53)operator(,) integer(235)operator(,) integer(235)operator(,) integer(297)operator(,) integer(859)operator(,) operator(-)integer(426)operator(,) integer(770)operator(,) operator(-)integer(423)operator(,) operator(-)integer(485)operator(,) operator(-)integer(88)operator(,) operator(-)integer(88)operator(,) integer(550)operator(,) integer(813)operator(,) integer(244)operator(,) integer(235)operator(,) operator(-)integer(425)operator(,) integer(235)operator(,) integer(235)operator(,) integer(76)operator(,) integer(211)operator(,) integer(211)operator(,) integer(238)operator(,) integer(278)operator(,) integer(238)operator(,) integer(238)operator(,) integer(247)operator(,) integer(240)operator(,) integer(572)operator(,) integer(240)operator(,) integer(240)operator(,) integer(211)operator(,) integer(234)operator(,) integer(648)operator(,) integer(234)operator(,) integer(416)operator(,) operator(-)integer(478)operator(,) integer(436)operator(,) operator(-)integer(420)operator(,) operator(-)integer(327)operator(,) operator(-)integer(420)operator(,) integer(216)operator(,) integer(217)operator(,) integer(278)operator(,) operator(-)integer(478)operator(,) integer(672)operator(,) integer(674)operator(,) operator(-)integer(479)operator(,) operator(-)integer(485)operator(,) operator(-)integer(423)operator(,) operator(-)integer(485)operator(,) operator(-)integer(423)operator(,) operator(-)integer(485)operator(,) integer(396)operator(,) integer(397)operator(,) operator(-)integer(479)operator(,) operator(-)integer(481)operator(,) operator(-)integer(91)operator(,) integer(220)operator(,) operator(-)integer(425)operator(,) integer(376)operator(,) integer(421)operator(,) integer(827)operator(,) integer(828)operator(,) operator(-)integer(90)operator(,) integer(840)operator(,) integer(379)operator(,) integer(829)operator(,) integer(422)operator(,) integer(423)operator(,) integer(264)operator(,) operator(-)integer(86)operator(,) integer(306)operator(,) integer(307)operator(,) integer(437)operator(,) integer(485)operator(,) integer(452)operator(,) integer(211)operator(,) integer(384)operator(,) integer(76)operator(,) operator(-)integer(327)operator(,) integer(235)operator(,) operator(-)integer(327)operator(,) integer(388)operator(,) integer(547)operator(,) integer(701)operator(,) integer(488)operator(,) integer(491)operator(,) integer(492)operator(,) integer(493)operator(,) integer(494)operator(,) integer(495)operator(,) integer(496)operator(,) integer(497)operator(,) integer(498)operator(,) integer(499)operator(,) integer(500)operator(,) integer(501)operator(,) integer(502)operator(,) integer(503)operator(,) integer(504)operator(,) integer(505)operator(,) integer(506)operator(,) integer(507)operator(,) integer(508)operator(,) integer(509)operator(,) integer(510)operator(,) integer(511)operator(,) integer(512)operator(,) integer(513)operator(,) integer(514)operator(,) integer(515)operator(,) integer(516)operator(,) integer(412)operator(,) integer(235)operator(,) integer(414)operator(,) integer(417)operator(,) integer(453)operator(,) integer(454)operator(,) integer(455)operator(,) integer(480)operator(,) integer(264)operator(,) integer(536)operator(,) integer(538)operator(,) integer(520)operator(,) integer(487)operator(,) integer(111)operator(,) integer(395)operator(,) integer(389)operator(,) integer(398)operator(,) integer(614)operator(,) integer(267)operator(,) integer(471)operator(,) integer(472)operator(,) integer(473)operator(,) integer(474)operator(,) integer(402)operator(,) integer(614)operator(,) integer(801)operator(,) integer(235)operator(,) operator(-)integer(91)operator(,) integer(239)operator(,) integer(875)operator(,) integer(239)operator(,) integer(418)operator(,) integer(405)operator(,) integer(470)operator(,) operator(-)integer(90)operator(,) operator(-)integer(91)operator(,) integer(520)operator(,) operator(-)integer(427)operator(,) integer(475)operator(,) operator(-)integer(78)operator(,) integer(431)operator(,) operator(-)integer(86)operator(,) integer(581)operator(,) integer(267)operator(,) integer(235)operator(,) operator(-)integer(83)operator(,) integer(536)operator(,) integer(538)operator(,) integer(535)operator(,) integer(537)operator(,) operator(-)integer(80)operator(,) integer(235)operator(,) operator(-)integer(82)operator(,) operator(-)integer(88)operator(,) integer(520)operator(,) integer(361)operator(,) integer(362)operator(,) integer(719)operator(,) integer(235)operator(,) operator(-)integer(78)operator(,) operator(-)integer(90)operator(,) integer(267)operator(,) integer(406)operator(,) integer(235)operator(,) integer(235)operator(,) integer(76)operator(,) operator(-)integer(85)operator(,) integer(235)operator(,) integer(520)operator(,) integer(409)operator(,) integer(736)operator(,) integer(617)operator(,) integer(410)operator(,) integer(737)operator(,) integer(738)operator(,) integer(267)operator(,) integer(611)operator(,) integer(425)operator(,) integer(621)operator(,) integer(427)operator(,) operator(-)integer(427)operator(,) integer(211)operator(,) integer(211)operator(,) integer(622)operator(,) integer(631)operator(,) integer(824)operator(,) integer(707)operator(,) integer(704)operator(,) operator(-)integer(428)operator(,) integer(634)operator(,) integer(542)operator(,) operator(-)integer(430)operator(,) operator(-)integer(429)operator(,) integer(188)operator(,) integer(482)operator(,) operator(-)integer(65)operator(,) operator(-)integer(73)operator(,) integer(235)operator(,) integer(520)operator(,) integer(482)operator(,) integer(235)operator(,) integer(712)operator(,) integer(235)operator(,) integer(211)operator(,) integer(316)operator(,) integer(211)operator(,) integer(211)operator(,) integer(61)operator(,) integer(235)operator(,) integer(433)operator(,) integer(204)operator(,) integer(623)operator(,) integer(205)operator(,) integer(627)operator(,) integer(434)operator(,) integer(76)operator(,) integer(841)operator(,) operator(-)integer(78)operator(,) integer(520)operator(,) integer(629)operator(,) integer(76)operator(,) operator(-)integer(86)operator(,) operator(-)integer(78)operator(,) integer(597)operator(,) integer(597)operator(,) integer(267)operator(,) integer(650)operator(,) integer(651)operator(,) operator(-)integer(80)operator(,) integer(636)operator(,) integer(637)operator(,) operator(-)integer(428)operator(,) integer(316)operator(,) operator(-)integer(80)operator(,) operator(-)integer(430)operator(,) operator(-)integer(429)operator(,) operator(-)integer(88)operator(,) integer(235)operator(,) integer(572)operator(,) operator(-)integer(78)operator(,) operator(-)integer(78)operator(,) operator(-)integer(64)operator(,) integer(614)operator(,) integer(553)operator(,) integer(860)operator(,) integer(554)operator(,) integer(555)operator(,) integer(556)operator(,) integer(557)operator(,) operator(-)integer(85)operator(,) operator(-)integer(80)operator(,) operator(-)integer(80)operator(,) integer(262)operator(,) integer(553)operator(,) operator(-)integer(80)operator(,) integer(554)operator(,) integer(555)operator(,) integer(556)operator(,) integer(557)operator(,) integer(76)operator(,) integer(211)operator(,) integer(211)operator(,) integer(211)operator(,) integer(211)operator(,) integer(76)operator(,) integer(211)operator(,) integer(211)operator(,) operator(-)integer(77)operator(,) integer(438)operator(,) integer(211)operator(,) integer(446)operator(,) integer(76)operator(,) integer(278)operator(,) integer(713)operator(,) integer(211)operator(,) integer(316)operator(,) integer(782)operator(,) integer(591)operator(,) integer(614)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(558)operator(,) integer(559)operator(,) integer(288)operator(,) integer(289)operator(,) integer(663)operator(,) integer(795)operator(,) integer(329)operator(,) integer(330)operator(,) integer(439)operator(,) operator(-)integer(88)operator(,) integer(558)operator(,) integer(559)operator(,) integer(440)operator(,) integer(664)operator(,) integer(448)operator(,) integer(879)operator(,) integer(461)operator(,) integer(442)operator(,) integer(211)operator(,) integer(560)operator(,) integer(670)operator(,) integer(440)operator(,) integer(561)operator(,) integer(673)operator(,) integer(675)operator(,) operator(-)integer(85)operator(,) integer(211)operator(,) integer(211)operator(,) integer(262)operator(,) integer(560)operator(,) integer(452)operator(,) integer(663)operator(,) integer(561)operator(,) integer(558)operator(,) integer(559)operator(,) integer(465)operator(,) operator(-)integer(420)operator(,) integer(562)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(211)operator(,) operator(-)integer(423)operator(,) integer(76)operator(,) integer(211)operator(,) integer(468)operator(,) operator(-)integer(283)operator(,) integer(431)operator(,) integer(235)operator(,) integer(606)operator(,) integer(560)operator(,) integer(469)operator(,) integer(486)operator(,) integer(561)operator(,) integer(342)operator(,) integer(76)operator(,) integer(188)operator(,) integer(188)operator(,) integer(666)operator(,) integer(211)operator(,) integer(684)operator(,) integer(452)operator(,) integer(235)operator(,) integer(76)operator(,) integer(373)operator(,) integer(76)operator(,) integer(836)operator(,) operator(-)integer(90)operator(,) integer(698)operator(,) integer(453)operator(,) integer(454)operator(,) integer(457)operator(,) integer(838)operator(,) integer(211)operator(,) integer(204)operator(,) integer(680)operator(,) integer(205)operator(,) operator(-)integer(420)operator(,) operator(-)integer(86)operator(,) integer(539)operator(,) integer(235)operator(,) integer(575)operator(,) integer(679)operator(,) integer(699)operator(,) integer(235)operator(,) operator(-)integer(423)operator(,) integer(211)operator(,) operator(-)integer(283)operator(,) integer(235)operator(,) operator(-)integer(283)operator(,) operator(-)integer(82)operator(,) integer(580)operator(,) integer(576)operator(,) operator(-)integer(482)operator(,) integer(444)operator(,) integer(343)operator(,) integer(235)operator(,) integer(344)operator(,) integer(440)operator(,) integer(316)operator(,) integer(76)operator(,) operator(-)integer(78)operator(,) integer(453)operator(,) integer(454)operator(,) integer(459)operator(,) integer(688)operator(,) integer(393)operator(,) integer(374)operator(,) integer(611)operator(,) integer(593)operator(,) integer(743)operator(,) integer(452)operator(,) integer(605)operator(,) integer(735)operator(,) integer(329)operator(,) integer(330)operator(,) integer(615)operator(,) integer(90)operator(,) integer(367)operator(,) integer(90)operator(,) integer(113)operator(,) integer(113)operator(,) integer(113)operator(,) integer(211)operator(,) integer(624)operator(,) integer(628)operator(,) integer(550)operator(,) integer(385)operator(,) integer(399)operator(,) integer(235)operator(,) integer(229)operator(,) integer(756)operator(,) integer(757)operator(,) integer(759)operator(,) integer(760)operator(,) integer(225)operator(,) integer(723)operator(,) integer(633)operator(,) integer(764)operator(,) integer(766)operator(,) integer(429)operator(,) operator(-)integer(73)operator(,) integer(635)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(649)operator(,) integer(453)operator(,) integer(454)operator(,) integer(462)operator(,) integer(449)operator(,) integer(667)operator(,) integer(235)operator(,) operator(-)integer(264)operator(,) integer(368)operator(,) integer(657)operator(,) integer(369)operator(,) integer(90)operator(,) integer(658)operator(,) operator(-)integer(431)operator(,) integer(665)operator(,) integer(279)operator(,) integer(111)operator(,) integer(386)operator(,) integer(400)operator(,) integer(387)operator(,) integer(401)operator(,) integer(758)operator(,) integer(682)operator(,) integer(482)operator(,) integer(428)operator(,) operator(-)integer(88)operator(,) integer(763)operator(,) integer(765)operator(,) integer(683)operator(,) integer(262)operator(,) integer(386)operator(,) integer(759)operator(,) integer(430)operator(,) integer(764)operator(,) integer(766)operator(,) integer(279)operator(,) operator(-)integer(276)operator(,) integer(685)operator(,) integer(689)operator(,) integer(235)operator(,) integer(692)operator(,) operator(-)integer(284)operator(,) integer(694)operator(,) integer(776)operator(,) integer(762)operator(,) integer(450)operator(,) integer(235)operator(,) integer(451)operator(,) operator(-)integer(80)operator(,) operator(-)integer(285)operator(,) integer(235)operator(,) integer(695)operator(,) integer(697)operator(,) integer(235)operator(,) operator(-)integer(431)operator(,) integer(704)operator(,) operator(-)integer(431)operator(,) integer(807)operator(,) integer(862)operator(,) integer(711)operator(,) integer(746)operator(,) integer(747)operator(,) integer(809)operator(,) integer(748)operator(,) operator(-)integer(85)operator(,) integer(211)operator(,) integer(76)operator(,) integer(42)operator(,) integer(43)operator(,) integer(452)operator(,) integer(772)operator(,) integer(90)operator(,) integer(460)operator(,) integer(715)operator(,) integer(443)operator(,) integer(235)operator(,) integer(445)operator(,) operator(-)integer(276)operator(,) integer(447)operator(,) operator(-)integer(276)operator(,) integer(262)operator(,) integer(716)operator(,) operator(-)integer(284)operator(,) integer(820)operator(,) operator(-)integer(284)operator(,) integer(76)operator(,) integer(232)operator(,) operator(-)integer(77)operator(,) integer(793)operator(,) integer(718)operator(,) operator(-)integer(285)operator(,) integer(725)operator(,) operator(-)integer(285)operator(,) integer(812)operator(,) integer(94)operator(,) integer(722)operator(,) integer(94)operator(,) integer(732)operator(,) integer(731)operator(,) integer(863)operator(,) integer(814)operator(,) integer(864)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(734)operator(,) integer(726)operator(,) integer(739)operator(,) integer(94)operator(,) integer(94)operator(,) integer(453)operator(,) integer(454)operator(,) integer(94)operator(,) integer(597)operator(,) integer(741)operator(,) integer(316)operator(,) integer(820)operator(,) integer(733)operator(,) integer(235)operator(,) integer(94)operator(,) integer(742)operator(,) integer(744)operator(,) integer(819)operator(,) integer(773)operator(,) integer(846)operator(,) integer(774)operator(,) integer(211)operator(,) integer(235)operator(,) integer(777)operator(,) integer(786)operator(,) integer(329)operator(,) integer(330)operator(,) integer(235)operator(,) integer(301)operator(,) integer(302)operator(,) integer(303)operator(,) integer(304)operator(,) integer(305)operator(,) integer(790)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(271)operator(,) integer(275)operator(,) integer(794)operator(,) integer(796)operator(,) integer(211)operator(,) integer(810)operator(,) integer(815)operator(,) integer(111)operator(,) integer(579)operator(,) integer(94)operator(,) integer(211)operator(,) integer(825)operator(,) integer(816)operator(,) operator(-)integer(265)operator(,) integer(826)operator(,) integer(843)operator(,) integer(587)operator(,) integer(844)operator(,) integer(589)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(76)operator(,) integer(848)operator(,) integer(235)operator(,) integer(90)operator(,) integer(235)operator(,) integer(854)operator(,) integer(850)operator(,) integer(853)operator(,) integer(227)operator(,) integer(808)operator(,) integer(855)operator(,) integer(856)operator(,) integer(858)operator(,) integer(861)operator(,) integer(871)operator(,) integer(874)operator(,) integer(211)operator(,) integer(235)operator(,) integer(876)operator(,) integer(884)operator(,) integer(314)operator(,) integer(211)operator(,) integer(211)operator(,) integer(886)operator(,) integer(235)operator(,) integer(889)operator(,) integer(235)operator(,) integer(520)operator(,) integer(632)operator(,) integer(116)operator(,) integer(94)operator(,) integer(752)operator(,) integer(94)operator(,) integer(349)operator(,) integer(267)operator(,) integer(350)operator(,) integer(883)operator(,) integer(190)operator(,) integer(882)operator(,) integer(830)operator(,) integer(235)operator(,) integer(686)operator(,) integer(778)operator(,) integer(779)operator(,) integer(0)operator(,) integer(235)operator(,) integer(300)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(802)operator(,) integer(90)operator(,) integer(0)operator(,) integer(804)operator(,) integer(805)operator(,) integer(0)operator(,) integer(90)operator(,) integer(76)operator(,) integer(0)operator(,) integer(0)operator(,) integer(211)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(76)operator(,) integer(76)operator(,) integer(76)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(73)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(76)operator(,) integer(90)operator(,) integer(279)operator(,) integer(0)operator(,) integer(226)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(211)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(76)operator(,) integer(76)operator(,) integer(0)operator(,) integer(76)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(849)operator(,) integer(851)operator(,) integer(208)operator(,) integer(208)operator(,) integer(208)operator(,) integer(833)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(76)operator(,) integer(0)operator(,) integer(94)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(250)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(408)operator(,) integer(90)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(94)operator(,) integer(94)operator(,) integer(420)operator(,) integer(868)operator(,) integer(869)operator(,) integer(265)operator(,) integer(0)operator(,) integer(76)operator(,) integer(90)operator(,) integer(873)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(76)operator(,) integer(94)operator(,) integer(90)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(76)operator(,) integer(0)operator(,) integer(76)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(887)operator(,) integer(76)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(890)operator(,) integer(0)operator(,) integer(0)operator(,) integer(892)operator(,) integer(0)operator(,) integer(211)operator(,) integer(0)operator(,) integer(0)operator(,) integer(894)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(357)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(745)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(271)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(94)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(93)operator(,) integer(114)operator(,) integer(114)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(230)operator(,) integer(94)operator(,) integer(271)operator(,) integer(94)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(578)operator(,) integer(789)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(271)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(798)operator(,) integer(799)operator(,) integer(800)operator(,) integer(0)operator(,) integer(93)operator(,) integer(94)operator(,) integer(271)operator(,) integer(0)operator(,) integer(280)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(280)operator(,) integer(0)operator(,) integer(208)operator(,) integer(208)operator(,) integer(94)operator(,) integer(73)operator(,) integer(817)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(821)operator(,) integer(822)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(271)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(837)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(655)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(857)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(208)operator(,) integer(208)operator(,) integer(208)operator(,) integer(208)operator(,) integer(0)operator(,) integer(476)operator(,) integer(477)operator(,) integer(0)operator(,) integer(865)operator(,) integer(0)operator(,) integer(866)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(867)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(229)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(671)operator(,) integer(0)operator(,) integer(0)operator(,) integer(671)operator(,) integer(671)operator(,) integer(655)operator(,) integer(655)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(94)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(671)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(94)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(691)operator(,) integer(0)operator(,) integer(691)operator(,) integer(0)operator(,) integer(691)operator(,) integer(0)operator(,) integer(0)operator(,) integer(552)operator(,) integer(0)operator(,) integer(90)operator(,) integer(703)operator(,) integer(706)operator(,) integer(0)operator(,) integer(706)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(706)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(90)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(265)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(94)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(90)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(834)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(90)operator(,) integer(0)operator(,) integer(93)operator(,) integer(280)operator(,) integer(94)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(655)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(90)operator(,) integer(788)operator(,) integer(94)operator(,) integer(0)operator(,) integer(792)operator(,) integer(94)operator(,) integer(90)operator(,) integer(0)operator(,) integer(90)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(90)operator(,) integer(0)operator(,) integer(94)operator(,) integer(94)operator(,) integer(94)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(671)operator(,) integer(671)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(208)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(94)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(691)operator(,) integer(691)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(691)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(706)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(208)operator(,) integer(0)operator(,) integer(408)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(226)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(740)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(94)operator(,) integer(0)operator(,) integer(408)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(403)operator(,) integer(404)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(691)operator(,) integer(92)operator(,) integer(0)operator(,) integer(94)operator(,) integer(271)operator(,) integer(0)operator(,) integer(578)operator(,) integer(706)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(0)operator(,) integer(0)operator(,) integer(408)operator(,) integer(0)operator(,) integer(73)operator(,) integer(73)operator(,) integer(73)operator(,) integer(408)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(517)operator(,) integer(518)operator(,) integer(0)operator(,) integer(208)operator(,) integer(519)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(73)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(481)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(489)operator(,) integer(0)operator(,) integer(73)operator(,) integer(73)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(832)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(185)operator(,) integer(325)operator(,) integer(326)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(93)operator(,) integer(750)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(230)operator(,) integer(0)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(73)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(489)operator(,) integer(73)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(607)operator(,) integer(609)operator(,) integer(0)operator(,) integer(0)operator(,) integer(613)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(618)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(639)operator(,) integer(659)operator(,) integer(0)operator(,) integer(613)operator(,) integer(0)operator(,) integer(639)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(93)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(656)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(93)operator(,) integer(0)operator(,) integer(93)operator(,) integer(331)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(92)operator(,) integer(0)operator(,) integer(835)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) operator(-)integer(220)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(93)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(93)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(93)operator(,) integer(0)operator(,) integer(700)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(92)operator(,) integer(92)operator(,) integer(717)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(724)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(727)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(728)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(609)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(92)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(247)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(755)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(775)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(92)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(639)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(613)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(613)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(818)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(839)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(847)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(852)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(609)operator(,) integer(0)operator(,) integer(613)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(478)operator(,) integer(0)operator(,) integer(0)operator(,) integer(885)operator(,) integer(0)operator(,) integer(888)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(613)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(893)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(659)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) integer(661)operator(,) integer(331)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(87)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) operator(-)integer(79)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(485)operator(,) operator(-)integer(485)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) integer(662)operator(,) integer(331)operator(,) integer(660)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(89)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) operator(-)integer(81)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(283)operator(,) operator(-)integer(283)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(12)operator(,) operator(-)integer(501)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(261)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) integer(0)operator(,) integer(4)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(501)operator(,) operator(-)integer(501)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(395)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(216)operator(,) integer(217)operator(,) integer(117)operator(,) integer(118)operator(,) integer(119)operator(,) integer(120)operator(,) integer(121)operator(,) integer(122)operator(,) integer(123)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) integer(127)operator(,) integer(128)operator(,) integer(129)operator(,) integer(130)operator(,) integer(131)operator(,) integer(132)operator(,) integer(133)operator(,) integer(134)operator(,) integer(135)operator(,) integer(136)operator(,) integer(137)operator(,) integer(138)operator(,) integer(139)operator(,) integer(140)operator(,) integer(0)operator(,) integer(0)operator(,) integer(141)operator(,) integer(142)operator(,) integer(143)operator(,) integer(144)operator(,) integer(145)operator(,) integer(146)operator(,) integer(147)operator(,) integer(148)operator(,) integer(149)operator(,) integer(150)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(151)operator(,) integer(152)operator(,) integer(153)operator(,) integer(154)operator(,) integer(155)operator(,) integer(156)operator(,) integer(157)operator(,) integer(158)operator(,) integer(36)operator(,) integer(37)operator(,) integer(159)operator(,) integer(39)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(185)operator(,) integer(186)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(480)operator(,) operator(-)integer(479)operator(,) operator(-)integer(480)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(480)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(479)operator(,) operator(-)integer(481)operator(,) operator(-)integer(479)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(479)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) integer(710)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(87)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(481)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(481)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) integer(662)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(89)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(482)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(482)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(244)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(254)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(247)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(483)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(483)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) operator(-)integer(484)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(484)operator(,) integer(117)operator(,) integer(118)operator(,) integer(119)operator(,) integer(120)operator(,) integer(121)operator(,) integer(122)operator(,) integer(123)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) integer(127)operator(,) integer(128)operator(,) integer(129)operator(,) integer(130)operator(,) integer(131)operator(,) integer(132)operator(,) integer(133)operator(,) integer(134)operator(,) integer(135)operator(,) integer(136)operator(,) integer(137)operator(,) integer(138)operator(,) integer(139)operator(,) integer(140)operator(,) integer(0)operator(,) integer(0)operator(,) integer(141)operator(,) integer(142)operator(,) integer(143)operator(,) integer(192)operator(,) integer(193)operator(,) integer(194)operator(,) integer(195)operator(,) integer(148)operator(,) integer(149)operator(,) integer(150)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(151)operator(,) integer(152)operator(,) integer(153)operator(,) integer(154)operator(,) integer(196)operator(,) integer(197)operator(,) integer(198)operator(,) integer(158)operator(,) integer(281)operator(,) integer(282)operator(,) integer(199)operator(,) integer(283)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(117)operator(,) integer(118)operator(,) integer(119)operator(,) integer(120)operator(,) integer(121)operator(,) integer(122)operator(,) integer(123)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) integer(127)operator(,) integer(128)operator(,) integer(129)operator(,) integer(130)operator(,) integer(131)operator(,) integer(132)operator(,) integer(133)operator(,) integer(134)operator(,) integer(135)operator(,) integer(136)operator(,) integer(137)operator(,) integer(138)operator(,) integer(139)operator(,) integer(140)operator(,) integer(0)operator(,) integer(0)operator(,) integer(141)operator(,) integer(142)operator(,) integer(143)operator(,) integer(192)operator(,) integer(193)operator(,) integer(194)operator(,) integer(195)operator(,) integer(148)operator(,) integer(149)operator(,) integer(150)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(151)operator(,) integer(152)operator(,) integer(153)operator(,) integer(154)operator(,) integer(196)operator(,) integer(197)operator(,) integer(198)operator(,) integer(158)operator(,) integer(251)operator(,) integer(0)operator(,) integer(199)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(52)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(117)operator(,) integer(118)operator(,) integer(119)operator(,) integer(120)operator(,) integer(121)operator(,) integer(122)operator(,) integer(123)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) integer(127)operator(,) integer(128)operator(,) integer(129)operator(,) integer(130)operator(,) integer(131)operator(,) integer(132)operator(,) integer(133)operator(,) integer(134)operator(,) integer(135)operator(,) integer(136)operator(,) integer(137)operator(,) integer(138)operator(,) integer(139)operator(,) integer(140)operator(,) integer(0)operator(,) integer(0)operator(,) integer(141)operator(,) integer(142)operator(,) integer(143)operator(,) integer(192)operator(,) integer(193)operator(,) integer(194)operator(,) integer(195)operator(,) integer(148)operator(,) integer(149)operator(,) integer(150)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(151)operator(,) integer(152)operator(,) integer(153)operator(,) integer(154)operator(,) integer(196)operator(,) integer(197)operator(,) integer(198)operator(,) integer(158)operator(,) integer(0)operator(,) integer(0)operator(,) integer(199)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(52)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(117)operator(,) integer(118)operator(,) integer(119)operator(,) integer(120)operator(,) integer(121)operator(,) integer(122)operator(,) integer(123)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) integer(127)operator(,) integer(128)operator(,) integer(129)operator(,) integer(130)operator(,) integer(131)operator(,) integer(132)operator(,) integer(133)operator(,) integer(134)operator(,) integer(135)operator(,) integer(136)operator(,) integer(137)operator(,) integer(138)operator(,) integer(139)operator(,) integer(140)operator(,) integer(0)operator(,) integer(0)operator(,) integer(141)operator(,) integer(142)operator(,) integer(143)operator(,) integer(192)operator(,) integer(193)operator(,) integer(194)operator(,) integer(195)operator(,) integer(148)operator(,) integer(149)operator(,) integer(150)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(151)operator(,) integer(152)operator(,) integer(153)operator(,) integer(154)operator(,) integer(196)operator(,) integer(197)operator(,) integer(198)operator(,) integer(158)operator(,) integer(0)operator(,) integer(0)operator(,) integer(199)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(231)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(411)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(28)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(46)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(616)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(231)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(413)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(231)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(608)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(612)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(608)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(803)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(806)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(811)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(870)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(872)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(891)operator(,) integer(232)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(27)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(59)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(266)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(479)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(590)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(638)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(479)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(754)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(797)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(29)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(44)operator(,) integer(45)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(207)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(58)operator(,) integer(233)operator(,) integer(60)operator(,) integer(12)operator(,) integer(0)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(224)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(751)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(108)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(103)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(104)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(105)operator(,) integer(0)operator(,) integer(0)operator(,) integer(106)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(108)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(224)operator(,) integer(0)operator(,) integer(0)operator(,) integer(47)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(51)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(108)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(276)operator(,) integer(0)operator(,) integer(0)operator(,) integer(312)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(313)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(108)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(103)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(104)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(106)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(108)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(276)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(0)operator(,) integer(9)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(10)operator(,) integer(11)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(12)operator(,) integer(108)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(97)operator(,) integer(98)operator(,) integer(18)operator(,) integer(19)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(102)operator(,) integer(0)operator(,) integer(0)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(0)operator(,) integer(42)operator(,) integer(43)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(831)operator(,) integer(0)operator(,) integer(0)operator(,) integer(107)operator(,) integer(48)operator(,) integer(0)operator(,) integer(49)operator(,) integer(50)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(524)operator(,) integer(525)operator(,) integer(0)operator(,) integer(0)operator(,) integer(526)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(108)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(529)operator(,) integer(525)operator(,) integer(184)operator(,) integer(0)operator(,) integer(530)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(545)operator(,) integer(518)operator(,) integer(184)operator(,) integer(0)operator(,) integer(546)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(582)operator(,) integer(518)operator(,) integer(184)operator(,) integer(0)operator(,) integer(583)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(585)operator(,) integer(525)operator(,) integer(184)operator(,) integer(0)operator(,) integer(586)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(599)operator(,) integer(518)operator(,) integer(184)operator(,) integer(0)operator(,) integer(600)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(602)operator(,) integer(525)operator(,) integer(184)operator(,) integer(0)operator(,) integer(603)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(640)operator(,) integer(518)operator(,) integer(184)operator(,) integer(0)operator(,) integer(641)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(643)operator(,) integer(525)operator(,) integer(184)operator(,) integer(0)operator(,) integer(644)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(877)operator(,) integer(518)operator(,) integer(184)operator(,) integer(0)operator(,) integer(878)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(880)operator(,) integer(525)operator(,) integer(184)operator(,) integer(0)operator(,) integer(881)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(160)operator(,) integer(161)operator(,) integer(162)operator(,) integer(163)operator(,) integer(164)operator(,) integer(165)operator(,) integer(0)operator(,) integer(166)operator(,) integer(167)operator(,) integer(0)operator(,) integer(0)operator(,) integer(168)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(169)operator(,) integer(170)operator(,) integer(171)operator(,) integer(172)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(173)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(174)operator(,) integer(175)operator(,) integer(176)operator(,) integer(177)operator(,) integer(178)operator(,) integer(179)operator(,) integer(180)operator(,) integer(181)operator(,) integer(182)operator(,) integer(183)operator(,) integer(0)operator(,) integer(0)operator(,) integer(184)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(185)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(331)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(253)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(220)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(331)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(331)operator(,) operator(-)integer(220)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(605)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) operator(-)integer(502)operator(,) operator(-)integer(502)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(331)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(316)operator(,) operator(-)integer(502)operator(,) operator(-)integer(502)operator(,) operator(-)integer(502)operator(,) operator(-)integer(502)operator(,) integer(321)operator(,) integer(322)operator(,) integer(0)operator(,) integer(0)operator(,) operator(-)integer(502)operator(,) operator(-)integer(502)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(0)operator(,) integer(0)operator(,) integer(325)operator(,) integer(326)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(329)operator(,) integer(330)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341) operator(};) directive(static) directive(const) ident(yytype_int16) ident(yycheck)operator([]) operator(=) operator({) integer(16)operator(,) integer(17)operator(,) integer(7)operator(,) integer(8)operator(,) integer(20)operator(,) integer(343)operator(,) integer(215)operator(,) integer(16)operator(,) integer(17)operator(,) integer(15)operator(,) integer(370)operator(,) integer(20)operator(,) integer(16)operator(,) integer(17)operator(,) integer(7)operator(,) integer(22)operator(,) integer(20)operator(,) integer(16)operator(,) integer(17)operator(,) integer(247)operator(,) integer(8)operator(,) integer(20)operator(,) integer(8)operator(,) integer(28)operator(,) integer(22)operator(,) integer(397)operator(,) integer(51)operator(,) integer(409)operator(,) integer(44)operator(,) integer(45)operator(,) integer(368)operator(,) integer(5)operator(,) integer(6)operator(,) integer(49)operator(,) integer(50)operator(,) integer(391)operator(,) integer(106)operator(,) integer(315)operator(,) integer(62)operator(,) integer(692)operator(,) integer(28)operator(,) integer(15)operator(,) integer(28)operator(,) integer(59)operator(,) integer(60)operator(,) integer(27)operator(,) integer(50)operator(,) integer(52)operator(,) integer(386)operator(,) integer(28)operator(,) integer(49)operator(,) integer(372)operator(,) integer(531)operator(,) integer(532)operator(,) integer(13)operator(,) integer(11)operator(,) integer(12)operator(,) integer(577)operator(,) integer(26)operator(,) integer(52)operator(,) integer(442)operator(,) integer(13)operator(,) integer(400)operator(,) integer(4)operator(,) integer(568)operator(,) integer(12)operator(,) integer(570)operator(,) integer(587)operator(,) integer(26)operator(,) integer(47)operator(,) integer(287)operator(,) integer(36)operator(,) integer(37)operator(,) integer(0)operator(,) integer(291)operator(,) integer(533)operator(,) integer(534)operator(,) integer(51)operator(,) integer(261)operator(,) integer(1)operator(,) integer(92)operator(,) integer(689)operator(,) integer(59)operator(,) integer(58)operator(,) integer(692)operator(,) integer(25)operator(,) integer(130)operator(,) integer(94)operator(,) integer(58)operator(,) integer(13)operator(,) integer(81)operator(,) integer(25)operator(,) integer(81)operator(,) integer(83)operator(,) integer(101)operator(,) integer(664)operator(,) integer(94)operator(,) integer(71)operator(,) integer(110)operator(,) integer(17)operator(,) integer(84)operator(,) integer(670)operator(,) integer(20)operator(,) integer(15)operator(,) integer(54)operator(,) integer(17)operator(,) integer(13)operator(,) integer(64)operator(,) integer(115)operator(,) integer(72)operator(,) integer(25)operator(,) integer(129)operator(,) integer(450)operator(,) integer(103)operator(,) integer(83)operator(,) integer(62)operator(,) integer(342)operator(,) integer(120)operator(,) integer(344)operator(,) integer(345)operator(,) integer(346)operator(,) integer(83)operator(,) integer(102)operator(,) integer(105)operator(,) integer(99)operator(,) integer(100)operator(,) integer(16)operator(,) integer(17)operator(,) integer(129)operator(,) integer(312)operator(,) integer(20)operator(,) integer(101)operator(,) integer(28)operator(,) integer(124)operator(,) integer(103)operator(,) integer(124)operator(,) integer(126)operator(,) integer(36)operator(,) integer(37)operator(,) integer(130)operator(,) integer(50)operator(,) integer(103)operator(,) integer(126)operator(,) integer(369)operator(,) integer(54)operator(,) integer(108)operator(,) integer(105)operator(,) integer(83)operator(,) integer(130)operator(,) integer(131)operator(,) integer(56)operator(,) integer(57)operator(,) integer(120)operator(,) integer(105)operator(,) integer(129)operator(,) integer(26)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(385)operator(,) integer(50)operator(,) integer(387)operator(,) integer(120)operator(,) integer(110)operator(,) integer(126)operator(,) integer(130)operator(,) integer(26)operator(,) integer(26)operator(,) integer(108)operator(,) integer(128)operator(,) integer(128)operator(,) integer(130)operator(,) integer(131)operator(,) integer(826)operator(,) integer(108)operator(,) integer(401)operator(,) integer(81)operator(,) integer(103)operator(,) integer(130)operator(,) integer(131)operator(,) integer(15)operator(,) integer(105)operator(,) integer(17)operator(,) integer(126)operator(,) integer(544)operator(,) integer(107)operator(,) integer(126)operator(,) integer(2)operator(,) integer(128)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(126)operator(,) integer(108)operator(,) integer(218)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(105)operator(,) integer(103)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(563)operator(,) integer(430)operator(,) integer(20)operator(,) integer(130)operator(,) integer(131)operator(,) integer(130)operator(,) integer(131)operator(,) integer(81)operator(,) integer(126)operator(,) integer(27)operator(,) integer(128)operator(,) integer(94)operator(,) integer(231)operator(,) integer(232)operator(,) integer(233)operator(,) integer(826)operator(,) integer(124)operator(,) integer(678)operator(,) integer(81)operator(,) integer(81)operator(,) integer(130)operator(,) integer(131)operator(,) integer(451)operator(,) integer(125)operator(,) integer(128)operator(,) integer(244)operator(,) integer(81)operator(,) integer(246)operator(,) integer(247)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(244)operator(,) integer(51)operator(,) integer(246)operator(,) integer(247)operator(,) integer(128)operator(,) integer(244)operator(,) integer(562)operator(,) integer(246)operator(,) integer(247)operator(,) integer(59)operator(,) integer(244)operator(,) integer(463)operator(,) integer(246)operator(,) integer(247)operator(,) integer(120)operator(,) integer(266)operator(,) integer(122)operator(,) integer(81)operator(,) integer(124)operator(,) integer(130)operator(,) integer(131)operator(,) integer(71)operator(,) integer(128)operator(,) integer(737)operator(,) integer(738)operator(,) integer(120)operator(,) integer(120)operator(,) integer(122)operator(,) integer(122)operator(,) integer(124)operator(,) integer(124)operator(,) integer(222)operator(,) integer(223)operator(,) integer(128)operator(,) integer(128)operator(,) integer(25)operator(,) integer(218)operator(,) integer(124)operator(,) integer(126)operator(,) integer(52)operator(,) integer(779)operator(,) integer(780)operator(,) integer(25)operator(,) integer(798)operator(,) integer(54)operator(,) integer(784)operator(,) integer(59)operator(,) integer(60)operator(,) integer(261)operator(,) integer(25)operator(,) integer(36)operator(,) integer(37)operator(,) integer(267)operator(,) integer(313)operator(,) integer(58)operator(,) integer(105)operator(,) integer(103)operator(,) integer(107)operator(,) integer(122)operator(,) integer(310)operator(,) integer(124)operator(,) integer(83)operator(,) integer(367)operator(,) integer(576)operator(,) integer(315)operator(,) integer(316)operator(,) integer(317)operator(,) integer(318)operator(,) integer(319)operator(,) integer(320)operator(,) integer(321)operator(,) integer(322)operator(,) integer(323)operator(,) integer(324)operator(,) integer(325)operator(,) integer(326)operator(,) integer(327)operator(,) integer(328)operator(,) integer(329)operator(,) integer(330)operator(,) integer(331)operator(,) integer(332)operator(,) integer(333)operator(,) integer(334)operator(,) integer(335)operator(,) integer(336)operator(,) integer(337)operator(,) integer(338)operator(,) integer(339)operator(,) integer(340)operator(,) integer(341)operator(,) integer(244)operator(,) integer(343)operator(,) integer(246)operator(,) integer(247)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(310)operator(,) integer(312)operator(,) integer(351)operator(,) integer(352)operator(,) integer(342)operator(,) integer(315)operator(,) integer(313)operator(,) integer(131)operator(,) integer(83)operator(,) integer(54)operator(,) integer(725)operator(,) integer(343)operator(,) integer(301)operator(,) integer(302)operator(,) integer(303)operator(,) integer(304)operator(,) integer(25)operator(,) integer(732)operator(,) integer(723)operator(,) integer(368)operator(,) integer(108)operator(,) integer(244)operator(,) integer(859)operator(,) integer(246)operator(,) integer(247)operator(,) integer(84)operator(,) integer(300)operator(,) integer(108)operator(,) integer(103)operator(,) integer(367)operator(,) integer(81)operator(,) integer(305)operator(,) integer(25)operator(,) integer(83)operator(,) integer(108)operator(,) integer(384)operator(,) integer(368)operator(,) integer(386)operator(,) integer(126)operator(,) integer(388)operator(,) integer(389)operator(,) integer(351)operator(,) integer(352)operator(,) integer(25)operator(,) integer(393)operator(,) integer(126)operator(,) integer(25)operator(,) integer(385)operator(,) integer(56)operator(,) integer(57)operator(,) integer(592)operator(,) integer(400)operator(,) integer(126)operator(,) integer(103)operator(,) integer(386)operator(,) integer(126)operator(,) integer(405)operator(,) integer(406)operator(,) integer(206)operator(,) integer(25)operator(,) integer(409)operator(,) integer(399)operator(,) integer(126)operator(,) integer(624)operator(,) integer(413)operator(,) integer(240)operator(,) integer(625)operator(,) integer(626)operator(,) integer(400)operator(,) integer(406)operator(,) integer(128)operator(,) integer(413)operator(,) integer(120)operator(,) integer(124)operator(,) integer(222)operator(,) integer(223)operator(,) integer(413)operator(,) integer(426)operator(,) integer(771)operator(,) integer(14)operator(,) integer(15)operator(,) integer(81)operator(,) integer(431)operator(,) integer(363)operator(,) integer(81)operator(,) integer(81)operator(,) integer(424)operator(,) integer(310)operator(,) integer(125)operator(,) integer(126)operator(,) integer(439)operator(,) integer(429)operator(,) integer(315)operator(,) integer(442)operator(,) integer(83)operator(,) integer(444)operator(,) integer(244)operator(,) integer(64)operator(,) integer(246)operator(,) integer(247)operator(,) integer(2)operator(,) integer(450)operator(,) integer(125)operator(,) integer(424)operator(,) integer(417)operator(,) integer(424)operator(,) integer(419)operator(,) integer(125)operator(,) integer(256)operator(,) integer(798)operator(,) integer(103)operator(,) integer(449)operator(,) integer(424)operator(,) integer(261)operator(,) integer(103)operator(,) integer(108)operator(,) integer(396)operator(,) integer(397)operator(,) integer(450)operator(,) integer(468)operator(,) integer(469)operator(,) integer(103)operator(,) integer(435)operator(,) integer(436)operator(,) integer(124)operator(,) integer(64)operator(,) integer(108)operator(,) integer(124)operator(,) integer(124)operator(,) integer(108)operator(,) integer(479)operator(,) integer(785)operator(,) integer(125)operator(,) integer(126)operator(,) integer(125)operator(,) integer(850)operator(,) integer(50)operator(,) integer(830)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(108)operator(,) integer(125)operator(,) integer(126)operator(,) integer(47)operator(,) integer(50)operator(,) integer(126)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(300)operator(,) integer(301)operator(,) integer(302)operator(,) integer(303)operator(,) integer(304)operator(,) integer(305)operator(,) integer(306)operator(,) integer(307)operator(,) integer(126)operator(,) integer(123)operator(,) integer(310)operator(,) integer(121)operator(,) integer(312)operator(,) integer(313)operator(,) integer(83)operator(,) integer(315)operator(,) integer(64)operator(,) integer(50)operator(,) integer(393)operator(,) integer(886)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(91)operator(,) integer(92)operator(,) integer(54)operator(,) integer(55)operator(,) integer(521)operator(,) integer(83)operator(,) integer(79)operator(,) integer(80)operator(,) integer(126)operator(,) integer(103)operator(,) integer(91)operator(,) integer(92)operator(,) integer(130)operator(,) integer(521)operator(,) integer(54)operator(,) integer(863)operator(,) integer(101)operator(,) integer(126)operator(,) integer(343)operator(,) integer(110)operator(,) integer(528)operator(,) integer(130)operator(,) integer(113)operator(,) integer(531)operator(,) integer(532)operator(,) integer(103)operator(,) integer(351)operator(,) integer(352)operator(,) integer(107)operator(,) integer(110)operator(,) integer(58)operator(,) integer(548)operator(,) integer(113)operator(,) integer(91)operator(,) integer(92)operator(,) integer(101)operator(,) integer(81)operator(,) integer(128)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(368)operator(,) integer(81)operator(,) integer(370)operator(,) integer(371)operator(,) integer(64)operator(,) integer(81)operator(,) integer(83)operator(,) integer(576)operator(,) integer(403)operator(,) integer(110)operator(,) integer(64)operator(,) integer(126)operator(,) integer(113)operator(,) integer(81)operator(,) integer(382)operator(,) integer(573)operator(,) integer(574)operator(,) integer(83)operator(,) integer(386)operator(,) integer(552)operator(,) integer(58)operator(,) integer(590)operator(,) integer(390)operator(,) integer(81)operator(,) integer(392)operator(,) integer(787)operator(,) integer(103)operator(,) integer(573)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(793)operator(,) integer(400)operator(,) integer(574)operator(,) integer(543)operator(,) integer(574)operator(,) integer(124)operator(,) integer(103)operator(,) integer(90)operator(,) integer(608)operator(,) integer(10)operator(,) integer(541)operator(,) integer(574)operator(,) integer(612)operator(,) integer(124)operator(,) integer(413)operator(,) integer(122)operator(,) integer(616)operator(,) integer(124)operator(,) integer(126)operator(,) integer(13)operator(,) integer(8)operator(,) integer(128)operator(,) integer(126)operator(,) integer(122)operator(,) integer(624)operator(,) integer(124)operator(,) integer(130)operator(,) integer(64)operator(,) integer(427)operator(,) integer(126)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(564)operator(,) integer(17)operator(,) integer(124)operator(,) integer(624)operator(,) integer(10)operator(,) integer(638)operator(,) integer(58)operator(,) integer(126)operator(,) integer(624)operator(,) integer(79)operator(,) integer(80)operator(,) integer(125)operator(,) integer(2)operator(,) integer(81)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(450)operator(,) integer(126)operator(,) integer(125)operator(,) integer(864)operator(,) integer(81)operator(,) integer(81)operator(,) integer(657)operator(,) integer(15)operator(,) integer(659)operator(,) integer(660)operator(,) integer(661)operator(,) integer(662)operator(,) integer(653)operator(,) integer(604)operator(,) integer(121)operator(,) integer(666)operator(,) integer(667)operator(,) integer(81)operator(,) integer(126)operator(,) integer(125)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(129)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(81)operator(,) integer(83)operator(,) integer(685)operator(,) integer(126)operator(,) integer(122)operator(,) integer(126)operator(,) integer(124)operator(,) integer(47)operator(,) integer(125)operator(,) integer(81)operator(,) integer(123)operator(,) integer(51)operator(,) integer(653)operator(,) integer(122)operator(,) integer(122)operator(,) integer(124)operator(,) integer(124)operator(,) integer(661)operator(,) integer(123)operator(,) integer(576)operator(,) integer(256)operator(,) integer(103)operator(,) integer(666)operator(,) integer(667)operator(,) integer(10)operator(,) integer(261)operator(,) integer(122)operator(,) integer(710)operator(,) integer(124)operator(,) integer(712)operator(,) integer(713)operator(,) integer(71)operator(,) integer(81)operator(,) integer(103)operator(,) integer(126)operator(,) integer(718)operator(,) integer(126)operator(,) integer(81)operator(,) integer(50)operator(,) integer(686)operator(,) integer(83)operator(,) integer(122)operator(,) integer(725)operator(,) integer(124)operator(,) integer(126)operator(,) integer(81)operator(,) integer(729)operator(,) integer(126)operator(,) integer(50)operator(,) integer(732)operator(,) integer(122)operator(,) integer(15)operator(,) integer(124)operator(,) integer(729)operator(,) integer(81)operator(,) integer(123)operator(,) integer(52)operator(,) integer(53)operator(,) integer(729)operator(,) integer(55)operator(,) integer(103)operator(,) integer(543)operator(,) integer(544)operator(,) integer(59)operator(,) integer(60)operator(,) integer(58)operator(,) integer(680)operator(,) integer(107)operator(,) integer(61)operator(,) integer(10)operator(,) integer(270)operator(,) integer(754)operator(,) integer(272)operator(,) integer(122)operator(,) integer(274)operator(,) integer(124)operator(,) integer(312)operator(,) integer(10)operator(,) integer(122)operator(,) integer(762)operator(,) integer(124)operator(,) integer(563)operator(,) integer(92)operator(,) integer(126)operator(,) integer(707)operator(,) integer(126)operator(,) integer(122)operator(,) integer(126)operator(,) integer(124)operator(,) integer(736)operator(,) integer(2)operator(,) integer(123)operator(,) integer(4)operator(,) integer(126)operator(,) integer(125)operator(,) integer(122)operator(,) integer(743)operator(,) integer(124)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(125)operator(,) integer(611)operator(,) integer(125)operator(,) integer(16)operator(,) integer(17)operator(,) integer(99)operator(,) integer(100)operator(,) integer(20)operator(,) integer(723)operator(,) integer(121)operator(,) integer(64)operator(,) integer(795)operator(,) integer(622)operator(,) integer(797)operator(,) integer(27)operator(,) integer(125)operator(,) integer(123)operator(,) integer(762)operator(,) integer(10)operator(,) integer(803)operator(,) integer(125)operator(,) integer(604)operator(,) integer(806)operator(,) integer(10)operator(,) integer(84)operator(,) integer(79)operator(,) integer(80)operator(,) integer(811)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(42)operator(,) integer(43)operator(,) integer(9)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(49)operator(,) integer(50)operator(,) integer(10)operator(,) integer(10)operator(,) integer(624)operator(,) integer(125)operator(,) integer(121)operator(,) integer(786)operator(,) integer(382)operator(,) integer(59)operator(,) integer(630)operator(,) integer(125)operator(,) integer(108)operator(,) integer(126)operator(,) integer(126)operator(,) integer(10)operator(,) integer(390)operator(,) integer(10)operator(,) integer(392)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(645)operator(,) integer(126)operator(,) integer(848)operator(,) integer(206)operator(,) integer(850)operator(,) integer(10)operator(,) integer(126)operator(,) integer(125)operator(,) integer(653)operator(,) integer(729)operator(,) integer(10)operator(,) integer(121)operator(,) integer(10)operator(,) integer(54)operator(,) integer(848)operator(,) integer(121)operator(,) integer(661)operator(,) integer(863)operator(,) integer(10)operator(,) integer(10)operator(,) integer(71)operator(,) integer(666)operator(,) integer(667)operator(,) integer(126)operator(,) integer(870)operator(,) integer(123)operator(,) integer(872)operator(,) integer(862)operator(,) integer(427)operator(,) integer(6)operator(,) integer(105)operator(,) integer(653)operator(,) integer(107)operator(,) integer(78)operator(,) integer(863)operator(,) integer(81)operator(,) integer(866)operator(,) integer(7)operator(,) integer(865)operator(,) integer(785)operator(,) integer(886)operator(,) integer(562)operator(,) integer(689)operator(,) integer(689)operator(,) operator(-)integer(1)operator(,) integer(891)operator(,) integer(62)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(724)operator(,) integer(256)operator(,) operator(-)integer(1)operator(,) integer(727)operator(,) integer(728)operator(,) operator(-)integer(1)operator(,) integer(261)operator(,) integer(704)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(707)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(300)operator(,) operator(-)integer(1)operator(,) integer(2)operator(,) operator(-)integer(1)operator(,) integer(4)operator(,) integer(305)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(753)operator(,) integer(312)operator(,) integer(313)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(762)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) integer(771)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(206)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(808)operator(,) integer(809)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(786)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(47)operator(,) integer(790)operator(,) operator(-)integer(1)operator(,) integer(222)operator(,) integer(223)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(27)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(239)operator(,) integer(240)operator(,) integer(370)operator(,) operator(-)integer(1)operator(,) integer(244)operator(,) operator(-)integer(1)operator(,) integer(246)operator(,) integer(247)operator(,) integer(247)operator(,) integer(846)operator(,) integer(847)operator(,) integer(48)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) integer(382)operator(,) integer(852)operator(,) integer(256)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(830)operator(,) integer(261)operator(,) integer(390)operator(,) operator(-)integer(1)operator(,) integer(392)operator(,) operator(-)integer(1)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(871)operator(,) integer(845)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(107)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(885)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(888)operator(,) operator(-)integer(1)operator(,) integer(863)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(893)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(427)operator(,) integer(300)operator(,) integer(301)operator(,) integer(302)operator(,) integer(303)operator(,) integer(304)operator(,) integer(305)operator(,) integer(306)operator(,) integer(307)operator(,) integer(105)operator(,) operator(-)integer(1)operator(,) integer(310)operator(,) operator(-)integer(1)operator(,) integer(312)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(315)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(645)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(343)operator(,) integer(343)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(351)operator(,) integer(352)operator(,) operator(-)integer(1)operator(,) integer(2)operator(,) operator(-)integer(1)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) integer(368)operator(,) integer(368)operator(,) integer(370)operator(,) integer(371)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(206)operator(,) integer(378)operator(,) integer(704)operator(,) operator(-)integer(1)operator(,) integer(382)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(386)operator(,) integer(386)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(390)operator(,) operator(-)integer(1)operator(,) integer(392)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) operator(-)integer(1)operator(,) integer(47)operator(,) integer(400)operator(,) integer(400)operator(,) operator(-)integer(1)operator(,) integer(51)operator(,) integer(403)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(413)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(544)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(418)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(71)operator(,) operator(-)integer(1)operator(,) integer(222)operator(,) integer(223)operator(,) integer(427)operator(,) integer(256)operator(,) integer(753)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(261)operator(,) operator(-)integer(1)operator(,) integer(563)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(450)operator(,) integer(450)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(107)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(790)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(300)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(305)operator(,) operator(-)integer(1)operator(,) integer(478)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(312)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(2)operator(,) operator(-)integer(1)operator(,) integer(4)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(301)operator(,) integer(302)operator(,) integer(303)operator(,) integer(304)operator(,) operator(-)integer(1)operator(,) integer(306)operator(,) integer(307)operator(,) operator(-)integer(1)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(645)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(845)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(653)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(528)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(531)operator(,) integer(532)operator(,) integer(533)operator(,) integer(534)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(47)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(370)operator(,) integer(543)operator(,) integer(544)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(550)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(382)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(206)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(390)operator(,) integer(563)operator(,) integer(392)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(566)operator(,) operator(-)integer(1)operator(,) integer(568)operator(,) operator(-)integer(1)operator(,) integer(570)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(371)operator(,) operator(-)integer(1)operator(,) integer(704)operator(,) integer(576)operator(,) integer(577)operator(,) operator(-)integer(1)operator(,) integer(579)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(587)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(107)operator(,) integer(427)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(604)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(256)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(611)operator(,) integer(261)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(413)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(622)operator(,) integer(624)operator(,) integer(753)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(630)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) integer(771)operator(,) operator(-)integer(1)operator(,) integer(645)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(300)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(305)operator(,) integer(786)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(661)operator(,) integer(790)operator(,) operator(-)integer(1)operator(,) integer(312)operator(,) integer(313)operator(,) integer(666)operator(,) integer(667)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(678)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) operator(-)integer(1)operator(,) integer(206)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(830)operator(,) integer(702)operator(,) integer(704)operator(,) operator(-)integer(1)operator(,) integer(705)operator(,) integer(707)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(544)operator(,) integer(845)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) integer(370)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(724)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(727)operator(,) integer(728)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(382)operator(,) integer(563)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(737)operator(,) integer(738)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(390)operator(,) operator(-)integer(1)operator(,) integer(392)operator(,) operator(-)integer(1)operator(,) integer(543)operator(,) integer(256)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(261)operator(,) integer(753)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(762)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) integer(771)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(427)operator(,) integer(779)operator(,) integer(780)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(784)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(790)operator(,) integer(300)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(305)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(798)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(312)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(604)operator(,) operator(-)integer(1)operator(,) integer(808)operator(,) integer(809)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(645)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) operator(-)integer(1)operator(,) integer(653)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(830)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(630)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(845)operator(,) operator(-)integer(1)operator(,) integer(846)operator(,) integer(847)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(852)operator(,) integer(231)operator(,) integer(232)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(859)operator(,) integer(370)operator(,) operator(-)integer(1)operator(,) integer(863)operator(,) integer(863)operator(,) operator(-)integer(1)operator(,) integer(865)operator(,) integer(866)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(871)operator(,) integer(382)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(704)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(390)operator(,) operator(-)integer(1)operator(,) integer(392)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(885)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(888)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) integer(893)operator(,) operator(-)integer(1)operator(,) integer(544)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) integer(707)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(563)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(427)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(753)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(310)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) integer(315)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) integer(771)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(786)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(790)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(127)operator(,) integer(73)operator(,) integer(74)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) operator(-)integer(1)operator(,) integer(645)operator(,) integer(646)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(830)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(653)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(393)operator(,) integer(845)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(405)operator(,) integer(406)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(409)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(544)operator(,) integer(413)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(563)operator(,) operator(-)integer(1)operator(,) integer(704)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(439)operator(,) integer(43)operator(,) operator(-)integer(1)operator(,) integer(442)operator(,) operator(-)integer(1)operator(,) integer(444)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) integer(479)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(753)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) integer(771)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(645)operator(,) operator(-)integer(1)operator(,) integer(786)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(790)operator(,) operator(-)integer(1)operator(,) integer(0)operator(,) operator(-)integer(1)operator(,) integer(126)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) operator(-)integer(1)operator(,) integer(17)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(27)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(36)operator(,) integer(37)operator(,) integer(830)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(42)operator(,) integer(43)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(704)operator(,) operator(-)integer(1)operator(,) integer(845)operator(,) operator(-)integer(1)operator(,) integer(576)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(719)operator(,) integer(720)operator(,) integer(721)operator(,) integer(590)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(81)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(608)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(612)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(616)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(753)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(624)operator(,) operator(-)integer(1)operator(,) integer(105)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(768)operator(,) integer(769)operator(,) operator(-)integer(1)operator(,) integer(771)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(124)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(657)operator(,) integer(790)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(685)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(823)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(830)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(836)operator(,) operator(-)integer(1)operator(,) integer(838)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(845)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(718)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(725)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(732)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(754)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(797)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(806)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(811)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(848)operator(,) operator(-)integer(1)operator(,) integer(850)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(120)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(870)operator(,) operator(-)integer(1)operator(,) integer(872)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(0)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(886)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(891)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(0)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(14)operator(,) integer(15)operator(,) operator(-)integer(1)operator(,) integer(17)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(43)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(36)operator(,) integer(37)operator(,) operator(-)integer(1)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(42)operator(,) integer(43)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) integer(81)operator(,) operator(-)integer(1)operator(,) integer(83)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(103)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(0)operator(,) integer(120)operator(,) integer(121)operator(,) integer(122)operator(,) operator(-)integer(1)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(130)operator(,) integer(131)operator(,) operator(-)integer(1)operator(,) integer(14)operator(,) integer(15)operator(,) operator(-)integer(1)operator(,) integer(17)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(36)operator(,) integer(37)operator(,) operator(-)integer(1)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(42)operator(,) integer(43)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) integer(81)operator(,) operator(-)integer(1)operator(,) integer(83)operator(,) integer(104)operator(,) integer(105)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(103)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(121)operator(,) integer(122)operator(,) operator(-)integer(1)operator(,) integer(124)operator(,) integer(125)operator(,) integer(126)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(130)operator(,) integer(131)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(130)operator(,) integer(131)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(130)operator(,) integer(131)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(15)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(125)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(121)operator(,) operator(-)integer(1)operator(,) integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(130)operator(,) integer(131)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(131)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(131)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(128)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) integer(120)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) integer(120)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(83)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(103)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) integer(83)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(103)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(128)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(128)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(125)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) integer(92)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(38)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) integer(62)operator(,) integer(63)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(16)operator(,) operator(-)integer(1)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) integer(108)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(116)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(116)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(116)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(116)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(116)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) operator(-)integer(1)operator(,) integer(7)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(11)operator(,) integer(12)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(16)operator(,) integer(116)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(45)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) operator(-)integer(1)operator(,) integer(59)operator(,) integer(60)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(82)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(85)operator(,) integer(86)operator(,) operator(-)integer(1)operator(,) integer(88)operator(,) integer(89)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(50)operator(,) integer(51)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(116)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(50)operator(,) integer(51)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) integer(54)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) operator(-)integer(1)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(91)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(118)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(127)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) integer(130)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(84)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(104)operator(,) integer(126)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(126)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(104)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) integer(74)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(73)operator(,) integer(74)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(79)operator(,) integer(80)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115) operator(};) comment(/* YYSTOS[STATE-NUM] -- The (internal number of the\) accessing symbol of state STATE-NUM. */) directive(static) directive(const) ident(yytype_uint16) ident(yystos)operator([]) operator(=) operator({) integer(0)operator(,) integer(133)operator(,) integer(134)operator(,) integer(0)operator(,) integer(1)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(11)operator(,) integer(12)operator(,) integer(16)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(38)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(56)operator(,) integer(57)operator(,) integer(59)operator(,) integer(60)operator(,) integer(62)operator(,) integer(63)operator(,) integer(82)operator(,) integer(85)operator(,) integer(86)operator(,) integer(88)operator(,) integer(89)operator(,) integer(91)operator(,) integer(93)operator(,) integer(94)operator(,) integer(95)operator(,) integer(96)operator(,) integer(97)operator(,) integer(98)operator(,) integer(116)operator(,) integer(117)operator(,) integer(118)operator(,) integer(136)operator(,) integer(137)operator(,) integer(138)operator(,) integer(141)operator(,) integer(143)operator(,) integer(144)operator(,) integer(148)operator(,) integer(149)operator(,) integer(151)operator(,) integer(152)operator(,) integer(153)operator(,) integer(154)operator(,) integer(155)operator(,) integer(165)operator(,) integer(182)operator(,) integer(199)operator(,) integer(209)operator(,) integer(210)operator(,) integer(223)operator(,) integer(224)operator(,) integer(225)operator(,) integer(226)operator(,) integer(227)operator(,) integer(228)operator(,) integer(229)operator(,) integer(232)operator(,) integer(240)operator(,) integer(242)operator(,) integer(243)operator(,) integer(244)operator(,) integer(245)operator(,) integer(246)operator(,) integer(247)operator(,) integer(266)operator(,) integer(275)operator(,) integer(138)operator(,) integer(21)operator(,) integer(22)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(45)operator(,) integer(50)operator(,) integer(54)operator(,) integer(79)operator(,) integer(82)operator(,) integer(85)operator(,) integer(116)operator(,) integer(156)operator(,) integer(157)operator(,) integer(182)operator(,) integer(199)operator(,) integer(244)operator(,) integer(247)operator(,) integer(266)operator(,) integer(157)operator(,) integer(3)operator(,) integer(4)operator(,) integer(5)operator(,) integer(6)operator(,) integer(7)operator(,) integer(8)operator(,) integer(9)operator(,) integer(10)operator(,) integer(11)operator(,) integer(12)operator(,) integer(13)operator(,) integer(14)operator(,) integer(15)operator(,) integer(16)operator(,) integer(17)operator(,) integer(18)operator(,) integer(19)operator(,) integer(20)operator(,) integer(21)operator(,) integer(22)operator(,) integer(23)operator(,) integer(24)operator(,) integer(25)operator(,) integer(26)operator(,) integer(29)operator(,) integer(30)operator(,) integer(31)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(36)operator(,) integer(37)operator(,) integer(38)operator(,) integer(44)operator(,) integer(45)operator(,) integer(46)operator(,) integer(47)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(51)operator(,) integer(54)operator(,) integer(62)operator(,) integer(63)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(69)operator(,) integer(70)operator(,) integer(73)operator(,) integer(77)operator(,) integer(78)operator(,) integer(79)operator(,) integer(80)operator(,) integer(91)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(118)operator(,) integer(127)operator(,) integer(128)operator(,) integer(158)operator(,) integer(163)operator(,) integer(164)operator(,) integer(245)operator(,) integer(261)operator(,) integer(32)operator(,) integer(33)operator(,) integer(34)operator(,) integer(35)operator(,) integer(48)operator(,) integer(49)operator(,) integer(50)operator(,) integer(54)operator(,) integer(158)operator(,) integer(159)operator(,) integer(160)operator(,) integer(161)operator(,) integer(240)operator(,) integer(242)operator(,) integer(183)operator(,) integer(82)operator(,) integer(141)operator(,) integer(142)operator(,) integer(155)operator(,) integer(199)operator(,) integer(244)operator(,) integer(246)operator(,) integer(247)operator(,) integer(142)operator(,) integer(130)operator(,) integer(131)operator(,) integer(142)operator(,) integer(270)operator(,) integer(273)operator(,) integer(274)operator(,) integer(186)operator(,) integer(188)operator(,) integer(82)operator(,) integer(149)operator(,) integer(155)operator(,) integer(199)operator(,) integer(204)operator(,) integer(244)operator(,) integer(247)operator(,) integer(91)operator(,) integer(92)operator(,) integer(117)operator(,) integer(148)operator(,) integer(165)operator(,) integer(167)operator(,) integer(171)operator(,) integer(178)operator(,) integer(180)operator(,) integer(264)operator(,) integer(265)operator(,) integer(171)operator(,) integer(171)operator(,) integer(128)operator(,) integer(173)operator(,) integer(174)operator(,) integer(128)operator(,) integer(169)operator(,) integer(173)operator(,) integer(141)operator(,) integer(52)operator(,) integer(160)operator(,) integer(130)operator(,) integer(271)operator(,) integer(140)operator(,) integer(120)operator(,) integer(165)operator(,) integer(199)operator(,) integer(165)operator(,) integer(54)operator(,) integer(85)operator(,) integer(136)operator(,) integer(150)operator(,) integer(151)operator(,) integer(141)operator(,) integer(91)operator(,) integer(148)operator(,) integer(168)operator(,) integer(180)operator(,) integer(264)operator(,) integer(275)operator(,) integer(180)operator(,) integer(263)operator(,) integer(264)operator(,) integer(275)operator(,) integer(82)operator(,) integer(154)operator(,) integer(199)operator(,) integer(244)operator(,) integer(247)operator(,) integer(52)operator(,) integer(53)operator(,) integer(55)operator(,) integer(158)operator(,) integer(235)operator(,) integer(241)operator(,) integer(234)operator(,) integer(235)operator(,) integer(235)operator(,) integer(129)operator(,) integer(230)operator(,) integer(129)operator(,) integer(233)operator(,) integer(56)operator(,) integer(57)operator(,) integer(143)operator(,) integer(165)operator(,) integer(165)operator(,) integer(270)operator(,) integer(274)operator(,) integer(39)operator(,) integer(40)operator(,) integer(41)operator(,) integer(42)operator(,) integer(43)operator(,) integer(36)operator(,) integer(37)operator(,) integer(28)operator(,) integer(206)operator(,) integer(103)operator(,) integer(126)operator(,) integer(85)operator(,) integer(91)operator(,) integer(152)operator(,) integer(103)operator(,) integer(64)operator(,) integer(65)operator(,) integer(66)operator(,) integer(67)operator(,) integer(68)operator(,) integer(69)operator(,) integer(70)operator(,) integer(71)operator(,) integer(72)operator(,) integer(73)operator(,) integer(74)operator(,) integer(75)operator(,) integer(76)operator(,) integer(79)operator(,) integer(80)operator(,) integer(104)operator(,) integer(106)operator(,) integer(107)operator(,) integer(108)operator(,) integer(109)operator(,) integer(110)operator(,) integer(111)operator(,) integer(112)operator(,) integer(113)operator(,) integer(114)operator(,) integer(115)operator(,) integer(81)operator(,) integer(122)operator(,) integer(124)operator(,) integer(81)operator(,) integer(124)operator(,) integer(26)operator(,) integer(120)operator(,) integer(211)operator(,) integer(226)operator(,) integer(83)operator(,) integer(83)operator(,) integer(169)operator(,) integer(173)operator(,) integer(211)operator(,) integer(271)operator(,) integer(141)operator(,) integer(50)operator(,) integer(54)operator(,) integer(156)operator(,) integer(56)operator(,) integer(57)operator(,) integer(1)operator(,) integer(107)operator(,) integer(248)operator(,) integer(273)operator(,) integer(81)operator(,) integer(122)operator(,) integer(124)operator(,) integer(195)operator(,) integer(262)operator(,) integer(196)operator(,) integer(81)operator(,) integer(124)operator(,) integer(269)operator(,) integer(126)operator(,) integer(135)operator(,) integer(136)operator(,) integer(54)operator(,) integer(13)operator(,) integer(105)operator(,) integer(200)operator(,) integer(273)operator(,) integer(103)operator(,) integer(81)operator(,) integer(122)operator(,) integer(124)operator(,) integer(83)operator(,) integer(83)operator(,) integer(200)operator(,) integer(270)operator(,) integer(15)operator(,) integer(17)operator(,) integer(216)operator(,) integer(131)operator(,) integer(142)operator(,) integer(142)operator(,) integer(54)operator(,) integer(81)operator(,) integer(122)operator(,) integer(124)operator(,) integer(25)operator(,) integer(167)operator(,) integer(167)operator(,) integer(84)operator(,) integer(126)operator(,) integer(179)operator(,) integer(275)operator(,) integer(126)operator(,) integer(179)operator(,) integer(125)operator(,) integer(171)operator(,) integer(86)operator(,) integer(171)operator(,) integer(175)operator(,) integer(148)operator(,) integer(171)operator(,) integer(180)operator(,) integer(209)operator(,) integer(275)operator(,) integer(52)operator(,) integer(59)operator(,) integer(60)operator(,) integer(139)operator(,) integer(128)operator(,) integer(166)operator(,) integer(120)operator(,) integer(136)operator(,) integer(81)operator(,) integer(124)operator(,) integer(83)operator(,) integer(150)operator(,) integer(125)operator(,) integer(125)operator(,) integer(184)operator(,) integer(165)operator(,) integer(271)operator(,) integer(123)operator(,) integer(126)operator(,) integer(130)operator(,) integer(272)operator(,) integer(126)operator(,) integer(272)operator(,) integer(126)operator(,) integer(272)operator(,) integer(121)operator(,) integer(272)operator(,) integer(54)operator(,) integer(81)operator(,) integer(122)operator(,) integer(124)operator(,) integer(58)operator(,) integer(99)operator(,) integer(100)operator(,) integer(101)operator(,) integer(236)operator(,) integer(101)operator(,) integer(236)operator(,) integer(101)operator(,) integer(61)operator(,) integer(101)operator(,) integer(101)operator(,) integer(231)operator(,) integer(236)operator(,) integer(101)operator(,) integer(58)operator(,) integer(101)operator(,) integer(64)operator(,) integer(64)operator(,) integer(138)operator(,) integer(142)operator(,) integer(142)operator(,) integer(142)operator(,) integer(142)operator(,) integer(138)operator(,) integer(141)operator(,) integer(141)operator(,) integer(207)operator(,) integer(91)operator(,) integer(143)operator(,) integer(167)operator(,) integer(180)operator(,) integer(181)operator(,) integer(150)operator(,) integer(154)operator(,) integer(126)operator(,) integer(143)operator(,) integer(165)operator(,) integer(167)operator(,) integer(181)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(165)operator(,) integer(50)operator(,) integer(51)operator(,) integer(54)operator(,) integer(163)operator(,) integer(267)operator(,) integer(268)operator(,) integer(168)operator(,) integer(50)operator(,) integer(51)operator(,) integer(54)operator(,) integer(163)operator(,) integer(267)operator(,) integer(50)operator(,) integer(54)operator(,) integer(267)operator(,) integer(267)operator(,) integer(214)operator(,) integer(212)operator(,) integer(143)operator(,) integer(165)operator(,) integer(143)operator(,) integer(165)operator(,) integer(90)operator(,) integer(145)operator(,) integer(193)operator(,) integer(273)operator(,) integer(249)operator(,) integer(192)operator(,) integer(50)operator(,) integer(54)operator(,) integer(156)operator(,) integer(267)operator(,) integer(168)operator(,) integer(267)operator(,) integer(135)operator(,) integer(141)operator(,) integer(50)operator(,) integer(52)operator(,) integer(53)operator(,) integer(54)operator(,) integer(55)operator(,) integer(91)operator(,) integer(92)operator(,) integer(110)operator(,) integer(113)operator(,) integer(128)operator(,) integer(250)operator(,) integer(251)operator(,) integer(252)operator(,) integer(253)operator(,) integer(254)operator(,) integer(255)operator(,) integer(256)operator(,) integer(257)operator(,) integer(258)operator(,) integer(259)operator(,) integer(197)operator(,) integer(162)operator(,) integer(10)operator(,) integer(8)operator(,) integer(219)operator(,) integer(275)operator(,) integer(136)operator(,) integer(13)operator(,) integer(165)operator(,) integer(50)operator(,) integer(54)operator(,) integer(168)operator(,) integer(50)operator(,) integer(54)operator(,) integer(136)operator(,) integer(216)operator(,) integer(136)operator(,) integer(91)operator(,) integer(180)operator(,) integer(217)operator(,) integer(10)operator(,) integer(27)operator(,) integer(105)operator(,) integer(201)operator(,) integer(273)operator(,) integer(201)operator(,) integer(50)operator(,) integer(54)operator(,) integer(168)operator(,) integer(50)operator(,) integer(54)operator(,) integer(190)operator(,) integer(126)operator(,) integer(179)operator(,) integer(167)operator(,) integer(91)operator(,) integer(167)operator(,) integer(178)operator(,) integer(264)operator(,) integer(91)operator(,) integer(167)operator(,) integer(265)operator(,) integer(125)operator(,) integer(91)operator(,) integer(165)operator(,) integer(167)operator(,) integer(172)operator(,) integer(176)operator(,) integer(178)operator(,) integer(264)operator(,) integer(271)operator(,) integer(126)operator(,) integer(81)operator(,) integer(124)operator(,) integer(271)operator(,) integer(125)operator(,) integer(160)operator(,) integer(185)operator(,) integer(165)operator(,) integer(136)operator(,) integer(121)operator(,) integer(165)operator(,) integer(125)operator(,) integer(271)operator(,) integer(271)operator(,) integer(91)operator(,) integer(167)operator(,) integer(50)operator(,) integer(54)operator(,) integer(168)operator(,) integer(50)operator(,) integer(54)operator(,) integer(238)operator(,) integer(237)operator(,) integer(129)operator(,) integer(236)operator(,) integer(129)operator(,) integer(165)operator(,) integer(165)operator(,) integer(72)operator(,) integer(108)operator(,) integer(205)operator(,) integer(275)operator(,) integer(167)operator(,) integer(126)operator(,) integer(125)operator(,) integer(43)operator(,) integer(105)operator(,) integer(83)operator(,) integer(83)operator(,) integer(169)operator(,) integer(173)operator(,) integer(123)operator(,) integer(83)operator(,) integer(83)operator(,) integer(169)operator(,) integer(170)operator(,) integer(173)operator(,) integer(275)operator(,) integer(170)operator(,) integer(173)operator(,) integer(170)operator(,) integer(173)operator(,) integer(205)operator(,) integer(205)operator(,) integer(146)operator(,) integer(273)operator(,) integer(142)operator(,) integer(135)operator(,) integer(123)operator(,) integer(10)operator(,) integer(271)operator(,) integer(103)operator(,) integer(251)operator(,) integer(135)operator(,) integer(273)operator(,) integer(126)operator(,) integer(260)operator(,) integer(275)operator(,) integer(126)operator(,) integer(260)operator(,) integer(50)operator(,) integer(126)operator(,) integer(260)operator(,) integer(50)operator(,) integer(158)operator(,) integer(160)operator(,) integer(167)operator(,) integer(181)operator(,) integer(220)operator(,) integer(275)operator(,) integer(15)operator(,) integer(203)operator(,) integer(275)operator(,) integer(14)operator(,) integer(202)operator(,) integer(203)operator(,) integer(83)operator(,) integer(123)operator(,) integer(83)operator(,) integer(83)operator(,) integer(203)operator(,) integer(10)operator(,) integer(10)operator(,) integer(167)operator(,) integer(126)operator(,) integer(200)operator(,) integer(187)operator(,) integer(189)operator(,) integer(123)operator(,) integer(142)operator(,) integer(167)operator(,) integer(126)operator(,) integer(179)operator(,) integer(167)operator(,) integer(167)operator(,) integer(126)operator(,) integer(177)operator(,) integer(125)operator(,) integer(126)operator(,) integer(179)operator(,) integer(125)operator(,) integer(148)operator(,) integer(209)operator(,) integer(267)operator(,) integer(267)operator(,) integer(125)operator(,) integer(141)operator(,) integer(121)operator(,) integer(125)operator(,) integer(165)operator(,) integer(123)operator(,) integer(136)operator(,) integer(52)operator(,) integer(53)operator(,) integer(55)operator(,) integer(239)operator(,) integer(247)operator(,) integer(108)operator(,) integer(204)operator(,) integer(208)operator(,) integer(91)operator(,) integer(167)operator(,) integer(165)operator(,) integer(165)operator(,) integer(143)operator(,) integer(165)operator(,) integer(165)operator(,) integer(145)operator(,) integer(83)operator(,) integer(143)operator(,) integer(165)operator(,) integer(143)operator(,) integer(165)operator(,) integer(145)operator(,) integer(215)operator(,) integer(213)operator(,) integer(205)operator(,) integer(194)operator(,) integer(273)operator(,) integer(10)operator(,) integer(125)operator(,) integer(167)operator(,) integer(271)operator(,) integer(10)operator(,) integer(252)operator(,) integer(255)operator(,) integer(257)operator(,) integer(259)operator(,) integer(50)operator(,) integer(254)operator(,) integer(257)operator(,) integer(198)operator(,) integer(84)operator(,) integer(221)operator(,) integer(275)operator(,) integer(136)operator(,) integer(9)operator(,) integer(222)operator(,) integer(275)operator(,) integer(142)operator(,) integer(10)operator(,) integer(83)operator(,) integer(10)operator(,) integer(91)operator(,) integer(136)operator(,) integer(136)operator(,) integer(136)operator(,) integer(201)operator(,) integer(179)operator(,) integer(91)operator(,) integer(179)operator(,) integer(179)operator(,) integer(91)operator(,) integer(178)operator(,) integer(180)operator(,) integer(264)operator(,) integer(125)operator(,) integer(91)operator(,) integer(271)operator(,) integer(125)operator(,) integer(271)operator(,) integer(121)operator(,) integer(108)operator(,) integer(136)operator(,) integer(167)operator(,) integer(143)operator(,) integer(165)operator(,) integer(136)operator(,) integer(136)operator(,) integer(147)operator(,) integer(135)operator(,) integer(125)operator(,) integer(126)operator(,) integer(260)operator(,) integer(260)operator(,) integer(260)operator(,) integer(250)operator(,) integer(82)operator(,) integer(155)operator(,) integer(199)operator(,) integer(244)operator(,) integer(247)operator(,) integer(200)operator(,) integer(136)operator(,) integer(200)operator(,) integer(167)operator(,) integer(203)operator(,) integer(216)operator(,) integer(218)operator(,) integer(10)operator(,) integer(10)operator(,) integer(191)operator(,) integer(165)operator(,) integer(167)operator(,) integer(126)operator(,) integer(179)operator(,) integer(126)operator(,) integer(179)operator(,) integer(167)operator(,) integer(125)operator(,) integer(10)operator(,) integer(10)operator(,) integer(121)operator(,) integer(136)operator(,) integer(10)operator(,) integer(257)operator(,) integer(135)operator(,) integer(54)operator(,) integer(81)operator(,) integer(122)operator(,) integer(124)operator(,) integer(136)operator(,) integer(136)operator(,) integer(136)operator(,) integer(179)operator(,) integer(179)operator(,) integer(91)operator(,) integer(264)operator(,) integer(91)operator(,) integer(179)operator(,) integer(121)operator(,) integer(260)operator(,) integer(10)operator(,) integer(50)operator(,) integer(54)operator(,) integer(168)operator(,) integer(50)operator(,) integer(54)operator(,) integer(219)operator(,) integer(202)operator(,) integer(10)operator(,) integer(167)operator(,) integer(126)operator(,) integer(179)operator(,) integer(167)operator(,) integer(123)operator(,) integer(179)operator(,) integer(91)operator(,) integer(179)operator(,) integer(167)operator(,) integer(179) operator(};) preprocessor(#define) ident(yyerrok) operator(()ident(yyerrstatus) operator(=) integer(0)operator(\)) preprocessor(#define) ident(yyclearin) operator(()ident(yychar) operator(=) ident(YYEMPTY)operator(\)) preprocessor(#define) ident(YYEMPTY) operator((-)integer(2)operator(\)) preprocessor(#define) ident(YYEOF) integer(0) preprocessor(#define) ident(YYACCEPT) reserved(goto) ident(yyacceptlab) preprocessor(#define) ident(YYABORT) reserved(goto) ident(yyabortlab) preprocessor(#define) ident(YYERROR) reserved(goto) ident(yyerrorlab) comment(/* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */) preprocessor(#define) ident(YYFAIL) reserved(goto) ident(yyerrlab) preprocessor(#define) ident(YYRECOVERING)operator((\)) operator((!!)ident(yyerrstatus)operator(\)) preprocessor(#define) ident(YYBACKUP)operator(()ident(Token)operator(,) ident(Value)operator(\)) \ reserved(do) \ reserved(if) operator(()ident(yychar) operator(==) ident(YYEMPTY) operator(&&) ident(yylen) operator(==) integer(1)operator(\)) \ operator({) \ ident(yychar) operator(=) operator(()ident(Token)operator(\);) \ ident(yylval) operator(=) operator(()ident(Value)operator(\);) \ ident(yytoken) operator(=) ident(YYTRANSLATE) operator(()ident(yychar)operator(\);) \ ident(YYPOPSTACK) operator(()integer(1)operator(\);) \ reserved(goto) ident(yybackup)operator(;) \ operator(}) \ reserved(else) \ operator({) \ ident(yyerror) operator(()ident(YY_)operator(()stringoperator(\)\);) \ ident(YYERROR)operator(;) \ operator(}) \ reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) preprocessor(#define) ident(YYTERROR) integer(1) preprocessor(#define) ident(YYERRCODE) integer(256) comment(/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined\). */) preprocessor(#define) ident(YYRHSLOC)operator(()ident(Rhs)operator(,) ident(K)operator(\)) operator((()ident(Rhs)operator(\)[)ident(K)operator(]\)) preprocessor(#ifndef) ident(YYLLOC_DEFAULT) preprocessor(# define) ident(YYLLOC_DEFAULT)operator(()ident(Current)operator(,) ident(Rhs)operator(,) ident(N)operator(\)) \ reserved(do) \ reserved(if) operator(()ident(YYID) operator(()ident(N)operator(\)\)) \ operator({) \ operator(()ident(Current)operator(\))operator(.)ident(first_line) operator(=) ident(YYRHSLOC) operator(()ident(Rhs)operator(,) integer(1)operator(\))operator(.)ident(first_line)operator(;) \ operator(()ident(Current)operator(\))operator(.)ident(first_column) operator(=) ident(YYRHSLOC) operator(()ident(Rhs)operator(,) integer(1)operator(\))operator(.)ident(first_column)operator(;) \ operator(()ident(Current)operator(\))operator(.)ident(last_line) operator(=) ident(YYRHSLOC) operator(()ident(Rhs)operator(,) ident(N)operator(\))operator(.)ident(last_line)operator(;) \ operator(()ident(Current)operator(\))operator(.)ident(last_column) operator(=) ident(YYRHSLOC) operator(()ident(Rhs)operator(,) ident(N)operator(\))operator(.)ident(last_column)operator(;) \ operator(}) \ reserved(else) \ operator({) \ operator(()ident(Current)operator(\))operator(.)ident(first_line) operator(=) operator(()ident(Current)operator(\))operator(.)ident(last_line) operator(=) \ ident(YYRHSLOC) operator(()ident(Rhs)operator(,) integer(0)operator(\))operator(.)ident(last_line)operator(;) \ operator(()ident(Current)operator(\))operator(.)ident(first_column) operator(=) operator(()ident(Current)operator(\))operator(.)ident(last_column) operator(=) \ ident(YYRHSLOC) operator(()ident(Rhs)operator(,) integer(0)operator(\))operator(.)ident(last_column)operator(;) \ operator(}) \ reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) preprocessor(#endif) comment(/* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */) preprocessor(#ifndef) ident(YY_LOCATION_PRINT) preprocessor(# if) ident(YYLTYPE_IS_TRIVIAL) preprocessor(# define) ident(YY_LOCATION_PRINT)operator(()ident(File)operator(,) ident(Loc)operator(\)) \ ident(fprintf) operator(()ident(File)operator(,) stringoperator(,) \ operator(()ident(Loc)operator(\))operator(.)ident(first_line)operator(,) operator(()ident(Loc)operator(\))operator(.)ident(first_column)operator(,) \ operator(()ident(Loc)operator(\))operator(.)ident(last_line)operator(,) operator(()ident(Loc)operator(\))operator(.)ident(last_column)operator(\)) preprocessor(# else) preprocessor(# define) ident(YY_LOCATION_PRINT)operator(()ident(File)operator(,) ident(Loc)operator(\)) operator((()directive(void)operator(\)) integer(0)operator(\)) preprocessor(# endif) preprocessor(#endif) comment(/* YYLEX -- calling `yylex' with the right arguments. */) preprocessor(#ifdef) ident(YYLEX_PARAM) preprocessor(# define) ident(YYLEX) ident(yylex) operator(()ident(YYLEX_PARAM)operator(\)) preprocessor(#else) preprocessor(# define) ident(YYLEX) ident(yylex) operator((\)) preprocessor(#endif) comment(/* Enable debugging if requested. */) preprocessor(#if) ident(YYDEBUG) preprocessor(# ifndef) ident(YYFPRINTF) preprocessor(# include) include() comment(/* INFRINGES ON USER NAME SPACE */) preprocessor(# define) ident(YYFPRINTF) ident(fprintf) preprocessor(# endif) preprocessor(# define) ident(YYDPRINTF)operator(()ident(Args)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(yydebug)operator(\)) \ ident(YYFPRINTF) ident(Args)operator(;) \ operator(}) reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) preprocessor(# define) ident(YY_SYMBOL_PRINT)operator(()ident(Title)operator(,) ident(Type)operator(,) ident(Value)operator(,) ident(Location)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(yydebug)operator(\)) \ operator({) \ ident(YYFPRINTF) operator(()ident(stderr)operator(,) stringoperator(,) ident(Title)operator(\);) \ ident(yy_symbol_print) operator(()ident(stderr)operator(,) \ ident(Type)operator(,) ident(Value)operator(\);) \ ident(YYFPRINTF) operator(()ident(stderr)operator(,) stringoperator(\);) \ operator(}) \ operator(}) reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) comment(/*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/) comment(/*ARGSUSED*/) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) directive(void) ident(yy_symbol_value_print) operator(()ident(FILE) operator(*)ident(yyoutput)operator(,) pre_type(int) ident(yytype)operator(,) ident(YYSTYPE) directive(const) operator(*) directive(const) ident(yyvaluep)operator(\)) preprocessor(#else) directive(static) directive(void) ident(yy_symbol_value_print) operator(()ident(yyoutput)operator(,) ident(yytype)operator(,) ident(yyvaluep)operator(\)) ident(FILE) operator(*)ident(yyoutput)operator(;) pre_type(int) ident(yytype)operator(;) ident(YYSTYPE) directive(const) operator(*) directive(const) ident(yyvaluep)operator(;) preprocessor(#endif) operator({) reserved(if) operator((!)ident(yyvaluep)operator(\)) reserved(return)operator(;) preprocessor(# ifdef) ident(YYPRINT) reserved(if) operator(()ident(yytype) operator(<) ident(YYNTOKENS)operator(\)) ident(YYPRINT) operator(()ident(yyoutput)operator(,) ident(yytoknum)operator([)ident(yytype)operator(],) operator(*)ident(yyvaluep)operator(\);) preprocessor(# else) ident(YYUSE) operator(()ident(yyoutput)operator(\);) preprocessor(# endif) reserved(switch) operator(()ident(yytype)operator(\)) operator({) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) comment(/*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) directive(void) ident(yy_symbol_print) operator(()ident(FILE) operator(*)ident(yyoutput)operator(,) pre_type(int) ident(yytype)operator(,) ident(YYSTYPE) directive(const) operator(*) directive(const) ident(yyvaluep)operator(\)) preprocessor(#else) directive(static) directive(void) ident(yy_symbol_print) operator(()ident(yyoutput)operator(,) ident(yytype)operator(,) ident(yyvaluep)operator(\)) ident(FILE) operator(*)ident(yyoutput)operator(;) pre_type(int) ident(yytype)operator(;) ident(YYSTYPE) directive(const) operator(*) directive(const) ident(yyvaluep)operator(;) preprocessor(#endif) operator({) reserved(if) operator(()ident(yytype) operator(<) ident(YYNTOKENS)operator(\)) ident(YYFPRINTF) operator(()ident(yyoutput)operator(,) stringoperator(,) ident(yytname)operator([)ident(yytype)operator(]\);) reserved(else) ident(YYFPRINTF) operator(()ident(yyoutput)operator(,) stringoperator(,) ident(yytname)operator([)ident(yytype)operator(]\);) ident(yy_symbol_value_print) operator(()ident(yyoutput)operator(,) ident(yytype)operator(,) ident(yyvaluep)operator(\);) ident(YYFPRINTF) operator(()ident(yyoutput)operator(,) stringoperator(\);) operator(}) comment(/*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included\). | `------------------------------------------------------------------*/) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) directive(void) ident(yy_stack_print) operator(()ident(yytype_int16) operator(*)ident(bottom)operator(,) ident(yytype_int16) operator(*)ident(top)operator(\)) preprocessor(#else) directive(static) directive(void) ident(yy_stack_print) operator(()ident(bottom)operator(,) ident(top)operator(\)) ident(yytype_int16) operator(*)ident(bottom)operator(;) ident(yytype_int16) operator(*)ident(top)operator(;) preprocessor(#endif) operator({) ident(YYFPRINTF) operator(()ident(stderr)operator(,) stringoperator(\);) reserved(for) operator((;) ident(bottom) operator(<=) ident(top)operator(;) operator(++)ident(bottom)operator(\)) ident(YYFPRINTF) operator(()ident(stderr)operator(,) stringoperator(,) operator(*)ident(bottom)operator(\);) ident(YYFPRINTF) operator(()ident(stderr)operator(,) stringoperator(\);) operator(}) preprocessor(# define) ident(YY_STACK_PRINT)operator(()ident(Bottom)operator(,) ident(Top)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(yydebug)operator(\)) \ ident(yy_stack_print) operator((()ident(Bottom)operator(\),) operator(()ident(Top)operator(\)\);) \ operator(}) reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) comment(/*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) directive(void) ident(yy_reduce_print) operator(()ident(YYSTYPE) operator(*)ident(yyvsp)operator(,) pre_type(int) ident(yyrule)operator(\)) preprocessor(#else) directive(static) directive(void) ident(yy_reduce_print) operator(()ident(yyvsp)operator(,) ident(yyrule)operator(\)) ident(YYSTYPE) operator(*)ident(yyvsp)operator(;) pre_type(int) ident(yyrule)operator(;) preprocessor(#endif) operator({) pre_type(int) ident(yynrhs) operator(=) ident(yyr2)operator([)ident(yyrule)operator(];) pre_type(int) ident(yyi)operator(;) pre_type(unsigned) pre_type(long) pre_type(int) ident(yylno) operator(=) ident(yyrline)operator([)ident(yyrule)operator(];) ident(YYFPRINTF) operator(()ident(stderr)operator(,) stringoperator(,) ident(yyrule) operator(-) integer(1)operator(,) ident(yylno)operator(\);) comment(/* The symbols being reduced. */) reserved(for) operator(()ident(yyi) operator(=) integer(0)operator(;) ident(yyi) operator(<) ident(yynrhs)operator(;) ident(yyi)operator(++\)) operator({) ident(fprintf) operator(()ident(stderr)operator(,) stringoperator(,) ident(yyi) operator(+) integer(1)operator(\);) ident(yy_symbol_print) operator(()ident(stderr)operator(,) ident(yyrhs)operator([)ident(yyprhs)operator([)ident(yyrule)operator(]) operator(+) ident(yyi)operator(],) operator(&()ident(yyvsp)operator([()ident(yyi) operator(+) integer(1)operator(\)) operator(-) operator(()ident(yynrhs)operator(\)]\)) operator(\);) ident(fprintf) operator(()ident(stderr)operator(,) stringoperator(\);) operator(}) operator(}) preprocessor(# define) ident(YY_REDUCE_PRINT)operator(()ident(Rule)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(yydebug)operator(\)) \ ident(yy_reduce_print) operator(()ident(yyvsp)operator(,) ident(Rule)operator(\);) \ operator(}) reserved(while) operator(()ident(YYID) operator(()integer(0)operator(\)\)) comment(/* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */) pre_type(int) ident(yydebug)operator(;) preprocessor(#else) comment(/* !YYDEBUG */) preprocessor(# define) ident(YYDPRINTF)operator(()ident(Args)operator(\)) preprocessor(# define) ident(YY_SYMBOL_PRINT)operator(()ident(Title)operator(,) ident(Type)operator(,) ident(Value)operator(,) ident(Location)operator(\)) preprocessor(# define) ident(YY_STACK_PRINT)operator(()ident(Bottom)operator(,) ident(Top)operator(\)) preprocessor(# define) ident(YY_REDUCE_PRINT)operator(()ident(Rule)operator(\)) preprocessor(#endif) comment(/* !YYDEBUG */) comment(/* YYINITDEPTH -- initial size of the parser's stacks. */) preprocessor(#ifndef) ident(YYINITDEPTH) preprocessor(# define) ident(YYINITDEPTH) integer(200) preprocessor(#endif) comment(/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used\). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH\) evaluated with infinite-precision integer arithmetic. */) preprocessor(#ifndef) ident(YYMAXDEPTH) preprocessor(# define) ident(YYMAXDEPTH) integer(10000) preprocessor(#endif) preprocessor(#if) ident(YYERROR_VERBOSE) preprocessor(# ifndef) ident(yystrlen) preprocessor(# if) ident(defined) ident(__GLIBC__) operator(&&) ident(defined) ident(_STRING_H) preprocessor(# define) ident(yystrlen) ident(strlen) preprocessor(# else) comment(/* Return the length of YYSTR. */) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) ident(YYSIZE_T) ident(yystrlen) operator(()directive(const) pre_type(char) operator(*)ident(yystr)operator(\)) preprocessor(#else) directive(static) ident(YYSIZE_T) ident(yystrlen) operator(()ident(yystr)operator(\)) directive(const) pre_type(char) operator(*)ident(yystr)operator(;) preprocessor(#endif) operator({) ident(YYSIZE_T) ident(yylen)operator(;) reserved(for) operator(()ident(yylen) operator(=) integer(0)operator(;) ident(yystr)operator([)ident(yylen)operator(];) ident(yylen)operator(++\)) reserved(continue)operator(;) reserved(return) ident(yylen)operator(;) operator(}) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(yystpcpy) preprocessor(# if) ident(defined) ident(__GLIBC__) operator(&&) ident(defined) ident(_STRING_H) operator(&&) ident(defined) ident(_GNU_SOURCE) preprocessor(# define) ident(yystpcpy) ident(stpcpy) preprocessor(# else) comment(/* Copy YYSRC to YYDEST, returning the address of the terminating '\\0' in YYDEST. */) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) pre_type(char) operator(*) ident(yystpcpy) operator(()pre_type(char) operator(*)ident(yydest)operator(,) directive(const) pre_type(char) operator(*)ident(yysrc)operator(\)) preprocessor(#else) directive(static) pre_type(char) operator(*) ident(yystpcpy) operator(()ident(yydest)operator(,) ident(yysrc)operator(\)) pre_type(char) operator(*)ident(yydest)operator(;) directive(const) pre_type(char) operator(*)ident(yysrc)operator(;) preprocessor(#endif) operator({) pre_type(char) operator(*)ident(yyd) operator(=) ident(yydest)operator(;) directive(const) pre_type(char) operator(*)ident(yys) operator(=) ident(yysrc)operator(;) reserved(while) operator(((*)ident(yyd)operator(++) operator(=) operator(*)ident(yys)operator(++\)) operator(!=) char('\\0')operator(\)) reserved(continue)operator(;) reserved(return) ident(yyd) operator(-) integer(1)operator(;) operator(}) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(yytnamerr) comment(/* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash\). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */) directive(static) ident(YYSIZE_T) ident(yytnamerr) operator(()pre_type(char) operator(*)ident(yyres)operator(,) directive(const) pre_type(char) operator(*)ident(yystr)operator(\)) operator({) reserved(if) operator((*)ident(yystr) operator(==) char('"')operator(\)) operator({) ident(YYSIZE_T) ident(yyn) operator(=) integer(0)operator(;) pre_type(char) directive(const) operator(*)ident(yyp) operator(=) ident(yystr)operator(;) reserved(for) operator((;;\)) reserved(switch) operator((*++)ident(yyp)operator(\)) operator({) reserved(case) char('\\'')operator(:) reserved(case) char(',')operator(:) reserved(goto) ident(do_not_strip_quotes)operator(;) reserved(case) char('\\\\')operator(:) reserved(if) operator((*++)ident(yyp) operator(!=) char('\\\\')operator(\)) reserved(goto) ident(do_not_strip_quotes)operator(;) comment(/* Fall through. */) reserved(default)operator(:) reserved(if) operator(()ident(yyres)operator(\)) ident(yyres)operator([)ident(yyn)operator(]) operator(=) operator(*)ident(yyp)operator(;) ident(yyn)operator(++;) reserved(break)operator(;) reserved(case) char('"')operator(:) reserved(if) operator(()ident(yyres)operator(\)) ident(yyres)operator([)ident(yyn)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(yyn)operator(;) operator(}) label(do_not_strip_quotes:) operator(;) operator(}) reserved(if) operator((!) ident(yyres)operator(\)) reserved(return) ident(yystrlen) operator(()ident(yystr)operator(\);) reserved(return) ident(yystpcpy) operator(()ident(yyres)operator(,) ident(yystr)operator(\)) operator(-) ident(yyres)operator(;) operator(}) preprocessor(# endif) comment(/* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */) directive(static) ident(YYSIZE_T) ident(yysyntax_error) operator(()pre_type(char) operator(*)ident(yyresult)operator(,) pre_type(int) ident(yystate)operator(,) pre_type(int) ident(yychar)operator(\)) operator({) pre_type(int) ident(yyn) operator(=) ident(yypact)operator([)ident(yystate)operator(];) reserved(if) operator((!) operator(()ident(YYPACT_NINF) operator(<) ident(yyn) operator(&&) ident(yyn) operator(<=) ident(YYLAST)operator(\)\)) reserved(return) integer(0)operator(;) reserved(else) operator({) pre_type(int) ident(yytype) operator(=) ident(YYTRANSLATE) operator(()ident(yychar)operator(\);) ident(YYSIZE_T) ident(yysize0) operator(=) ident(yytnamerr) operator(()integer(0)operator(,) ident(yytname)operator([)ident(yytype)operator(]\);) ident(YYSIZE_T) ident(yysize) operator(=) ident(yysize0)operator(;) ident(YYSIZE_T) ident(yysize1)operator(;) pre_type(int) ident(yysize_overflow) operator(=) integer(0)operator(;) reserved(enum) operator({) ident(YYERROR_VERBOSE_ARGS_MAXIMUM) operator(=) integer(5) operator(};) pre_type(char) directive(const) operator(*)ident(yyarg)operator([)ident(YYERROR_VERBOSE_ARGS_MAXIMUM)operator(];) pre_type(int) ident(yyx)operator(;) comment(# if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"\); YY_("syntax error, unexpected %s, expecting %s"\); YY_("syntax error, unexpected %s, expecting %s or %s"\); YY_("syntax error, unexpected %s, expecting %s or %s or %s"\); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"\); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2\) * (sizeof yyor - 1\)\)]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected\); for (yyx = yyxbegin; yyx < yyxend; ++yyx\) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR\) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM\) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]\); yysize_overflow |= (yysize1 < yysize\); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix\); yyprefix = yyor; } yyf = YY_(yyformat\); yysize1 = yysize + yystrlen (yyf\); yysize_overflow |= (yysize1 < yysize\); yysize = yysize1; if (yysize_overflow\) return YYSIZE_MAXIMUM; if (yyresult\) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf\) != '\\0'\) { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount\) { yyp += yytnamerr (yyp, yyarg[yyi++]\); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */) comment(/*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/) comment(/*ARGSUSED*/) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) directive(static) directive(void) ident(yydestruct) operator(()directive(const) pre_type(char) operator(*)ident(yymsg)operator(,) pre_type(int) ident(yytype)operator(,) ident(YYSTYPE) operator(*)ident(yyvaluep)operator(\)) preprocessor(#else) directive(static) directive(void) ident(yydestruct) operator(()ident(yymsg)operator(,) ident(yytype)operator(,) ident(yyvaluep)operator(\)) directive(const) pre_type(char) operator(*)ident(yymsg)operator(;) pre_type(int) ident(yytype)operator(;) ident(YYSTYPE) operator(*)ident(yyvaluep)operator(;) preprocessor(#endif) operator({) ident(YYUSE) operator(()ident(yyvaluep)operator(\);) reserved(if) operator((!)ident(yymsg)operator(\)) ident(yymsg) operator(=) stringoperator(;) ident(YY_SYMBOL_PRINT) operator(()ident(yymsg)operator(,) ident(yytype)operator(,) ident(yyvaluep)operator(,) ident(yylocationp)operator(\);) reserved(switch) operator(()ident(yytype)operator(\)) operator({) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) comment(/* Prevent warnings from -Wmissing-prototypes. */) preprocessor(#ifdef) ident(YYPARSE_PARAM) preprocessor(#if) ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__cplusplus) pre_type(int) ident(yyparse) operator(()directive(void) operator(*)ident(YYPARSE_PARAM)operator(\);) preprocessor(#else) pre_type(int) ident(yyparse) operator((\);) preprocessor(#endif) preprocessor(#else) comment(/* ! YYPARSE_PARAM */) preprocessor(#if) ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__cplusplus) pre_type(int) ident(yyparse) operator(()directive(void)operator(\);) preprocessor(#else) pre_type(int) ident(yyparse) operator((\);) preprocessor(#endif) preprocessor(#endif) comment(/* ! YYPARSE_PARAM */) comment(/* The look-ahead symbol. */) pre_type(int) ident(yychar)operator(;) comment(/* The semantic value of the look-ahead symbol. */) ident(YYSTYPE) ident(yylval)operator(;) comment(/* Number of syntax errors so far. */) pre_type(int) ident(yynerrs)operator(;) comment(/*----------. | yyparse. | `----------*/) preprocessor(#ifdef) ident(YYPARSE_PARAM) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) pre_type(int) ident(yyparse) operator(()directive(void) operator(*)ident(YYPARSE_PARAM)operator(\)) preprocessor(#else) pre_type(int) ident(yyparse) operator(()ident(YYPARSE_PARAM)operator(\)) directive(void) operator(*)ident(YYPARSE_PARAM)operator(;) preprocessor(#endif) preprocessor(#else) comment(/* ! YYPARSE_PARAM */) preprocessor(#if) operator(()ident(defined) ident(__STDC__) operator(||) ident(defined) ident(__C99__FUNC__) \ operator(||) ident(defined) ident(__cplusplus) operator(||) ident(defined) ident(_MSC_VER)operator(\)) pre_type(int) ident(yyparse) operator(()directive(void)operator(\)) preprocessor(#else) pre_type(int) ident(yyparse) operator((\)) preprocessor(#endif) preprocessor(#endif) operator({) pre_type(int) ident(yystate)operator(;) pre_type(int) ident(yyn)operator(;) pre_type(int) ident(yyresult)operator(;) comment(/* Number of tokens to shift before error messages enabled. */) pre_type(int) ident(yyerrstatus)operator(;) comment(/* Look-ahead token as an internal (translated\) token number. */) pre_type(int) ident(yytoken) operator(=) integer(0)operator(;) preprocessor(#if) ident(YYERROR_VERBOSE) comment(/* Buffer for error messages, and its allocated size. */) pre_type(char) ident(yymsgbuf)operator([)integer(128)operator(];) pre_type(char) operator(*)ident(yymsg) operator(=) ident(yymsgbuf)operator(;) ident(YYSIZE_T) ident(yymsg_alloc) operator(=) reserved(sizeof) ident(yymsgbuf)operator(;) preprocessor(#endif) comment(/* Three stacks and their tools: `yyss': related to states, `yyvs': related to semantic values, `yyls': related to locations. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */) comment(/* The state stack. */) ident(yytype_int16) ident(yyssa)operator([)ident(YYINITDEPTH)operator(];) ident(yytype_int16) operator(*)ident(yyss) operator(=) ident(yyssa)operator(;) ident(yytype_int16) operator(*)ident(yyssp)operator(;) comment(/* The semantic value stack. */) ident(YYSTYPE) ident(yyvsa)operator([)ident(YYINITDEPTH)operator(];) ident(YYSTYPE) operator(*)ident(yyvs) operator(=) ident(yyvsa)operator(;) ident(YYSTYPE) operator(*)ident(yyvsp)operator(;) preprocessor(#define) ident(YYPOPSTACK)operator(()ident(N)operator(\)) operator(()ident(yyvsp) operator(-=) operator(()ident(N)operator(\),) ident(yyssp) operator(-=) operator(()ident(N)operator(\)\)) ident(YYSIZE_T) ident(yystacksize) operator(=) ident(YYINITDEPTH)operator(;) comment(/* The variables used to return semantic value and location from the action routines. */) ident(YYSTYPE) ident(yyval)operator(;) comment(/* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */) pre_type(int) ident(yylen) operator(=) integer(0)operator(;) ident(YYDPRINTF) operator((()ident(stderr)operator(,) stringoperator(\)\);) ident(yystate) operator(=) integer(0)operator(;) ident(yyerrstatus) operator(=) integer(0)operator(;) ident(yynerrs) operator(=) integer(0)operator(;) ident(yychar) operator(=) ident(YYEMPTY)operator(;) comment(/* Cause a token to be read. */) comment(/* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */) ident(yyssp) operator(=) ident(yyss)operator(;) ident(yyvsp) operator(=) ident(yyvs)operator(;) reserved(goto) ident(yysetstate)operator(;) comment(/*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/) label(yynewstate:) comment(/* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */) ident(yyssp)operator(++;) label(yysetstate:) operator(*)ident(yyssp) operator(=) ident(yystate)operator(;) reserved(if) operator(()ident(yyss) operator(+) ident(yystacksize) operator(-) integer(1) operator(<=) ident(yyssp)operator(\)) operator({) comment(/* Get the current used size of the three stacks, in elements. */) ident(YYSIZE_T) ident(yysize) operator(=) ident(yyssp) operator(-) ident(yyss) operator(+) integer(1)operator(;) preprocessor(#ifdef) ident(yyoverflow) operator({) comment(/* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */) ident(YYSTYPE) operator(*)ident(yyvs1) operator(=) ident(yyvs)operator(;) ident(yytype_int16) operator(*)ident(yyss1) operator(=) ident(yyss)operator(;) comment(/* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */) ident(yyoverflow) operator(()ident(YY_)operator(()stringoperator(\),) operator(&)ident(yyss1)operator(,) ident(yysize) operator(*) reserved(sizeof) operator((*)ident(yyssp)operator(\),) operator(&)ident(yyvs1)operator(,) ident(yysize) operator(*) reserved(sizeof) operator((*)ident(yyvsp)operator(\),) operator(&)ident(yystacksize)operator(\);) ident(yyss) operator(=) ident(yyss1)operator(;) ident(yyvs) operator(=) ident(yyvs1)operator(;) operator(}) preprocessor(#else) comment(/* no yyoverflow */) preprocessor(# ifndef) ident(YYSTACK_RELOCATE) reserved(goto) ident(yyexhaustedlab)operator(;) preprocessor(# else) comment(/* Extend the stack our own way. */) reserved(if) operator(()ident(YYMAXDEPTH) operator(<=) ident(yystacksize)operator(\)) reserved(goto) ident(yyexhaustedlab)operator(;) ident(yystacksize) operator(*=) integer(2)operator(;) reserved(if) operator(()ident(YYMAXDEPTH) operator(<) ident(yystacksize)operator(\)) ident(yystacksize) operator(=) ident(YYMAXDEPTH)operator(;) operator({) ident(yytype_int16) operator(*)ident(yyss1) operator(=) ident(yyss)operator(;) reserved(union) ident(yyalloc) operator(*)ident(yyptr) operator(=) operator(()reserved(union) ident(yyalloc) operator(*\)) ident(YYSTACK_ALLOC) operator(()ident(YYSTACK_BYTES) operator(()ident(yystacksize)operator(\)\);) reserved(if) operator((!) ident(yyptr)operator(\)) reserved(goto) ident(yyexhaustedlab)operator(;) ident(YYSTACK_RELOCATE) operator(()ident(yyss)operator(\);) ident(YYSTACK_RELOCATE) operator(()ident(yyvs)operator(\);) preprocessor(# undef) ident(YYSTACK_RELOCATE) reserved(if) operator(()ident(yyss1) operator(!=) ident(yyssa)operator(\)) ident(YYSTACK_FREE) operator(()ident(yyss1)operator(\);) operator(}) preprocessor(# endif) preprocessor(#endif) comment(/* no yyoverflow */) ident(yyssp) operator(=) ident(yyss) operator(+) ident(yysize) operator(-) integer(1)operator(;) ident(yyvsp) operator(=) ident(yyvs) operator(+) ident(yysize) operator(-) integer(1)operator(;) ident(YYDPRINTF) operator((()ident(stderr)operator(,) stringoperator(,) operator(()pre_type(unsigned) pre_type(long) pre_type(int)operator(\)) ident(yystacksize)operator(\)\);) reserved(if) operator(()ident(yyss) operator(+) ident(yystacksize) operator(-) integer(1) operator(<=) ident(yyssp)operator(\)) ident(YYABORT)operator(;) operator(}) ident(YYDPRINTF) operator((()ident(stderr)operator(,) stringoperator(,) ident(yystate)operator(\)\);) reserved(goto) ident(yybackup)operator(;) comment(/*-----------. | yybackup. | `-----------*/) label(yybackup:) comment(/* Do appropriate processing given the current state. Read a look-ahead token if we need one and don't already have one. */) comment(/* First try to decide what to do without reference to look-ahead token. */) ident(yyn) operator(=) ident(yypact)operator([)ident(yystate)operator(];) reserved(if) operator(()ident(yyn) operator(==) ident(YYPACT_NINF)operator(\)) reserved(goto) ident(yydefault)operator(;) comment(/* Not known => get a look-ahead token if don't already have one. */) comment(/* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */) reserved(if) operator(()ident(yychar) operator(==) ident(YYEMPTY)operator(\)) operator({) ident(YYDPRINTF) operator((()ident(stderr)operator(,) stringoperator(\)\);) ident(yychar) operator(=) ident(YYLEX)operator(;) operator(}) reserved(if) operator(()ident(yychar) operator(<=) ident(YYEOF)operator(\)) operator({) ident(yychar) operator(=) ident(yytoken) operator(=) ident(YYEOF)operator(;) ident(YYDPRINTF) operator((()ident(stderr)operator(,) stringoperator(\)\);) operator(}) reserved(else) operator({) ident(yytoken) operator(=) ident(YYTRANSLATE) operator(()ident(yychar)operator(\);) ident(YY_SYMBOL_PRINT) operator(()stringoperator(,) ident(yytoken)operator(,) operator(&)ident(yylval)operator(,) operator(&)ident(yylloc)operator(\);) operator(}) comment(/* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */) ident(yyn) operator(+=) ident(yytoken)operator(;) reserved(if) operator(()ident(yyn) operator(<) integer(0) operator(||) ident(YYLAST) operator(<) ident(yyn) operator(||) ident(yycheck)operator([)ident(yyn)operator(]) operator(!=) ident(yytoken)operator(\)) reserved(goto) ident(yydefault)operator(;) ident(yyn) operator(=) ident(yytable)operator([)ident(yyn)operator(];) reserved(if) operator(()ident(yyn) operator(<=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(yyn) operator(==) integer(0) operator(||) ident(yyn) operator(==) ident(YYTABLE_NINF)operator(\)) reserved(goto) ident(yyerrlab)operator(;) ident(yyn) operator(=) operator(-)ident(yyn)operator(;) reserved(goto) ident(yyreduce)operator(;) operator(}) reserved(if) operator(()ident(yyn) operator(==) ident(YYFINAL)operator(\)) ident(YYACCEPT)operator(;) comment(/* Count tokens shifted since error; after three, turn off error status. */) reserved(if) operator(()ident(yyerrstatus)operator(\)) ident(yyerrstatus)operator(--;) comment(/* Shift the look-ahead token. */) ident(YY_SYMBOL_PRINT) operator(()stringoperator(,) ident(yytoken)operator(,) operator(&)ident(yylval)operator(,) operator(&)ident(yylloc)operator(\);) comment(/* Discard the shifted token unless it is eof. */) reserved(if) operator(()ident(yychar) operator(!=) ident(YYEOF)operator(\)) ident(yychar) operator(=) ident(YYEMPTY)operator(;) ident(yystate) operator(=) ident(yyn)operator(;) operator(*++)ident(yyvsp) operator(=) ident(yylval)operator(;) reserved(goto) ident(yynewstate)operator(;) comment(/*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/) label(yydefault:) ident(yyn) operator(=) ident(yydefact)operator([)ident(yystate)operator(];) reserved(if) operator(()ident(yyn) operator(==) integer(0)operator(\)) reserved(goto) ident(yyerrlab)operator(;) reserved(goto) ident(yyreduce)operator(;) comment(/*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/) label(yyreduce:) comment(/* yyn is the number of a rule to reduce with. */) ident(yylen) operator(=) ident(yyr2)operator([)ident(yyn)operator(];) comment(/* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */) ident(yyval) operator(=) ident(yyvsp)operator([)integer(1)operator(-)ident(yylen)operator(];) ident(YY_REDUCE_PRINT) operator(()ident(yyn)operator(\);) reserved(switch) operator(()ident(yyn)operator(\)) operator({) reserved(case) integer(2)operator(:) preprocessor(#line) integer(350) string operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(top_local_init)operator((\);) reserved(if) operator(()ident(ruby_class) operator(==) ident(rb_cObject)operator(\)) ident(class_nest) operator(=) integer(0)operator(;) reserved(else) ident(class_nest) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(3)operator(:) preprocessor(#line) integer(357) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)) operator(&&) operator(!)ident(compile_for_eval)operator(\)) operator({) comment(/* last expression should not be void */) reserved(if) operator(()ident(nd_type)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)) operator(!=) ident(NODE_BLOCK)operator(\)) ident(void_expr)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) reserved(else) operator({) ident(NODE) operator(*)ident(node) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) reserved(while) operator(()ident(node)operator(->)ident(nd_next)operator(\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) operator(}) ident(void_expr)operator(()ident(node)operator(->)ident(nd_head)operator(\);) operator(}) operator(}) ident(ruby_eval_tree) operator(=) ident(block_append)operator(()ident(ruby_eval_tree)operator(,) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) ident(top_local_setup)operator((\);) ident(class_nest) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(4)operator(:) preprocessor(#line) integer(379) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_RESCUE)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ENSURE)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(5)operator(:) preprocessor(#line) integer(396) string operator({) ident(void_stmts)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixup_nodes)operator((&)ident(deferred_nodes)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(7)operator(:) preprocessor(#line) integer(405) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(newline_node)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(8)operator(:) preprocessor(#line) integer(409) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(newline_node)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(9)operator(:) preprocessor(#line) integer(413) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(remove_begin)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(10)operator(:) preprocessor(#line) integer(418) string operator({)ident(lex_state) operator(=) ident(EXPR_FNAME)operator(;}) reserved(break)operator(;) reserved(case) integer(11)operator(:) preprocessor(#line) integer(419) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ALIAS)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(12)operator(:) preprocessor(#line) integer(423) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_VALIAS)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(13)operator(:) preprocessor(#line) integer(427) string operator({) pre_type(char) ident(buf)operator([)integer(3)operator(];) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) operator(()pre_type(char)operator(\)()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_nth)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_VALIAS)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),) ident(rb_intern)operator(()ident(buf)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(14)operator(:) preprocessor(#line) integer(434) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(15)operator(:) preprocessor(#line) integer(439) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(16)operator(:) preprocessor(#line) integer(443) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_IF)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) ident(remove_begin)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) integer(0)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(17)operator(:) preprocessor(#line) integer(452) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_UNLESS)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) ident(remove_begin)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) integer(0)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(18)operator(:) preprocessor(#line) integer(461) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BEGIN)operator(\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_WHILE)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_body)operator(,) integer(0)operator(\);) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_WHILE)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) integer(1)operator(\);) operator(}) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) ident(nd_set_type)operator((()ident(yyval)operator(.)ident(node)operator(\),) ident(NODE_UNTIL)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(19)operator(:) preprocessor(#line) integer(473) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BEGIN)operator(\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_UNTIL)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_body)operator(,) integer(0)operator(\);) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_UNTIL)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) integer(1)operator(\);) operator(}) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) ident(nd_set_type)operator((()ident(yyval)operator(.)ident(node)operator(\),) ident(NODE_WHILE)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(20)operator(:) preprocessor(#line) integer(485) string operator({) ident(NODE) operator(*)ident(resq) operator(=) ident(NEW_RESBODY)operator(()integer(0)operator(,) ident(remove_begin)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) integer(0)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_RESCUE)operator(()ident(remove_begin)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) ident(resq)operator(,) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(21)operator(:) preprocessor(#line) integer(490) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) ident(local_push)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(22)operator(:) preprocessor(#line) integer(497) string operator({) ident(ruby_eval_tree_begin) operator(=) ident(block_append)operator(()ident(ruby_eval_tree_begin)operator(,) ident(NEW_PREEXE)operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\)\);) ident(local_pop)operator((\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(23)operator(:) preprocessor(#line) integer(504) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ITER)operator(()integer(0)operator(,) ident(NEW_POSTEXE)operator((\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(24)operator(:) preprocessor(#line) integer(512) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node_assign)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(25)operator(:) preprocessor(#line) integer(516) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_head)operator(\)) operator(?) ident(NEW_TO_ARY)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(:) ident(NEW_ARRAY)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(26)operator(:) preprocessor(#line) integer(522) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator({) ident(ID) ident(vid) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_vid)operator(;) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN_OR)operator(()ident(gettable)operator(()ident(vid)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(is_asgn_or_id)operator(()ident(vid)operator(\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_aid) operator(=) ident(vid)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN_AND)operator(()ident(gettable)operator(()ident(vid)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) ident(call_op)operator(()ident(gettable)operator(()ident(vid)operator(\),()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),)integer(1)operator(,()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(27)operator(:) preprocessor(#line) integer(547) string operator({) ident(NODE) operator(*)ident(args)operator(;) ident(value_expr)operator((()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((!()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\)) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)) operator(=) ident(NEW_ZARRAY)operator((\);) ident(args) operator(=) ident(arg_concat)operator((()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN1)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\),) ident(args)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(28)operator(:) preprocessor(#line) integer(563) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(29)operator(:) preprocessor(#line) integer(575) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(30)operator(:) preprocessor(#line) integer(587) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(31)operator(:) preprocessor(#line) integer(599) string operator({) ident(rb_backref_error)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(32)operator(:) preprocessor(#line) integer(604) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node_assign)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_SVALUE)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(33)operator(:) preprocessor(#line) integer(608) string operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_head)operator(\)) operator(?) ident(NEW_TO_ARY)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(:) ident(NEW_ARRAY)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(34)operator(:) preprocessor(#line) integer(613) string operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(37)operator(:) preprocessor(#line) integer(622) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(logop)operator(()ident(NODE_AND)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(38)operator(:) preprocessor(#line) integer(626) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(logop)operator(()ident(NODE_OR)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(39)operator(:) preprocessor(#line) integer(630) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NOT)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(40)operator(:) preprocessor(#line) integer(634) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NOT)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(42)operator(:) preprocessor(#line) integer(641) string operator({) ident(value_expr)operator((()ident(yyval)operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(45)operator(:) preprocessor(#line) integer(650) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_RETURN)operator(()ident(ret_args)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(46)operator(:) preprocessor(#line) integer(654) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_BREAK)operator(()ident(ret_args)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(47)operator(:) preprocessor(#line) integer(658) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NEXT)operator(()ident(ret_args)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(49)operator(:) preprocessor(#line) integer(665) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(50)operator(:) preprocessor(#line) integer(669) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(51)operator(:) preprocessor(#line) integer(675) string operator({) operator(()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(dyna_push)operator((\);) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(52)operator(:) preprocessor(#line) integer(679) string operator({()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(ruby_dyna_vars)operator(;}) reserved(break)operator(;) reserved(case) integer(53)operator(:) preprocessor(#line) integer(682) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ITER)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(,) ident(dyna_init)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(num)operator(\)\);) ident(dyna_pop)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(54)operator(:) preprocessor(#line) integer(690) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_fcall)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(55)operator(:) preprocessor(#line) integer(695) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_fcall)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator({) reserved(if) operator(()ident(nd_type)operator((()ident(yyval)operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) operator(}) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(56)operator(:) preprocessor(#line) integer(707) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(57)operator(:) preprocessor(#line) integer(712) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\)) operator({) reserved(if) operator(()ident(nd_type)operator((()ident(yyval)operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) operator(}) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\);) operator(}) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(58)operator(:) preprocessor(#line) integer(724) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(59)operator(:) preprocessor(#line) integer(729) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\)) operator({) reserved(if) operator(()ident(nd_type)operator((()ident(yyval)operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) operator(}) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\);) operator(}) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(60)operator(:) preprocessor(#line) integer(741) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_super)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(61)operator(:) preprocessor(#line) integer(746) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_yield)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(63)operator(:) preprocessor(#line) integer(754) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(65)operator(:) preprocessor(#line) integer(761) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(66)operator(:) preprocessor(#line) integer(767) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(67)operator(:) preprocessor(#line) integer(771) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator(()ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(68)operator(:) preprocessor(#line) integer(775) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(69)operator(:) preprocessor(#line) integer(779) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) operator(-)integer(1)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(70)operator(:) preprocessor(#line) integer(783) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator(()integer(0)operator(,) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(71)operator(:) preprocessor(#line) integer(787) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MASGN)operator(()integer(0)operator(,) operator(-)integer(1)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(73)operator(:) preprocessor(#line) integer(794) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(74)operator(:) preprocessor(#line) integer(800) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(75)operator(:) preprocessor(#line) integer(804) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(76)operator(:) preprocessor(#line) integer(810) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(assignable)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(77)operator(:) preprocessor(#line) integer(814) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(aryset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(78)operator(:) preprocessor(#line) integer(818) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(attrset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(79)operator(:) preprocessor(#line) integer(822) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(attrset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(80)operator(:) preprocessor(#line) integer(826) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(attrset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(81)operator(:) preprocessor(#line) integer(830) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CDECL)operator(()integer(0)operator(,) integer(0)operator(,) ident(NEW_COLON2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(82)operator(:) preprocessor(#line) integer(836) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CDECL)operator(()integer(0)operator(,) integer(0)operator(,) ident(NEW_COLON3)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(83)operator(:) preprocessor(#line) integer(842) string operator({) ident(rb_backref_error)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(84)operator(:) preprocessor(#line) integer(849) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(assignable)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(85)operator(:) preprocessor(#line) integer(853) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(aryset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(86)operator(:) preprocessor(#line) integer(857) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(attrset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(87)operator(:) preprocessor(#line) integer(861) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(attrset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(88)operator(:) preprocessor(#line) integer(865) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(attrset)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(89)operator(:) preprocessor(#line) integer(869) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CDECL)operator(()integer(0)operator(,) integer(0)operator(,) ident(NEW_COLON2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(90)operator(:) preprocessor(#line) integer(875) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CDECL)operator(()integer(0)operator(,) integer(0)operator(,) ident(NEW_COLON3)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(91)operator(:) preprocessor(#line) integer(881) string operator({) ident(rb_backref_error)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(92)operator(:) preprocessor(#line) integer(888) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(94)operator(:) preprocessor(#line) integer(895) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_COLON3)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(95)operator(:) preprocessor(#line) integer(899) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_COLON2)operator(()integer(0)operator(,) operator(()ident(yyval)operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(96)operator(:) preprocessor(#line) integer(903) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_COLON2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(100)operator(:) preprocessor(#line) integer(912) string operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(101)operator(:) preprocessor(#line) integer(917) string operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(104)operator(:) preprocessor(#line) integer(928) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIT)operator(()ident(ID2SYM)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(106)operator(:) preprocessor(#line) integer(935) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_UNDEF)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(107)operator(:) preprocessor(#line) integer(938) string operator({)ident(lex_state) operator(=) ident(EXPR_FNAME)operator(;}) reserved(break)operator(;) reserved(case) integer(108)operator(:) preprocessor(#line) integer(939) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_UNDEF)operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(109)operator(:) preprocessor(#line) integer(944) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('|')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(110)operator(:) preprocessor(#line) integer(945) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('^')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(111)operator(:) preprocessor(#line) integer(946) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('&')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(112)operator(:) preprocessor(#line) integer(947) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tCMP)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(113)operator(:) preprocessor(#line) integer(948) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tEQ)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(114)operator(:) preprocessor(#line) integer(949) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tEQQ)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(115)operator(:) preprocessor(#line) integer(950) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tMATCH)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(116)operator(:) preprocessor(#line) integer(951) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('>')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(117)operator(:) preprocessor(#line) integer(952) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tGEQ)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(118)operator(:) preprocessor(#line) integer(953) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('<')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(119)operator(:) preprocessor(#line) integer(954) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tLEQ)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(120)operator(:) preprocessor(#line) integer(955) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tLSHFT)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(121)operator(:) preprocessor(#line) integer(956) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tRSHFT)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(122)operator(:) preprocessor(#line) integer(957) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('+')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(123)operator(:) preprocessor(#line) integer(958) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('-')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(124)operator(:) preprocessor(#line) integer(959) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('*')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(125)operator(:) preprocessor(#line) integer(960) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('*')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(126)operator(:) preprocessor(#line) integer(961) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('/')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(127)operator(:) preprocessor(#line) integer(962) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('%')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(128)operator(:) preprocessor(#line) integer(963) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tPOW)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(129)operator(:) preprocessor(#line) integer(964) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('~')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(130)operator(:) preprocessor(#line) integer(965) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tUPLUS)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(131)operator(:) preprocessor(#line) integer(966) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tUMINUS)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(132)operator(:) preprocessor(#line) integer(967) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tAREF)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(133)operator(:) preprocessor(#line) integer(968) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(tASET)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(134)operator(:) preprocessor(#line) integer(969) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) char('`')operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(175)operator(:) preprocessor(#line) integer(982) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node_assign)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(176)operator(:) preprocessor(#line) integer(986) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node_assign)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_RESCUE)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_RESBODY)operator(()integer(0)operator(,()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),)integer(0)operator(\),) integer(0)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(177)operator(:) preprocessor(#line) integer(990) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator({) ident(ID) ident(vid) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_vid)operator(;) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN_OR)operator(()ident(gettable)operator(()ident(vid)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(is_asgn_or_id)operator(()ident(vid)operator(\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_aid) operator(=) ident(vid)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN_AND)operator(()ident(gettable)operator(()ident(vid)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_value) operator(=) ident(call_op)operator(()ident(gettable)operator(()ident(vid)operator(\),()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),)integer(1)operator(,()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(178)operator(:) preprocessor(#line) integer(1015) string operator({) ident(NODE) operator(*)ident(args)operator(;) ident(value_expr)operator((()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((!()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\)) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)) operator(=) ident(NEW_ZARRAY)operator((\);) ident(args) operator(=) ident(arg_concat)operator((()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN1)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\),) ident(args)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(179)operator(:) preprocessor(#line) integer(1031) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(180)operator(:) preprocessor(#line) integer(1043) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(181)operator(:) preprocessor(#line) integer(1055) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tOROP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(==) ident(tANDOP)operator(\)) operator({) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\)) operator(=) integer(1)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_OP_ASGN2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(182)operator(:) preprocessor(#line) integer(1067) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(183)operator(:) preprocessor(#line) integer(1072) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(184)operator(:) preprocessor(#line) integer(1077) string operator({) ident(rb_backref_error)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(185)operator(:) preprocessor(#line) integer(1082) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) ident(value_expr)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DOT2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_LIT) operator(&&) ident(FIXNUM_P)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_lit)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_LIT) operator(&&) ident(FIXNUM_P)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_lit)operator(\)\)) operator({) ident(deferred_nodes) operator(=) ident(list_append)operator(()ident(deferred_nodes)operator(,) operator(()ident(yyval)operator(.)ident(node)operator(\)\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(186)operator(:) preprocessor(#line) integer(1092) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) ident(value_expr)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DOT3)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_LIT) operator(&&) ident(FIXNUM_P)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_lit)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_LIT) operator(&&) ident(FIXNUM_P)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_lit)operator(\)\)) operator({) ident(deferred_nodes) operator(=) ident(list_append)operator(()ident(deferred_nodes)operator(,) operator(()ident(yyval)operator(.)ident(node)operator(\)\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(187)operator(:) preprocessor(#line) integer(1102) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('+')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(188)operator(:) preprocessor(#line) integer(1106) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('-')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(189)operator(:) preprocessor(#line) integer(1110) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('*')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(190)operator(:) preprocessor(#line) integer(1114) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('/')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(191)operator(:) preprocessor(#line) integer(1118) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('%')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(192)operator(:) preprocessor(#line) integer(1122) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tPOW)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(193)operator(:) preprocessor(#line) integer(1126) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator(()ident(call_op)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) ident(tPOW)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),) ident(tUMINUS)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(194)operator(:) preprocessor(#line) integer(1130) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator(()ident(call_op)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) ident(tPOW)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),) ident(tUMINUS)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(195)operator(:) preprocessor(#line) integer(1134) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_LIT)operator(\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) ident(tUPLUS)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(196)operator(:) preprocessor(#line) integer(1143) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) ident(tUMINUS)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(197)operator(:) preprocessor(#line) integer(1147) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('|')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(198)operator(:) preprocessor(#line) integer(1151) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('^')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(199)operator(:) preprocessor(#line) integer(1155) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('&')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(200)operator(:) preprocessor(#line) integer(1159) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tCMP)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(201)operator(:) preprocessor(#line) integer(1163) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('>')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(202)operator(:) preprocessor(#line) integer(1167) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tGEQ)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(203)operator(:) preprocessor(#line) integer(1171) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) char('<')operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(204)operator(:) preprocessor(#line) integer(1175) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tLEQ)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(205)operator(:) preprocessor(#line) integer(1179) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tEQ)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(206)operator(:) preprocessor(#line) integer(1183) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tEQQ)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(207)operator(:) preprocessor(#line) integer(1187) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NOT)operator(()ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tEQ)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(208)operator(:) preprocessor(#line) integer(1191) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(match_gen)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(209)operator(:) preprocessor(#line) integer(1195) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NOT)operator(()ident(match_gen)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(210)operator(:) preprocessor(#line) integer(1199) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NOT)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(211)operator(:) preprocessor(#line) integer(1203) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) char('~')operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(212)operator(:) preprocessor(#line) integer(1207) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tLSHFT)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(213)operator(:) preprocessor(#line) integer(1211) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(call_op)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(tRSHFT)operator(,) integer(1)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(214)operator(:) preprocessor(#line) integer(1215) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(logop)operator(()ident(NODE_AND)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(215)operator(:) preprocessor(#line) integer(1219) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(logop)operator(()ident(NODE_OR)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(216)operator(:) preprocessor(#line) integer(1222) string operator({)ident(in_defined) operator(=) integer(1)operator(;}) reserved(break)operator(;) reserved(case) integer(217)operator(:) preprocessor(#line) integer(1223) string operator({) ident(in_defined) operator(=) integer(0)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DEFINED)operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(218)operator(:) preprocessor(#line) integer(1228) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_IF)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(219)operator(:) preprocessor(#line) integer(1233) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(220)operator(:) preprocessor(#line) integer(1239) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(222)operator(:) preprocessor(#line) integer(1247) string operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(223)operator(:) preprocessor(#line) integer(1252) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(224)operator(:) preprocessor(#line) integer(1256) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(225)operator(:) preprocessor(#line) integer(1261) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator(()ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(226)operator(:) preprocessor(#line) integer(1265) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NEWLINE)operator(()ident(NEW_SPLAT)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(227)operator(:) preprocessor(#line) integer(1272) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(228)operator(:) preprocessor(#line) integer(1276) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(229)operator(:) preprocessor(#line) integer(1280) string operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(230)operator(:) preprocessor(#line) integer(1285) string operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(233)operator(:) preprocessor(#line) integer(1296) string operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(234)operator(:) preprocessor(#line) integer(1301) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(235)operator(:) preprocessor(#line) integer(1305) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(236)operator(:) preprocessor(#line) integer(1310) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator(()ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(237)operator(:) preprocessor(#line) integer(1315) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(NEW_LIST)operator(()ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(238)operator(:) preprocessor(#line) integer(1320) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(239)operator(:) preprocessor(#line) integer(1325) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\)\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(7)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(240)operator(:) preprocessor(#line) integer(1331) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator(()ident(NEW_SPLAT)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(242)operator(:) preprocessor(#line) integer(1338) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator(()ident(list_concat)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(243)operator(:) preprocessor(#line) integer(1342) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(244)operator(:) preprocessor(#line) integer(1346) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(245)operator(:) preprocessor(#line) integer(1351) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(list_concat)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\),()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(7)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(246)operator(:) preprocessor(#line) integer(1356) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator(()ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(247)operator(:) preprocessor(#line) integer(1361) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(NEW_LIST)operator(()ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(248)operator(:) preprocessor(#line) integer(1366) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(249)operator(:) preprocessor(#line) integer(1371) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator(()ident(list_concat)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\),()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\),) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(250)operator(:) preprocessor(#line) integer(1376) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(list_append)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\),) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\)\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(7)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(251)operator(:) preprocessor(#line) integer(1381) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator(()ident(list_append)operator(()ident(list_concat)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\),) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\)\),) operator(()ident(yyvsp)operator([()integer(8)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(9)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(252)operator(:) preprocessor(#line) integer(1386) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_blk_pass)operator(()ident(NEW_SPLAT)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(254)operator(:) preprocessor(#line) integer(1392) string operator({) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(=) ident(cmdarg_stack)operator(;) ident(CMDARG_PUSH)operator(()integer(1)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(255)operator(:) preprocessor(#line) integer(1397) string operator({) comment(/* CMDARG_POP(\) */) ident(cmdarg_stack) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(num)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(257)operator(:) preprocessor(#line) integer(1405) string operator({)ident(lex_state) operator(=) ident(EXPR_ENDARG)operator(;}) reserved(break)operator(;) reserved(case) integer(258)operator(:) preprocessor(#line) integer(1406) string operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(259)operator(:) preprocessor(#line) integer(1410) string operator({)ident(lex_state) operator(=) ident(EXPR_ENDARG)operator(;}) reserved(break)operator(;) reserved(case) integer(260)operator(:) preprocessor(#line) integer(1411) string operator({) ident(rb_warn)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(261)operator(:) preprocessor(#line) integer(1418) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_BLOCK_PASS)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(262)operator(:) preprocessor(#line) integer(1424) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(264)operator(:) preprocessor(#line) integer(1431) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(265)operator(:) preprocessor(#line) integer(1435) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(266)operator(:) preprocessor(#line) integer(1441) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(267)operator(:) preprocessor(#line) integer(1445) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(arg_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(268)operator(:) preprocessor(#line) integer(1449) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_SPLAT)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(277)operator(:) preprocessor(#line) integer(1463) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_FCALL)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(278)operator(:) preprocessor(#line) integer(1467) string operator({) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(279)operator(:) preprocessor(#line) integer(1472) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)) operator(==) pre_constant(NULL)operator(\)) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NIL)operator((\);) reserved(else) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_BEGIN)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(num)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(280)operator(:) preprocessor(#line) integer(1479) string operator({)ident(lex_state) operator(=) ident(EXPR_ENDARG)operator(;}) reserved(break)operator(;) reserved(case) integer(281)operator(:) preprocessor(#line) integer(1480) string operator({) ident(rb_warning)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(282)operator(:) preprocessor(#line) integer(1485) string operator({) reserved(if) operator((!()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NIL)operator((\);) reserved(else) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(283)operator(:) preprocessor(#line) integer(1490) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_COLON2)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(284)operator(:) preprocessor(#line) integer(1494) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_COLON3)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(285)operator(:) preprocessor(#line) integer(1498) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_SELF)operator(\)) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_FCALL)operator(()ident(tAREF)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) reserved(else) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CALL)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) ident(tAREF)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(286)operator(:) preprocessor(#line) integer(1506) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)) operator(==) integer(0)operator(\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ZARRAY)operator((\);) comment(/* zero length array*/) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(287)operator(:) preprocessor(#line) integer(1515) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_HASH)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(288)operator(:) preprocessor(#line) integer(1519) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_RETURN)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(289)operator(:) preprocessor(#line) integer(1523) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_yield)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(290)operator(:) preprocessor(#line) integer(1527) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_YIELD)operator(()integer(0)operator(,) ident(Qfalse)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(291)operator(:) preprocessor(#line) integer(1531) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_YIELD)operator(()integer(0)operator(,) ident(Qfalse)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(292)operator(:) preprocessor(#line) integer(1534) string operator({)ident(in_defined) operator(=) integer(1)operator(;}) reserved(break)operator(;) reserved(case) integer(293)operator(:) preprocessor(#line) integer(1535) string operator({) ident(in_defined) operator(=) integer(0)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DEFINED)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(294)operator(:) preprocessor(#line) integer(1540) string operator({) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter) operator(=) ident(NEW_FCALL)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) ident(fixpos)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter)operator(,) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(296)operator(:) preprocessor(#line) integer(1547) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) operator(}) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(297)operator(:) preprocessor(#line) integer(1559) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_IF)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) ident(NODE) operator(*)ident(tmp) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else) operator(=) ident(tmp)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(298)operator(:) preprocessor(#line) integer(1572) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_UNLESS)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) ident(NODE) operator(*)ident(tmp) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_body) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_else) operator(=) ident(tmp)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(299)operator(:) preprocessor(#line) integer(1581) string operator({)ident(COND_PUSH)operator(()integer(1)operator(\);}) reserved(break)operator(;) reserved(case) integer(300)operator(:) preprocessor(#line) integer(1581) string operator({)ident(COND_POP)operator((\);}) reserved(break)operator(;) reserved(case) integer(301)operator(:) preprocessor(#line) integer(1584) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_WHILE)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\),) integer(1)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) ident(nd_set_type)operator((()ident(yyval)operator(.)ident(node)operator(\),) ident(NODE_UNTIL)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(302)operator(:) preprocessor(#line) integer(1591) string operator({)ident(COND_PUSH)operator(()integer(1)operator(\);}) reserved(break)operator(;) reserved(case) integer(303)operator(:) preprocessor(#line) integer(1591) string operator({)ident(COND_POP)operator((\);}) reserved(break)operator(;) reserved(case) integer(304)operator(:) preprocessor(#line) integer(1594) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_UNTIL)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\),) integer(1)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(7)operator(\)])operator(.)ident(node)operator(\)\);) reserved(if) operator(()ident(cond_negative)operator((&()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_cond)operator(\)\)) operator({) ident(nd_set_type)operator((()ident(yyval)operator(.)ident(node)operator(\),) ident(NODE_WHILE)operator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(305)operator(:) preprocessor(#line) integer(1604) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CASE)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(306)operator(:) preprocessor(#line) integer(1609) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(307)operator(:) preprocessor(#line) integer(1613) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(308)operator(:) preprocessor(#line) integer(1616) string operator({)ident(COND_PUSH)operator(()integer(1)operator(\);}) reserved(break)operator(;) reserved(case) integer(309)operator(:) preprocessor(#line) integer(1616) string operator({)ident(COND_POP)operator((\);}) reserved(break)operator(;) reserved(case) integer(310)operator(:) preprocessor(#line) integer(1619) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_FOR)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(8)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(311)operator(:) preprocessor(#line) integer(1624) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) ident(class_nest)operator(++;) ident(local_push)operator(()integer(0)operator(\);) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(312)operator(:) preprocessor(#line) integer(1633) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CLASS)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(num)operator(\)\);) ident(local_pop)operator((\);) ident(class_nest)operator(--;) operator(}) reserved(break)operator(;) reserved(case) integer(313)operator(:) preprocessor(#line) integer(1640) string operator({) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(=) ident(in_def)operator(;) ident(in_def) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(314)operator(:) preprocessor(#line) integer(1645) string operator({) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(=) ident(in_single)operator(;) ident(in_single) operator(=) integer(0)operator(;) ident(class_nest)operator(++;) ident(local_push)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(315)operator(:) preprocessor(#line) integer(1653) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_SCLASS)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(8)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(7)operator(\)) operator(-) operator(()integer(8)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(8)operator(\)])operator(.)ident(node)operator(\)\);) ident(local_pop)operator((\);) ident(class_nest)operator(--;) ident(in_def) operator(=) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(8)operator(\)])operator(.)ident(num)operator(\);) ident(in_single) operator(=) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(8)operator(\)])operator(.)ident(num)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(316)operator(:) preprocessor(#line) integer(1662) string operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) ident(class_nest)operator(++;) ident(local_push)operator(()integer(0)operator(\);) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(317)operator(:) preprocessor(#line) integer(1671) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_MODULE)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(num)operator(\)\);) ident(local_pop)operator((\);) ident(class_nest)operator(--;) operator(}) reserved(break)operator(;) reserved(case) integer(318)operator(:) preprocessor(#line) integer(1678) string operator({) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(cur_mid)operator(;) ident(cur_mid) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\);) ident(in_def)operator(++;) ident(local_push)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(319)operator(:) preprocessor(#line) integer(1687) string operator({) reserved(if) operator((!()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\)) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)) operator(=) ident(NEW_NIL)operator((\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DEFN)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) ident(NOEX_PRIVATE)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) ident(local_pop)operator((\);) ident(in_def)operator(--;) ident(cur_mid) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(id)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(320)operator(:) preprocessor(#line) integer(1695) string operator({)ident(lex_state) operator(=) ident(EXPR_FNAME)operator(;}) reserved(break)operator(;) reserved(case) integer(321)operator(:) preprocessor(#line) integer(1696) string operator({) ident(in_single)operator(++;) ident(local_push)operator(()integer(0)operator(\);) ident(lex_state) operator(=) ident(EXPR_END)operator(;) comment(/* force for args */) operator(}) reserved(break)operator(;) reserved(case) integer(322)operator(:) preprocessor(#line) integer(1704) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DEFS)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(7)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(8)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(9)operator(\)])operator(.)ident(node)operator(\)\);) ident(local_pop)operator((\);) ident(in_single)operator(--;) operator(}) reserved(break)operator(;) reserved(case) integer(323)operator(:) preprocessor(#line) integer(1711) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_BREAK)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(324)operator(:) preprocessor(#line) integer(1715) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NEXT)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(325)operator(:) preprocessor(#line) integer(1719) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_REDO)operator((\);) operator(}) reserved(break)operator(;) reserved(case) integer(326)operator(:) preprocessor(#line) integer(1723) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_RETRY)operator((\);) operator(}) reserved(break)operator(;) reserved(case) integer(327)operator(:) preprocessor(#line) integer(1729) string operator({) ident(value_expr)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(336)operator(:) preprocessor(#line) integer(1750) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_IF)operator(()ident(cond)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(338)operator(:) preprocessor(#line) integer(1758) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(342)operator(:) preprocessor(#line) integer(1769) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(NODE)operator(*\))integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(343)operator(:) preprocessor(#line) integer(1773) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(NODE)operator(*\))integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(344)operator(:) preprocessor(#line) integer(1777) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(345)operator(:) preprocessor(#line) integer(1783) string operator({) operator(()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(dyna_push)operator((\);) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(346)operator(:) preprocessor(#line) integer(1787) string operator({()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(ruby_dyna_vars)operator(;}) reserved(break)operator(;) reserved(case) integer(347)operator(:) preprocessor(#line) integer(1790) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ITER)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(,) ident(dyna_init)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(num)operator(\)\);) ident(dyna_pop)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(348)operator(:) preprocessor(#line) integer(1798) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)) operator(&&) ident(nd_type)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) operator(}) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_iter) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(349)operator(:) preprocessor(#line) integer(1807) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(350)operator(:) preprocessor(#line) integer(1811) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(351)operator(:) preprocessor(#line) integer(1817) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_fcall)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(352)operator(:) preprocessor(#line) integer(1822) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(353)operator(:) preprocessor(#line) integer(1827) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(354)operator(:) preprocessor(#line) integer(1832) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_call)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(355)operator(:) preprocessor(#line) integer(1836) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_super)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(356)operator(:) preprocessor(#line) integer(1840) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ZSUPER)operator((\);) operator(}) reserved(break)operator(;) reserved(case) integer(357)operator(:) preprocessor(#line) integer(1846) string operator({) operator(()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(dyna_push)operator((\);) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(358)operator(:) preprocessor(#line) integer(1850) string operator({()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(ruby_dyna_vars)operator(;}) reserved(break)operator(;) reserved(case) integer(359)operator(:) preprocessor(#line) integer(1852) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ITER)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(,) ident(dyna_init)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(num)operator(\)\);) ident(dyna_pop)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(360)operator(:) preprocessor(#line) integer(1858) string operator({) operator(()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(dyna_push)operator((\);) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(num)operator(\)) operator(=) ident(ruby_sourceline)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(361)operator(:) preprocessor(#line) integer(1862) string operator({()ident(yyval)operator(.)ident(vars)operator(\)) operator(=) ident(ruby_dyna_vars)operator(;}) reserved(break)operator(;) reserved(case) integer(362)operator(:) preprocessor(#line) integer(1864) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ITER)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(,) ident(dyna_init)operator((()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\)\);) ident(nd_set_line)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(num)operator(\)\);) ident(dyna_pop)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(vars)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(363)operator(:) preprocessor(#line) integer(1874) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_WHEN)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(365)operator(:) preprocessor(#line) integer(1880) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_WHEN)operator((()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(,) integer(0)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(366)operator(:) preprocessor(#line) integer(1884) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator(()ident(NEW_WHEN)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(,) integer(0)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(369)operator(:) preprocessor(#line) integer(1896) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\)) operator({) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)) operator(=) ident(node_assign)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) ident(NEW_GVAR)operator(()ident(rb_intern)operator(()stringoperator(\)\)\);) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_RESBODY)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) ident(fixpos)operator((()ident(yyval)operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)?()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\):()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(371)operator(:) preprocessor(#line) integer(1908) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(374)operator(:) preprocessor(#line) integer(1916) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(376)operator(:) preprocessor(#line) integer(1923) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\)) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) reserved(else) comment(/* place holder */) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NIL)operator((\);) operator(}) reserved(break)operator(;) reserved(case) integer(379)operator(:) preprocessor(#line) integer(1935) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_LIT)operator(()ident(ID2SYM)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(381)operator(:) preprocessor(#line) integer(1942) string operator({) ident(NODE) operator(*)ident(node) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\);) reserved(if) operator((!)ident(node)operator(\)) operator({) ident(node) operator(=) ident(NEW_STR)operator(()ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\)\);) operator(}) reserved(else) operator({) ident(node) operator(=) ident(evstr2dstr)operator(()ident(node)operator(\);) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(383)operator(:) preprocessor(#line) integer(1956) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(literal_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(384)operator(:) preprocessor(#line) integer(1962) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(385)operator(:) preprocessor(#line) integer(1968) string operator({) ident(NODE) operator(*)ident(node) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) reserved(if) operator((!)ident(node)operator(\)) operator({) ident(node) operator(=) ident(NEW_XSTR)operator(()ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\)\);) operator(}) reserved(else) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_STR)operator(:) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_XSTR)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DSTR)operator(:) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_DXSTR)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(node) operator(=) ident(NEW_NODE)operator(()ident(NODE_DXSTR)operator(,) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\),) integer(1)operator(,) ident(NEW_LIST)operator(()ident(node)operator(\)\);) reserved(break)operator(;) operator(}) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(386)operator(:) preprocessor(#line) integer(1991) string operator({) pre_type(int) ident(options) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(num)operator(\);) ident(NODE) operator(*)ident(node) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) reserved(if) operator((!)ident(node)operator(\)) operator({) ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_reg_new)operator(()stringoperator(,) integer(0)operator(,) ident(options) operator(&) operator(~)ident(RE_OPTION_ONCE)operator(\)\);) operator(}) reserved(else) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_STR)operator(:) operator({) ident(VALUE) ident(src) operator(=) ident(node)operator(->)ident(nd_lit)operator(;) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_LIT)operator(\);) ident(node)operator(->)ident(nd_lit) operator(=) ident(rb_reg_new)operator(()ident(RSTRING)operator(()ident(src)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(src)operator(\)->)ident(len)operator(,) ident(options) operator(&) operator(~)ident(RE_OPTION_ONCE)operator(\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(node) operator(=) ident(NEW_NODE)operator(()ident(NODE_DSTR)operator(,) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\),) integer(1)operator(,) ident(NEW_LIST)operator(()ident(node)operator(\)\);) reserved(case) ident(NODE_DSTR)operator(:) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_ONCE)operator(\)) operator({) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_DREGX_ONCE)operator(\);) operator(}) reserved(else) operator({) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_DREGX)operator(\);) operator(}) ident(node)operator(->)ident(nd_cflag) operator(=) ident(options) operator(&) operator(~)ident(RE_OPTION_ONCE)operator(;) reserved(break)operator(;) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(node)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(387)operator(:) preprocessor(#line) integer(2024) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ZARRAY)operator((\);) operator(}) reserved(break)operator(;) reserved(case) integer(388)operator(:) preprocessor(#line) integer(2028) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(389)operator(:) preprocessor(#line) integer(2034) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(390)operator(:) preprocessor(#line) integer(2038) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) ident(evstr2dstr)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(392)operator(:) preprocessor(#line) integer(2045) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(literal_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(393)operator(:) preprocessor(#line) integer(2051) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ZARRAY)operator((\);) operator(}) reserved(break)operator(;) reserved(case) integer(394)operator(:) preprocessor(#line) integer(2055) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(395)operator(:) preprocessor(#line) integer(2061) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(396)operator(:) preprocessor(#line) integer(2065) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(397)operator(:) preprocessor(#line) integer(2071) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(398)operator(:) preprocessor(#line) integer(2075) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(literal_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(399)operator(:) preprocessor(#line) integer(2081) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(400)operator(:) preprocessor(#line) integer(2085) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(literal_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(402)operator(:) preprocessor(#line) integer(2092) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(lex_strterm)operator(;) ident(lex_strterm) operator(=) integer(0)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(403)operator(:) preprocessor(#line) integer(2098) string operator({) ident(lex_strterm) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_EVSTR)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(404)operator(:) preprocessor(#line) integer(2103) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(lex_strterm)operator(;) ident(lex_strterm) operator(=) integer(0)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(COND_PUSH)operator(()integer(0)operator(\);) ident(CMDARG_PUSH)operator(()integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(405)operator(:) preprocessor(#line) integer(2111) string operator({) ident(lex_strterm) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) ident(COND_LEXPOP)operator((\);) ident(CMDARG_LEXPOP)operator((\);) reserved(if) operator(((()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\)) operator(&&) ident(nd_type)operator((()ident(yyval)operator(.)ident(node)operator(\)\)) operator(==) ident(NODE_NEWLINE)operator(\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_next)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\)()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(new_evstr)operator((()ident(yyval)operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(406)operator(:) preprocessor(#line) integer(2123) string operator({()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_GVAR)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\);}) reserved(break)operator(;) reserved(case) integer(407)operator(:) preprocessor(#line) integer(2124) string operator({()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_IVAR)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\);}) reserved(break)operator(;) reserved(case) integer(408)operator(:) preprocessor(#line) integer(2125) string operator({()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_CVAR)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\);}) reserved(break)operator(;) reserved(case) integer(410)operator(:) preprocessor(#line) integer(2130) string operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(()ident(yyval)operator(.)ident(id)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(415)operator(:) preprocessor(#line) integer(2143) string operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) reserved(if) operator((!(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NIL)operator((\);) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(lit)operator(;) reserved(switch) operator(()ident(nd_type)operator((()ident(yyval)operator(.)ident(node)operator(\)\)\)) operator({) reserved(case) ident(NODE_DSTR)operator(:) ident(nd_set_type)operator((()ident(yyval)operator(.)ident(node)operator(\),) ident(NODE_DSYM)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_STR)operator(:) ident(lit) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_lit)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(lit)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(strlen)operator(()ident(RSTRING)operator(()ident(lit)operator(\)->)ident(ptr)operator(\)) operator(==) ident(RSTRING)operator(()ident(lit)operator(\)->)ident(len)operator(\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_lit) operator(=) ident(ID2SYM)operator(()ident(rb_intern)operator(()ident(RSTRING)operator((()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_lit)operator(\)->)ident(ptr)operator(\)\);) ident(nd_set_type)operator((()ident(yyval)operator(.)ident(node)operator(\),) ident(NODE_LIT)operator(\);) reserved(break)operator(;) operator(}) comment(/* fall through */) reserved(default)operator(:) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NODE)operator(()ident(NODE_DSYM)operator(,) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\),) integer(1)operator(,) ident(NEW_LIST)operator((()ident(yyval)operator(.)ident(node)operator(\)\)\);) reserved(break)operator(;) operator(}) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(418)operator(:) preprocessor(#line) integer(2179) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(negate_lit)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(419)operator(:) preprocessor(#line) integer(2183) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(negate_lit)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(425)operator(:) preprocessor(#line) integer(2193) string operator({()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(kNIL)operator(;}) reserved(break)operator(;) reserved(case) integer(426)operator(:) preprocessor(#line) integer(2194) string operator({()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(kSELF)operator(;}) reserved(break)operator(;) reserved(case) integer(427)operator(:) preprocessor(#line) integer(2195) string operator({()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(kTRUE)operator(;}) reserved(break)operator(;) reserved(case) integer(428)operator(:) preprocessor(#line) integer(2196) string operator({()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(kFALSE)operator(;}) reserved(break)operator(;) reserved(case) integer(429)operator(:) preprocessor(#line) integer(2197) string operator({()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(k__FILE__)operator(;}) reserved(break)operator(;) reserved(case) integer(430)operator(:) preprocessor(#line) integer(2198) string operator({()ident(yyval)operator(.)ident(id)operator(\)) operator(=) ident(k__LINE__)operator(;}) reserved(break)operator(;) reserved(case) integer(431)operator(:) preprocessor(#line) integer(2202) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(gettable)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(432)operator(:) preprocessor(#line) integer(2208) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(assignable)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(435)operator(:) preprocessor(#line) integer(2218) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(436)operator(:) preprocessor(#line) integer(2222) string operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(437)operator(:) preprocessor(#line) integer(2226) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(438)operator(:) preprocessor(#line) integer(2229) string operator({)ident(yyerrok)operator(;) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;}) reserved(break)operator(;) reserved(case) integer(439)operator(:) preprocessor(#line) integer(2233) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(command_start) operator(=) ident(Qtrue)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(440)operator(:) preprocessor(#line) integer(2239) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(441)operator(:) preprocessor(#line) integer(2245) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(num)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(5)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(6)operator(\)) operator(-) operator(()integer(6)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(442)operator(:) preprocessor(#line) integer(2249) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(num)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(443)operator(:) preprocessor(#line) integer(2253) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(num)operator(\),) integer(0)operator(,) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(444)operator(:) preprocessor(#line) integer(2257) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(num)operator(\),) integer(0)operator(,) integer(0)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(445)operator(:) preprocessor(#line) integer(2261) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator(()integer(0)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(4)operator(\)) operator(-) operator(()integer(4)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(446)operator(:) preprocessor(#line) integer(2265) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator(()integer(0)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\),) integer(0)operator(\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(447)operator(:) preprocessor(#line) integer(2269) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator(()integer(0)operator(,) integer(0)operator(,) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(448)operator(:) preprocessor(#line) integer(2273) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator(()ident(NEW_ARGS)operator(()integer(0)operator(,) integer(0)operator(,) integer(0)operator(\),) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(449)operator(:) preprocessor(#line) integer(2277) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_ARGS)operator(()integer(0)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(450)operator(:) preprocessor(#line) integer(2283) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(451)operator(:) preprocessor(#line) integer(2287) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(452)operator(:) preprocessor(#line) integer(2291) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(453)operator(:) preprocessor(#line) integer(2295) string operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(454)operator(:) preprocessor(#line) integer(2299) string operator({) reserved(if) operator((!)ident(is_local_id)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) reserved(else) reserved(if) operator(()ident(local_id)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) ident(local_cnt)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(id)operator(\)\);) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(456)operator(:) preprocessor(#line) integer(2311) string operator({) operator(()ident(yyval)operator(.)ident(num)operator(\)) operator(+=) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) integer(457)operator(:) preprocessor(#line) integer(2317) string operator({) reserved(if) operator((!)ident(is_local_id)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) reserved(else) reserved(if) operator(()ident(local_id)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(assignable)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(id)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(458)operator(:) preprocessor(#line) integer(2327) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_BLOCK)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\)\);) operator(()ident(yyval)operator(.)ident(node)operator(\)->)ident(nd_end) operator(=) operator(()ident(yyval)operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(459)operator(:) preprocessor(#line) integer(2332) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(block_append)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(462)operator(:) preprocessor(#line) integer(2342) string operator({) reserved(if) operator((!)ident(is_local_id)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) reserved(else) reserved(if) operator(()ident(local_id)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) reserved(if) operator(()ident(dyna_in_block)operator((\)\)) operator({) ident(rb_dvar_push)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\),) ident(Qnil)operator(\);) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(assignable)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(463)operator(:) preprocessor(#line) integer(2353) string operator({) reserved(if) operator(()ident(dyna_in_block)operator((\)\)) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_DASGN_CURR)operator(()ident(internal_id)operator((\),) integer(0)operator(\);) operator(}) reserved(else) operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_NODE)operator(()ident(NODE_LASGN)operator(,)integer(0)operator(,)integer(0)operator(,)ident(local_append)operator(()integer(0)operator(\)\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) integer(466)operator(:) preprocessor(#line) integer(2368) string operator({) reserved(if) operator((!)ident(is_local_id)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) reserved(else) reserved(if) operator(()ident(local_id)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\)\)) ident(yyerror)operator(()stringoperator(\);) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(NEW_BLOCK_ARG)operator((()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(id)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(467)operator(:) preprocessor(#line) integer(2378) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(2)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(469)operator(:) preprocessor(#line) integer(2385) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(1)operator(\)])operator(.)ident(node)operator(\);) ident(value_expr)operator((()ident(yyval)operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(470)operator(:) preprocessor(#line) integer(2389) string operator({)ident(lex_state) operator(=) ident(EXPR_BEG)operator(;}) reserved(break)operator(;) reserved(case) integer(471)operator(:) preprocessor(#line) integer(2390) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) operator({) reserved(switch) operator(()ident(nd_type)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\)\)) operator({) reserved(case) ident(NODE_STR)operator(:) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_XSTR)operator(:) reserved(case) ident(NODE_DXSTR)operator(:) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_LIT)operator(:) reserved(case) ident(NODE_ARRAY)operator(:) reserved(case) ident(NODE_ZARRAY)operator(:) ident(yyerror)operator(()stringoperator(\);) reserved(default)operator(:) ident(value_expr)operator((()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\)\);) reserved(break)operator(;) operator(}) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(5)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(473)operator(:) preprocessor(#line) integer(2416) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(474)operator(:) preprocessor(#line) integer(2420) string operator({) reserved(if) operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\)->)ident(nd_alen)operator(%)integer(2) operator(!=) integer(0)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) operator(()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(2)operator(\)])operator(.)ident(node)operator(\);) operator(}) reserved(break)operator(;) reserved(case) integer(476)operator(:) preprocessor(#line) integer(2430) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_concat)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(477)operator(:) preprocessor(#line) integer(2436) string operator({) operator(()ident(yyval)operator(.)ident(node)operator(\)) operator(=) ident(list_append)operator(()ident(NEW_LIST)operator((()ident(yyvsp)operator([()integer(1)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\),) operator(()ident(yyvsp)operator([()integer(3)operator(\)) operator(-) operator(()integer(3)operator(\)])operator(.)ident(node)operator(\)\);) operator(}) reserved(break)operator(;) reserved(case) integer(497)operator(:) preprocessor(#line) integer(2474) string operator({)ident(yyerrok)operator(;}) reserved(break)operator(;) reserved(case) integer(500)operator(:) preprocessor(#line) integer(2479) string operator({)ident(yyerrok)operator(;}) reserved(break)operator(;) reserved(case) integer(501)operator(:) preprocessor(#line) integer(2482) string operator({()ident(yyval)operator(.)ident(node)operator(\)) operator(=) integer(0)operator(;}) reserved(break)operator(;) comment(/* Line 1267 of yacc.c. */) preprocessor(#line) integer(7259) string reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(YY_SYMBOL_PRINT) operator(()string $$ =)delimiter(")>operator(,) ident(yyr1)operator([)ident(yyn)operator(],) operator(&)ident(yyval)operator(,) operator(&)ident(yyloc)operator(\);) ident(YYPOPSTACK) operator(()ident(yylen)operator(\);) ident(yylen) operator(=) integer(0)operator(;) ident(YY_STACK_PRINT) operator(()ident(yyss)operator(,) ident(yyssp)operator(\);) operator(*++)ident(yyvsp) operator(=) ident(yyval)operator(;) comment(/* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */) ident(yyn) operator(=) ident(yyr1)operator([)ident(yyn)operator(];) ident(yystate) operator(=) ident(yypgoto)operator([)ident(yyn) operator(-) ident(YYNTOKENS)operator(]) operator(+) operator(*)ident(yyssp)operator(;) reserved(if) operator(()integer(0) operator(<=) ident(yystate) operator(&&) ident(yystate) operator(<=) ident(YYLAST) operator(&&) ident(yycheck)operator([)ident(yystate)operator(]) operator(==) operator(*)ident(yyssp)operator(\)) ident(yystate) operator(=) ident(yytable)operator([)ident(yystate)operator(];) reserved(else) ident(yystate) operator(=) ident(yydefgoto)operator([)ident(yyn) operator(-) ident(YYNTOKENS)operator(];) reserved(goto) ident(yynewstate)operator(;) comment(/*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/) label(yyerrlab:) comment(/* If not already recovering from an error, report this error. */) reserved(if) operator((!)ident(yyerrstatus)operator(\)) operator({) operator(++)ident(yynerrs)operator(;) preprocessor(#if) operator(!) ident(YYERROR_VERBOSE) ident(yyerror) operator(()ident(YY_)operator(()stringoperator(\)\);) preprocessor(#else) operator({) ident(YYSIZE_T) ident(yysize) operator(=) ident(yysyntax_error) operator(()integer(0)operator(,) ident(yystate)operator(,) ident(yychar)operator(\);) reserved(if) operator(()ident(yymsg_alloc) operator(<) ident(yysize) operator(&&) ident(yymsg_alloc) operator(<) ident(YYSTACK_ALLOC_MAXIMUM)operator(\)) operator({) ident(YYSIZE_T) ident(yyalloc) operator(=) integer(2) operator(*) ident(yysize)operator(;) reserved(if) operator((!) operator(()ident(yysize) operator(<=) ident(yyalloc) operator(&&) ident(yyalloc) operator(<=) ident(YYSTACK_ALLOC_MAXIMUM)operator(\)\)) ident(yyalloc) operator(=) ident(YYSTACK_ALLOC_MAXIMUM)operator(;) reserved(if) operator(()ident(yymsg) operator(!=) ident(yymsgbuf)operator(\)) ident(YYSTACK_FREE) operator(()ident(yymsg)operator(\);) ident(yymsg) operator(=) operator(()pre_type(char) operator(*\)) ident(YYSTACK_ALLOC) operator(()ident(yyalloc)operator(\);) reserved(if) operator(()ident(yymsg)operator(\)) ident(yymsg_alloc) operator(=) ident(yyalloc)operator(;) reserved(else) operator({) ident(yymsg) operator(=) ident(yymsgbuf)operator(;) ident(yymsg_alloc) operator(=) reserved(sizeof) ident(yymsgbuf)operator(;) operator(}) operator(}) reserved(if) operator(()integer(0) operator(<) ident(yysize) operator(&&) ident(yysize) operator(<=) ident(yymsg_alloc)operator(\)) operator({) operator(()directive(void)operator(\)) ident(yysyntax_error) operator(()ident(yymsg)operator(,) ident(yystate)operator(,) ident(yychar)operator(\);) ident(yyerror) operator(()ident(yymsg)operator(\);) operator(}) reserved(else) operator({) ident(yyerror) operator(()ident(YY_)operator(()stringoperator(\)\);) reserved(if) operator(()ident(yysize) operator(!=) integer(0)operator(\)) reserved(goto) ident(yyexhaustedlab)operator(;) operator(}) operator(}) preprocessor(#endif) operator(}) reserved(if) operator(()ident(yyerrstatus) operator(==) integer(3)operator(\)) operator({) comment(/* If just tried and failed to reuse look-ahead token after an error, discard it. */) reserved(if) operator(()ident(yychar) operator(<=) ident(YYEOF)operator(\)) operator({) comment(/* Return failure if at end of input. */) reserved(if) operator(()ident(yychar) operator(==) ident(YYEOF)operator(\)) ident(YYABORT)operator(;) operator(}) reserved(else) operator({) ident(yydestruct) operator(()stringoperator(,) ident(yytoken)operator(,) operator(&)ident(yylval)operator(\);) ident(yychar) operator(=) ident(YYEMPTY)operator(;) operator(}) operator(}) comment(/* Else will try to reuse look-ahead token after shifting the error token. */) reserved(goto) ident(yyerrlab1)operator(;) comment(/*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/) label(yyerrorlab:) comment(/* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */) reserved(if) operator(()comment(/*CONSTCOND*/) integer(0)operator(\)) reserved(goto) ident(yyerrorlab)operator(;) comment(/* Do not reclaim the symbols of the rule which action triggered this YYERROR. */) ident(YYPOPSTACK) operator(()ident(yylen)operator(\);) ident(yylen) operator(=) integer(0)operator(;) ident(YY_STACK_PRINT) operator(()ident(yyss)operator(,) ident(yyssp)operator(\);) ident(yystate) operator(=) operator(*)ident(yyssp)operator(;) reserved(goto) ident(yyerrlab1)operator(;) comment(/*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/) label(yyerrlab1:) ident(yyerrstatus) operator(=) integer(3)operator(;) comment(/* Each real token shifted decrements this. */) reserved(for) operator((;;\)) operator({) ident(yyn) operator(=) ident(yypact)operator([)ident(yystate)operator(];) reserved(if) operator(()ident(yyn) operator(!=) ident(YYPACT_NINF)operator(\)) operator({) ident(yyn) operator(+=) ident(YYTERROR)operator(;) reserved(if) operator(()integer(0) operator(<=) ident(yyn) operator(&&) ident(yyn) operator(<=) ident(YYLAST) operator(&&) ident(yycheck)operator([)ident(yyn)operator(]) operator(==) ident(YYTERROR)operator(\)) operator({) ident(yyn) operator(=) ident(yytable)operator([)ident(yyn)operator(];) reserved(if) operator(()integer(0) operator(<) ident(yyn)operator(\)) reserved(break)operator(;) operator(}) operator(}) comment(/* Pop the current state because it cannot handle the error token. */) reserved(if) operator(()ident(yyssp) operator(==) ident(yyss)operator(\)) ident(YYABORT)operator(;) ident(yydestruct) operator(()stringoperator(,) ident(yystos)operator([)ident(yystate)operator(],) ident(yyvsp)operator(\);) ident(YYPOPSTACK) operator(()integer(1)operator(\);) ident(yystate) operator(=) operator(*)ident(yyssp)operator(;) ident(YY_STACK_PRINT) operator(()ident(yyss)operator(,) ident(yyssp)operator(\);) operator(}) reserved(if) operator(()ident(yyn) operator(==) ident(YYFINAL)operator(\)) ident(YYACCEPT)operator(;) operator(*++)ident(yyvsp) operator(=) ident(yylval)operator(;) comment(/* Shift the error token. */) ident(YY_SYMBOL_PRINT) operator(()stringoperator(,) ident(yystos)operator([)ident(yyn)operator(],) ident(yyvsp)operator(,) ident(yylsp)operator(\);) ident(yystate) operator(=) ident(yyn)operator(;) reserved(goto) ident(yynewstate)operator(;) comment(/*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/) label(yyacceptlab:) ident(yyresult) operator(=) integer(0)operator(;) reserved(goto) ident(yyreturn)operator(;) comment(/*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/) label(yyabortlab:) ident(yyresult) operator(=) integer(1)operator(;) reserved(goto) ident(yyreturn)operator(;) preprocessor(#ifndef) ident(yyoverflow) comment(/*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/) label(yyexhaustedlab:) ident(yyerror) operator(()ident(YY_)operator(()stringoperator(\)\);) ident(yyresult) operator(=) integer(2)operator(;) comment(/* Fall through. */) preprocessor(#endif) label(yyreturn:) reserved(if) operator(()ident(yychar) operator(!=) ident(YYEOF) operator(&&) ident(yychar) operator(!=) ident(YYEMPTY)operator(\)) ident(yydestruct) operator(()stringoperator(,) ident(yytoken)operator(,) operator(&)ident(yylval)operator(\);) comment(/* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */) ident(YYPOPSTACK) operator(()ident(yylen)operator(\);) ident(YY_STACK_PRINT) operator(()ident(yyss)operator(,) ident(yyssp)operator(\);) reserved(while) operator(()ident(yyssp) operator(!=) ident(yyss)operator(\)) operator({) ident(yydestruct) operator(()stringoperator(,) ident(yystos)operator([*)ident(yyssp)operator(],) ident(yyvsp)operator(\);) ident(YYPOPSTACK) operator(()integer(1)operator(\);) operator(}) preprocessor(#ifndef) ident(yyoverflow) reserved(if) operator(()ident(yyss) operator(!=) ident(yyssa)operator(\)) ident(YYSTACK_FREE) operator(()ident(yyss)operator(\);) preprocessor(#endif) preprocessor(#if) ident(YYERROR_VERBOSE) reserved(if) operator(()ident(yymsg) operator(!=) ident(yymsgbuf)operator(\)) ident(YYSTACK_FREE) operator(()ident(yymsg)operator(\);) preprocessor(#endif) comment(/* Make sure YYID is used. */) reserved(return) ident(YYID) operator(()ident(yyresult)operator(\);) operator(}) preprocessor(#line) integer(2484) string preprocessor(#ifdef) ident(yystacksize) preprocessor(#undef) ident(YYMALLOC) preprocessor(#endif) preprocessor(#include) include("regex.h") preprocessor(#include) include("util.h") comment(/* We remove any previous definition of `SIGN_EXTEND_CHAR', since ours (we hope\) works properly with all combinations of machines, compilers, `char' and `unsigned char' argument types. (Per Bothner suggested the basic approach.\) */) preprocessor(#undef) ident(SIGN_EXTEND_CHAR) preprocessor(#if) ident(__STDC__) preprocessor(# define) ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)) operator((()pre_type(signed) pre_type(char)operator(\)()ident(c)operator(\)\)) preprocessor(#else) comment(/* not __STDC__ */) comment(/* As in Harbison and Steele. */) preprocessor(# define) ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)) operator((((()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)) operator(^) integer(128)operator(\)) operator(-) integer(128)operator(\)) preprocessor(#endif) preprocessor(#define) ident(is_identchar)operator(()ident(c)operator(\)) operator(()ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)!=-)integer(1)operator(&&()ident(ISALNUM)operator(()ident(c)operator(\)) operator(||) operator(()ident(c)operator(\)) operator(==) char('_') operator(||) ident(ismbchar)operator(()ident(c)operator(\)\)\)) directive(static) pre_type(char) operator(*)ident(tokenbuf) operator(=) pre_constant(NULL)operator(;) directive(static) pre_type(int) ident(tokidx)operator(,) ident(toksiz) operator(=) integer(0)operator(;) preprocessor(#define) ident(LEAVE_BS) integer(1) directive(static) ident(VALUE) operator((*)ident(lex_gets)operator(\)(\);) comment(/* gets function */) directive(static) ident(VALUE) ident(lex_input)operator(;) comment(/* non-nil if File */) directive(static) ident(VALUE) ident(lex_lastline)operator(;) comment(/* gc protect */) directive(static) pre_type(char) operator(*)ident(lex_pbeg)operator(;) directive(static) pre_type(char) operator(*)ident(lex_p)operator(;) directive(static) pre_type(char) operator(*)ident(lex_pend)operator(;) directive(static) pre_type(int) ident(yyerror)operator(()ident(msg)operator(\)) directive(const) pre_type(char) operator(*)ident(msg)operator(;) operator({) directive(const) pre_type(int) ident(max_line_margin) operator(=) integer(30)operator(;) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pe)operator(;) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(len)operator(,) ident(i)operator(;) ident(rb_compile_error)operator(()stringoperator(,) ident(msg)operator(\);) ident(p) operator(=) ident(lex_p)operator(;) reserved(while) operator(()ident(lex_pbeg) operator(<=) ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('\\n')operator(\)) reserved(break)operator(;) ident(p)operator(--;) operator(}) ident(p)operator(++;) ident(pe) operator(=) ident(lex_p)operator(;) reserved(while) operator(()ident(pe) operator(<) ident(lex_pend)operator(\)) operator({) reserved(if) operator((*)ident(pe) operator(==) char('\\n')operator(\)) reserved(break)operator(;) ident(pe)operator(++;) operator(}) ident(len) operator(=) ident(pe) operator(-) ident(p)operator(;) reserved(if) operator(()ident(len) operator(>) integer(4)operator(\)) operator({) pre_type(char) operator(*)ident(p2)operator(;) directive(const) pre_type(char) operator(*)ident(pre) operator(=) stringoperator(,) operator(*)ident(post) operator(=) stringoperator(;) reserved(if) operator(()ident(len) operator(>) ident(max_line_margin) operator(*) integer(2) operator(+) integer(10)operator(\)) operator({) pre_type(int) ident(re_mbc_startpos) ident(_)operator((()directive(const) pre_type(char) operator(*,) pre_type(int)operator(,) pre_type(int)operator(,) pre_type(int)operator(\)\);) reserved(if) operator((()ident(len) operator(=) ident(lex_p) operator(-) ident(p)operator(\)) operator(>) ident(max_line_margin)operator(\)) operator({) ident(p) operator(=) ident(p) operator(+) ident(re_mbc_startpos)operator(()ident(p)operator(,) ident(len)operator(,) ident(len) operator(-) ident(max_line_margin)operator(,) integer(0)operator(\);) ident(pre) operator(=) stringoperator(;) operator(}) reserved(if) operator((()ident(len) operator(=) ident(pe) operator(-) ident(lex_p)operator(\)) operator(>) ident(max_line_margin)operator(\)) operator({) ident(pe) operator(=) ident(lex_p) operator(+) ident(re_mbc_startpos)operator(()ident(lex_p)operator(,) ident(len)operator(,) ident(max_line_margin)operator(,) integer(1)operator(\);) ident(post) operator(=) stringoperator(;) operator(}) ident(len) operator(=) ident(pe) operator(-) ident(p)operator(;) operator(}) ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(len)operator(+)integer(2)operator(\);) ident(MEMCPY)operator(()ident(buf)operator(,) ident(p)operator(,) pre_type(char)operator(,) ident(len)operator(\);) ident(buf)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) ident(rb_compile_error_append)operator(()stringoperator(,) ident(pre)operator(,) ident(buf)operator(,) ident(post)operator(\);) ident(i) operator(=) ident(lex_p) operator(-) ident(p)operator(;) ident(p2) operator(=) ident(buf)operator(;) ident(pe) operator(=) ident(buf) operator(+) ident(len)operator(;) reserved(while) operator(()ident(p2) operator(<) ident(pe)operator(\)) operator({) reserved(if) operator((*)ident(p2) operator(!=) char('\\t')operator(\)) operator(*)ident(p2) operator(=) char(' ')operator(;) ident(p2)operator(++;) operator(}) ident(buf)operator([)ident(i)operator(]) operator(=) char('^')operator(;) ident(buf)operator([)ident(i)operator(+)integer(1)operator(]) operator(=) char('\\0')operator(;) ident(rb_compile_error_append)operator(()stringoperator(,) ident(buf)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(heredoc_end)operator(;) pre_type(int) ident(ruby_in_compile) operator(=) integer(0)operator(;) pre_type(int) ident(ruby__end__seen)operator(;) directive(static) ident(VALUE) ident(ruby_debug_lines)operator(;) preprocessor(#ifdef) ident(YYMALLOC) directive(static) ident(NODE) operator(*)ident(parser_heap)operator(;) preprocessor(#endif) directive(static) ident(NODE)operator(*) ident(yycompile)operator(()ident(f)operator(,) ident(line)operator(\)) pre_type(char) operator(*)ident(f)operator(;) pre_type(int) ident(line)operator(;) operator({) pre_type(int) ident(n)operator(;) ident(NODE) operator(*)ident(node) operator(=) integer(0)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(vp)operator(,) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(ruby_in_compile) operator(=) integer(1)operator(;) reserved(if) operator((!)ident(compile_for_eval) operator(&&) ident(rb_safe_level)operator((\)) operator(==) integer(0) operator(&&) ident(rb_const_defined)operator(()ident(rb_cObject)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) ident(VALUE) ident(hash)operator(,) ident(fname)operator(;) ident(hash) operator(=) ident(rb_const_get)operator(()ident(rb_cObject)operator(,) ident(rb_intern)operator(()stringoperator(\)\);) reserved(if) operator(()ident(TYPE)operator(()ident(hash)operator(\)) operator(==) ident(T_HASH)operator(\)) operator({) ident(fname) operator(=) ident(rb_str_new2)operator(()ident(f)operator(\);) ident(ruby_debug_lines) operator(=) ident(rb_ary_new)operator((\);) ident(rb_hash_aset)operator(()ident(hash)operator(,) ident(fname)operator(,) ident(ruby_debug_lines)operator(\);) operator(}) reserved(if) operator(()ident(line) operator(>) integer(1)operator(\)) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,)integer(0)operator(\);) reserved(while) operator(()ident(line) operator(>) integer(1)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ruby_debug_lines)operator(,) ident(str)operator(\);) ident(line)operator(--;) operator(}) operator(}) operator(}) ident(ruby__end__seen) operator(=) integer(0)operator(;) ident(ruby_eval_tree) operator(=) integer(0)operator(;) ident(ruby_eval_tree_begin) operator(=) integer(0)operator(;) ident(heredoc_end) operator(=) integer(0)operator(;) ident(lex_strterm) operator(=) integer(0)operator(;) ident(ruby_current_node) operator(=) integer(0)operator(;) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(f)operator(\);) ident(deferred_nodes) operator(=) integer(0)operator(;) ident(n) operator(=) ident(yyparse)operator((\);) ident(ruby_debug_lines) operator(=) integer(0)operator(;) ident(compile_for_eval) operator(=) integer(0)operator(;) ident(ruby_in_compile) operator(=) integer(0)operator(;) ident(cond_stack) operator(=) integer(0)operator(;) ident(cmdarg_stack) operator(=) integer(0)operator(;) ident(command_start) operator(=) integer(1)operator(;) ident(class_nest) operator(=) integer(0)operator(;) ident(in_single) operator(=) integer(0)operator(;) ident(in_def) operator(=) integer(0)operator(;) ident(cur_mid) operator(=) integer(0)operator(;) ident(deferred_nodes) operator(=) integer(0)operator(;) ident(vp) operator(=) ident(ruby_dyna_vars)operator(;) ident(ruby_dyna_vars) operator(=) ident(vars)operator(;) ident(lex_strterm) operator(=) integer(0)operator(;) reserved(while) operator(()ident(vp) operator(&&) ident(vp) operator(!=) ident(vars)operator(\)) operator({) reserved(struct) ident(RVarmap) operator(*)ident(tmp) operator(=) ident(vp)operator(;) ident(vp) operator(=) ident(vp)operator(->)ident(next)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(tmp)operator(\);) operator(}) reserved(if) operator(()ident(n) operator(==) integer(0)operator(\)) ident(node) operator(=) ident(ruby_eval_tree)operator(;) reserved(if) operator(()ident(ruby_nerrs)operator(\)) ident(ruby_eval_tree_begin) operator(=) integer(0)operator(;) reserved(return) ident(node)operator(;) operator(}) directive(static) pre_type(int) ident(lex_gets_ptr)operator(;) directive(static) ident(VALUE) ident(lex_get_str)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) pre_type(char) operator(*)ident(beg)operator(,) operator(*)ident(end)operator(,) operator(*)ident(pend)operator(;) ident(beg) operator(=) ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(lex_gets_ptr)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(s)operator(\)->)ident(len) operator(==) ident(lex_gets_ptr)operator(\)) reserved(return) ident(Qnil)operator(;) ident(beg) operator(+=) ident(lex_gets_ptr)operator(;) operator(}) ident(pend) operator(=) ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(end) operator(=) ident(beg)operator(;) reserved(while) operator(()ident(end) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((*)ident(end)operator(++) operator(==) char('\\n')operator(\)) reserved(break)operator(;) operator(}) ident(lex_gets_ptr) operator(=) ident(end) operator(-) ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator(;) reserved(return) ident(rb_str_new)operator(()ident(beg)operator(,) ident(end) operator(-) ident(beg)operator(\);) operator(}) directive(static) ident(VALUE) ident(lex_getline)operator((\)) operator({) ident(VALUE) ident(line) operator(=) operator((*)ident(lex_gets)operator(\)()ident(lex_input)operator(\);) reserved(if) operator(()ident(ruby_debug_lines) operator(&&) operator(!)ident(NIL_P)operator(()ident(line)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ruby_debug_lines)operator(,) ident(line)operator(\);) operator(}) reserved(return) ident(line)operator(;) operator(}) ident(NODE)operator(*) ident(rb_compile_string)operator(()ident(f)operator(,) ident(s)operator(,) ident(line)operator(\)) directive(const) pre_type(char) operator(*)ident(f)operator(;) ident(VALUE) ident(s)operator(;) pre_type(int) ident(line)operator(;) operator({) ident(lex_gets) operator(=) ident(lex_get_str)operator(;) ident(lex_gets_ptr) operator(=) integer(0)operator(;) ident(lex_input) operator(=) ident(s)operator(;) ident(lex_pbeg) operator(=) ident(lex_p) operator(=) ident(lex_pend) operator(=) integer(0)operator(;) ident(ruby_sourceline) operator(=) ident(line) operator(-) integer(1)operator(;) ident(compile_for_eval) operator(=) ident(ruby_in_eval)operator(;) reserved(return) ident(yycompile)operator(()ident(f)operator(,) ident(line)operator(\);) operator(}) ident(NODE)operator(*) ident(rb_compile_cstr)operator(()ident(f)operator(,) ident(s)operator(,) ident(len)operator(,) ident(line)operator(\)) directive(const) pre_type(char) operator(*)ident(f)operator(,) operator(*)ident(s)operator(;) pre_type(int) ident(len)operator(,) ident(line)operator(;) operator({) reserved(return) ident(rb_compile_string)operator(()ident(f)operator(,) ident(rb_str_new)operator(()ident(s)operator(,) ident(len)operator(\),) ident(line)operator(\);) operator(}) ident(NODE)operator(*) ident(rb_compile_file)operator(()ident(f)operator(,) ident(file)operator(,) ident(start)operator(\)) directive(const) pre_type(char) operator(*)ident(f)operator(;) ident(VALUE) ident(file)operator(;) pre_type(int) ident(start)operator(;) operator({) ident(lex_gets) operator(=) ident(rb_io_gets)operator(;) ident(lex_input) operator(=) ident(file)operator(;) ident(lex_pbeg) operator(=) ident(lex_p) operator(=) ident(lex_pend) operator(=) integer(0)operator(;) ident(ruby_sourceline) operator(=) ident(start) operator(-) integer(1)operator(;) reserved(return) ident(yycompile)operator(()ident(f)operator(,) ident(start)operator(\);) operator(}) directive(static) directive(inline) pre_type(int) ident(nextc)operator((\)) operator({) pre_type(int) ident(c)operator(;) reserved(if) operator(()ident(lex_p) operator(==) ident(lex_pend)operator(\)) operator({) reserved(if) operator(()ident(lex_input)operator(\)) operator({) ident(VALUE) ident(v) operator(=) ident(lex_getline)operator((\);) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator(\)\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(heredoc_end) operator(>) integer(0)operator(\)) operator({) ident(ruby_sourceline) operator(=) ident(heredoc_end)operator(;) ident(heredoc_end) operator(=) integer(0)operator(;) operator(}) ident(ruby_sourceline)operator(++;) ident(lex_pbeg) operator(=) ident(lex_p) operator(=) ident(RSTRING)operator(()ident(v)operator(\)->)ident(ptr)operator(;) ident(lex_pend) operator(=) ident(lex_p) operator(+) ident(RSTRING)operator(()ident(v)operator(\)->)ident(len)operator(;) ident(lex_lastline) operator(=) ident(v)operator(;) operator(}) reserved(else) operator({) ident(lex_lastline) operator(=) integer(0)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(lex_p)operator(++;) reserved(if) operator(()ident(c) operator(==) char('\\r') operator(&&) ident(lex_p) operator(<) ident(lex_pend) operator(&&) operator(*)ident(lex_p) operator(==) char('\\n')operator(\)) operator({) ident(lex_p)operator(++;) ident(c) operator(=) char('\\n')operator(;) operator(}) reserved(return) ident(c)operator(;) operator(}) directive(static) directive(void) ident(pushback)operator(()ident(c)operator(\)) pre_type(int) ident(c)operator(;) operator({) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(return)operator(;) ident(lex_p)operator(--;) operator(}) preprocessor(#define) ident(was_bol)operator((\)) operator(()ident(lex_p) operator(==) ident(lex_pbeg) operator(+) integer(1)operator(\)) preprocessor(#define) ident(peek)operator(()ident(c)operator(\)) operator(()ident(lex_p) operator(!=) ident(lex_pend) operator(&&) operator(()ident(c)operator(\)) operator(==) operator(*)ident(lex_p)operator(\)) preprocessor(#define) ident(tokfix)operator((\)) operator(()ident(tokenbuf)operator([)ident(tokidx)operator(]=)char('\\0')operator(\)) preprocessor(#define) ident(tok)operator((\)) ident(tokenbuf) preprocessor(#define) ident(toklen)operator((\)) ident(tokidx) preprocessor(#define) ident(toklast)operator((\)) operator(()ident(tokidx)operator(>)integer(0)operator(?)ident(tokenbuf)operator([)ident(tokidx)operator(-)integer(1)operator(]:)integer(0)operator(\)) directive(static) pre_type(char)operator(*) ident(newtok)operator((\)) operator({) ident(tokidx) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(tokenbuf)operator(\)) operator({) ident(toksiz) operator(=) integer(60)operator(;) ident(tokenbuf) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) integer(60)operator(\);) operator(}) reserved(if) operator(()ident(toksiz) operator(>) integer(4096)operator(\)) operator({) ident(toksiz) operator(=) integer(60)operator(;) ident(REALLOC_N)operator(()ident(tokenbuf)operator(,) pre_type(char)operator(,) integer(60)operator(\);) operator(}) reserved(return) ident(tokenbuf)operator(;) operator(}) directive(static) directive(void) ident(tokadd)operator(()ident(c)operator(\)) pre_type(char) ident(c)operator(;) operator({) ident(tokenbuf)operator([)ident(tokidx)operator(++]) operator(=) ident(c)operator(;) reserved(if) operator(()ident(tokidx) operator(>=) ident(toksiz)operator(\)) operator({) ident(toksiz) operator(*=) integer(2)operator(;) ident(REALLOC_N)operator(()ident(tokenbuf)operator(,) pre_type(char)operator(,) ident(toksiz)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(read_escape)operator((\)) operator({) pre_type(int) ident(c)operator(;) reserved(switch) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator({) reserved(case) char('\\\\')operator(:) comment(/* Backslash */) reserved(return) ident(c)operator(;) reserved(case) char('n')operator(:) comment(/* newline */) reserved(return) char('\\n')operator(;) reserved(case) char('t')operator(:) comment(/* horizontal tab */) reserved(return) char('\\t')operator(;) reserved(case) char('r')operator(:) comment(/* carriage-return */) reserved(return) char('\\r')operator(;) reserved(case) char('f')operator(:) comment(/* form-feed */) reserved(return) char('\\f')operator(;) reserved(case) char('v')operator(:) comment(/* vertical tab */) reserved(return) char('\\13')operator(;) reserved(case) char('a')operator(:) comment(/* alarm(bell\) */) reserved(return) char('\\007')operator(;) reserved(case) char('e')operator(:) comment(/* escape */) reserved(return) oct(033)operator(;) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) comment(/* octal constant */) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) operator({) pre_type(int) ident(numlen)operator(;) ident(pushback)operator(()ident(c)operator(\);) ident(c) operator(=) ident(scan_oct)operator(()ident(lex_p)operator(,) integer(3)operator(,) operator(&)ident(numlen)operator(\);) ident(lex_p) operator(+=) ident(numlen)operator(;) operator(}) reserved(return) ident(c)operator(;) reserved(case) char('x')operator(:) comment(/* hex constant */) operator({) pre_type(int) ident(numlen)operator(;) ident(c) operator(=) ident(scan_hex)operator(()ident(lex_p)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) ident(lex_p) operator(+=) ident(numlen)operator(;) operator(}) reserved(return) ident(c)operator(;) reserved(case) char('b')operator(:) comment(/* backspace */) reserved(return) char('\\010')operator(;) reserved(case) char('s')operator(:) comment(/* space */) reserved(return) char(' ')operator(;) reserved(case) char('M')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) char('-')operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('\\0')operator(;) operator(}) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('\\\\')operator(\)) operator({) reserved(return) ident(read_escape)operator((\)) operator(|) hex(0x80)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(eof)operator(;) reserved(else) operator({) reserved(return) operator((()ident(c) operator(&) hex(0xff)operator(\)) operator(|) hex(0x80)operator(\);) operator(}) reserved(case) char('C')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) char('-')operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('\\0')operator(;) operator(}) reserved(case) char('c')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)==) char('\\\\')operator(\)) operator({) ident(c) operator(=) ident(read_escape)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('?')operator(\)) reserved(return) oct(0177)operator(;) reserved(else) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(eof)operator(;) reserved(return) ident(c) operator(&) hex(0x9f)operator(;) label(eof:) reserved(case) operator(-)integer(1)operator(:) ident(yyerror)operator(()stringoperator(\);) reserved(return) char('\\0')operator(;) reserved(default)operator(:) reserved(return) ident(c)operator(;) operator(}) operator(}) directive(static) pre_type(int) ident(tokadd_escape)operator(()ident(term)operator(\)) pre_type(int) ident(term)operator(;) operator({) pre_type(int) ident(c)operator(;) reserved(switch) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator({) reserved(case) char('\\n')operator(:) reserved(return) integer(0)operator(;) comment(/* just ignore */) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) comment(/* octal constant */) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) operator({) pre_type(int) ident(i)operator(;) ident(tokadd)operator(()char('\\\\')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(2)operator(;) ident(i)operator(++\)) operator({) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(eof)operator(;) reserved(if) operator(()ident(c) operator(<) char('0') operator(||) char('7') operator(<) ident(c)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) ident(tokadd)operator(()ident(c)operator(\);) operator(}) operator(}) reserved(return) integer(0)operator(;) reserved(case) char('x')operator(:) comment(/* hex constant */) operator({) pre_type(int) ident(numlen)operator(;) ident(tokadd)operator(()char('\\\\')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) ident(scan_hex)operator(()ident(lex_p)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(while) operator(()ident(numlen)operator(--\)) ident(tokadd)operator(()ident(nextc)operator((\)\);) operator(}) reserved(return) integer(0)operator(;) reserved(case) char('M')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) char('-')operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) ident(pushback)operator(()ident(c)operator(\);) reserved(return) integer(0)operator(;) operator(}) ident(tokadd)operator(()char('\\\\')operator(\);) ident(tokadd)operator(()char('M')operator(\);) ident(tokadd)operator(()char('-')operator(\);) reserved(goto) ident(escaped)operator(;) reserved(case) char('C')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) char('-')operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) ident(pushback)operator(()ident(c)operator(\);) reserved(return) integer(0)operator(;) operator(}) ident(tokadd)operator(()char('\\\\')operator(\);) ident(tokadd)operator(()char('C')operator(\);) ident(tokadd)operator(()char('-')operator(\);) reserved(goto) ident(escaped)operator(;) reserved(case) char('c')operator(:) ident(tokadd)operator(()char('\\\\')operator(\);) ident(tokadd)operator(()char('c')operator(\);) label(escaped:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('\\\\')operator(\)) operator({) reserved(return) ident(tokadd_escape)operator(()ident(term)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(eof)operator(;) ident(tokadd)operator(()ident(c)operator(\);) reserved(return) integer(0)operator(;) label(eof:) reserved(case) operator(-)integer(1)operator(:) ident(yyerror)operator(()stringoperator(\);) reserved(return) operator(-)integer(1)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(c) operator(!=) char('\\\\') operator(||) ident(c) operator(!=) ident(term)operator(\)) ident(tokadd)operator(()char('\\\\')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(regx_options)operator((\)) operator({) pre_type(char) ident(kcode) operator(=) integer(0)operator(;) pre_type(int) ident(options) operator(=) integer(0)operator(;) pre_type(int) ident(c)operator(;) ident(newtok)operator((\);) reserved(while) operator(()ident(c) operator(=) ident(nextc)operator((\),) ident(ISALPHA)operator(()ident(c)operator(\)\)) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('i')operator(:) ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) reserved(break)operator(;) reserved(case) char('x')operator(:) ident(options) operator(|=) ident(RE_OPTION_EXTENDED)operator(;) reserved(break)operator(;) reserved(case) char('m')operator(:) ident(options) operator(|=) ident(RE_OPTION_MULTILINE)operator(;) reserved(break)operator(;) reserved(case) char('o')operator(:) ident(options) operator(|=) ident(RE_OPTION_ONCE)operator(;) reserved(break)operator(;) reserved(case) char('n')operator(:) ident(kcode) operator(=) integer(16)operator(;) reserved(break)operator(;) reserved(case) char('e')operator(:) ident(kcode) operator(=) integer(32)operator(;) reserved(break)operator(;) reserved(case) char('s')operator(:) ident(kcode) operator(=) integer(48)operator(;) reserved(break)operator(;) reserved(case) char('u')operator(:) ident(kcode) operator(=) integer(64)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(tokadd)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(toklen)operator((\)\)) operator({) ident(tokfix)operator((\);) ident(rb_compile_error)operator(()stringoperator(,) ident(toklen)operator((\)) operator(>) integer(1) operator(?) string operator(:) stringoperator(,) ident(tok)operator((\)\);) operator(}) reserved(return) ident(options) operator(|) ident(kcode)operator(;) operator(}) preprocessor(#define) ident(STR_FUNC_ESCAPE) hex(0x01) preprocessor(#define) ident(STR_FUNC_EXPAND) hex(0x02) preprocessor(#define) ident(STR_FUNC_REGEXP) hex(0x04) preprocessor(#define) ident(STR_FUNC_QWORDS) hex(0x08) preprocessor(#define) ident(STR_FUNC_SYMBOL) hex(0x10) preprocessor(#define) ident(STR_FUNC_INDENT) hex(0x20) reserved(enum) ident(string_type) operator({) ident(str_squote) operator(=) operator(()integer(0)operator(\),) ident(str_dquote) operator(=) operator(()ident(STR_FUNC_EXPAND)operator(\),) ident(str_xquote) operator(=) operator(()ident(STR_FUNC_EXPAND)operator(\),) ident(str_regexp) operator(=) operator(()ident(STR_FUNC_REGEXP)operator(|)ident(STR_FUNC_ESCAPE)operator(|)ident(STR_FUNC_EXPAND)operator(\),) ident(str_sword) operator(=) operator(()ident(STR_FUNC_QWORDS)operator(\),) ident(str_dword) operator(=) operator(()ident(STR_FUNC_QWORDS)operator(|)ident(STR_FUNC_EXPAND)operator(\),) ident(str_ssym) operator(=) operator(()ident(STR_FUNC_SYMBOL)operator(\),) ident(str_dsym) operator(=) operator(()ident(STR_FUNC_SYMBOL)operator(|)ident(STR_FUNC_EXPAND)operator(\),) operator(};) directive(static) directive(void) ident(dispose_string)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(xfree)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(rb_gc_force_recycle)operator(()ident(str)operator(\);) operator(}) directive(static) pre_type(int) ident(tokadd_string)operator(()ident(func)operator(,) ident(term)operator(,) ident(paren)operator(,) ident(nest)operator(\)) pre_type(int) ident(func)operator(,) ident(term)operator(,) ident(paren)operator(,) operator(*)ident(nest)operator(;) operator({) pre_type(int) ident(c)operator(;) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(paren) operator(&&) ident(c) operator(==) ident(paren)operator(\)) operator({) operator(++*)ident(nest)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) ident(term)operator(\)) operator({) reserved(if) operator((!)ident(nest) operator(||) operator(!*)ident(nest)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) operator(--*)ident(nest)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(func) operator(&) ident(STR_FUNC_EXPAND)operator(\)) operator(&&) ident(c) operator(==) char('#') operator(&&) ident(lex_p) operator(<) ident(lex_pend)operator(\)) operator({) pre_type(int) ident(c2) operator(=) operator(*)ident(lex_p)operator(;) reserved(if) operator(()ident(c2) operator(==) char('$') operator(||) ident(c2) operator(==) char('@') operator(||) ident(c2) operator(==) char('{')operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\\\')operator(\)) operator({) ident(c) operator(=) ident(nextc)operator((\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('\\n')operator(:) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_QWORDS)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_EXPAND)operator(\)) reserved(continue)operator(;) ident(tokadd)operator(()char('\\\\')operator(\);) reserved(break)operator(;) reserved(case) char('\\\\')operator(:) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_ESCAPE)operator(\)) ident(tokadd)operator(()ident(c)operator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_REGEXP)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(tokadd_escape)operator(()ident(term)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(continue)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_EXPAND)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_ESCAPE)operator(\)) ident(tokadd)operator(()char('\\\\')operator(\);) ident(c) operator(=) ident(read_escape)operator((\);) operator(}) reserved(else) reserved(if) operator((()ident(func) operator(&) ident(STR_FUNC_QWORDS)operator(\)) operator(&&) ident(ISSPACE)operator(()ident(c)operator(\)\)) operator({) comment(/* ignore backslashed spaces in %w */) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(!=) ident(term) operator(&&) operator(!()ident(paren) operator(&&) ident(c) operator(==) ident(paren)operator(\)\)) operator({) ident(tokadd)operator(()char('\\\\')operator(\);) operator(}) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(i)operator(,) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\)-)integer(1)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(len)operator(;) ident(i)operator(++\)) operator({) ident(tokadd)operator(()ident(c)operator(\);) ident(c) operator(=) ident(nextc)operator((\);) operator(}) operator(}) reserved(else) reserved(if) operator((()ident(func) operator(&) ident(STR_FUNC_QWORDS)operator(\)) operator(&&) ident(ISSPACE)operator(()ident(c)operator(\)\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator((!)ident(c) operator(&&) operator(()ident(func) operator(&) ident(STR_FUNC_SYMBOL)operator(\)\)) operator({) ident(func) operator(&=) operator(~)ident(STR_FUNC_SYMBOL)operator(;) ident(rb_compile_error)operator(()stringoperator(\);) reserved(continue)operator(;) operator(}) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(return) ident(c)operator(;) operator(}) preprocessor(#define) ident(NEW_STRTERM)operator(()ident(func)operator(,) ident(term)operator(,) ident(paren)operator(\)) \ ident(rb_node_newnode)operator(()ident(NODE_STRTERM)operator(,) operator(()ident(func)operator(\),) operator(()ident(term)operator(\)) operator(|) operator((()ident(paren)operator(\)) operator(<<) operator(()ident(CHAR_BIT) operator(*) integer(2)operator(\)\),) integer(0)operator(\)) directive(static) pre_type(int) ident(parse_string)operator(()ident(quote)operator(\)) ident(NODE) operator(*)ident(quote)operator(;) operator({) pre_type(int) ident(func) operator(=) ident(quote)operator(->)ident(nd_func)operator(;) pre_type(int) ident(term) operator(=) ident(nd_term)operator(()ident(quote)operator(\);) pre_type(int) ident(paren) operator(=) ident(nd_paren)operator(()ident(quote)operator(\);) pre_type(int) ident(c)operator(,) ident(space) operator(=) integer(0)operator(;) reserved(if) operator(()ident(func) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(tSTRING_END)operator(;) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator((()ident(func) operator(&) ident(STR_FUNC_QWORDS)operator(\)) operator(&&) ident(ISSPACE)operator(()ident(c)operator(\)\)) operator({) reserved(do) operator({)ident(c) operator(=) ident(nextc)operator((\);}) reserved(while) operator(()ident(ISSPACE)operator(()ident(c)operator(\)\);) ident(space) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) ident(term) operator(&&) operator(!)ident(quote)operator(->)ident(nd_nest)operator(\)) operator({) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_QWORDS)operator(\)) operator({) ident(quote)operator(->)ident(nd_func) operator(=) operator(-)integer(1)operator(;) reserved(return) char(' ')operator(;) operator(}) reserved(if) operator((!()ident(func) operator(&) ident(STR_FUNC_REGEXP)operator(\)\)) reserved(return) ident(tSTRING_END)operator(;) ident(yylval)operator(.)ident(num) operator(=) ident(regx_options)operator((\);) reserved(return) ident(tREGEXP_END)operator(;) operator(}) reserved(if) operator(()ident(space)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char(' ')operator(;) operator(}) ident(newtok)operator((\);) reserved(if) operator((()ident(func) operator(&) ident(STR_FUNC_EXPAND)operator(\)) operator(&&) ident(c) operator(==) char('#')operator(\)) operator({) reserved(switch) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator({) reserved(case) char('$')operator(:) reserved(case) char('@')operator(:) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tSTRING_DVAR)operator(;) reserved(case) char('{')operator(:) reserved(return) ident(tSTRING_DBEG)operator(;) operator(}) ident(tokadd)operator(()char('#')operator(\);) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(tokadd_string)operator(()ident(func)operator(,) ident(term)operator(,) ident(paren)operator(,) operator(&)ident(quote)operator(->)ident(nd_nest)operator(\)) operator(==) operator(-)integer(1)operator(\)) operator({) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(quote)operator(\);) ident(rb_compile_error)operator(()stringoperator(\);) reserved(return) ident(tSTRING_END)operator(;) operator(}) ident(tokfix)operator((\);) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_STR)operator(()ident(rb_str_new)operator(()ident(tok)operator((\),) ident(toklen)operator((\)\)\);) reserved(return) ident(tSTRING_CONTENT)operator(;) operator(}) directive(static) pre_type(int) ident(heredoc_identifier)operator((\)) operator({) pre_type(int) ident(c) operator(=) ident(nextc)operator((\),) ident(term)operator(,) ident(func) operator(=) integer(0)operator(,) ident(len)operator(;) reserved(if) operator(()ident(c) operator(==) char('-')operator(\)) operator({) ident(c) operator(=) ident(nextc)operator((\);) ident(func) operator(=) ident(STR_FUNC_INDENT)operator(;) operator(}) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('\\'')operator(:) ident(func) operator(|=) ident(str_squote)operator(;) reserved(goto) ident(quoted)operator(;) reserved(case) char('"')operator(:) ident(func) operator(|=) ident(str_dquote)operator(;) reserved(goto) ident(quoted)operator(;) reserved(case) char('`')operator(:) ident(func) operator(|=) ident(str_xquote)operator(;) label(quoted:) ident(newtok)operator((\);) ident(tokadd)operator(()ident(func)operator(\);) ident(term) operator(=) ident(c)operator(;) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1) operator(&&) ident(c) operator(!=) ident(term)operator(\)) operator({) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\);) reserved(do) operator({)ident(tokadd)operator(()ident(c)operator(\);}) reserved(while) operator((--)ident(len) operator(>) integer(0) operator(&&) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\);) operator(}) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(is_identchar)operator(()ident(c)operator(\)\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(func) operator(&) ident(STR_FUNC_INDENT)operator(\)) operator({) ident(pushback)operator(()char('-')operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) ident(newtok)operator((\);) ident(term) operator(=) char('"')operator(;) ident(tokadd)operator(()ident(func) operator(|=) ident(str_dquote)operator(\);) reserved(do) operator({) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\);) reserved(do) operator({)ident(tokadd)operator(()ident(c)operator(\);}) reserved(while) operator((--)ident(len) operator(>) integer(0) operator(&&) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\);) operator(}) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1) operator(&&) ident(is_identchar)operator(()ident(c)operator(\)\);) ident(pushback)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) ident(tokfix)operator((\);) ident(len) operator(=) ident(lex_p) operator(-) ident(lex_pbeg)operator(;) ident(lex_p) operator(=) ident(lex_pend)operator(;) ident(lex_strterm) operator(=) ident(rb_node_newnode)operator(()ident(NODE_HEREDOC)operator(,) ident(rb_str_new)operator(()ident(tok)operator((\),) ident(toklen)operator((\)\),) comment(/* nd_lit */) ident(len)operator(,) comment(/* nd_nth */) ident(lex_lastline)operator(\);) comment(/* nd_orig */) reserved(return) ident(term) operator(==) char('`') operator(?) ident(tXSTRING_BEG) operator(:) ident(tSTRING_BEG)operator(;) operator(}) directive(static) directive(void) ident(heredoc_restore)operator(()ident(here)operator(\)) ident(NODE) operator(*)ident(here)operator(;) operator({) ident(VALUE) ident(line) operator(=) ident(here)operator(->)ident(nd_orig)operator(;) ident(lex_lastline) operator(=) ident(line)operator(;) ident(lex_pbeg) operator(=) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator(;) ident(lex_pend) operator(=) ident(lex_pbeg) operator(+) ident(RSTRING)operator(()ident(line)operator(\)->)ident(len)operator(;) ident(lex_p) operator(=) ident(lex_pbeg) operator(+) ident(here)operator(->)ident(nd_nth)operator(;) ident(heredoc_end) operator(=) ident(ruby_sourceline)operator(;) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(here)operator(\);) ident(dispose_string)operator(()ident(here)operator(->)ident(nd_lit)operator(\);) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(here)operator(\);) operator(}) directive(static) pre_type(int) ident(whole_match_p)operator(()ident(eos)operator(,) ident(len)operator(,) ident(indent)operator(\)) pre_type(char) operator(*)ident(eos)operator(;) pre_type(int) ident(len)operator(,) ident(indent)operator(;) operator({) pre_type(char) operator(*)ident(p) operator(=) ident(lex_pbeg)operator(;) pre_type(int) ident(n)operator(;) reserved(if) operator(()ident(indent)operator(\)) operator({) reserved(while) operator((*)ident(p) operator(&&) ident(ISSPACE)operator((*)ident(p)operator(\)\)) ident(p)operator(++;) operator(}) ident(n)operator(=) ident(lex_pend) operator(-) operator(()ident(p) operator(+) ident(len)operator(\);) reserved(if) operator(()ident(n) operator(<) integer(0) operator(||) operator(()ident(n) operator(>) integer(0) operator(&&) ident(p)operator([)ident(len)operator(]) operator(!=) char('\\n') operator(&&) ident(p)operator([)ident(len)operator(]) operator(!=) char('\\r')operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(strncmp)operator(()ident(eos)operator(,) ident(p)operator(,) ident(len)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(here_document)operator(()ident(here)operator(\)) ident(NODE) operator(*)ident(here)operator(;) operator({) pre_type(int) ident(c)operator(,) ident(func)operator(,) ident(indent) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(eos)operator(,) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(long) ident(len)operator(;) ident(VALUE) ident(str) operator(=) integer(0)operator(;) ident(eos) operator(=) ident(RSTRING)operator(()ident(here)operator(->)ident(nd_lit)operator(\)->)ident(ptr)operator(;) ident(len) operator(=) ident(RSTRING)operator(()ident(here)operator(->)ident(nd_lit)operator(\)->)ident(len) operator(-) integer(1)operator(;) ident(indent) operator(=) operator(()ident(func) operator(=) operator(*)ident(eos)operator(++\)) operator(&) ident(STR_FUNC_INDENT)operator(;) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) operator(-)integer(1)operator(\)) operator({) label(error:) ident(rb_compile_error)operator(()stringoperator(,) ident(eos)operator(\);) ident(heredoc_restore)operator(()ident(lex_strterm)operator(\);) ident(lex_strterm) operator(=) integer(0)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(was_bol)operator((\)) operator(&&) ident(whole_match_p)operator(()ident(eos)operator(,) ident(len)operator(,) ident(indent)operator(\)\)) operator({) ident(heredoc_restore)operator(()ident(lex_strterm)operator(\);) reserved(return) ident(tSTRING_END)operator(;) operator(}) reserved(if) operator((!()ident(func) operator(&) ident(STR_FUNC_EXPAND)operator(\)\)) operator({) reserved(do) operator({) ident(p) operator(=) ident(RSTRING)operator(()ident(lex_lastline)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(lex_pend)operator(;) reserved(if) operator(()ident(pend) operator(>) ident(p)operator(\)) operator({) reserved(switch) operator(()ident(pend)operator([-)integer(1)operator(]\)) operator({) reserved(case) char('\\n')operator(:) reserved(if) operator((--)ident(pend) operator(==) ident(p) operator(||) ident(pend)operator([-)integer(1)operator(]) operator(!=) char('\\r')operator(\)) operator({) ident(pend)operator(++;) reserved(break)operator(;) operator(}) reserved(case) char('\\r')operator(:) operator(--)ident(pend)operator(;) operator(}) operator(}) reserved(if) operator(()ident(str)operator(\)) ident(rb_str_cat)operator(()ident(str)operator(,) ident(p)operator(,) ident(pend) operator(-) ident(p)operator(\);) reserved(else) ident(str) operator(=) ident(rb_str_new)operator(()ident(p)operator(,) ident(pend) operator(-) ident(p)operator(\);) reserved(if) operator(()ident(pend) operator(<) ident(lex_pend)operator(\)) ident(rb_str_cat)operator(()ident(str)operator(,) stringoperator(,) integer(1)operator(\);) ident(lex_p) operator(=) ident(lex_pend)operator(;) reserved(if) operator(()ident(nextc)operator((\)) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(str)operator(\)) ident(dispose_string)operator(()ident(str)operator(\);) reserved(goto) ident(error)operator(;) operator(}) operator(}) reserved(while) operator((!)ident(whole_match_p)operator(()ident(eos)operator(,) ident(len)operator(,) ident(indent)operator(\)\);) operator(}) reserved(else) operator({) ident(newtok)operator((\);) reserved(if) operator(()ident(c) operator(==) char('#')operator(\)) operator({) reserved(switch) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator({) reserved(case) char('$')operator(:) reserved(case) char('@')operator(:) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tSTRING_DVAR)operator(;) reserved(case) char('{')operator(:) reserved(return) ident(tSTRING_DBEG)operator(;) operator(}) ident(tokadd)operator(()char('#')operator(\);) operator(}) reserved(do) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator((()ident(c) operator(=) ident(tokadd_string)operator(()ident(func)operator(,) char('\\n')operator(,) integer(0)operator(,) pre_constant(NULL)operator(\)\)) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(error)operator(;) reserved(if) operator(()ident(c) operator(!=) char('\\n')operator(\)) operator({) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_STR)operator(()ident(rb_str_new)operator(()ident(tok)operator((\),) ident(toklen)operator((\)\)\);) reserved(return) ident(tSTRING_CONTENT)operator(;) operator(}) ident(tokadd)operator(()ident(nextc)operator((\)\);) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) operator(-)integer(1)operator(\)) reserved(goto) ident(error)operator(;) operator(}) reserved(while) operator((!)ident(whole_match_p)operator(()ident(eos)operator(,) ident(len)operator(,) ident(indent)operator(\)\);) ident(str) operator(=) ident(rb_str_new)operator(()ident(tok)operator((\),) ident(toklen)operator((\)\);) operator(}) ident(heredoc_restore)operator(()ident(lex_strterm)operator(\);) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator((-)integer(1)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_STR)operator(()ident(str)operator(\);) reserved(return) ident(tSTRING_CONTENT)operator(;) operator(}) preprocessor(#include) include("lex.c") directive(static) directive(void) ident(arg_ambiguous)operator((\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) preprocessor(#define) ident(IS_ARG)operator((\)) operator(()ident(lex_state) operator(==) ident(EXPR_ARG) operator(||) ident(lex_state) operator(==) ident(EXPR_CMDARG)operator(\)) preprocessor(#define) ident(IS_BEG)operator((\)) operator(()ident(lex_state) operator(==) ident(EXPR_BEG) operator(||) ident(lex_state) operator(==) ident(EXPR_MID) operator(||) ident(lex_state) operator(==) ident(EXPR_CLASS)operator(\)) directive(static) pre_type(int) ident(yylex)operator((\)) operator({) directive(register) pre_type(int) ident(c)operator(;) pre_type(int) ident(space_seen) operator(=) integer(0)operator(;) pre_type(int) ident(cmd_state)operator(;) reserved(enum) ident(lex_state) ident(last_state)operator(;) reserved(if) operator(()ident(lex_strterm)operator(\)) operator({) pre_type(int) ident(token)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(lex_strterm)operator(\)) operator(==) ident(NODE_HEREDOC)operator(\)) operator({) ident(token) operator(=) ident(here_document)operator(()ident(lex_strterm)operator(\);) reserved(if) operator(()ident(token) operator(==) ident(tSTRING_END)operator(\)) operator({) ident(lex_strterm) operator(=) integer(0)operator(;) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(}) operator(}) reserved(else) operator({) ident(token) operator(=) ident(parse_string)operator(()ident(lex_strterm)operator(\);) reserved(if) operator(()ident(token) operator(==) ident(tSTRING_END) operator(||) ident(token) operator(==) ident(tREGEXP_END)operator(\)) operator({) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(lex_strterm)operator(\);) ident(lex_strterm) operator(=) integer(0)operator(;) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(}) operator(}) reserved(return) ident(token)operator(;) operator(}) ident(cmd_state) operator(=) ident(command_start)operator(;) ident(command_start) operator(=) ident(Qfalse)operator(;) label(retry:) reserved(switch) operator(()ident(c) operator(=) ident(nextc)operator((\)\)) operator({) reserved(case) char('\\0')operator(:) comment(/* NUL */) reserved(case) char('\\004')operator(:) comment(/* ^D */) reserved(case) char('\\032')operator(:) comment(/* ^Z */) reserved(case) operator(-)integer(1)operator(:) comment(/* end of script. */) reserved(return) integer(0)operator(;) comment(/* white spaces */) reserved(case) char(' ')operator(:) reserved(case) char('\\t')operator(:) reserved(case) char('\\f')operator(:) reserved(case) char('\\r')operator(:) reserved(case) char('\\13')operator(:) comment(/* '\\v' */) ident(space_seen)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('#')operator(:) comment(/* it's a comment */) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) char('\\n')operator(\)) operator({) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(return) integer(0)operator(;) operator(}) comment(/* fall through */) reserved(case) char('\\n')operator(:) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_BEG)operator(:) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) reserved(case) ident(EXPR_CLASS)operator(:) reserved(goto) ident(retry)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(command_start) operator(=) ident(Qtrue)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) char('\\n')operator(;) reserved(case) char('*')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('*')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) ident(tPOW)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) ident(c) operator(=) ident(tPOW)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(c) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('*')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen) operator(&&) operator(!)ident(ISSPACE)operator(()ident(c)operator(\)\){) ident(rb_warning)operator(()stringoperator(\);) ident(c) operator(=) ident(tSTAR)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(IS_BEG)operator((\)\)) operator({) ident(c) operator(=) ident(tSTAR)operator(;) operator(}) reserved(else) operator({) ident(c) operator(=) char('*')operator(;) operator(}) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) reserved(return) ident(c)operator(;) reserved(case) char('!')operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) reserved(return) ident(tNEQ)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('~')operator(\)) operator({) reserved(return) ident(tNMATCH)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('!')operator(;) reserved(case) char('=')operator(:) reserved(if) operator(()ident(was_bol)operator((\)\)) operator({) comment(/* skip embedded rd document */) reserved(if) operator(()ident(strncmp)operator(()ident(lex_p)operator(,) stringoperator(,) integer(5)operator(\)) operator(==) integer(0) operator(&&) ident(ISSPACE)operator(()ident(lex_p)operator([)integer(5)operator(]\)\)) operator({) reserved(for) operator((;;\)) operator({) ident(lex_p) operator(=) ident(lex_pend)operator(;) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(c) operator(!=) char('=')operator(\)) reserved(continue)operator(;) reserved(if) operator(()ident(strncmp)operator(()ident(lex_p)operator(,) stringoperator(,) integer(3)operator(\)) operator(==) integer(0) operator(&&) operator(()ident(lex_p) operator(+) integer(3) operator(==) ident(lex_pend) operator(||) ident(ISSPACE)operator(()ident(lex_p)operator([)integer(3)operator(]\)\)\)) operator({) reserved(break)operator(;) operator(}) operator(}) ident(lex_p) operator(=) ident(lex_pend)operator(;) reserved(goto) ident(retry)operator(;) operator(}) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) reserved(return) ident(tEQQ)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tEQ)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('~')operator(\)) operator({) reserved(return) ident(tMATCH)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('>')operator(\)) operator({) reserved(return) ident(tASSOC)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('=')operator(;) reserved(case) char('<')operator(:) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) char('<') operator(&&) ident(lex_state) operator(!=) ident(EXPR_END) operator(&&) ident(lex_state) operator(!=) ident(EXPR_DOT) operator(&&) ident(lex_state) operator(!=) ident(EXPR_ENDARG) operator(&&) ident(lex_state) operator(!=) ident(EXPR_CLASS) operator(&&) operator((!)ident(IS_ARG)operator((\)) operator(||) ident(space_seen)operator(\)\)) operator({) pre_type(int) ident(token) operator(=) ident(heredoc_identifier)operator((\);) reserved(if) operator(()ident(token)operator(\)) reserved(return) ident(token)operator(;) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('=')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('>')operator(\)) operator({) reserved(return) ident(tCMP)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tLEQ)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('<')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) ident(tLSHFT)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tLSHFT)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('<')operator(;) reserved(case) char('>')operator(:) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) reserved(return) ident(tGEQ)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('>')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) ident(tRSHFT)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tRSHFT)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('>')operator(;) reserved(case) char('"')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_dquote)operator(,) char('"')operator(,) integer(0)operator(\);) reserved(return) ident(tSTRING_BEG)operator(;) reserved(case) char('`')operator(:) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) reserved(return) ident(c)operator(;) operator(}) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_DOT)operator(\)) operator({) reserved(if) operator(()ident(cmd_state)operator(\)) ident(lex_state) operator(=) ident(EXPR_CMDARG)operator(;) reserved(else) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(return) ident(c)operator(;) operator(}) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_xquote)operator(,) char('`')operator(,) integer(0)operator(\);) reserved(return) ident(tXSTRING_BEG)operator(;) reserved(case) char('\\'')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_squote)operator(,) char('\\'')operator(,) integer(0)operator(\);) reserved(return) ident(tSTRING_BEG)operator(;) reserved(case) char('?')operator(:) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_END) operator(||) ident(lex_state) operator(==) ident(EXPR_ENDARG)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) char('?')operator(;) operator(}) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(ISSPACE)operator(()ident(c)operator(\)\){) reserved(if) operator((!)ident(IS_ARG)operator((\)\){) pre_type(int) ident(c2) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char(' ')operator(:) ident(c2) operator(=) char('s')operator(;) reserved(break)operator(;) reserved(case) char('\\n')operator(:) ident(c2) operator(=) char('n')operator(;) reserved(break)operator(;) reserved(case) char('\\t')operator(:) ident(c2) operator(=) char('t')operator(;) reserved(break)operator(;) reserved(case) char('\\v')operator(:) ident(c2) operator(=) char('v')operator(;) reserved(break)operator(;) reserved(case) char('\\r')operator(:) ident(c2) operator(=) char('r')operator(;) reserved(break)operator(;) reserved(case) char('\\f')operator(:) ident(c2) operator(=) char('f')operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(c2)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(c2)operator(\);) operator(}) operator(}) label(ternary:) ident(pushback)operator(()ident(c)operator(\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) char('?')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(c)operator(\);) reserved(goto) ident(ternary)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(ISALNUM)operator(()ident(c)operator(\)) operator(||) ident(c) operator(==) char('_')operator(\)) operator(&&) ident(lex_p) operator(<) ident(lex_pend) operator(&&) ident(is_identchar)operator((*)ident(lex_p)operator(\)\)) operator({) reserved(goto) ident(ternary)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\\\')operator(\)) operator({) ident(c) operator(=) ident(read_escape)operator((\);) operator(}) ident(c) operator(&=) hex(0xff)operator(;) ident(lex_state) operator(=) ident(EXPR_END)operator(;) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(INT2FIX)operator(()ident(c)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) reserved(case) char('&')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('&')operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) ident(tANDOP)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tANDOP)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('&')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen) operator(&&) operator(!)ident(ISSPACE)operator(()ident(c)operator(\)\){) ident(rb_warning)operator(()stringoperator(\);) ident(c) operator(=) ident(tAMPER)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(IS_BEG)operator((\)\)) operator({) ident(c) operator(=) ident(tAMPER)operator(;) operator(}) reserved(else) operator({) ident(c) operator(=) char('&')operator(;) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) operator(}) reserved(return) ident(c)operator(;) reserved(case) char('|')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('|')operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) ident(tOROP)operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tOROP)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('|')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME) operator(||) ident(lex_state) operator(==) ident(EXPR_DOT)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) operator(}) reserved(else) operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('|')operator(;) reserved(case) char('+')operator(:) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME) operator(||) ident(lex_state) operator(==) ident(EXPR_DOT)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(if) operator(()ident(c) operator(==) char('@')operator(\)) operator({) reserved(return) ident(tUPLUS)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('+')operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('+')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) reserved(if) operator(()ident(IS_BEG)operator((\)) operator(||) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen) operator(&&) operator(!)ident(ISSPACE)operator(()ident(c)operator(\)\)\)) operator({) reserved(if) operator(()ident(IS_ARG)operator((\)\)) ident(arg_ambiguous)operator((\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\)) operator({) ident(c) operator(=) char('+')operator(;) reserved(goto) ident(start_num)operator(;) operator(}) reserved(return) ident(tUPLUS)operator(;) operator(}) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('+')operator(;) reserved(case) char('-')operator(:) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME) operator(||) ident(lex_state) operator(==) ident(EXPR_DOT)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(if) operator(()ident(c) operator(==) char('@')operator(\)) operator({) reserved(return) ident(tUMINUS)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('-')operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('-')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) reserved(if) operator(()ident(IS_BEG)operator((\)) operator(||) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen) operator(&&) operator(!)ident(ISSPACE)operator(()ident(c)operator(\)\)\)) operator({) reserved(if) operator(()ident(IS_ARG)operator((\)\)) ident(arg_ambiguous)operator((\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\)) operator({) reserved(return) ident(tUMINUS_NUM)operator(;) operator(}) reserved(return) ident(tUMINUS)operator(;) operator(}) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('-')operator(;) reserved(case) char('.')operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('.')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('.')operator(\)) operator({) reserved(return) ident(tDOT3)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tDOT2)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\)) operator({) ident(yyerror)operator(()string floating literal anymore; put 0 before dot)delimiter(")>operator(\);) operator(}) ident(lex_state) operator(=) ident(EXPR_DOT)operator(;) reserved(return) char('.')operator(;) label(start_num:) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) operator({) pre_type(int) ident(is_float)operator(,) ident(seen_point)operator(,) ident(seen_e)operator(,) ident(nondigit)operator(;) ident(is_float) operator(=) ident(seen_point) operator(=) ident(seen_e) operator(=) ident(nondigit) operator(=) integer(0)operator(;) ident(lex_state) operator(=) ident(EXPR_END)operator(;) ident(newtok)operator((\);) reserved(if) operator(()ident(c) operator(==) char('-') operator(||) ident(c) operator(==) char('+')operator(\)) operator({) ident(tokadd)operator(()ident(c)operator(\);) ident(c) operator(=) ident(nextc)operator((\);) operator(}) reserved(if) operator(()ident(c) operator(==) char('0')operator(\)) operator({) pre_type(int) ident(start) operator(=) ident(toklen)operator((\);) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) char('x') operator(||) ident(c) operator(==) char('X')operator(\)) operator({) comment(/* hexadecimal */) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(ISXDIGIT)operator(()ident(c)operator(\)\)) operator({) reserved(do) operator({) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) reserved(if) operator(()ident(nondigit)operator(\)) reserved(break)operator(;) ident(nondigit) operator(=) ident(c)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator((!)ident(ISXDIGIT)operator(()ident(c)operator(\)\)) reserved(break)operator(;) ident(nondigit) operator(=) integer(0)operator(;) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\);) operator(}) ident(pushback)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) reserved(if) operator(()ident(toklen)operator((\)) operator(==) ident(start)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(trailing_uc)operator(;) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_cstr_to_inum)operator(()ident(tok)operator((\),) integer(16)operator(,) ident(Qfalse)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('b') operator(||) ident(c) operator(==) char('B')operator(\)) operator({) comment(/* binary */) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) char('0') operator(||) ident(c) operator(==) char('1')operator(\)) operator({) reserved(do) operator({) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) reserved(if) operator(()ident(nondigit)operator(\)) reserved(break)operator(;) ident(nondigit) operator(=) ident(c)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(c) operator(!=) char('0') operator(&&) ident(c) operator(!=) char('1')operator(\)) reserved(break)operator(;) ident(nondigit) operator(=) integer(0)operator(;) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\);) operator(}) ident(pushback)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) reserved(if) operator(()ident(toklen)operator((\)) operator(==) ident(start)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(trailing_uc)operator(;) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_cstr_to_inum)operator(()ident(tok)operator((\),) integer(2)operator(,) ident(Qfalse)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('d') operator(||) ident(c) operator(==) char('D')operator(\)) operator({) comment(/* decimal */) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\)) operator({) reserved(do) operator({) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) reserved(if) operator(()ident(nondigit)operator(\)) reserved(break)operator(;) ident(nondigit) operator(=) ident(c)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator((!)ident(ISDIGIT)operator(()ident(c)operator(\)\)) reserved(break)operator(;) ident(nondigit) operator(=) integer(0)operator(;) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\);) operator(}) ident(pushback)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) reserved(if) operator(()ident(toklen)operator((\)) operator(==) ident(start)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(trailing_uc)operator(;) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_cstr_to_inum)operator(()ident(tok)operator((\),) integer(10)operator(,) ident(Qfalse)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) comment(/* 0_0 */) reserved(goto) ident(octal_number)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('o') operator(||) ident(c) operator(==) char('O')operator(\)) operator({) comment(/* prefixed octal */) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) operator(}) reserved(if) operator(()ident(c) operator(>=) char('0') operator(&&) ident(c) operator(<=) char('7')operator(\)) operator({) comment(/* octal */) label(octal_number:) reserved(do) operator({) reserved(if) operator(()ident(c) operator(==) char('_')operator(\)) operator({) reserved(if) operator(()ident(nondigit)operator(\)) reserved(break)operator(;) ident(nondigit) operator(=) ident(c)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(c) operator(<) char('0') operator(||) ident(c) operator(>) char('9')operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(c) operator(>) char('7')operator(\)) reserved(goto) ident(invalid_octal)operator(;) ident(nondigit) operator(=) integer(0)operator(;) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(while) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) operator(-)integer(1)operator(\);) reserved(if) operator(()ident(toklen)operator((\)) operator(>) ident(start)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(trailing_uc)operator(;) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_cstr_to_inum)operator(()ident(tok)operator((\),) integer(8)operator(,) ident(Qfalse)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) operator(}) reserved(if) operator(()ident(nondigit)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(goto) ident(trailing_uc)operator(;) operator(}) operator(}) reserved(if) operator(()ident(c) operator(>) char('7') operator(&&) ident(c) operator(<=) char('9')operator(\)) operator({) label(invalid_octal:) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('.') operator(||) ident(c) operator(==) char('e') operator(||) ident(c) operator(==) char('E')operator(\)) operator({) ident(tokadd)operator(()char('0')operator(\);) operator(}) reserved(else) operator({) ident(pushback)operator(()ident(c)operator(\);) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(INT2FIX)operator(()integer(0)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) operator(}) operator(}) reserved(for) operator((;;\)) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) ident(nondigit) operator(=) integer(0)operator(;) ident(tokadd)operator(()ident(c)operator(\);) reserved(break)operator(;) reserved(case) char('.')operator(:) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(trailing_uc)operator(;) reserved(if) operator(()ident(seen_point) operator(||) ident(seen_e)operator(\)) operator({) reserved(goto) ident(decode_num)operator(;) operator(}) reserved(else) operator({) pre_type(int) ident(c0) operator(=) ident(nextc)operator((\);) reserved(if) operator((!)ident(ISDIGIT)operator(()ident(c0)operator(\)\)) operator({) ident(pushback)operator(()ident(c0)operator(\);) reserved(goto) ident(decode_num)operator(;) operator(}) ident(c) operator(=) ident(c0)operator(;) operator(}) ident(tokadd)operator(()char('.')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) ident(is_float)operator(++;) ident(seen_point)operator(++;) ident(nondigit) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(case) char('e')operator(:) reserved(case) char('E')operator(:) reserved(if) operator(()ident(nondigit)operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) ident(c) operator(=) ident(nondigit)operator(;) reserved(goto) ident(decode_num)operator(;) operator(}) reserved(if) operator(()ident(seen_e)operator(\)) operator({) reserved(goto) ident(decode_num)operator(;) operator(}) ident(tokadd)operator(()ident(c)operator(\);) ident(seen_e)operator(++;) ident(is_float)operator(++;) ident(nondigit) operator(=) ident(c)operator(;) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(!=) char('-') operator(&&) ident(c) operator(!=) char('+')operator(\)) reserved(continue)operator(;) ident(tokadd)operator(()ident(c)operator(\);) ident(nondigit) operator(=) ident(c)operator(;) reserved(break)operator(;) reserved(case) char('_')operator(:) comment(/* `_' in number just ignored */) reserved(if) operator(()ident(nondigit)operator(\)) reserved(goto) ident(decode_num)operator(;) ident(nondigit) operator(=) ident(c)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(goto) ident(decode_num)operator(;) operator(}) ident(c) operator(=) ident(nextc)operator((\);) operator(}) label(decode_num:) ident(pushback)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) reserved(if) operator(()ident(nondigit)operator(\)) operator({) pre_type(char) ident(tmp)operator([)integer(30)operator(];) label(trailing_uc:) ident(sprintf)operator(()ident(tmp)operator(,) stringoperator(,) ident(nondigit)operator(\);) ident(yyerror)operator(()ident(tmp)operator(\);) operator(}) reserved(if) operator(()ident(is_float)operator(\)) operator({) pre_type(double) ident(d) operator(=) ident(strtod)operator(()ident(tok)operator((\),) integer(0)operator(\);) reserved(if) operator(()ident(errno) operator(==) ident(ERANGE)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(tok)operator((\)\);) ident(errno) operator(=) integer(0)operator(;) operator(}) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_float_new)operator(()ident(d)operator(\)\);) reserved(return) ident(tFLOAT)operator(;) operator(}) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_LIT)operator(()ident(rb_cstr_to_inum)operator(()ident(tok)operator((\),) integer(10)operator(,) ident(Qfalse)operator(\)\);) reserved(return) ident(tINTEGER)operator(;) operator(}) reserved(case) char(']')operator(:) reserved(case) char('}')operator(:) reserved(case) char('\)')operator(:) ident(COND_LEXPOP)operator((\);) ident(CMDARG_LEXPOP)operator((\);) ident(lex_state) operator(=) ident(EXPR_END)operator(;) reserved(return) ident(c)operator(;) reserved(case) char(':')operator(:) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) char(':')operator(\)) operator({) reserved(if) operator(()ident(IS_BEG)operator((\)) operator(||) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen)operator(\)\)) operator({) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tCOLON3)operator(;) operator(}) ident(lex_state) operator(=) ident(EXPR_DOT)operator(;) reserved(return) ident(tCOLON2)operator(;) operator(}) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_END) operator(||) ident(lex_state) operator(==) ident(EXPR_ENDARG) operator(||) ident(ISSPACE)operator(()ident(c)operator(\)\)) operator({) ident(pushback)operator(()ident(c)operator(\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) char(':')operator(;) operator(}) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('\\'')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_ssym)operator(,) ident(c)operator(,) integer(0)operator(\);) reserved(break)operator(;) reserved(case) char('"')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_dsym)operator(,) ident(c)operator(,) integer(0)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(pushback)operator(()ident(c)operator(\);) reserved(break)operator(;) operator(}) ident(lex_state) operator(=) ident(EXPR_FNAME)operator(;) reserved(return) ident(tSYMBEG)operator(;) reserved(case) char('/')operator(:) reserved(if) operator(()ident(IS_BEG)operator((\)\)) operator({) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_regexp)operator(,) char('/')operator(,) integer(0)operator(\);) reserved(return) ident(tREGEXP_BEG)operator(;) operator(}) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('/')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen)operator(\)) operator({) reserved(if) operator((!)ident(ISSPACE)operator(()ident(c)operator(\)\)) operator({) ident(arg_ambiguous)operator((\);) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_regexp)operator(,) char('/')operator(,) integer(0)operator(\);) reserved(return) ident(tREGEXP_BEG)operator(;) operator(}) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) reserved(return) char('/')operator(;) reserved(case) char('^')operator(:) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('^')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('^')operator(;) reserved(case) char(';')operator(:) ident(command_start) operator(=) ident(Qtrue)operator(;) reserved(case) char(',')operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(c)operator(;) reserved(case) char('~')operator(:) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME) operator(||) ident(lex_state) operator(==) ident(EXPR_DOT)operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(!=) char('@')operator(\)) operator({) ident(pushback)operator(()ident(c)operator(\);) operator(}) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) reserved(return) char('~')operator(;) reserved(case) char('(')operator(:) ident(command_start) operator(=) ident(Qtrue)operator(;) reserved(if) operator(()ident(IS_BEG)operator((\)\)) operator({) ident(c) operator(=) ident(tLPAREN)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(space_seen)operator(\)) operator({) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_CMDARG)operator(\)) operator({) ident(c) operator(=) ident(tLPAREN_ARG)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_ARG)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(\);) ident(c) operator(=) char('(')operator(;) operator(}) operator(}) ident(COND_PUSH)operator(()integer(0)operator(\);) ident(CMDARG_PUSH)operator(()integer(0)operator(\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(c)operator(;) reserved(case) char('[')operator(:) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME) operator(||) ident(lex_state) operator(==) ident(EXPR_DOT)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char(']')operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) reserved(return) ident(tASET)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tAREF)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('[')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(IS_BEG)operator((\)\)) operator({) ident(c) operator(=) ident(tLBRACK)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen)operator(\)) operator({) ident(c) operator(=) ident(tLBRACK)operator(;) operator(}) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) ident(COND_PUSH)operator(()integer(0)operator(\);) ident(CMDARG_PUSH)operator(()integer(0)operator(\);) reserved(return) ident(c)operator(;) reserved(case) char('{')operator(:) reserved(if) operator(()ident(IS_ARG)operator((\)) operator(||) ident(lex_state) operator(==) ident(EXPR_END)operator(\)) ident(c) operator(=) char('{')operator(;) comment(/* block (primary\) */) reserved(else) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_ENDARG)operator(\)) ident(c) operator(=) ident(tLBRACE_ARG)operator(;) comment(/* block (expr\) */) reserved(else) ident(c) operator(=) ident(tLBRACE)operator(;) comment(/* hash */) ident(COND_PUSH)operator(()integer(0)operator(\);) ident(CMDARG_PUSH)operator(()integer(0)operator(\);) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(c)operator(;) reserved(case) char('\\\\')operator(:) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(c) operator(==) char('\\n')operator(\)) operator({) ident(space_seen) operator(=) integer(1)operator(;) reserved(goto) ident(retry)operator(;) comment(/* skip \\\\n */) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('\\\\')operator(;) reserved(case) char('%')operator(:) reserved(if) operator(()ident(IS_BEG)operator((\)\)) operator({) pre_type(int) ident(term)operator(;) pre_type(int) ident(paren)operator(;) ident(c) operator(=) ident(nextc)operator((\);) label(quotation:) reserved(if) operator((!)ident(ISALNUM)operator(()ident(c)operator(\)\)) operator({) ident(term) operator(=) ident(c)operator(;) ident(c) operator(=) char('Q')operator(;) operator(}) reserved(else) operator({) ident(term) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(ISALNUM)operator(()ident(term)operator(\)) operator(||) ident(ismbchar)operator(()ident(term)operator(\)\)) operator({) ident(yyerror)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) operator(}) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1) operator(||) ident(term) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) ident(paren) operator(=) ident(term)operator(;) reserved(if) operator(()ident(term) operator(==) char('(')operator(\)) ident(term) operator(=) char('\)')operator(;) reserved(else) reserved(if) operator(()ident(term) operator(==) char('[')operator(\)) ident(term) operator(=) char(']')operator(;) reserved(else) reserved(if) operator(()ident(term) operator(==) char('{')operator(\)) ident(term) operator(=) char('}')operator(;) reserved(else) reserved(if) operator(()ident(term) operator(==) char('<')operator(\)) ident(term) operator(=) char('>')operator(;) reserved(else) ident(paren) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('Q')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_dquote)operator(,) ident(term)operator(,) ident(paren)operator(\);) reserved(return) ident(tSTRING_BEG)operator(;) reserved(case) char('q')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_squote)operator(,) ident(term)operator(,) ident(paren)operator(\);) reserved(return) ident(tSTRING_BEG)operator(;) reserved(case) char('W')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_dword)operator(,) ident(term)operator(,) ident(paren)operator(\);) reserved(do) operator({)ident(c) operator(=) ident(nextc)operator((\);}) reserved(while) operator(()ident(ISSPACE)operator(()ident(c)operator(\)\);) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tWORDS_BEG)operator(;) reserved(case) char('w')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_sword)operator(,) ident(term)operator(,) ident(paren)operator(\);) reserved(do) operator({)ident(c) operator(=) ident(nextc)operator((\);}) reserved(while) operator(()ident(ISSPACE)operator(()ident(c)operator(\)\);) ident(pushback)operator(()ident(c)operator(\);) reserved(return) ident(tQWORDS_BEG)operator(;) reserved(case) char('x')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_xquote)operator(,) ident(term)operator(,) ident(paren)operator(\);) reserved(return) ident(tXSTRING_BEG)operator(;) reserved(case) char('r')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_regexp)operator(,) ident(term)operator(,) ident(paren)operator(\);) reserved(return) ident(tREGEXP_BEG)operator(;) reserved(case) char('s')operator(:) ident(lex_strterm) operator(=) ident(NEW_STRTERM)operator(()ident(str_ssym)operator(,) ident(term)operator(,) ident(paren)operator(\);) ident(lex_state) operator(=) ident(EXPR_FNAME)operator(;) reserved(return) ident(tSYMBEG)operator(;) reserved(default)operator(:) ident(yyerror)operator(()stringoperator(\);) reserved(return) integer(0)operator(;) operator(}) operator(}) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=')operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) char('%')operator(;) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(tOP_ASGN)operator(;) operator(}) reserved(if) operator(()ident(IS_ARG)operator((\)) operator(&&) ident(space_seen) operator(&&) operator(!)ident(ISSPACE)operator(()ident(c)operator(\)\)) operator({) reserved(goto) ident(quotation)operator(;) operator(}) reserved(switch) operator(()ident(lex_state)operator(\)) operator({) reserved(case) ident(EXPR_FNAME)operator(:) reserved(case) ident(EXPR_DOT)operator(:) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(break)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('%')operator(;) reserved(case) char('$')operator(:) ident(last_state) operator(=) ident(lex_state)operator(;) ident(lex_state) operator(=) ident(EXPR_END)operator(;) ident(newtok)operator((\);) ident(c) operator(=) ident(nextc)operator((\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('_')operator(:) comment(/* $_: last read line string */) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(is_identchar)operator(()ident(c)operator(\)\)) operator({) ident(tokadd)operator(()char('$')operator(\);) ident(tokadd)operator(()char('_')operator(\);) reserved(break)operator(;) operator(}) ident(pushback)operator(()ident(c)operator(\);) ident(c) operator(=) char('_')operator(;) comment(/* fall through */) reserved(case) char('~')operator(:) comment(/* $~: match-data */) ident(local_cnt)operator(()ident(c)operator(\);) comment(/* fall through */) reserved(case) char('*')operator(:) comment(/* $*: argv */) reserved(case) char('$')operator(:) comment(/* $$: pid */) reserved(case) char('?')operator(:) comment(/* $?: last status */) reserved(case) char('!')operator(:) comment(/* $!: error string */) reserved(case) char('@')operator(:) comment(/* $@: error position */) reserved(case) char('/')operator(:) comment(/* $/: input record separator */) reserved(case) char('\\\\')operator(:) comment(/* $\\: output record separator */) reserved(case) char(';')operator(:) comment(/* $;: field separator */) reserved(case) char(',')operator(:) comment(/* $,: output field separator */) reserved(case) char('.')operator(:) comment(/* $.: last read line number */) reserved(case) char('=')operator(:) comment(/* $=: ignorecase */) reserved(case) char(':')operator(:) comment(/* $:: load path */) reserved(case) char('<')operator(:) comment(/* $<: reading filename */) reserved(case) char('>')operator(:) comment(/* $>: default output handle */) reserved(case) char('\\"')operator(:) comment(/* $": already loaded files */) ident(tokadd)operator(()char('$')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) ident(yylval)operator(.)ident(id) operator(=) ident(rb_intern)operator(()ident(tok)operator((\)\);) reserved(return) ident(tGVAR)operator(;) reserved(case) char('-')operator(:) ident(tokadd)operator(()char('$')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) ident(c) operator(=) ident(nextc)operator((\);) reserved(if) operator(()ident(is_identchar)operator(()ident(c)operator(\)\)) operator({) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(else) operator({) ident(pushback)operator(()ident(c)operator(\);) operator(}) label(gvar:) ident(tokfix)operator((\);) ident(yylval)operator(.)ident(id) operator(=) ident(rb_intern)operator(()ident(tok)operator((\)\);) comment(/* xxx shouldn't check if valid option variable */) reserved(return) ident(tGVAR)operator(;) reserved(case) char('&')operator(:) comment(/* $&: last match */) reserved(case) char('`')operator(:) comment(/* $`: string before last match */) reserved(case) char('\\'')operator(:) comment(/* $': string after last match */) reserved(case) char('+')operator(:) comment(/* $+: string matches last paren. */) reserved(if) operator(()ident(last_state) operator(==) ident(EXPR_FNAME)operator(\)) operator({) ident(tokadd)operator(()char('$')operator(\);) ident(tokadd)operator(()ident(c)operator(\);) reserved(goto) ident(gvar)operator(;) operator(}) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_BACK_REF)operator(()ident(c)operator(\);) reserved(return) ident(tBACK_REF)operator(;) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) ident(tokadd)operator(()char('$')operator(\);) reserved(do) operator({) ident(tokadd)operator(()ident(c)operator(\);) ident(c) operator(=) ident(nextc)operator((\);) operator(}) reserved(while) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\);) ident(pushback)operator(()ident(c)operator(\);) reserved(if) operator(()ident(last_state) operator(==) ident(EXPR_FNAME)operator(\)) reserved(goto) ident(gvar)operator(;) ident(tokfix)operator((\);) ident(yylval)operator(.)ident(node) operator(=) ident(NEW_NTH_REF)operator(()ident(atoi)operator(()ident(tok)operator((\)+)integer(1)operator(\)\);) reserved(return) ident(tNTH_REF)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(is_identchar)operator(()ident(c)operator(\)\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('$')operator(;) operator(}) reserved(case) char('0')operator(:) ident(tokadd)operator(()char('$')operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('@')operator(:) ident(c) operator(=) ident(nextc)operator((\);) ident(newtok)operator((\);) ident(tokadd)operator(()char('@')operator(\);) reserved(if) operator(()ident(c) operator(==) char('@')operator(\)) operator({) ident(tokadd)operator(()char('@')operator(\);) ident(c) operator(=) ident(nextc)operator((\);) operator(}) reserved(if) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\)) operator({) reserved(if) operator(()ident(tokidx) operator(==) integer(1)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(,) ident(c)operator(\);) operator(}) reserved(else) operator({) ident(rb_compile_error)operator(()stringoperator(,) ident(c)operator(\);) operator(}) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator((!)ident(is_identchar)operator(()ident(c)operator(\)\)) operator({) ident(pushback)operator(()ident(c)operator(\);) reserved(return) char('@')operator(;) operator(}) reserved(break)operator(;) reserved(case) char('_')operator(:) reserved(if) operator(()ident(was_bol)operator((\)) operator(&&) ident(whole_match_p)operator(()stringoperator(,) integer(7)operator(,) integer(0)operator(\)\)) operator({) ident(ruby__end__seen) operator(=) integer(1)operator(;) ident(lex_lastline) operator(=) integer(0)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(newtok)operator((\);) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(is_identchar)operator(()ident(c)operator(\)\)) operator({) ident(rb_compile_error)operator(()stringoperator(,) ident(c)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) ident(newtok)operator((\);) reserved(break)operator(;) operator(}) reserved(do) operator({) ident(tokadd)operator(()ident(c)operator(\);) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(i)operator(,) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\)-)integer(1)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(len)operator(;) ident(i)operator(++\)) operator({) ident(c) operator(=) ident(nextc)operator((\);) ident(tokadd)operator(()ident(c)operator(\);) operator(}) operator(}) ident(c) operator(=) ident(nextc)operator((\);) operator(}) reserved(while) operator(()ident(is_identchar)operator(()ident(c)operator(\)\);) reserved(if) operator((()ident(c) operator(==) char('!') operator(||) ident(c) operator(==) char('?')operator(\)) operator(&&) ident(is_identchar)operator(()ident(tok)operator((\)[)integer(0)operator(]\)) operator(&&) operator(!)ident(peek)operator(()char('=')operator(\)\)) operator({) ident(tokadd)operator(()ident(c)operator(\);) operator(}) reserved(else) operator({) ident(pushback)operator(()ident(c)operator(\);) operator(}) ident(tokfix)operator((\);) operator({) pre_type(int) ident(result) operator(=) integer(0)operator(;) ident(last_state) operator(=) ident(lex_state)operator(;) reserved(switch) operator(()ident(tok)operator((\)[)integer(0)operator(]\)) operator({) reserved(case) char('$')operator(:) ident(lex_state) operator(=) ident(EXPR_END)operator(;) ident(result) operator(=) ident(tGVAR)operator(;) reserved(break)operator(;) reserved(case) char('@')operator(:) ident(lex_state) operator(=) ident(EXPR_END)operator(;) reserved(if) operator(()ident(tok)operator((\)[)integer(1)operator(]) operator(==) char('@')operator(\)) ident(result) operator(=) ident(tCVAR)operator(;) reserved(else) ident(result) operator(=) ident(tIVAR)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(toklast)operator((\)) operator(==) char('!') operator(||) ident(toklast)operator((\)) operator(==) char('?')operator(\)) operator({) ident(result) operator(=) ident(tFID)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_FNAME)operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(nextc)operator((\)\)) operator(==) char('=') operator(&&) operator(!)ident(peek)operator(()char('~')operator(\)) operator(&&) operator(!)ident(peek)operator(()char('>')operator(\)) operator(&&) operator((!)ident(peek)operator(()char('=')operator(\)) operator(||) operator(()ident(lex_p) operator(+) integer(1) operator(<) ident(lex_pend) operator(&&) ident(lex_p)operator([)integer(1)operator(]) operator(==) char('>')operator(\)\)\)) operator({) ident(result) operator(=) ident(tIDENTIFIER)operator(;) ident(tokadd)operator(()ident(c)operator(\);) ident(tokfix)operator((\);) operator(}) reserved(else) operator({) ident(pushback)operator(()ident(c)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(result) operator(==) integer(0) operator(&&) ident(ISUPPER)operator(()ident(tok)operator((\)[)integer(0)operator(]\)\)) operator({) ident(result) operator(=) ident(tCONSTANT)operator(;) operator(}) reserved(else) operator({) ident(result) operator(=) ident(tIDENTIFIER)operator(;) operator(}) operator(}) reserved(if) operator(()ident(lex_state) operator(!=) ident(EXPR_DOT)operator(\)) operator({) reserved(struct) ident(kwtable) operator(*)ident(kw)operator(;) comment(/* See if it is a reserved word. */) ident(kw) operator(=) ident(rb_reserved_word)operator(()ident(tok)operator((\),) ident(toklen)operator((\)\);) reserved(if) operator(()ident(kw)operator(\)) operator({) reserved(enum) ident(lex_state) ident(state) operator(=) ident(lex_state)operator(;) ident(lex_state) operator(=) ident(kw)operator(->)ident(state)operator(;) reserved(if) operator(()ident(state) operator(==) ident(EXPR_FNAME)operator(\)) operator({) ident(yylval)operator(.)ident(id) operator(=) ident(rb_intern)operator(()ident(kw)operator(->)ident(name)operator(\);) reserved(return) ident(kw)operator(->)ident(id)operator([)integer(0)operator(];) operator(}) reserved(if) operator(()ident(kw)operator(->)ident(id)operator([)integer(0)operator(]) operator(==) ident(kDO)operator(\)) operator({) reserved(if) operator(()ident(COND_P)operator((\)\)) reserved(return) ident(kDO_COND)operator(;) reserved(if) operator(()ident(CMDARG_P)operator((\)) operator(&&) ident(state) operator(!=) ident(EXPR_CMDARG)operator(\)) reserved(return) ident(kDO_BLOCK)operator(;) reserved(if) operator(()ident(state) operator(==) ident(EXPR_ENDARG)operator(\)) reserved(return) ident(kDO_BLOCK)operator(;) reserved(return) ident(kDO)operator(;) operator(}) reserved(if) operator(()ident(state) operator(==) ident(EXPR_BEG)operator(\)) reserved(return) ident(kw)operator(->)ident(id)operator([)integer(0)operator(];) reserved(else) operator({) reserved(if) operator(()ident(kw)operator(->)ident(id)operator([)integer(0)operator(]) operator(!=) ident(kw)operator(->)ident(id)operator([)integer(1)operator(]\)) ident(lex_state) operator(=) ident(EXPR_BEG)operator(;) reserved(return) ident(kw)operator(->)ident(id)operator([)integer(1)operator(];) operator(}) operator(}) operator(}) reserved(if) operator(()ident(lex_state) operator(==) ident(EXPR_BEG) operator(||) ident(lex_state) operator(==) ident(EXPR_MID) operator(||) ident(lex_state) operator(==) ident(EXPR_DOT) operator(||) ident(lex_state) operator(==) ident(EXPR_ARG) operator(||) ident(lex_state) operator(==) ident(EXPR_CLASS) operator(||) ident(lex_state) operator(==) ident(EXPR_CMDARG)operator(\)) operator({) reserved(if) operator(()ident(cmd_state)operator(\)) operator({) ident(lex_state) operator(=) ident(EXPR_CMDARG)operator(;) operator(}) reserved(else) operator({) ident(lex_state) operator(=) ident(EXPR_ARG)operator(;) operator(}) operator(}) reserved(else) operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(}) operator(}) ident(yylval)operator(.)ident(id) operator(=) ident(rb_intern)operator(()ident(tok)operator((\)\);) reserved(if) operator(()ident(is_local_id)operator(()ident(yylval)operator(.)ident(id)operator(\)) operator(&&) ident(last_state) operator(!=) ident(EXPR_DOT) operator(&&) operator((()ident(dyna_in_block)operator((\)) operator(&&) ident(rb_dvar_defined)operator(()ident(yylval)operator(.)ident(id)operator(\)\)) operator(||) ident(local_id)operator(()ident(yylval)operator(.)ident(id)operator(\)\)\)) operator({) ident(lex_state) operator(=) ident(EXPR_END)operator(;) operator(}) reserved(return) ident(result)operator(;) operator(}) operator(}) ident(NODE)operator(*) ident(rb_node_newnode)operator(()ident(type)operator(,) ident(a0)operator(,) ident(a1)operator(,) ident(a2)operator(\)) reserved(enum) ident(node_type) ident(type)operator(;) ident(VALUE) ident(a0)operator(,) ident(a1)operator(,) ident(a2)operator(;) operator({) ident(NODE) operator(*)ident(n) operator(=) operator(()ident(NODE)operator(*\))ident(rb_newobj)operator((\);) ident(n)operator(->)ident(flags) operator(|=) ident(T_NODE)operator(;) ident(nd_set_type)operator(()ident(n)operator(,) ident(type)operator(\);) ident(nd_set_line)operator(()ident(n)operator(,) ident(ruby_sourceline)operator(\);) ident(n)operator(->)ident(nd_file) operator(=) ident(ruby_sourcefile)operator(;) ident(n)operator(->)ident(u1)operator(.)ident(value) operator(=) ident(a0)operator(;) ident(n)operator(->)ident(u2)operator(.)ident(value) operator(=) ident(a1)operator(;) ident(n)operator(->)ident(u3)operator(.)ident(value) operator(=) ident(a2)operator(;) reserved(return) ident(n)operator(;) operator(}) directive(static) reserved(enum) ident(node_type) ident(nodetype)operator(()ident(node)operator(\)) comment(/* for debug */) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(return) operator(()reserved(enum) ident(node_type)operator(\))ident(nd_type)operator(()ident(node)operator(\);) operator(}) directive(static) pre_type(int) ident(nodeline)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(return) ident(nd_line)operator(()ident(node)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(newline_node)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) ident(NODE) operator(*)ident(nl) operator(=) integer(0)operator(;) reserved(if) operator(()ident(node)operator(\)) operator({) pre_type(int) ident(line)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_NEWLINE)operator(\)) reserved(return) ident(node)operator(;) ident(line) operator(=) ident(nd_line)operator(()ident(node)operator(\);) ident(node) operator(=) ident(remove_begin)operator(()ident(node)operator(\);) ident(nl) operator(=) ident(NEW_NEWLINE)operator(()ident(node)operator(\);) ident(nd_set_line)operator(()ident(nl)operator(,) ident(line)operator(\);) ident(nl)operator(->)ident(nd_nth) operator(=) ident(line)operator(;) operator(}) reserved(return) ident(nl)operator(;) operator(}) directive(static) directive(void) ident(fixpos)operator(()ident(node)operator(,) ident(orig)operator(\)) ident(NODE) operator(*)ident(node)operator(,) operator(*)ident(orig)operator(;) operator({) reserved(if) operator((!)ident(node)operator(\)) reserved(return)operator(;) reserved(if) operator((!)ident(orig)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(orig) operator(==) operator(()ident(NODE)operator(*\))integer(1)operator(\)) reserved(return)operator(;) ident(node)operator(->)ident(nd_file) operator(=) ident(orig)operator(->)ident(nd_file)operator(;) ident(nd_set_line)operator(()ident(node)operator(,) ident(nd_line)operator(()ident(orig)operator(\)\);) operator(}) directive(static) directive(void) ident(parser_warning)operator(()ident(node)operator(,) ident(mesg)operator(\)) ident(NODE) operator(*)ident(node)operator(;) directive(const) pre_type(char) operator(*)ident(mesg)operator(;) operator({) pre_type(int) ident(line) operator(=) ident(ruby_sourceline)operator(;) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(node)operator(\);) ident(rb_warning)operator(()stringoperator(,) ident(mesg)operator(\);) ident(ruby_sourceline) operator(=) ident(line)operator(;) operator(}) directive(static) directive(void) ident(parser_warn)operator(()ident(node)operator(,) ident(mesg)operator(\)) ident(NODE) operator(*)ident(node)operator(;) directive(const) pre_type(char) operator(*)ident(mesg)operator(;) operator({) pre_type(int) ident(line) operator(=) ident(ruby_sourceline)operator(;) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(node)operator(\);) ident(rb_warn)operator(()stringoperator(,) ident(mesg)operator(\);) ident(ruby_sourceline) operator(=) ident(line)operator(;) operator(}) directive(static) ident(NODE)operator(*) ident(block_append)operator(()ident(head)operator(,) ident(tail)operator(\)) ident(NODE) operator(*)ident(head)operator(,) operator(*)ident(tail)operator(;) operator({) ident(NODE) operator(*)ident(end)operator(,) operator(*)ident(h) operator(=) ident(head)operator(;) reserved(if) operator(()ident(tail) operator(==) integer(0)operator(\)) reserved(return) ident(head)operator(;) label(again:) reserved(if) operator(()ident(h) operator(==) integer(0)operator(\)) reserved(return) ident(tail)operator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(h)operator(\)\)) operator({) reserved(case) ident(NODE_NEWLINE)operator(:) ident(h) operator(=) ident(h)operator(->)ident(nd_next)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_LIT)operator(:) reserved(case) ident(NODE_STR)operator(:) ident(parser_warning)operator(()ident(h)operator(,) stringoperator(\);) reserved(return) ident(tail)operator(;) reserved(default)operator(:) ident(h) operator(=) ident(end) operator(=) ident(NEW_BLOCK)operator(()ident(head)operator(\);) ident(end)operator(->)ident(nd_end) operator(=) ident(end)operator(;) ident(fixpos)operator(()ident(end)operator(,) ident(head)operator(\);) ident(head) operator(=) ident(end)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_BLOCK)operator(:) ident(end) operator(=) ident(h)operator(->)ident(nd_end)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) operator({) ident(NODE) operator(*)ident(nd) operator(=) ident(end)operator(->)ident(nd_head)operator(;) label(newline:) reserved(switch) operator(()ident(nd_type)operator(()ident(nd)operator(\)\)) operator({) reserved(case) ident(NODE_RETURN)operator(:) reserved(case) ident(NODE_BREAK)operator(:) reserved(case) ident(NODE_NEXT)operator(:) reserved(case) ident(NODE_REDO)operator(:) reserved(case) ident(NODE_RETRY)operator(:) ident(parser_warning)operator(()ident(nd)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) ident(nd) operator(=) ident(nd)operator(->)ident(nd_next)operator(;) reserved(goto) ident(newline)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(nd_type)operator(()ident(tail)operator(\)) operator(!=) ident(NODE_BLOCK)operator(\)) operator({) ident(tail) operator(=) ident(NEW_BLOCK)operator(()ident(tail)operator(\);) ident(tail)operator(->)ident(nd_end) operator(=) ident(tail)operator(;) operator(}) ident(end)operator(->)ident(nd_next) operator(=) ident(tail)operator(;) ident(h)operator(->)ident(nd_end) operator(=) ident(tail)operator(->)ident(nd_end)operator(;) reserved(return) ident(head)operator(;) operator(}) comment(/* append item to the list */) directive(static) ident(NODE)operator(*) ident(list_append)operator(()ident(list)operator(,) ident(item)operator(\)) ident(NODE) operator(*)ident(list)operator(,) operator(*)ident(item)operator(;) operator({) ident(NODE) operator(*)ident(last)operator(;) reserved(if) operator(()ident(list) operator(==) integer(0)operator(\)) reserved(return) ident(NEW_LIST)operator(()ident(item)operator(\);) reserved(if) operator(()ident(list)operator(->)ident(nd_next)operator(\)) operator({) ident(last) operator(=) ident(list)operator(->)ident(nd_next)operator(->)ident(nd_end)operator(;) operator(}) reserved(else) operator({) ident(last) operator(=) ident(list)operator(;) operator(}) ident(list)operator(->)ident(nd_alen) operator(+=) integer(1)operator(;) ident(last)operator(->)ident(nd_next) operator(=) ident(NEW_LIST)operator(()ident(item)operator(\);) ident(list)operator(->)ident(nd_next)operator(->)ident(nd_end) operator(=) ident(last)operator(->)ident(nd_next)operator(;) reserved(return) ident(list)operator(;) operator(}) comment(/* concat two lists */) directive(static) ident(NODE)operator(*) ident(list_concat)operator(()ident(head)operator(,) ident(tail)operator(\)) ident(NODE) operator(*)ident(head)operator(,) operator(*)ident(tail)operator(;) operator({) ident(NODE) operator(*)ident(last)operator(;) reserved(if) operator(()ident(head)operator(->)ident(nd_next)operator(\)) operator({) ident(last) operator(=) ident(head)operator(->)ident(nd_next)operator(->)ident(nd_end)operator(;) operator(}) reserved(else) operator({) ident(last) operator(=) ident(head)operator(;) operator(}) ident(head)operator(->)ident(nd_alen) operator(+=) ident(tail)operator(->)ident(nd_alen)operator(;) ident(last)operator(->)ident(nd_next) operator(=) ident(tail)operator(;) reserved(if) operator(()ident(tail)operator(->)ident(nd_next)operator(\)) operator({) ident(head)operator(->)ident(nd_next)operator(->)ident(nd_end) operator(=) ident(tail)operator(->)ident(nd_next)operator(->)ident(nd_end)operator(;) operator(}) reserved(else) operator({) ident(head)operator(->)ident(nd_next)operator(->)ident(nd_end) operator(=) ident(tail)operator(;) operator(}) reserved(return) ident(head)operator(;) operator(}) comment(/* concat two string literals */) directive(static) ident(NODE) operator(*) ident(literal_concat)operator(()ident(head)operator(,) ident(tail)operator(\)) ident(NODE) operator(*)ident(head)operator(,) operator(*)ident(tail)operator(;) operator({) reserved(enum) ident(node_type) ident(htype)operator(;) reserved(if) operator((!)ident(head)operator(\)) reserved(return) ident(tail)operator(;) reserved(if) operator((!)ident(tail)operator(\)) reserved(return) ident(head)operator(;) ident(htype) operator(=) ident(nd_type)operator(()ident(head)operator(\);) reserved(if) operator(()ident(htype) operator(==) ident(NODE_EVSTR)operator(\)) operator({) ident(NODE) operator(*)ident(node) operator(=) ident(NEW_DSTR)operator(()ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\)\);) ident(head) operator(=) ident(list_append)operator(()ident(node)operator(,) ident(head)operator(\);) operator(}) reserved(switch) operator(()ident(nd_type)operator(()ident(tail)operator(\)\)) operator({) reserved(case) ident(NODE_STR)operator(:) reserved(if) operator(()ident(htype) operator(==) ident(NODE_STR)operator(\)) operator({) ident(rb_str_concat)operator(()ident(head)operator(->)ident(nd_lit)operator(,) ident(tail)operator(->)ident(nd_lit)operator(\);) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(tail)operator(\);) operator(}) reserved(else) operator({) ident(list_append)operator(()ident(head)operator(,) ident(tail)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_DSTR)operator(:) reserved(if) operator(()ident(htype) operator(==) ident(NODE_STR)operator(\)) operator({) ident(rb_str_concat)operator(()ident(head)operator(->)ident(nd_lit)operator(,) ident(tail)operator(->)ident(nd_lit)operator(\);) ident(tail)operator(->)ident(nd_lit) operator(=) ident(head)operator(->)ident(nd_lit)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(head)operator(\);) ident(head) operator(=) ident(tail)operator(;) operator(}) reserved(else) operator({) ident(nd_set_type)operator(()ident(tail)operator(,) ident(NODE_ARRAY)operator(\);) ident(tail)operator(->)ident(nd_head) operator(=) ident(NEW_STR)operator(()ident(tail)operator(->)ident(nd_lit)operator(\);) ident(list_concat)operator(()ident(head)operator(,) ident(tail)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_EVSTR)operator(:) reserved(if) operator(()ident(htype) operator(==) ident(NODE_STR)operator(\)) operator({) ident(nd_set_type)operator(()ident(head)operator(,) ident(NODE_DSTR)operator(\);) ident(head)operator(->)ident(nd_alen) operator(=) integer(1)operator(;) operator(}) ident(list_append)operator(()ident(head)operator(,) ident(tail)operator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(head)operator(;) operator(}) directive(static) ident(NODE) operator(*) ident(evstr2dstr)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_EVSTR)operator(\)) operator({) ident(node) operator(=) ident(list_append)operator(()ident(NEW_DSTR)operator(()ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\)\),) ident(node)operator(\);) operator(}) reserved(return) ident(node)operator(;) operator(}) directive(static) ident(NODE) operator(*) ident(new_evstr)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) ident(NODE) operator(*)ident(head) operator(=) ident(node)operator(;) label(again:) reserved(if) operator(()ident(node)operator(\)) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_STR)operator(:) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_EVSTR)operator(:) reserved(return) ident(node)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) reserved(goto) ident(again)operator(;) operator(}) operator(}) reserved(return) ident(NEW_EVSTR)operator(()ident(head)operator(\);) operator(}) directive(static) ident(NODE) operator(*) ident(call_op)operator(()ident(recv)operator(,) ident(id)operator(,) ident(narg)operator(,) ident(arg1)operator(\)) ident(NODE) operator(*)ident(recv)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(narg)operator(;) ident(NODE) operator(*)ident(arg1)operator(;) operator({) ident(value_expr)operator(()ident(recv)operator(\);) reserved(if) operator(()ident(narg) operator(==) integer(1)operator(\)) operator({) ident(value_expr)operator(()ident(arg1)operator(\);) ident(arg1) operator(=) ident(NEW_LIST)operator(()ident(arg1)operator(\);) operator(}) reserved(else) operator({) ident(arg1) operator(=) integer(0)operator(;) operator(}) reserved(return) ident(NEW_CALL)operator(()ident(recv)operator(,) ident(id)operator(,) ident(arg1)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(match_gen)operator(()ident(node1)operator(,) ident(node2)operator(\)) ident(NODE) operator(*)ident(node1)operator(;) ident(NODE) operator(*)ident(node2)operator(;) operator({) ident(local_cnt)operator(()char('~')operator(\);) ident(value_expr)operator(()ident(node1)operator(\);) ident(value_expr)operator(()ident(node2)operator(\);) reserved(if) operator(()ident(node1)operator(\)) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node1)operator(\)\)) operator({) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) reserved(return) ident(NEW_MATCH2)operator(()ident(node1)operator(,) ident(node2)operator(\);) reserved(case) ident(NODE_LIT)operator(:) reserved(if) operator(()ident(TYPE)operator(()ident(node1)operator(->)ident(nd_lit)operator(\)) operator(==) ident(T_REGEXP)operator(\)) operator({) reserved(return) ident(NEW_MATCH2)operator(()ident(node1)operator(,) ident(node2)operator(\);) operator(}) operator(}) operator(}) reserved(if) operator(()ident(node2)operator(\)) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node2)operator(\)\)) operator({) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) reserved(return) ident(NEW_MATCH3)operator(()ident(node2)operator(,) ident(node1)operator(\);) reserved(case) ident(NODE_LIT)operator(:) reserved(if) operator(()ident(TYPE)operator(()ident(node2)operator(->)ident(nd_lit)operator(\)) operator(==) ident(T_REGEXP)operator(\)) operator({) reserved(return) ident(NEW_MATCH3)operator(()ident(node2)operator(,) ident(node1)operator(\);) operator(}) operator(}) operator(}) reserved(return) ident(NEW_CALL)operator(()ident(node1)operator(,) ident(tMATCH)operator(,) ident(NEW_LIST)operator(()ident(node2)operator(\)\);) operator(}) directive(static) ident(NODE)operator(*) ident(gettable)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(id) operator(==) ident(kSELF)operator(\)) operator({) reserved(return) ident(NEW_SELF)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(kNIL)operator(\)) operator({) reserved(return) ident(NEW_NIL)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(kTRUE)operator(\)) operator({) reserved(return) ident(NEW_TRUE)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(kFALSE)operator(\)) operator({) reserved(return) ident(NEW_FALSE)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(k__FILE__)operator(\)) operator({) reserved(return) ident(NEW_STR)operator(()ident(rb_str_new2)operator(()ident(ruby_sourcefile)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(k__LINE__)operator(\)) operator({) reserved(return) ident(NEW_LIT)operator(()ident(INT2FIX)operator(()ident(ruby_sourceline)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(is_local_id)operator(()ident(id)operator(\)\)) operator({) reserved(if) operator(()ident(dyna_in_block)operator((\)) operator(&&) ident(rb_dvar_defined)operator(()ident(id)operator(\)\)) reserved(return) ident(NEW_DVAR)operator(()ident(id)operator(\);) reserved(if) operator(()ident(local_id)operator(()ident(id)operator(\)\)) reserved(return) ident(NEW_LVAR)operator(()ident(id)operator(\);) comment(/* method call without arguments */) comment(#if 0 /* Rite will warn this */ rb_warn("ambiguous identifier; %s(\) or self.%s is better for method call", rb_id2name(id\), rb_id2name(id\)\); #endif) reserved(return) ident(NEW_VCALL)operator(()ident(id)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_global_id)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_GVAR)operator(()ident(id)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_instance_id)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_IVAR)operator(()ident(id)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_const_id)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_CONST)operator(()ident(id)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_class_id)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_CVAR)operator(()ident(id)operator(\);) operator(}) ident(rb_compile_error)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(VALUE) ident(dyna_var_lookup) ident(_)operator((()ident(ID) ident(id)operator(\)\);) directive(static) ident(NODE)operator(*) ident(assignable)operator(()ident(id)operator(,) ident(val)operator(\)) ident(ID) ident(id)operator(;) ident(NODE) operator(*)ident(val)operator(;) operator({) ident(value_expr)operator(()ident(val)operator(\);) reserved(if) operator(()ident(id) operator(==) ident(kSELF)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(kNIL)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(kTRUE)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(kFALSE)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(k__FILE__)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(id) operator(==) ident(k__LINE__)operator(\)) operator({) ident(yyerror)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_local_id)operator(()ident(id)operator(\)\)) operator({) reserved(if) operator(()ident(rb_dvar_curr)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_DASGN_CURR)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(dyna_var_lookup)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_DASGN)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(local_id)operator(()ident(id)operator(\)) operator(||) operator(!)ident(dyna_in_block)operator((\)\)) operator({) reserved(return) ident(NEW_LASGN)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) reserved(else)operator({) ident(rb_dvar_push)operator(()ident(id)operator(,) ident(Qnil)operator(\);) reserved(return) ident(NEW_DASGN_CURR)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(is_global_id)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_GASGN)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_instance_id)operator(()ident(id)operator(\)\)) operator({) reserved(return) ident(NEW_IASGN)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_const_id)operator(()ident(id)operator(\)\)) operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) ident(yyerror)operator(()stringoperator(\);) reserved(return) ident(NEW_CDECL)operator(()ident(id)operator(,) ident(val)operator(,) integer(0)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(is_class_id)operator(()ident(id)operator(\)\)) operator({) reserved(if) operator(()ident(in_def) operator(||) ident(in_single)operator(\)) reserved(return) ident(NEW_CVASGN)operator(()ident(id)operator(,) ident(val)operator(\);) reserved(return) ident(NEW_CVDECL)operator(()ident(id)operator(,) ident(val)operator(\);) operator(}) reserved(else) operator({) ident(rb_compile_error)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(NODE) operator(*) ident(aryset)operator(()ident(recv)operator(,) ident(idx)operator(\)) ident(NODE) operator(*)ident(recv)operator(,) operator(*)ident(idx)operator(;) operator({) reserved(if) operator(()ident(recv) operator(&&) ident(nd_type)operator(()ident(recv)operator(\)) operator(==) ident(NODE_SELF)operator(\)) ident(recv) operator(=) operator(()ident(NODE) operator(*\))integer(1)operator(;) reserved(else) ident(value_expr)operator(()ident(recv)operator(\);) reserved(return) ident(NEW_ATTRASGN)operator(()ident(recv)operator(,) ident(tASET)operator(,) ident(idx)operator(\);) operator(}) ident(ID) ident(rb_id_attrset)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) ident(id) operator(&=) operator(~)ident(ID_SCOPE_MASK)operator(;) ident(id) operator(|=) ident(ID_ATTRSET)operator(;) reserved(return) ident(id)operator(;) operator(}) directive(static) ident(NODE) operator(*) ident(attrset)operator(()ident(recv)operator(,) ident(id)operator(\)) ident(NODE) operator(*)ident(recv)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(recv) operator(&&) ident(nd_type)operator(()ident(recv)operator(\)) operator(==) ident(NODE_SELF)operator(\)) ident(recv) operator(=) operator(()ident(NODE) operator(*\))integer(1)operator(;) reserved(else) ident(value_expr)operator(()ident(recv)operator(\);) reserved(return) ident(NEW_ATTRASGN)operator(()ident(recv)operator(,) ident(rb_id_attrset)operator(()ident(id)operator(\),) integer(0)operator(\);) operator(}) directive(static) directive(void) ident(rb_backref_error)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_NTH_REF)operator(:) ident(rb_compile_error)operator(()stringoperator(,) ident(node)operator(->)ident(nd_nth)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_BACK_REF)operator(:) ident(rb_compile_error)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(node)operator(->)ident(nd_nth)operator(\);) reserved(break)operator(;) operator(}) operator(}) directive(static) ident(NODE) operator(*) ident(arg_concat)operator(()ident(node1)operator(,) ident(node2)operator(\)) ident(NODE) operator(*)ident(node1)operator(;) ident(NODE) operator(*)ident(node2)operator(;) operator({) reserved(if) operator((!)ident(node2)operator(\)) reserved(return) ident(node1)operator(;) reserved(return) ident(NEW_ARGSCAT)operator(()ident(node1)operator(,) ident(node2)operator(\);) operator(}) directive(static) ident(NODE) operator(*) ident(arg_add)operator(()ident(node1)operator(,) ident(node2)operator(\)) ident(NODE) operator(*)ident(node1)operator(;) ident(NODE) operator(*)ident(node2)operator(;) operator({) reserved(if) operator((!)ident(node1)operator(\)) reserved(return) ident(NEW_LIST)operator(()ident(node2)operator(\);) reserved(if) operator(()ident(nd_type)operator(()ident(node1)operator(\)) operator(==) ident(NODE_ARRAY)operator(\)) operator({) reserved(return) ident(list_append)operator(()ident(node1)operator(,) ident(node2)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(NEW_ARGSPUSH)operator(()ident(node1)operator(,) ident(node2)operator(\);) operator(}) operator(}) directive(static) ident(NODE)operator(*) ident(node_assign)operator(()ident(lhs)operator(,) ident(rhs)operator(\)) ident(NODE) operator(*)ident(lhs)operator(,) operator(*)ident(rhs)operator(;) operator({) reserved(if) operator((!)ident(lhs)operator(\)) reserved(return) integer(0)operator(;) ident(value_expr)operator(()ident(rhs)operator(\);) reserved(switch) operator(()ident(nd_type)operator(()ident(lhs)operator(\)\)) operator({) reserved(case) ident(NODE_GASGN)operator(:) reserved(case) ident(NODE_IASGN)operator(:) reserved(case) ident(NODE_LASGN)operator(:) reserved(case) ident(NODE_DASGN)operator(:) reserved(case) ident(NODE_DASGN_CURR)operator(:) reserved(case) ident(NODE_MASGN)operator(:) reserved(case) ident(NODE_CDECL)operator(:) reserved(case) ident(NODE_CVDECL)operator(:) reserved(case) ident(NODE_CVASGN)operator(:) ident(lhs)operator(->)ident(nd_value) operator(=) ident(rhs)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_ATTRASGN)operator(:) reserved(case) ident(NODE_CALL)operator(:) ident(lhs)operator(->)ident(nd_args) operator(=) ident(arg_add)operator(()ident(lhs)operator(->)ident(nd_args)operator(,) ident(rhs)operator(\);) reserved(break)operator(;) reserved(default)operator(:) comment(/* should not happen */) reserved(break)operator(;) operator(}) reserved(return) ident(lhs)operator(;) operator(}) directive(static) pre_type(int) ident(value_expr0)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) pre_type(int) ident(cond) operator(=) integer(0)operator(;) reserved(while) operator(()ident(node)operator(\)) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_DEFN)operator(:) reserved(case) ident(NODE_DEFS)operator(:) ident(parser_warning)operator(()ident(node)operator(,) stringoperator(\);) reserved(return) ident(Qfalse)operator(;) reserved(case) ident(NODE_RETURN)operator(:) reserved(case) ident(NODE_BREAK)operator(:) reserved(case) ident(NODE_NEXT)operator(:) reserved(case) ident(NODE_REDO)operator(:) reserved(case) ident(NODE_RETRY)operator(:) reserved(if) operator((!)ident(cond)operator(\)) ident(yyerror)operator(()stringoperator(\);) comment(/* or "control never reach"? */) reserved(return) ident(Qfalse)operator(;) reserved(case) ident(NODE_BLOCK)operator(:) reserved(while) operator(()ident(node)operator(->)ident(nd_next)operator(\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) operator(}) ident(node) operator(=) ident(node)operator(->)ident(nd_head)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_BEGIN)operator(:) ident(node) operator(=) ident(node)operator(->)ident(nd_body)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_IF)operator(:) reserved(if) operator((!)ident(value_expr)operator(()ident(node)operator(->)ident(nd_body)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_else)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_AND)operator(:) reserved(case) ident(NODE_OR)operator(:) ident(cond) operator(=) integer(1)operator(;) ident(node) operator(=) ident(node)operator(->)ident(nd_2nd)operator(;) reserved(break)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) directive(static) directive(void) ident(void_expr0)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) pre_type(char) operator(*)ident(useless) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) reserved(return)operator(;) label(again:) reserved(if) operator((!)ident(node)operator(\)) reserved(return)operator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_NEWLINE)operator(:) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) reserved(goto) ident(again)operator(;) reserved(case) ident(NODE_CALL)operator(:) reserved(switch) operator(()ident(node)operator(->)ident(nd_mid)operator(\)) operator({) reserved(case) char('+')operator(:) reserved(case) char('-')operator(:) reserved(case) char('*')operator(:) reserved(case) char('/')operator(:) reserved(case) char('%')operator(:) reserved(case) ident(tPOW)operator(:) reserved(case) ident(tUPLUS)operator(:) reserved(case) ident(tUMINUS)operator(:) reserved(case) char('|')operator(:) reserved(case) char('^')operator(:) reserved(case) char('&')operator(:) reserved(case) ident(tCMP)operator(:) reserved(case) char('>')operator(:) reserved(case) ident(tGEQ)operator(:) reserved(case) char('<')operator(:) reserved(case) ident(tLEQ)operator(:) reserved(case) ident(tEQ)operator(:) reserved(case) ident(tNEQ)operator(:) ident(useless) operator(=) ident(rb_id2name)operator(()ident(node)operator(->)ident(nd_mid)operator(\);) reserved(break)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_LVAR)operator(:) reserved(case) ident(NODE_DVAR)operator(:) reserved(case) ident(NODE_GVAR)operator(:) reserved(case) ident(NODE_IVAR)operator(:) reserved(case) ident(NODE_CVAR)operator(:) reserved(case) ident(NODE_NTH_REF)operator(:) reserved(case) ident(NODE_BACK_REF)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_CONST)operator(:) reserved(case) ident(NODE_CREF)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_LIT)operator(:) reserved(case) ident(NODE_STR)operator(:) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_COLON2)operator(:) reserved(case) ident(NODE_COLON3)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_DOT2)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_DOT3)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_SELF)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_NIL)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_TRUE)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_FALSE)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(NODE_DEFINED)operator(:) ident(useless) operator(=) stringoperator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(useless)operator(\)) operator({) pre_type(int) ident(line) operator(=) ident(ruby_sourceline)operator(;) ident(ruby_sourceline) operator(=) ident(nd_line)operator(()ident(node)operator(\);) ident(rb_warn)operator(()stringoperator(,) ident(useless)operator(\);) ident(ruby_sourceline) operator(=) ident(line)operator(;) operator(}) operator(}) directive(static) directive(void) ident(void_stmts)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) reserved(return)operator(;) reserved(if) operator((!)ident(node)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(!=) ident(NODE_BLOCK)operator(\)) reserved(return)operator(;) reserved(for) operator((;;\)) operator({) reserved(if) operator((!)ident(node)operator(->)ident(nd_next)operator(\)) reserved(return)operator(;) ident(void_expr0)operator(()ident(node)operator(->)ident(nd_head)operator(\);) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) operator(}) operator(}) directive(static) ident(NODE) operator(*) ident(remove_begin)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) ident(NODE) operator(**)ident(n) operator(=) operator(&)ident(node)operator(;) reserved(while) operator((*)ident(n)operator(\)) operator({) reserved(switch) operator(()ident(nd_type)operator((*)ident(n)operator(\)\)) operator({) reserved(case) ident(NODE_NEWLINE)operator(:) ident(n) operator(=) operator(&(*)ident(n)operator(\)->)ident(nd_next)operator(;) reserved(continue)operator(;) reserved(case) ident(NODE_BEGIN)operator(:) operator(*)ident(n) operator(=) operator((*)ident(n)operator(\)->)ident(nd_body)operator(;) reserved(default)operator(:) reserved(return) ident(node)operator(;) operator(}) operator(}) reserved(return) ident(node)operator(;) operator(}) directive(static) pre_type(int) ident(assign_in_cond)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_MASGN)operator(:) ident(yyerror)operator(()stringoperator(\);) reserved(return) integer(1)operator(;) reserved(case) ident(NODE_LASGN)operator(:) reserved(case) ident(NODE_DASGN)operator(:) reserved(case) ident(NODE_GASGN)operator(:) reserved(case) ident(NODE_IASGN)operator(:) reserved(break)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) reserved(default)operator(:) reserved(return) integer(0)operator(;) operator(}) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(->)ident(nd_value)operator(\)\)) operator({) reserved(case) ident(NODE_LIT)operator(:) reserved(case) ident(NODE_STR)operator(:) reserved(case) ident(NODE_NIL)operator(:) reserved(case) ident(NODE_TRUE)operator(:) reserved(case) ident(NODE_FALSE)operator(:) comment(/* reports always */) ident(parser_warn)operator(()ident(node)operator(->)ident(nd_value)operator(,) stringoperator(\);) reserved(return) integer(1)operator(;) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_XSTR)operator(:) reserved(case) ident(NODE_DXSTR)operator(:) reserved(case) ident(NODE_EVSTR)operator(:) reserved(case) ident(NODE_DREGX)operator(:) reserved(default)operator(:) reserved(break)operator(;) operator(}) comment(#if 0 if (assign_in_cond(node->nd_value\) == 0\) { parser_warning(node->nd_value, "assignment in condition"\); } #endif) reserved(return) integer(1)operator(;) operator(}) directive(static) pre_type(int) ident(e_option_supplied)operator((\)) operator({) reserved(if) operator(()ident(strcmp)operator(()ident(ruby_sourcefile)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(warn_unless_e_option)operator(()ident(node)operator(,) ident(str)operator(\)) ident(NODE) operator(*)ident(node)operator(;) directive(const) pre_type(char) operator(*)ident(str)operator(;) operator({) reserved(if) operator((!)ident(e_option_supplied)operator((\)\)) ident(parser_warn)operator(()ident(node)operator(,) ident(str)operator(\);) operator(}) directive(static) directive(void) ident(warning_unless_e_option)operator(()ident(node)operator(,) ident(str)operator(\)) ident(NODE) operator(*)ident(node)operator(;) directive(const) pre_type(char) operator(*)ident(str)operator(;) operator({) reserved(if) operator((!)ident(e_option_supplied)operator((\)\)) ident(parser_warning)operator(()ident(node)operator(,) ident(str)operator(\);) operator(}) directive(static) directive(void) ident(fixup_nodes)operator(()ident(rootnode)operator(\)) ident(NODE) operator(**)ident(rootnode)operator(;) operator({) ident(NODE) operator(*)ident(node)operator(,) operator(*)ident(next)operator(,) operator(*)ident(head)operator(;) reserved(for) operator(()ident(node) operator(=) operator(*)ident(rootnode)operator(;) ident(node)operator(;) ident(node) operator(=) ident(next)operator(\)) operator({) reserved(enum) ident(node_type) ident(type)operator(;) ident(VALUE) ident(val)operator(;) ident(next) operator(=) ident(node)operator(->)ident(nd_next)operator(;) ident(head) operator(=) ident(node)operator(->)ident(nd_head)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(node)operator(\);) operator(*)ident(rootnode) operator(=) ident(next)operator(;) reserved(switch) operator(()ident(type) operator(=) ident(nd_type)operator(()ident(head)operator(\)\)) operator({) reserved(case) ident(NODE_DOT2)operator(:) reserved(case) ident(NODE_DOT3)operator(:) ident(val) operator(=) ident(rb_range_new)operator(()ident(head)operator(->)ident(nd_beg)operator(->)ident(nd_lit)operator(,) ident(head)operator(->)ident(nd_end)operator(->)ident(nd_lit)operator(,) ident(type) operator(==) ident(NODE_DOT3) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(\);) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(head)operator(->)ident(nd_beg)operator(\);) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(head)operator(->)ident(nd_end)operator(\);) ident(nd_set_type)operator(()ident(head)operator(,) ident(NODE_LIT)operator(\);) ident(head)operator(->)ident(nd_lit) operator(=) ident(val)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) operator(}) directive(static) ident(NODE) operator(*)ident(cond0)operator((\);) directive(static) ident(NODE)operator(*) ident(range_op)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(enum) ident(node_type) ident(type)operator(;) reserved(if) operator(()ident(node) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) ident(type) operator(=) ident(nd_type)operator(()ident(node)operator(\);) reserved(if) operator(()ident(type) operator(==) ident(NODE_NEWLINE)operator(\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_next)operator(;) ident(type) operator(=) ident(nd_type)operator(()ident(node)operator(\);) operator(}) ident(value_expr)operator(()ident(node)operator(\);) reserved(if) operator(()ident(type) operator(==) ident(NODE_LIT) operator(&&) ident(FIXNUM_P)operator(()ident(node)operator(->)ident(nd_lit)operator(\)\)) operator({) ident(warn_unless_e_option)operator(()ident(node)operator(,) stringoperator(\);) reserved(return) ident(call_op)operator(()ident(node)operator(,)ident(tEQ)operator(,)integer(1)operator(,)ident(NEW_GVAR)operator(()ident(rb_intern)operator(()stringoperator(\)\)\);) operator(}) reserved(return) ident(cond0)operator(()ident(node)operator(\);) operator(}) directive(static) pre_type(int) ident(literal_node)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator((!)ident(node)operator(\)) reserved(return) integer(1)operator(;) comment(/* same as NODE_NIL */) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_LIT)operator(:) reserved(case) ident(NODE_STR)operator(:) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_EVSTR)operator(:) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) reserved(case) ident(NODE_DSYM)operator(:) reserved(return) integer(2)operator(;) reserved(case) ident(NODE_TRUE)operator(:) reserved(case) ident(NODE_FALSE)operator(:) reserved(case) ident(NODE_NIL)operator(:) reserved(return) integer(1)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(NODE)operator(*) ident(cond0)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator(()ident(node) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) ident(assign_in_cond)operator(()ident(node)operator(\);) reserved(switch) operator(()ident(nd_type)operator(()ident(node)operator(\)\)) operator({) reserved(case) ident(NODE_DSTR)operator(:) reserved(case) ident(NODE_EVSTR)operator(:) reserved(case) ident(NODE_STR)operator(:) ident(rb_warn)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DREGX)operator(:) reserved(case) ident(NODE_DREGX_ONCE)operator(:) ident(warning_unless_e_option)operator(()ident(node)operator(,) stringoperator(\);) ident(local_cnt)operator(()char('_')operator(\);) ident(local_cnt)operator(()char('~')operator(\);) reserved(return) ident(NEW_MATCH2)operator(()ident(node)operator(,) ident(NEW_GVAR)operator(()ident(rb_intern)operator(()stringoperator(\)\)\);) reserved(case) ident(NODE_AND)operator(:) reserved(case) ident(NODE_OR)operator(:) ident(node)operator(->)ident(nd_1st) operator(=) ident(cond0)operator(()ident(node)operator(->)ident(nd_1st)operator(\);) ident(node)operator(->)ident(nd_2nd) operator(=) ident(cond0)operator(()ident(node)operator(->)ident(nd_2nd)operator(\);) reserved(break)operator(;) reserved(case) ident(NODE_DOT2)operator(:) reserved(case) ident(NODE_DOT3)operator(:) ident(node)operator(->)ident(nd_beg) operator(=) ident(range_op)operator(()ident(node)operator(->)ident(nd_beg)operator(\);) ident(node)operator(->)ident(nd_end) operator(=) ident(range_op)operator(()ident(node)operator(->)ident(nd_end)operator(\);) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_DOT2)operator(\)) ident(nd_set_type)operator(()ident(node)operator(,)ident(NODE_FLIP2)operator(\);) reserved(else) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_DOT3)operator(\)) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_FLIP3)operator(\);) ident(node)operator(->)ident(nd_cnt) operator(=) ident(local_append)operator(()ident(internal_id)operator((\)\);) reserved(if) operator((!)ident(e_option_supplied)operator((\)\)) operator({) pre_type(int) ident(b) operator(=) ident(literal_node)operator(()ident(node)operator(->)ident(nd_beg)operator(\);) pre_type(int) ident(e) operator(=) ident(literal_node)operator(()ident(node)operator(->)ident(nd_end)operator(\);) reserved(if) operator((()ident(b) operator(==) integer(1) operator(&&) ident(e) operator(==) integer(1)operator(\)) operator(||) operator(()ident(b) operator(+) ident(e) operator(>=) integer(2) operator(&&) ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)\)) operator({) ident(parser_warn)operator(()ident(node)operator(,) stringoperator(\);) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(NODE_DSYM)operator(:) ident(parser_warning)operator(()ident(node)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) ident(NODE_LIT)operator(:) reserved(if) operator(()ident(TYPE)operator(()ident(node)operator(->)ident(nd_lit)operator(\)) operator(==) ident(T_REGEXP)operator(\)) operator({) ident(warn_unless_e_option)operator(()ident(node)operator(,) stringoperator(\);) ident(nd_set_type)operator(()ident(node)operator(,) ident(NODE_MATCH)operator(\);) ident(local_cnt)operator(()char('_')operator(\);) ident(local_cnt)operator(()char('~')operator(\);) operator(}) reserved(else) operator({) ident(parser_warning)operator(()ident(node)operator(,) stringoperator(\);) operator(}) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(return) ident(node)operator(;) operator(}) directive(static) ident(NODE)operator(*) ident(cond)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator(()ident(node) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) ident(value_expr)operator(()ident(node)operator(\);) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_NEWLINE)operator(\){) ident(node)operator(->)ident(nd_next) operator(=) ident(cond0)operator(()ident(node)operator(->)ident(nd_next)operator(\);) reserved(return) ident(node)operator(;) operator(}) reserved(return) ident(cond0)operator(()ident(node)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(logop)operator(()ident(type)operator(,) ident(left)operator(,) ident(right)operator(\)) reserved(enum) ident(node_type) ident(type)operator(;) ident(NODE) operator(*)ident(left)operator(,) operator(*)ident(right)operator(;) operator({) ident(value_expr)operator(()ident(left)operator(\);) reserved(if) operator(()ident(left) operator(&&) ident(nd_type)operator(()ident(left)operator(\)) operator(==) ident(type)operator(\)) operator({) ident(NODE) operator(*)ident(node) operator(=) ident(left)operator(,) operator(*)ident(second)operator(;) reserved(while) operator((()ident(second) operator(=) ident(node)operator(->)ident(nd_2nd)operator(\)) operator(!=) integer(0) operator(&&) ident(nd_type)operator(()ident(second)operator(\)) operator(==) ident(type)operator(\)) operator({) ident(node) operator(=) ident(second)operator(;) operator(}) ident(node)operator(->)ident(nd_2nd) operator(=) ident(NEW_NODE)operator(()ident(type)operator(,) ident(second)operator(,) ident(right)operator(,) integer(0)operator(\);) reserved(return) ident(left)operator(;) operator(}) reserved(return) ident(NEW_NODE)operator(()ident(type)operator(,) ident(left)operator(,) ident(right)operator(,) integer(0)operator(\);) operator(}) directive(static) pre_type(int) ident(cond_negative)operator(()ident(nodep)operator(\)) ident(NODE) operator(**)ident(nodep)operator(;) operator({) ident(NODE) operator(*)ident(c) operator(=) operator(*)ident(nodep)operator(;) reserved(if) operator((!)ident(c)operator(\)) reserved(return) integer(0)operator(;) reserved(switch) operator(()ident(nd_type)operator(()ident(c)operator(\)\)) operator({) reserved(case) ident(NODE_NOT)operator(:) operator(*)ident(nodep) operator(=) ident(c)operator(->)ident(nd_body)operator(;) reserved(return) integer(1)operator(;) reserved(case) ident(NODE_NEWLINE)operator(:) reserved(if) operator(()ident(c)operator(->)ident(nd_next) operator(&&) ident(nd_type)operator(()ident(c)operator(->)ident(nd_next)operator(\)) operator(==) ident(NODE_NOT)operator(\)) operator({) ident(c)operator(->)ident(nd_next) operator(=) ident(c)operator(->)ident(nd_next)operator(->)ident(nd_body)operator(;) reserved(return) integer(1)operator(;) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) directive(void) ident(no_blockarg)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator(()ident(node) operator(&&) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(rb_compile_error)operator(()stringoperator(\);) operator(}) operator(}) directive(static) ident(NODE) operator(*) ident(ret_args)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(if) operator(()ident(node)operator(\)) operator({) ident(no_blockarg)operator(()ident(node)operator(\);) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_ARRAY) operator(&&) ident(node)operator(->)ident(nd_next) operator(==) integer(0)operator(\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_head)operator(;) operator(}) reserved(if) operator(()ident(node) operator(&&) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_SPLAT)operator(\)) operator({) ident(node) operator(=) ident(NEW_SVALUE)operator(()ident(node)operator(\);) operator(}) operator(}) reserved(return) ident(node)operator(;) operator(}) directive(static) ident(NODE) operator(*) ident(new_yield)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) pre_type(long) ident(state) operator(=) ident(Qtrue)operator(;) reserved(if) operator(()ident(node)operator(\)) operator({) ident(no_blockarg)operator(()ident(node)operator(\);) reserved(if) operator(()ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_ARRAY) operator(&&) ident(node)operator(->)ident(nd_next) operator(==) integer(0)operator(\)) operator({) ident(node) operator(=) ident(node)operator(->)ident(nd_head)operator(;) ident(state) operator(=) ident(Qfalse)operator(;) operator(}) reserved(if) operator(()ident(node) operator(&&) ident(nd_type)operator(()ident(node)operator(\)) operator(==) ident(NODE_SPLAT)operator(\)) operator({) ident(state) operator(=) ident(Qtrue)operator(;) operator(}) operator(}) reserved(else) operator({) ident(state) operator(=) ident(Qfalse)operator(;) operator(}) reserved(return) ident(NEW_YIELD)operator(()ident(node)operator(,) ident(state)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(negate_lit)operator(()ident(node)operator(\)) ident(NODE) operator(*)ident(node)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(node)operator(->)ident(nd_lit)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(node)operator(->)ident(nd_lit) operator(=) ident(LONG2FIX)operator((-)ident(FIX2LONG)operator(()ident(node)operator(->)ident(nd_lit)operator(\)\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(node)operator(->)ident(nd_lit) operator(=) ident(rb_funcall)operator(()ident(node)operator(->)ident(nd_lit)operator(,)ident(tUMINUS)operator(,)integer(0)operator(,)integer(0)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) ident(RFLOAT)operator(()ident(node)operator(->)ident(nd_lit)operator(\)->)ident(value) operator(=) operator(-)ident(RFLOAT)operator(()ident(node)operator(->)ident(nd_lit)operator(\)->)ident(value)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(return) ident(node)operator(;) operator(}) directive(static) ident(NODE) operator(*) ident(arg_blk_pass)operator(()ident(node1)operator(,) ident(node2)operator(\)) ident(NODE) operator(*)ident(node1)operator(;) ident(NODE) operator(*)ident(node2)operator(;) operator({) reserved(if) operator(()ident(node2)operator(\)) operator({) ident(node2)operator(->)ident(nd_head) operator(=) ident(node1)operator(;) reserved(return) ident(node2)operator(;) operator(}) reserved(return) ident(node1)operator(;) operator(}) directive(static) ident(NODE)operator(*) ident(arg_prepend)operator(()ident(node1)operator(,) ident(node2)operator(\)) ident(NODE) operator(*)ident(node1)operator(,) operator(*)ident(node2)operator(;) operator({) reserved(switch) operator(()ident(nd_type)operator(()ident(node2)operator(\)\)) operator({) reserved(case) ident(NODE_ARRAY)operator(:) reserved(return) ident(list_concat)operator(()ident(NEW_LIST)operator(()ident(node1)operator(\),) ident(node2)operator(\);) reserved(case) ident(NODE_SPLAT)operator(:) reserved(return) ident(arg_concat)operator(()ident(node1)operator(,) ident(node2)operator(->)ident(nd_head)operator(\);) reserved(case) ident(NODE_BLOCK_PASS)operator(:) ident(node2)operator(->)ident(nd_body) operator(=) ident(arg_prepend)operator(()ident(node1)operator(,) ident(node2)operator(->)ident(nd_body)operator(\);) reserved(return) ident(node2)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(,) ident(nd_type)operator(()ident(node2)operator(\)\);) operator(}) reserved(return) integer(0)operator(;) comment(/* not reached */) operator(}) directive(static) ident(NODE)operator(*) ident(new_call)operator(()ident(r)operator(,)ident(m)operator(,)ident(a)operator(\)) ident(NODE) operator(*)ident(r)operator(;) ident(ID) ident(m)operator(;) ident(NODE) operator(*)ident(a)operator(;) operator({) reserved(if) operator(()ident(a) operator(&&) ident(nd_type)operator(()ident(a)operator(\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(a)operator(->)ident(nd_iter) operator(=) ident(NEW_CALL)operator(()ident(r)operator(,)ident(m)operator(,)ident(a)operator(->)ident(nd_head)operator(\);) reserved(return) ident(a)operator(;) operator(}) reserved(return) ident(NEW_CALL)operator(()ident(r)operator(,)ident(m)operator(,)ident(a)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(new_fcall)operator(()ident(m)operator(,)ident(a)operator(\)) ident(ID) ident(m)operator(;) ident(NODE) operator(*)ident(a)operator(;) operator({) reserved(if) operator(()ident(a) operator(&&) ident(nd_type)operator(()ident(a)operator(\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(a)operator(->)ident(nd_iter) operator(=) ident(NEW_FCALL)operator(()ident(m)operator(,)ident(a)operator(->)ident(nd_head)operator(\);) reserved(return) ident(a)operator(;) operator(}) reserved(return) ident(NEW_FCALL)operator(()ident(m)operator(,)ident(a)operator(\);) operator(}) directive(static) ident(NODE)operator(*) ident(new_super)operator(()ident(a)operator(\)) ident(NODE) operator(*)ident(a)operator(;) operator({) reserved(if) operator(()ident(a) operator(&&) ident(nd_type)operator(()ident(a)operator(\)) operator(==) ident(NODE_BLOCK_PASS)operator(\)) operator({) ident(a)operator(->)ident(nd_iter) operator(=) ident(NEW_SUPER)operator(()ident(a)operator(->)ident(nd_head)operator(\);) reserved(return) ident(a)operator(;) operator(}) reserved(return) ident(NEW_SUPER)operator(()ident(a)operator(\);) operator(}) directive(static) reserved(struct) ident(local_vars) operator({) ident(ID) operator(*)ident(tbl)operator(;) pre_type(int) ident(nofree)operator(;) pre_type(int) ident(cnt)operator(;) pre_type(int) ident(dlev)operator(;) reserved(struct) ident(RVarmap)operator(*) ident(dyna_vars)operator(;) reserved(struct) ident(local_vars) operator(*)ident(prev)operator(;) operator(}) operator(*)ident(lvtbl)operator(;) directive(static) directive(void) ident(local_push)operator(()ident(top)operator(\)) pre_type(int) ident(top)operator(;) operator({) reserved(struct) ident(local_vars) operator(*)ident(local)operator(;) ident(local) operator(=) ident(ALLOC)operator(()reserved(struct) ident(local_vars)operator(\);) ident(local)operator(->)ident(prev) operator(=) ident(lvtbl)operator(;) ident(local)operator(->)ident(nofree) operator(=) integer(0)operator(;) ident(local)operator(->)ident(cnt) operator(=) integer(0)operator(;) ident(local)operator(->)ident(tbl) operator(=) integer(0)operator(;) ident(local)operator(->)ident(dlev) operator(=) integer(0)operator(;) ident(local)operator(->)ident(dyna_vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(lvtbl) operator(=) ident(local)operator(;) reserved(if) operator((!)ident(top)operator(\)) operator({) comment(/* preserve reference for GC, but link should be cut. */) ident(rb_dvar_push)operator(()integer(0)operator(,) operator(()ident(VALUE)operator(\))ident(ruby_dyna_vars)operator(\);) ident(ruby_dyna_vars)operator(->)ident(next) operator(=) integer(0)operator(;) operator(}) operator(}) directive(static) directive(void) ident(local_pop)operator((\)) operator({) reserved(struct) ident(local_vars) operator(*)ident(local) operator(=) ident(lvtbl)operator(->)ident(prev)operator(;) reserved(if) operator(()ident(lvtbl)operator(->)ident(tbl)operator(\)) operator({) reserved(if) operator((!)ident(lvtbl)operator(->)ident(nofree)operator(\)) ident(xfree)operator(()ident(lvtbl)operator(->)ident(tbl)operator(\);) reserved(else) ident(lvtbl)operator(->)ident(tbl)operator([)integer(0)operator(]) operator(=) ident(lvtbl)operator(->)ident(cnt)operator(;) operator(}) ident(ruby_dyna_vars) operator(=) ident(lvtbl)operator(->)ident(dyna_vars)operator(;) ident(xfree)operator(()ident(lvtbl)operator(\);) ident(lvtbl) operator(=) ident(local)operator(;) operator(}) directive(static) ident(ID)operator(*) ident(local_tbl)operator((\)) operator({) ident(lvtbl)operator(->)ident(nofree) operator(=) integer(1)operator(;) reserved(return) ident(lvtbl)operator(->)ident(tbl)operator(;) operator(}) directive(static) pre_type(int) ident(local_append)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(lvtbl)operator(->)ident(tbl) operator(==) integer(0)operator(\)) operator({) ident(lvtbl)operator(->)ident(tbl) operator(=) ident(ALLOC_N)operator(()ident(ID)operator(,) integer(4)operator(\);) ident(lvtbl)operator(->)ident(tbl)operator([)integer(0)operator(]) operator(=) integer(0)operator(;) ident(lvtbl)operator(->)ident(tbl)operator([)integer(1)operator(]) operator(=) char('_')operator(;) ident(lvtbl)operator(->)ident(tbl)operator([)integer(2)operator(]) operator(=) char('~')operator(;) ident(lvtbl)operator(->)ident(cnt) operator(=) integer(2)operator(;) reserved(if) operator(()ident(id) operator(==) char('_')operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(id) operator(==) char('~')operator(\)) reserved(return) integer(1)operator(;) operator(}) reserved(else) operator({) ident(REALLOC_N)operator(()ident(lvtbl)operator(->)ident(tbl)operator(,) ident(ID)operator(,) ident(lvtbl)operator(->)ident(cnt)operator(+)integer(2)operator(\);) operator(}) ident(lvtbl)operator(->)ident(tbl)operator([)ident(lvtbl)operator(->)ident(cnt)operator(+)integer(1)operator(]) operator(=) ident(id)operator(;) reserved(return) ident(lvtbl)operator(->)ident(cnt)operator(++;) operator(}) directive(static) pre_type(int) ident(local_cnt)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) pre_type(int) ident(cnt)operator(,) ident(max)operator(;) reserved(if) operator(()ident(id) operator(==) integer(0)operator(\)) reserved(return) ident(lvtbl)operator(->)ident(cnt)operator(;) reserved(for) operator(()ident(cnt)operator(=)integer(1)operator(,) ident(max)operator(=)ident(lvtbl)operator(->)ident(cnt)operator(+)integer(1)operator(;) ident(cnt)operator(<)ident(max)operator(;)ident(cnt)operator(++\)) operator({) reserved(if) operator(()ident(lvtbl)operator(->)ident(tbl)operator([)ident(cnt)operator(]) operator(==) ident(id)operator(\)) reserved(return) ident(cnt)operator(-)integer(1)operator(;) operator(}) reserved(return) ident(local_append)operator(()ident(id)operator(\);) operator(}) directive(static) pre_type(int) ident(local_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) pre_type(int) ident(i)operator(,) ident(max)operator(;) reserved(if) operator(()ident(lvtbl) operator(==) integer(0)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(for) operator(()ident(i)operator(=)integer(3)operator(,) ident(max)operator(=)ident(lvtbl)operator(->)ident(cnt)operator(+)integer(1)operator(;) ident(i)operator(<)ident(max)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(lvtbl)operator(->)ident(tbl)operator([)ident(i)operator(]) operator(==) ident(id)operator(\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(top_local_init)operator((\)) operator({) ident(local_push)operator(()integer(1)operator(\);) ident(lvtbl)operator(->)ident(cnt) operator(=) ident(ruby_scope)operator(->)ident(local_tbl)operator(?)ident(ruby_scope)operator(->)ident(local_tbl)operator([)integer(0)operator(]:)integer(0)operator(;) reserved(if) operator(()ident(lvtbl)operator(->)ident(cnt) operator(>) integer(0)operator(\)) operator({) ident(lvtbl)operator(->)ident(tbl) operator(=) ident(ALLOC_N)operator(()ident(ID)operator(,) ident(lvtbl)operator(->)ident(cnt)operator(+)integer(3)operator(\);) ident(MEMCPY)operator(()ident(lvtbl)operator(->)ident(tbl)operator(,) ident(ruby_scope)operator(->)ident(local_tbl)operator(,) ident(ID)operator(,) ident(lvtbl)operator(->)ident(cnt)operator(+)integer(1)operator(\);) operator(}) reserved(else) operator({) ident(lvtbl)operator(->)ident(tbl) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(ruby_dyna_vars)operator(\)) ident(lvtbl)operator(->)ident(dlev) operator(=) integer(1)operator(;) reserved(else) ident(lvtbl)operator(->)ident(dlev) operator(=) integer(0)operator(;) operator(}) directive(static) directive(void) ident(top_local_setup)operator((\)) operator({) pre_type(int) ident(len) operator(=) ident(lvtbl)operator(->)ident(cnt)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(len) operator(>) integer(0)operator(\)) operator({) ident(i) operator(=) ident(ruby_scope)operator(->)ident(local_tbl)operator(?)ident(ruby_scope)operator(->)ident(local_tbl)operator([)integer(0)operator(]:)integer(0)operator(;) reserved(if) operator(()ident(i) operator(<) ident(len)operator(\)) operator({) reserved(if) operator(()ident(i) operator(==) integer(0) operator(||) operator(()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_MALLOC)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(VALUE) operator(*)ident(vars) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) ident(len)operator(+)integer(1)operator(\);) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_vars)operator(\)) operator({) operator(*)ident(vars)operator(++) operator(=) ident(ruby_scope)operator(->)ident(local_vars)operator([-)integer(1)operator(];) ident(MEMCPY)operator(()ident(vars)operator(,) ident(ruby_scope)operator(->)ident(local_vars)operator(,) ident(VALUE)operator(,) ident(i)operator(\);) ident(rb_mem_clear)operator(()ident(vars)operator(+)ident(i)operator(,) ident(len)operator(-)ident(i)operator(\);) operator(}) reserved(else) operator({) operator(*)ident(vars)operator(++) operator(=) integer(0)operator(;) ident(rb_mem_clear)operator(()ident(vars)operator(,) ident(len)operator(\);) operator(}) ident(ruby_scope)operator(->)ident(local_vars) operator(=) ident(vars)operator(;) ident(ruby_scope)operator(->)ident(flags) operator(|=) ident(SCOPE_MALLOC)operator(;) operator(}) reserved(else) operator({) ident(VALUE) operator(*)ident(vars) operator(=) ident(ruby_scope)operator(->)ident(local_vars)operator(-)integer(1)operator(;) ident(REALLOC_N)operator(()ident(vars)operator(,) ident(VALUE)operator(,) ident(len)operator(+)integer(1)operator(\);) ident(ruby_scope)operator(->)ident(local_vars) operator(=) ident(vars)operator(+)integer(1)operator(;) ident(rb_mem_clear)operator(()ident(ruby_scope)operator(->)ident(local_vars)operator(+)ident(i)operator(,) ident(len)operator(-)ident(i)operator(\);) operator(}) reserved(if) operator(()ident(ruby_scope)operator(->)ident(local_tbl) operator(&&) ident(ruby_scope)operator(->)ident(local_vars)operator([-)integer(1)operator(]) operator(==) integer(0)operator(\)) operator({) reserved(if) operator((!()ident(ruby_scope)operator(->)ident(flags) operator(&) ident(SCOPE_CLONE)operator(\)\)) ident(xfree)operator(()ident(ruby_scope)operator(->)ident(local_tbl)operator(\);) operator(}) ident(ruby_scope)operator(->)ident(local_vars)operator([-)integer(1)operator(]) operator(=) integer(0)operator(;) comment(/* no reference needed */) ident(ruby_scope)operator(->)ident(local_tbl) operator(=) ident(local_tbl)operator((\);) operator(}) operator(}) ident(local_pop)operator((\);) operator(}) preprocessor(#define) ident(DVAR_USED) ident(FL_USER6) directive(static) ident(VALUE) ident(dyna_var_lookup)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(RVarmap) operator(*)ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) reserved(while) operator(()ident(vars)operator(\)) operator({) reserved(if) operator(()ident(vars)operator(->)ident(id) operator(==) ident(id)operator(\)) operator({) ident(FL_SET)operator(()ident(vars)operator(,) ident(DVAR_USED)operator(\);) reserved(return) ident(Qtrue)operator(;) operator(}) ident(vars) operator(=) ident(vars)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) reserved(struct) ident(RVarmap)operator(*) ident(dyna_push)operator((\)) operator({) reserved(struct) ident(RVarmap)operator(*) ident(vars) operator(=) ident(ruby_dyna_vars)operator(;) ident(rb_dvar_push)operator(()integer(0)operator(,) integer(0)operator(\);) ident(lvtbl)operator(->)ident(dlev)operator(++;) reserved(return) ident(vars)operator(;) operator(}) directive(static) directive(void) ident(dyna_pop)operator(()ident(vars)operator(\)) reserved(struct) ident(RVarmap)operator(*) ident(vars)operator(;) operator({) ident(lvtbl)operator(->)ident(dlev)operator(--;) ident(ruby_dyna_vars) operator(=) ident(vars)operator(;) operator(}) directive(static) pre_type(int) ident(dyna_in_block)operator((\)) operator({) reserved(return) operator(()ident(lvtbl)operator(->)ident(dlev) operator(>) integer(0)operator(\);) operator(}) directive(static) ident(NODE) operator(*) ident(dyna_init)operator(()ident(node)operator(,) ident(pre)operator(\)) ident(NODE) operator(*)ident(node)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(pre)operator(;) operator({) reserved(struct) ident(RVarmap) operator(*)ident(post) operator(=) ident(ruby_dyna_vars)operator(;) ident(NODE) operator(*)ident(var)operator(;) reserved(if) operator((!)ident(node) operator(||) operator(!)ident(post) operator(||) ident(pre) operator(==) ident(post)operator(\)) reserved(return) ident(node)operator(;) reserved(for) operator(()ident(var) operator(=) integer(0)operator(;) ident(post) operator(!=) ident(pre) operator(&&) ident(post)operator(->)ident(id)operator(;) ident(post) operator(=) ident(post)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(post)operator(,) ident(DVAR_USED)operator(\)\)) operator({) ident(var) operator(=) ident(NEW_DASGN_CURR)operator(()ident(post)operator(->)ident(id)operator(,) ident(var)operator(\);) operator(}) operator(}) reserved(return) ident(block_append)operator(()ident(var)operator(,) ident(node)operator(\);) operator(}) pre_type(int) ident(ruby_parser_stack_on_heap)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(YYMALLOC)operator(\)) reserved(return) ident(Qfalse)operator(;) preprocessor(#else) reserved(return) ident(Qtrue)operator(;) preprocessor(#endif) operator(}) directive(void) ident(rb_gc_mark_parser)operator((\)) operator({) preprocessor(#if) ident(defined) ident(YYMALLOC) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(parser_heap)operator(\);) preprocessor(#elif) ident(defined) ident(yystacksize) reserved(if) operator(()ident(yyvsp)operator(\)) ident(rb_gc_mark_locations)operator((()ident(VALUE) operator(*\))ident(yyvs)operator(,) operator(()ident(VALUE) operator(*\))ident(yyvsp)operator(\);) preprocessor(#endif) reserved(if) operator((!)ident(ruby_in_compile)operator(\)) reserved(return)operator(;) ident(rb_gc_mark_maybe)operator((()ident(VALUE)operator(\))ident(yylval)operator(.)ident(node)operator(\);) ident(rb_gc_mark)operator(()ident(ruby_debug_lines)operator(\);) ident(rb_gc_mark)operator(()ident(lex_lastline)operator(\);) ident(rb_gc_mark)operator(()ident(lex_input)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(lex_strterm)operator(\);) ident(rb_gc_mark)operator((()ident(VALUE)operator(\))ident(deferred_nodes)operator(\);) operator(}) directive(void) ident(rb_parser_append_print)operator((\)) operator({) ident(ruby_eval_tree) operator(=) ident(block_append)operator(()ident(ruby_eval_tree)operator(,) ident(NEW_FCALL)operator(()ident(rb_intern)operator(()stringoperator(\),) ident(NEW_ARRAY)operator(()ident(NEW_GVAR)operator(()ident(rb_intern)operator(()stringoperator(\)\)\)\)\);) operator(}) directive(void) ident(rb_parser_while_loop)operator(()ident(chop)operator(,) ident(split)operator(\)) pre_type(int) ident(chop)operator(,) ident(split)operator(;) operator({) reserved(if) operator(()ident(split)operator(\)) operator({) ident(ruby_eval_tree) operator(=) ident(block_append)operator(()ident(NEW_GASGN)operator(()ident(rb_intern)operator(()stringoperator(\),) ident(NEW_CALL)operator(()ident(NEW_GVAR)operator(()ident(rb_intern)operator(()stringoperator(\)\),) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(\)\),) ident(ruby_eval_tree)operator(\);) operator(}) reserved(if) operator(()ident(chop)operator(\)) operator({) ident(ruby_eval_tree) operator(=) ident(block_append)operator(()ident(NEW_CALL)operator(()ident(NEW_GVAR)operator(()ident(rb_intern)operator(()stringoperator(\)\),) ident(rb_intern)operator(()stringoperator(\),) integer(0)operator(\),) ident(ruby_eval_tree)operator(\);) operator(}) ident(ruby_eval_tree) operator(=) ident(NEW_OPT_N)operator(()ident(ruby_eval_tree)operator(\);) operator(}) directive(static) reserved(struct) operator({) ident(ID) ident(token)operator(;) pre_type(char) operator(*)ident(name)operator(;) operator(}) ident(op_tbl)operator([]) operator(=) operator({) operator({)ident(tDOT2)operator(,) stringoperator(},) operator({)ident(tDOT3)operator(,) stringoperator(},) operator({)char('+')operator(,) stringoperator(},) operator({)char('-')operator(,) stringoperator(},) operator({)char('+')operator(,) stringoperator(},) operator({)char('-')operator(,) stringoperator(},) operator({)char('*')operator(,) stringoperator(},) operator({)char('/')operator(,) stringoperator(},) operator({)char('%')operator(,) stringoperator(},) operator({)ident(tPOW)operator(,) stringoperator(},) operator({)ident(tUPLUS)operator(,) stringoperator(},) operator({)ident(tUMINUS)operator(,) stringoperator(},) operator({)ident(tUPLUS)operator(,) stringoperator(},) operator({)ident(tUMINUS)operator(,) stringoperator(},) operator({)char('|')operator(,) stringoperator(},) operator({)char('^')operator(,) stringoperator(},) operator({)char('&')operator(,) stringoperator(},) operator({)ident(tCMP)operator(,) string)delimiter(")>operator(},) operator({)char('>')operator(,) string)delimiter(")>operator(},) operator({)ident(tGEQ)operator(,) string=)delimiter(")>operator(},) operator({)char('<')operator(,) stringoperator(},) operator({)ident(tLEQ)operator(,) stringoperator(},) operator({)ident(tEQ)operator(,) stringoperator(},) operator({)ident(tEQQ)operator(,) stringoperator(},) operator({)ident(tNEQ)operator(,) stringoperator(},) operator({)ident(tMATCH)operator(,) stringoperator(},) operator({)ident(tNMATCH)operator(,) stringoperator(},) operator({)char('!')operator(,) stringoperator(},) operator({)char('~')operator(,) stringoperator(},) operator({)char('!')operator(,) stringoperator(},) operator({)char('~')operator(,) stringoperator(},) operator({)char('!')operator(,) stringoperator(},) operator({)char('~')operator(,) stringoperator(},) operator({)ident(tAREF)operator(,) stringoperator(},) operator({)ident(tASET)operator(,) stringoperator(},) operator({)ident(tLSHFT)operator(,) stringoperator(},) operator({)ident(tRSHFT)operator(,) string>)delimiter(")>operator(},) operator({)ident(tCOLON2)operator(,) stringoperator(},) operator({)char('`')operator(,) stringoperator(},) operator({)integer(0)operator(,) integer(0)operator(}) operator(};) directive(static) ident(st_table) operator(*)ident(sym_tbl)operator(;) directive(static) ident(st_table) operator(*)ident(sym_rev_tbl)operator(;) directive(void) ident(Init_sym)operator((\)) operator({) ident(sym_tbl) operator(=) ident(st_init_strtable_with_size)operator(()integer(200)operator(\);) ident(sym_rev_tbl) operator(=) ident(st_init_numtable_with_size)operator(()integer(200)operator(\);) operator(}) directive(static) ident(ID) ident(last_id) operator(=) ident(tLAST_TOKEN)operator(;) directive(static) ident(ID) ident(internal_id)operator((\)) operator({) reserved(return) ident(ID_INTERNAL) operator(|) operator((++)ident(last_id) operator(<<) ident(ID_SCOPE_SHIFT)operator(\);) operator(}) directive(static) pre_type(int) ident(is_special_global_name)operator(()ident(m)operator(\)) directive(const) pre_type(char) operator(*)ident(m)operator(;) operator({) reserved(switch) operator((*)ident(m)operator(\)) operator({) reserved(case) char('~')operator(:) reserved(case) char('*')operator(:) reserved(case) char('$')operator(:) reserved(case) char('?')operator(:) reserved(case) char('!')operator(:) reserved(case) char('@')operator(:) reserved(case) char('/')operator(:) reserved(case) char('\\\\')operator(:) reserved(case) char(';')operator(:) reserved(case) char(',')operator(:) reserved(case) char('.')operator(:) reserved(case) char('=')operator(:) reserved(case) char(':')operator(:) reserved(case) char('<')operator(:) reserved(case) char('>')operator(:) reserved(case) char('\\"')operator(:) reserved(case) char('&')operator(:) reserved(case) char('`')operator(:) reserved(case) char('\\'')operator(:) reserved(case) char('+')operator(:) reserved(case) char('0')operator(:) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(case) char('-')operator(:) operator(++)ident(m)operator(;) reserved(if) operator(()ident(is_identchar)operator((*)ident(m)operator(\)\)) ident(m) operator(+=) ident(mbclen)operator((*)ident(m)operator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(ISDIGIT)operator((*)ident(m)operator(\)\)) reserved(return) integer(0)operator(;) reserved(do) operator(++)ident(m)operator(;) reserved(while) operator(()ident(ISDIGIT)operator((*)ident(m)operator(\)\);) operator(}) reserved(return) operator(!*)ident(m)operator(;) operator(}) pre_type(int) ident(rb_symname_p)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(m) operator(=) ident(name)operator(;) pre_type(int) ident(localid) operator(=) ident(Qfalse)operator(;) reserved(if) operator((!)ident(m)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(switch) operator((*)ident(m)operator(\)) operator({) reserved(case) char('\\0')operator(:) reserved(return) ident(Qfalse)operator(;) reserved(case) char('$')operator(:) reserved(if) operator(()ident(is_special_global_name)operator((++)ident(m)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(goto) ident(id)operator(;) reserved(case) char('@')operator(:) reserved(if) operator((*++)ident(m) operator(==) char('@')operator(\)) operator(++)ident(m)operator(;) reserved(goto) ident(id)operator(;) reserved(case) char('<')operator(:) reserved(switch) operator((*++)ident(m)operator(\)) operator({) reserved(case) char('<')operator(:) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(case) char('=')operator(:) reserved(if) operator((*++)ident(m) operator(==) char('>')operator(\)) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('>')operator(:) reserved(switch) operator((*++)ident(m)operator(\)) operator({) reserved(case) char('>')operator(:) reserved(case) char('=')operator(:) operator(++)ident(m)operator(;) reserved(break)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('=')operator(:) reserved(switch) operator((*++)ident(m)operator(\)) operator({) reserved(case) char('~')operator(:) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(case) char('=')operator(:) reserved(if) operator((*++)ident(m) operator(==) char('=')operator(\)) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('*')operator(:) reserved(if) operator((*++)ident(m) operator(==) char('*')operator(\)) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(case) char('+')operator(:) reserved(case) char('-')operator(:) reserved(if) operator((*++)ident(m) operator(==) char('@')operator(\)) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(case) char('|')operator(:) reserved(case) char('^')operator(:) reserved(case) char('&')operator(:) reserved(case) char('/')operator(:) reserved(case) char('%')operator(:) reserved(case) char('~')operator(:) reserved(case) char('`')operator(:) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(case) char('[')operator(:) reserved(if) operator((*++)ident(m) operator(!=) char(']')operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((*++)ident(m) operator(==) char('=')operator(\)) operator(++)ident(m)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(localid) operator(=) operator(!)ident(ISUPPER)operator((*)ident(m)operator(\);) label(id:) reserved(if) operator((*)ident(m) operator(!=) char('_') operator(&&) operator(!)ident(ISALPHA)operator((*)ident(m)operator(\)) operator(&&) operator(!)ident(ismbchar)operator((*)ident(m)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(while) operator(()ident(is_identchar)operator((*)ident(m)operator(\)\)) ident(m) operator(+=) ident(mbclen)operator((*)ident(m)operator(\);) reserved(if) operator(()ident(localid)operator(\)) operator({) reserved(switch) operator((*)ident(m)operator(\)) operator({) reserved(case) char('!')operator(:) reserved(case) char('?')operator(:) reserved(case) char('=')operator(:) operator(++)ident(m)operator(;) operator(}) operator(}) reserved(break)operator(;) operator(}) reserved(return) operator(*)ident(m) operator(?) ident(Qfalse) operator(:) ident(Qtrue)operator(;) operator(}) pre_type(int) ident(rb_sym_interned_p)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(ID) ident(id)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(id)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) ident(ID) ident(rb_intern)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(m) operator(=) ident(name)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(last)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(name)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(id)operator(\)\)) reserved(return) ident(id)operator(;) ident(last) operator(=) ident(strlen)operator(()ident(name)operator(\)-)integer(1)operator(;) ident(id) operator(=) integer(0)operator(;) reserved(switch) operator((*)ident(name)operator(\)) operator({) reserved(case) char('$')operator(:) ident(id) operator(|=) ident(ID_GLOBAL)operator(;) reserved(if) operator(()ident(is_special_global_name)operator((++)ident(m)operator(\)\)) reserved(goto) ident(new_id)operator(;) reserved(break)operator(;) reserved(case) char('@')operator(:) reserved(if) operator(()ident(name)operator([)integer(1)operator(]) operator(==) char('@')operator(\)) operator({) ident(m)operator(++;) ident(id) operator(|=) ident(ID_CLASS)operator(;) operator(}) reserved(else) operator({) ident(id) operator(|=) ident(ID_INSTANCE)operator(;) operator(}) ident(m)operator(++;) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(name)operator([)integer(0)operator(]) operator(!=) char('_') operator(&&) ident(ISASCII)operator(()ident(name)operator([)integer(0)operator(]\)) operator(&&) operator(!)ident(ISALNUM)operator(()ident(name)operator([)integer(0)operator(]\)\)) operator({) comment(/* operators */) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(token)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((*)ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(name) operator(==) operator(*)ident(name) operator(&&) ident(strcmp)operator(()ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(name)operator(,) ident(name)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(id) operator(=) ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(token)operator(;) reserved(goto) ident(id_regist)operator(;) operator(}) operator(}) operator(}) reserved(if) operator(()ident(name)operator([)ident(last)operator(]) operator(==) char('=')operator(\)) operator({) comment(/* attribute assignment */) pre_type(char) operator(*)ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,)ident(last)operator(+)integer(1)operator(\);) ident(strncpy)operator(()ident(buf)operator(,) ident(name)operator(,) ident(last)operator(\);) ident(buf)operator([)ident(last)operator(]) operator(=) char('\\0')operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(buf)operator(\);) reserved(if) operator(()ident(id) operator(>) ident(tLAST_TOKEN) operator(&&) operator(!)ident(is_attrset_id)operator(()ident(id)operator(\)\)) operator({) ident(id) operator(=) ident(rb_id_attrset)operator(()ident(id)operator(\);) reserved(goto) ident(id_regist)operator(;) operator(}) ident(id) operator(=) ident(ID_ATTRSET)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISUPPER)operator(()ident(name)operator([)integer(0)operator(]\)\)) operator({) ident(id) operator(=) ident(ID_CONST)operator(;) operator(}) reserved(else) operator({) ident(id) operator(=) ident(ID_LOCAL)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(if) operator((!)ident(ISDIGIT)operator((*)ident(m)operator(\)\)) operator({) reserved(while) operator(()ident(m) operator(<=) ident(name) operator(+) ident(last) operator(&&) ident(is_identchar)operator((*)ident(m)operator(\)\)) operator({) ident(m) operator(+=) ident(mbclen)operator((*)ident(m)operator(\);) operator(}) operator(}) reserved(if) operator((*)ident(m)operator(\)) ident(id) operator(=) ident(ID_JUNK)operator(;) label(new_id:) ident(id) operator(|=) operator(++)ident(last_id) operator(<<) ident(ID_SCOPE_SHIFT)operator(;) label(id_regist:) ident(name) operator(=) ident(strdup)operator(()ident(name)operator(\);) ident(st_add_direct)operator(()ident(sym_tbl)operator(,) operator(()ident(st_data_t)operator(\))ident(name)operator(,) ident(id)operator(\);) ident(st_add_direct)operator(()ident(sym_rev_tbl)operator(,) ident(id)operator(,) operator(()ident(st_data_t)operator(\))ident(name)operator(\);) reserved(return) ident(id)operator(;) operator(}) pre_type(char) operator(*) ident(rb_id2name)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) pre_type(char) operator(*)ident(name)operator(;) ident(st_data_t) ident(data)operator(;) reserved(if) operator(()ident(id) operator(<) ident(tLAST_TOKEN)operator(\)) operator({) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(token)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(token) operator(==) ident(id)operator(\)) reserved(return) ident(op_tbl)operator([)ident(i)operator(])operator(.)ident(name)operator(;) operator(}) operator(}) reserved(if) operator(()ident(st_lookup)operator(()ident(sym_rev_tbl)operator(,) ident(id)operator(,) operator(&)ident(data)operator(\)\)) reserved(return) operator(()pre_type(char) operator(*\))ident(data)operator(;) reserved(if) operator(()ident(is_attrset_id)operator(()ident(id)operator(\)\)) operator({) ident(ID) ident(id2) operator(=) operator(()ident(id) operator(&) operator(~)ident(ID_SCOPE_MASK)operator(\)) operator(|) ident(ID_LOCAL)operator(;) label(again:) ident(name) operator(=) ident(rb_id2name)operator(()ident(id2)operator(\);) reserved(if) operator(()ident(name)operator(\)) operator({) pre_type(char) operator(*)ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(name)operator(\)+)integer(2)operator(\);) ident(strcpy)operator(()ident(buf)operator(,) ident(name)operator(\);) ident(strcat)operator(()ident(buf)operator(,) stringoperator(\);) ident(rb_intern)operator(()ident(buf)operator(\);) reserved(return) ident(rb_id2name)operator(()ident(id)operator(\);) operator(}) reserved(if) operator(()ident(is_local_id)operator(()ident(id2)operator(\)\)) operator({) ident(id2) operator(=) operator(()ident(id) operator(&) operator(~)ident(ID_SCOPE_MASK)operator(\)) operator(|) ident(ID_CONST)operator(;) reserved(goto) ident(again)operator(;) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(symbols_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) pre_type(char) operator(*)ident(key)operator(;) ident(ID) ident(value)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ID2SYM)operator(()ident(value)operator(\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * Symbol.all_symbols => array * * Returns an array of all the symbols currently in Ruby's symbol * table. * * Symbol.all_symbols.size #=> 903 * Symbol.all_symbols[1,20] #=> [:floor, :ARGV, :Binding, :symlink, * :chown, :EOFError, :$;, :String, * :LOCK_SH, :"setuid?", :$<, * :default_proc, :compact, :extend, * :Tms, :getwd, :$=, :ThreadGroup, * :wait2, :$>] */) ident(VALUE) ident(rb_sym_all_symbols)operator((\)) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(sym_tbl)operator(->)ident(num_entries)operator(\);) ident(st_foreach)operator(()ident(sym_tbl)operator(,) ident(symbols_i)operator(,) ident(ary)operator(\);) reserved(return) ident(ary)operator(;) operator(}) pre_type(int) ident(rb_is_const_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(is_const_id)operator(()ident(id)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_is_class_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(is_class_id)operator(()ident(id)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_is_instance_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(is_instance_id)operator(()ident(id)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_is_local_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(is_local_id)operator(()ident(id)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_is_junk_id)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(is_junk_id)operator(()ident(id)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(special_local_set)operator(()ident(c)operator(,) ident(val)operator(\)) pre_type(char) ident(c)operator(;) ident(VALUE) ident(val)operator(;) operator({) pre_type(int) ident(cnt)operator(;) ident(top_local_init)operator((\);) ident(cnt) operator(=) ident(local_cnt)operator(()ident(c)operator(\);) ident(top_local_setup)operator((\);) ident(ruby_scope)operator(->)ident(local_vars)operator([)ident(cnt)operator(]) operator(=) ident(val)operator(;) operator(}) ident(VALUE) ident(rb_backref_get)operator((\)) operator({) ident(VALUE) operator(*)ident(var) operator(=) ident(rb_svar)operator(()integer(1)operator(\);) reserved(if) operator(()ident(var)operator(\)) operator({) reserved(return) operator(*)ident(var)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(rb_backref_set)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) operator(*)ident(var) operator(=) ident(rb_svar)operator(()integer(1)operator(\);) reserved(if) operator(()ident(var)operator(\)) operator({) operator(*)ident(var) operator(=) ident(val)operator(;) operator(}) reserved(else) operator({) ident(special_local_set)operator(()char('~')operator(,) ident(val)operator(\);) operator(}) operator(}) ident(VALUE) ident(rb_lastline_get)operator((\)) operator({) ident(VALUE) operator(*)ident(var) operator(=) ident(rb_svar)operator(()integer(0)operator(\);) reserved(if) operator(()ident(var)operator(\)) operator({) reserved(return) operator(*)ident(var)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(void) ident(rb_lastline_set)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) operator(*)ident(var) operator(=) ident(rb_svar)operator(()integer(0)operator(\);) reserved(if) operator(()ident(var)operator(\)) operator({) operator(*)ident(var) operator(=) ident(val)operator(;) operator(}) reserved(else) operator({) ident(special_local_set)operator(()char('_')operator(,) ident(val)operator(\);) operator(}) operator(}) preprocessor(#ifdef) ident(YYMALLOC) preprocessor(#define) ident(HEAPCNT)operator(()ident(n)operator(,) ident(size)operator(\)) operator((()ident(n)operator(\)) operator(*) operator(()ident(size)operator(\)) operator(/) reserved(sizeof)operator(()ident(YYSTYPE)operator(\)\)) preprocessor(#define) ident(NEWHEAP)operator((\)) ident(rb_node_newnode)operator(()ident(NODE_ALLOCA)operator(,) integer(0)operator(,) operator(()ident(VALUE)operator(\))ident(parser_heap)operator(,) integer(0)operator(\)) preprocessor(#define) ident(ADD2HEAP)operator(()ident(n)operator(,) ident(c)operator(,) ident(p)operator(\)) operator((()ident(parser_heap) operator(=) operator(()ident(n)operator(\)\)->)ident(u1)operator(.)ident(node) operator(=) operator(()ident(p)operator(\),) \ operator(()ident(n)operator(\)->)ident(u3)operator(.)ident(cnt) operator(=) operator(()ident(c)operator(\),) operator(()ident(p)operator(\)\)) directive(static) directive(void) operator(*) ident(rb_parser_malloc)operator(()ident(size)operator(\)) ident(size_t) ident(size)operator(;) operator({) ident(size_t) ident(cnt) operator(=) ident(HEAPCNT)operator(()integer(1)operator(,) ident(size)operator(\);) ident(NODE) operator(*)ident(n) operator(=) ident(NEWHEAP)operator((\);) directive(void) operator(*)ident(ptr) operator(=) ident(xmalloc)operator(()ident(size)operator(\);) reserved(return) ident(ADD2HEAP)operator(()ident(n)operator(,) ident(cnt)operator(,) ident(ptr)operator(\);) operator(}) directive(static) directive(void) operator(*) ident(rb_parser_calloc)operator(()ident(nelem)operator(,) ident(size)operator(\)) ident(size_t) ident(nelem)operator(,) ident(size)operator(;) operator({) ident(size_t) ident(cnt) operator(=) ident(HEAPCNT)operator(()ident(nelem)operator(,) ident(size)operator(\);) ident(NODE) operator(*)ident(n) operator(=) ident(NEWHEAP)operator((\);) directive(void) operator(*)ident(ptr) operator(=) ident(xcalloc)operator(()ident(nelem)operator(,) ident(size)operator(\);) reserved(return) ident(ADD2HEAP)operator(()ident(n)operator(,) ident(cnt)operator(,) ident(ptr)operator(\);) operator(}) directive(static) directive(void) operator(*) ident(rb_parser_realloc)operator(()ident(ptr)operator(,) ident(size)operator(\)) directive(void) operator(*)ident(ptr)operator(;) ident(size_t) ident(size)operator(;) operator({) ident(NODE) operator(*)ident(n)operator(;) ident(size_t) ident(cnt) operator(=) ident(HEAPCNT)operator(()integer(1)operator(,) ident(size)operator(\);) reserved(if) operator(()ident(ptr) operator(&&) operator(()ident(n) operator(=) ident(parser_heap)operator(\)) operator(!=) pre_constant(NULL)operator(\)) operator({) reserved(do) operator({) reserved(if) operator(()ident(n)operator(->)ident(u1)operator(.)ident(node) operator(==) ident(ptr)operator(\)) operator({) ident(n)operator(->)ident(u1)operator(.)ident(node) operator(=) ident(ptr) operator(=) ident(xrealloc)operator(()ident(ptr)operator(,) ident(size)operator(\);) reserved(if) operator(()ident(n)operator(->)ident(u3)operator(.)ident(cnt)operator(\)) ident(n)operator(->)ident(u3)operator(.)ident(cnt) operator(=) ident(cnt)operator(;) reserved(return) ident(ptr)operator(;) operator(}) operator(}) reserved(while) operator((()ident(n) operator(=) ident(n)operator(->)ident(u2)operator(.)ident(node)operator(\)) operator(!=) pre_constant(NULL)operator(\);) operator(}) ident(n) operator(=) ident(NEWHEAP)operator((\);) ident(ptr) operator(=) ident(xrealloc)operator(()ident(ptr)operator(,) ident(size)operator(\);) reserved(return) ident(ADD2HEAP)operator(()ident(n)operator(,) ident(cnt)operator(,) ident(ptr)operator(\);) operator(}) directive(static) directive(void) ident(rb_parser_free)operator(()ident(ptr)operator(\)) directive(void) operator(*)ident(ptr)operator(;) operator({) ident(NODE) operator(**)ident(prev) operator(=) operator(&)ident(parser_heap)operator(,) operator(*)ident(n)operator(;) reserved(while) operator((()ident(n) operator(=) operator(*)ident(prev)operator(\)) operator(!=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(n)operator(->)ident(u1)operator(.)ident(node) operator(==) ident(ptr)operator(\)) operator({) operator(*)ident(prev) operator(=) ident(n)operator(->)ident(u2)operator(.)ident(node)operator(;) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(n)operator(\);) reserved(break)operator(;) operator(}) ident(prev) operator(=) operator(&)ident(n)operator(->)ident(u2)operator(.)ident(node)operator(;) operator(}) ident(xfree)operator(()ident(ptr)operator(\);) operator(}) preprocessor(#endif) comment(/********************************************************************** prec.c - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Tue Jan 26 02:40:41 2000 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") ident(VALUE) ident(rb_mPrecision)operator(;) directive(static) ident(ID) ident(prc_pr)operator(,) ident(prc_if)operator(;) comment(/* * call-seq: * num.prec(klass\) => a_klass * * Converts _self_ into an instance of _klass_. By default, * +prec+ invokes * * klass.induced_from(num\) * * and returns its value. So, if klass.induced_from * doesn't return an instance of _klass_, it will be necessary * to reimplement +prec+. */) directive(static) ident(VALUE) ident(prec_prec)operator(()ident(x)operator(,) ident(klass)operator(\)) ident(VALUE) ident(x)operator(,) ident(klass)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(klass)operator(,) ident(prc_if)operator(,) integer(1)operator(,) ident(x)operator(\);) operator(}) comment(/* * call-seq: * num.prec_i => Integer * * Returns an +Integer+ converted from _num_. It is equivalent * to prec(Integer\). */) directive(static) ident(VALUE) ident(prec_prec_i)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(rb_cInteger)operator(;) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) ident(prc_pr)operator(,) integer(1)operator(,) ident(klass)operator(\);) operator(}) comment(/* * call-seq: * num.prec_f => Float * * Returns a +Float+ converted from _num_. It is equivalent * to prec(Float\). */) directive(static) ident(VALUE) ident(prec_prec_f)operator(()ident(x)operator(\)) ident(VALUE) ident(x)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(rb_cFloat)operator(;) reserved(return) ident(rb_funcall)operator(()ident(x)operator(,) ident(prc_pr)operator(,) integer(1)operator(,) ident(klass)operator(\);) operator(}) comment(/* * call-seq: * Mod.induced_from(number\) => a_mod * * Creates an instance of mod from. This method is overridden * by concrete +Numeric+ classes, so that (for example\) * * Fixnum.induced_from(9.9\) #=> 9 * * Note that a use of +prec+ in a redefinition may cause * an infinite loop. */) directive(static) ident(VALUE) ident(prec_induced_from)operator(()ident(module)operator(,) ident(x)operator(\)) ident(VALUE) ident(module)operator(,) ident(x)operator(;) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(x)operator(\),) ident(rb_class2name)operator(()ident(module)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call_seq: * included * * When the +Precision+ module is mixed-in to a class, this +included+ * method is used to add our default +induced_from+ implementation * to the host class. */) directive(static) ident(VALUE) ident(prec_included)operator(()ident(module)operator(,) ident(include)operator(\)) ident(VALUE) ident(module)operator(,) ident(include)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(include)operator(\)\)) operator({) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(Check_Type)operator(()ident(include)operator(,) ident(T_CLASS)operator(\);) reserved(break)operator(;) operator(}) ident(rb_define_singleton_method)operator(()ident(include)operator(,) stringoperator(,) ident(prec_induced_from)operator(,) integer(1)operator(\);) reserved(return) ident(module)operator(;) operator(}) comment(/* * Precision is a mixin for concrete numeric classes with * precision. Here, `precision' means the fineness of approximation * of a real number, so, this module should not be included into * anything which is not a subset of Real (so it should not be * included in classes such as +Complex+ or +Matrix+\). */) directive(void) ident(Init_Precision)operator((\)) operator({) ident(rb_mPrecision) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_singleton_method)operator(()ident(rb_mPrecision)operator(,) stringoperator(,) ident(prec_included)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mPrecision)operator(,) stringoperator(,) ident(prec_prec)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_mPrecision)operator(,) stringoperator(,) ident(prec_prec_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_mPrecision)operator(,) stringoperator(,) ident(prec_prec_f)operator(,) integer(0)operator(\);) ident(prc_pr) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(prc_if) operator(=) ident(rb_intern)operator(()stringoperator(\);) operator(}) comment(/********************************************************************** process.c - $Author: shyouhei $ $Date: 2008-06-29 11:33:11 +0200 (Sun, 29 Jun 2008\) $ created at: Tue Aug 10 14:30:50 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(__DJGPP__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifndef) ident(EXIT_SUCCESS) preprocessor(#define) ident(EXIT_SUCCESS) integer(0) preprocessor(#endif) preprocessor(#ifndef) ident(EXIT_FAILURE) preprocessor(#define) ident(EXIT_FAILURE) integer(1) preprocessor(#endif) reserved(struct) ident(timeval) ident(rb_time_interval) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#ifdef) ident(HAVE_SYS_WAIT_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_RESOURCE_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#include) include("st.h") preprocessor(#ifdef) ident(__EMX__) preprocessor(#undef) ident(HAVE_GETPGRP) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SYS_TIMES_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_GRP_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_TIMES)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) directive(static) ident(VALUE) ident(S_Tms)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(WIFEXITED) preprocessor(#define) ident(WIFEXITED)operator(()ident(w)operator(\)) operator(((()ident(w)operator(\)) operator(&) hex(0xff)operator(\)) operator(==) integer(0)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(WIFSIGNALED) preprocessor(#define) ident(WIFSIGNALED)operator(()ident(w)operator(\)) operator(((()ident(w)operator(\)) operator(&) hex(0x7f)operator(\)) operator(>) integer(0) operator(&&) operator(((()ident(w)operator(\)) operator(&) hex(0x7f)operator(\)) operator(<) hex(0x7f)operator(\)\)) preprocessor(#endif) preprocessor(#ifndef) ident(WIFSTOPPED) preprocessor(#define) ident(WIFSTOPPED)operator(()ident(w)operator(\)) operator(((()ident(w)operator(\)) operator(&) hex(0xff)operator(\)) operator(==) hex(0x7f)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(WEXITSTATUS) preprocessor(#define) ident(WEXITSTATUS)operator(()ident(w)operator(\)) operator(((()ident(w)operator(\)) operator(>>) integer(8)operator(\)) operator(&) hex(0xff)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(WTERMSIG) preprocessor(#define) ident(WTERMSIG)operator(()ident(w)operator(\)) operator((()ident(w)operator(\)) operator(&) hex(0x7f)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(WSTOPSIG) preprocessor(#define) ident(WSTOPSIG) ident(WEXITSTATUS) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__APPLE__)operator(\)) operator(&&) operator(() ident(defined)operator(()ident(__MACH__)operator(\)) operator(||) ident(defined)operator(()ident(__DARWIN__)operator(\)) operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__MacOS_X__)operator(\)) preprocessor(#define) ident(__MacOS_X__) integer(1) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__FreeBSD__)operator(\)) operator(||) ident(defined)operator(()ident(__NetBSD__)operator(\)) operator(||) ident(defined)operator(()ident(__OpenBSD__)operator(\)) operator(||) ident(defined)operator(()ident(__bsdi__)operator(\)) preprocessor(#define) ident(HAVE_44BSD_SETUID) integer(1) preprocessor(#define) ident(HAVE_44BSD_SETGID) integer(1) preprocessor(#endif) preprocessor(#ifdef) ident(__NetBSD__) preprocessor(#undef) ident(HAVE_SETRUID) preprocessor(#undef) ident(HAVE_SETRGID) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__MacOS_X__)operator(\)) operator(||) ident(defined)operator(()ident(__bsdi__)operator(\)) preprocessor(#define) ident(BROKEN_SETREUID) integer(1) preprocessor(#define) ident(BROKEN_SETREGID) integer(1) preprocessor(#endif) preprocessor(#ifdef) ident(BROKEN_SETREUID) preprocessor(#define) ident(setreuid) ident(ruby_setreuid) preprocessor(#endif) preprocessor(#ifdef) ident(BROKEN_SETREGID) preprocessor(#define) ident(setregid) ident(ruby_setregid) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_44BSD_SETUID)operator(\)) operator(||) ident(defined)operator(()ident(__MacOS_X__)operator(\)) preprocessor(#if) operator(!)ident(defined)operator(()ident(USE_SETREUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(BROKEN_SETREUID)operator(\)) preprocessor(#define) ident(OBSOLETE_SETREUID) integer(1) preprocessor(#endif) preprocessor(#if) operator(!)ident(defined)operator(()ident(USE_SETREGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(BROKEN_SETREGID)operator(\)) preprocessor(#define) ident(OBSOLETE_SETREGID) integer(1) preprocessor(#endif) preprocessor(#endif) preprocessor(#define) ident(preserving_errno)operator(()ident(stmts)operator(\)) \ reserved(do) operator({)pre_type(int) ident(saved_errno) operator(=) ident(errno)operator(;) ident(stmts)operator(;) ident(errno) operator(=) ident(saved_errno)operator(;}) reserved(while) operator(()integer(0)operator(\)) comment(/* * call-seq: * Process.pid => fixnum * * Returns the process id of this process. Not available on all * platforms. * * Process.pid #=> 27415 */) directive(static) ident(VALUE) ident(get_pid)operator((\)) operator({) ident(rb_secure)operator(()integer(2)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(getpid)operator((\)\);) operator(}) comment(/* * call-seq: * Process.ppid => fixnum * * Returns the process id of the parent of this process. Always * returns 0 on NT. Not available on all platforms. * * puts "I am #{Process.pid}" * Process.fork { puts "Dad is #{Process.ppid}" } * * produces: * * I am 27417 * Dad is 27417 */) directive(static) ident(VALUE) ident(get_ppid)operator((\)) operator({) ident(rb_secure)operator(()integer(2)operator(\);) preprocessor(#ifdef) ident(_WIN32) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) reserved(return) ident(INT2FIX)operator(()ident(getppid)operator((\)\);) preprocessor(#endif) operator(}) comment(/********************************************************************* * * Document-class: Process::Status * * Process::Status encapsulates the information on the * status of a running or terminated system process. The built-in * variable $? is either +nil+ or a * Process::Status object. * * fork { exit 99 } #=> 26557 * Process.wait #=> 26557 * $?.class #=> Process::Status * $?.to_i #=> 25344 * $? >> 8 #=> 99 * $?.stopped? #=> false * $?.exited? #=> true * $?.exitstatus #=> 99 * * Posix systems record information on processes using a 16-bit * integer. The lower bits record the process status (stopped, * exited, signaled\) and the upper bits possibly contain additional * information (for example the program's return code in the case of * exited processes\). Pre Ruby 1.8, these bits were exposed directly * to the Ruby program. Ruby now encapsulates these in a * Process::Status object. To maximize compatibility, * however, these objects retain a bit-oriented interface. In the * descriptions that follow, when we talk about the integer value of * _stat_, we're referring to this 16 bit value. */) directive(static) ident(VALUE) ident(rb_cProcStatus)operator(;) ident(VALUE) ident(rb_last_status) operator(=) ident(Qnil)operator(;) directive(static) directive(void) ident(last_status_set)operator(()ident(status)operator(,) ident(pid)operator(\)) pre_type(int) ident(status)operator(,) ident(pid)operator(;) operator({) ident(rb_last_status) operator(=) ident(rb_obj_alloc)operator(()ident(rb_cProcStatus)operator(\);) ident(rb_iv_set)operator(()ident(rb_last_status)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(status)operator(\)\);) ident(rb_iv_set)operator(()ident(rb_last_status)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(pid)operator(\)\);) operator(}) comment(/* * call-seq: * stat.to_i => fixnum * stat.to_int => fixnum * * Returns the bits in _stat_ as a Fixnum. Poking * around in these bits is platform dependent. * * fork { exit 0xab } #=> 26566 * Process.wait #=> 26566 * sprintf('%04x', $?.to_i\) #=> "ab00" */) directive(static) ident(VALUE) ident(pst_to_i)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) reserved(return) ident(rb_iv_get)operator(()ident(st)operator(,) stringoperator(\);) operator(}) comment(/* * call-seq: * stat.to_s => string * * Equivalent to _stat_.to_i.to_s. */) directive(static) ident(VALUE) ident(pst_to_s)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) reserved(return) ident(rb_fix2str)operator(()ident(pst_to_i)operator(()ident(st)operator(\),) integer(10)operator(\);) operator(}) comment(/* * call-seq: * stat.pid => fixnum * * Returns the process ID that this status object represents. * * fork { exit } #=> 26569 * Process.wait #=> 26569 * $?.pid #=> 26569 */) directive(static) ident(VALUE) ident(pst_pid)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) reserved(return) ident(rb_iv_get)operator(()ident(st)operator(,) stringoperator(\);) operator(}) comment(/* * call-seq: * stat.inspect => string * * Override the inspection method. */) directive(static) ident(VALUE) ident(pst_inspect)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) ident(VALUE) ident(pid)operator(;) pre_type(int) ident(status)operator(;) ident(VALUE) ident(str)operator(;) pre_type(char) ident(buf)operator([)integer(256)operator(];) ident(pid) operator(=) ident(pst_pid)operator(()ident(st)operator(\);) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) ident(snprintf)operator(()ident(buf)operator(,) reserved(sizeof)operator(()ident(buf)operator(\),) stringoperator(,) ident(rb_class2name)operator(()ident(CLASS_OF)operator(()ident(st)operator(\)\),) ident(NUM2LONG)operator(()ident(pid)operator(\)\);) ident(str) operator(=) ident(rb_str_new2)operator(()ident(buf)operator(\);) reserved(if) operator(()ident(WIFSTOPPED)operator(()ident(status)operator(\)\)) operator({) pre_type(int) ident(stopsig) operator(=) ident(WSTOPSIG)operator(()ident(status)operator(\);) directive(const) pre_type(char) operator(*)ident(signame) operator(=) ident(ruby_signal_name)operator(()ident(stopsig)operator(\);) reserved(if) operator(()ident(signame)operator(\)) operator({) ident(snprintf)operator(()ident(buf)operator(,) reserved(sizeof)operator(()ident(buf)operator(\),) stringoperator(,) ident(signame)operator(,) ident(stopsig)operator(\);) operator(}) reserved(else) operator({) ident(snprintf)operator(()ident(buf)operator(,) reserved(sizeof)operator(()ident(buf)operator(\),) stringoperator(,) ident(stopsig)operator(\);) operator(}) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(buf)operator(\);) operator(}) reserved(if) operator(()ident(WIFSIGNALED)operator(()ident(status)operator(\)\)) operator({) pre_type(int) ident(termsig) operator(=) ident(WTERMSIG)operator(()ident(status)operator(\);) directive(const) pre_type(char) operator(*)ident(signame) operator(=) ident(ruby_signal_name)operator(()ident(termsig)operator(\);) reserved(if) operator(()ident(signame)operator(\)) operator({) ident(snprintf)operator(()ident(buf)operator(,) reserved(sizeof)operator(()ident(buf)operator(\),) stringoperator(,) ident(signame)operator(,) ident(termsig)operator(\);) operator(}) reserved(else) operator({) ident(snprintf)operator(()ident(buf)operator(,) reserved(sizeof)operator(()ident(buf)operator(\),) stringoperator(,) ident(termsig)operator(\);) operator(}) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(buf)operator(\);) operator(}) reserved(if) operator(()ident(WIFEXITED)operator(()ident(status)operator(\)\)) operator({) ident(snprintf)operator(()ident(buf)operator(,) reserved(sizeof)operator(()ident(buf)operator(\),) stringoperator(,) ident(WEXITSTATUS)operator(()ident(status)operator(\)\);) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(buf)operator(\);) operator(}) preprocessor(#ifdef) ident(WCOREDUMP) reserved(if) operator(()ident(WCOREDUMP)operator(()ident(status)operator(\)\)) operator({) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) preprocessor(#endif) ident(rb_str_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * stat == other => true or false * * Returns +true+ if the integer value of _stat_ * equals other. */) directive(static) ident(VALUE) ident(pst_equal)operator(()ident(st1)operator(,) ident(st2)operator(\)) ident(VALUE) ident(st1)operator(,) ident(st2)operator(;) operator({) reserved(if) operator(()ident(st1) operator(==) ident(st2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(rb_equal)operator(()ident(pst_to_i)operator(()ident(st1)operator(\),) ident(st2)operator(\);) operator(}) comment(/* * call-seq: * stat & num => fixnum * * Logical AND of the bits in _stat_ with num. * * fork { exit 0x37 } * Process.wait * sprintf('%04x', $?.to_i\) #=> "3700" * sprintf('%04x', $? & 0x1e00\) #=> "1600" */) directive(static) ident(VALUE) ident(pst_bitand)operator(()ident(st1)operator(,) ident(st2)operator(\)) ident(VALUE) ident(st1)operator(,) ident(st2)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st1)operator(\)) operator(&) ident(NUM2INT)operator(()ident(st2)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(status)operator(\);) operator(}) comment(/* * call-seq: * stat >> num => fixnum * * Shift the bits in _stat_ right num places. * * fork { exit 99 } #=> 26563 * Process.wait #=> 26563 * $?.to_i #=> 25344 * $? >> 8 #=> 99 */) directive(static) ident(VALUE) ident(pst_rshift)operator(()ident(st1)operator(,) ident(st2)operator(\)) ident(VALUE) ident(st1)operator(,) ident(st2)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st1)operator(\)) operator(>>) ident(NUM2INT)operator(()ident(st2)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(status)operator(\);) operator(}) comment(/* * call-seq: * stat.stopped? => true or false * * Returns +true+ if this process is stopped. This is only * returned if the corresponding wait call had the * WUNTRACED flag set. */) directive(static) ident(VALUE) ident(pst_wifstopped)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WIFSTOPPED)operator(()ident(status)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(else) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.stopsig => fixnum or nil * * Returns the number of the signal that caused _stat_ to stop * (or +nil+ if self is not stopped\). */) directive(static) ident(VALUE) ident(pst_wstopsig)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WIFSTOPPED)operator(()ident(status)operator(\)\)) reserved(return) ident(INT2NUM)operator(()ident(WSTOPSIG)operator(()ident(status)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * stat.signaled? => true or false * * Returns +true+ if _stat_ terminated because of * an uncaught signal. */) directive(static) ident(VALUE) ident(pst_wifsignaled)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WIFSIGNALED)operator(()ident(status)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(else) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.termsig => fixnum or nil * * Returns the number of the signal that caused _stat_ to * terminate (or +nil+ if self was not terminated by an * uncaught signal\). */) directive(static) ident(VALUE) ident(pst_wtermsig)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WIFSIGNALED)operator(()ident(status)operator(\)\)) reserved(return) ident(INT2NUM)operator(()ident(WTERMSIG)operator(()ident(status)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * stat.exited? => true or false * * Returns +true+ if _stat_ exited normally (for * example using an exit(\) call or finishing the * program\). */) directive(static) ident(VALUE) ident(pst_wifexited)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WIFEXITED)operator(()ident(status)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(else) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.exitstatus => fixnum or nil * * Returns the least significant eight bits of the return code of * _stat_. Only available if exited? is * +true+. * * fork { } #=> 26572 * Process.wait #=> 26572 * $?.exited? #=> true * $?.exitstatus #=> 0 * * fork { exit 99 } #=> 26573 * Process.wait #=> 26573 * $?.exited? #=> true * $?.exitstatus #=> 99 */) directive(static) ident(VALUE) ident(pst_wexitstatus)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WIFEXITED)operator(()ident(status)operator(\)\)) reserved(return) ident(INT2NUM)operator(()ident(WEXITSTATUS)operator(()ident(status)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * stat.success? => true, false or nil * * Returns +true+ if _stat_ is successful, +false+ if not. * Returns +nil+ if exited? is not +true+. */) directive(static) ident(VALUE) ident(pst_success_p)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator((!)ident(WIFEXITED)operator(()ident(status)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(WEXITSTATUS)operator(()ident(status)operator(\)) operator(==) ident(EXIT_SUCCESS) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * stat.coredump? => true or false * * Returns +true+ if _stat_ generated a coredump * when it terminated. Not available on all platforms. */) directive(static) ident(VALUE) ident(pst_wcoredump)operator(()ident(st)operator(\)) ident(VALUE) ident(st)operator(;) operator({) preprocessor(#ifdef) ident(WCOREDUMP) pre_type(int) ident(status) operator(=) ident(NUM2INT)operator(()ident(st)operator(\);) reserved(if) operator(()ident(WCOREDUMP)operator(()ident(status)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(else) reserved(return) ident(Qfalse)operator(;) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) preprocessor(#if) operator(!)ident(defined)operator(()ident(HAVE_WAITPID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(HAVE_WAIT4)operator(\)) preprocessor(#define) ident(NO_WAITPID) directive(static) ident(st_table) operator(*)ident(pid_tbl)operator(;) preprocessor(#endif) pre_type(int) ident(rb_waitpid)operator(()ident(pid)operator(,) ident(st)operator(,) ident(flags)operator(\)) pre_type(int) ident(pid)operator(;) pre_type(int) operator(*)ident(st)operator(;) pre_type(int) ident(flags)operator(;) operator({) pre_type(int) ident(result)operator(;) preprocessor(#ifndef) ident(NO_WAITPID) pre_type(int) ident(oflags) operator(=) ident(flags)operator(;) reserved(if) operator((!)ident(rb_thread_alone)operator((\)\)) operator({) comment(/* there're other threads to run */) ident(flags) operator(|=) ident(WNOHANG)operator(;) operator(}) label(retry:) ident(TRAP_BEG)operator(;) preprocessor(#ifdef) ident(HAVE_WAITPID) ident(result) operator(=) ident(waitpid)operator(()ident(pid)operator(,) ident(st)operator(,) ident(flags)operator(\);) preprocessor(#else) comment(/* HAVE_WAIT4 */) ident(result) operator(=) ident(wait4)operator(()ident(pid)operator(,) ident(st)operator(,) ident(flags)operator(,) pre_constant(NULL)operator(\);) preprocessor(#endif) ident(TRAP_END)operator(;) reserved(if) operator(()ident(result) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EINTR)operator(\)) operator({) ident(rb_thread_polling)operator((\);) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(result) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(oflags) operator(&) ident(WNOHANG)operator(\)) reserved(return) integer(0)operator(;) ident(rb_thread_polling)operator((\);) reserved(if) operator(()ident(rb_thread_alone)operator((\)\)) ident(flags) operator(=) ident(oflags)operator(;) reserved(goto) ident(retry)operator(;) operator(}) preprocessor(#else) comment(/* NO_WAITPID */) reserved(if) operator(()ident(pid_tbl) operator(&&) ident(st_lookup)operator(()ident(pid_tbl)operator(,) ident(pid)operator(,) ident(st)operator(\)\)) operator({) ident(last_status_set)operator((*)ident(st)operator(,) ident(pid)operator(\);) ident(st_delete)operator(()ident(pid_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(pid)operator(,) pre_constant(NULL)operator(\);) reserved(return) ident(pid)operator(;) operator(}) reserved(if) operator(()ident(flags)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(for) operator((;;\)) operator({) ident(TRAP_BEG)operator(;) ident(result) operator(=) ident(wait)operator(()ident(st)operator(\);) ident(TRAP_END)operator(;) reserved(if) operator(()ident(result) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EINTR)operator(\)) operator({) ident(rb_thread_schedule)operator((\);) reserved(continue)operator(;) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(result) operator(==) ident(pid)operator(\)) operator({) reserved(break)operator(;) operator(}) reserved(if) operator((!)ident(pid_tbl)operator(\)) ident(pid_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(st_insert)operator(()ident(pid_tbl)operator(,) ident(pid)operator(,) ident(st)operator(\);) reserved(if) operator((!)ident(rb_thread_alone)operator((\)\)) ident(rb_thread_schedule)operator((\);) operator(}) preprocessor(#endif) reserved(if) operator(()ident(result) operator(>) integer(0)operator(\)) operator({) ident(last_status_set)operator((*)ident(st)operator(,) ident(result)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) preprocessor(#ifdef) ident(NO_WAITPID) reserved(struct) ident(wait_data) operator({) pre_type(int) ident(pid)operator(;) pre_type(int) ident(status)operator(;) operator(};) directive(static) pre_type(int) ident(wait_each)operator(()ident(pid)operator(,) ident(status)operator(,) ident(data)operator(\)) pre_type(int) ident(pid)operator(,) ident(status)operator(;) reserved(struct) ident(wait_data) operator(*)ident(data)operator(;) operator({) reserved(if) operator(()ident(data)operator(->)ident(status) operator(!=) operator(-)integer(1)operator(\)) reserved(return) ident(ST_STOP)operator(;) ident(data)operator(->)ident(pid) operator(=) ident(pid)operator(;) ident(data)operator(->)ident(status) operator(=) ident(status)operator(;) reserved(return) ident(ST_DELETE)operator(;) operator(}) directive(static) pre_type(int) ident(waitall_each)operator(()ident(pid)operator(,) ident(status)operator(,) ident(ary)operator(\)) pre_type(int) ident(pid)operator(,) ident(status)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(last_status_set)operator(()ident(status)operator(,) ident(pid)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_assoc_new)operator(()ident(INT2NUM)operator(()ident(pid)operator(\),) ident(rb_last_status)operator(\)\);) reserved(return) ident(ST_DELETE)operator(;) operator(}) preprocessor(#endif) comment(/* [MG]:FIXME: I wasn't sure how this should be done, since ::wait(\) has historically been documented as if it didn't take any arguments despite the fact that it's just an alias for ::waitpid(\). The way I have it below is more truthful, but a little confusing. I also took the liberty of putting in the pid values, as they're pretty useful, and it looked as if the original 'ri' output was supposed to contain them after "[...]depending on the value of aPid:". The 'ansi' and 'bs' formats of the ri output don't display the definition list for some reason, but the plain text one does. */) comment(/* * call-seq: * Process.wait(\) => fixnum * Process.wait(pid=-1, flags=0\) => fixnum * Process.waitpid(pid=-1, flags=0\) => fixnum * * Waits for a child process to exit, returns its process id, and * sets $? to a Process::Status object * containing information on that process. Which child it waits on * depends on the value of _pid_: * * > 0:: Waits for the child whose process ID equals _pid_. * * 0:: Waits for any child whose process group ID equals that of the * calling process. * * -1:: Waits for any child process (the default if no _pid_ is * given\). * * < -1:: Waits for any child whose process group ID equals the absolute * value of _pid_. * * The _flags_ argument may be a logical or of the flag values * Process::WNOHANG (do not block if no child available\) * or Process::WUNTRACED (return stopped children that * haven't been reported\). Not all flags are available on all * platforms, but a flag value of zero will work on all platforms. * * Calling this method raises a SystemError if there are * no child processes. Not available on all platforms. * * include Process * fork { exit 99 } #=> 27429 * wait #=> 27429 * $?.exitstatus #=> 99 * * pid = fork { sleep 3 } #=> 27440 * Time.now #=> Wed Apr 09 08:57:09 CDT 2003 * waitpid(pid, Process::WNOHANG\) #=> nil * Time.now #=> Wed Apr 09 08:57:09 CDT 2003 * waitpid(pid, 0\) #=> 27440 * Time.now #=> Wed Apr 09 08:57:12 CDT 2003 */) directive(static) ident(VALUE) ident(proc_wait)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(vpid)operator(,) ident(vflags)operator(;) pre_type(int) ident(pid)operator(,) ident(flags)operator(,) ident(status)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(flags) operator(=) integer(0)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(vpid)operator(,) operator(&)ident(vflags)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(pid) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) ident(pid) operator(=) ident(NUM2INT)operator(()ident(vpid)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(2) operator(&&) operator(!)ident(NIL_P)operator(()ident(vflags)operator(\)\)) operator({) ident(flags) operator(=) ident(NUM2UINT)operator(()ident(vflags)operator(\);) operator(}) operator(}) reserved(if) operator((()ident(pid) operator(=) ident(rb_waitpid)operator(()ident(pid)operator(,) operator(&)ident(status)operator(,) ident(flags)operator(\)\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(pid) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_last_status) operator(=) ident(Qnil)operator(;) operator(}) reserved(return) ident(INT2FIX)operator(()ident(pid)operator(\);) operator(}) comment(/* * call-seq: * Process.wait2(pid=-1, flags=0\) => [pid, status] * Process.waitpid2(pid=-1, flags=0\) => [pid, status] * * Waits for a child process to exit (see Process::waitpid for exact * semantics\) and returns an array containing the process id and the * exit status (a Process::Status object\) of that * child. Raises a SystemError if there are no child * processes. * * Process.fork { exit 99 } #=> 27437 * pid, status = Process.wait2 * pid #=> 27437 * status.exitstatus #=> 99 */) directive(static) ident(VALUE) ident(proc_wait2)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(pid) operator(=) ident(proc_wait)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(pid)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_assoc_new)operator(()ident(pid)operator(,) ident(rb_last_status)operator(\);) operator(}) comment(/* * call-seq: * Process.waitall => [ [pid1,status1], ...] * * Waits for all children, returning an array of * _pid_/_status_ pairs (where _status_ is a * Process::Status object\). * * fork { sleep 0.2; exit 2 } #=> 27432 * fork { sleep 0.1; exit 1 } #=> 27433 * fork { exit 0 } #=> 27434 * p Process.waitall * * produces: * * [[27434, #], * [27433, #], * [27432, #]] */) directive(static) ident(VALUE) ident(proc_waitall)operator((\)) operator({) ident(VALUE) ident(result)operator(;) pre_type(int) ident(pid)operator(,) ident(status)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(result) operator(=) ident(rb_ary_new)operator((\);) preprocessor(#ifdef) ident(NO_WAITPID) reserved(if) operator(()ident(pid_tbl)operator(\)) operator({) ident(st_foreach)operator(()ident(pid_tbl)operator(,) ident(waitall_each)operator(,) ident(result)operator(\);) operator(}) reserved(for) operator(()ident(pid) operator(=) operator(-)integer(1)operator(;;\)) operator({) ident(pid) operator(=) ident(wait)operator((&)ident(status)operator(\);) reserved(if) operator(()ident(pid) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(ECHILD)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(errno) operator(==) ident(EINTR)operator(\)) operator({) ident(rb_thread_schedule)operator((\);) reserved(continue)operator(;) operator(}) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) ident(last_status_set)operator(()ident(status)operator(,) ident(pid)operator(\);) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_assoc_new)operator(()ident(INT2NUM)operator(()ident(pid)operator(\),) ident(rb_last_status)operator(\)\);) operator(}) preprocessor(#else) ident(rb_last_status) operator(=) ident(Qnil)operator(;) reserved(for) operator(()ident(pid) operator(=) operator(-)integer(1)operator(;;\)) operator({) ident(pid) operator(=) ident(rb_waitpid)operator((-)integer(1)operator(,) operator(&)ident(status)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(pid) operator(==) operator(-)integer(1)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(ECHILD)operator(\)) reserved(break)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_assoc_new)operator(()ident(INT2NUM)operator(()ident(pid)operator(\),) ident(rb_last_status)operator(\)\);) operator(}) preprocessor(#endif) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(detach_process_watcher)operator(()ident(arg)operator(\)) directive(void) operator(*)ident(arg)operator(;) operator({) pre_type(int) ident(pid) operator(=) operator(()pre_type(int)operator(\)()ident(VALUE)operator(\))ident(arg)operator(,) ident(status)operator(;) reserved(while) operator(()ident(rb_waitpid)operator(()ident(pid)operator(,) operator(&)ident(status)operator(,) ident(WNOHANG)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(rb_thread_sleep)operator(()integer(1)operator(\);) operator(}) reserved(return) ident(rb_last_status)operator(;) operator(}) ident(VALUE) ident(rb_detach_process)operator(()ident(pid)operator(\)) pre_type(int) ident(pid)operator(;) operator({) reserved(return) ident(rb_thread_create)operator(()ident(detach_process_watcher)operator(,) operator(()directive(void)operator(*\)()ident(VALUE)operator(\))ident(pid)operator(\);) operator(}) comment(/* * call-seq: * Process.detach(pid\) => thread * * Some operating systems retain the status of terminated child * processes until the parent collects that status (normally using * some variant of wait(\). If the parent never collects * this status, the child stays around as a zombie process. * Process::detach prevents this by setting up a * separate Ruby thread whose sole job is to reap the status of the * process _pid_ when it terminates. Use detach * only when you do not intent to explicitly wait for the child to * terminate. detach only checks the status * periodically (currently once each second\). * * The waiting thread returns the exit status of the detached process * when it terminates, so you can use Thread#join to * know the result. If specified _pid_ is not a valid child process * ID, the thread returns +nil+ immediately. * * In this first example, we don't reap the first child process, so * it appears as a zombie in the process status display. * * p1 = fork { sleep 0.1 } * p2 = fork { sleep 0.2 } * Process.waitpid(p2\) * sleep 2 * system("ps -ho pid,state -p #{p1}"\) * * produces: * * 27389 Z * * In the next example, Process::detach is used to reap * the child automatically. * * p1 = fork { sleep 0.1 } * p2 = fork { sleep 0.2 } * Process.detach(p1\) * Process.waitpid(p2\) * sleep 2 * system("ps -ho pid,state -p #{p1}"\) * * (produces no output\) */) directive(static) ident(VALUE) ident(proc_detach)operator(()ident(VALUE) ident(obj)operator(,) ident(VALUE) ident(pid)operator(\)) operator({) ident(rb_secure)operator(()integer(2)operator(\);) reserved(return) ident(rb_detach_process)operator(()ident(NUM2INT)operator(()ident(pid)operator(\)\);) operator(}) preprocessor(#ifndef) ident(HAVE_STRING_H) pre_type(char) operator(*)ident(strtok)operator((\);) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_SETITIMER) preprocessor(#define) ident(before_exec)operator((\)) ident(rb_thread_stop_timer)operator((\)) preprocessor(#define) ident(after_exec)operator((\)) ident(rb_thread_start_timer)operator((\)) preprocessor(#else) preprocessor(#define) ident(before_exec)operator((\)) preprocessor(#define) ident(after_exec)operator((\)) preprocessor(#endif) directive(extern) pre_type(char) operator(*)ident(dln_find_exe)operator((\);) directive(static) directive(void) ident(security)operator(()ident(str)operator(\)) pre_type(char) operator(*)ident(str)operator(;) operator({) reserved(if) operator(()ident(rb_env_path_tainted)operator((\)\)) operator({) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(str)operator(\);) operator(}) operator(}) operator(}) directive(static) pre_type(int) ident(proc_exec_v)operator(()ident(argv)operator(,) ident(prog)operator(\)) pre_type(char) operator(**)ident(argv)operator(;) pre_type(char) operator(*)ident(prog)operator(;) operator({) reserved(if) operator((!)ident(prog)operator(\)) ident(prog) operator(=) ident(argv)operator([)integer(0)operator(];) ident(security)operator(()ident(prog)operator(\);) ident(prog) operator(=) ident(dln_find_exe)operator(()ident(prog)operator(,) integer(0)operator(\);) reserved(if) operator((!)ident(prog)operator(\)) reserved(return) operator(-)integer(1)operator(;) preprocessor(#if) operator(()ident(defined)operator(()ident(MSDOS)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(DJGPP)operator(\)\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__EMX__)operator(\)) operator(||) ident(defined)operator(()ident(OS2)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) preprocessor(#define) ident(COMMAND) string preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__EMX__)operator(\)) operator(||) ident(defined)operator(()ident(OS2)operator(\)) comment(/* OS/2 emx */) preprocessor(#define) ident(COMMAND) string preprocessor(#endif) preprocessor(#if) operator(()ident(defined)operator(()ident(MSDOS)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(DJGPP)operator(\)\)) preprocessor(#define) ident(COMMAND) string preprocessor(#endif) pre_type(char) operator(*)ident(extension)operator(;) reserved(if) operator((()ident(extension) operator(=) ident(strrchr)operator(()ident(prog)operator(,) char('.')operator(\)\)) operator(!=) pre_constant(NULL) operator(&&) ident(strcasecmp)operator(()ident(extension)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) pre_type(char) operator(**)ident(new_argv)operator(;) pre_type(char) operator(*)ident(p)operator(;) pre_type(int) ident(n)operator(;) reserved(for) operator(()ident(n) operator(=) integer(0)operator(;) ident(argv)operator([)ident(n)operator(];) ident(n)operator(++\)) comment(/* no-op */)operator(;) ident(new_argv) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) ident(n) operator(+) integer(2)operator(\);) reserved(for) operator((;) ident(n) operator(>) integer(0)operator(;) ident(n)operator(--\)) ident(new_argv)operator([)ident(n) operator(+) integer(1)operator(]) operator(=) ident(argv)operator([)ident(n)operator(];) ident(new_argv)operator([)integer(1)operator(]) operator(=) ident(strcpy)operator(()ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(+) integer(1)operator(\),) ident(argv)operator([)integer(0)operator(]\);) reserved(for) operator(()ident(p) operator(=) ident(new_argv)operator([)integer(1)operator(];) operator(*)ident(p) operator(!=) char('\\0')operator(;) ident(p)operator(++\)) reserved(if) operator((*)ident(p) operator(==) char('/')operator(\)) operator(*)ident(p) operator(=) char('\\\\')operator(;) ident(new_argv)operator([)integer(0)operator(]) operator(=) ident(COMMAND)operator(;) ident(argv) operator(=) ident(new_argv)operator(;) ident(prog) operator(=) ident(dln_find_exe)operator(()ident(argv)operator([)integer(0)operator(],) integer(0)operator(\);) reserved(if) operator((!)ident(prog)operator(\)) operator({) ident(errno) operator(=) ident(ENOENT)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) operator(}) preprocessor(#endif) comment(/* MSDOS or __human68k__ or __EMX__ */) ident(before_exec)operator((\);) ident(rb_thread_cancel_timer)operator((\);) ident(execv)operator(()ident(prog)operator(,) ident(argv)operator(\);) ident(preserving_errno)operator(()ident(after_exec)operator((\)\);) reserved(return) operator(-)integer(1)operator(;) operator(}) directive(static) pre_type(int) ident(proc_exec_n)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(progv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(progv)operator(;) operator({) pre_type(char) operator(*)ident(prog) operator(=) integer(0)operator(;) pre_type(char) operator(**)ident(args)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(progv)operator(\)) operator({) ident(prog) operator(=) ident(RSTRING)operator(()ident(progv)operator(\)->)ident(ptr)operator(;) operator(}) ident(args) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) ident(argc)operator(+)integer(1)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(SafeStringValue)operator(()ident(argv)operator([)ident(i)operator(]\);) ident(args)operator([)ident(i)operator(]) operator(=) ident(RSTRING)operator(()ident(argv)operator([)ident(i)operator(]\)->)ident(ptr)operator(;) operator(}) ident(args)operator([)ident(i)operator(]) operator(=) integer(0)operator(;) reserved(if) operator(()ident(args)operator([)integer(0)operator(]\)) operator({) reserved(return) ident(proc_exec_v)operator(()ident(args)operator(,) ident(prog)operator(\);) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) pre_type(int) ident(rb_proc_exec)operator(()ident(str)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(s) operator(=) ident(str)operator(;) pre_type(char) operator(*)ident(ss)operator(,) operator(*)ident(t)operator(;) pre_type(char) operator(**)ident(argv)operator(,) operator(**)ident(a)operator(;) reserved(while) operator((*)ident(str) operator(&&) ident(ISSPACE)operator((*)ident(str)operator(\)\)) ident(str)operator(++;) preprocessor(#ifdef) ident(_WIN32) ident(before_exec)operator((\);) ident(do_spawn)operator(()ident(P_OVERLAY)operator(,) operator(()pre_type(char) operator(*\))ident(str)operator(\);) ident(after_exec)operator((\);) preprocessor(#else) reserved(for) operator(()ident(s)operator(=)ident(str)operator(;) operator(*)ident(s)operator(;) ident(s)operator(++\)) operator({) reserved(if) operator((*)ident(s) operator(!=) char(' ') operator(&&) operator(!)ident(ISALPHA)operator((*)ident(s)operator(\)) operator(&&) ident(strchr)operator(()string(\)~&|)char(\\\\)content($;'`)char(\\")char(\\n)delimiter(")>operator(,*)ident(s)operator(\)\)) operator({) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) pre_type(int) ident(status)operator(;) ident(before_exec)operator((\);) ident(status) operator(=) ident(system)operator(()ident(str)operator(\);) ident(after_exec)operator((\);) reserved(if) operator(()ident(status) operator(!=) operator(-)integer(1)operator(\)) ident(exit)operator(()ident(status)operator(\);) preprocessor(#else) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN32__)operator(\)) operator(||) ident(defined)operator(()ident(__EMX__)operator(\)) pre_type(char) operator(*)ident(shell) operator(=) ident(dln_find_exe)operator(()stringoperator(,) integer(0)operator(\);) pre_type(int) ident(status) operator(=) operator(-)integer(1)operator(;) ident(before_exec)operator((\);) reserved(if) operator(()ident(shell)operator(\)) ident(execl)operator(()ident(shell)operator(,) stringoperator(,) stringoperator(,) ident(str)operator(,) operator(()pre_type(char) operator(*\)) pre_constant(NULL)operator(\);) reserved(else) ident(status) operator(=) ident(system)operator(()ident(str)operator(\);) ident(after_exec)operator((\);) reserved(if) operator(()ident(status) operator(!=) operator(-)integer(1)operator(\)) ident(exit)operator(()ident(status)operator(\);) preprocessor(#else) ident(before_exec)operator((\);) ident(execl)operator(()stringoperator(,) stringoperator(,) stringoperator(,) ident(str)operator(,) operator(()pre_type(char) operator(*\))pre_constant(NULL)operator(\);) ident(preserving_errno)operator(()ident(after_exec)operator((\)\);) preprocessor(#endif) preprocessor(#endif) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) ident(a) operator(=) ident(argv) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) operator(()ident(s)operator(-)ident(str)operator(\))operator(/)integer(2)operator(+)integer(2)operator(\);) ident(ss) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(s)operator(-)ident(str)operator(+)integer(1)operator(\);) ident(strcpy)operator(()ident(ss)operator(,) ident(str)operator(\);) reserved(if) operator(((*)ident(a)operator(++) operator(=) ident(strtok)operator(()ident(ss)operator(,) stringoperator(\)\)) operator(!=) integer(0)operator(\)) operator({) reserved(while) operator((()ident(t) operator(=) ident(strtok)operator(()pre_constant(NULL)operator(,) stringoperator(\)\)) operator(!=) integer(0)operator(\)) operator({) operator(*)ident(a)operator(++) operator(=) ident(t)operator(;) operator(}) operator(*)ident(a) operator(=) pre_constant(NULL)operator(;) operator(}) reserved(if) operator(()ident(argv)operator([)integer(0)operator(]\)) operator({) reserved(return) ident(proc_exec_v)operator(()ident(argv)operator(,) integer(0)operator(\);) operator(}) ident(errno) operator(=) ident(ENOENT)operator(;) preprocessor(#endif) comment(/* _WIN32 */) reserved(return) operator(-)integer(1)operator(;) operator(}) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__DJGPP__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) directive(static) pre_type(int) ident(proc_spawn_v)operator(()ident(argv)operator(,) ident(prog)operator(\)) pre_type(char) operator(**)ident(argv)operator(;) pre_type(char) operator(*)ident(prog)operator(;) operator({) pre_type(char) operator(*)ident(extension)operator(;) pre_type(int) ident(status)operator(;) reserved(if) operator((!)ident(prog)operator(\)) ident(prog) operator(=) ident(argv)operator([)integer(0)operator(];) ident(security)operator(()ident(prog)operator(\);) ident(prog) operator(=) ident(dln_find_exe)operator(()ident(prog)operator(,) integer(0)operator(\);) reserved(if) operator((!)ident(prog)operator(\)) reserved(return) operator(-)integer(1)operator(;) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) reserved(if) operator((()ident(extension) operator(=) ident(strrchr)operator(()ident(prog)operator(,) char('.')operator(\)\)) operator(!=) pre_constant(NULL) operator(&&) ident(strcasecmp)operator(()ident(extension)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) pre_type(char) operator(**)ident(new_argv)operator(;) pre_type(char) operator(*)ident(p)operator(;) pre_type(int) ident(n)operator(;) reserved(for) operator(()ident(n) operator(=) integer(0)operator(;) ident(argv)operator([)ident(n)operator(];) ident(n)operator(++\)) comment(/* no-op */)operator(;) ident(new_argv) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) ident(n) operator(+) integer(2)operator(\);) reserved(for) operator((;) ident(n) operator(>) integer(0)operator(;) ident(n)operator(--\)) ident(new_argv)operator([)ident(n) operator(+) integer(1)operator(]) operator(=) ident(argv)operator([)ident(n)operator(];) ident(new_argv)operator([)integer(1)operator(]) operator(=) ident(strcpy)operator(()ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(+) integer(1)operator(\),) ident(argv)operator([)integer(0)operator(]\);) reserved(for) operator(()ident(p) operator(=) ident(new_argv)operator([)integer(1)operator(];) operator(*)ident(p) operator(!=) char('\\0')operator(;) ident(p)operator(++\)) reserved(if) operator((*)ident(p) operator(==) char('/')operator(\)) operator(*)ident(p) operator(=) char('\\\\')operator(;) ident(new_argv)operator([)integer(0)operator(]) operator(=) ident(COMMAND)operator(;) ident(argv) operator(=) ident(new_argv)operator(;) ident(prog) operator(=) ident(dln_find_exe)operator(()ident(argv)operator([)integer(0)operator(],) integer(0)operator(\);) reserved(if) operator((!)ident(prog)operator(\)) operator({) ident(errno) operator(=) ident(ENOENT)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) preprocessor(#endif) ident(before_exec)operator((\);) preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) ident(status) operator(=) ident(do_aspawn)operator(()ident(P_WAIT)operator(,) ident(prog)operator(,) ident(argv)operator(\);) preprocessor(#else) ident(status) operator(=) ident(spawnv)operator(()ident(P_WAIT)operator(,) ident(prog)operator(,) ident(argv)operator(\);) preprocessor(#endif) ident(after_exec)operator((\);) reserved(return) ident(status)operator(;) operator(}) directive(static) pre_type(int) ident(proc_spawn_n)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(prog)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(prog)operator(;) operator({) pre_type(char) operator(**)ident(args)operator(;) pre_type(int) ident(i)operator(;) ident(args) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) ident(argc) operator(+) integer(1)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(SafeStringValue)operator(()ident(argv)operator([)ident(i)operator(]\);) ident(args)operator([)ident(i)operator(]) operator(=) ident(StringValueCStr)operator(()ident(argv)operator([)ident(i)operator(]\);) operator(}) reserved(if) operator(()ident(prog)operator(\)) ident(SafeStringValue)operator(()ident(prog)operator(\);) ident(args)operator([)ident(i)operator(]) operator(=) operator(()pre_type(char)operator(*\)) integer(0)operator(;) reserved(if) operator(()ident(args)operator([)integer(0)operator(]\)) reserved(return) ident(proc_spawn_v)operator(()ident(args)operator(,) ident(prog) operator(?) ident(StringValueCStr)operator(()ident(prog)operator(\)) operator(:) integer(0)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) preprocessor(#if) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) directive(static) pre_type(int) ident(proc_spawn)operator(()ident(sv)operator(\)) ident(VALUE) ident(sv)operator(;) operator({) pre_type(char) operator(*)ident(str)operator(;) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(t)operator(;) pre_type(char) operator(**)ident(argv)operator(,) operator(**)ident(a)operator(;) pre_type(int) ident(status)operator(;) ident(SafeStringValue)operator(()ident(sv)operator(\);) ident(str) operator(=) ident(s) operator(=) ident(StringValueCStr)operator(()ident(sv)operator(\);) reserved(for) operator(()ident(s) operator(=) ident(str)operator(;) operator(*)ident(s)operator(;) ident(s)operator(++\)) operator({) reserved(if) operator((*)ident(s) operator(!=) char(' ') operator(&&) operator(!)ident(ISALPHA)operator((*)ident(s)operator(\)) operator(&&) ident(strchr)operator(()string(\)~&|)char(\\\\)content($;'`)char(\\")char(\\n)delimiter(")>operator(,*)ident(s)operator(\)\)) operator({) pre_type(char) operator(*)ident(shell) operator(=) ident(dln_find_exe)operator(()stringoperator(,) integer(0)operator(\);) ident(before_exec)operator((\);) ident(status) operator(=) ident(shell)operator(?)ident(spawnl)operator(()ident(P_WAIT)operator(,)ident(shell)operator(,)stringoperator(,)stringoperator(,)ident(str)operator(,()pre_type(char)operator(*\))pre_constant(NULL)operator(\):)ident(system)operator(()ident(str)operator(\);) ident(after_exec)operator((\);) reserved(return) ident(status)operator(;) operator(}) operator(}) ident(a) operator(=) ident(argv) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) operator(()ident(s) operator(-) ident(str)operator(\)) operator(/) integer(2) operator(+) integer(2)operator(\);) ident(s) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(s) operator(-) ident(str) operator(+) integer(1)operator(\);) ident(strcpy)operator(()ident(s)operator(,) ident(str)operator(\);) reserved(if) operator((*)ident(a)operator(++) operator(=) ident(strtok)operator(()ident(s)operator(,) stringoperator(\)\)) operator({) reserved(while) operator(()ident(t) operator(=) ident(strtok)operator(()pre_constant(NULL)operator(,) stringoperator(\)\)) operator(*)ident(a)operator(++) operator(=) ident(t)operator(;) operator(*)ident(a) operator(=) pre_constant(NULL)operator(;) operator(}) reserved(return) ident(argv)operator([)integer(0)operator(]) operator(?) ident(proc_spawn_v)operator(()ident(argv)operator(,) integer(0)operator(\)) operator(:) operator(-)integer(1)operator(;) operator(}) preprocessor(#endif) preprocessor(#endif) reserved(struct) ident(rb_exec_arg) operator({) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(prog)operator(;) operator(};) directive(static) directive(void) ident(proc_prepare_args)operator(()ident(e)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(prog)operator(\)) reserved(struct) ident(rb_exec_arg) operator(*)ident(e)operator(;) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(prog)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(MEMZERO)operator(()ident(e)operator(,) reserved(struct) ident(rb_exec_arg)operator(,) integer(1)operator(\);) reserved(if) operator(()ident(prog)operator(\)) operator({) ident(SafeStringValue)operator(()ident(prog)operator(\);) ident(StringValueCStr)operator(()ident(prog)operator(\);) operator(}) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(SafeStringValue)operator(()ident(argv)operator([)ident(i)operator(]\);) ident(StringValueCStr)operator(()ident(argv)operator([)ident(i)operator(]\);) operator(}) ident(security)operator(()ident(RSTRING)operator(()ident(prog) operator(?) ident(prog) operator(:) ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator(\);) ident(e)operator(->)ident(prog) operator(=) ident(prog)operator(;) ident(e)operator(->)ident(argc) operator(=) ident(argc)operator(;) ident(e)operator(->)ident(argv) operator(=) ident(argv)operator(;) operator(}) directive(static) ident(VALUE) ident(proc_exec_args)operator(()ident(earg)operator(\)) ident(VALUE) ident(earg)operator(;) operator({) reserved(struct) ident(rb_exec_arg) operator(*)ident(e) operator(=) operator(()reserved(struct) ident(rb_exec_arg) operator(*\))ident(earg)operator(;) pre_type(int) ident(argc) operator(=) ident(e)operator(->)ident(argc)operator(;) ident(VALUE) operator(*)ident(argv) operator(=) ident(e)operator(->)ident(argv)operator(;) ident(VALUE) ident(prog) operator(=) ident(e)operator(->)ident(prog)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(prog) operator(==) integer(0)operator(\)) operator({) reserved(return) operator(()ident(VALUE)operator(\))ident(rb_proc_exec)operator(()ident(RSTRING)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator(\);) operator(}) reserved(else) operator({) reserved(return) operator(()ident(VALUE)operator(\))ident(proc_exec_n)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(prog)operator(\);) operator(}) operator(}) comment(/* * call-seq: * exec(command [, arg, ...]\) * * Replaces the current process by running the given external _command_. * If +exec+ is given a single argument, that argument is * taken as a line that is subject to shell expansion before being * executed. If multiple arguments are given, the second and subsequent * arguments are passed as parameters to _command_ with no shell * expansion. If the first argument is a two-element array, the first * element is the command to be executed, and the second argument is * used as the argv[0] value, which may show up in process * listings. In MSDOS environments, the command is executed in a * subshell; otherwise, one of the exec(2\) system calls is * used, so the running command may inherit some of the environment of * the original program (including open file descriptors\). * * exec "echo *" # echoes list of files in current directory * # never get here * * * exec "echo", "*" # echoes an asterisk * # never get here */) ident(VALUE) ident(rb_f_exec)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(prog) operator(=) integer(0)operator(;) ident(VALUE) ident(tmp)operator(;) reserved(struct) ident(rb_exec_arg) ident(earg)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_last_status) operator(=) ident(Qnil)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(len) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(prog) operator(=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator([)integer(0)operator(];) ident(argv)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(tmp)operator(\)->)ident(ptr)operator([)integer(1)operator(];) ident(SafeStringValue)operator(()ident(prog)operator(\);) operator(}) ident(proc_prepare_args)operator((&)ident(earg)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(prog)operator(\);) ident(proc_exec_args)operator((()ident(VALUE)operator(\)&)ident(earg)operator(\);) ident(rb_sys_fail)operator(()ident(RSTRING)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* dummy */) operator(}) comment(/* * call-seq: * Kernel.fork [{ block }] => fixnum or nil * Process.fork [{ block }] => fixnum or nil * * Creates a subprocess. If a block is specified, that block is run * in the subprocess, and the subprocess terminates with a status of * zero. Otherwise, the +fork+ call returns twice, once in * the parent, returning the process ID of the child, and once in * the child, returning _nil_. The child process can exit using * Kernel.exit! to avoid running any * at_exit functions. The parent process should * use Process.wait to collect the termination statuses * of its children or use Process.detach to register * disinterest in their status; otherwise, the operating system * may accumulate zombie processes. * * The thread calling fork is the only thread in the created child process. * fork doesn't copy other threads. */) directive(static) ident(VALUE) ident(rb_f_fork)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#if) operator(!)ident(defined)operator(()ident(__human68k__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__MACOS__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__EMX__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__VMS)operator(\)) pre_type(int) ident(pid)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) preprocessor(#ifndef) ident(__VMS) ident(fflush)operator(()ident(stdout)operator(\);) ident(fflush)operator(()ident(stderr)operator(\);) preprocessor(#endif) reserved(switch) operator(()ident(pid) operator(=) ident(fork)operator((\)\)) operator({) reserved(case) integer(0)operator(:) preprocessor(#ifdef) ident(linux) ident(after_exec)operator((\);) preprocessor(#endif) ident(rb_thread_atfork)operator((\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) pre_type(int) ident(status)operator(;) ident(rb_protect)operator(()ident(rb_yield)operator(,) ident(Qundef)operator(,) operator(&)ident(status)operator(\);) ident(ruby_stop)operator(()ident(status)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) reserved(case) operator(-)integer(1)operator(:) ident(rb_sys_fail)operator(()stringoperator(\);) reserved(return) ident(Qnil)operator(;) reserved(default)operator(:) reserved(return) ident(INT2FIX)operator(()ident(pid)operator(\);) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.exit!(fixnum=-1\) * * Exits the process immediately. No exit handlers are * run. fixnum is returned to the underlying system as the * exit status. * * Process.exit!(0\) */) directive(static) ident(VALUE) ident(rb_f_exit_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(status)operator(;) pre_type(int) ident(istatus)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(status)operator(\)) operator(==) integer(1)operator(\)) operator({) reserved(switch) operator(()ident(status)operator(\)) operator({) reserved(case) ident(Qtrue)operator(:) ident(istatus) operator(=) ident(EXIT_SUCCESS)operator(;) reserved(break)operator(;) reserved(case) ident(Qfalse)operator(:) ident(istatus) operator(=) ident(EXIT_FAILURE)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(istatus) operator(=) ident(NUM2INT)operator(()ident(status)operator(\);) reserved(break)operator(;) operator(}) operator(}) reserved(else) operator({) ident(istatus) operator(=) ident(EXIT_FAILURE)operator(;) operator(}) ident(_exit)operator(()ident(istatus)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) preprocessor(#if) ident(defined)operator(()ident(sun)operator(\)) preprocessor(#define) ident(signal)operator(()ident(a)operator(,)ident(b)operator(\)) ident(sigset)operator(()ident(a)operator(,)ident(b)operator(\)) preprocessor(#endif) directive(void) ident(rb_syswait)operator(()ident(pid)operator(\)) pre_type(int) ident(pid)operator(;) operator({) directive(static) pre_type(int) ident(overriding)operator(;) preprocessor(#ifdef) ident(SIGHUP) ident(RETSIGTYPE) operator((*)ident(hfunc)operator(\))ident(_)operator((()pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGQUIT) ident(RETSIGTYPE) operator((*)ident(qfunc)operator(\))ident(_)operator((()pre_type(int)operator(\)\);) preprocessor(#endif) ident(RETSIGTYPE) operator((*)ident(ifunc)operator(\))ident(_)operator((()pre_type(int)operator(\)\);) pre_type(int) ident(status)operator(;) pre_type(int) ident(i)operator(,) ident(hooked) operator(=) ident(Qfalse)operator(;) reserved(if) operator((!)ident(overriding)operator(\)) operator({) preprocessor(#ifdef) ident(SIGHUP) ident(hfunc) operator(=) ident(signal)operator(()ident(SIGHUP)operator(,) ident(SIG_IGN)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGQUIT) ident(qfunc) operator(=) ident(signal)operator(()ident(SIGQUIT)operator(,) ident(SIG_IGN)operator(\);) preprocessor(#endif) ident(ifunc) operator(=) ident(signal)operator(()ident(SIGINT)operator(,) ident(SIG_IGN)operator(\);) ident(overriding) operator(=) ident(Qtrue)operator(;) ident(hooked) operator(=) ident(Qtrue)operator(;) operator(}) reserved(do) operator({) ident(i) operator(=) ident(rb_waitpid)operator(()ident(pid)operator(,) operator(&)ident(status)operator(,) integer(0)operator(\);) operator(}) reserved(while) operator(()ident(i) operator(==) operator(-)integer(1) operator(&&) ident(errno) operator(==) ident(EINTR)operator(\);) reserved(if) operator(()ident(hooked)operator(\)) operator({) preprocessor(#ifdef) ident(SIGHUP) ident(signal)operator(()ident(SIGHUP)operator(,) ident(hfunc)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGQUIT) ident(signal)operator(()ident(SIGQUIT)operator(,) ident(qfunc)operator(\);) preprocessor(#endif) ident(signal)operator(()ident(SIGINT)operator(,) ident(ifunc)operator(\);) ident(overriding) operator(=) ident(Qfalse)operator(;) operator(}) operator(}) comment(/* * call-seq: * system(cmd [, arg, ...]\) => true or false * * Executes _cmd_ in a subshell, returning +true+ if * the command was found and ran successfully, +false+ * otherwise. An error status is available in $?. The * arguments are processed in the same way as for * Kernel::exec. * * system("echo *"\) * system("echo", "*"\) * * produces: * * config.h main.rb * * */) directive(static) ident(VALUE) ident(rb_f_system)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(status)operator(;) preprocessor(#if) ident(defined)operator(()ident(__EMX__)operator(\)) ident(VALUE) ident(cmd)operator(;) ident(fflush)operator(()ident(stdout)operator(\);) ident(fflush)operator(()ident(stderr)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_last_status) operator(=) ident(Qnil)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_ARRAY)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(argv)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) ident(cmd) operator(=) ident(rb_ary_join)operator(()ident(rb_ary_new4)operator(()ident(argc)operator(,) ident(argv)operator(\),) ident(rb_str_new2)operator(()stringoperator(\)\);) ident(SafeStringValue)operator(()ident(cmd)operator(\);) ident(status) operator(=) ident(do_spawn)operator(()ident(RSTRING)operator(()ident(cmd)operator(\)->)ident(ptr)operator(\);) ident(last_status_set)operator(()ident(status)operator(,) integer(0)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__DJGPP__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) directive(volatile) ident(VALUE) ident(prog) operator(=) integer(0)operator(;) ident(fflush)operator(()ident(stdout)operator(\);) ident(fflush)operator(()ident(stderr)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_last_status) operator(=) ident(Qnil)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_ARRAY)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(prog) operator(=) ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator([)integer(0)operator(];) ident(argv)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator([)integer(1)operator(];) operator(}) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(prog) operator(==) integer(0)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) ident(SafeStringValue)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(status) operator(=) ident(do_spawn)operator(()ident(P_WAIT)operator(,) ident(StringValueCStr)operator(()ident(argv)operator([)integer(0)operator(]\)\);) preprocessor(#else) ident(status) operator(=) ident(proc_spawn)operator(()ident(argv)operator([)integer(0)operator(]\);) preprocessor(#endif) operator(}) reserved(else) operator({) ident(status) operator(=) ident(proc_spawn_n)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(prog)operator(\);) operator(}) preprocessor(#if) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) ident(last_status_set)operator(()ident(status) operator(==) operator(-)integer(1) operator(?) integer(127) operator(:) ident(status)operator(,) integer(0)operator(\);) preprocessor(#else) reserved(if) operator(()ident(status) operator(==) operator(-)integer(1)operator(\)) ident(last_status_set)operator(()hex(0x7f) operator(<<) integer(8)operator(,) integer(0)operator(\);) preprocessor(#endif) preprocessor(#elif) ident(defined)operator(()ident(__VMS)operator(\)) ident(VALUE) ident(cmd)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_last_status) operator(=) ident(Qnil)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_ARRAY)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(argv)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator([)integer(0)operator(];) operator(}) ident(cmd) operator(=) ident(rb_ary_join)operator(()ident(rb_ary_new4)operator(()ident(argc)operator(,) ident(argv)operator(\),) ident(rb_str_new2)operator(()stringoperator(\)\);) ident(SafeStringValue)operator(()ident(cmd)operator(\);) ident(status) operator(=) ident(system)operator(()ident(StringValueCStr)operator(()ident(cmd)operator(\)\);) ident(last_status_set)operator((()ident(status) operator(&) hex(0xff)operator(\)) operator(<<) integer(8)operator(,) integer(0)operator(\);) preprocessor(#else) directive(volatile) ident(VALUE) ident(prog) operator(=) integer(0)operator(;) pre_type(int) ident(pid)operator(;) reserved(struct) ident(rb_exec_arg) ident(earg)operator(;) ident(RETSIGTYPE) operator((*)ident(chfunc)operator(\)()pre_type(int)operator(\);) ident(fflush)operator(()ident(stdout)operator(\);) ident(fflush)operator(()ident(stderr)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_last_status) operator(=) ident(Qnil)operator(;) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_ARRAY)operator(\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(prog) operator(=) ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator([)integer(0)operator(];) ident(argv)operator([)integer(0)operator(]) operator(=) ident(RARRAY)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator([)integer(1)operator(];) operator(}) ident(proc_prepare_args)operator((&)ident(earg)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(prog)operator(\);) ident(chfunc) operator(=) ident(signal)operator(()ident(SIGCHLD)operator(,) ident(SIG_DFL)operator(\);) label(retry:) ident(pid) operator(=) ident(fork)operator((\);) reserved(if) operator(()ident(pid) operator(==) integer(0)operator(\)) operator({) comment(/* child process */) ident(rb_thread_atfork)operator((\);) ident(rb_protect)operator(()ident(proc_exec_args)operator(,) operator(()ident(VALUE)operator(\)&)ident(earg)operator(,) pre_constant(NULL)operator(\);) ident(_exit)operator(()integer(127)operator(\);) operator(}) reserved(if) operator(()ident(pid) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(errno) operator(==) ident(EAGAIN)operator(\)) operator({) ident(rb_thread_sleep)operator(()integer(1)operator(\);) reserved(goto) ident(retry)operator(;) operator(}) operator(}) reserved(else) operator({) ident(rb_syswait)operator(()ident(pid)operator(\);) operator(}) ident(signal)operator(()ident(SIGCHLD)operator(,) ident(chfunc)operator(\);) reserved(if) operator(()ident(pid) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(status) operator(=) ident(NUM2INT)operator(()ident(rb_last_status)operator(\);) preprocessor(#endif) reserved(if) operator(()ident(status) operator(==) ident(EXIT_SUCCESS)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * sleep([duration]\) => fixnum * * Suspends the current thread for _duration_ seconds (which may be any number, * including a +Float+ with fractional seconds\). Returns the actual number of * seconds slept (rounded\), which may be less than that asked for if another * thread calls Thread#run. Zero arguments causes +sleep+ to sleep * forever. * * Time.new #=> Wed Apr 09 08:56:32 CDT 2003 * sleep 1.2 #=> 1 * Time.new #=> Wed Apr 09 08:56:33 CDT 2003 * sleep 1.9 #=> 2 * Time.new #=> Wed Apr 09 08:56:35 CDT 2003 */) directive(static) ident(VALUE) ident(rb_f_sleep)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(beg)operator(,) ident(end)operator(;) ident(beg) operator(=) ident(time)operator(()integer(0)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(rb_thread_sleep_forever)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(rb_thread_wait_for)operator(()ident(rb_time_interval)operator(()ident(argv)operator([)integer(0)operator(]\)\);) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(end) operator(=) ident(time)operator(()integer(0)operator(\)) operator(-) ident(beg)operator(;) reserved(return) ident(INT2FIX)operator(()ident(end)operator(\);) operator(}) comment(/* * call-seq: * Process.getpgrp => integer * * Returns the process group ID for this process. Not available on * all platforms. * * Process.getpgid(0\) #=> 25527 * Process.getpgrp #=> 25527 */) preprocessor(#if) ident(defined)operator(()ident(SIGCLD)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(SIGCHLD)operator(\)) preprocessor(# define) ident(SIGCHLD) ident(SIGCLD) preprocessor(#endif) directive(static) ident(VALUE) ident(proc_getpgrp)operator((\)) operator({) pre_type(int) ident(pgrp)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_GETPGRP)operator(\)) operator(&&) ident(defined)operator(()ident(GETPGRP_VOID)operator(\)) ident(pgrp) operator(=) ident(getpgrp)operator((\);) reserved(if) operator(()ident(pgrp) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(pgrp)operator(\);) preprocessor(#else) preprocessor(# ifdef) ident(HAVE_GETPGID) ident(pgrp) operator(=) ident(getpgid)operator(()integer(0)operator(\);) reserved(if) operator(()ident(pgrp) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(pgrp)operator(\);) preprocessor(# else) ident(rb_notimplement)operator((\);) preprocessor(# endif) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.setpgrp => 0 * * Equivalent to setpgid(0,0\). Not available on all * platforms. */) directive(static) ident(VALUE) ident(proc_setpgrp)operator((\)) operator({) ident(rb_secure)operator(()integer(2)operator(\);) comment(/* check for posix setpgid(\) first; this matches the posix */) comment(/* getpgrp(\) above. It appears that configure will set SETPGRP_VOID */) comment(/* even though setpgrp(0,0\) would be prefered. The posix call avoids */) comment(/* this confusion. */) preprocessor(#ifdef) ident(HAVE_SETPGID) reserved(if) operator(()ident(setpgid)operator(()integer(0)operator(,)integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETPGRP)operator(\)) operator(&&) ident(defined)operator(()ident(SETPGRP_VOID)operator(\)) reserved(if) operator(()ident(setpgrp)operator((\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) comment(/* * call-seq: * Process.getpgid(pid\) => integer * * Returns the process group ID for the given process id. Not * available on all platforms. * * Process.getpgid(Process.ppid(\)\) #=> 25527 */) directive(static) ident(VALUE) ident(proc_getpgid)operator(()ident(obj)operator(,) ident(pid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(pid)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_GETPGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) pre_type(int) ident(i)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(i) operator(=) ident(getpgid)operator(()ident(NUM2INT)operator(()ident(pid)operator(\)\);) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(i)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.setpgid(pid, integer\) => 0 * * Sets the process group ID of _pid_ (0 indicates this * process\) to integer. Not available on all platforms. */) directive(static) ident(VALUE) ident(proc_setpgid)operator(()ident(obj)operator(,) ident(pid)operator(,) ident(pgrp)operator(\)) ident(VALUE) ident(obj)operator(,) ident(pid)operator(,) ident(pgrp)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_SETPGID) pre_type(int) ident(ipid)operator(,) ident(ipgrp)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(ipid) operator(=) ident(NUM2INT)operator(()ident(pid)operator(\);) ident(ipgrp) operator(=) ident(NUM2INT)operator(()ident(pgrp)operator(\);) reserved(if) operator(()ident(setpgid)operator(()ident(ipid)operator(,) ident(ipgrp)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.setsid => fixnum * * Establishes this process as a new session and process group * leader, with no controlling tty. Returns the session id. Not * available on all platforms. * * Process.setsid #=> 27422 */) directive(static) ident(VALUE) ident(proc_setsid)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETSID)operator(\)) pre_type(int) ident(pid)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(pid) operator(=) ident(setsid)operator((\);) reserved(if) operator(()ident(pid) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(pid)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETPGRP)operator(\)) operator(&&) ident(defined)operator(()ident(TIOCNOTTY)operator(\)) ident(rb_pid_t) ident(pid)operator(;) pre_type(int) ident(ret)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(pid) operator(=) ident(getpid)operator((\);) preprocessor(#if) ident(defined)operator(()ident(SETPGRP_VOID)operator(\)) ident(ret) operator(=) ident(setpgrp)operator((\);) comment(/* If `pid_t setpgrp(void\)' is equivalent to setsid(\), `ret' will be the same value as `pid', and following open(\) will fail. In Linux, `int setpgrp(void\)' is equivalent to setpgid(0, 0\). */) preprocessor(#else) ident(ret) operator(=) ident(setpgrp)operator(()integer(0)operator(,) ident(pid)operator(\);) preprocessor(#endif) reserved(if) operator(()ident(ret) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator((()ident(fd) operator(=) ident(open)operator(()stringoperator(,) ident(O_RDWR)operator(\)\)) operator(>=) integer(0)operator(\)) operator({) ident(ioctl)operator(()ident(fd)operator(,) ident(TIOCNOTTY)operator(,) pre_constant(NULL)operator(\);) ident(close)operator(()ident(fd)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(pid)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.getpriority(kind, integer\) => fixnum * * Gets the scheduling priority for specified process, process group, * or user. kind indicates the kind of entity to find: one * of Process::PRIO_PGRP, * Process::PRIO_USER, or * Process::PRIO_PROCESS. _integer_ is an id * indicating the particular process, process group, or user (an id * of 0 means _current_\). Lower priorities are more favorable * for scheduling. Not available on all platforms. * * Process.getpriority(Process::PRIO_USER, 0\) #=> 19 * Process.getpriority(Process::PRIO_PROCESS, 0\) #=> 19 */) directive(static) ident(VALUE) ident(proc_getpriority)operator(()ident(obj)operator(,) ident(which)operator(,) ident(who)operator(\)) ident(VALUE) ident(obj)operator(,) ident(which)operator(,) ident(who)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_GETPRIORITY) pre_type(int) ident(prio)operator(,) ident(iwhich)operator(,) ident(iwho)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(iwhich) operator(=) ident(NUM2INT)operator(()ident(which)operator(\);) ident(iwho) operator(=) ident(NUM2INT)operator(()ident(who)operator(\);) ident(errno) operator(=) integer(0)operator(;) ident(prio) operator(=) ident(getpriority)operator(()ident(iwhich)operator(,) ident(iwho)operator(\);) reserved(if) operator(()ident(errno)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(prio)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.setpriority(kind, integer, priority\) => 0 * * See Process#getpriority. * * Process.setpriority(Process::PRIO_USER, 0, 19\) #=> 0 * Process.setpriority(Process::PRIO_PROCESS, 0, 19\) #=> 0 * Process.getpriority(Process::PRIO_USER, 0\) #=> 19 * Process.getpriority(Process::PRIO_PROCESS, 0\) #=> 19 */) directive(static) ident(VALUE) ident(proc_setpriority)operator(()ident(obj)operator(,) ident(which)operator(,) ident(who)operator(,) ident(prio)operator(\)) ident(VALUE) ident(obj)operator(,) ident(which)operator(,) ident(who)operator(,) ident(prio)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_GETPRIORITY) pre_type(int) ident(iwhich)operator(,) ident(iwho)operator(,) ident(iprio)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(iwhich) operator(=) ident(NUM2INT)operator(()ident(which)operator(\);) ident(iwho) operator(=) ident(NUM2INT)operator(()ident(who)operator(\);) ident(iprio) operator(=) ident(NUM2INT)operator(()ident(prio)operator(\);) reserved(if) operator(()ident(setpriority)operator(()ident(iwhich)operator(,) ident(iwho)operator(,) ident(iprio)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) preprocessor(#if) ident(SIZEOF_RLIM_T) operator(==) ident(SIZEOF_INT) preprocessor(# define) ident(RLIM2NUM)operator(()ident(v)operator(\)) ident(UINT2NUM)operator(()ident(v)operator(\)) preprocessor(# define) ident(NUM2RLIM)operator(()ident(v)operator(\)) ident(NUM2UINT)operator(()ident(v)operator(\)) preprocessor(#elif) ident(SIZEOF_RLIM_T) operator(==) ident(SIZEOF_LONG) preprocessor(# define) ident(RLIM2NUM)operator(()ident(v)operator(\)) ident(ULONG2NUM)operator(()ident(v)operator(\)) preprocessor(# define) ident(NUM2RLIM)operator(()ident(v)operator(\)) ident(NUM2ULONG)operator(()ident(v)operator(\)) preprocessor(#elif) ident(SIZEOF_RLIM_T) operator(==) ident(SIZEOF_LONG_LONG) preprocessor(# define) ident(RLIM2NUM)operator(()ident(v)operator(\)) ident(ULL2NUM)operator(()ident(v)operator(\)) preprocessor(# define) ident(NUM2RLIM)operator(()ident(v)operator(\)) ident(NUM2ULL)operator(()ident(v)operator(\)) preprocessor(#endif) comment(/* * call-seq: * Process.getrlimit(resource\) => [cur_limit, max_limit] * * Gets the resource limit of the process. * _cur_limit_ means current (soft\) limit and * _max_limit_ means maximum (hard\) limit. * * _resource_ indicates the kind of resource to limit: * such as Process::RLIMIT_CORE, * Process::RLIMIT_CPU, etc. * See Process.setrlimit for details. * * _cur_limit_ and _max_limit_ may be Process::RLIM_INFINITY, * Process::RLIM_SAVED_MAX or * Process::RLIM_SAVED_CUR. * See Process.setrlimit and the system getrlimit(2\) manual for details. */) directive(static) ident(VALUE) ident(proc_getrlimit)operator(()ident(VALUE) ident(obj)operator(,) ident(VALUE) ident(resource)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_GETRLIMIT)operator(\)) operator(&&) ident(defined)operator(()ident(RLIM2NUM)operator(\)) reserved(struct) ident(rlimit) ident(rlim)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(getrlimit)operator(()ident(NUM2INT)operator(()ident(resource)operator(\),) operator(&)ident(rlim)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()stringoperator(\);) operator(}) reserved(return) ident(rb_assoc_new)operator(()ident(RLIM2NUM)operator(()ident(rlim)operator(.)ident(rlim_cur)operator(\),) ident(RLIM2NUM)operator(()ident(rlim)operator(.)ident(rlim_max)operator(\)\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.setrlimit(resource, cur_limit, max_limit\) => nil * Process.setrlimit(resource, cur_limit\) => nil * * Sets the resource limit of the process. * _cur_limit_ means current (soft\) limit and * _max_limit_ means maximum (hard\) limit. * * If _max_limit_ is not given, _cur_limit_ is used. * * _resource_ indicates the kind of resource to limit. * The list of resources are OS dependent. * Ruby may support following resources. * * [Process::RLIMIT_CORE] core size (bytes\) (SUSv3\) * [Process::RLIMIT_CPU] CPU time (seconds\) (SUSv3\) * [Process::RLIMIT_DATA] data segment (bytes\) (SUSv3\) * [Process::RLIMIT_FSIZE] file size (bytes\) (SUSv3\) * [Process::RLIMIT_NOFILE] file descriptors (number\) (SUSv3\) * [Process::RLIMIT_STACK] stack size (bytes\) (SUSv3\) * [Process::RLIMIT_AS] total available memory (bytes\) (SUSv3, NetBSD, FreeBSD, OpenBSD but 4.4BSD-Lite\) * [Process::RLIMIT_MEMLOCK] total size for mlock(2\) (bytes\) (4.4BSD, GNU/Linux\) * [Process::RLIMIT_NPROC] number of processes for the user (number\) (4.4BSD, GNU/Linux\) * [Process::RLIMIT_RSS] resident memory size (bytes\) (4.2BSD, GNU/Linux\) * [Process::RLIMIT_SBSIZE] all socket buffers (bytes\) (NetBSD, FreeBSD\) * * Other Process::RLIMIT_??? constants may be defined. * * _cur_limit_ and _max_limit_ may be Process::RLIM_INFINITY, * which means that the resource is not limited. * They may be Process::RLIM_SAVED_MAX or * Process::RLIM_SAVED_CUR too. * See system setrlimit(2\) manual for details. * */) directive(static) ident(VALUE) ident(proc_setrlimit)operator(()pre_type(int) ident(argc)operator(,) ident(VALUE) operator(*)ident(argv)operator(,) ident(VALUE) ident(obj)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRLIMIT)operator(\)) operator(&&) ident(defined)operator(()ident(NUM2RLIM)operator(\)) ident(VALUE) ident(resource)operator(,) ident(rlim_cur)operator(,) ident(rlim_max)operator(;) reserved(struct) ident(rlimit) ident(rlim)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(resource)operator(,) operator(&)ident(rlim_cur)operator(,) operator(&)ident(rlim_max)operator(\);) reserved(if) operator(()ident(rlim_max) operator(==) ident(Qnil)operator(\)) ident(rlim_max) operator(=) ident(rlim_cur)operator(;) ident(rlim)operator(.)ident(rlim_cur) operator(=) ident(NUM2RLIM)operator(()ident(rlim_cur)operator(\);) ident(rlim)operator(.)ident(rlim_max) operator(=) ident(NUM2RLIM)operator(()ident(rlim_max)operator(\);) reserved(if) operator(()ident(setrlimit)operator(()ident(NUM2INT)operator(()ident(resource)operator(\),) operator(&)ident(rlim)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()stringoperator(\);) operator(}) reserved(return) ident(Qnil)operator(;) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) directive(static) pre_type(int) ident(under_uid_switch) operator(=) integer(0)operator(;) directive(static) directive(void) ident(check_uid_switch)operator((\)) operator({) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(under_uid_switch)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(under_gid_switch) operator(=) integer(0)operator(;) directive(static) directive(void) ident(check_gid_switch)operator((\)) operator({) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(under_gid_switch)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) operator(}) comment(/********************************************************************* * Document-class: Process::Sys * * The Process::Sys module contains UID and GID * functions which provide direct bindings to the system calls of the * same names instead of the more-portable versions of the same * functionality found in the Process, * Process::UID, and Process::GID modules. */) comment(/* * call-seq: * Process::Sys.setuid(integer\) => nil * * Set the user ID of the current process to _integer_. Not * available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setuid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETUID) ident(check_uid_switch)operator((\);) reserved(if) operator(()ident(setuid)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setruid(integer\) => nil * * Set the real user ID of the calling process to _integer_. * Not available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setruid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETRUID) ident(check_uid_switch)operator((\);) reserved(if) operator(()ident(setruid)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.seteuid(integer\) => nil * * Set the effective user ID of the calling process to * _integer_. Not available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_seteuid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETEUID) ident(check_uid_switch)operator((\);) reserved(if) operator(()ident(seteuid)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setreuid(rid, eid\) => nil * * Sets the (integer\) real and/or effective user IDs of the current * process to _rid_ and _eid_, respectively. A value of * -1 for either means to leave that ID unchanged. Not * available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setreuid)operator(()ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETREUID) ident(check_uid_switch)operator((\);) reserved(if) operator(()ident(setreuid)operator(()ident(NUM2INT)operator(()ident(rid)operator(\),)ident(NUM2INT)operator(()ident(eid)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setresuid(rid, eid, sid\) => nil * * Sets the (integer\) real, effective, and saved user IDs of the * current process to _rid_, _eid_, and _sid_ respectively. A * value of -1 for any value means to * leave that ID unchanged. Not available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setresuid)operator(()ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(,) ident(sid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(,) ident(sid)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETRESUID) ident(check_uid_switch)operator((\);) reserved(if) operator(()ident(setresuid)operator(()ident(NUM2INT)operator(()ident(rid)operator(\),)ident(NUM2INT)operator(()ident(eid)operator(\),)ident(NUM2INT)operator(()ident(sid)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process.uid => fixnum * Process::UID.rid => fixnum * Process::Sys.getuid => fixnum * * Returns the (real\) user ID of this process. * * Process.uid #=> 501 */) directive(static) ident(VALUE) ident(proc_getuid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(uid) operator(=) ident(getuid)operator((\);) reserved(return) ident(INT2FIX)operator(()ident(uid)operator(\);) operator(}) comment(/* * call-seq: * Process.uid= integer => numeric * * Sets the (integer\) user ID for this process. Not available on all * platforms. */) directive(static) ident(VALUE) ident(proc_setuid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) pre_type(int) ident(uid) operator(=) ident(NUM2INT)operator(()ident(id)operator(\);) ident(check_uid_switch)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(setresuid)operator(()ident(uid)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETREUID) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETRUID) reserved(if) operator(()ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETUID) operator({) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(rb_notimplement)operator((\);) operator(}) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()ident(uid)operator(\);) operator(}) comment(/******************************************************************** * * Document-class: Process::UID * * The Process::UID module contains a collection of * module functions which can be used to portably get, set, and * switch the current process's real, effective, and saved user IDs. * */) directive(static) pre_type(int) ident(SAVED_USER_ID) operator(=) operator(-)integer(1)operator(;) preprocessor(#ifdef) ident(BROKEN_SETREUID) pre_type(int) ident(setreuid)operator(()ident(ruid)operator(,) ident(euid)operator(\)) ident(rb_uid_t) ident(ruid)operator(,) ident(euid)operator(;) operator({) reserved(if) operator(()ident(ruid) operator(!=) operator(-)integer(1) operator(&&) ident(ruid) operator(!=) ident(getuid)operator((\)\)) operator({) reserved(if) operator(()ident(euid) operator(==) operator(-)integer(1)operator(\)) ident(euid) operator(=) ident(geteuid)operator((\);) reserved(if) operator(()ident(setuid)operator(()ident(ruid)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(euid) operator(!=) operator(-)integer(1) operator(&&) ident(euid) operator(!=) ident(geteuid)operator((\)\)) operator({) reserved(if) operator(()ident(seteuid)operator(()ident(euid)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) preprocessor(#endif) comment(/* * call-seq: * Process::UID.change_privilege(integer\) => fixnum * * Change the current process's real and effective user ID to that * specified by _integer_. Returns the new user ID. Not * available on all platforms. * * [Process.uid, Process.euid] #=> [0, 0] * Process::UID.change_privilege(31\) #=> 31 * [Process.uid, Process.euid] #=> [31, 31] */) directive(static) ident(VALUE) ident(p_uid_change_privilege)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) pre_type(int) ident(uid)operator(;) ident(check_uid_switch)operator((\);) ident(uid) operator(=) ident(NUM2INT)operator(()ident(id)operator(\);) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0)operator(\)) operator({) comment(/* root-user */) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) reserved(if) operator(()ident(setresuid)operator(()ident(uid)operator(,) ident(uid)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETUID)operator(\)) reserved(if) operator(()ident(setuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREUID)operator(\)) reserved(if) operator(()ident(getuid)operator((\)) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setreuid)operator((-)integer(1)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(uid) operator(==) integer(0)operator(\)) operator({) comment(/* (r,e,s\) == (root, root, x\) */) reserved(if) operator(()ident(setreuid)operator((-)integer(1)operator(,) ident(SAVED_USER_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setreuid)operator(()ident(SAVED_USER_ID)operator(,) integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) integer(0)operator(;) comment(/* (r,e,s\) == (x, root, root\) */) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setreuid)operator(()integer(0)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) integer(0)operator(;) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETRUID)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_SETEUID)operator(\)) reserved(if) operator(()ident(getuid)operator((\)) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(seteuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(uid) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(setruid)operator(()ident(SAVED_USER_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) integer(0)operator(;) reserved(if) operator(()ident(setruid)operator(()integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setruid)operator(()integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) integer(0)operator(;) reserved(if) operator(()ident(seteuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(seteuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) reserved(else) operator({) comment(/* unprivileged user */) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) reserved(if) operator(()ident(setresuid)operator((()ident(getuid)operator((\)) operator(==) ident(uid)operator(\)?) operator(-)integer(1)operator(:) ident(uid)operator(,) operator(()ident(geteuid)operator((\)) operator(==) ident(uid)operator(\)?) operator(-)integer(1)operator(:) ident(uid)operator(,) operator(()ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)?) operator(-)integer(1)operator(:) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREUID)operator(\)) reserved(if) operator(()ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setreuid)operator((()ident(getuid)operator((\)) operator(==) ident(uid)operator(\)?) operator(-)integer(1)operator(:) ident(uid)operator(,) operator(()ident(geteuid)operator((\)) operator(==) ident(uid)operator(\)?) operator(-)integer(1)operator(:) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(getuid)operator((\)) operator(!=) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) operator(()ident(geteuid)operator((\)) operator(==) ident(uid)operator(\)?) operator(-)integer(1)operator(:) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) reserved(else) reserved(if) operator(()comment(/* getuid(\) == uid && */) ident(geteuid)operator((\)) operator(!=) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setreuid)operator(()ident(geteuid)operator((\),) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) comment(/* getuid(\) == uid && geteuid(\) == uid */) reserved(if) operator(()ident(setreuid)operator((-)integer(1)operator(,) ident(SAVED_USER_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setreuid)operator(()ident(SAVED_USER_ID)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETRUID)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_SETEUID)operator(\)) reserved(if) operator(()ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(geteuid)operator((\)) operator(!=) ident(uid) operator(&&) ident(seteuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(getuid)operator((\)) operator(!=) ident(uid) operator(&&) ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) reserved(if) operator(()comment(/* SAVED_USER_ID != uid && */) ident(geteuid)operator((\)) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(getuid)operator((\)) operator(!=) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setruid)operator(()ident(SAVED_USER_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) reserved(if) operator(()ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()comment(/* geteuid(\) != uid && */) ident(getuid)operator((\)) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(seteuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setruid)operator(()ident(SAVED_USER_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) reserved(if) operator(()ident(setruid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_44BSD_SETUID) reserved(if) operator(()ident(getuid)operator((\)) operator(==) ident(uid)operator(\)) operator({) comment(/* (r,e,s\)==(uid,?,?\) ==> (uid,uid,uid\) */) reserved(if) operator(()ident(setuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_SETEUID) reserved(if) operator(()ident(getuid)operator((\)) operator(==) ident(uid) operator(&&) ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(seteuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_SETUID) reserved(if) operator(()ident(getuid)operator((\)) operator(==) ident(uid) operator(&&) ident(SAVED_USER_ID) operator(==) ident(uid)operator(\)) operator({) reserved(if) operator(()ident(setuid)operator(()ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) reserved(return) ident(INT2FIX)operator(()ident(uid)operator(\);) operator(}) comment(/* * call-seq: * Process::Sys.setgid(integer\) => nil * * Set the group ID of the current process to _integer_. Not * available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setgid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETGID) ident(check_gid_switch)operator((\);) reserved(if) operator(()ident(setgid)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setrgid(integer\) => nil * * Set the real group ID of the calling process to _integer_. * Not available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setrgid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETRGID) ident(check_gid_switch)operator((\);) reserved(if) operator(()ident(setrgid)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setegid(integer\) => nil * * Set the effective group ID of the calling process to * _integer_. Not available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setegid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETEGID) ident(check_gid_switch)operator((\);) reserved(if) operator(()ident(setegid)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setregid(rid, eid\) => nil * * Sets the (integer\) real and/or effective group IDs of the current * process to rid and eid, respectively. A value of * -1 for either means to leave that ID unchanged. Not * available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setregid)operator(()ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETREGID) ident(check_gid_switch)operator((\);) reserved(if) operator(()ident(setregid)operator(()ident(NUM2INT)operator(()ident(rid)operator(\),)ident(NUM2INT)operator(()ident(eid)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.setresgid(rid, eid, sid\) => nil * * Sets the (integer\) real, effective, and saved user IDs of the * current process to rid, eid, and sid * respectively. A value of -1 for any value means to * leave that ID unchanged. Not available on all platforms. * */) directive(static) ident(VALUE) ident(p_sys_setresgid)operator(()ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(,) ident(sid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(rid)operator(,) ident(eid)operator(,) ident(sid)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_SETRESGID) ident(check_gid_switch)operator((\);) reserved(if) operator(()ident(setresgid)operator(()ident(NUM2INT)operator(()ident(rid)operator(\),)ident(NUM2INT)operator(()ident(eid)operator(\),)ident(NUM2INT)operator(()ident(sid)operator(\)\)) operator(!=) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * Process::Sys.issetugid => true or false * * Returns +true+ if the process was created as a result * of an execve(2\) system call which had either of the setuid or * setgid bits set (and extra privileges were given as a result\) or * if it has changed any of its real, effective or saved user or * group IDs since it began execution. * */) directive(static) ident(VALUE) ident(p_sys_issetugid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#if) ident(defined) ident(HAVE_ISSETUGID) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(issetugid)operator((\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.gid => fixnum * Process::GID.rid => fixnum * Process::Sys.getgid => fixnum * * Returns the (real\) group ID for this process. * * Process.gid #=> 500 */) directive(static) ident(VALUE) ident(proc_getgid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(gid) operator(=) ident(getgid)operator((\);) reserved(return) ident(INT2FIX)operator(()ident(gid)operator(\);) operator(}) comment(/* * call-seq: * Process.gid= fixnum => fixnum * * Sets the group ID for this process. */) directive(static) ident(VALUE) ident(proc_setgid)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) pre_type(int) ident(gid) operator(=) ident(NUM2INT)operator(()ident(id)operator(\);) ident(check_gid_switch)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(setresgid)operator(()ident(gid)operator(,) operator(-)integer(1)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETREGID) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETRGID) reserved(if) operator(()ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETGID) operator({) reserved(if) operator(()ident(getegid)operator((\)) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(rb_notimplement)operator((\);) operator(}) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()ident(gid)operator(\);) operator(}) directive(static) ident(size_t) ident(maxgroups) operator(=) integer(32)operator(;) comment(/* * call-seq: * Process.groups => array * * Get an Array of the gids of groups in the * supplemental group access list for this process. * * Process.groups #=> [27, 6, 10, 11] * */) directive(static) ident(VALUE) ident(proc_getgroups)operator(()ident(VALUE) ident(obj)operator(\)) operator({) preprocessor(#ifdef) ident(HAVE_GETGROUPS) ident(VALUE) ident(ary)operator(;) ident(size_t) ident(ngroups)operator(;) ident(rb_gid_t) operator(*)ident(groups)operator(;) pre_type(int) ident(i)operator(;) ident(groups) operator(=) ident(ALLOCA_N)operator(()ident(rb_gid_t)operator(,) ident(maxgroups)operator(\);) ident(ngroups) operator(=) ident(getgroups)operator(()ident(maxgroups)operator(,) ident(groups)operator(\);) reserved(if) operator(()ident(ngroups) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(ngroups)operator(;) ident(i)operator(++\)) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(INT2NUM)operator(()ident(groups)operator([)ident(i)operator(]\)\);) reserved(return) ident(ary)operator(;) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.groups= array => array * * Set the supplemental group access list to the given * Array of group IDs. * * Process.groups #=> [0, 1, 2, 3, 4, 6, 10, 11, 20, 26, 27] * Process.groups = [27, 6, 10, 11] #=> [27, 6, 10, 11] * Process.groups #=> [27, 6, 10, 11] * */) directive(static) ident(VALUE) ident(proc_setgroups)operator(()ident(VALUE) ident(obj)operator(,) ident(VALUE) ident(ary)operator(\)) operator({) preprocessor(#ifdef) ident(HAVE_SETGROUPS) ident(size_t) ident(ngroups)operator(;) ident(rb_gid_t) operator(*)ident(groups)operator(;) pre_type(int) ident(i)operator(;) reserved(struct) ident(group) operator(*)ident(gr)operator(;) ident(Check_Type)operator(()ident(ary)operator(,) ident(T_ARRAY)operator(\);) ident(ngroups) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(ngroups) operator(>) ident(maxgroups)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(maxgroups)operator(\);) ident(groups) operator(=) ident(ALLOCA_N)operator(()ident(rb_gid_t)operator(,) ident(ngroups)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(ngroups) operator(&&) ident(i) operator(<) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(g) operator(=) ident(RARRAY)operator(()ident(ary)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(g)operator(\)\)) operator({) ident(groups)operator([)ident(i)operator(]) operator(=) ident(FIX2INT)operator(()ident(g)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(g)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(groups)operator([)ident(i)operator(]) operator(=) ident(NUM2INT)operator(()ident(g)operator(\);) operator(}) reserved(else) operator({) ident(gr) operator(=) ident(getgrnam)operator(()ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(gr) operator(==) pre_constant(NULL)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(\);) ident(groups)operator([)ident(i)operator(]) operator(=) ident(gr)operator(->)ident(gr_gid)operator(;) operator(}) operator(}) operator(}) ident(i) operator(=) ident(setgroups)operator(()ident(ngroups)operator(,) ident(groups)operator(\);) reserved(if) operator(()ident(i) operator(==) operator(-)integer(1)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(return) ident(proc_getgroups)operator(()ident(obj)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.initgroups(username, gid\) => array * * Initializes the supplemental group access list by reading the * system group database and using all groups of which the given user * is a member. The group with the specified gid is also * added to the list. Returns the resulting Array of the * gids of all the groups in the supplementary group access list. Not * available on all platforms. * * Process.groups #=> [0, 1, 2, 3, 4, 6, 10, 11, 20, 26, 27] * Process.initgroups( "mgranger", 30 \) #=> [30, 6, 10, 11] * Process.groups #=> [30, 6, 10, 11] * */) directive(static) ident(VALUE) ident(proc_initgroups)operator(()ident(obj)operator(,) ident(uname)operator(,) ident(base_grp)operator(\)) ident(VALUE) ident(obj)operator(,) ident(uname)operator(,) ident(base_grp)operator(;) operator({) preprocessor(#ifdef) ident(HAVE_INITGROUPS) reserved(if) operator(()ident(initgroups)operator(()ident(StringValuePtr)operator(()ident(uname)operator(\),) operator(()ident(rb_gid_t)operator(\))ident(NUM2INT)operator(()ident(base_grp)operator(\)\)) operator(!=) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(return) ident(proc_getgroups)operator(()ident(obj)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) reserved(return) ident(Qnil)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.maxgroups => fixnum * * Returns the maximum number of gids allowed in the supplemental * group access list. * * Process.maxgroups #=> 32 */) directive(static) ident(VALUE) ident(proc_getmaxgroups)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(INT2FIX)operator(()ident(maxgroups)operator(\);) operator(}) comment(/* * call-seq: * Process.maxgroups= fixnum => fixnum * * Sets the maximum number of gids allowed in the supplemental group * access list. */) directive(static) ident(VALUE) ident(proc_setmaxgroups)operator(()ident(VALUE) ident(obj)operator(,) ident(VALUE) ident(val)operator(\)) operator({) ident(size_t) ident(ngroups) operator(=) ident(FIX2INT)operator(()ident(val)operator(\);) reserved(if) operator(()ident(ngroups) operator(>) integer(4096)operator(\)) ident(ngroups) operator(=) integer(4096)operator(;) ident(maxgroups) operator(=) ident(ngroups)operator(;) reserved(return) ident(INT2FIX)operator(()ident(maxgroups)operator(\);) operator(}) comment(/******************************************************************** * * Document-class: Process::GID * * The Process::GID module contains a collection of * module functions which can be used to portably get, set, and * switch the current process's real, effective, and saved group IDs. * */) directive(static) pre_type(int) ident(SAVED_GROUP_ID) operator(=) operator(-)integer(1)operator(;) preprocessor(#ifdef) ident(BROKEN_SETREGID) pre_type(int) ident(setregid)operator(()ident(rgid)operator(,) ident(egid)operator(\)) ident(rb_gid_t) ident(rgid)operator(,) ident(egid)operator(;) operator({) reserved(if) operator(()ident(rgid) operator(!=) operator(-)integer(1) operator(&&) ident(rgid) operator(!=) ident(getgid)operator((\)\)) operator({) reserved(if) operator(()ident(egid) operator(==) operator(-)integer(1)operator(\)) ident(egid) operator(=) ident(getegid)operator((\);) reserved(if) operator(()ident(setgid)operator(()ident(rgid)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(egid) operator(!=) operator(-)integer(1) operator(&&) ident(egid) operator(!=) ident(getegid)operator((\)\)) operator({) reserved(if) operator(()ident(setegid)operator(()ident(egid)operator(\)) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) preprocessor(#endif) comment(/* * call-seq: * Process::GID.change_privilege(integer\) => fixnum * * Change the current process's real and effective group ID to that * specified by _integer_. Returns the new group ID. Not * available on all platforms. * * [Process.gid, Process.egid] #=> [0, 0] * Process::GID.change_privilege(33\) #=> 33 * [Process.gid, Process.egid] #=> [33, 33] */) directive(static) ident(VALUE) ident(p_gid_change_privilege)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) pre_type(int) ident(gid)operator(;) ident(check_gid_switch)operator((\);) ident(gid) operator(=) ident(NUM2INT)operator(()ident(id)operator(\);) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0)operator(\)) operator({) comment(/* root-user */) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) reserved(if) operator(()ident(setresgid)operator(()ident(gid)operator(,) ident(gid)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) preprocessor(#elif) ident(defined) ident(HAVE_SETGID) reserved(if) operator(()ident(setgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREGID)operator(\)) reserved(if) operator(()ident(getgid)operator((\)) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setregid)operator((-)integer(1)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(gid) operator(==) integer(0)operator(\)) operator({) comment(/* (r,e,s\) == (root, y, x\) */) reserved(if) operator(()ident(setregid)operator((-)integer(1)operator(,) ident(SAVED_GROUP_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setregid)operator(()ident(SAVED_GROUP_ID)operator(,) integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) integer(0)operator(;) comment(/* (r,e,s\) == (x, root, root\) */) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) reserved(else) operator({) comment(/* (r,e,s\) == (z, y, x\) */) reserved(if) operator(()ident(setregid)operator(()integer(0)operator(,) integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) integer(0)operator(;) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETRGID)operator(\)) operator(&&) ident(defined) operator(()ident(HAVE_SETEGID)operator(\)) reserved(if) operator(()ident(getgid)operator((\)) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(gid) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setrgid)operator(()ident(SAVED_GROUP_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) integer(0)operator(;) reserved(if) operator(()ident(setrgid)operator(()integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setrgid)operator(()integer(0)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) integer(0)operator(;) reserved(if) operator(()ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) reserved(else) operator({) comment(/* unprivileged user */) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) reserved(if) operator(()ident(setresgid)operator((()ident(getgid)operator((\)) operator(==) ident(gid)operator(\)?) operator(-)integer(1)operator(:) ident(gid)operator(,) operator(()ident(getegid)operator((\)) operator(==) ident(gid)operator(\)?) operator(-)integer(1)operator(:) ident(gid)operator(,) operator(()ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)?) operator(-)integer(1)operator(:) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREGID)operator(\)) reserved(if) operator(()ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setregid)operator((()ident(getgid)operator((\)) operator(==) ident(gid)operator(\)?) operator(-)integer(1)operator(:) ident(gid)operator(,) operator(()ident(getegid)operator((\)) operator(==) ident(gid)operator(\)?) operator(-)integer(1)operator(:) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(getgid)operator((\)) operator(!=) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) operator(()ident(getegid)operator((\)) operator(==) ident(gid)operator(\)?) operator(-)integer(1)operator(:) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) reserved(else) reserved(if) operator(()comment(/* getgid(\) == gid && */) ident(getegid)operator((\)) operator(!=) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setregid)operator(()ident(getegid)operator((\),) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) comment(/* getgid(\) == gid && getegid(\) == gid */) reserved(if) operator(()ident(setregid)operator((-)integer(1)operator(,) ident(SAVED_GROUP_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setregid)operator(()ident(SAVED_GROUP_ID)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETRGID)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_SETEGID)operator(\)) reserved(if) operator(()ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(getegid)operator((\)) operator(!=) ident(gid) operator(&&) ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(getgid)operator((\)) operator(!=) ident(gid) operator(&&) ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) reserved(if) operator(()comment(/* SAVED_GROUP_ID != gid && */) ident(getegid)operator((\)) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(getgid)operator((\)) operator(!=) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setrgid)operator(()ident(SAVED_GROUP_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) reserved(if) operator(()ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()comment(/* getegid(\) != gid && */) ident(getgid)operator((\)) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setrgid)operator(()ident(SAVED_GROUP_ID)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) reserved(if) operator(()ident(setrgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_44BSD_SETGID) reserved(if) operator(()ident(getgid)operator((\)) operator(==) ident(gid)operator(\)) operator({) comment(/* (r,e,s\)==(gid,?,?\) ==> (gid,gid,gid\) */) reserved(if) operator(()ident(setgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_SETEGID) reserved(if) operator(()ident(getgid)operator((\)) operator(==) ident(gid) operator(&&) ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setegid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_SETGID) reserved(if) operator(()ident(getgid)operator((\)) operator(==) ident(gid) operator(&&) ident(SAVED_GROUP_ID) operator(==) ident(gid)operator(\)) operator({) reserved(if) operator(()ident(setgid)operator(()ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) reserved(return) ident(INT2FIX)operator(()ident(gid)operator(\);) operator(}) comment(/* * call-seq: * Process.euid => fixnum * Process::UID.eid => fixnum * Process::Sys.geteuid => fixnum * * Returns the effective user ID for this process. * * Process.euid #=> 501 */) directive(static) ident(VALUE) ident(proc_geteuid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(euid) operator(=) ident(geteuid)operator((\);) reserved(return) ident(INT2FIX)operator(()ident(euid)operator(\);) operator(}) comment(/* * call-seq: * Process.euid= integer * * Sets the effective user ID for this process. Not available on all * platforms. */) directive(static) ident(VALUE) ident(proc_seteuid)operator(()ident(obj)operator(,) ident(euid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(euid)operator(;) operator({) ident(check_uid_switch)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(setresuid)operator((-)integer(1)operator(,) ident(NUM2INT)operator(()ident(euid)operator(\),) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETREUID) reserved(if) operator(()ident(setreuid)operator((-)integer(1)operator(,) ident(NUM2INT)operator(()ident(euid)operator(\)\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETEUID) reserved(if) operator(()ident(seteuid)operator(()ident(NUM2INT)operator(()ident(euid)operator(\)\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETUID) ident(euid) operator(=) ident(NUM2INT)operator(()ident(euid)operator(\);) reserved(if) operator(()ident(euid) operator(==) ident(getuid)operator((\)\)) operator({) reserved(if) operator(()ident(setuid)operator(()ident(euid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(rb_notimplement)operator((\);) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(euid)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_seteuid_core)operator(()ident(euid)operator(\)) pre_type(int) ident(euid)operator(;) operator({) pre_type(int) ident(uid)operator(;) ident(check_uid_switch)operator((\);) ident(uid) operator(=) ident(getuid)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(uid) operator(!=) ident(euid)operator(\)) operator({) reserved(if) operator(()ident(setresuid)operator((-)integer(1)operator(,)ident(euid)operator(,)ident(euid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(euid)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setresuid)operator((-)integer(1)operator(,)ident(euid)operator(,-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREUID)operator(\)) reserved(if) operator(()ident(setreuid)operator((-)integer(1)operator(,) ident(euid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(uid) operator(!=) ident(euid)operator(\)) operator({) reserved(if) operator(()ident(setreuid)operator(()ident(euid)operator(,)ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setreuid)operator(()ident(uid)operator(,)ident(euid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(euid)operator(;) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_SETEUID) reserved(if) operator(()ident(seteuid)operator(()ident(euid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETUID) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setuid)operator(()ident(euid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()ident(euid)operator(\);) operator(}) comment(/* * call-seq: * Process::UID.grant_privilege(integer\) => fixnum * Process::UID.eid= integer => fixnum * * Set the effective user ID, and if possible, the saved user ID of * the process to the given _integer_. Returns the new * effective user ID. Not available on all platforms. * * [Process.uid, Process.euid] #=> [0, 0] * Process::UID.grant_privilege(31\) #=> 31 * [Process.uid, Process.euid] #=> [0, 31] */) directive(static) ident(VALUE) ident(p_uid_grant_privilege)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) reserved(return) ident(rb_seteuid_core)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\);) operator(}) comment(/* * call-seq: * Process.egid => fixnum * Process::GID.eid => fixnum * Process::Sys.geteid => fixnum * * Returns the effective group ID for this process. Not available on * all platforms. * * Process.egid #=> 500 */) directive(static) ident(VALUE) ident(proc_getegid)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(egid) operator(=) ident(getegid)operator((\);) reserved(return) ident(INT2FIX)operator(()ident(egid)operator(\);) operator(}) comment(/* * call-seq: * Process.egid = fixnum => fixnum * * Sets the effective group ID for this process. Not available on all * platforms. */) directive(static) ident(VALUE) ident(proc_setegid)operator(()ident(obj)operator(,) ident(egid)operator(\)) ident(VALUE) ident(obj)operator(,) ident(egid)operator(;) operator({) ident(check_gid_switch)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(setresgid)operator((-)integer(1)operator(,) ident(NUM2INT)operator(()ident(egid)operator(\),) operator(-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETREGID) reserved(if) operator(()ident(setregid)operator((-)integer(1)operator(,) ident(NUM2INT)operator(()ident(egid)operator(\)\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETEGID) reserved(if) operator(()ident(setegid)operator(()ident(NUM2INT)operator(()ident(egid)operator(\)\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETGID) ident(egid) operator(=) ident(NUM2INT)operator(()ident(egid)operator(\);) reserved(if) operator(()ident(egid) operator(==) ident(getgid)operator((\)\)) operator({) reserved(if) operator(()ident(setgid)operator(()ident(egid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(rb_notimplement)operator((\);) operator(}) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(egid)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_setegid_core)operator(()ident(egid)operator(\)) pre_type(int) ident(egid)operator(;) operator({) pre_type(int) ident(gid)operator(;) ident(check_gid_switch)operator((\);) ident(gid) operator(=) ident(getgid)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(gid) operator(!=) ident(egid)operator(\)) operator({) reserved(if) operator(()ident(setresgid)operator((-)integer(1)operator(,)ident(egid)operator(,)ident(egid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(egid)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(setresgid)operator((-)integer(1)operator(,)ident(egid)operator(,-)integer(1)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREGID)operator(\)) reserved(if) operator(()ident(setregid)operator((-)integer(1)operator(,) ident(egid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(gid) operator(!=) ident(egid)operator(\)) operator({) reserved(if) operator(()ident(setregid)operator(()ident(egid)operator(,)ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setregid)operator(()ident(gid)operator(,)ident(egid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(egid)operator(;) operator(}) preprocessor(#elif) ident(defined) ident(HAVE_SETEGID) reserved(if) operator(()ident(setegid)operator(()ident(egid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#elif) ident(defined) ident(HAVE_SETGID) reserved(if) operator(()ident(geteuid)operator((\)) operator(==) integer(0) comment(/* root user */)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) reserved(if) operator(()ident(setgid)operator(()ident(egid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()ident(egid)operator(\);) operator(}) comment(/* * call-seq: * Process::GID.grant_privilege(integer\) => fixnum * Process::GID.eid = integer => fixnum * * Set the effective group ID, and if possible, the saved group ID of * the process to the given _integer_. Returns the new * effective group ID. Not available on all platforms. * * [Process.gid, Process.egid] #=> [0, 0] * Process::GID.grant_privilege(31\) #=> 33 * [Process.gid, Process.egid] #=> [0, 33] */) directive(static) ident(VALUE) ident(p_gid_grant_privilege)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(,) ident(id)operator(;) operator({) reserved(return) ident(rb_setegid_core)operator(()ident(NUM2INT)operator(()ident(id)operator(\)\);) operator(}) comment(/* * call-seq: * Process::UID.re_exchangeable? => true or false * * Returns +true+ if the real and effective user IDs of a * process may be exchanged on the current platform. * */) directive(static) ident(VALUE) ident(p_uid_exchangeable)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREUID)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process::UID.re_exchange => fixnum * * Exchange real and effective user IDs and return the new effective * user ID. Not available on all platforms. * * [Process.uid, Process.euid] #=> [0, 31] * Process::UID.re_exchange #=> 0 * [Process.uid, Process.euid] #=> [31, 0] */) directive(static) ident(VALUE) ident(p_uid_exchange)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(uid)operator(,) ident(euid)operator(;) ident(check_uid_switch)operator((\);) ident(uid) operator(=) ident(getuid)operator((\);) ident(euid) operator(=) ident(geteuid)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(setresuid)operator(()ident(euid)operator(,) ident(uid)operator(,) ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREUID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREUID)operator(\)) reserved(if) operator(()ident(setreuid)operator(()ident(euid)operator(,)ident(uid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_USER_ID) operator(=) ident(uid)operator(;) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()ident(uid)operator(\);) operator(}) comment(/* * call-seq: * Process::GID.re_exchangeable? => true or false * * Returns +true+ if the real and effective group IDs of a * process may be exchanged on the current platform. * */) directive(static) ident(VALUE) ident(p_gid_exchangeable)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREGID)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process::GID.re_exchange => fixnum * * Exchange real and effective group IDs and return the new effective * group ID. Not available on all platforms. * * [Process.gid, Process.egid] #=> [0, 33] * Process::GID.re_exchange #=> 0 * [Process.gid, Process.egid] #=> [33, 0] */) directive(static) ident(VALUE) ident(p_gid_exchange)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(gid)operator(,) ident(egid)operator(;) ident(check_gid_switch)operator((\);) ident(gid) operator(=) ident(getgid)operator((\);) ident(egid) operator(=) ident(getegid)operator((\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) reserved(if) operator(()ident(setresgid)operator(()ident(egid)operator(,) ident(gid)operator(,) ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETREGID)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(OBSOLETE_SETREGID)operator(\)) reserved(if) operator(()ident(setregid)operator(()ident(egid)operator(,)ident(gid)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) ident(SAVED_GROUP_ID) operator(=) ident(gid)operator(;) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) reserved(return) ident(INT2FIX)operator(()ident(gid)operator(\);) operator(}) comment(/* [MG] :FIXME: Is this correct? I'm not sure how to phrase this. */) comment(/* * call-seq: * Process::UID.sid_available? => true or false * * Returns +true+ if the current platform has saved user * ID functionality. * */) directive(static) ident(VALUE) ident(p_uid_have_saved_id)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(||) ident(defined)operator(()ident(HAVE_SETEUID)operator(\)) operator(||) ident(defined)operator(()ident(_POSIX_SAVED_IDS)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESUID)operator(\)) operator(||) ident(defined)operator(()ident(HAVE_SETEUID)operator(\)) operator(||) ident(defined)operator(()ident(_POSIX_SAVED_IDS)operator(\)) directive(static) ident(VALUE) ident(p_uid_sw_ensure)operator(()ident(id)operator(\)) pre_type(int) ident(id)operator(;) operator({) ident(under_uid_switch) operator(=) integer(0)operator(;) reserved(return) ident(rb_seteuid_core)operator(()ident(id)operator(\);) operator(}) comment(/* * call-seq: * Process::UID.switch => fixnum * Process::UID.switch {|| block} => object * * Switch the effective and real user IDs of the current process. If * a block is given, the user IDs will be switched back * after the block is executed. Returns the new effective user ID if * called without a block, and the return value of the block if one * is given. * */) directive(static) ident(VALUE) ident(p_uid_switch)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(uid)operator(,) ident(euid)operator(;) ident(check_uid_switch)operator((\);) ident(uid) operator(=) ident(getuid)operator((\);) ident(euid) operator(=) ident(geteuid)operator((\);) reserved(if) operator(()ident(uid) operator(!=) ident(euid)operator(\)) operator({) ident(proc_seteuid)operator(()ident(obj)operator(,) ident(INT2FIX)operator(()ident(uid)operator(\)\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(under_uid_switch) operator(=) integer(1)operator(;) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(Qnil)operator(,) ident(p_uid_sw_ensure)operator(,) ident(SAVED_USER_ID)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(INT2FIX)operator(()ident(euid)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(euid) operator(!=) ident(SAVED_USER_ID)operator(\)) operator({) ident(proc_seteuid)operator(()ident(obj)operator(,) ident(INT2FIX)operator(()ident(SAVED_USER_ID)operator(\)\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(under_uid_switch) operator(=) integer(1)operator(;) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(Qnil)operator(,) ident(p_uid_sw_ensure)operator(,) ident(euid)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(INT2FIX)operator(()ident(uid)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#else) directive(static) ident(VALUE) ident(p_uid_sw_ensure)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(under_uid_switch) operator(=) integer(0)operator(;) reserved(return) ident(p_uid_exchange)operator(()ident(obj)operator(\);) operator(}) directive(static) ident(VALUE) ident(p_uid_switch)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(uid)operator(,) ident(euid)operator(;) ident(check_uid_switch)operator((\);) ident(uid) operator(=) ident(getuid)operator((\);) ident(euid) operator(=) ident(geteuid)operator((\);) reserved(if) operator(()ident(uid) operator(==) ident(euid)operator(\)) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) ident(p_uid_exchange)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(under_uid_switch) operator(=) integer(1)operator(;) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(Qnil)operator(,) ident(p_uid_sw_ensure)operator(,) ident(obj)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(INT2FIX)operator(()ident(euid)operator(\);) operator(}) preprocessor(#endif) operator(}) comment(/* [MG] :FIXME: Is this correct? I'm not sure how to phrase this. */) comment(/* * call-seq: * Process::GID.sid_available? => true or false * * Returns +true+ if the current platform has saved group * ID functionality. * */) directive(static) ident(VALUE) ident(p_gid_have_saved_id)operator((\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(||) ident(defined)operator(()ident(HAVE_SETEGID)operator(\)) operator(||) ident(defined)operator(()ident(_POSIX_SAVED_IDS)operator(\)) reserved(return) ident(Qtrue)operator(;) preprocessor(#else) reserved(return) ident(Qfalse)operator(;) preprocessor(#endif) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETRESGID)operator(\)) operator(||) ident(defined)operator(()ident(HAVE_SETEGID)operator(\)) operator(||) ident(defined)operator(()ident(_POSIX_SAVED_IDS)operator(\)) directive(static) ident(VALUE) ident(p_gid_sw_ensure)operator(()ident(id)operator(\)) pre_type(int) ident(id)operator(;) operator({) ident(under_gid_switch) operator(=) integer(0)operator(;) reserved(return) ident(rb_setegid_core)operator(()ident(id)operator(\);) operator(}) comment(/* * call-seq: * Process::GID.switch => fixnum * Process::GID.switch {|| block} => object * * Switch the effective and real group IDs of the current process. If * a block is given, the group IDs will be switched back * after the block is executed. Returns the new effective group ID if * called without a block, and the return value of the block if one * is given. * */) directive(static) ident(VALUE) ident(p_gid_switch)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(gid)operator(,) ident(egid)operator(;) ident(check_gid_switch)operator((\);) ident(gid) operator(=) ident(getgid)operator((\);) ident(egid) operator(=) ident(getegid)operator((\);) reserved(if) operator(()ident(gid) operator(!=) ident(egid)operator(\)) operator({) ident(proc_setegid)operator(()ident(obj)operator(,) ident(INT2FIX)operator(()ident(gid)operator(\)\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(under_gid_switch) operator(=) integer(1)operator(;) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(Qnil)operator(,) ident(p_gid_sw_ensure)operator(,) ident(SAVED_GROUP_ID)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(INT2FIX)operator(()ident(egid)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(egid) operator(!=) ident(SAVED_GROUP_ID)operator(\)) operator({) ident(proc_setegid)operator(()ident(obj)operator(,) ident(INT2FIX)operator(()ident(SAVED_GROUP_ID)operator(\)\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(under_gid_switch) operator(=) integer(1)operator(;) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(Qnil)operator(,) ident(p_gid_sw_ensure)operator(,) ident(egid)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(INT2FIX)operator(()ident(gid)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) preprocessor(#else) directive(static) ident(VALUE) ident(p_gid_sw_ensure)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(under_gid_switch) operator(=) integer(0)operator(;) reserved(return) ident(p_gid_exchange)operator(()ident(obj)operator(\);) operator(}) directive(static) ident(VALUE) ident(p_gid_switch)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) pre_type(int) ident(gid)operator(,) ident(egid)operator(;) ident(check_gid_switch)operator((\);) ident(gid) operator(=) ident(getgid)operator((\);) ident(egid) operator(=) ident(getegid)operator((\);) reserved(if) operator(()ident(gid) operator(==) ident(egid)operator(\)) operator({) ident(errno) operator(=) ident(EPERM)operator(;) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) ident(p_gid_exchange)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(under_gid_switch) operator(=) integer(1)operator(;) reserved(return) ident(rb_ensure)operator(()ident(rb_yield)operator(,) ident(Qnil)operator(,) ident(p_gid_sw_ensure)operator(,) ident(obj)operator(\);) operator(}) reserved(else) operator({) reserved(return) ident(INT2FIX)operator(()ident(egid)operator(\);) operator(}) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.times => aStructTms * * Returns a Tms structure (see Struct::Tms * on page 388\) that contains user and system CPU times for this * process. * * t = Process.times * [ t.utime, t.stime ] #=> [0.0, 0.02] */) ident(VALUE) ident(rb_proc_times)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_TIMES)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__CHECKER__)operator(\)) directive(const) pre_type(double) ident(hertz) operator(=) preprocessor(#ifdef) ident(HAVE__SC_CLK_TCK) operator(()pre_type(double)operator(\))ident(sysconf)operator(()ident(_SC_CLK_TCK)operator(\);) preprocessor(#else) preprocessor(#ifndef) ident(HZ) preprocessor(# ifdef) ident(CLK_TCK) preprocessor(# define) ident(HZ) ident(CLK_TCK) preprocessor(# else) preprocessor(# define) ident(HZ) integer(60) preprocessor(# endif) preprocessor(#endif) comment(/* HZ */) ident(HZ)operator(;) preprocessor(#endif) reserved(struct) ident(tms) ident(buf)operator(;) directive(volatile) ident(VALUE) ident(utime)operator(,) ident(stime)operator(,) ident(cutime)operator(,) ident(sctime)operator(;) ident(times)operator((&)ident(buf)operator(\);) reserved(return) ident(rb_struct_new)operator(()ident(S_Tms)operator(,) ident(utime) operator(=) ident(rb_float_new)operator(()ident(buf)operator(.)ident(tms_utime) operator(/) ident(hertz)operator(\),) ident(stime) operator(=) ident(rb_float_new)operator(()ident(buf)operator(.)ident(tms_stime) operator(/) ident(hertz)operator(\),) ident(cutime) operator(=) ident(rb_float_new)operator(()ident(buf)operator(.)ident(tms_cutime) operator(/) ident(hertz)operator(\),) ident(sctime) operator(=) ident(rb_float_new)operator(()ident(buf)operator(.)ident(tms_cstime) operator(/) ident(hertz)operator(\)\);) preprocessor(#else) ident(rb_notimplement)operator((\);) preprocessor(#endif) operator(}) ident(VALUE) ident(rb_mProcess)operator(;) ident(VALUE) ident(rb_mProcUID)operator(;) ident(VALUE) ident(rb_mProcGID)operator(;) ident(VALUE) ident(rb_mProcID_Syscall)operator(;) comment(/* * The Process module is a collection of methods used to * manipulate processes. */) directive(void) ident(Init_process)operator((\)) operator({) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(get_pid)operator(,) integer(0)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_last_status)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_exec)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_fork)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_exit_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_system)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_sleep)operator(,) operator(-)integer(1)operator(\);) ident(rb_mProcess) operator(=) ident(rb_define_module)operator(()stringoperator(\);) preprocessor(#if) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(DJGPP)operator(\)) preprocessor(#ifdef) ident(WNOHANG) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(WNOHANG)operator(\)\);) preprocessor(#else) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()integer(0)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(WUNTRACED) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(WUNTRACED)operator(\)\);) preprocessor(#else) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()integer(0)operator(\)\);) preprocessor(#endif) preprocessor(#endif) ident(rb_define_singleton_method)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_f_fork)operator(,) integer(0)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_f_exit_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_f_exit)operator(,) operator(-)integer(1)operator(\);) comment(/* in eval.c */) ident(rb_define_singleton_method)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_f_abort)operator(,) operator(-)integer(1)operator(\);) comment(/* in eval.c */) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_f_kill)operator(,) operator(-)integer(1)operator(\);) comment(/* in signal.c */) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_wait)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_wait2)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_wait)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_wait2)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_waitall)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_detach)operator(,) integer(1)operator(\);) ident(rb_cProcStatus) operator(=) ident(rb_define_class_under)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cProcStatus)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_bitand)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) string>)delimiter(")>operator(,) ident(pst_rshift)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_pid)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wifstopped)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wstopsig)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wifsignaled)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wtermsig)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wifexited)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wexitstatus)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_success_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cProcStatus)operator(,) stringoperator(,) ident(pst_wcoredump)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(get_pid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(get_ppid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getpgrp)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setpgrp)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getpgid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setpgid)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setsid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getpriority)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setpriority)operator(,) integer(3)operator(\);) preprocessor(#ifdef) ident(HAVE_GETPRIORITY) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(PRIO_PROCESS)operator(\)\);) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(PRIO_PGRP)operator(\)\);) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(PRIO_USER)operator(\)\);) preprocessor(#endif) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getrlimit)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setrlimit)operator(,) operator(-)integer(1)operator(\);) preprocessor(#ifdef) ident(RLIM2NUM) preprocessor(#ifdef) ident(RLIM_INFINITY) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(RLIM2NUM)operator(()ident(RLIM_INFINITY)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIM_SAVED_MAX) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(RLIM2NUM)operator(()ident(RLIM_SAVED_MAX)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIM_SAVED_CUR) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(RLIM2NUM)operator(()ident(RLIM_SAVED_CUR)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_CORE) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_CORE)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_CPU) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_CPU)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_DATA) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_DATA)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_FSIZE) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_FSIZE)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_NOFILE) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_NOFILE)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_STACK) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_STACK)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_AS) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_AS)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_MEMLOCK) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_MEMLOCK)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_NPROC) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_NPROC)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_RSS) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_RSS)operator(\)\);) preprocessor(#endif) preprocessor(#ifdef) ident(RLIMIT_SBSIZE) ident(rb_define_const)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RLIMIT_SBSIZE)operator(\)\);) preprocessor(#endif) preprocessor(#endif) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getuid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setuid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getgid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setgid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_geteuid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_seteuid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getegid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setegid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_initgroups)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getgroups)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setgroups)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_getmaxgroups)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(proc_setmaxgroups)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcess)operator(,) stringoperator(,) ident(rb_proc_times)operator(,) integer(0)operator(\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_TIMES)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) ident(S_Tms) operator(=) ident(rb_struct_define)operator(()stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) pre_constant(NULL)operator(\);) preprocessor(#endif) ident(SAVED_USER_ID) operator(=) ident(geteuid)operator((\);) ident(SAVED_GROUP_ID) operator(=) ident(getegid)operator((\);) ident(rb_mProcUID) operator(=) ident(rb_define_module_under)operator(()ident(rb_mProcess)operator(,) stringoperator(\);) ident(rb_mProcGID) operator(=) ident(rb_define_module_under)operator(()ident(rb_mProcess)operator(,) stringoperator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(proc_getuid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(proc_getgid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(proc_geteuid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(proc_getegid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(p_uid_change_privilege)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(p_gid_change_privilege)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(p_uid_grant_privilege)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(p_gid_grant_privilege)operator(,) integer(1)operator(\);) ident(rb_define_alias)operator(()ident(rb_singleton_class)operator(()ident(rb_mProcUID)operator(\),) stringoperator(,) stringoperator(\);) ident(rb_define_alias)operator(()ident(rb_singleton_class)operator(()ident(rb_mProcGID)operator(\),) stringoperator(,) stringoperator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(p_uid_exchange)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(p_gid_exchange)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(p_uid_exchangeable)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(p_gid_exchangeable)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(p_uid_have_saved_id)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(p_gid_have_saved_id)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcUID)operator(,) stringoperator(,) ident(p_uid_switch)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcGID)operator(,) stringoperator(,) ident(p_gid_switch)operator(,) integer(0)operator(\);) ident(rb_mProcID_Syscall) operator(=) ident(rb_define_module_under)operator(()ident(rb_mProcess)operator(,) stringoperator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(proc_getuid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(proc_geteuid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(proc_getgid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(proc_getegid)operator(,) integer(0)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setuid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setgid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setruid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setrgid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_seteuid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setegid)operator(,) integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setreuid)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setregid)operator(,) integer(2)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setresuid)operator(,) integer(3)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_setresgid)operator(,) integer(3)operator(\);) ident(rb_define_module_function)operator(()ident(rb_mProcID_Syscall)operator(,) stringoperator(,) ident(p_sys_issetugid)operator(,) integer(0)operator(\);) operator(}) comment(/********************************************************************** random.c - $Author: shyouhei $ $Date: 2009-01-17 04:15:36 +0100 (Sat, 17 Jan 2009\) $ created at: Fri Dec 24 16:39:21 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) comment(/* This is based on trimmed version of MT19937. To get the original version, contact . The original copyright notice follows. A C-program for MT19937, with initialization improved 2002/2/10. Coded by Takuji Nishimura and Makoto Matsumoto. This is a faster version by taking Shawn Cokus's optimization, Matthe Bellew's simplification, Isaku Wada's real version. Before using, initialize the state by using init_genrand(seed\) or init_by_array(init_key, key_length\). Copyright (C\) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION\) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE\) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Any feedback is very welcome. http://www.math.keio.ac.jp/matumoto/emt.html email: matumoto@math.keio.ac.jp */) comment(/* Period parameters */) preprocessor(#define) ident(N) integer(624) preprocessor(#define) ident(M) integer(397) preprocessor(#define) ident(MATRIX_A) hex(0x9908b0df)ident(UL) comment(/* constant vector a */) preprocessor(#define) ident(UMASK) hex(0x80000000)ident(UL) comment(/* most significant w-r bits */) preprocessor(#define) ident(LMASK) hex(0x7fffffff)ident(UL) comment(/* least significant r bits */) preprocessor(#define) ident(MIXBITS)operator(()ident(u)operator(,)ident(v)operator(\)) operator(() operator((()ident(u)operator(\)) operator(&) ident(UMASK)operator(\)) operator(|) operator((()ident(v)operator(\)) operator(&) ident(LMASK)operator(\)) operator(\)) preprocessor(#define) ident(TWIST)operator(()ident(u)operator(,)ident(v)operator(\)) operator((()ident(MIXBITS)operator(()ident(u)operator(,)ident(v)operator(\)) operator(>>) integer(1)operator(\)) operator(^) operator((()ident(v)operator(\)&)integer(1)ident(UL) operator(?) ident(MATRIX_A) operator(:) integer(0)ident(UL)operator(\)\)) directive(static) pre_type(unsigned) pre_type(long) ident(state)operator([)ident(N)operator(];) comment(/* the array for the state vector */) directive(static) pre_type(int) ident(left) operator(=) integer(1)operator(;) directive(static) pre_type(int) ident(initf) operator(=) integer(0)operator(;) directive(static) pre_type(unsigned) pre_type(long) operator(*)ident(next)operator(;) comment(/* initializes state[N] with a seed */) directive(static) directive(void) ident(init_genrand)operator(()ident(s)operator(\)) pre_type(unsigned) pre_type(long) ident(s)operator(;) operator({) pre_type(int) ident(j)operator(;) ident(state)operator([)integer(0)operator(]=) ident(s) operator(&) hex(0xffffffff)ident(UL)operator(;) reserved(for) operator(()ident(j)operator(=)integer(1)operator(;) ident(j)operator(<)ident(N)operator(;) ident(j)operator(++\)) operator({) ident(state)operator([)ident(j)operator(]) operator(=) operator(()integer(1812433253)ident(UL) operator(*) operator(()ident(state)operator([)ident(j)operator(-)integer(1)operator(]) operator(^) operator(()ident(state)operator([)ident(j)operator(-)integer(1)operator(]) operator(>>) integer(30)operator(\)\)) operator(+) ident(j)operator(\);) comment(/* See Knuth TAOCP Vol2. 3rd Ed. P.106 for multiplier. */) comment(/* In the previous versions, MSBs of the seed affect */) comment(/* only MSBs of the array state[]. */) comment(/* 2002/01/09 modified by Makoto Matsumoto */) ident(state)operator([)ident(j)operator(]) operator(&=) hex(0xffffffff)ident(UL)operator(;) comment(/* for >32 bit machines */) operator(}) ident(left) operator(=) integer(1)operator(;) ident(initf) operator(=) integer(1)operator(;) operator(}) comment(/* initialize by an array with array-length */) comment(/* init_key is the array for initializing keys */) comment(/* key_length is its length */) comment(/* slight change for C++, 2004/2/26 */) directive(static) directive(void) ident(init_by_array)operator(()pre_type(unsigned) pre_type(long) ident(init_key)operator([],) pre_type(int) ident(key_length)operator(\)) operator({) pre_type(int) ident(i)operator(,) ident(j)operator(,) ident(k)operator(;) ident(init_genrand)operator(()integer(19650218)ident(UL)operator(\);) ident(i)operator(=)integer(1)operator(;) ident(j)operator(=)integer(0)operator(;) ident(k) operator(=) operator(()ident(N)operator(>)ident(key_length) operator(?) ident(N) operator(:) ident(key_length)operator(\);) reserved(for) operator((;) ident(k)operator(;) ident(k)operator(--\)) operator({) ident(state)operator([)ident(i)operator(]) operator(=) operator(()ident(state)operator([)ident(i)operator(]) operator(^) operator((()ident(state)operator([)ident(i)operator(-)integer(1)operator(]) operator(^) operator(()ident(state)operator([)ident(i)operator(-)integer(1)operator(]) operator(>>) integer(30)operator(\)\)) operator(*) integer(1664525)ident(UL)operator(\)\)) operator(+) ident(init_key)operator([)ident(j)operator(]) operator(+) ident(j)operator(;) comment(/* non linear */) ident(state)operator([)ident(i)operator(]) operator(&=) hex(0xffffffff)ident(UL)operator(;) comment(/* for WORDSIZE > 32 machines */) ident(i)operator(++;) ident(j)operator(++;) reserved(if) operator(()ident(i)operator(>=)ident(N)operator(\)) operator({) ident(state)operator([)integer(0)operator(]) operator(=) ident(state)operator([)ident(N)operator(-)integer(1)operator(];) ident(i)operator(=)integer(1)operator(;) operator(}) reserved(if) operator(()ident(j)operator(>=)ident(key_length)operator(\)) ident(j)operator(=)integer(0)operator(;) operator(}) reserved(for) operator(()ident(k)operator(=)ident(N)operator(-)integer(1)operator(;) ident(k)operator(;) ident(k)operator(--\)) operator({) ident(state)operator([)ident(i)operator(]) operator(=) operator(()ident(state)operator([)ident(i)operator(]) operator(^) operator((()ident(state)operator([)ident(i)operator(-)integer(1)operator(]) operator(^) operator(()ident(state)operator([)ident(i)operator(-)integer(1)operator(]) operator(>>) integer(30)operator(\)\)) operator(*) integer(1566083941)ident(UL)operator(\)\)) operator(-) ident(i)operator(;) comment(/* non linear */) ident(state)operator([)ident(i)operator(]) operator(&=) hex(0xffffffff)ident(UL)operator(;) comment(/* for WORDSIZE > 32 machines */) ident(i)operator(++;) reserved(if) operator(()ident(i)operator(>=)ident(N)operator(\)) operator({) ident(state)operator([)integer(0)operator(]) operator(=) ident(state)operator([)ident(N)operator(-)integer(1)operator(];) ident(i)operator(=)integer(1)operator(;) operator(}) operator(}) ident(state)operator([)integer(0)operator(]) operator(=) hex(0x80000000)ident(UL)operator(;) comment(/* MSB is 1; assuring non-zero initial array */) ident(left) operator(=) integer(1)operator(;) ident(initf) operator(=) integer(1)operator(;) operator(}) directive(static) directive(void) ident(next_state)operator((\)) operator({) pre_type(unsigned) pre_type(long) operator(*)ident(p)operator(=)ident(state)operator(;) pre_type(int) ident(j)operator(;) comment(/* if init_genrand(\) has not been called, */) comment(/* a default initial seed is used */) reserved(if) operator(()ident(initf)operator(==)integer(0)operator(\)) ident(init_genrand)operator(()integer(5489)ident(UL)operator(\);) ident(left) operator(=) ident(N)operator(;) ident(next) operator(=) ident(state)operator(;) reserved(for) operator(()ident(j)operator(=)ident(N)operator(-)ident(M)operator(+)integer(1)operator(;) operator(--)ident(j)operator(;) ident(p)operator(++\)) operator(*)ident(p) operator(=) ident(p)operator([)ident(M)operator(]) operator(^) ident(TWIST)operator(()ident(p)operator([)integer(0)operator(],) ident(p)operator([)integer(1)operator(]\);) reserved(for) operator(()ident(j)operator(=)ident(M)operator(;) operator(--)ident(j)operator(;) ident(p)operator(++\)) operator(*)ident(p) operator(=) ident(p)operator([)ident(M)operator(-)ident(N)operator(]) operator(^) ident(TWIST)operator(()ident(p)operator([)integer(0)operator(],) ident(p)operator([)integer(1)operator(]\);) operator(*)ident(p) operator(=) ident(p)operator([)ident(M)operator(-)ident(N)operator(]) operator(^) ident(TWIST)operator(()ident(p)operator([)integer(0)operator(],) ident(state)operator([)integer(0)operator(]\);) operator(}) comment(/* generates a random number on [0,0xffffffff]-interval */) directive(static) pre_type(unsigned) pre_type(long) ident(genrand_int32)operator(()directive(void)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(y)operator(;) reserved(if) operator((--)ident(left) operator(==) integer(0)operator(\)) ident(next_state)operator((\);) ident(y) operator(=) operator(*)ident(next)operator(++;) comment(/* Tempering */) ident(y) operator(^=) operator(()ident(y) operator(>>) integer(11)operator(\);) ident(y) operator(^=) operator(()ident(y) operator(<<) integer(7)operator(\)) operator(&) hex(0x9d2c5680)ident(UL)operator(;) ident(y) operator(^=) operator(()ident(y) operator(<<) integer(15)operator(\)) operator(&) hex(0xefc60000)ident(UL)operator(;) ident(y) operator(^=) operator(()ident(y) operator(>>) integer(18)operator(\);) reserved(return) ident(y)operator(;) operator(}) comment(/* generates a random number on [0,1\) with 53-bit resolution*/) directive(static) pre_type(double) ident(genrand_real)operator(()directive(void)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(a)operator(=)ident(genrand_int32)operator((\)>>)integer(5)operator(,) ident(b)operator(=)ident(genrand_int32)operator((\)>>)integer(6)operator(;) reserved(return)operator(()ident(a)operator(*)integer(6710886)float(4)float(.0)operator(+)ident(b)operator(\)*()float(1)float(.0)operator(/)integer(900719925474099)float(2)float(.0)operator(\);) operator(}) comment(/* These real versions are due to Isaku Wada, 2002/01/09 added */) preprocessor(#undef) ident(N) preprocessor(#undef) ident(M) comment(/* These real versions are due to Isaku Wada, 2002/01/09 added */) preprocessor(#include) include("ruby.h") preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_FCNTL_H) preprocessor(#include) include() preprocessor(#endif) directive(static) ident(VALUE) ident(saved_seed) operator(=) ident(INT2FIX)operator(()integer(0)operator(\);) directive(static) ident(VALUE) ident(rand_init)operator(()ident(vseed)operator(\)) ident(VALUE) ident(vseed)operator(;) operator({) directive(volatile) ident(VALUE) ident(seed)operator(;) ident(VALUE) ident(old)operator(;) pre_type(long) ident(len)operator(;) pre_type(unsigned) pre_type(long) operator(*)ident(buf)operator(;) ident(seed) operator(=) ident(rb_to_int)operator(()ident(vseed)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(seed)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(len) operator(=) reserved(sizeof)operator(()ident(VALUE)operator(\);) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(len) operator(=) ident(RBIGNUM)operator(()ident(seed)operator(\)->)ident(len) operator(*) ident(SIZEOF_BDIGITS)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) ident(len) operator(=) integer(4)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(vseed)operator(\)\);) operator(}) ident(len) operator(=) operator(()ident(len) operator(+) integer(3)operator(\)) operator(/) integer(4)operator(;) comment(/* number of 32bit words */) ident(buf) operator(=) ident(ALLOC_N)operator(()pre_type(unsigned) pre_type(long)operator(,) ident(len)operator(\);) comment(/* allocate longs for init_by_array */) ident(memset)operator(()ident(buf)operator(,) integer(0)operator(,) ident(len) operator(*) reserved(sizeof)operator(()pre_type(long)operator(\)\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(seed)operator(\)\)) operator({) ident(buf)operator([)integer(0)operator(]) operator(=) ident(FIX2ULONG)operator(()ident(seed)operator(\)) operator(&) hex(0xffffffff)operator(;) preprocessor(#if) ident(SIZEOF_LONG) operator(>) integer(4) ident(buf)operator([)integer(1)operator(]) operator(=) ident(FIX2ULONG)operator(()ident(seed)operator(\)) operator(>>) integer(32)operator(;) preprocessor(#endif) operator(}) reserved(else) operator({) pre_type(int) ident(i)operator(,) ident(j)operator(;) reserved(for) operator(()ident(i) operator(=) ident(RBIGNUM)operator(()ident(seed)operator(\)->)ident(len)operator(-)integer(1)operator(;) integer(0) operator(<=) ident(i)operator(;) ident(i)operator(--\)) operator({) ident(j) operator(=) ident(i) operator(*) ident(SIZEOF_BDIGITS) operator(/) integer(4)operator(;) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(<) integer(4) ident(buf)operator([)ident(j)operator(]) operator(<<=) ident(SIZEOF_BDIGITS) operator(*) integer(8)operator(;) preprocessor(#endif) ident(buf)operator([)ident(j)operator(]) operator(|=) operator((()ident(BDIGIT) operator(*\))ident(RBIGNUM)operator(()ident(seed)operator(\)->)ident(digits)operator(\)[)ident(i)operator(];) operator(}) operator(}) reserved(while) operator(()integer(1) operator(<) ident(len) operator(&&) ident(buf)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) integer(0)operator(\)) operator({) ident(len)operator(--;) operator(}) reserved(if) operator(()ident(len) operator(<=) integer(1)operator(\)) operator({) ident(init_genrand)operator(()ident(buf)operator([)integer(0)operator(]\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(buf)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) integer(1)operator(\)) comment(/* remove leading-zero-guard */) ident(len)operator(--;) ident(init_by_array)operator(()ident(buf)operator(,) ident(len)operator(\);) operator(}) ident(old) operator(=) ident(saved_seed)operator(;) ident(saved_seed) operator(=) ident(seed)operator(;) ident(free)operator(()ident(buf)operator(\);) reserved(return) ident(old)operator(;) operator(}) directive(static) ident(VALUE) ident(random_seed)operator((\)) operator({) directive(static) pre_type(int) ident(n) operator(=) integer(0)operator(;) reserved(struct) ident(timeval) ident(tv)operator(;) pre_type(int) ident(fd)operator(;) reserved(struct) ident(stat) ident(statbuf)operator(;) pre_type(int) ident(seed_len)operator(;) ident(BDIGIT) operator(*)ident(digits)operator(;) pre_type(unsigned) pre_type(long) operator(*)ident(seed)operator(;) ident(NEWOBJ)operator(()ident(big)operator(,) reserved(struct) ident(RBignum)operator(\);) ident(OBJSETUP)operator(()ident(big)operator(,) ident(rb_cBignum)operator(,) ident(T_BIGNUM)operator(\);) ident(seed_len) operator(=) integer(4) operator(*) reserved(sizeof)operator(()pre_type(long)operator(\);) ident(big)operator(->)ident(sign) operator(=) integer(1)operator(;) ident(big)operator(->)ident(len) operator(=) ident(seed_len) operator(/) ident(SIZEOF_BDIGITS) operator(+) integer(1)operator(;) ident(digits) operator(=) ident(big)operator(->)ident(digits) operator(=) ident(ALLOC_N)operator(()ident(BDIGIT)operator(,) ident(big)operator(->)ident(len)operator(\);) ident(seed) operator(=) operator(()pre_type(unsigned) pre_type(long) operator(*\))ident(big)operator(->)ident(digits)operator(;) ident(memset)operator(()ident(digits)operator(,) integer(0)operator(,) ident(big)operator(->)ident(len) operator(*) ident(SIZEOF_BDIGITS)operator(\);) preprocessor(#ifdef) ident(S_ISCHR) reserved(if) operator((()ident(fd) operator(=) ident(open)operator(()stringoperator(,) ident(O_RDONLY) preprocessor(#ifdef) ident(O_NONBLOCK) operator(|)ident(O_NONBLOCK) preprocessor(#endif) preprocessor(#ifdef) ident(O_NOCTTY) operator(|)ident(O_NOCTTY) preprocessor(#endif) preprocessor(#ifdef) ident(O_NOFOLLOW) operator(|)ident(O_NOFOLLOW) preprocessor(#endif) operator(\)\)) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(fstat)operator(()ident(fd)operator(,) operator(&)ident(statbuf)operator(\)) operator(==) integer(0) operator(&&) ident(S_ISCHR)operator(()ident(statbuf)operator(.)ident(st_mode)operator(\)\)) operator({) ident(read)operator(()ident(fd)operator(,) ident(seed)operator(,) ident(seed_len)operator(\);) operator(}) ident(close)operator(()ident(fd)operator(\);) operator(}) preprocessor(#endif) ident(gettimeofday)operator((&)ident(tv)operator(,) integer(0)operator(\);) ident(seed)operator([)integer(0)operator(]) operator(^=) ident(tv)operator(.)ident(tv_usec)operator(;) ident(seed)operator([)integer(1)operator(]) operator(^=) ident(tv)operator(.)ident(tv_sec)operator(;) ident(seed)operator([)integer(2)operator(]) operator(^=) ident(getpid)operator((\)) operator(^) operator(()ident(n)operator(++) operator(<<) integer(16)operator(\);) ident(seed)operator([)integer(3)operator(]) operator(^=) operator(()pre_type(unsigned) pre_type(long)operator(\)&)ident(seed)operator(;) comment(/* set leading-zero-guard if need. */) ident(digits)operator([)ident(big)operator(->)ident(len)operator(-)integer(1)operator(]) operator(=) ident(digits)operator([)ident(big)operator(->)ident(len)operator(-)integer(2)operator(]) operator(<=) integer(1) operator(?) integer(1) operator(:) integer(0)operator(;) reserved(return) ident(rb_big_norm)operator((()ident(VALUE)operator(\))ident(big)operator(\);) operator(}) comment(/* * call-seq: * srand(number=0\) => old_seed * * Seeds the pseudorandom number generator to the value of * number.to_i.abs. If number is omitted, * seeds the generator using a combination of the time, the * process id, and a sequence number. (This is also the behavior if * Kernel::rand is called without previously calling * srand, but without the sequence.\) By setting the seed * to a known value, scripts can be made deterministic during testing. * The previous seed value is returned. Also see Kernel::rand. */) directive(static) ident(VALUE) ident(rb_f_srand)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(seed)operator(,) ident(old)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(seed)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(seed) operator(=) ident(random_seed)operator((\);) operator(}) ident(old) operator(=) ident(rand_init)operator(()ident(seed)operator(\);) reserved(return) ident(old)operator(;) operator(}) directive(static) pre_type(unsigned) pre_type(long) ident(make_mask)operator(()pre_type(unsigned) pre_type(long) ident(x)operator(\)) operator({) ident(x) operator(=) ident(x) operator(|) ident(x) operator(>>) integer(1)operator(;) ident(x) operator(=) ident(x) operator(|) ident(x) operator(>>) integer(2)operator(;) ident(x) operator(=) ident(x) operator(|) ident(x) operator(>>) integer(4)operator(;) ident(x) operator(=) ident(x) operator(|) ident(x) operator(>>) integer(8)operator(;) ident(x) operator(=) ident(x) operator(|) ident(x) operator(>>) integer(16)operator(;) preprocessor(#if) integer(4) operator(<) ident(SIZEOF_LONG) ident(x) operator(=) ident(x) operator(|) ident(x) operator(>>) integer(32)operator(;) preprocessor(#endif) reserved(return) ident(x)operator(;) operator(}) directive(static) pre_type(unsigned) pre_type(long) ident(limited_rand)operator(()pre_type(unsigned) pre_type(long) ident(limit)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(mask) operator(=) ident(make_mask)operator(()ident(limit)operator(\);) pre_type(int) ident(i)operator(;) pre_type(unsigned) pre_type(long) ident(val)operator(;) label(retry:) ident(val) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) ident(SIZEOF_LONG)operator(/)integer(4)operator(-)integer(1)operator(;) integer(0) operator(<=) ident(i)operator(;) ident(i)operator(--\)) operator({) reserved(if) operator(()ident(mask) operator(>>) operator(()ident(i) operator(*) integer(32)operator(\)\)) operator({) ident(val) operator(|=) ident(genrand_int32)operator((\)) operator(<<) operator(()ident(i) operator(*) integer(32)operator(\);) ident(val) operator(&=) ident(mask)operator(;) reserved(if) operator(()ident(limit) operator(<) ident(val)operator(\)) reserved(goto) ident(retry)operator(;) operator(}) operator(}) reserved(return) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(limited_big_rand)operator(()reserved(struct) ident(RBignum) operator(*)ident(limit)operator(\)) operator({) pre_type(unsigned) pre_type(long) ident(mask)operator(,) ident(lim)operator(,) ident(rnd)operator(;) reserved(struct) ident(RBignum) operator(*)ident(val)operator(;) pre_type(int) ident(i)operator(,) ident(len)operator(,) ident(boundary)operator(;) ident(len) operator(=) operator(()ident(limit)operator(->)ident(len) operator(*) ident(SIZEOF_BDIGITS) operator(+) integer(3)operator(\)) operator(/) integer(4)operator(;) ident(val) operator(=) operator(()reserved(struct) ident(RBignum) operator(*\))ident(rb_big_clone)operator((()ident(VALUE)operator(\))ident(limit)operator(\);) ident(val)operator(->)ident(sign) operator(=) integer(1)operator(;) preprocessor(#if) ident(SIZEOF_BDIGITS) operator(==) integer(2) preprocessor(# define) ident(BIG_GET32)operator(()ident(big)operator(,)ident(i)operator(\)) operator(((()ident(BDIGIT) operator(*\)()ident(big)operator(\)->)ident(digits)operator(\)[()ident(i)operator(\)*)integer(2)operator(]) operator(|) \ operator((()ident(i)operator(\)*)integer(2)operator(+)integer(1) operator(<) operator(()ident(big)operator(\)->)ident(len) operator(?) operator(((()ident(BDIGIT) operator(*\)()ident(big)operator(\)->)ident(digits)operator(\)[()ident(i)operator(\)*)integer(2)operator(+)integer(1)operator(]) operator(<<) integer(16)operator(\)) \ operator(:) integer(0)operator(\)\)) preprocessor(# define) ident(BIG_SET32)operator(()ident(big)operator(,)ident(i)operator(,)ident(d)operator(\)) operator((((()ident(BDIGIT) operator(*\)()ident(big)operator(\)->)ident(digits)operator(\)[()ident(i)operator(\)*)integer(2)operator(]) operator(=) operator(()ident(d)operator(\)) operator(&) hex(0xffff)operator(\),) \ operator((()ident(i)operator(\)*)integer(2)operator(+)integer(1) operator(<) operator(()ident(big)operator(\)->)ident(len) operator(?) operator(((()ident(BDIGIT) operator(*\)()ident(big)operator(\)->)ident(digits)operator(\)[()ident(i)operator(\)*)integer(2)operator(+)integer(1)operator(]) operator(=) operator(()ident(d)operator(\)) operator(>>) integer(16)operator(\)) \ operator(:) integer(0)operator(\)\)) preprocessor(#else) comment(/* SIZEOF_BDIGITS == 4 */) preprocessor(# define) ident(BIG_GET32)operator(()ident(big)operator(,)ident(i)operator(\)) operator(((()ident(BDIGIT) operator(*\)()ident(big)operator(\)->)ident(digits)operator(\)[)ident(i)operator(]\)) preprocessor(# define) ident(BIG_SET32)operator(()ident(big)operator(,)ident(i)operator(,)ident(d)operator(\)) operator(((()ident(BDIGIT) operator(*\)()ident(big)operator(\)->)ident(digits)operator(\)[)ident(i)operator(]) operator(=) operator(()ident(d)operator(\)\)) preprocessor(#endif) label(retry:) ident(mask) operator(=) integer(0)operator(;) ident(boundary) operator(=) integer(1)operator(;) reserved(for) operator(()ident(i) operator(=) ident(len)operator(-)integer(1)operator(;) integer(0) operator(<=) ident(i)operator(;) ident(i)operator(--\)) operator({) ident(lim) operator(=) ident(BIG_GET32)operator(()ident(limit)operator(,) ident(i)operator(\);) ident(mask) operator(=) ident(mask) operator(?) hex(0xffffffff) operator(:) ident(make_mask)operator(()ident(lim)operator(\);) reserved(if) operator(()ident(mask)operator(\)) operator({) ident(rnd) operator(=) ident(genrand_int32)operator((\)) operator(&) ident(mask)operator(;) reserved(if) operator(()ident(boundary)operator(\)) operator({) reserved(if) operator(()ident(lim) operator(<) ident(rnd)operator(\)) reserved(goto) ident(retry)operator(;) reserved(if) operator(()ident(rnd) operator(<) ident(lim)operator(\)) ident(boundary) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(else) operator({) ident(rnd) operator(=) integer(0)operator(;) operator(}) ident(BIG_SET32)operator(()ident(val)operator(,) ident(i)operator(,) ident(rnd)operator(\);) operator(}) reserved(return) ident(rb_big_norm)operator((()ident(VALUE)operator(\))ident(val)operator(\);) operator(}) comment(/* * call-seq: * rand(max=0\) => number * * Converts max to an integer using max1 = * max.to_i.abs. If the result is zero, returns a * pseudorandom floating point number greater than or equal to 0.0 and * less than 1.0. Otherwise, returns a pseudorandom integer greater * than or equal to zero and less than max1. Kernel::srand * may be used to ensure repeatable sequences of random numbers between * different runs of the program. Ruby currently uses a modified * Mersenne Twister with a period of 2**19937-1. * * srand 1234 #=> 0 * [ rand, rand ] #=> [0.191519450163469, 0.49766366626136] * [ rand(10\), rand(1000\) ] #=> [6, 817] * srand 1234 #=> 1234 * [ rand, rand ] #=> [0.191519450163469, 0.49766366626136] */) directive(static) ident(VALUE) ident(rb_f_rand)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(obj)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(vmax)operator(;) pre_type(long) ident(val)operator(,) ident(max)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(vmax)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(vmax)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) reserved(if) operator(()ident(RFLOAT)operator(()ident(vmax)operator(\)->)ident(value) operator(<=) ident(LONG_MAX) operator(&&) ident(RFLOAT)operator(()ident(vmax)operator(\)->)ident(value) operator(>=) ident(LONG_MIN)operator(\)) operator({) ident(max) operator(=) operator(()pre_type(long)operator(\))ident(RFLOAT)operator(()ident(vmax)operator(\)->)ident(value)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(RFLOAT)operator(()ident(vmax)operator(\)->)ident(value) operator(<) integer(0)operator(\)) ident(vmax) operator(=) ident(rb_dbl2big)operator((-)ident(RFLOAT)operator(()ident(vmax)operator(\)->)ident(value)operator(\);) reserved(else) ident(vmax) operator(=) ident(rb_dbl2big)operator(()ident(RFLOAT)operator(()ident(vmax)operator(\)->)ident(value)operator(\);) comment(/* fall through */) reserved(case) ident(T_BIGNUM)operator(:) label(bignum:) operator({) reserved(struct) ident(RBignum) operator(*)ident(limit) operator(=) operator(()reserved(struct) ident(RBignum) operator(*\))ident(vmax)operator(;) reserved(if) operator((!)ident(limit)operator(->)ident(sign)operator(\)) operator({) ident(limit) operator(=) operator(()reserved(struct) ident(RBignum) operator(*\))ident(rb_big_clone)operator(()ident(vmax)operator(\);) ident(limit)operator(->)ident(sign) operator(=) integer(1)operator(;) operator(}) ident(limit) operator(=) operator(()reserved(struct) ident(RBignum) operator(*\))ident(rb_big_minus)operator((()ident(VALUE)operator(\))ident(limit)operator(,) ident(INT2FIX)operator(()integer(1)operator(\)\);) reserved(if) operator(()ident(FIXNUM_P)operator((()ident(VALUE)operator(\))ident(limit)operator(\)\)) operator({) reserved(if) operator(()ident(FIX2LONG)operator((()ident(VALUE)operator(\))ident(limit)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(rb_float_new)operator(()ident(genrand_real)operator((\)\);) reserved(return) ident(LONG2NUM)operator(()ident(limited_rand)operator(()ident(FIX2LONG)operator((()ident(VALUE)operator(\))ident(limit)operator(\)\)\);) operator(}) reserved(return) ident(limited_big_rand)operator(()ident(limit)operator(\);) operator(}) reserved(case) ident(T_NIL)operator(:) ident(max) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(vmax) operator(=) ident(rb_Integer)operator(()ident(vmax)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(vmax)operator(\)) operator(==) ident(T_BIGNUM)operator(\)) reserved(goto) ident(bignum)operator(;) comment(/* fall through */) reserved(case) ident(T_FIXNUM)operator(:) ident(max) operator(=) ident(FIX2LONG)operator(()ident(vmax)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(max) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_float_new)operator(()ident(genrand_real)operator((\)\);) operator(}) reserved(if) operator(()ident(max) operator(<) integer(0)operator(\)) ident(max) operator(=) operator(-)ident(max)operator(;) ident(val) operator(=) ident(limited_rand)operator(()ident(max)operator(-)integer(1)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(val)operator(\);) operator(}) directive(void) ident(Init_Random)operator((\)) operator({) ident(rand_init)operator(()ident(random_seed)operator((\)\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_srand)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_rand)operator(,) operator(-)integer(1)operator(\);) ident(rb_global_variable)operator((&)ident(saved_seed)operator(\);) operator(}) comment(/********************************************************************** range.c - $Author: shyouhei $ $Date: 2007-09-16 21:38:27 +0200 (Sun, 16 Sep 2007\) $ created at: Thu Aug 19 17:46:47 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") ident(VALUE) ident(rb_cRange)operator(;) directive(static) ident(ID) ident(id_cmp)operator(,) ident(id_succ)operator(,) ident(id_beg)operator(,) ident(id_end)operator(,) ident(id_excl)operator(;) preprocessor(#define) ident(EXCL)operator(()ident(r)operator(\)) ident(RTEST)operator(()ident(rb_ivar_get)operator((()ident(r)operator(\),) ident(id_excl)operator(\)\)) preprocessor(#define) ident(SET_EXCL)operator(()ident(r)operator(,)ident(v)operator(\)) ident(rb_ivar_set)operator((()ident(r)operator(\),) ident(id_excl)operator(,) operator(()ident(v)operator(\)) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(\)) directive(static) ident(VALUE) ident(range_failed)operator((\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(return) ident(Qnil)operator(;) comment(/* dummy */) operator(}) directive(static) ident(VALUE) ident(range_check)operator(()ident(args)operator(\)) ident(VALUE) operator(*)ident(args)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(args)operator([)integer(0)operator(],) ident(id_cmp)operator(,) integer(1)operator(,) ident(args)operator([)integer(1)operator(]\);) operator(}) directive(static) directive(void) ident(range_init)operator(()ident(range)operator(,) ident(beg)operator(,) ident(end)operator(,) ident(exclude_end)operator(\)) ident(VALUE) ident(range)operator(,) ident(beg)operator(,) ident(end)operator(;) pre_type(int) ident(exclude_end)operator(;) operator({) ident(VALUE) ident(args)operator([)integer(2)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(beg)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(end)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(beg)operator(\)) operator(||) operator(!)ident(FIXNUM_P)operator(()ident(end)operator(\)\)) operator({) ident(VALUE) ident(v)operator(;) ident(v) operator(=) ident(rb_rescue)operator(()ident(range_check)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) ident(range_failed)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator(\)\)) ident(range_failed)operator((\);) operator(}) ident(SET_EXCL)operator(()ident(range)operator(,) ident(exclude_end)operator(\);) ident(rb_ivar_set)operator(()ident(range)operator(,) ident(id_beg)operator(,) ident(beg)operator(\);) ident(rb_ivar_set)operator(()ident(range)operator(,) ident(id_end)operator(,) ident(end)operator(\);) operator(}) ident(VALUE) ident(rb_range_new)operator(()ident(beg)operator(,) ident(end)operator(,) ident(exclude_end)operator(\)) ident(VALUE) ident(beg)operator(,) ident(end)operator(;) pre_type(int) ident(exclude_end)operator(;) operator({) ident(VALUE) ident(range) operator(=) ident(rb_obj_alloc)operator(()ident(rb_cRange)operator(\);) ident(range_init)operator(()ident(range)operator(,) ident(beg)operator(,) ident(end)operator(,) ident(exclude_end)operator(\);) reserved(return) ident(range)operator(;) operator(}) comment(/* * call-seq: * Range.new(start, end, exclusive=false\) => range * * Constructs a range using the given start and end. If the third * parameter is omitted or is false, the range will include * the end object; otherwise, it will be excluded. */) directive(static) ident(VALUE) ident(range_initialize)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(range)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(range)operator(;) operator({) ident(VALUE) ident(beg)operator(,) ident(end)operator(,) ident(flags)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(beg)operator(,) operator(&)ident(end)operator(,) operator(&)ident(flags)operator(\);) comment(/* Ranges are immutable, so that they should be initialized only once. */) reserved(if) operator(()ident(rb_ivar_defined)operator(()ident(range)operator(,) ident(id_beg)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(rb_intern)operator(()stringoperator(\),) stringoperator(\);) operator(}) ident(range_init)operator(()ident(range)operator(,) ident(beg)operator(,) ident(end)operator(,) ident(RTEST)operator(()ident(flags)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * rng.exclude_end? => true or false * * Returns true if rng excludes its end value. */) directive(static) ident(VALUE) ident(range_exclude_end_p)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) reserved(return) ident(EXCL)operator(()ident(range)operator(\)) operator(?) ident(Qtrue) operator(:) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * rng == obj => true or false * * Returns true only if obj is a Range, has equivalent * beginning and end items (by comparing them with ==\), and has * the same #exclude_end? setting as rng. * * (0..2\) == (0..2\) #=> true * (0..2\) == Range.new(0,2\) #=> true * (0..2\) == (0...2\) #=> false * */) directive(static) ident(VALUE) ident(range_eq)operator(()ident(range)operator(,) ident(obj)operator(\)) ident(VALUE) ident(range)operator(,) ident(obj)operator(;) operator({) reserved(if) operator(()ident(range) operator(==) ident(obj)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator((!)ident(rb_obj_is_instance_of)operator(()ident(obj)operator(,) ident(rb_obj_class)operator(()ident(range)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((!)ident(rb_equal)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\),) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id_beg)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((!)ident(rb_equal)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\),) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id_end)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(EXCL)operator(()ident(range)operator(\)) operator(!=) ident(EXCL)operator(()ident(obj)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) directive(static) pre_type(int) ident(r_lt)operator(()ident(a)operator(,) ident(b)operator(\)) ident(VALUE) ident(a)operator(,) ident(b)operator(;) operator({) ident(VALUE) ident(r) operator(=) ident(rb_funcall)operator(()ident(a)operator(,) ident(id_cmp)operator(,) integer(1)operator(,) ident(b)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(r)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_cmpint)operator(()ident(r)operator(,) ident(a)operator(,) ident(b)operator(\)) operator(<) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(r_le)operator(()ident(a)operator(,) ident(b)operator(\)) ident(VALUE) ident(a)operator(,) ident(b)operator(;) operator({) pre_type(int) ident(c)operator(;) ident(VALUE) ident(r) operator(=) ident(rb_funcall)operator(()ident(a)operator(,) ident(id_cmp)operator(,) integer(1)operator(,) ident(b)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(r)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(c) operator(=) ident(rb_cmpint)operator(()ident(r)operator(,) ident(a)operator(,) ident(b)operator(\);) reserved(if) operator(()ident(c) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(c) operator(<) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * rng.eql?(obj\) => true or false * * Returns true only if obj is a Range, has equivalent * beginning and end items (by comparing them with #eql?\), and has the same * #exclude_end? setting as rng. * * (0..2\) == (0..2\) #=> true * (0..2\) == Range.new(0,2\) #=> true * (0..2\) == (0...2\) #=> false * */) directive(static) ident(VALUE) ident(range_eql)operator(()ident(range)operator(,) ident(obj)operator(\)) ident(VALUE) ident(range)operator(,) ident(obj)operator(;) operator({) reserved(if) operator(()ident(range) operator(==) ident(obj)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator((!)ident(rb_obj_is_instance_of)operator(()ident(obj)operator(,) ident(rb_obj_class)operator(()ident(range)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((!)ident(rb_eql)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\),) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id_beg)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((!)ident(rb_eql)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\),) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id_end)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(EXCL)operator(()ident(range)operator(\)) operator(!=) ident(EXCL)operator(()ident(obj)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * rng.hash => fixnum * * Generate a hash value such that two ranges with the same start and * end points, and the same value for the "exclude end" flag, generate * the same hash value. */) directive(static) ident(VALUE) ident(range_hash)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) pre_type(long) ident(hash) operator(=) ident(EXCL)operator(()ident(range)operator(\);) ident(VALUE) ident(v)operator(;) ident(v) operator(=) ident(rb_hash)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\)\);) ident(hash) operator(^=) ident(v) operator(<<) integer(1)operator(;) ident(v) operator(=) ident(rb_hash)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\)\);) ident(hash) operator(^=) ident(v) operator(<<) integer(9)operator(;) ident(hash) operator(^=) ident(EXCL)operator(()ident(range)operator(\)) operator(<<) integer(24)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(hash)operator(\);) operator(}) directive(static) ident(VALUE) ident(str_step)operator(()ident(args)operator(\)) ident(VALUE) operator(*)ident(args)operator(;) operator({) reserved(return) ident(rb_str_upto)operator(()ident(args)operator([)integer(0)operator(],) ident(args)operator([)integer(1)operator(],) ident(EXCL)operator(()ident(args)operator([)integer(2)operator(]\)\);) operator(}) directive(static) directive(void) ident(range_each_func)operator(()ident(range)operator(,) ident(func)operator(,) ident(v)operator(,) ident(e)operator(,) ident(arg)operator(\)) ident(VALUE) ident(range)operator(;) directive(void) operator((*)ident(func)operator(\)) ident(_)operator((()ident(VALUE)operator(,) directive(void)operator(*\)\);) ident(VALUE) ident(v)operator(,) ident(e)operator(;) directive(void) operator(*)ident(arg)operator(;) operator({) pre_type(int) ident(c)operator(;) reserved(if) operator(()ident(EXCL)operator(()ident(range)operator(\)\)) operator({) reserved(while) operator(()ident(r_lt)operator(()ident(v)operator(,) ident(e)operator(\)\)) operator({) operator((*)ident(func)operator(\)()ident(v)operator(,) ident(arg)operator(\);) ident(v) operator(=) ident(rb_funcall)operator(()ident(v)operator(,) ident(id_succ)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(while) operator(()ident(RTEST)operator(()ident(c) operator(=) ident(r_le)operator(()ident(v)operator(,) ident(e)operator(\)\)\)) operator({) operator((*)ident(func)operator(\)()ident(v)operator(,) ident(arg)operator(\);) reserved(if) operator(()ident(c) operator(==) ident(INT2FIX)operator(()integer(0)operator(\)\)) reserved(break)operator(;) ident(v) operator(=) ident(rb_funcall)operator(()ident(v)operator(,) ident(id_succ)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) operator(}) operator(}) directive(static) ident(VALUE) ident(step_i)operator(()ident(i)operator(,) ident(iter)operator(\)) ident(VALUE) ident(i)operator(;) pre_type(long) operator(*)ident(iter)operator(;) operator({) ident(iter)operator([)integer(0)operator(]--;) reserved(if) operator(()ident(iter)operator([)integer(0)operator(]) operator(==) integer(0)operator(\)) operator({) ident(rb_yield)operator(()ident(i)operator(\);) ident(iter)operator([)integer(0)operator(]) operator(=) ident(iter)operator([)integer(1)operator(];) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * rng.step(n=1\) {| obj | block } => rng * * Iterates over rng, passing each nth element to the block. If * the range contains numbers or strings, natural ordering is used. Otherwise * step invokes succ to iterate through range * elements. The following code uses class Xs, which is defined * in the class-level documentation. * * range = Xs.new(1\)..Xs.new(10\) * range.step(2\) {|x| puts x} * range.step(3\) {|x| puts x} * * produces: * * 1 x * 3 xxx * 5 xxxxx * 7 xxxxxxx * 9 xxxxxxxxx * 1 x * 4 xxxx * 7 xxxxxxx * 10 xxxxxxxxxx */) directive(static) ident(VALUE) ident(range_step)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(range)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(range)operator(;) operator({) ident(VALUE) ident(b)operator(,) ident(e)operator(,) ident(step)operator(;) pre_type(long) ident(unit)operator(;) ident(b) operator(=) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\);) ident(e) operator(=) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(step)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(step) operator(=) ident(INT2FIX)operator(()integer(1)operator(\);) operator(}) ident(unit) operator(=) ident(NUM2LONG)operator(()ident(step)operator(\);) reserved(if) operator(()ident(unit) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(b)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(e)operator(\)\)) operator({) comment(/* fixnums are special */) pre_type(long) ident(end) operator(=) ident(FIX2LONG)operator(()ident(e)operator(\);) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(unit) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator((!)ident(EXCL)operator(()ident(range)operator(\)\)) ident(end) operator(+=) integer(1)operator(;) ident(i) operator(=) ident(FIX2LONG)operator(()ident(b)operator(\);) reserved(while) operator(()ident(i) operator(<) ident(end)operator(\)) operator({) ident(rb_yield)operator(()ident(LONG2NUM)operator(()ident(i)operator(\)\);) reserved(if) operator(()ident(i) operator(+) ident(unit) operator(<) ident(i)operator(\)) reserved(break)operator(;) ident(i) operator(+=) ident(unit)operator(;) operator(}) operator(}) reserved(else) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(b)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(VALUE) ident(args)operator([)integer(5)operator(];) pre_type(long) ident(iter)operator([)integer(2)operator(];) ident(b) operator(=) ident(tmp)operator(;) reserved(if) operator(()ident(unit) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(args)operator([)integer(0)operator(]) operator(=) ident(b)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(e)operator(;) ident(args)operator([)integer(2)operator(]) operator(=) ident(range)operator(;) ident(iter)operator([)integer(0)operator(]) operator(=) integer(1)operator(;) ident(iter)operator([)integer(1)operator(]) operator(=) ident(unit)operator(;) ident(rb_iterate)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(str_step)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) ident(step_i)operator(,) operator(()ident(VALUE)operator(\))ident(iter)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(rb_obj_is_kind_of)operator(()ident(b)operator(,) ident(rb_cNumeric)operator(\)\)) operator({) ident(ID) ident(c) operator(=) ident(rb_intern)operator(()ident(EXCL)operator(()ident(range)operator(\)) operator(?) string operator(:) stringoperator(\);) reserved(if) operator(()ident(rb_equal)operator(()ident(step)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\)\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(while) operator(()ident(RTEST)operator(()ident(rb_funcall)operator(()ident(b)operator(,) ident(c)operator(,) integer(1)operator(,) ident(e)operator(\)\)\)) operator({) ident(rb_yield)operator(()ident(b)operator(\);) ident(b) operator(=) ident(rb_funcall)operator(()ident(b)operator(,) char('+')operator(,) integer(1)operator(,) ident(step)operator(\);) operator(}) operator(}) reserved(else) operator({) pre_type(long) ident(args)operator([)integer(2)operator(];) reserved(if) operator(()ident(unit) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(b)operator(,) ident(id_succ)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(b)operator(\)\);) operator(}) ident(args)operator([)integer(0)operator(]) operator(=) integer(1)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(unit)operator(;) ident(range_each_func)operator(()ident(range)operator(,) ident(step_i)operator(,) ident(b)operator(,) ident(e)operator(,) ident(args)operator(\);) operator(}) operator(}) reserved(return) ident(range)operator(;) operator(}) directive(static) directive(void) ident(each_i)operator(()ident(v)operator(,) ident(arg)operator(\)) ident(VALUE) ident(v)operator(;) directive(void) operator(*)ident(arg)operator(;) operator({) ident(rb_yield)operator(()ident(v)operator(\);) operator(}) comment(/* * call-seq: * rng.each {| i | block } => rng * * Iterates over the elements rng, passing each in turn to the * block. You can only iterate if the start object of the range * supports the +succ+ method (which means that you can't iterate over * ranges of +Float+ objects\). * * (10..15\).each do |n| * print n, ' ' * end * * produces: * * 10 11 12 13 14 15 */) directive(static) ident(VALUE) ident(range_each)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) ident(VALUE) ident(beg)operator(,) ident(end)operator(;) ident(beg) operator(=) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\);) ident(end) operator(=) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\);) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(beg)operator(,) ident(id_succ)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(beg)operator(\)\);) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(beg)operator(\)) operator(&&) ident(FIXNUM_P)operator(()ident(end)operator(\)\)) operator({) comment(/* fixnums are special */) pre_type(long) ident(lim) operator(=) ident(FIX2LONG)operator(()ident(end)operator(\);) pre_type(long) ident(i)operator(;) reserved(if) operator((!)ident(EXCL)operator(()ident(range)operator(\)\)) ident(lim) operator(+=) integer(1)operator(;) reserved(for) operator(()ident(i)operator(=)ident(FIX2LONG)operator(()ident(beg)operator(\);) ident(i)operator(<)ident(lim)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(LONG2NUM)operator(()ident(i)operator(\)\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(beg)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(VALUE) ident(args)operator([)integer(5)operator(];) pre_type(long) ident(iter)operator([)integer(2)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(beg)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(end)operator(;) ident(args)operator([)integer(2)operator(]) operator(=) ident(range)operator(;) ident(iter)operator([)integer(0)operator(]) operator(=) integer(1)operator(;) ident(iter)operator([)integer(1)operator(]) operator(=) integer(1)operator(;) ident(rb_iterate)operator((()ident(VALUE)operator((*\))ident(_)operator((()ident(VALUE)operator(\)\)\))ident(str_step)operator(,) operator(()ident(VALUE)operator(\))ident(args)operator(,) ident(step_i)operator(,) operator(()ident(VALUE)operator(\))ident(iter)operator(\);) operator(}) reserved(else) operator({) ident(range_each_func)operator(()ident(range)operator(,) ident(each_i)operator(,) ident(beg)operator(,) ident(end)operator(,) pre_constant(NULL)operator(\);) operator(}) reserved(return) ident(range)operator(;) operator(}) comment(/* * call-seq: * rng.first => obj * rng.begin => obj * * Returns the first object in rng. */) directive(static) ident(VALUE) ident(range_first)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) reserved(return) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\);) operator(}) comment(/* * call-seq: * rng.end => obj * rng.last => obj * * Returns the object that defines the end of rng. * * (1..10\).end #=> 10 * (1...10\).end #=> 10 */) directive(static) ident(VALUE) ident(range_last)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) reserved(return) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\);) operator(}) ident(VALUE) ident(rb_range_beg_len)operator(()ident(range)operator(,) ident(begp)operator(,) ident(lenp)operator(,) ident(len)operator(,) ident(err)operator(\)) ident(VALUE) ident(range)operator(;) pre_type(long) operator(*)ident(begp)operator(,) operator(*)ident(lenp)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(err)operator(;) operator({) pre_type(long) ident(beg)operator(,) ident(end)operator(,) ident(b)operator(,) ident(e)operator(;) reserved(if) operator((!)ident(rb_obj_is_kind_of)operator(()ident(range)operator(,) ident(rb_cRange)operator(\)\)) reserved(return) ident(Qfalse)operator(;) ident(beg) operator(=) ident(b) operator(=) ident(NUM2LONG)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\)\);) ident(end) operator(=) ident(e) operator(=) ident(NUM2LONG)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\)\);) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(beg) operator(+=) ident(len)operator(;) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) reserved(goto) ident(out_of_range)operator(;) operator(}) reserved(if) operator(()ident(err) operator(==) integer(0) operator(||) ident(err) operator(==) integer(2)operator(\)) operator({) reserved(if) operator(()ident(beg) operator(>) ident(len)operator(\)) reserved(goto) ident(out_of_range)operator(;) reserved(if) operator(()ident(end) operator(>) ident(len)operator(\)) ident(end) operator(=) ident(len)operator(;) operator(}) reserved(if) operator(()ident(end) operator(<) integer(0)operator(\)) ident(end) operator(+=) ident(len)operator(;) reserved(if) operator((!)ident(EXCL)operator(()ident(range)operator(\)\)) ident(end)operator(++;) comment(/* include end point */) ident(len) operator(=) ident(end) operator(-) ident(beg)operator(;) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) ident(len) operator(=) integer(0)operator(;) operator(*)ident(begp) operator(=) ident(beg)operator(;) operator(*)ident(lenp) operator(=) ident(len)operator(;) reserved(return) ident(Qtrue)operator(;) label(out_of_range:) reserved(if) operator(()ident(err)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(b)operator(,) ident(EXCL)operator(()ident(range)operator(\)?) string operator(:) stringoperator(,) ident(e)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * rng.to_s => string * * Convert this range object to a printable form. */) directive(static) ident(VALUE) ident(range_to_s)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) ident(str) operator(=) ident(rb_obj_as_string)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\)\);) ident(str2) operator(=) ident(rb_obj_as_string)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\)\);) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_cat)operator(()ident(str)operator(,) stringoperator(,) ident(EXCL)operator(()ident(range)operator(\)?)integer(3)operator(:)integer(2)operator(\);) ident(rb_str_append)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * rng.inspect => string * * Convert this range object to a printable form (using * inspect to convert the start and end * objects\). */) directive(static) ident(VALUE) ident(range_inspect)operator(()ident(range)operator(\)) ident(VALUE) ident(range)operator(;) operator({) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) ident(str) operator(=) ident(rb_inspect)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\)\);) ident(str2) operator(=) ident(rb_inspect)operator(()ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\)\);) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_cat)operator(()ident(str)operator(,) stringoperator(,) ident(EXCL)operator(()ident(range)operator(\)?)integer(3)operator(:)integer(2)operator(\);) ident(rb_str_append)operator(()ident(str)operator(,) ident(str2)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * rng === obj => true or false * rng.member?(val\) => true or false * rng.include?(val\) => true or false * * Returns true if obj is an element of * rng, false otherwise. Conveniently, * === is the comparison operator used by * case statements. * * case 79 * when 1..50 then print "low\\n" * when 51..75 then print "medium\\n" * when 76..100 then print "high\\n" * end * * produces: * * high */) directive(static) ident(VALUE) ident(range_include)operator(()ident(range)operator(,) ident(val)operator(\)) ident(VALUE) ident(range)operator(,) ident(val)operator(;) operator({) ident(VALUE) ident(beg)operator(,) ident(end)operator(;) ident(beg) operator(=) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_beg)operator(\);) ident(end) operator(=) ident(rb_ivar_get)operator(()ident(range)operator(,) ident(id_end)operator(\);) reserved(if) operator(()ident(r_le)operator(()ident(beg)operator(,) ident(val)operator(\)\)) operator({) reserved(if) operator(()ident(EXCL)operator(()ident(range)operator(\)\)) operator({) reserved(if) operator(()ident(r_lt)operator(()ident(val)operator(,) ident(end)operator(\)\)) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(r_le)operator(()ident(val)operator(,) ident(end)operator(\)\)) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* A Range represents an interval---a set of values with a * start and an end. Ranges may be constructed using the * s..e and * s...e literals, or with * Range::new. Ranges constructed using .. * run from the start to the end inclusively. Those created using * ... exclude the end value. When used as an iterator, * ranges return each value in the sequence. * * (-1..-5\).to_a #=> [] * (-5..-1\).to_a #=> [-5, -4, -3, -2, -1] * ('a'..'e'\).to_a #=> ["a", "b", "c", "d", "e"] * ('a'...'e'\).to_a #=> ["a", "b", "c", "d"] * * Ranges can be constructed using objects of any type, as long as the * objects can be compared using their <=> operator and * they support the succ method to return the next object * in sequence. * * class Xs # represent a string of 'x's * include Comparable * attr :length * def initialize(n\) * @length = n * end * def succ * Xs.new(@length + 1\) * end * def <=>(other\) * @length <=> other.length * end * def to_s * sprintf "%2d #{inspect}", @length * end * def inspect * 'x' * @length * end * end * * r = Xs.new(3\)..Xs.new(6\) #=> xxx..xxxxxx * r.to_a #=> [xxx, xxxx, xxxxx, xxxxxx] * r.member?(Xs.new(5\)\) #=> true * * In the previous code example, class Xs includes the * Comparable module. This is because * Enumerable#member? checks for equality using * ==. Including Comparable ensures that the * == method is defined in terms of the <=> * method implemented in Xs. * */) directive(void) ident(Init_Range)operator((\)) operator({) ident(rb_cRange) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cRange)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_initialize)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_eq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_include)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_each)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_step)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_first)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_last)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_first)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_last)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_exclude_end_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_include)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRange)operator(,) stringoperator(,) ident(range_include)operator(,) integer(1)operator(\);) ident(id_cmp) operator(=) ident(rb_intern)operator(()string)delimiter(")>operator(\);) ident(id_succ) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_beg) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_end) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(id_excl) operator(=) ident(rb_intern)operator(()stringoperator(\);) operator(}) comment(/********************************************************************** re.c - $Author: shyouhei $ created at: Mon Aug 9 18:24:49 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("re.h") preprocessor(#include) include() ident(VALUE) ident(rb_eRegexpError)operator(;) preprocessor(#define) ident(BEG)operator(()ident(no)operator(\)) ident(regs)operator(->)ident(beg)operator([)ident(no)operator(]) preprocessor(#define) ident(END)operator(()ident(no)operator(\)) ident(regs)operator(->)ident(end)operator([)ident(no)operator(]) preprocessor(#if) char('a') operator(==) integer(97) comment(/* it's ascii */) directive(static) directive(const) pre_type(char) ident(casetable)operator([]) operator(=) operator({) char('\\000')operator(,) char('\\001')operator(,) char('\\002')operator(,) char('\\003')operator(,) char('\\004')operator(,) char('\\005')operator(,) char('\\006')operator(,) char('\\007')operator(,) char('\\010')operator(,) char('\\011')operator(,) char('\\012')operator(,) char('\\013')operator(,) char('\\014')operator(,) char('\\015')operator(,) char('\\016')operator(,) char('\\017')operator(,) char('\\020')operator(,) char('\\021')operator(,) char('\\022')operator(,) char('\\023')operator(,) char('\\024')operator(,) char('\\025')operator(,) char('\\026')operator(,) char('\\027')operator(,) char('\\030')operator(,) char('\\031')operator(,) char('\\032')operator(,) char('\\033')operator(,) char('\\034')operator(,) char('\\035')operator(,) char('\\036')operator(,) char('\\037')operator(,) comment(/* ' ' '!' '"' '#' '$' '%' '&' ''' */) char('\\040')operator(,) char('\\041')operator(,) char('\\042')operator(,) char('\\043')operator(,) char('\\044')operator(,) char('\\045')operator(,) char('\\046')operator(,) char('\\047')operator(,) comment(/* '(' '\)' '*' '+' ',' '-' '.' '/' */) char('\\050')operator(,) char('\\051')operator(,) char('\\052')operator(,) char('\\053')operator(,) char('\\054')operator(,) char('\\055')operator(,) char('\\056')operator(,) char('\\057')operator(,) comment(/* '0' '1' '2' '3' '4' '5' '6' '7' */) char('\\060')operator(,) char('\\061')operator(,) char('\\062')operator(,) char('\\063')operator(,) char('\\064')operator(,) char('\\065')operator(,) char('\\066')operator(,) char('\\067')operator(,) comment(/* '8' '9' ':' ';' '<' '=' '>' '?' */) char('\\070')operator(,) char('\\071')operator(,) char('\\072')operator(,) char('\\073')operator(,) char('\\074')operator(,) char('\\075')operator(,) char('\\076')operator(,) char('\\077')operator(,) comment(/* '@' 'A' 'B' 'C' 'D' 'E' 'F' 'G' */) char('\\100')operator(,) char('\\141')operator(,) char('\\142')operator(,) char('\\143')operator(,) char('\\144')operator(,) char('\\145')operator(,) char('\\146')operator(,) char('\\147')operator(,) comment(/* 'H' 'I' 'J' 'K' 'L' 'M' 'N' 'O' */) char('\\150')operator(,) char('\\151')operator(,) char('\\152')operator(,) char('\\153')operator(,) char('\\154')operator(,) char('\\155')operator(,) char('\\156')operator(,) char('\\157')operator(,) comment(/* 'P' 'Q' 'R' 'S' 'T' 'U' 'V' 'W' */) char('\\160')operator(,) char('\\161')operator(,) char('\\162')operator(,) char('\\163')operator(,) char('\\164')operator(,) char('\\165')operator(,) char('\\166')operator(,) char('\\167')operator(,) comment(/* 'X' 'Y' 'Z' '[' '\\' ']' '^' '_' */) char('\\170')operator(,) char('\\171')operator(,) char('\\172')operator(,) char('\\133')operator(,) char('\\134')operator(,) char('\\135')operator(,) char('\\136')operator(,) char('\\137')operator(,) comment(/* '`' 'a' 'b' 'c' 'd' 'e' 'f' 'g' */) char('\\140')operator(,) char('\\141')operator(,) char('\\142')operator(,) char('\\143')operator(,) char('\\144')operator(,) char('\\145')operator(,) char('\\146')operator(,) char('\\147')operator(,) comment(/* 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' */) char('\\150')operator(,) char('\\151')operator(,) char('\\152')operator(,) char('\\153')operator(,) char('\\154')operator(,) char('\\155')operator(,) char('\\156')operator(,) char('\\157')operator(,) comment(/* 'p' 'q' 'r' 's' 't' 'u' 'v' 'w' */) char('\\160')operator(,) char('\\161')operator(,) char('\\162')operator(,) char('\\163')operator(,) char('\\164')operator(,) char('\\165')operator(,) char('\\166')operator(,) char('\\167')operator(,) comment(/* 'x' 'y' 'z' '{' '|' '}' '~' */) char('\\170')operator(,) char('\\171')operator(,) char('\\172')operator(,) char('\\173')operator(,) char('\\174')operator(,) char('\\175')operator(,) char('\\176')operator(,) char('\\177')operator(,) char('\\200')operator(,) char('\\201')operator(,) char('\\202')operator(,) char('\\203')operator(,) char('\\204')operator(,) char('\\205')operator(,) char('\\206')operator(,) char('\\207')operator(,) char('\\210')operator(,) char('\\211')operator(,) char('\\212')operator(,) char('\\213')operator(,) char('\\214')operator(,) char('\\215')operator(,) char('\\216')operator(,) char('\\217')operator(,) char('\\220')operator(,) char('\\221')operator(,) char('\\222')operator(,) char('\\223')operator(,) char('\\224')operator(,) char('\\225')operator(,) char('\\226')operator(,) char('\\227')operator(,) char('\\230')operator(,) char('\\231')operator(,) char('\\232')operator(,) char('\\233')operator(,) char('\\234')operator(,) char('\\235')operator(,) char('\\236')operator(,) char('\\237')operator(,) char('\\240')operator(,) char('\\241')operator(,) char('\\242')operator(,) char('\\243')operator(,) char('\\244')operator(,) char('\\245')operator(,) char('\\246')operator(,) char('\\247')operator(,) char('\\250')operator(,) char('\\251')operator(,) char('\\252')operator(,) char('\\253')operator(,) char('\\254')operator(,) char('\\255')operator(,) char('\\256')operator(,) char('\\257')operator(,) char('\\260')operator(,) char('\\261')operator(,) char('\\262')operator(,) char('\\263')operator(,) char('\\264')operator(,) char('\\265')operator(,) char('\\266')operator(,) char('\\267')operator(,) char('\\270')operator(,) char('\\271')operator(,) char('\\272')operator(,) char('\\273')operator(,) char('\\274')operator(,) char('\\275')operator(,) char('\\276')operator(,) char('\\277')operator(,) char('\\300')operator(,) char('\\301')operator(,) char('\\302')operator(,) char('\\303')operator(,) char('\\304')operator(,) char('\\305')operator(,) char('\\306')operator(,) char('\\307')operator(,) char('\\310')operator(,) char('\\311')operator(,) char('\\312')operator(,) char('\\313')operator(,) char('\\314')operator(,) char('\\315')operator(,) char('\\316')operator(,) char('\\317')operator(,) char('\\320')operator(,) char('\\321')operator(,) char('\\322')operator(,) char('\\323')operator(,) char('\\324')operator(,) char('\\325')operator(,) char('\\326')operator(,) char('\\327')operator(,) char('\\330')operator(,) char('\\331')operator(,) char('\\332')operator(,) char('\\333')operator(,) char('\\334')operator(,) char('\\335')operator(,) char('\\336')operator(,) char('\\337')operator(,) char('\\340')operator(,) char('\\341')operator(,) char('\\342')operator(,) char('\\343')operator(,) char('\\344')operator(,) char('\\345')operator(,) char('\\346')operator(,) char('\\347')operator(,) char('\\350')operator(,) char('\\351')operator(,) char('\\352')operator(,) char('\\353')operator(,) char('\\354')operator(,) char('\\355')operator(,) char('\\356')operator(,) char('\\357')operator(,) char('\\360')operator(,) char('\\361')operator(,) char('\\362')operator(,) char('\\363')operator(,) char('\\364')operator(,) char('\\365')operator(,) char('\\366')operator(,) char('\\367')operator(,) char('\\370')operator(,) char('\\371')operator(,) char('\\372')operator(,) char('\\373')operator(,) char('\\374')operator(,) char('\\375')operator(,) char('\\376')operator(,) char('\\377')operator(,) operator(};) preprocessor(#else) preprocessor(# error) operator(>>>) string operator(<<<) preprocessor(#endif) pre_type(int) ident(rb_memcicmp)operator(()ident(x)operator(,) ident(y)operator(,) ident(len)operator(\)) directive(const) directive(void) operator(*)ident(x)operator(,) operator(*)ident(y)operator(;) pre_type(long) ident(len)operator(;) operator({) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(p1) operator(=) ident(x)operator(,) operator(*)ident(p2) operator(=) ident(y)operator(;) pre_type(int) ident(tmp)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) reserved(if) operator((()ident(tmp) operator(=) ident(casetable)operator([()pre_type(unsigned)operator(\)*)ident(p1)operator(++]) operator(-) ident(casetable)operator([()pre_type(unsigned)operator(\)*)ident(p2)operator(++]\)) operator(!=) integer(0)operator(\)) reserved(return) ident(tmp)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) pre_type(int) ident(rb_memcmp)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(len)operator(\)) directive(const) directive(void) operator(*)ident(p1)operator(,) operator(*)ident(p2)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(if) operator((!)ident(ruby_ignorecase)operator(\)) operator({) reserved(return) ident(memcmp)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(len)operator(\);) operator(}) reserved(return) ident(rb_memcicmp)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(len)operator(\);) operator(}) pre_type(long) ident(rb_memsearch)operator(()ident(x0)operator(,) ident(m)operator(,) ident(y0)operator(,) ident(n)operator(\)) directive(const) directive(void) operator(*)ident(x0)operator(,) operator(*)ident(y0)operator(;) pre_type(long) ident(m)operator(,) ident(n)operator(;) operator({) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(x) operator(=) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(x0)operator(,) operator(*)ident(y) operator(=) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(y0)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(e)operator(;) pre_type(long) ident(i)operator(;) pre_type(int) ident(d)operator(;) pre_type(unsigned) pre_type(long) ident(hx)operator(,) ident(hy)operator(;) preprocessor(#define) ident(KR_REHASH)operator(()ident(a)operator(,) ident(b)operator(,) ident(h)operator(\)) operator(((()ident(h)operator(\)) operator(<<) integer(1)operator(\)) operator(-) operator(((()pre_type(unsigned) pre_type(long)operator(\)()ident(a)operator(\)\)<<)ident(d)operator(\)) operator(+) operator(()ident(b)operator(\)\)) reserved(if) operator(()ident(m) operator(>) ident(n)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(s) operator(=) ident(y)operator(;) ident(e) operator(=) ident(s) operator(+) ident(n) operator(-) ident(m)operator(;) comment(/* Preprocessing */) comment(/* computes d = 2^(m-1\) with the left-shift operator */) ident(d) operator(=) reserved(sizeof)operator(()ident(hx)operator(\)) operator(*) ident(CHAR_BIT) operator(-) integer(1)operator(;) reserved(if) operator(()ident(d) operator(>) ident(m)operator(\)) ident(d) operator(=) ident(m)operator(;) reserved(if) operator(()ident(ruby_ignorecase)operator(\)) operator({) reserved(if) operator(()ident(n) operator(==) ident(m)operator(\)) operator({) reserved(return) ident(rb_memcicmp)operator(()ident(x)operator(,) ident(s)operator(,) ident(m)operator(\)) operator(==) integer(0) operator(?) integer(0) operator(:) operator(-)integer(1)operator(;) operator(}) comment(/* Prepare hash value */) reserved(for) operator(()ident(hy) operator(=) ident(hx) operator(=) ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(d)operator(;) operator(++)ident(i)operator(\)) operator({) ident(hx) operator(=) ident(KR_REHASH)operator(()integer(0)operator(,) ident(casetable)operator([)ident(x)operator([)ident(i)operator(]],) ident(hx)operator(\);) ident(hy) operator(=) ident(KR_REHASH)operator(()integer(0)operator(,) ident(casetable)operator([)ident(s)operator([)ident(i)operator(]],) ident(hy)operator(\);) operator(}) comment(/* Searching */) reserved(while) operator(()ident(hx) operator(!=) ident(hy) operator(||) ident(rb_memcicmp)operator(()ident(x)operator(,) ident(s)operator(,) ident(m)operator(\)\)) operator({) reserved(if) operator(()ident(s) operator(>=) ident(e)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(hy) operator(=) ident(KR_REHASH)operator(()ident(casetable)operator([*)ident(s)operator(],) ident(casetable)operator([*()ident(s)operator(+)ident(d)operator(\)],) ident(hy)operator(\);) ident(s)operator(++;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(n) operator(==) ident(m)operator(\)) operator({) reserved(return) ident(memcmp)operator(()ident(x)operator(,) ident(s)operator(,) ident(m)operator(\)) operator(==) integer(0) operator(?) integer(0) operator(:) operator(-)integer(1)operator(;) operator(}) comment(/* Prepare hash value */) reserved(for) operator(()ident(hy) operator(=) ident(hx) operator(=) ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(d)operator(;) operator(++)ident(i)operator(\)) operator({) ident(hx) operator(=) ident(KR_REHASH)operator(()integer(0)operator(,) ident(x)operator([)ident(i)operator(],) ident(hx)operator(\);) ident(hy) operator(=) ident(KR_REHASH)operator(()integer(0)operator(,) ident(s)operator([)ident(i)operator(],) ident(hy)operator(\);) operator(}) comment(/* Searching */) reserved(while) operator(()ident(hx) operator(!=) ident(hy) operator(||) ident(memcmp)operator(()ident(x)operator(,) ident(s)operator(,) ident(m)operator(\)\)) operator({) reserved(if) operator(()ident(s) operator(>=) ident(e)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(hy) operator(=) ident(KR_REHASH)operator((*)ident(s)operator(,) operator(*()ident(s)operator(+)ident(d)operator(\),) ident(hy)operator(\);) ident(s)operator(++;) operator(}) operator(}) reserved(return) ident(s)operator(-)ident(y)operator(;) operator(}) preprocessor(#define) ident(REG_LITERAL) ident(FL_USER5) preprocessor(#define) ident(REG_CASESTATE) ident(FL_USER0) preprocessor(#define) ident(KCODE_NONE) integer(0) preprocessor(#define) ident(KCODE_EUC) ident(FL_USER1) preprocessor(#define) ident(KCODE_SJIS) ident(FL_USER2) preprocessor(#define) ident(KCODE_UTF8) ident(FL_USER3) preprocessor(#define) ident(KCODE_FIXED) ident(FL_USER4) preprocessor(#define) ident(KCODE_MASK) operator(()ident(KCODE_EUC)operator(|)ident(KCODE_SJIS)operator(|)ident(KCODE_UTF8)operator(\)) directive(static) pre_type(int) ident(reg_kcode) operator(=) ident(DEFAULT_KCODE)operator(;) directive(static) directive(void) ident(kcode_euc)operator(()ident(re)operator(\)) reserved(struct) ident(RRegexp) operator(*)ident(re)operator(;) operator({) ident(FL_UNSET)operator(()ident(re)operator(,) ident(KCODE_MASK)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_EUC)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\);) operator(}) directive(static) directive(void) ident(kcode_sjis)operator(()ident(re)operator(\)) reserved(struct) ident(RRegexp) operator(*)ident(re)operator(;) operator({) ident(FL_UNSET)operator(()ident(re)operator(,) ident(KCODE_MASK)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_SJIS)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\);) operator(}) directive(static) directive(void) ident(kcode_utf8)operator(()ident(re)operator(\)) reserved(struct) ident(RRegexp) operator(*)ident(re)operator(;) operator({) ident(FL_UNSET)operator(()ident(re)operator(,) ident(KCODE_MASK)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_UTF8)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\);) operator(}) directive(static) directive(void) ident(kcode_none)operator(()ident(re)operator(\)) reserved(struct) ident(RRegexp) operator(*)ident(re)operator(;) operator({) ident(FL_UNSET)operator(()ident(re)operator(,) ident(KCODE_MASK)operator(\);) ident(FL_SET)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\);) operator(}) directive(static) pre_type(int) ident(curr_kcode)operator(;) directive(void) ident(rb_kcode_set_option)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) reserved(if) operator((!)ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) reserved(return)operator(;) ident(curr_kcode) operator(=) ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(;) reserved(if) operator(()ident(reg_kcode) operator(==) ident(curr_kcode)operator(\)) reserved(return)operator(;) reserved(switch) operator(()ident(curr_kcode)operator(\)) operator({) reserved(case) ident(KCODE_NONE)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_ASCII)operator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_EUC)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_EUC)operator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_SJIS)operator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_UTF8)operator(\);) reserved(break)operator(;) operator(}) operator(}) directive(void) ident(rb_kcode_reset_option)operator((\)) operator({) reserved(if) operator(()ident(reg_kcode) operator(==) ident(curr_kcode)operator(\)) reserved(return)operator(;) reserved(switch) operator(()ident(reg_kcode)operator(\)) operator({) reserved(case) ident(KCODE_NONE)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_ASCII)operator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_EUC)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_EUC)operator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_SJIS)operator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) ident(re_mbcinit)operator(()ident(MBCTYPE_UTF8)operator(\);) reserved(break)operator(;) operator(}) operator(}) pre_type(int) ident(rb_reg_mbclen2)operator(()ident(c)operator(,) ident(re)operator(\)) pre_type(unsigned) pre_type(int) ident(c)operator(;) ident(VALUE) ident(re)operator(;) operator({) pre_type(int) ident(len)operator(;) reserved(if) operator((!)ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) reserved(return) ident(mbclen)operator(()ident(c)operator(\);) ident(rb_kcode_set_option)operator(()ident(re)operator(\);) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\);) ident(rb_kcode_reset_option)operator((\);) reserved(return) ident(len)operator(;) operator(}) directive(static) directive(void) ident(rb_reg_check)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) reserved(if) operator((!)ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr) operator(||) operator(!)ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) operator(}) directive(extern) pre_type(int) ident(ruby_in_compile)operator(;) directive(static) directive(void) ident(rb_reg_expr_str)operator(()ident(str)operator(,) ident(s)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(int) ident(need_escape) operator(=) integer(0)operator(;) ident(p) operator(=) ident(s)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(len)operator(;) reserved(while) operator(()ident(p)operator(<)ident(pend)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('/') operator(||) operator((!)ident(ISPRINT)operator((*)ident(p)operator(\)) operator(&&) operator(!)ident(ismbchar)operator((*)ident(p)operator(\)\)\)) operator({) ident(need_escape) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) ident(p) operator(+=) ident(mbclen)operator((*)ident(p)operator(\);) operator(}) reserved(if) operator((!)ident(need_escape)operator(\)) operator({) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(s)operator(,) ident(len)operator(\);) operator(}) reserved(else) operator({) ident(p) operator(=) ident(s)operator(;) reserved(while) operator(()ident(p)operator(<)ident(pend)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('\\\\')operator(\)) operator({) pre_type(int) ident(n) operator(=) ident(mbclen)operator(()ident(p)operator([)integer(1)operator(]\)) operator(+) integer(1)operator(;) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(p)operator(,) ident(n)operator(\);) ident(p) operator(+=) ident(n)operator(;) reserved(continue)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(p) operator(==) char('/')operator(\)) operator({) pre_type(char) ident(c) operator(=) char('\\\\')operator(;) ident(rb_str_buf_cat)operator(()ident(str)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(p)operator(,) integer(1)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(ismbchar)operator((*)ident(p)operator(\)\)) operator({) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(p)operator(,) ident(mbclen)operator((*)ident(p)operator(\)\);) ident(p) operator(+=) ident(mbclen)operator((*)ident(p)operator(\);) reserved(continue)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISPRINT)operator((*)ident(p)operator(\)\)) operator({) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(p)operator(,) integer(1)operator(\);) operator(}) reserved(else) reserved(if) operator((!)ident(ISSPACE)operator((*)ident(p)operator(\)\)) operator({) pre_type(char) ident(b)operator([)integer(8)operator(];) ident(sprintf)operator(()ident(b)operator(,) stringoperator(,) operator(*)ident(p) operator(&) oct(0377)operator(\);) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(b)operator(,) integer(4)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(p)operator(,) integer(1)operator(\);) operator(}) ident(p)operator(++;) operator(}) operator(}) operator(}) directive(static) ident(VALUE) ident(rb_reg_desc)operator(()ident(s)operator(,) ident(len)operator(,) ident(re)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) ident(VALUE) ident(re)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(rb_reg_expr_str)operator(()ident(str)operator(,) ident(s)operator(,) ident(len)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(re)operator(\)) operator({) ident(rb_reg_check)operator(()ident(re)operator(\);) reserved(if) operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(&) ident(RE_OPTION_MULTILINE)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(&) ident(RE_OPTION_EXTENDED)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) operator({) reserved(switch) operator((()ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(\)\)) operator({) reserved(case) ident(KCODE_NONE)operator(:) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_EUC)operator(:) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(break)operator(;) operator(}) operator(}) operator(}) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(re)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * rxp.source => str * * Returns the original string of the pattern. * * /ab+c/ix.source #=> "ab+c" */) directive(static) ident(VALUE) ident(rb_reg_source)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) ident(VALUE) ident(str)operator(;) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(str) operator(=) ident(rb_str_new)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(,)ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(re)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * rxp.inspect => string * * Produce a nicely formatted string-version of _rxp_. Perhaps surprisingly, * #inspect actually produces the more natural version of * the string than #to_s. * * /ab+c/ix.to_s #=> /ab+c/ix */) directive(static) ident(VALUE) ident(rb_reg_inspect)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) ident(rb_reg_check)operator(()ident(re)operator(\);) reserved(return) ident(rb_reg_desc)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(,) ident(re)operator(\);) operator(}) comment(/* * call-seq: * rxp.to_s => str * * Returns a string containing the regular expression and its options (using the * (?xxx:yyy\) notation. This string can be fed back in to * Regexp::new to a regular expression with the same semantics as * the original. (However, Regexp#== may not return true when * comparing the two, as the source of the regular expression itself may * differ, as the example shows\). Regexp#inspect produces a * generally more readable version of rxp. * * r1 = /ab+c/ix #=> /ab+c/ix * s1 = r1.to_s #=> "(?ix-m:ab+c\)" * r2 = Regexp.new(s1\) #=> /(?ix-m:ab+c\)/ * r1 == r2 #=> false * r1.source #=> "ab+c" * r2.source #=> "(?ix-m:ab+c\)" */) directive(static) ident(VALUE) ident(rb_reg_to_s)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(int) ident(options)operator(;) directive(const) pre_type(int) ident(embeddable) operator(=) ident(RE_OPTION_MULTILINE)operator(|)ident(RE_OPTION_IGNORECASE)operator(|)ident(RE_OPTION_EXTENDED)operator(;) pre_type(long) ident(len)operator(;) directive(const) pre_type(char)operator(*) ident(ptr)operator(;) ident(VALUE) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(options) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options)operator(;) ident(ptr) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(;) ident(len) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(;) label(again:) reserved(if) operator(()ident(len) operator(>=) integer(4) operator(&&) ident(ptr)operator([)integer(0)operator(]) operator(==) char('(') operator(&&) ident(ptr)operator([)integer(1)operator(]) operator(==) char('?')operator(\)) operator({) pre_type(int) ident(err) operator(=) integer(1)operator(;) ident(ptr) operator(+=) integer(2)operator(;) reserved(if) operator((()ident(len) operator(-=) integer(2)operator(\)) operator(>) integer(0)operator(\)) operator({) reserved(do) operator({) reserved(if) operator((*)ident(ptr) operator(==) char('m')operator(\)) operator({) ident(options) operator(|=) ident(RE_OPTION_MULTILINE)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(ptr) operator(==) char('i')operator(\)) operator({) ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(ptr) operator(==) char('x')operator(\)) operator({) ident(options) operator(|=) ident(RE_OPTION_EXTENDED)operator(;) operator(}) reserved(else) reserved(break)operator(;) operator(++)ident(ptr)operator(;) operator(}) reserved(while) operator((--)ident(len) operator(>) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(len) operator(>) integer(1) operator(&&) operator(*)ident(ptr) operator(==) char('-')operator(\)) operator({) operator(++)ident(ptr)operator(;) operator(--)ident(len)operator(;) reserved(do) operator({) reserved(if) operator((*)ident(ptr) operator(==) char('m')operator(\)) operator({) ident(options) operator(&=) operator(~)ident(RE_OPTION_MULTILINE)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(ptr) operator(==) char('i')operator(\)) operator({) ident(options) operator(&=) operator(~)ident(RE_OPTION_IGNORECASE)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(ptr) operator(==) char('x')operator(\)) operator({) ident(options) operator(&=) operator(~)ident(RE_OPTION_EXTENDED)operator(;) operator(}) reserved(else) reserved(break)operator(;) operator(++)ident(ptr)operator(;) operator(}) reserved(while) operator((--)ident(len) operator(>) integer(0)operator(\);) operator(}) reserved(if) operator((*)ident(ptr) operator(==) char('\)')operator(\)) operator({) operator(--)ident(len)operator(;) operator(++)ident(ptr)operator(;) reserved(goto) ident(again)operator(;) operator(}) reserved(if) operator((*)ident(ptr) operator(==) char(':') operator(&&) ident(ptr)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) char('\)')operator(\)) operator({) ident(Regexp) operator(*)ident(rp)operator(;) ident(rb_kcode_set_option)operator(()ident(re)operator(\);) ident(rp) operator(=) ident(ALLOC)operator(()ident(Regexp)operator(\);) ident(MEMZERO)operator((()pre_type(char) operator(*\))ident(rp)operator(,) ident(Regexp)operator(,) integer(1)operator(\);) ident(err) operator(=) ident(re_compile_pattern)operator((++)ident(ptr)operator(,) ident(len) operator(-=) integer(2)operator(,) ident(rp)operator(\)) operator(!=) integer(0)operator(;) ident(rb_kcode_reset_option)operator((\);) ident(re_free_pattern)operator(()ident(rp)operator(\);) operator(}) reserved(if) operator(()ident(err)operator(\)) operator({) ident(options) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options)operator(;) ident(ptr) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(;) ident(len) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(;) operator(}) operator(}) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_MULTILINE)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_EXTENDED)operator(\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator((()ident(options) operator(&) ident(embeddable)operator(\)) operator(!=) ident(embeddable)operator(\)) operator({) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator((!()ident(options) operator(&) ident(RE_OPTION_MULTILINE)operator(\)\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator((!()ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator((!()ident(options) operator(&) ident(RE_OPTION_EXTENDED)operator(\)\)) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_reg_expr_str)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(re)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) directive(void) ident(rb_reg_raise)operator(()ident(s)operator(,) ident(len)operator(,) ident(err)operator(,) ident(re)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) directive(const) pre_type(char) operator(*)ident(err)operator(;) ident(VALUE) ident(re)operator(;) operator({) ident(VALUE) ident(desc) operator(=) ident(rb_reg_desc)operator(()ident(s)operator(,) ident(len)operator(,) ident(re)operator(\);) reserved(if) operator(()ident(ruby_in_compile)operator(\)) ident(rb_compile_error)operator(()stringoperator(,) ident(err)operator(,) ident(RSTRING)operator(()ident(desc)operator(\)->)ident(ptr)operator(\);) reserved(else) ident(rb_raise)operator(()ident(rb_eRegexpError)operator(,) stringoperator(,) ident(err)operator(,) ident(RSTRING)operator(()ident(desc)operator(\)->)ident(ptr)operator(\);) operator(}) comment(/* * call-seq: * rxp.casefold? => true or false * * Returns the value of the case-insensitive flag. */) directive(static) ident(VALUE) ident(rb_reg_casefold_p)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) ident(rb_reg_check)operator(()ident(re)operator(\);) reserved(if) operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * rxp.options => fixnum * * Returns the set of bits corresponding to the options used when creating this * Regexp (see Regexp::new for details. Note that additional bits * may be set in the returned options: these are used internally by the regular * expression code. These extra bits are ignored if the options are passed to * Regexp::new. * * Regexp::IGNORECASE #=> 1 * Regexp::EXTENDED #=> 2 * Regexp::MULTILINE #=> 4 * * /cat/.options #=> 128 * /cat/ix.options #=> 131 * Regexp.new('cat', true\).options #=> 129 * Regexp.new('cat', 0, 's'\).options #=> 384 * * r = /cat/ix * Regexp.new(r.source, r.options\) #=> /cat/ix */) directive(static) ident(VALUE) ident(rb_reg_options_m)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(int) ident(options) operator(=) ident(rb_reg_options)operator(()ident(re)operator(\);) reserved(return) ident(INT2NUM)operator(()ident(options)operator(\);) operator(}) comment(/* * call-seq: * rxp.kcode => str * * Returns the character set code for the regexp. */) directive(static) ident(VALUE) ident(rb_reg_kcode_m)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(char) operator(*)ident(kcode)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) operator({) reserved(switch) operator(()ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(\)) operator({) reserved(case) ident(KCODE_NONE)operator(:) ident(kcode) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(KCODE_EUC)operator(:) ident(kcode) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) ident(kcode) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) ident(kcode) operator(=) stringoperator(;) reserved(break)operator(;) reserved(default)operator(:) ident(rb_bug)operator(()stringoperator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(rb_str_new2)operator(()ident(kcode)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(Regexp)operator(*) ident(make_regexp)operator(()ident(s)operator(,) ident(len)operator(,) ident(flags)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(flags)operator(;) operator({) ident(Regexp) operator(*)ident(rp)operator(;) pre_type(char) operator(*)ident(err)operator(;) comment(/* Handle escaped characters first. */) comment(/* Build a copy of the string (in dest\) with the escaped characters translated, and generate the regex from that. */) ident(rp) operator(=) ident(ALLOC)operator(()ident(Regexp)operator(\);) ident(MEMZERO)operator((()pre_type(char) operator(*\))ident(rp)operator(,) ident(Regexp)operator(,) integer(1)operator(\);) ident(rp)operator(->)ident(buffer) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) integer(16)operator(\);) ident(rp)operator(->)ident(allocated) operator(=) integer(16)operator(;) ident(rp)operator(->)ident(fastmap) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) integer(256)operator(\);) reserved(if) operator(()ident(flags)operator(\)) operator({) ident(rp)operator(->)ident(options) operator(=) ident(flags)operator(;) operator(}) ident(err) operator(=) ident(re_compile_pattern)operator(()ident(s)operator(,) ident(len)operator(,) ident(rp)operator(\);) reserved(if) operator(()ident(err) operator(!=) pre_constant(NULL)operator(\)) operator({) ident(re_free_pattern)operator(()ident(rp)operator(\);) ident(rb_reg_raise)operator(()ident(s)operator(,) ident(len)operator(,) ident(err)operator(,) integer(0)operator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(return) ident(rp)operator(;) operator(}) comment(/* * Document-class: MatchData * * MatchData is the type of the special variable $~, * and is the type of the object returned by Regexp#match and * Regexp#last_match. It encapsulates all the results of a pattern * match, results normally accessed through the special variables * $&, $', $`, $1, * $2, and so on. Matchdata is also known as * MatchingData. * */) ident(VALUE) ident(rb_cMatch)operator(;) directive(static) ident(VALUE) ident(match_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(match_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(match)operator(,) reserved(struct) ident(RMatch)operator(\);) ident(OBJSETUP)operator(()ident(match)operator(,) ident(klass)operator(,) ident(T_MATCH)operator(\);) ident(match)operator(->)ident(str) operator(=) integer(0)operator(;) ident(match)operator(->)ident(regs) operator(=) integer(0)operator(;) ident(match)operator(->)ident(regs) operator(=) ident(ALLOC)operator(()reserved(struct) ident(re_registers)operator(\);) ident(MEMZERO)operator(()ident(match)operator(->)ident(regs)operator(,) reserved(struct) ident(re_registers)operator(,) integer(1)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(match)operator(;) operator(}) directive(static) directive(void) ident(match_check)operator(()ident(VALUE) ident(match)operator(\)) operator({) reserved(if) operator((!)ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(match_init_copy)operator(()ident(obj)operator(,) ident(orig)operator(\)) ident(VALUE) ident(obj)operator(,) ident(orig)operator(;) operator({) reserved(if) operator(()ident(obj) operator(==) ident(orig)operator(\)) reserved(return) ident(obj)operator(;) reserved(if) operator((!)ident(rb_obj_is_instance_of)operator(()ident(orig)operator(,) ident(rb_obj_class)operator(()ident(obj)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(RMATCH)operator(()ident(obj)operator(\)->)ident(str) operator(=) ident(RMATCH)operator(()ident(orig)operator(\)->)ident(str)operator(;) ident(re_free_registers)operator(()ident(RMATCH)operator(()ident(obj)operator(\)->)ident(regs)operator(\);) ident(RMATCH)operator(()ident(obj)operator(\)->)ident(regs)operator(->)ident(allocated) operator(=) integer(0)operator(;) ident(re_copy_registers)operator(()ident(RMATCH)operator(()ident(obj)operator(\)->)ident(regs)operator(,) ident(RMATCH)operator(()ident(orig)operator(\)->)ident(regs)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * mtch.length => integer * mtch.size => integer * * Returns the number of elements in the match array. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.length #=> 5 * m.size #=> 5 */) directive(static) ident(VALUE) ident(match_size)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) ident(match_check)operator(()ident(match)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(\);) operator(}) comment(/* * call-seq: * mtch.offset(n\) => array * * Returns a two-element array containing the beginning and ending offsets of * the nth match. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.offset(0\) #=> [1, 7] * m.offset(4\) #=> [6, 7] */) directive(static) ident(VALUE) ident(match_offset)operator(()ident(match)operator(,) ident(n)operator(\)) ident(VALUE) ident(match)operator(,) ident(n)operator(;) operator({) pre_type(int) ident(i) operator(=) ident(NUM2INT)operator(()ident(n)operator(\);) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0) operator(||) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs) operator(<=) ident(i)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(\);) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]) operator(<) integer(0)operator(\)) reserved(return) ident(rb_assoc_new)operator(()ident(Qnil)operator(,) ident(Qnil)operator(\);) reserved(return) ident(rb_assoc_new)operator(()ident(INT2FIX)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]\),) ident(INT2FIX)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(end)operator([)ident(i)operator(]\)\);) operator(}) comment(/* * call-seq: * mtch.begin(n\) => integer * * Returns the offset of the start of the nth element of the match * array in the string. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.begin(0\) #=> 1 * m.begin(2\) #=> 2 */) directive(static) ident(VALUE) ident(match_begin)operator(()ident(match)operator(,) ident(n)operator(\)) ident(VALUE) ident(match)operator(,) ident(n)operator(;) operator({) pre_type(int) ident(i) operator(=) ident(NUM2INT)operator(()ident(n)operator(\);) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0) operator(||) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs) operator(<=) ident(i)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(\);) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(INT2FIX)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]\);) operator(}) comment(/* * call-seq: * mtch.end(n\) => integer * * Returns the offset of the character immediately following the end of the * nth element of the match array in the string. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.end(0\) #=> 7 * m.end(2\) #=> 3 */) directive(static) ident(VALUE) ident(match_end)operator(()ident(match)operator(,) ident(n)operator(\)) ident(VALUE) ident(match)operator(,) ident(n)operator(;) operator({) pre_type(int) ident(i) operator(=) ident(NUM2INT)operator(()ident(n)operator(\);) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0) operator(||) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs) operator(<=) ident(i)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(\);) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(INT2FIX)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(end)operator([)ident(i)operator(]\);) operator(}) preprocessor(#define) ident(MATCH_BUSY) ident(FL_USER2) directive(void) ident(rb_match_busy)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) ident(FL_SET)operator(()ident(match)operator(,) ident(MATCH_BUSY)operator(\);) operator(}) pre_type(int) ident(ruby_ignorecase)operator(;) directive(static) pre_type(int) ident(may_need_recompile)operator(;) directive(static) directive(void) ident(rb_reg_prepare_re)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(int) ident(need_recompile) operator(=) integer(0)operator(;) pre_type(int) ident(state)operator(;) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(state) operator(=) ident(FL_TEST)operator(()ident(re)operator(,) ident(REG_CASESTATE)operator(\);) comment(/* ignorecase status */) reserved(if) operator(()ident(ruby_ignorecase) operator(&&) operator(!)ident(state)operator(\)) operator({) ident(FL_SET)operator(()ident(re)operator(,) ident(REG_CASESTATE)operator(\);) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) ident(need_recompile) operator(=) integer(1)operator(;) operator(}) reserved(if) operator((!)ident(ruby_ignorecase) operator(&&) ident(state)operator(\)) operator({) ident(FL_UNSET)operator(()ident(re)operator(,) ident(REG_CASESTATE)operator(\);) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(&=) operator(~)ident(RE_OPTION_IGNORECASE)operator(;) ident(need_recompile) operator(=) integer(1)operator(;) operator(}) reserved(if) operator((!)ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)) operator(&&) operator(()ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(\)) operator(!=) ident(reg_kcode)operator(\)) operator({) ident(need_recompile) operator(=) integer(1)operator(;) ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&=) operator(~)ident(KCODE_MASK)operator(;) ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(|=) ident(reg_kcode)operator(;) operator(}) reserved(if) operator(()ident(need_recompile)operator(\)) operator({) pre_type(char) operator(*)ident(err)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) ident(rb_kcode_set_option)operator(()ident(re)operator(\);) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(fastmap_accurate) operator(=) integer(0)operator(;) ident(err) operator(=) ident(re_compile_pattern)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(err) operator(!=) pre_constant(NULL)operator(\)) operator({) ident(rb_reg_raise)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(,) ident(err)operator(,) ident(re)operator(\);) operator(}) operator(}) operator(}) pre_type(long) ident(rb_reg_adjust_startpos)operator(()ident(re)operator(,) ident(str)operator(,) ident(pos)operator(,) ident(reverse)operator(\)) ident(VALUE) ident(re)operator(,) ident(str)operator(;) pre_type(long) ident(pos)operator(,) ident(reverse)operator(;) operator({) pre_type(long) ident(range)operator(;) ident(rb_reg_check)operator(()ident(re)operator(\);) reserved(if) operator(()ident(may_need_recompile)operator(\)) ident(rb_reg_prepare_re)operator(()ident(re)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) ident(rb_kcode_set_option)operator(()ident(re)operator(\);) reserved(else) reserved(if) operator(()ident(reg_kcode) operator(!=) ident(curr_kcode)operator(\)) ident(rb_kcode_reset_option)operator((\);) reserved(if) operator(()ident(reverse)operator(\)) operator({) ident(range) operator(=) operator(-)ident(pos)operator(;) operator(}) reserved(else) operator({) ident(range) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(pos)operator(;) operator(}) reserved(return) ident(re_adjust_startpos)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(pos)operator(,) ident(range)operator(\);) operator(}) pre_type(long) ident(rb_reg_search)operator(()ident(re)operator(,) ident(str)operator(,) ident(pos)operator(,) ident(reverse)operator(\)) ident(VALUE) ident(re)operator(,) ident(str)operator(;) pre_type(long) ident(pos)operator(,) ident(reverse)operator(;) operator({) pre_type(long) ident(result)operator(;) ident(VALUE) ident(match)operator(;) reserved(struct) ident(re_registers) ident(regs)operator(;) pre_type(long) ident(range)operator(;) reserved(if) operator(()ident(pos) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(||) ident(pos) operator(<) integer(0)operator(\)) operator({) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) reserved(return) operator(-)integer(1)operator(;) operator(}) ident(rb_reg_check)operator(()ident(re)operator(\);) reserved(if) operator(()ident(may_need_recompile)operator(\)) ident(rb_reg_prepare_re)operator(()ident(re)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) ident(rb_kcode_set_option)operator(()ident(re)operator(\);) reserved(else) reserved(if) operator(()ident(reg_kcode) operator(!=) ident(curr_kcode)operator(\)) ident(rb_kcode_reset_option)operator((\);) reserved(if) operator(()ident(reverse)operator(\)) operator({) ident(range) operator(=) operator(-)ident(pos)operator(;) operator(}) reserved(else) operator({) ident(range) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(pos)operator(;) operator(}) ident(MEMZERO)operator((&)ident(regs)operator(,) reserved(struct) ident(re_registers)operator(,) integer(1)operator(\);) ident(result) operator(=) ident(re_search)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(,)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(pos)operator(,) ident(range)operator(,) operator(&)ident(regs)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) ident(rb_kcode_reset_option)operator((\);) reserved(if) operator(()ident(result) operator(==) operator(-)integer(2)operator(\)) operator({) ident(rb_reg_raise)operator(()ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(,) stringoperator(,) ident(re)operator(\);) operator(}) reserved(if) operator(()ident(result) operator(<) integer(0)operator(\)) operator({) ident(re_free_registers)operator((&)ident(regs)operator(\);) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) reserved(return) ident(result)operator(;) operator(}) ident(match) operator(=) ident(rb_backref_get)operator((\);) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)) operator(||) ident(FL_TEST)operator(()ident(match)operator(,) ident(MATCH_BUSY)operator(\)\)) operator({) ident(match) operator(=) ident(match_alloc)operator(()ident(rb_cMatch)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(3)operator(\)) ident(OBJ_TAINT)operator(()ident(match)operator(\);) reserved(else) ident(FL_UNSET)operator(()ident(match)operator(,) ident(FL_TAINT)operator(\);) operator(}) ident(re_copy_registers)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(,) operator(&)ident(regs)operator(\);) ident(re_free_registers)operator((&)ident(regs)operator(\);) ident(RMATCH)operator(()ident(match)operator(\)->)ident(str) operator(=) ident(rb_str_new4)operator(()ident(str)operator(\);) ident(rb_backref_set)operator(()ident(match)operator(\);) ident(OBJ_INFECT)operator(()ident(match)operator(,) ident(re)operator(\);) ident(OBJ_INFECT)operator(()ident(match)operator(,) ident(str)operator(\);) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_reg_nth_defined)operator(()ident(nth)operator(,) ident(match)operator(\)) pre_type(int) ident(nth)operator(;) ident(VALUE) ident(match)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(nth) operator(>=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(nth) operator(<) integer(0)operator(\)) operator({) ident(nth) operator(+=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(;) reserved(if) operator(()ident(nth) operator(<=) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()ident(nth)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) ident(VALUE) ident(rb_reg_nth_match)operator(()ident(nth)operator(,) ident(match)operator(\)) pre_type(int) ident(nth)operator(;) ident(VALUE) ident(match)operator(;) operator({) ident(VALUE) ident(str)operator(;) pre_type(long) ident(start)operator(,) ident(end)operator(,) ident(len)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(nth) operator(>=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(nth) operator(<) integer(0)operator(\)) operator({) ident(nth) operator(+=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(;) reserved(if) operator(()ident(nth) operator(<=) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) operator(}) ident(start) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()ident(nth)operator(\);) reserved(if) operator(()ident(start) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qnil)operator(;) ident(end) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(END)operator(()ident(nth)operator(\);) ident(len) operator(=) ident(end) operator(-) ident(start)operator(;) ident(str) operator(=) ident(rb_str_substr)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(,) ident(start)operator(,) ident(len)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(match)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_reg_last_match)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) reserved(return) ident(rb_reg_nth_match)operator(()integer(0)operator(,) ident(match)operator(\);) operator(}) comment(/* * call-seq: * mtch.pre_match => str * * Returns the portion of the original string before the current match. * Equivalent to the special variable $`. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.pre_match #=> "T" */) ident(VALUE) ident(rb_reg_match_pre)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()integer(0)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qnil)operator(;) ident(str) operator(=) ident(rb_str_substr)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(,) integer(0)operator(,) ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()integer(0)operator(\)\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(match)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * mtch.post_match => str * * Returns the portion of the original string after the current match. * Equivalent to the special variable $'. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138: The Movie"\) * m.post_match #=> ": The Movie" */) ident(VALUE) ident(rb_reg_match_post)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) ident(VALUE) ident(str)operator(;) pre_type(long) ident(pos)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()integer(0)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qnil)operator(;) ident(str) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(;) ident(pos) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(END)operator(()integer(0)operator(\);) ident(str) operator(=) ident(rb_str_substr)operator(()ident(str)operator(,) ident(pos)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(pos)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(match)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_reg_match_last)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(match_check)operator(()ident(match)operator(\);) reserved(if) operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()integer(0)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(for) operator(()ident(i)operator(=)ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(-)integer(1)operator(;) ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()ident(i)operator(\)) operator(==) operator(-)integer(1) operator(&&) ident(i) operator(>) integer(0)operator(;) ident(i)operator(--\)) operator(;) reserved(if) operator(()ident(i) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(rb_reg_nth_match)operator(()ident(i)operator(,) ident(match)operator(\);) operator(}) directive(static) ident(VALUE) ident(last_match_getter)operator((\)) operator({) reserved(return) ident(rb_reg_last_match)operator(()ident(rb_backref_get)operator((\)\);) operator(}) directive(static) ident(VALUE) ident(prematch_getter)operator((\)) operator({) reserved(return) ident(rb_reg_match_pre)operator(()ident(rb_backref_get)operator((\)\);) operator(}) directive(static) ident(VALUE) ident(postmatch_getter)operator((\)) operator({) reserved(return) ident(rb_reg_match_post)operator(()ident(rb_backref_get)operator((\)\);) operator(}) directive(static) ident(VALUE) ident(last_paren_match_getter)operator((\)) operator({) reserved(return) ident(rb_reg_match_last)operator(()ident(rb_backref_get)operator((\)\);) operator(}) directive(static) ident(VALUE) ident(match_array)operator(()ident(match)operator(,) ident(start)operator(\)) ident(VALUE) ident(match)operator(;) pre_type(int) ident(start)operator(;) operator({) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) ident(VALUE) ident(ary)operator(;) ident(VALUE) ident(target)operator(;) pre_type(int) ident(i)operator(;) pre_type(int) ident(taint) operator(=) ident(OBJ_TAINTED)operator(()ident(match)operator(\);) ident(match_check)operator(()ident(match)operator(\);) ident(regs) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(;) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(regs)operator(->)ident(num_regs)operator(\);) ident(target) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(;) reserved(for) operator(()ident(i)operator(=)ident(start)operator(;) ident(i)operator(<)ident(regs)operator(->)ident(num_regs)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(Qnil)operator(\);) operator(}) reserved(else) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_substr)operator(()ident(target)operator(,) ident(regs)operator(->)ident(beg)operator([)ident(i)operator(],) ident(regs)operator(->)ident(end)operator([)ident(i)operator(]-)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]\);) reserved(if) operator(()ident(taint)operator(\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(str)operator(\);) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* [MG]:FIXME: I put parens around the /.../.match(\) in the first line of the second example to prevent the '*' followed by a '/' from ending the comment. */) comment(/* * call-seq: * mtch.to_a => anArray * * Returns the array of matches. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.to_a #=> ["HX1138", "H", "X", "113", "8"] * * Because to_a is called when expanding * *variable, there's a useful assignment * shortcut for extracting matched fields. This is slightly slower than * accessing the fields directly (as an intermediate array is * generated\). * * all,f1,f2,f3 = *(/(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\)\) * all #=> "HX1138" * f1 #=> "H" * f2 #=> "X" * f3 #=> "113" */) directive(static) ident(VALUE) ident(match_to_a)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) reserved(return) ident(match_array)operator(()ident(match)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * mtch.captures => array * * Returns the array of captures; equivalent to mtch.to_a[1..-1]. * * f1,f2,f3,f4 = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\).captures * f1 #=> "H" * f2 #=> "X" * f3 #=> "113" * f4 #=> "8" */) directive(static) ident(VALUE) ident(match_captures)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) reserved(return) ident(match_array)operator(()ident(match)operator(,) integer(1)operator(\);) operator(}) comment(/* * call-seq: * mtch[i] => obj * mtch[start, length] => array * mtch[range] => array * * Match Reference---MatchData acts as an array, and may be * accessed using the normal array indexing techniques. mtch[0] is * equivalent to the special variable $&, and returns the entire * matched string. mtch[1], mtch[2], and so on return the values * of the matched backreferences (portions of the pattern between parentheses\). * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m[0] #=> "HX1138" * m[1, 2] #=> ["H", "X"] * m[1..3] #=> ["H", "X", "113"] * m[-3, 2] #=> ["X", "113"] */) directive(static) ident(VALUE) ident(match_aref)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(match)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(match)operator(;) operator({) ident(VALUE) ident(idx)operator(,) ident(rest)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(idx)operator(,) operator(&)ident(rest)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(rest)operator(\)) operator(||) operator(!)ident(FIXNUM_P)operator(()ident(idx)operator(\)) operator(||) ident(FIX2INT)operator(()ident(idx)operator(\)) operator(<) integer(0)operator(\)) operator({) reserved(return) ident(rb_ary_aref)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(match_to_a)operator(()ident(match)operator(\)\);) operator(}) reserved(return) ident(rb_reg_nth_match)operator(()ident(FIX2INT)operator(()ident(idx)operator(\),) ident(match)operator(\);) operator(}) directive(static) ident(VALUE) ident(match_entry) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(\)\);) directive(static) ident(VALUE) ident(match_entry)operator(()ident(match)operator(,) ident(n)operator(\)) ident(VALUE) ident(match)operator(;) pre_type(long) ident(n)operator(;) operator({) reserved(return) ident(rb_reg_nth_match)operator(()ident(n)operator(,) ident(match)operator(\);) operator(}) comment(/* * call-seq: * mtch.select([index]*\) => array * * Uses each index to access the matching values, returning an array of * the corresponding matches. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138: The Movie"\) * m.to_a #=> ["HX1138", "H", "X", "113", "8"] * m.select(0, 2, -2\) #=> ["HX1138", "X", "113"] */) directive(static) ident(VALUE) ident(match_values_at)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(match)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(match)operator(;) operator({) ident(match_check)operator(()ident(match)operator(\);) reserved(return) ident(rb_values_at)operator(()ident(match)operator(,) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(match_entry)operator(\);) operator(}) comment(/* * call-seq: * mtch.select([index]*\) => array * * Uses each index to access the matching values, returning an * array of the corresponding matches. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138: The Movie"\) * m.to_a #=> ["HX1138", "H", "X", "113", "8"] * m.select(0, 2, -2\) #=> ["HX1138", "X", "113"] */) directive(static) ident(VALUE) ident(match_select)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(match)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(match)operator(;) operator({) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(else) operator({) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) ident(VALUE) ident(target)operator(;) ident(VALUE) ident(result) operator(=) ident(rb_ary_new)operator((\);) pre_type(int) ident(i)operator(;) pre_type(int) ident(taint) operator(=) ident(OBJ_TAINTED)operator(()ident(match)operator(\);) ident(match_check)operator(()ident(match)operator(\);) ident(regs) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(;) ident(target) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(regs)operator(->)ident(num_regs)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_substr)operator(()ident(target)operator(,) ident(regs)operator(->)ident(beg)operator([)ident(i)operator(],) ident(regs)operator(->)ident(end)operator([)ident(i)operator(]-)ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]\);) reserved(if) operator(()ident(taint)operator(\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(str)operator(\)\)\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(str)operator(\);) operator(}) operator(}) reserved(return) ident(result)operator(;) operator(}) operator(}) comment(/* * call-seq: * mtch.to_s => str * * Returns the entire matched string. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.to_s #=> "HX1138" */) directive(static) ident(VALUE) ident(match_to_s)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_reg_last_match)operator(()ident(match)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,)integer(0)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(match)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * mtch.string => str * * Returns a frozen copy of the string passed in to match. * * m = /(.\)(.\)(\\d+\)(\\d\)/.match("THX1138."\) * m.string #=> "THX1138." */) directive(static) ident(VALUE) ident(match_string)operator(()ident(match)operator(\)) ident(VALUE) ident(match)operator(;) operator({) ident(match_check)operator(()ident(match)operator(\);) reserved(return) ident(RMATCH)operator(()ident(match)operator(\)->)ident(str)operator(;) comment(/* str is frozen */) operator(}) ident(VALUE) ident(rb_cRegexp)operator(;) directive(static) directive(void) ident(rb_reg_initialize)operator(()ident(obj)operator(,) ident(s)operator(,) ident(len)operator(,) ident(options)operator(\)) ident(VALUE) ident(obj)operator(;) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(options)operator(;) comment(/* CASEFOLD = 1 */) comment(/* EXTENDED = 2 */) comment(/* MULTILINE = 4 */) comment(/* CODE_NONE = 16 */) comment(/* CODE_EUC = 32 */) comment(/* CODE_SJIS = 48 */) comment(/* CODE_UTF8 = 64 */) operator({) reserved(struct) ident(RRegexp) operator(*)ident(re) operator(=) ident(RREGEXP)operator(()ident(obj)operator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(obj)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) ident(rb_check_frozen)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(REG_LITERAL)operator(\)\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(re)operator(->)ident(ptr)operator(\)) ident(re_free_pattern)operator(()ident(re)operator(->)ident(ptr)operator(\);) reserved(if) operator(()ident(re)operator(->)ident(str)operator(\)) ident(free)operator(()ident(re)operator(->)ident(str)operator(\);) ident(re)operator(->)ident(ptr) operator(=) integer(0)operator(;) ident(re)operator(->)ident(str) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(options) operator(&) operator(~)hex(0xf)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(default)operator(:) ident(FL_SET)operator(()ident(re)operator(,) ident(reg_kcode)operator(\);) reserved(break)operator(;) reserved(case) integer(16)operator(:) ident(kcode_none)operator(()ident(re)operator(\);) reserved(break)operator(;) reserved(case) integer(32)operator(:) ident(kcode_euc)operator(()ident(re)operator(\);) reserved(break)operator(;) reserved(case) integer(48)operator(:) ident(kcode_sjis)operator(()ident(re)operator(\);) reserved(break)operator(;) reserved(case) integer(64)operator(:) ident(kcode_utf8)operator(()ident(re)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(options) operator(&) operator(~)hex(0xf)operator(\)) operator({) ident(rb_kcode_set_option)operator((()ident(VALUE)operator(\))ident(re)operator(\);) operator(}) reserved(if) operator(()ident(ruby_ignorecase)operator(\)) operator({) ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) ident(FL_SET)operator(()ident(re)operator(,) ident(REG_CASESTATE)operator(\);) operator(}) ident(re)operator(->)ident(ptr) operator(=) ident(make_regexp)operator(()ident(s)operator(,) ident(len)operator(,) ident(options) operator(&) hex(0xf)operator(\);) ident(re)operator(->)ident(str) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) ident(len)operator(+)integer(1)operator(\);) ident(memcpy)operator(()ident(re)operator(->)ident(str)operator(,) ident(s)operator(,) ident(len)operator(\);) ident(re)operator(->)ident(str)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) ident(re)operator(->)ident(len) operator(=) ident(len)operator(;) reserved(if) operator(()ident(options) operator(&) operator(~)hex(0xf)operator(\)) operator({) ident(rb_kcode_reset_option)operator((\);) operator(}) reserved(if) operator(()ident(ruby_in_compile)operator(\)) ident(FL_SET)operator(()ident(obj)operator(,) ident(REG_LITERAL)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_reg_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_reg_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(re)operator(,) reserved(struct) ident(RRegexp)operator(\);) ident(OBJSETUP)operator(()ident(re)operator(,) ident(klass)operator(,) ident(T_REGEXP)operator(\);) ident(re)operator(->)ident(ptr) operator(=) integer(0)operator(;) ident(re)operator(->)ident(len) operator(=) integer(0)operator(;) ident(re)operator(->)ident(str) operator(=) integer(0)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(re)operator(;) operator(}) ident(VALUE) ident(rb_reg_new)operator(()ident(s)operator(,) ident(len)operator(,) ident(options)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(options)operator(;) operator({) ident(VALUE) ident(re) operator(=) ident(rb_reg_s_alloc)operator(()ident(rb_cRegexp)operator(\);) ident(rb_reg_initialize)operator(()ident(re)operator(,) ident(s)operator(,) ident(len)operator(,) ident(options)operator(\);) reserved(return) operator(()ident(VALUE)operator(\))ident(re)operator(;) operator(}) directive(static) pre_type(int) ident(case_cache)operator(;) directive(static) pre_type(int) ident(kcode_cache)operator(;) directive(static) ident(VALUE) ident(reg_cache)operator(;) ident(VALUE) ident(rb_reg_regcomp)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) directive(volatile) ident(VALUE) ident(save_str) operator(=) ident(str)operator(;) reserved(if) operator(()ident(reg_cache) operator(&&) ident(RREGEXP)operator(()ident(reg_cache)operator(\)->)ident(len) operator(==) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(&&) ident(case_cache) operator(==) ident(ruby_ignorecase) operator(&&) ident(kcode_cache) operator(==) ident(reg_kcode) operator(&&) ident(memcmp)operator(()ident(RREGEXP)operator(()ident(reg_cache)operator(\)->)ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(reg_cache)operator(;) ident(case_cache) operator(=) ident(ruby_ignorecase)operator(;) ident(kcode_cache) operator(=) ident(reg_kcode)operator(;) reserved(return) ident(reg_cache) operator(=) ident(rb_reg_new)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(ruby_ignorecase)operator(\);) operator(}) directive(static) pre_type(int) ident(rb_reg_cur_kcode)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) operator({) reserved(return) ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/* * call-seq: * rxp.hash => fixnum * * Produce a hash based on the text and options of this regular expression. */) directive(static) ident(VALUE) ident(rb_reg_hash)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(int) ident(hashval)operator(,) ident(len)operator(;) pre_type(char) operator(*)ident(p)operator(;) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(hashval) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options)operator(;) ident(len) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(;) ident(p) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(hashval) operator(=) ident(hashval) operator(*) integer(33) operator(+) operator(*)ident(p)operator(++;) operator(}) ident(hashval) operator(=) ident(hashval) operator(+) operator(()ident(hashval)operator(>>)integer(5)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(hashval)operator(\);) operator(}) comment(/* * call-seq: * rxp == other_rxp => true or false * rxp.eql?(other_rxp\) => true or false * * Equality---Two regexps are equal if their patterns are identical, they have * the same character set code, and their casefold? values are the * same. * * /abc/ == /abc/x #=> false * /abc/ == /abc/i #=> false * /abc/u == /abc/n #=> false */) directive(static) ident(VALUE) ident(rb_reg_equal)operator(()ident(re1)operator(,) ident(re2)operator(\)) ident(VALUE) ident(re1)operator(,) ident(re2)operator(;) operator({) reserved(if) operator(()ident(re1) operator(==) ident(re2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(re2)operator(\)) operator(!=) ident(T_REGEXP)operator(\)) reserved(return) ident(Qfalse)operator(;) ident(rb_reg_check)operator(()ident(re1)operator(\);) ident(rb_reg_check)operator(()ident(re2)operator(\);) reserved(if) operator(()ident(RREGEXP)operator(()ident(re1)operator(\)->)ident(len) operator(!=) ident(RREGEXP)operator(()ident(re2)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(memcmp)operator(()ident(RREGEXP)operator(()ident(re1)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re2)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re1)operator(\)->)ident(len)operator(\)) operator(==) integer(0) operator(&&) ident(rb_reg_cur_kcode)operator(()ident(re1)operator(\)) operator(==) ident(rb_reg_cur_kcode)operator(()ident(re2)operator(\)) operator(&&) ident(RREGEXP)operator(()ident(re1)operator(\)->)ident(ptr)operator(->)ident(options) operator(==) ident(RREGEXP)operator(()ident(re2)operator(\)->)ident(ptr)operator(->)ident(options)operator(\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * rxp.match(str\) => matchdata or nil * * Returns a MatchData object describing the match, or * nil if there was no match. This is equivalent to retrieving the * value of the special variable $~ following a normal match. * * /(.\)(.\)(.\)/.match("abc"\)[2] #=> "b" */) ident(VALUE) ident(rb_reg_match)operator(()ident(re)operator(,) ident(str)operator(\)) ident(VALUE) ident(re)operator(,) ident(str)operator(;) operator({) pre_type(long) ident(start)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) ident(StringValue)operator(()ident(str)operator(\);) ident(start) operator(=) ident(rb_reg_search)operator(()ident(re)operator(,) ident(str)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(start) operator(<) integer(0)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(LONG2FIX)operator(()ident(start)operator(\);) operator(}) comment(/* * call-seq: * rxp === str => true or false * * Case Equality---Synonym for Regexp#=~ used in case statements. * * a = "HELLO" * case a * when /^[a-z]*$/; print "Lower case\\n" * when /^[A-Z]*$/; print "Upper case\\n" * else; print "Mixed case\\n" * end * * produces: * * Upper case */) ident(VALUE) ident(rb_reg_eqq)operator(()ident(re)operator(,) ident(str)operator(\)) ident(VALUE) ident(re)operator(,) ident(str)operator(;) operator({) pre_type(long) ident(start)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(str)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(str) operator(=) ident(rb_check_string_type)operator(()ident(str)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) reserved(return) ident(Qfalse)operator(;) operator(}) operator(}) ident(StringValue)operator(()ident(str)operator(\);) ident(start) operator(=) ident(rb_reg_search)operator(()ident(re)operator(,) ident(str)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(start) operator(<) integer(0)operator(\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * ~ rxp => integer or nil * * Match---Matches rxp against the contents of $_. * Equivalent to rxp =~ $_. * * $_ = "input data" * ~ /at/ #=> 7 */) ident(VALUE) ident(rb_reg_match2)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(long) ident(start)operator(;) ident(VALUE) ident(line) operator(=) ident(rb_lastline_get)operator((\);) reserved(if) operator(()ident(TYPE)operator(()ident(line)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) reserved(return) ident(Qnil)operator(;) operator(}) ident(start) operator(=) ident(rb_reg_search)operator(()ident(re)operator(,) ident(line)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(start) operator(<) integer(0)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(LONG2FIX)operator(()ident(start)operator(\);) operator(}) comment(/* * call-seq: * rxp.match(str\) => matchdata or nil * * Returns a MatchData object describing the match, or * nil if there was no match. This is equivalent to retrieving the * value of the special variable $~ following a normal match. * * /(.\)(.\)(.\)/.match("abc"\)[2] #=> "b" */) directive(static) ident(VALUE) ident(rb_reg_match_m)operator(()ident(re)operator(,) ident(str)operator(\)) ident(VALUE) ident(re)operator(,) ident(str)operator(;) operator({) ident(VALUE) ident(result) operator(=) ident(rb_reg_match)operator(()ident(re)operator(,) ident(str)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(result)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(result) operator(=) ident(rb_backref_get)operator((\);) ident(rb_match_busy)operator(()ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * Document-method: compile * * Synonym for Regexp.new */) comment(/* * call-seq: * Regexp.new(string [, options [, lang]]\) => regexp * Regexp.new(regexp\) => regexp * Regexp.compile(string [, options [, lang]]\) => regexp * Regexp.compile(regexp\) => regexp * * Constructs a new regular expression from pattern, which can be either * a String or a Regexp (in which case that regexp's * options are propagated, and new options may not be specified (a change as of * Ruby 1.8\). If options is a Fixnum, it should be one or * more of the constants Regexp::EXTENDED, * Regexp::IGNORECASE, and Regexp::MULTILINE, * or-ed together. Otherwise, if options is not * nil, the regexp will be case insensitive. The lang * parameter enables multibyte support for the regexp: `n', `N' = none, `e', * `E' = EUC, `s', `S' = SJIS, `u', `U' = UTF-8. * * r1 = Regexp.new('^a-z+:\\\\s+\\w+'\) #=> /^a-z+:\\s+\\w+/ * r2 = Regexp.new('cat', true\) #=> /cat/i * r3 = Regexp.new('dog', Regexp::EXTENDED\) #=> /dog/x * r4 = Regexp.new(r2\) #=> /cat/i */) directive(static) ident(VALUE) ident(rb_reg_initialize_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(len)operator(;) pre_type(int) ident(flags) operator(=) integer(0)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0) operator(||) ident(argc) operator(>) integer(3)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_REGEXP)operator(\)) operator({) reserved(if) operator(()ident(argc) operator(>) integer(1)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) operator(()ident(argc) operator(==) integer(3)operator(\)) operator(?) stringoperator(:) stringoperator(\);) operator(}) ident(rb_reg_check)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(flags) operator(=) ident(RREGEXP)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator(->)ident(options) operator(&) hex(0xf)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(argv)operator([)integer(0)operator(],) ident(KCODE_FIXED)operator(\)\)) operator({) reserved(switch) operator(()ident(RBASIC)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(\)) operator({) reserved(case) ident(KCODE_NONE)operator(:) ident(flags) operator(|=) integer(16)operator(;) reserved(break)operator(;) reserved(case) ident(KCODE_EUC)operator(:) ident(flags) operator(|=) integer(32)operator(;) reserved(break)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) ident(flags) operator(|=) integer(48)operator(;) reserved(break)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) ident(flags) operator(|=) integer(64)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) ident(s) operator(=) ident(RREGEXP)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(str)operator(;) ident(len) operator(=) ident(RREGEXP)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(argc) operator(>=) integer(2)operator(\)) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(argv)operator([)integer(1)operator(]\)\)) ident(flags) operator(=) ident(FIX2INT)operator(()ident(argv)operator([)integer(1)operator(]\);) reserved(else) reserved(if) operator(()ident(RTEST)operator(()ident(argv)operator([)integer(1)operator(]\)\)) ident(flags) operator(=) ident(RE_OPTION_IGNORECASE)operator(;) operator(}) reserved(if) operator(()ident(argc) operator(==) integer(3) operator(&&) operator(!)ident(NIL_P)operator(()ident(argv)operator([)integer(2)operator(]\)\)) operator({) pre_type(char) operator(*)ident(kcode) operator(=) ident(StringValuePtr)operator(()ident(argv)operator([)integer(2)operator(]\);) ident(flags) operator(&=) operator(~)hex(0x70)operator(;) reserved(switch) operator(()ident(kcode)operator([)integer(0)operator(]\)) operator({) reserved(case) char('n')operator(:) reserved(case) char('N')operator(:) ident(flags) operator(|=) integer(16)operator(;) reserved(break)operator(;) reserved(case) char('e')operator(:) reserved(case) char('E')operator(:) ident(flags) operator(|=) integer(32)operator(;) reserved(break)operator(;) reserved(case) char('s')operator(:) reserved(case) char('S')operator(:) ident(flags) operator(|=) integer(48)operator(;) reserved(break)operator(;) reserved(case) char('u')operator(:) reserved(case) char('U')operator(:) ident(flags) operator(|=) integer(64)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) ident(s) operator(=) ident(StringValuePtr)operator(()ident(argv)operator([)integer(0)operator(]\);) ident(len) operator(=) ident(RSTRING)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(len)operator(;) operator(}) ident(rb_reg_initialize)operator(()ident(self)operator(,) ident(s)operator(,) ident(len)operator(,) ident(flags)operator(\);) reserved(return) ident(self)operator(;) operator(}) ident(VALUE) ident(rb_reg_quote)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(,) operator(*)ident(t)operator(;) ident(VALUE) ident(tmp)operator(;) pre_type(int) ident(c)operator(;) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(for) operator((;) ident(s) operator(<) ident(send)operator(;) ident(s)operator(++\)) operator({) ident(c) operator(=) operator(*)ident(s)operator(;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(n) operator(=) ident(mbclen)operator(()ident(c)operator(\);) reserved(while) operator(()ident(n)operator(--) operator(&&) ident(s) operator(<) ident(send)operator(\)) ident(s)operator(++;) ident(s)operator(--;) reserved(continue)operator(;) operator(}) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('[')operator(:) reserved(case) char(']')operator(:) reserved(case) char('{')operator(:) reserved(case) char('}')operator(:) reserved(case) char('(')operator(:) reserved(case) char('\)')operator(:) reserved(case) char('|')operator(:) reserved(case) char('-')operator(:) reserved(case) char('*')operator(:) reserved(case) char('.')operator(:) reserved(case) char('\\\\')operator(:) reserved(case) char('?')operator(:) reserved(case) char('+')operator(:) reserved(case) char('^')operator(:) reserved(case) char('$')operator(:) reserved(case) char(' ')operator(:) reserved(case) char('#')operator(:) reserved(case) char('\\t')operator(:) reserved(case) char('\\f')operator(:) reserved(case) char('\\n')operator(:) reserved(case) char('\\r')operator(:) reserved(goto) ident(meta_found)operator(;) operator(}) operator(}) reserved(return) ident(rb_str_new3)operator(()ident(str)operator(\);) label(meta_found:) ident(tmp) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(*)integer(2)operator(\);) ident(t) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(;) comment(/* copy upto metacharacter */) ident(memcpy)operator(()ident(t)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(s) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(t) operator(+=) ident(s) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(for) operator((;) ident(s) operator(<) ident(send)operator(;) ident(s)operator(++\)) operator({) ident(c) operator(=) operator(*)ident(s)operator(;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(n) operator(=) ident(mbclen)operator(()ident(c)operator(\);) reserved(while) operator(()ident(n)operator(--) operator(&&) ident(s) operator(<) ident(send)operator(\)) operator(*)ident(t)operator(++) operator(=) operator(*)ident(s)operator(++;) ident(s)operator(--;) reserved(continue)operator(;) operator(}) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('[')operator(:) reserved(case) char(']')operator(:) reserved(case) char('{')operator(:) reserved(case) char('}')operator(:) reserved(case) char('(')operator(:) reserved(case) char('\)')operator(:) reserved(case) char('|')operator(:) reserved(case) char('-')operator(:) reserved(case) char('*')operator(:) reserved(case) char('.')operator(:) reserved(case) char('\\\\')operator(:) reserved(case) char('?')operator(:) reserved(case) char('+')operator(:) reserved(case) char('^')operator(:) reserved(case) char('$')operator(:) reserved(case) char('#')operator(:) operator(*)ident(t)operator(++) operator(=) char('\\\\')operator(;) reserved(break)operator(;) reserved(case) char(' ')operator(:) operator(*)ident(t)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(t)operator(++) operator(=) char(' ')operator(;) reserved(continue)operator(;) reserved(case) char('\\t')operator(:) operator(*)ident(t)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(t)operator(++) operator(=) char('t')operator(;) reserved(continue)operator(;) reserved(case) char('\\n')operator(:) operator(*)ident(t)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(t)operator(++) operator(=) char('n')operator(;) reserved(continue)operator(;) reserved(case) char('\\r')operator(:) operator(*)ident(t)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(t)operator(++) operator(=) char('r')operator(;) reserved(continue)operator(;) reserved(case) char('\\f')operator(:) operator(*)ident(t)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(t)operator(++) operator(=) char('f')operator(;) reserved(continue)operator(;) operator(}) operator(*)ident(t)operator(++) operator(=) ident(c)operator(;) operator(}) ident(rb_str_resize)operator(()ident(tmp)operator(,) ident(t) operator(-) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(\);) ident(OBJ_INFECT)operator(()ident(tmp)operator(,) ident(str)operator(\);) reserved(return) ident(tmp)operator(;) operator(}) comment(/* * call-seq: * Regexp.escape(str\) => a_str * Regexp.quote(str\) => a_str * * Escapes any characters that would have special meaning in a regular * expression. Returns a new escaped string, or self if no characters are * escaped. For any string, * Regexp.escape(str\)=~str will be true. * * Regexp.escape('\\\\*?{}.'\) #=> \\\\\\\\\\*\\?\\{\\}\\. */) directive(static) ident(VALUE) ident(rb_reg_s_quote)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(str)operator(,) ident(kcode)operator(;) pre_type(int) ident(kcode_saved) operator(=) ident(reg_kcode)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(str)operator(,) operator(&)ident(kcode)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(kcode)operator(\)\)) operator({) ident(rb_set_kcode)operator(()ident(StringValuePtr)operator(()ident(kcode)operator(\)\);) ident(curr_kcode) operator(=) ident(reg_kcode)operator(;) ident(reg_kcode) operator(=) ident(kcode_saved)operator(;) operator(}) ident(StringValue)operator(()ident(str)operator(\);) ident(str) operator(=) ident(rb_reg_quote)operator(()ident(str)operator(\);) ident(rb_kcode_reset_option)operator((\);) reserved(return) ident(str)operator(;) operator(}) pre_type(int) ident(rb_kcode)operator((\)) operator({) reserved(switch) operator(()ident(reg_kcode)operator(\)) operator({) reserved(case) ident(KCODE_EUC)operator(:) reserved(return) ident(MBCTYPE_EUC)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) reserved(return) ident(MBCTYPE_SJIS)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) reserved(return) ident(MBCTYPE_UTF8)operator(;) reserved(case) ident(KCODE_NONE)operator(:) reserved(return) ident(MBCTYPE_ASCII)operator(;) operator(}) ident(rb_bug)operator(()stringoperator(,) ident(reg_kcode)operator(\);) operator(}) directive(static) pre_type(int) ident(rb_reg_get_kcode)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) reserved(switch) operator(()ident(RBASIC)operator(()ident(re)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(\)) operator({) reserved(case) ident(KCODE_NONE)operator(:) reserved(return) integer(16)operator(;) reserved(case) ident(KCODE_EUC)operator(:) reserved(return) integer(32)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) reserved(return) integer(48)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) reserved(return) integer(64)operator(;) reserved(default)operator(:) reserved(return) integer(0)operator(;) operator(}) operator(}) pre_type(int) ident(rb_reg_options)operator(()ident(re)operator(\)) ident(VALUE) ident(re)operator(;) operator({) pre_type(int) ident(options)operator(;) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(options) operator(=) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(ptr)operator(->)ident(options) operator(&) operator(()ident(RE_OPTION_IGNORECASE)operator(|)ident(RE_OPTION_MULTILINE)operator(|)ident(RE_OPTION_EXTENDED)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(re)operator(,) ident(KCODE_FIXED)operator(\)\)) operator({) ident(options) operator(|=) ident(rb_reg_get_kcode)operator(()ident(re)operator(\);) operator(}) reserved(return) ident(options)operator(;) operator(}) comment(/* * call-seq: * Regexp.union([pattern]*\) => new_str * * Return a Regexp object that is the union of the given * patterns, i.e., will match any of its parts. The patterns * can be Regexp objects, in which case their options will be preserved, or * Strings. If no arguments are given, returns /(?!\)/. * * Regexp.union #=> /(?!\)/ * Regexp.union("penzance"\) #=> /penzance/ * Regexp.union("skiing", "sledding"\) #=> /skiing|sledding/ * Regexp.union(/dogs/, /cats/i\) #=> /(?-mix:dogs\)|(?i-mx:cats\)/ */) directive(static) ident(VALUE) ident(rb_reg_s_union)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) ident(VALUE) ident(args)operator([)integer(1)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(return) ident(rb_class_new_instance)operator(()integer(1)operator(,) ident(args)operator(,) ident(rb_cRegexp)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(VALUE) ident(v)operator(;) ident(v) operator(=) ident(rb_check_convert_type)operator(()ident(argv)operator([)integer(0)operator(],) ident(T_REGEXP)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(v)operator(\)\)) reserved(return) ident(v)operator(;) reserved(else) operator({) ident(VALUE) ident(args)operator([)integer(1)operator(];) ident(args)operator([)integer(0)operator(]) operator(=) ident(rb_reg_s_quote)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(return) ident(rb_class_new_instance)operator(()integer(1)operator(,) ident(args)operator(,) ident(rb_cRegexp)operator(\);) operator(}) operator(}) reserved(else) operator({) pre_type(int) ident(i)operator(,) ident(kcode) operator(=) operator(-)integer(1)operator(;) ident(VALUE) ident(kcode_re) operator(=) ident(Qnil)operator(;) ident(VALUE) ident(source) operator(=) ident(rb_str_buf_new)operator(()integer(0)operator(\);) ident(VALUE) ident(args)operator([)integer(3)operator(];) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(argc)operator(;) ident(i)operator(++\)) operator({) directive(volatile) ident(VALUE) ident(v)operator(;) reserved(if) operator(()integer(0) operator(<) ident(i)operator(\)) ident(rb_str_buf_cat2)operator(()ident(source)operator(,) stringoperator(\);) ident(v) operator(=) ident(rb_check_convert_type)operator(()ident(argv)operator([)ident(i)operator(],) ident(T_REGEXP)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(v)operator(\)\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(v)operator(,) ident(KCODE_FIXED)operator(\)\)) operator({) reserved(if) operator(()ident(kcode) operator(==) operator(-)integer(1)operator(\)) operator({) ident(kcode_re) operator(=) ident(v)operator(;) ident(kcode) operator(=) ident(RBASIC)operator(()ident(v)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(RBASIC)operator(()ident(v)operator(\)->)ident(flags) operator(&) ident(KCODE_MASK)operator(\)) operator(!=) ident(kcode)operator(\)) operator({) directive(volatile) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) ident(str1) operator(=) ident(rb_inspect)operator(()ident(kcode_re)operator(\);) ident(str2) operator(=) ident(rb_inspect)operator(()ident(v)operator(\);) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(str1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(\);) operator(}) operator(}) ident(v) operator(=) ident(rb_reg_to_s)operator(()ident(v)operator(\);) operator(}) reserved(else) operator({) ident(args)operator([)integer(0)operator(]) operator(=) ident(argv)operator([)ident(i)operator(];) ident(v) operator(=) ident(rb_reg_s_quote)operator(()integer(1)operator(,) ident(args)operator(\);) operator(}) ident(rb_str_buf_append)operator(()ident(source)operator(,) ident(v)operator(\);) operator(}) ident(args)operator([)integer(0)operator(]) operator(=) ident(source)operator(;) ident(args)operator([)integer(1)operator(]) operator(=) ident(Qnil)operator(;) reserved(switch) operator(()ident(kcode)operator(\)) operator({) reserved(case) operator(-)integer(1)operator(:) ident(args)operator([)integer(2)operator(]) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) ident(KCODE_NONE)operator(:) ident(args)operator([)integer(2)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_EUC)operator(:) ident(args)operator([)integer(2)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_SJIS)operator(:) ident(args)operator([)integer(2)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(KCODE_UTF8)operator(:) ident(args)operator([)integer(2)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(rb_class_new_instance)operator(()integer(3)operator(,) ident(args)operator(,) ident(rb_cRegexp)operator(\);) operator(}) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(rb_reg_init_copy)operator(()ident(copy)operator(,) ident(re)operator(\)) ident(VALUE) ident(copy)operator(,) ident(re)operator(;) operator({) reserved(if) operator(()ident(copy) operator(==) ident(re)operator(\)) reserved(return) ident(copy)operator(;) ident(rb_check_frozen)operator(()ident(copy)operator(\);) comment(/* need better argument type check */) reserved(if) operator((!)ident(rb_obj_is_instance_of)operator(()ident(re)operator(,) ident(rb_obj_class)operator(()ident(copy)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(rb_reg_check)operator(()ident(re)operator(\);) ident(rb_reg_initialize)operator(()ident(copy)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(str)operator(,) ident(RREGEXP)operator(()ident(re)operator(\)->)ident(len)operator(,) ident(rb_reg_options)operator(()ident(re)operator(\)\);) reserved(return) ident(copy)operator(;) operator(}) ident(VALUE) ident(rb_reg_regsub)operator(()ident(str)operator(,) ident(src)operator(,) ident(regs)operator(\)) ident(VALUE) ident(str)operator(,) ident(src)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) operator({) ident(VALUE) ident(val) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(s)operator(,) operator(*)ident(e)operator(,) ident(c)operator(;) pre_type(int) ident(no)operator(;) ident(p) operator(=) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(e) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(s) operator(<) ident(e)operator(\)) operator({) pre_type(char) operator(*)ident(ss) operator(=) ident(s)operator(;) ident(c) operator(=) operator(*)ident(s)operator(++;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) ident(s) operator(+=) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(c) operator(!=) char('\\\\') operator(||) ident(s) operator(==) ident(e)operator(\)) reserved(continue)operator(;) reserved(if) operator((!)ident(val)operator(\)) operator({) ident(val) operator(=) ident(rb_str_buf_new)operator(()ident(ss)operator(-)ident(p)operator(\);) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(p)operator(,) ident(ss)operator(-)ident(p)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(p)operator(,) ident(ss)operator(-)ident(p)operator(\);) operator(}) ident(c) operator(=) operator(*)ident(s)operator(++;) ident(p) operator(=) ident(s)operator(;) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) ident(no) operator(=) ident(c) operator(-) char('0')operator(;) reserved(break)operator(;) reserved(case) char('&')operator(:) ident(no) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(case) char('`')operator(:) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(RSTRING)operator(()ident(src)operator(\)->)ident(ptr)operator(,) ident(BEG)operator(()integer(0)operator(\)\);) reserved(continue)operator(;) reserved(case) char('\\'')operator(:) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(RSTRING)operator(()ident(src)operator(\)->)ident(ptr)operator(+)ident(END)operator(()integer(0)operator(\),) ident(RSTRING)operator(()ident(src)operator(\)->)ident(len)operator(-)ident(END)operator(()integer(0)operator(\)\);) reserved(continue)operator(;) reserved(case) char('+')operator(:) ident(no) operator(=) ident(regs)operator(->)ident(num_regs)operator(-)integer(1)operator(;) reserved(while) operator(()ident(BEG)operator(()ident(no)operator(\)) operator(==) operator(-)integer(1) operator(&&) ident(no) operator(>) integer(0)operator(\)) ident(no)operator(--;) reserved(if) operator(()ident(no) operator(==) integer(0)operator(\)) reserved(continue)operator(;) reserved(break)operator(;) reserved(case) char('\\\\')operator(:) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(s)operator(-)integer(1)operator(,) integer(1)operator(\);) reserved(continue)operator(;) reserved(default)operator(:) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(s)operator(-)integer(2)operator(,) integer(2)operator(\);) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(no) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(no) operator(>=) ident(regs)operator(->)ident(num_regs)operator(\)) reserved(continue)operator(;) reserved(if) operator(()ident(BEG)operator(()ident(no)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(continue)operator(;) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(RSTRING)operator(()ident(src)operator(\)->)ident(ptr)operator(+)ident(BEG)operator(()ident(no)operator(\),) ident(END)operator(()ident(no)operator(\)-)ident(BEG)operator(()ident(no)operator(\)\);) operator(}) operator(}) reserved(if) operator(()ident(p) operator(<) ident(e)operator(\)) operator({) reserved(if) operator((!)ident(val)operator(\)) operator({) ident(val) operator(=) ident(rb_str_buf_new)operator(()ident(e)operator(-)ident(p)operator(\);) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(p)operator(,) ident(e)operator(-)ident(p)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_buf_cat)operator(()ident(val)operator(,) ident(p)operator(,) ident(e)operator(-)ident(p)operator(\);) operator(}) operator(}) reserved(if) operator((!)ident(val)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(val)operator(;) operator(}) directive(const) pre_type(char)operator(*) ident(rb_get_kcode)operator((\)) operator({) reserved(switch) operator(()ident(reg_kcode)operator(\)) operator({) reserved(case) ident(KCODE_SJIS)operator(:) reserved(return) stringoperator(;) reserved(case) ident(KCODE_EUC)operator(:) reserved(return) stringoperator(;) reserved(case) ident(KCODE_UTF8)operator(:) reserved(return) stringoperator(;) reserved(default)operator(:) reserved(return) stringoperator(;) operator(}) operator(}) directive(static) ident(VALUE) ident(kcode_getter)operator((\)) operator({) reserved(return) ident(rb_str_new2)operator(()ident(rb_get_kcode)operator((\)\);) operator(}) directive(void) ident(rb_set_kcode)operator(()ident(code)operator(\)) directive(const) pre_type(char) operator(*)ident(code)operator(;) operator({) reserved(if) operator(()ident(code) operator(==) integer(0)operator(\)) reserved(goto) ident(set_no_conversion)operator(;) reserved(switch) operator(()ident(code)operator([)integer(0)operator(]\)) operator({) reserved(case) char('E')operator(:) reserved(case) char('e')operator(:) ident(reg_kcode) operator(=) ident(KCODE_EUC)operator(;) ident(re_mbcinit)operator(()ident(MBCTYPE_EUC)operator(\);) reserved(break)operator(;) reserved(case) char('S')operator(:) reserved(case) char('s')operator(:) ident(reg_kcode) operator(=) ident(KCODE_SJIS)operator(;) ident(re_mbcinit)operator(()ident(MBCTYPE_SJIS)operator(\);) reserved(break)operator(;) reserved(case) char('U')operator(:) reserved(case) char('u')operator(:) ident(reg_kcode) operator(=) ident(KCODE_UTF8)operator(;) ident(re_mbcinit)operator(()ident(MBCTYPE_UTF8)operator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(case) char('N')operator(:) reserved(case) char('n')operator(:) reserved(case) char('A')operator(:) reserved(case) char('a')operator(:) label(set_no_conversion:) ident(reg_kcode) operator(=) ident(KCODE_NONE)operator(;) ident(re_mbcinit)operator(()ident(MBCTYPE_ASCII)operator(\);) reserved(break)operator(;) operator(}) operator(}) directive(static) directive(void) ident(kcode_setter)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) ident(may_need_recompile) operator(=) integer(1)operator(;) ident(rb_set_kcode)operator(()ident(StringValuePtr)operator(()ident(val)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(ignorecase_getter)operator((\)) operator({) reserved(return) ident(ruby_ignorecase)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) directive(static) directive(void) ident(ignorecase_setter)operator(()ident(val)operator(,) ident(id)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) ident(may_need_recompile) operator(=) integer(1)operator(;) ident(ruby_ignorecase) operator(=) ident(RTEST)operator(()ident(val)operator(\);) operator(}) directive(static) ident(VALUE) ident(match_getter)operator((\)) operator({) ident(VALUE) ident(match) operator(=) ident(rb_backref_get)operator((\);) reserved(if) operator(()ident(NIL_P)operator(()ident(match)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(rb_match_busy)operator(()ident(match)operator(\);) reserved(return) ident(match)operator(;) operator(}) directive(static) directive(void) ident(match_setter)operator(()ident(val)operator(\)) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(Check_Type)operator(()ident(val)operator(,) ident(T_MATCH)operator(\);) operator(}) ident(rb_backref_set)operator(()ident(val)operator(\);) operator(}) comment(/* * call-seq: * Regexp.last_match => matchdata * Regexp.last_match(fixnum\) => str * * The first form returns the MatchData object generated by the * last successful pattern match. Equivalent to reading the global variable * $~. The second form returns the nth field in this * MatchData object. * * /c(.\)t/ =~ 'cat' #=> 0 * Regexp.last_match #=> # * Regexp.last_match(0\) #=> "cat" * Regexp.last_match(1\) #=> "a" * Regexp.last_match(2\) #=> nil */) directive(static) ident(VALUE) ident(rb_reg_s_last_match)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(nth)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(nth)operator(\)) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(rb_reg_nth_match)operator(()ident(NUM2INT)operator(()ident(nth)operator(\),) ident(rb_backref_get)operator((\)\);) operator(}) reserved(return) ident(match_getter)operator((\);) operator(}) comment(/* * Document-class: Regexp * * A Regexp holds a regular expression, used to match a pattern * against strings. Regexps are created using the /.../ and * %r{...} literals, and by the Regexp::new * constructor. * */) directive(void) ident(Init_Regexp)operator((\)) operator({) ident(rb_eRegexpError) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_eStandardError)operator(\);) ident(re_set_casetable)operator(()ident(casetable)operator(\);) preprocessor(#if) ident(DEFAULT_KCODE) operator(==) ident(KCODE_EUC) ident(re_mbcinit)operator(()ident(MBCTYPE_EUC)operator(\);) preprocessor(#else) preprocessor(#if) ident(DEFAULT_KCODE) operator(==) ident(KCODE_SJIS) ident(re_mbcinit)operator(()ident(MBCTYPE_SJIS)operator(\);) preprocessor(#else) preprocessor(#if) ident(DEFAULT_KCODE) operator(==) ident(KCODE_UTF8) ident(re_mbcinit)operator(()ident(MBCTYPE_UTF8)operator(\);) preprocessor(#else) ident(re_mbcinit)operator(()ident(MBCTYPE_ASCII)operator(\);) preprocessor(#endif) preprocessor(#endif) preprocessor(#endif) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(match_getter)operator(,) ident(match_setter)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(last_match_getter)operator(,) integer(0)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(prematch_getter)operator(,) integer(0)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(postmatch_getter)operator(,) integer(0)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(last_paren_match_getter)operator(,) integer(0)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(ignorecase_getter)operator(,) ident(ignorecase_setter)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(kcode_getter)operator(,) ident(kcode_setter)operator(\);) ident(rb_define_virtual_variable)operator(()stringoperator(,) ident(kcode_getter)operator(,) ident(kcode_setter)operator(\);) ident(rb_cRegexp) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cRegexp)operator(,) ident(rb_reg_s_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_class_new_instance)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_s_quote)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_s_quote)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_s_union)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_s_last_match)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_initialize_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_match)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_eqq)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_match2)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_match_m)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_source)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_casefold_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_options_m)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(rb_reg_kcode_m)operator(,) integer(0)operator(\);) ident(rb_define_const)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RE_OPTION_IGNORECASE)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RE_OPTION_EXTENDED)operator(\)\);) ident(rb_define_const)operator(()ident(rb_cRegexp)operator(,) stringoperator(,) ident(INT2FIX)operator(()ident(RE_OPTION_MULTILINE)operator(\)\);) ident(rb_global_variable)operator((&)ident(reg_cache)operator(\);) ident(rb_cMatch) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(rb_cMatch)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cMatch)operator(,) ident(match_alloc)operator(\);) ident(rb_undef_method)operator(()ident(CLASS_OF)operator(()ident(rb_cMatch)operator(\),) stringoperator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_offset)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_begin)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_end)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_aref)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_captures)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_select)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_values_at)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(rb_reg_match_pre)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(rb_reg_match_post)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(rb_any_to_s)operator(,) integer(0)operator(\);) comment(/* in object.c */) ident(rb_define_method)operator(()ident(rb_cMatch)operator(,) stringoperator(,) ident(match_string)operator(,) integer(0)operator(\);) operator(}) comment(/* Extended regular expression matching and search library. Copyright (C\) 1993, 94, 95, 96, 97, 98 Free Software Foundation, Inc. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option\) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file LGPL. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */) comment(/* Multi-byte extension added May, 1993 by t^2 (Takahiro Tanimoto\) Last change: May 21, 1993 by t^2 */) comment(/* removed gapped buffer support, multiple syntax support by matz */) comment(/* Perl5 extension added by matz */) comment(/* UTF-8 extension added Jan 16 1999 by Yoshida Masato */) preprocessor(#include) include("config.h") preprocessor(#ifdef) ident(HAVE_STRING_H) preprocessor(# include) include() preprocessor(#else) preprocessor(# include) include() preprocessor(#endif) comment(/* We write fatal error messages on standard error. */) preprocessor(#include) include() comment(/* isalpha(3\) etc. are used for the character classes. */) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifndef) ident(PARAMS) preprocessor(# if) ident(defined) ident(__GNUC__) operator(||) operator(()ident(defined) ident(__STDC__) operator(&&) ident(__STDC__)operator(\)) preprocessor(# define) ident(PARAMS)operator(()ident(args)operator(\)) ident(args) preprocessor(# else) preprocessor(# define) ident(PARAMS)operator(()ident(args)operator(\)) operator((\)) preprocessor(# endif) comment(/* GCC. */) preprocessor(#endif) comment(/* Not PARAMS. */) preprocessor(#if) ident(defined)operator(()ident(STDC_HEADERS)operator(\)) preprocessor(# include) include() preprocessor(#else) comment(/* We need this for `regex.h', and perhaps for the Emacs include files. */) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#if) operator(!)ident(defined)operator(()ident(__STDC__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(_MSC_VER)operator(\)) preprocessor(# define) directive(volatile) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) ident(args) preprocessor(#else) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) operator((\)) preprocessor(#endif) preprocessor(#ifdef) ident(RUBY_PLATFORM) preprocessor(#include) include("defines.h") preprocessor(#undef) ident(xmalloc) preprocessor(#undef) ident(xrealloc) preprocessor(#undef) ident(xcalloc) preprocessor(#undef) ident(xfree) preprocessor(# define) ident(RUBY) directive(extern) pre_type(int) ident(rb_prohibit_interrupt)operator(;) directive(extern) pre_type(int) ident(rb_trap_pending)operator(;) directive(void) ident(rb_trap_exec) ident(_)operator((()directive(void)operator(\)\);) preprocessor(# define) ident(CHECK_INTS) reserved(do) operator({)\ reserved(if) operator((!)ident(rb_prohibit_interrupt)operator(\)) operator({)\ reserved(if) operator(()ident(rb_trap_pending)operator(\)) ident(rb_trap_exec)operator((\);)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#endif) comment(/* Make alloca work the best possible way. */) preprocessor(#ifdef) ident(__GNUC__) preprocessor(# ifndef) ident(atarist) preprocessor(# ifndef) ident(alloca) preprocessor(# define) ident(alloca) ident(__builtin_alloca) preprocessor(# endif) preprocessor(# endif) comment(/* atarist */) preprocessor(#else) preprocessor(# ifdef) ident(HAVE_ALLOCA_H) preprocessor(# include) include() preprocessor(# else) preprocessor(# ifdef) ident(_AIX) preprocessor(#pragma) ident(alloca) preprocessor(# else) preprocessor(# ifndef) ident(alloca) comment(/* predefined by HP cc +Olibcalls */) directive(void) operator(*)ident(alloca) operator((\);) preprocessor(# endif) preprocessor(# endif) comment(/* AIX */) preprocessor(# endif) comment(/* HAVE_ALLOCA_H */) preprocessor(#endif) comment(/* __GNUC__ */) preprocessor(#ifdef) ident(HAVE_STRING_H) preprocessor(# include) include() preprocessor(#else) preprocessor(# include) include() preprocessor(#endif) preprocessor(#define) ident(xmalloc) ident(malloc) preprocessor(#define) ident(xrealloc) ident(realloc) preprocessor(#define) ident(xcalloc) ident(calloc) preprocessor(#define) ident(xfree) ident(free) preprocessor(#ifdef) ident(C_ALLOCA) preprocessor(#define) ident(FREE_VARIABLES)operator((\)) ident(alloca)operator(()integer(0)operator(\)) preprocessor(#else) preprocessor(#define) ident(FREE_VARIABLES)operator((\)) preprocessor(#endif) preprocessor(#define) ident(FREE_AND_RETURN_VOID)operator(()ident(stackb)operator(\)) reserved(do) operator({) \ ident(FREE_VARIABLES)operator((\);) \ reserved(if) operator(()ident(stackb) operator(!=) ident(stacka)operator(\)) ident(xfree)operator(()ident(stackb)operator(\);) \ reserved(return)operator(;) \ operator(}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#define) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,)ident(val)operator(\)) reserved(do) operator({) \ ident(FREE_VARIABLES)operator((\);) \ reserved(if) operator(()ident(stackb) operator(!=) ident(stacka)operator(\)) ident(xfree)operator(()ident(stackb)operator(\);) \ reserved(return)operator(()ident(val)operator(\);) \ operator(}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#define) ident(DOUBLE_STACK)operator(()ident(type)operator(\)) reserved(do) operator({) \ ident(type) operator(*)ident(stackx)operator(;) \ pre_type(unsigned) pre_type(int) ident(xlen) operator(=) ident(stacke) operator(-) ident(stackb)operator(;) \ reserved(if) operator(()ident(stackb) operator(==) ident(stacka)operator(\)) operator({) \ ident(stackx) operator(=) operator(()ident(type)operator(*\))ident(xmalloc)operator(()integer(2) operator(*) ident(xlen) operator(*) reserved(sizeof)operator(()ident(type)operator(\)\);) \ reserved(if) operator((!)ident(stackx)operator(\)) reserved(goto) ident(memory_exhausted)operator(;) \ ident(memcpy)operator(()ident(stackx)operator(,) ident(stackb)operator(,) ident(xlen) operator(*) reserved(sizeof) operator(()ident(type)operator(\)\);) \ operator(}) \ reserved(else) operator({) \ ident(stackx) operator(=) operator(()ident(type)operator(*\))ident(xrealloc)operator(()ident(stackb)operator(,) integer(2) operator(*) ident(xlen) operator(*) reserved(sizeof)operator(()ident(type)operator(\)\);) \ reserved(if) operator((!)ident(stackx)operator(\)) reserved(goto) ident(memory_exhausted)operator(;) \ operator(}) \ comment(/* Rearrange the pointers. */) \ ident(stackp) operator(=) ident(stackx) operator(+) operator(()ident(stackp) operator(-) ident(stackb)operator(\);) \ ident(stackb) operator(=) ident(stackx)operator(;) \ ident(stacke) operator(=) ident(stackb) operator(+) integer(2) operator(*) ident(xlen)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(RE_TALLOC)operator(()ident(n)operator(,)ident(t)operator(\)) operator((()ident(t)operator(*\))ident(alloca)operator((()ident(n)operator(\)*)reserved(sizeof)operator(()ident(t)operator(\)\)\)) preprocessor(#define) ident(TMALLOC)operator(()ident(n)operator(,)ident(t)operator(\)) operator((()ident(t)operator(*\))ident(xmalloc)operator((()ident(n)operator(\)*)reserved(sizeof)operator(()ident(t)operator(\)\)\)) preprocessor(#define) ident(TREALLOC)operator(()ident(s)operator(,)ident(n)operator(,)ident(t)operator(\)) operator(()ident(s)operator(=(()ident(t)operator(*\))ident(xrealloc)operator(()ident(s)operator(,()ident(n)operator(\)*)reserved(sizeof)operator(()ident(t)operator(\)\)\)\)) preprocessor(#define) ident(EXPAND_FAIL_STACK)operator((\)) ident(DOUBLE_STACK)operator(()pre_type(unsigned) pre_type(char)operator(*\)) preprocessor(#define) ident(ENSURE_FAIL_STACK)operator(()ident(n)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(stacke) operator(-) ident(stackp) operator(<=) operator(()ident(n)operator(\)\)) operator({) \ comment(/* if (len > re_max_failures * MAX_NUM_FAILURE_ITEMS\) \\ { \\ FREE_AND_RETURN(stackb,(-2\)\); \\ }*/) \ \ comment(/* Roughly double the size of the stack. */) \ ident(EXPAND_FAIL_STACK)operator((\);) \ operator(}) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Get the interface, including the syntax bits. */) preprocessor(#include) include("regex.h") comment(/* Subroutines for re_compile_pattern. */) directive(static) directive(void) ident(store_jump) ident(_)operator((()pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(char)operator(*\)\);) directive(static) directive(void) ident(insert_jump) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(*,) pre_type(char)operator(*,) pre_type(char)operator(*\)\);) directive(static) directive(void) ident(store_jump_n) ident(_)operator((()pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(char)operator(*,) pre_type(unsigned)operator(\)\);) directive(static) directive(void) ident(insert_jump_n) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(*,) pre_type(char)operator(*,) pre_type(char)operator(*,) pre_type(unsigned)operator(\)\);) directive(static) directive(void) ident(insert_op) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(*,) pre_type(char)operator(*\)\);) directive(static) directive(void) ident(insert_op_2) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(*,) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(\)\);) directive(static) pre_type(int) ident(memcmp_translate) ident(_)operator((()pre_type(unsigned) pre_type(char)operator(*,) pre_type(unsigned) pre_type(char)operator(*,) pre_type(int)operator(\)\);) comment(/* Define the syntax stuff, so we can do the \\<, \\>, etc. */) comment(/* This must be nonzero for the wordchar and notwordchar pattern commands in re_match. */) preprocessor(#define) ident(Sword) integer(1) preprocessor(#define) ident(Sword2) integer(2) preprocessor(#define) ident(SYNTAX)operator(()ident(c)operator(\)) ident(re_syntax_table)operator([)ident(c)operator(]) directive(static) pre_type(char) ident(re_syntax_table)operator([)integer(256)operator(];) directive(static) directive(void) ident(init_syntax_once) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(translate) operator(=) integer(0)operator(;) directive(static) directive(void) ident(init_regs) ident(_)operator((()reserved(struct) ident(re_registers)operator(*,) pre_type(unsigned) pre_type(int)operator(\)\);) directive(static) directive(void) ident(bm_init_skip) ident(_)operator((()pre_type(int) operator(*,) pre_type(unsigned) pre_type(char)operator(*,) pre_type(int)operator(,) directive(const) pre_type(unsigned) pre_type(char)operator(*\)\);) directive(static) pre_type(int) ident(current_mbctype) operator(=) ident(MBCTYPE_ASCII)operator(;) preprocessor(#undef) ident(P) preprocessor(#ifdef) ident(RUBY) preprocessor(#include) include("util.h") directive(void) ident(rb_warn) ident(_)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) preprocessor(# define) ident(re_warning)operator(()ident(x)operator(\)) ident(rb_warn)operator(()ident(x)operator(\)) preprocessor(#endif) preprocessor(#ifndef) ident(re_warning) preprocessor(# define) ident(re_warning)operator(()ident(x)operator(\)) preprocessor(#endif) directive(static) directive(void) ident(init_syntax_once)operator((\)) operator({) directive(register) pre_type(int) ident(c)operator(;) directive(static) pre_type(int) ident(done) operator(=) integer(0)operator(;) reserved(if) operator(()ident(done)operator(\)) reserved(return)operator(;) ident(memset)operator(()ident(re_syntax_table)operator(,) integer(0)operator(,) reserved(sizeof) ident(re_syntax_table)operator(\);) reserved(for) operator(()ident(c)operator(=)integer(0)operator(;) ident(c)operator(<=)hex(0x7f)operator(;) ident(c)operator(++\)) reserved(if) operator(()ident(isalnum)operator(()ident(c)operator(\)\)) ident(re_syntax_table)operator([)ident(c)operator(]) operator(=) ident(Sword)operator(;) ident(re_syntax_table)operator([)char('_')operator(]) operator(=) ident(Sword)operator(;) reserved(for) operator(()ident(c)operator(=)hex(0x80)operator(;) ident(c)operator(<=)hex(0xff)operator(;) ident(c)operator(++\)) reserved(if) operator(()ident(isalnum)operator(()ident(c)operator(\)\)) ident(re_syntax_table)operator([)ident(c)operator(]) operator(=) ident(Sword2)operator(;) ident(done) operator(=) integer(1)operator(;) operator(}) directive(void) ident(re_set_casetable)operator(()ident(table)operator(\)) directive(const) pre_type(char) operator(*)ident(table)operator(;) operator({) ident(translate) operator(=) operator(()directive(const) pre_type(unsigned) pre_type(char)operator(*\))ident(table)operator(;) operator(}) comment(/* Jim Meyering writes: "... Some ctype macros are valid only for character codes that isascii says are ASCII (SGI's IRIX-4.0.5 is one such system --when using /bin/cc or gcc but without giving an ansi option\). So, all ctype uses should be through macros like ISPRINT... If STDC_HEADERS is defined, then autoconf has verified that the ctype macros don't need to be guarded with references to isascii. ... Defining isascii to 1 should let any compiler worth its salt eliminate the && through constant folding." Solaris defines some of these symbols so we must undefine them first. */) preprocessor(#undef) ident(ISASCII) preprocessor(#if) ident(defined) ident(STDC_HEADERS) operator(||) operator((!)ident(defined) ident(isascii) operator(&&) operator(!)ident(defined) ident(HAVE_ISASCII)operator(\)) preprocessor(# define) ident(ISASCII)operator(()ident(c)operator(\)) integer(1) preprocessor(#else) preprocessor(# define) ident(ISASCII)operator(()ident(c)operator(\)) ident(isascii)operator(()ident(c)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(isblank) preprocessor(# define) ident(ISBLANK)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isblank)operator(()ident(c)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(ISBLANK)operator(()ident(c)operator(\)) operator((()ident(c)operator(\)) operator(==) char(' ') operator(||) operator(()ident(c)operator(\)) operator(==) char('\\t')operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(isgraph) preprocessor(# define) ident(ISGRAPH)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isgraph)operator(()ident(c)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(ISGRAPH)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isprint)operator(()ident(c)operator(\)) operator(&&) operator(!)ident(isspace)operator(()ident(c)operator(\)\)) preprocessor(#endif) preprocessor(#undef) ident(ISPRINT) preprocessor(#define) ident(ISPRINT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isprint)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISDIGIT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isdigit)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISALNUM)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isalnum)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISALPHA)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isalpha)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISCNTRL)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(iscntrl)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISLOWER)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(islower)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISPUNCT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(ispunct)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISSPACE)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isspace)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISUPPER)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isupper)operator(()ident(c)operator(\)\)) preprocessor(#define) ident(ISXDIGIT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isxdigit)operator(()ident(c)operator(\)\)) preprocessor(#ifndef) pre_constant(NULL) preprocessor(# define) pre_constant(NULL) operator(()directive(void) operator(*\))integer(0) preprocessor(#endif) comment(/* We remove any previous definition of `SIGN_EXTEND_CHAR', since ours (we hope\) works properly with all combinations of machines, compilers, `char' and `unsigned char' argument types. (Per Bothner suggested the basic approach.\) */) preprocessor(#undef) ident(SIGN_EXTEND_CHAR) preprocessor(#if) ident(__STDC__) preprocessor(# define) ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)) operator((()pre_type(signed) pre_type(char)operator(\)()ident(c)operator(\)\)) preprocessor(#else) comment(/* not __STDC__ */) comment(/* As in Harbison and Steele. */) preprocessor(# define) ident(SIGN_EXTEND_CHAR)operator(()ident(c)operator(\)) operator((((()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)) operator(^) integer(128)operator(\)) operator(-) integer(128)operator(\)) preprocessor(#endif) comment(/* These are the command codes that appear in compiled regular expressions, one per byte. Some command codes are followed by argument bytes. A command code can specify any interpretation whatsoever for its arguments. Zero-bytes may appear in the compiled regular expression. The value of `exactn' is needed in search.c (search_buffer\) in emacs. So regex.h defines a symbol `RE_EXACTN_VALUE' to be 1; the value of `exactn' we use here must also be 1. */) reserved(enum) ident(regexpcode) operator({) ident(unused)operator(=)integer(0)operator(,) ident(exactn)operator(=)integer(1)operator(,) comment(/* Followed by one byte giving n, then by n literal bytes. */) ident(begline)operator(,) comment(/* Fail unless at beginning of line. */) ident(endline)operator(,) comment(/* Fail unless at end of line. */) ident(begbuf)operator(,) comment(/* Succeeds if at beginning of buffer (if emacs\) or at beginning of string to be matched (if not\). */) ident(endbuf)operator(,) comment(/* Analogously, for end of buffer/string. */) ident(endbuf2)operator(,) comment(/* End of buffer/string, or newline just before it. */) ident(begpos)operator(,) comment(/* Matches where last scan//gsub left off. */) ident(jump)operator(,) comment(/* Followed by two bytes giving relative address to jump to. */) ident(jump_past_alt)operator(,)comment(/* Same as jump, but marks the end of an alternative. */) ident(on_failure_jump)operator(,) comment(/* Followed by two bytes giving relative address of place to resume at in case of failure. */) ident(finalize_jump)operator(,) comment(/* Throw away latest failure point and then jump to address. */) ident(maybe_finalize_jump)operator(,) comment(/* Like jump but finalize if safe to do so. This is used to jump back to the beginning of a repeat. If the command that follows this jump is clearly incompatible with the one at the beginning of the repeat, such that we can be sure that there is no use backtracking out of repetitions already completed, then we finalize. */) ident(dummy_failure_jump)operator(,) comment(/* Jump, and push a dummy failure point. This failure point will be thrown away if an attempt is made to use it for a failure. A + construct makes this before the first repeat. Also use it as an intermediary kind of jump when compiling an or construct. */) ident(push_dummy_failure)operator(,) comment(/* Push a dummy failure point and continue. Used at the end of alternatives. */) ident(succeed_n)operator(,) comment(/* Used like on_failure_jump except has to succeed n times; then gets turned into an on_failure_jump. The relative address following it is useless until then. The address is followed by two bytes containing n. */) ident(jump_n)operator(,) comment(/* Similar to jump, but jump n times only; also the relative address following is in turn followed by yet two more bytes containing n. */) ident(try_next)operator(,) comment(/* Jump to next pattern for the first time, leaving this pattern on the failure stack. */) ident(finalize_push)operator(,) comment(/* Finalize stack and push the beginning of the pattern on the stack to retry (used for non-greedy match\) */) ident(finalize_push_n)operator(,) comment(/* Similar to finalize_push, buf finalize n time only */) ident(set_number_at)operator(,) comment(/* Set the following relative location to the subsequent number. */) ident(anychar)operator(,) comment(/* Matches any (more or less\) one character excluding newlines. */) ident(anychar_repeat)operator(,) comment(/* Matches sequence of characters excluding newlines. */) ident(charset)operator(,) comment(/* Matches any one char belonging to specified set. First following byte is number of bitmap bytes. Then come bytes for a bitmap saying which chars are in. Bits in each byte are ordered low-bit-first. A character is in the set if its bit is 1. A character too large to have a bit in the map is automatically not in the set. */) ident(charset_not)operator(,) comment(/* Same parameters as charset, but match any character that is not one of those specified. */) ident(start_memory)operator(,) comment(/* Start remembering the text that is matched, for storing in a memory register. Followed by one byte containing the register number. Register numbers must be in the range 0 through RE_NREGS. */) ident(stop_memory)operator(,) comment(/* Stop remembering the text that is matched and store it in a memory register. Followed by one byte containing the register number. Register numbers must be in the range 0 through RE_NREGS. */) ident(start_paren)operator(,) comment(/* Place holder at the start of (?:..\). */) ident(stop_paren)operator(,) comment(/* Place holder at the end of (?:..\). */) ident(casefold_on)operator(,) comment(/* Turn on casefold flag. */) ident(casefold_off)operator(,) comment(/* Turn off casefold flag. */) ident(option_set)operator(,) comment(/* Turn on multi line match (match with newlines\). */) ident(start_nowidth)operator(,) comment(/* Save string point to the stack. */) ident(stop_nowidth)operator(,) comment(/* Restore string place at the point start_nowidth. */) ident(pop_and_fail)operator(,) comment(/* Fail after popping nowidth entry from stack. */) ident(stop_backtrack)operator(,) comment(/* Restore backtrack stack at the point start_nowidth. */) ident(duplicate)operator(,) comment(/* Match a duplicate of something remembered. Followed by one byte containing the index of the memory register. */) ident(wordchar)operator(,) comment(/* Matches any word-constituent character. */) ident(notwordchar)operator(,) comment(/* Matches any char that is not a word-constituent. */) ident(wordbeg)operator(,) comment(/* Succeeds if at word beginning. */) ident(wordend)operator(,) comment(/* Succeeds if at word end. */) ident(wordbound)operator(,) comment(/* Succeeds if at a word boundary. */) ident(notwordbound) comment(/* Succeeds if not at a word boundary. */) operator(};) comment(/* Number of failure points to allocate space for initially, when matching. If this number is exceeded, more space is allocated, so it is not a hard limit. */) preprocessor(#ifndef) ident(NFAILURES) preprocessor(#define) ident(NFAILURES) integer(160) preprocessor(#endif) comment(/* Store NUMBER in two contiguous bytes starting at DESTINATION. */) preprocessor(#define) ident(STORE_NUMBER)operator(()ident(destination)operator(,) ident(number)operator(\)) \ reserved(do) operator({) operator(()ident(destination)operator(\)[)integer(0)operator(]) operator(=) operator(()ident(number)operator(\)) operator(&) oct(0377)operator(;) \ operator(()ident(destination)operator(\)[)integer(1)operator(]) operator(=) operator(()ident(number)operator(\)) operator(>>) integer(8)operator(;) operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Same as STORE_NUMBER, except increment the destination pointer to the byte after where the number is stored. Watch out that values for DESTINATION such as p + 1 won't work, whereas p will. */) preprocessor(#define) ident(STORE_NUMBER_AND_INCR)operator(()ident(destination)operator(,) ident(number)operator(\)) \ reserved(do) operator({) ident(STORE_NUMBER)operator(()ident(destination)operator(,) ident(number)operator(\);) \ operator(()ident(destination)operator(\)) operator(+=) integer(2)operator(;) operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Put into DESTINATION a number stored in two contingous bytes starting at SOURCE. */) preprocessor(#define) ident(EXTRACT_NUMBER)operator(()ident(destination)operator(,) ident(source)operator(\)) \ reserved(do) operator({) operator(()ident(destination)operator(\)) operator(=) operator(*()ident(source)operator(\)) operator(&) oct(0377)operator(;) \ operator(()ident(destination)operator(\)) operator(+=) ident(SIGN_EXTEND_CHAR)operator((*()pre_type(char)operator(*\)(()ident(source)operator(\)) operator(+) integer(1)operator(\)\)) operator(<<) integer(8)operator(;) operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Same as EXTRACT_NUMBER, except increment the pointer for source to point to second byte of SOURCE. Note that SOURCE has to be a value such as p, not, e.g., p + 1. */) preprocessor(#define) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(destination)operator(,) ident(source)operator(\)) \ reserved(do) operator({) ident(EXTRACT_NUMBER)operator(()ident(destination)operator(,) ident(source)operator(\);) \ operator(()ident(source)operator(\)) operator(+=) integer(2)operator(;) operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Specify the precise syntax of regexps for compilation. This provides for compatibility for various utilities which historically have different, incompatible syntaxes. The argument SYNTAX is a bit-mask comprised of the various bits defined in regex.h. */) pre_type(long) ident(re_set_syntax)operator(()ident(syntax)operator(\)) pre_type(long) ident(syntax)operator(;) operator({) comment(/* obsolete */) reserved(return) integer(0)operator(;) operator(}) comment(/* Macros for re_compile_pattern, which is found below these definitions. */) preprocessor(#define) ident(TRANSLATE_P)operator((\)) operator((()ident(options)operator(&)ident(RE_OPTION_IGNORECASE)operator(\)) operator(&&) ident(translate)operator(\)) preprocessor(#define) ident(MAY_TRANSLATE)operator((\)) operator((()ident(bufp)operator(->)ident(options)operator(&()ident(RE_OPTION_IGNORECASE)operator(|)ident(RE_MAY_IGNORECASE)operator(\)\)) operator(&&) ident(translate)operator(\)) comment(/* Fetch the next character in the uncompiled pattern---translating it if necessary. Also cast from a signed character in the constant string passed to us by the user to an unsigned char that we can use as an array index (in, e.g., `translate'\). */) preprocessor(#define) ident(PATFETCH)operator(()ident(c)operator(\)) \ reserved(do) operator({)reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) reserved(goto) ident(end_of_pattern)operator(;) \ ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)) operator(*)ident(p)operator(++;) \ reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(translate)operator([)ident(c)operator(];) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Fetch the next character in the uncompiled pattern, with no translation. */) preprocessor(#define) ident(PATFETCH_RAW)operator(()ident(c)operator(\)) \ reserved(do) operator({)reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) reserved(goto) ident(end_of_pattern)operator(;) \ ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(p)operator(++;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Go backwards one character in the pattern. */) preprocessor(#define) ident(PATUNFETCH) ident(p)operator(--) preprocessor(#define) ident(MBC2WC)operator(()ident(c)operator(,) ident(p)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(current_mbctype) operator(==) ident(MBCTYPE_UTF8)operator(\)) operator({) \ pre_type(int) ident(n) operator(=) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) \ ident(c) operator(&=) operator(()integer(1)operator(<<()ident(BYTEWIDTH)operator(-)integer(2)operator(-)ident(n)operator(\)\)) operator(-) integer(1)operator(;) \ reserved(while) operator(()ident(n)operator(--\)) operator({) \ ident(c) operator(=) ident(c) operator(<<) integer(6) operator(|) operator((*)ident(p)operator(++) operator(&) operator((()integer(1)operator(<<)integer(6)operator(\)-)integer(1)operator(\)\);) \ operator(}) \ operator(}) \ reserved(else) operator({) \ ident(c) operator(<<=) integer(8)operator(;) \ ident(c) operator(|=) operator(()pre_type(unsigned) pre_type(char)operator(\)*()ident(p)operator(\)++;) \ operator(}) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(PATFETCH_MBC)operator(()ident(c)operator(\)) \ reserved(do) operator({) \ reserved(if) operator(()ident(p) operator(+) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1) operator(>=) ident(pend)operator(\)) reserved(goto) ident(end_of_pattern)operator(;) \ ident(MBC2WC)operator(()ident(c)operator(,) ident(p)operator(\);) \ operator(}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#define) ident(WC2MBC1ST)operator(()ident(c)operator(\)) \ operator((()ident(current_mbctype) operator(!=) ident(MBCTYPE_UTF8)operator(\)) operator(?) operator((()ident(c)operator(<)hex(0x100)operator(\)) operator(?) operator(()ident(c)operator(\)) operator(:) operator(((()ident(c)operator(\)>>)integer(8)operator(\)&)hex(0xff)operator(\)\)) operator(:) ident(utf8_firstbyte)operator(()ident(c)operator(\)\)) reserved(typedef) pre_type(unsigned) pre_type(int) operator((*)ident(mbc_startpos_func_t)operator(\)) ident(_)operator((()directive(const) pre_type(char) operator(*)ident(string)operator(,) pre_type(unsigned) pre_type(int) ident(pos)operator(\)\);) directive(static) pre_type(unsigned) pre_type(int) ident(asc_startpos) ident(_)operator((()directive(const) pre_type(char) operator(*)ident(string)operator(,) pre_type(unsigned) pre_type(int) ident(pos)operator(\)\);) directive(static) pre_type(unsigned) pre_type(int) ident(euc_startpos) ident(_)operator((()directive(const) pre_type(char) operator(*)ident(string)operator(,) pre_type(unsigned) pre_type(int) ident(pos)operator(\)\);) directive(static) pre_type(unsigned) pre_type(int) ident(sjis_startpos) ident(_)operator((()directive(const) pre_type(char) operator(*)ident(string)operator(,) pre_type(unsigned) pre_type(int) ident(pos)operator(\)\);) directive(static) pre_type(unsigned) pre_type(int) ident(utf8_startpos) ident(_)operator((()directive(const) pre_type(char) operator(*)ident(string)operator(,) pre_type(unsigned) pre_type(int) ident(pos)operator(\)\);) directive(static) directive(const) ident(mbc_startpos_func_t) ident(mbc_startpos_func)operator([)integer(4)operator(]) operator(=) operator({) ident(asc_startpos)operator(,) ident(euc_startpos)operator(,) ident(sjis_startpos)operator(,) ident(utf8_startpos) operator(};) preprocessor(#define) ident(mbc_startpos)operator(()ident(start)operator(,) ident(pos)operator(\)) operator((*)ident(mbc_startpos_func)operator([)ident(current_mbctype)operator(]\)(()ident(start)operator(\),) operator(()ident(pos)operator(\)\)) directive(static) pre_type(unsigned) pre_type(int) ident(utf8_firstbyte)operator(()ident(c)operator(\)) pre_type(unsigned) pre_type(long) ident(c)operator(;) operator({) reserved(if) operator(()ident(c) operator(<) hex(0x80)operator(\)) reserved(return) ident(c)operator(;) reserved(if) operator(()ident(c) operator(<=) hex(0x7ff)operator(\)) reserved(return) operator((()ident(c)operator(>>)integer(6)operator(\)&)hex(0xff)operator(\)|)hex(0xc0)operator(;) reserved(if) operator(()ident(c) operator(<=) hex(0xffff)operator(\)) reserved(return) operator((()ident(c)operator(>>)integer(12)operator(\)&)hex(0xff)operator(\)|)hex(0xe0)operator(;) reserved(if) operator(()ident(c) operator(<=) hex(0x1fffff)operator(\)) reserved(return) operator((()ident(c)operator(>>)integer(18)operator(\)&)hex(0xff)operator(\)|)hex(0xf0)operator(;) reserved(if) operator(()ident(c) operator(<=) hex(0x3ffffff)operator(\)) reserved(return) operator((()ident(c)operator(>>)integer(24)operator(\)&)hex(0xff)operator(\)|)hex(0xf8)operator(;) reserved(if) operator(()ident(c) operator(<=) hex(0x7fffffff)operator(\)) reserved(return) operator((()ident(c)operator(>>)integer(30)operator(\)&)hex(0xff)operator(\)|)hex(0xfc)operator(;) preprocessor(#if) ident(SIZEOF_INT) operator(>) integer(4) reserved(if) operator(()ident(c) operator(<=) hex(0xfffffffff)operator(\)) reserved(return) hex(0xfe)operator(;) preprocessor(#else) reserved(return) hex(0xfe)operator(;) preprocessor(#endif) operator(}) directive(static) directive(void) ident(print_mbc)operator(()ident(c)operator(\)) pre_type(unsigned) pre_type(int) ident(c)operator(;) operator({) reserved(if) operator(()ident(current_mbctype) operator(==) ident(MBCTYPE_UTF8)operator(\)) operator({) reserved(if) operator(()ident(c) operator(<) hex(0x80)operator(\)) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(c)operator(\);) reserved(else) reserved(if) operator(()ident(c) operator(<=) hex(0x7ff)operator(\)) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(utf8_firstbyte)operator(()ident(c)operator(\),) operator(()pre_type(int)operator(\)()ident(c) operator(&) hex(0x3f)operator(\)\);) reserved(else) reserved(if) operator(()ident(c) operator(<=) hex(0xffff)operator(\)) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(utf8_firstbyte)operator(()ident(c)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(6)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)()ident(c) operator(&) hex(0x3f)operator(\)\);) reserved(else) reserved(if) operator(()ident(c) operator(<=) hex(0x1fffff)operator(\)) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(utf8_firstbyte)operator(()ident(c)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(12)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(6)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)()ident(c) operator(&) hex(0x3f)operator(\)\);) reserved(else) reserved(if) operator(()ident(c) operator(<=) hex(0x3ffffff)operator(\)) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(utf8_firstbyte)operator(()ident(c)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(18)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(12)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(6)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)()ident(c) operator(&) hex(0x3f)operator(\)\);) reserved(else) reserved(if) operator(()ident(c) operator(<=) hex(0x7fffffff)operator(\)) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(utf8_firstbyte)operator(()ident(c)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(24)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(18)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(12)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)(()ident(c) operator(>>) integer(6)operator(\)) operator(&) hex(0x3f)operator(\),) operator(()pre_type(int)operator(\)()ident(c) operator(&) hex(0x3f)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(<) hex(0xff)operator(\)) operator({) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(c)operator(\);) operator(}) reserved(else) operator({) ident(printf)operator(()stringoperator(,) operator(()pre_type(int)operator(\)()ident(c) operator(>>) ident(BYTEWIDTH)operator(\),) operator(()pre_type(int)operator(\)()ident(c) operator(&)hex(0xff)operator(\)\);) operator(}) operator(}) comment(/* If the buffer isn't allocated when it comes in, use this. */) preprocessor(#define) ident(INIT_BUF_SIZE) integer(28) comment(/* Make sure we have at least N more bytes of space in buffer. */) preprocessor(#define) ident(GET_BUFFER_SPACE)operator(()ident(n)operator(\)) \ reserved(do) operator({) \ reserved(while) operator(()ident(b) operator(-) ident(bufp)operator(->)ident(buffer) operator(+) operator(()ident(n)operator(\)) operator(>=) ident(bufp)operator(->)ident(allocated)operator(\)) \ ident(EXTEND_BUFFER)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Make sure we have one more byte of buffer space and then add CH to it. */) preprocessor(#define) ident(BUFPUSH)operator(()ident(ch)operator(\)) \ reserved(do) operator({) \ ident(GET_BUFFER_SPACE)operator(()integer(1)operator(\);) \ operator(*)ident(b)operator(++) operator(=) operator(()pre_type(char)operator(\)()ident(ch)operator(\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Extend the buffer by twice its current size via reallociation and reset the pointers that pointed into the old allocation to point to the correct places in the new allocation. If extending the buffer results in it being larger than 1 << 16, then flag memory exhausted. */) preprocessor(#define) ident(EXTEND_BUFFER) \ reserved(do) operator({) pre_type(char) operator(*)ident(old_buffer) operator(=) ident(bufp)operator(->)ident(buffer)operator(;) \ reserved(if) operator(()ident(bufp)operator(->)ident(allocated) operator(==) operator(()integer(1L)operator(<<)integer(16)operator(\)\)) reserved(goto) ident(too_big)operator(;) \ ident(bufp)operator(->)ident(allocated) operator(*=) integer(2)operator(;) \ reserved(if) operator(()ident(bufp)operator(->)ident(allocated) operator(>) operator(()integer(1L)operator(<<)integer(16)operator(\)\)) ident(bufp)operator(->)ident(allocated) operator(=) operator(()integer(1L)operator(<<)integer(16)operator(\);) \ ident(bufp)operator(->)ident(buffer) operator(=) operator(()pre_type(char)operator(*\))ident(xrealloc)operator(()ident(bufp)operator(->)ident(buffer)operator(,) ident(bufp)operator(->)ident(allocated)operator(\);) \ reserved(if) operator(()ident(bufp)operator(->)ident(buffer) operator(==) integer(0)operator(\)) \ reserved(goto) ident(memory_exhausted)operator(;) \ ident(b) operator(=) operator(()ident(b) operator(-) ident(old_buffer)operator(\)) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) \ reserved(if) operator(()ident(fixup_alt_jump)operator(\)) \ ident(fixup_alt_jump) operator(=) operator(()ident(fixup_alt_jump) operator(-) ident(old_buffer)operator(\)) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) \ reserved(if) operator(()ident(laststart)operator(\)) \ ident(laststart) operator(=) operator(()ident(laststart) operator(-) ident(old_buffer)operator(\)) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) \ ident(begalt) operator(=) operator(()ident(begalt) operator(-) ident(old_buffer)operator(\)) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) \ reserved(if) operator(()ident(pending_exact)operator(\)) \ ident(pending_exact) operator(=) operator(()ident(pending_exact) operator(-) ident(old_buffer)operator(\)) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Set the bit for character C in a character set list. */) preprocessor(#define) ident(SET_LIST_BIT)operator(()ident(c)operator(\)) \ operator(()ident(b)operator([()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)) operator(/) ident(BYTEWIDTH)operator(]) \ operator(|=) integer(1) operator(<<) operator((()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)) operator(%) ident(BYTEWIDTH)operator(\)\)) comment(/* Get the next unsigned number in the uncompiled pattern. */) preprocessor(#define) ident(GET_UNSIGNED_NUMBER)operator(()ident(num)operator(\)) \ reserved(do) operator({) reserved(if) operator(()ident(p) operator(!=) ident(pend)operator(\)) operator({) \ ident(PATFETCH)operator(()ident(c)operator(\);) \ reserved(while) operator(()ident(ISDIGIT)operator(()ident(c)operator(\)\)) operator({) \ reserved(if) operator(()ident(num) operator(<) integer(0)operator(\)) \ ident(num) operator(=) integer(0)operator(;) \ ident(num) operator(=) ident(num) operator(*) integer(10) operator(+) ident(c) operator(-) char('0')operator(;) \ reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) \ reserved(break)operator(;) \ ident(PATFETCH)operator(()ident(c)operator(\);) \ operator(}) \ operator(}) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(STREQ)operator(()ident(s1)operator(,) ident(s2)operator(\)) operator((()ident(strcmp)operator(()ident(s1)operator(,) ident(s2)operator(\)) operator(==) integer(0)operator(\)\)) preprocessor(#define) ident(CHAR_CLASS_MAX_LENGTH) integer(6) comment(/* Namely, `xdigit'. */) preprocessor(#define) ident(IS_CHAR_CLASS)operator(()ident(string)operator(\)) \ operator(()ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) \ operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) \ operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) \ operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) \ operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) \ operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)) operator(||) ident(STREQ)operator(()ident(string)operator(,) stringoperator(\)\)) preprocessor(#define) ident(STORE_MBC)operator(()ident(p)operator(,) ident(c)operator(\)) \ reserved(do) operator({) \ operator(()ident(p)operator(\)[)integer(0)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>)integer(24)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(()ident(p)operator(\)[)integer(1)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>)integer(16)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(()ident(p)operator(\)[)integer(2)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>) integer(8)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(()ident(p)operator(\)[)integer(3)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>) integer(0)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(STORE_MBC_AND_INCR)operator(()ident(p)operator(,) ident(c)operator(\)) \ reserved(do) operator({) \ operator(*()ident(p)operator(\)++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>)integer(24)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(*()ident(p)operator(\)++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>)integer(16)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(*()ident(p)operator(\)++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>) integer(8)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(*()ident(p)operator(\)++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)((()ident(c)operator(\)) operator(>>) integer(0)operator(\)) operator(&) hex(0xff)operator(\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(EXTRACT_MBC)operator(()ident(p)operator(\)) \ operator((()pre_type(unsigned) pre_type(int)operator(\)(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[)integer(0)operator(]) operator(<<) integer(24) operator(|) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[)integer(1)operator(]) operator(<<) integer(16) operator(|) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[)integer(2)operator(]) operator(<<) integer(8) operator(|) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[)integer(3)operator(]\)\)) preprocessor(#define) ident(EXTRACT_MBC_AND_INCR)operator(()ident(p)operator(\)) \ operator((()pre_type(unsigned) pre_type(int)operator(\)(()ident(p)operator(\)) operator(+=) integer(4)operator(,) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[-)integer(4)operator(]) operator(<<) integer(24) operator(|) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[-)integer(3)operator(]) operator(<<) integer(16) operator(|) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[-)integer(2)operator(]) operator(<<) integer(8) operator(|) \ operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[-)integer(1)operator(]\)\)) preprocessor(#define) ident(EXTRACT_UNSIGNED)operator(()ident(p)operator(\)) \ operator((()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[)integer(0)operator(]) operator(|) operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[)integer(1)operator(]) operator(<<) integer(8)operator(\)) preprocessor(#define) ident(EXTRACT_UNSIGNED_AND_INCR)operator(()ident(p)operator(\)) \ operator((()ident(p)operator(\)) operator(+=) integer(2)operator(,) operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[-)integer(2)operator(]) operator(|) operator(()pre_type(unsigned) pre_type(char)operator(\)()ident(p)operator(\)[-)integer(1)operator(]) operator(<<) integer(8)operator(\)) comment(/* Handle (mb\)?charset(_not\)?. Structure of mbcharset(_not\)? in compiled pattern. struct { unsinged char id; mbcharset(_not\)? unsigned char sbc_size; unsigned char sbc_map[sbc_size]; same as charset(_not\)? up to here. unsigned short mbc_size; number of intervals. struct { unsigned long beg; beginning of interval. unsigned long end; end of interval. } intervals[mbc_size]; }; */) directive(static) directive(void) ident(set_list_bits)operator(()ident(c1)operator(,) ident(c2)operator(,) ident(b)operator(\)) pre_type(unsigned) pre_type(long) ident(c1)operator(,) ident(c2)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(b)operator(;) operator({) pre_type(unsigned) pre_type(char) ident(sbc_size) operator(=) ident(b)operator([-)integer(1)operator(];) pre_type(unsigned) pre_type(short) ident(mbc_size) operator(=) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([)ident(sbc_size)operator(]\);) pre_type(unsigned) pre_type(short) ident(beg)operator(,) ident(end)operator(,) ident(upb)operator(;) reserved(if) operator(()ident(c1) operator(>) ident(c2)operator(\)) reserved(return)operator(;) ident(b) operator(=) operator(&)ident(b)operator([)ident(sbc_size) operator(+) integer(2)operator(];) reserved(for) operator(()ident(beg) operator(=) integer(0)operator(,) ident(upb) operator(=) ident(mbc_size)operator(;) ident(beg) operator(<) ident(upb)operator(;) operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(mid) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\)()ident(beg) operator(+) ident(upb)operator(\)) operator(>>) integer(1)operator(;) reserved(if) operator((()pre_type(int)operator(\))ident(c1) operator(-) integer(1) operator(>) operator(()pre_type(int)operator(\))ident(EXTRACT_MBC)operator((&)ident(b)operator([)ident(mid)operator(*)integer(8)operator(+)integer(4)operator(]\)\)) ident(beg) operator(=) ident(mid) operator(+) integer(1)operator(;) reserved(else) ident(upb) operator(=) ident(mid)operator(;) operator(}) reserved(for) operator(()ident(end) operator(=) ident(beg)operator(,) ident(upb) operator(=) ident(mbc_size)operator(;) ident(end) operator(<) ident(upb)operator(;) operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(mid) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\)()ident(end) operator(+) ident(upb)operator(\)) operator(>>) integer(1)operator(;) reserved(if) operator((()pre_type(int)operator(\))ident(c2) operator(>=) operator(()pre_type(int)operator(\))ident(EXTRACT_MBC)operator((&)ident(b)operator([)ident(mid)operator(*)integer(8)operator(]\)) operator(-) integer(1)operator(\)) ident(end) operator(=) ident(mid) operator(+) integer(1)operator(;) reserved(else) ident(upb) operator(=) ident(mid)operator(;) operator(}) reserved(if) operator(()ident(beg) operator(!=) ident(end)operator(\)) operator({) reserved(if) operator(()ident(c1) operator(>) ident(EXTRACT_MBC)operator((&)ident(b)operator([)ident(beg)operator(*)integer(8)operator(]\)\)) ident(c1) operator(=) ident(EXTRACT_MBC)operator((&)ident(b)operator([)ident(beg)operator(*)integer(8)operator(]\);) reserved(if) operator(()ident(c2) operator(<) ident(EXTRACT_MBC)operator((&)ident(b)operator([()ident(end) operator(-) integer(1)operator(\)*)integer(8)operator(+)integer(4)operator(]\)\)) ident(c2) operator(=) ident(EXTRACT_MBC)operator((&)ident(b)operator([()ident(end) operator(-) integer(1)operator(\)*)integer(8)operator(+)integer(4)operator(]\);) operator(}) reserved(if) operator(()ident(end) operator(<) ident(mbc_size) operator(&&) ident(end) operator(!=) ident(beg) operator(+) integer(1)operator(\)) comment(/* NOTE: memcpy(\) would not work here. */) ident(memmove)operator((&)ident(b)operator([()ident(beg) operator(+) integer(1)operator(\)*)integer(8)operator(],) operator(&)ident(b)operator([)ident(end)operator(*)integer(8)operator(],) operator(()ident(mbc_size) operator(-) ident(end)operator(\)*)integer(8)operator(\);) ident(STORE_MBC)operator((&)ident(b)operator([)ident(beg)operator(*)integer(8) operator(+) integer(0)operator(],) ident(c1)operator(\);) ident(STORE_MBC)operator((&)ident(b)operator([)ident(beg)operator(*)integer(8) operator(+) integer(4)operator(],) ident(c2)operator(\);) ident(mbc_size) operator(+=) ident(beg) operator(-) ident(end) operator(+) integer(1)operator(;) ident(STORE_NUMBER)operator((&)ident(b)operator([-)integer(2)operator(],) ident(mbc_size)operator(\);) operator(}) directive(static) pre_type(int) ident(is_in_list_sbc)operator(()ident(c)operator(,) ident(b)operator(\)) pre_type(unsigned) pre_type(long) ident(c)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(b)operator(;) operator({) pre_type(unsigned) pre_type(short) ident(size)operator(;) ident(size) operator(=) operator(*)ident(b)operator(++;) reserved(return) operator((()pre_type(int)operator(\))ident(c) operator(/) ident(BYTEWIDTH) operator(<) operator(()pre_type(int)operator(\))ident(size) operator(&&) ident(b)operator([)ident(c) operator(/) ident(BYTEWIDTH)operator(]) operator(&) integer(1) operator(<<) ident(c) operator(%) ident(BYTEWIDTH)operator(\);) operator(}) directive(static) pre_type(int) ident(is_in_list_mbc)operator(()ident(c)operator(,) ident(b)operator(\)) pre_type(unsigned) pre_type(long) ident(c)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(b)operator(;) operator({) pre_type(unsigned) pre_type(short) ident(size)operator(;) pre_type(unsigned) pre_type(short) ident(i)operator(,) ident(j)operator(;) ident(size) operator(=) operator(*)ident(b)operator(++;) ident(b) operator(+=) ident(size) operator(+) integer(2)operator(;) ident(size) operator(=) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([-)integer(2)operator(]\);) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(,) ident(j) operator(=) ident(size)operator(;) ident(i) operator(<) ident(j)operator(;) operator(\)) operator({) pre_type(unsigned) pre_type(short) ident(k) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\)()ident(i) operator(+) ident(j)operator(\)) operator(>>) integer(1)operator(;) reserved(if) operator(()ident(c) operator(>) ident(EXTRACT_MBC)operator((&)ident(b)operator([)ident(k)operator(*)integer(8)operator(+)integer(4)operator(]\)\)) ident(i) operator(=) ident(k) operator(+) integer(1)operator(;) reserved(else) ident(j) operator(=) ident(k)operator(;) operator(}) reserved(if) operator(()ident(i) operator(<) ident(size) operator(&&) ident(EXTRACT_MBC)operator((&)ident(b)operator([)ident(i)operator(*)integer(8)operator(]\)) operator(<=) ident(c)operator(\)) reserved(return) integer(1)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(is_in_list)operator(()ident(c)operator(,) ident(b)operator(\)) pre_type(unsigned) pre_type(long) ident(c)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(b)operator(;) operator({) reserved(return) ident(is_in_list_sbc)operator(()ident(c)operator(,) ident(b)operator(\)) operator(||) operator(()ident(current_mbctype) operator(?) ident(is_in_list_mbc)operator(()ident(c)operator(,) ident(b)operator(\)) operator(:) integer(0)operator(\);) operator(}) directive(static) directive(void) ident(print_partial_compiled_pattern)operator(()ident(start)operator(,) ident(end)operator(\)) pre_type(unsigned) pre_type(char) operator(*)ident(start)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(end)operator(;) operator({) pre_type(int) ident(mcnt)operator(,) ident(mcnt2)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) ident(start)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(pend) operator(=) ident(end)operator(;) reserved(if) operator(()ident(start) operator(==) pre_constant(NULL)operator(\)) operator({) ident(printf)operator(()stringoperator(\);) reserved(return)operator(;) operator(}) comment(/* Loop over pattern commands. */) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(switch) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p)operator(++\)) operator({) reserved(case) ident(unused)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(exactn)operator(:) ident(mcnt) operator(=) operator(*)ident(p)operator(++;) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(do) operator({) ident(putchar)operator(()char('/')operator(\);) ident(printf)operator(()stringoperator(,) operator(*)ident(p)operator(++\);) operator(}) reserved(while) operator((--)ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(start_memory)operator(:) ident(mcnt) operator(=) operator(*)ident(p)operator(++;) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(,) operator(*)ident(p)operator(++\);) reserved(break)operator(;) reserved(case) ident(stop_memory)operator(:) ident(mcnt) operator(=) operator(*)ident(p)operator(++;) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(,) operator(*)ident(p)operator(++\);) reserved(break)operator(;) reserved(case) ident(start_paren)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(stop_paren)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(casefold_on)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(casefold_off)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(option_set)operator(:) ident(printf)operator(()stringoperator(,) operator(*)ident(p)operator(++\);) reserved(break)operator(;) reserved(case) ident(start_nowidth)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(stop_nowidth)operator(:) ident(printf)operator(()stringoperator(\);) ident(p) operator(+=) integer(2)operator(;) reserved(break)operator(;) reserved(case) ident(pop_and_fail)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(stop_backtrack)operator(:) ident(printf)operator(()stringoperator(\);) ident(p) operator(+=) integer(2)operator(;) reserved(break)operator(;) reserved(case) ident(duplicate)operator(:) ident(printf)operator(()stringoperator(,) operator(*)ident(p)operator(++\);) reserved(break)operator(;) reserved(case) ident(anychar)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(anychar_repeat)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(charset)operator(:) reserved(case) ident(charset_not)operator(:) operator({) directive(register) pre_type(int) ident(c)operator(;) ident(printf)operator(()stringoperator(,) operator(()reserved(enum) ident(regexpcode)operator(\)*()ident(p) operator(-) integer(1)operator(\)) operator(==) ident(charset_not) operator(?) string operator(:) stringoperator(\);) ident(mcnt) operator(=) operator(*)ident(p)operator(++;) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(for) operator(()ident(c) operator(=) integer(0)operator(;) ident(c) operator(<) ident(mcnt)operator(;) ident(c)operator(++\)) operator({) pre_type(unsigned) ident(bit)operator(;) pre_type(unsigned) pre_type(char) ident(map_byte) operator(=) ident(p)operator([)ident(c)operator(];) ident(putchar)operator(()char('/')operator(\);) reserved(for) operator(()ident(bit) operator(=) integer(0)operator(;) ident(bit) operator(<) ident(BYTEWIDTH)operator(;) ident(bit)operator(++\)) reserved(if) operator(()ident(map_byte) operator(&) operator(()integer(1) operator(<<) ident(bit)operator(\)\)) ident(printf)operator(()stringoperator(,) ident(c) operator(*) ident(BYTEWIDTH) operator(+) ident(bit)operator(\);) operator(}) ident(p) operator(+=) ident(mcnt)operator(;) ident(mcnt) operator(=) ident(EXTRACT_UNSIGNED_AND_INCR)operator(()ident(p)operator(\);) ident(putchar)operator(()char('/')operator(\);) reserved(while) operator(()ident(mcnt)operator(--\)) operator({) ident(print_mbc)operator(()ident(EXTRACT_MBC_AND_INCR)operator(()ident(p)operator(\)\);) ident(putchar)operator(()char('-')operator(\);) ident(print_mbc)operator(()ident(EXTRACT_MBC_AND_INCR)operator(()ident(p)operator(\)\);) operator(}) reserved(break)operator(;) operator(}) reserved(case) ident(begline)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(endline)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(on_failure_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(dummy_failure_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(push_dummy_failure)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(finalize_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(maybe_finalize_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(jump_past_alt)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(succeed_n)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt2)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(,) ident(mcnt2)operator(\);) reserved(break)operator(;) reserved(case) ident(jump_n)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt2)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(,) ident(mcnt2)operator(\);) reserved(break)operator(;) reserved(case) ident(set_number_at)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt2)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(,) ident(mcnt2)operator(\);) reserved(break)operator(;) reserved(case) ident(try_next)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(finalize_push)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(\);) reserved(break)operator(;) reserved(case) ident(finalize_push_n)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt2)operator(,) ident(p)operator(\);) ident(printf)operator(()stringoperator(,) ident(mcnt)operator(,) ident(mcnt2)operator(\);) reserved(break)operator(;) reserved(case) ident(wordbound)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(notwordbound)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(wordbeg)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(wordend)operator(:) ident(printf)operator(()stringoperator(\);) reserved(case) ident(wordchar)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(notwordchar)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(begbuf)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(endbuf)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(endbuf2)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(case) ident(begpos)operator(:) ident(printf)operator(()stringoperator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(printf)operator(()stringoperator(,) operator(*()ident(p)operator(-)integer(1)operator(\)\);) operator(}) operator(}) ident(printf)operator(()stringoperator(\);) operator(}) directive(static) directive(void) ident(print_compiled_pattern)operator(()ident(bufp)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) operator({) pre_type(unsigned) pre_type(char) operator(*)ident(buffer) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(bufp)operator(->)ident(buffer)operator(;) ident(print_partial_compiled_pattern)operator(()ident(buffer)operator(,) ident(buffer) operator(+) ident(bufp)operator(->)ident(used)operator(\);) operator(}) directive(static) pre_type(char)operator(*) ident(calculate_must_string)operator(()ident(start)operator(,) ident(end)operator(\)) pre_type(char) operator(*)ident(start)operator(;) pre_type(char) operator(*)ident(end)operator(;) operator({) pre_type(int) ident(mcnt)operator(;) pre_type(int) ident(max) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(start)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(pend) operator(=) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(end)operator(;) pre_type(char) operator(*)ident(must) operator(=) integer(0)operator(;) reserved(if) operator(()ident(start) operator(==) pre_constant(NULL)operator(\)) reserved(return) integer(0)operator(;) comment(/* Loop over pattern commands. */) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) reserved(switch) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p)operator(++\)) operator({) reserved(case) ident(unused)operator(:) reserved(break)operator(;) reserved(case) ident(exactn)operator(:) ident(mcnt) operator(=) operator(*)ident(p)operator(;) reserved(if) operator(()ident(mcnt) operator(>) ident(max)operator(\)) operator({) ident(must) operator(=) operator(()pre_type(char) operator(*\))ident(p)operator(;) ident(max) operator(=) ident(mcnt)operator(;) operator(}) ident(p) operator(+=) ident(mcnt)operator(+)integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(start_memory)operator(:) reserved(case) ident(stop_memory)operator(:) ident(p) operator(+=) integer(2)operator(;) reserved(break)operator(;) reserved(case) ident(duplicate)operator(:) reserved(case) ident(option_set)operator(:) ident(p)operator(++;) reserved(break)operator(;) reserved(case) ident(casefold_on)operator(:) reserved(case) ident(casefold_off)operator(:) reserved(return) integer(0)operator(;) comment(/* should not check must_string */) reserved(case) ident(pop_and_fail)operator(:) reserved(case) ident(anychar)operator(:) reserved(case) ident(anychar_repeat)operator(:) reserved(case) ident(begline)operator(:) reserved(case) ident(endline)operator(:) reserved(case) ident(wordbound)operator(:) reserved(case) ident(notwordbound)operator(:) reserved(case) ident(wordbeg)operator(:) reserved(case) ident(wordend)operator(:) reserved(case) ident(wordchar)operator(:) reserved(case) ident(notwordchar)operator(:) reserved(case) ident(begbuf)operator(:) reserved(case) ident(endbuf)operator(:) reserved(case) ident(endbuf2)operator(:) reserved(case) ident(begpos)operator(:) reserved(case) ident(push_dummy_failure)operator(:) reserved(case) ident(start_paren)operator(:) reserved(case) ident(stop_paren)operator(:) reserved(break)operator(;) reserved(case) ident(charset)operator(:) reserved(case) ident(charset_not)operator(:) ident(mcnt) operator(=) operator(*)ident(p)operator(++;) ident(p) operator(+=) ident(mcnt)operator(;) ident(mcnt) operator(=) ident(EXTRACT_UNSIGNED_AND_INCR)operator(()ident(p)operator(\);) reserved(while) operator(()ident(mcnt)operator(--\)) operator({) ident(p) operator(+=) integer(8)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(on_failure_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(mcnt) operator(>) integer(0)operator(\)) ident(p) operator(+=) ident(mcnt)operator(;) reserved(if) operator((()reserved(enum) ident(regexpcode)operator(\))ident(p)operator([-)integer(3)operator(]) operator(==) ident(jump)operator(\)) operator({) ident(p) operator(-=) integer(2)operator(;) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(mcnt) operator(>) integer(0)operator(\)) ident(p) operator(+=) ident(mcnt)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(dummy_failure_jump)operator(:) reserved(case) ident(succeed_n)operator(:) reserved(case) ident(try_next)operator(:) reserved(case) ident(jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(mcnt) operator(>) integer(0)operator(\)) ident(p) operator(+=) ident(mcnt)operator(;) reserved(break)operator(;) reserved(case) ident(start_nowidth)operator(:) reserved(case) ident(stop_nowidth)operator(:) reserved(case) ident(stop_backtrack)operator(:) reserved(case) ident(finalize_jump)operator(:) reserved(case) ident(maybe_finalize_jump)operator(:) reserved(case) ident(finalize_push)operator(:) ident(p) operator(+=) integer(2)operator(;) reserved(break)operator(;) reserved(case) ident(jump_n)operator(:) reserved(case) ident(set_number_at)operator(:) reserved(case) ident(finalize_push_n)operator(:) ident(p) operator(+=) integer(4)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) reserved(return) ident(must)operator(;) operator(}) directive(static) pre_type(unsigned) pre_type(int) ident(read_backslash)operator(()ident(c)operator(\)) pre_type(int) ident(c)operator(;) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('n')operator(:) reserved(return) char('\\n')operator(;) reserved(case) char('t')operator(:) reserved(return) char('\\t')operator(;) reserved(case) char('r')operator(:) reserved(return) char('\\r')operator(;) reserved(case) char('f')operator(:) reserved(return) char('\\f')operator(;) reserved(case) char('v')operator(:) reserved(return) char('\\v')operator(;) reserved(case) char('a')operator(:) reserved(return) char('\\007')operator(;) reserved(case) char('b')operator(:) reserved(return) char('\\010')operator(;) reserved(case) char('e')operator(:) reserved(return) char('\\033')operator(;) operator(}) reserved(return) ident(c)operator(;) operator(}) directive(static) pre_type(unsigned) pre_type(int) ident(read_special)operator(()ident(p)operator(,) ident(pend)operator(,) ident(pp)operator(\)) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(,) operator(**)ident(pp)operator(;) operator({) pre_type(int) ident(c)operator(;) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('M')operator(:) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(!=) char('-')operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) operator(*)ident(pp) operator(=) ident(p)operator(;) reserved(if) operator(()ident(c) operator(==) char('\\\\')operator(\)) operator({) reserved(return) ident(read_special)operator((--)ident(p)operator(,) ident(pend)operator(,) ident(pp)operator(\)) operator(|) hex(0x80)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(return) operator(~)integer(0)operator(;) reserved(else) operator({) reserved(return) operator((()ident(c) operator(&) hex(0xff)operator(\)) operator(|) hex(0x80)operator(\);) operator(}) reserved(case) char('C')operator(:) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(!=) char('-')operator(\)) reserved(return) operator(~)integer(0)operator(;) reserved(case) char('c')operator(:) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) operator(*)ident(pp) operator(=) ident(p)operator(;) reserved(if) operator(()ident(c) operator(==) char('\\\\')operator(\)) operator({) ident(c) operator(=) ident(read_special)operator((--)ident(p)operator(,) ident(pend)operator(,) ident(pp)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('?')operator(\)) reserved(return) oct(0177)operator(;) reserved(else) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) reserved(return) operator(~)integer(0)operator(;) reserved(return) ident(c) operator(&) hex(0x9f)operator(;) reserved(default)operator(:) operator(*)ident(pp) operator(=) ident(p) operator(+) integer(1)operator(;) reserved(return) ident(read_backslash)operator(()ident(c)operator(\);) operator(}) label(end_of_pattern:) reserved(return) operator(~)integer(0)operator(;) operator(}) comment(/* re_compile_pattern takes a regular-expression string and converts it into a buffer full of byte commands for matching. PATTERN is the address of the pattern string SIZE is the length of it. BUFP is a struct re_pattern_buffer * which points to the info on where to store the byte commands. This structure contains a char * which points to the actual space, which should have been obtained with malloc. re_compile_pattern may use realloc to grow the buffer space. The number of bytes of commands can be found out by looking in the `struct re_pattern_buffer' that bufp pointed to, after re_compile_pattern returns. */) pre_type(char) operator(*) ident(re_compile_pattern)operator(()ident(pattern)operator(,) ident(size)operator(,) ident(bufp)operator(\)) directive(const) pre_type(char) operator(*)ident(pattern)operator(;) pre_type(int) ident(size)operator(;) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(b) operator(=) ident(bufp)operator(->)ident(buffer)operator(;) directive(register) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(pattern)operator(;) directive(const) pre_type(char) operator(*)ident(nextp)operator(;) directive(const) pre_type(char) operator(*)ident(pend) operator(=) ident(pattern) operator(+) ident(size)operator(;) directive(register) pre_type(unsigned) pre_type(int) ident(c)operator(,) ident(c1) operator(=) integer(0)operator(;) directive(const) pre_type(char) operator(*)ident(p0)operator(;) pre_type(int) ident(numlen)operator(;) preprocessor(#define) ident(ERROR_MSG_MAX_SIZE) integer(200) directive(static) pre_type(char) ident(error_msg)operator([)ident(ERROR_MSG_MAX_SIZE)operator(+)integer(1)operator(];) comment(/* Address of the count-byte of the most recently inserted `exactn' command. This makes it possible to tell whether a new exact-match character can be added to that command or requires a new `exactn' command. */) pre_type(char) operator(*)ident(pending_exact) operator(=) integer(0)operator(;) comment(/* Address of the place where a forward-jump should go to the end of the containing expression. Each alternative of an `or', except the last, ends with a forward-jump of this sort. */) pre_type(char) operator(*)ident(fixup_alt_jump) operator(=) integer(0)operator(;) comment(/* Address of start of the most recently finished expression. This tells postfix * where to find the start of its operand. */) pre_type(char) operator(*)ident(laststart) operator(=) integer(0)operator(;) comment(/* In processing a repeat, 1 means zero matches is allowed. */) pre_type(char) ident(zero_times_ok)operator(;) comment(/* In processing a repeat, 1 means many matches is allowed. */) pre_type(char) ident(many_times_ok)operator(;) comment(/* In processing a repeat, 1 means non-greedy matches. */) pre_type(char) ident(greedy)operator(;) comment(/* Address of beginning of regexp, or inside of last (. */) pre_type(char) operator(*)ident(begalt) operator(=) ident(b)operator(;) comment(/* Place in the uncompiled pattern (i.e., the {\) to which to go back if the interval is invalid. */) directive(const) pre_type(char) operator(*)ident(beg_interval)operator(;) comment(/* In processing an interval, at least this many matches must be made. */) pre_type(int) ident(lower_bound)operator(;) comment(/* In processing an interval, at most this many matches can be made. */) pre_type(int) ident(upper_bound)operator(;) comment(/* Stack of information saved by ( and restored by \). Five stack elements are pushed by each (: First, the value of b. Second, the value of fixup_alt_jump. Third, the value of begalt. Fourth, the value of regnum. Fifth, the type of the paren. */) pre_type(int) ident(stacka)operator([)integer(40)operator(];) pre_type(int) operator(*)ident(stackb) operator(=) ident(stacka)operator(;) pre_type(int) operator(*)ident(stackp) operator(=) ident(stackb)operator(;) pre_type(int) operator(*)ident(stacke) operator(=) ident(stackb) operator(+) integer(40)operator(;) comment(/* Counts ('s as they are encountered. Remembered for the matching \), where it becomes the register number to put in the stop_memory command. */) pre_type(int) ident(regnum) operator(=) integer(1)operator(;) pre_type(int) ident(range) operator(=) integer(0)operator(;) pre_type(int) ident(had_mbchar) operator(=) integer(0)operator(;) pre_type(int) ident(had_num_literal) operator(=) integer(0)operator(;) pre_type(int) ident(had_char_class) operator(=) integer(0)operator(;) pre_type(int) ident(options) operator(=) ident(bufp)operator(->)ident(options)operator(;) ident(bufp)operator(->)ident(fastmap_accurate) operator(=) integer(0)operator(;) ident(bufp)operator(->)ident(must) operator(=) integer(0)operator(;) ident(bufp)operator(->)ident(must_skip) operator(=) integer(0)operator(;) comment(/* Initialize the syntax table. */) ident(init_syntax_once)operator((\);) reserved(if) operator(()ident(bufp)operator(->)ident(allocated) operator(==) integer(0)operator(\)) operator({) ident(bufp)operator(->)ident(allocated) operator(=) ident(INIT_BUF_SIZE)operator(;) comment(/* EXTEND_BUFFER loses when bufp->allocated is 0. */) ident(bufp)operator(->)ident(buffer) operator(=) operator(()pre_type(char)operator(*\))ident(xrealloc)operator(()ident(bufp)operator(->)ident(buffer)operator(,) ident(INIT_BUF_SIZE)operator(\);) reserved(if) operator((!)ident(bufp)operator(->)ident(buffer)operator(\)) reserved(goto) ident(memory_exhausted)operator(;) comment(/* this not happen */) ident(begalt) operator(=) ident(b) operator(=) ident(bufp)operator(->)ident(buffer)operator(;) operator(}) reserved(while) operator(()ident(p) operator(!=) ident(pend)operator(\)) operator({) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('$')operator(:) reserved(if) operator(()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTION_SINGLELINE)operator(\)) operator({) ident(BUFPUSH)operator(()ident(endbuf)operator(\);) operator(}) reserved(else) operator({) ident(p0) operator(=) ident(p)operator(;) comment(/* When testing what follows the $, look past the \\-constructs that don't consume anything. */) reserved(while) operator(()ident(p0) operator(!=) ident(pend)operator(\)) operator({) reserved(if) operator((*)ident(p0) operator(==) char('\\\\') operator(&&) ident(p0) operator(+) integer(1) operator(!=) ident(pend) operator(&&) operator(()ident(p0)operator([)integer(1)operator(]) operator(==) char('b') operator(||) ident(p0)operator([)integer(1)operator(]) operator(==) char('B')operator(\)\)) ident(p0) operator(+=) integer(2)operator(;) reserved(else) reserved(break)operator(;) operator(}) ident(BUFPUSH)operator(()ident(endline)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('^')operator(:) reserved(if) operator(()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTION_SINGLELINE)operator(\)) ident(BUFPUSH)operator(()ident(begbuf)operator(\);) reserved(else) ident(BUFPUSH)operator(()ident(begline)operator(\);) reserved(break)operator(;) reserved(case) char('+')operator(:) reserved(case) char('?')operator(:) reserved(case) char('*')operator(:) comment(/* If there is no previous pattern, char not special. */) reserved(if) operator((!)ident(laststart)operator(\)) operator({) ident(snprintf)operator(()ident(error_msg)operator(,) ident(ERROR_MSG_MAX_SIZE)operator(,) stringoperator(,) ident(c)operator(,) ident(p)operator(-)ident(pattern)operator(\);) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) ident(error_msg)operator(\);) operator(}) comment(/* If there is a sequence of repetition chars, collapse it down to just one. */) ident(zero_times_ok) operator(=) ident(c) operator(!=) char('+')operator(;) ident(many_times_ok) operator(=) ident(c) operator(!=) char('?')operator(;) ident(greedy) operator(=) integer(1)operator(;) reserved(if) operator(()ident(p) operator(!=) ident(pend)operator(\)) operator({) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('?')operator(:) ident(greedy) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(case) char('*')operator(:) reserved(case) char('+')operator(:) reserved(goto) ident(nested_meta)operator(;) reserved(default)operator(:) ident(PATUNFETCH)operator(;) reserved(break)operator(;) operator(}) operator(}) label(repeat:) comment(/* Star, etc. applied to an empty pattern is equivalent to an empty pattern. */) reserved(if) operator((!)ident(laststart)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(greedy) operator(&&) ident(many_times_ok) operator(&&) operator(*)ident(laststart) operator(==) ident(anychar) operator(&&) ident(b) operator(-) ident(laststart) operator(<=) integer(2)operator(\)) operator({) reserved(if) operator(()ident(b)operator([-)integer(1)operator(]) operator(==) ident(stop_paren)operator(\)) ident(b)operator(--;) reserved(if) operator(()ident(zero_times_ok)operator(\)) operator(*)ident(laststart) operator(=) ident(anychar_repeat)operator(;) reserved(else) operator({) ident(BUFPUSH)operator(()ident(anychar_repeat)operator(\);) operator(}) reserved(break)operator(;) operator(}) comment(/* Now we know whether or not zero matches is allowed and also whether or not two or more matches is allowed. */) reserved(if) operator(()ident(many_times_ok)operator(\)) operator({) comment(/* If more than one repetition is allowed, put in at the end a backward relative jump from b to before the next jump we're going to put in below (which jumps from laststart to after this jump\). */) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(store_jump)operator(()ident(b)operator(,)ident(greedy)operator(?)ident(maybe_finalize_jump)operator(:)ident(finalize_push)operator(,)ident(laststart)operator(-)integer(3)operator(\);) ident(b) operator(+=) integer(3)operator(;) comment(/* Because store_jump put stuff here. */) operator(}) comment(/* On failure, jump from laststart to next pattern, which will be the end of the buffer after this jump is inserted. */) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(insert_jump)operator(()ident(on_failure_jump)operator(,) ident(laststart)operator(,) ident(b) operator(+) integer(3)operator(,) ident(b)operator(\);) ident(b) operator(+=) integer(3)operator(;) reserved(if) operator(()ident(zero_times_ok)operator(\)) operator({) reserved(if) operator(()ident(greedy) operator(==) integer(0)operator(\)) operator({) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(insert_jump)operator(()ident(try_next)operator(,) ident(laststart)operator(,) ident(b) operator(+) integer(3)operator(,) ident(b)operator(\);) ident(b) operator(+=) integer(3)operator(;) operator(}) operator(}) reserved(else) operator({) comment(/* At least one repetition is required, so insert a `dummy_failure_jump' before the initial `on_failure_jump' instruction of the loop. This effects a skip over that instruction the first time we hit that loop. */) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(insert_jump)operator(()ident(dummy_failure_jump)operator(,) ident(laststart)operator(,) ident(laststart) operator(+) integer(6)operator(,) ident(b)operator(\);) ident(b) operator(+=) integer(3)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('.')operator(:) ident(laststart) operator(=) ident(b)operator(;) ident(BUFPUSH)operator(()ident(anychar)operator(\);) reserved(break)operator(;) reserved(case) char('[')operator(:) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) reserved(while) operator((()ident(b) operator(-) ident(bufp)operator(->)ident(buffer) operator(+) integer(9) operator(+) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(\)) operator(>) ident(bufp)operator(->)ident(allocated)operator(\)) ident(EXTEND_BUFFER)operator(;) ident(laststart) operator(=) ident(b)operator(;) reserved(if) operator((*)ident(p) operator(==) char('^')operator(\)) operator({) ident(BUFPUSH)operator(()ident(charset_not)operator(\);) ident(p)operator(++;) operator(}) reserved(else) ident(BUFPUSH)operator(()ident(charset)operator(\);) ident(p0) operator(=) ident(p)operator(;) ident(BUFPUSH)operator((()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(\);) comment(/* Clear the whole map */) ident(memset)operator(()ident(b)operator(,) integer(0)operator(,) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH) operator(+) integer(2)operator(\);) ident(had_mbchar) operator(=) integer(0)operator(;) ident(had_num_literal) operator(=) integer(0)operator(;) ident(had_char_class) operator(=) integer(0)operator(;) comment(/* Read in characters and ranges, setting map bits. */) reserved(for) operator((;;\)) operator({) pre_type(int) ident(size)operator(;) pre_type(unsigned) ident(last) operator(=) operator(()pre_type(unsigned)operator(\)-)integer(1)operator(;) reserved(if) operator((()ident(size) operator(=) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(]\)\)) operator(||) ident(current_mbctype)operator(\)) operator({) comment(/* Ensure the space is enough to hold another interval of multi-byte chars in charset(_not\)?. */) ident(size) operator(=) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH) operator(+) integer(2) operator(+) ident(size)operator(*)integer(8) operator(+) integer(8)operator(;) reserved(while) operator(()ident(b) operator(+) ident(size) operator(+) integer(1) operator(>) ident(bufp)operator(->)ident(buffer) operator(+) ident(bufp)operator(->)ident(allocated)operator(\)) ident(EXTEND_BUFFER)operator(;) operator(}) label(range_retry:) reserved(if) operator(()ident(range) operator(&&) ident(had_char_class)operator(\)) operator({) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) operator(}) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(==) char(']')operator(\)) operator({) reserved(if) operator(()ident(p) operator(==) ident(p0) operator(+) integer(1)operator(\)) operator({) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) ident(re_warning)operator(()stringoperator(\);) operator(}) reserved(else) comment(/* Stop if this isn't merely a ] inside a bracket expression, but rather the end of a bracket expression. */) reserved(break)operator(;) operator(}) comment(/* Look ahead to see if it's a range when the last thing was a character class. */) reserved(if) operator(()ident(had_char_class) operator(&&) ident(c) operator(==) char('-') operator(&&) operator(*)ident(p) operator(!=) char(']')operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) ident(PATFETCH_MBC)operator(()ident(c)operator(\);) ident(had_mbchar)operator(++;) operator(}) ident(had_char_class) operator(=) integer(0)operator(;) reserved(if) operator(()ident(c) operator(==) char('-') operator(&&) operator((()ident(p) operator(!=) ident(p0) operator(+) integer(1) operator(&&) operator(*)ident(p) operator(!=) char(']')operator(\)) operator(||) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('-') operator(&&) ident(p)operator([)integer(1)operator(]) operator(!=) char(']')operator(\)) operator(||) ident(range)operator(\)\)) ident(re_warning)operator(()stringoperator(\);) reserved(if) operator(()ident(c) operator(==) char('[') operator(&&) operator(*)ident(p) operator(!=) char(':')operator(\)) ident(re_warning)operator(()stringoperator(\);) comment(/* \\ escapes characters when inside [...]. */) reserved(if) operator(()ident(c) operator(==) char('\\\\')operator(\)) operator({) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('w')operator(:) reserved(for) operator(()ident(c) operator(=) integer(0)operator(;) ident(c) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(c)operator(++\)) operator({) reserved(if) operator(()ident(SYNTAX)operator(()ident(c)operator(\)) operator(==) ident(Sword) operator(||) operator((!)ident(current_mbctype) operator(&&) ident(SYNTAX)operator(()ident(c)operator(\)) operator(==) ident(Sword2)operator(\)\)) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) operator(}) reserved(if) operator(()ident(current_mbctype)operator(\)) operator({) ident(set_list_bits)operator(()hex(0x80)operator(,) hex(0xffffffff)operator(,) ident(b)operator(\);) operator(}) ident(had_char_class) operator(=) integer(1)operator(;) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('W')operator(:) reserved(for) operator(()ident(c) operator(=) integer(0)operator(;) ident(c) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(c)operator(++\)) operator({) reserved(if) operator(()ident(SYNTAX)operator(()ident(c)operator(\)) operator(!=) ident(Sword) operator(&&) operator((()ident(current_mbctype) operator(&&) operator(!)ident(re_mbctab)operator([)ident(c)operator(]\)) operator(||) operator((!)ident(current_mbctype) operator(&&) ident(SYNTAX)operator(()ident(c)operator(\)) operator(!=) ident(Sword2)operator(\)\)\)) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) operator(}) ident(had_char_class) operator(=) integer(1)operator(;) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('s')operator(:) reserved(for) operator(()ident(c) operator(=) integer(0)operator(;) ident(c) operator(<) integer(256)operator(;) ident(c)operator(++\)) reserved(if) operator(()ident(ISSPACE)operator(()ident(c)operator(\)\)) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) ident(had_char_class) operator(=) integer(1)operator(;) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('S')operator(:) reserved(for) operator(()ident(c) operator(=) integer(0)operator(;) ident(c) operator(<) integer(256)operator(;) ident(c)operator(++\)) reserved(if) operator((!)ident(ISSPACE)operator(()ident(c)operator(\)\)) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) reserved(if) operator(()ident(current_mbctype)operator(\)) ident(set_list_bits)operator(()hex(0x80)operator(,) hex(0xffffffff)operator(,) ident(b)operator(\);) ident(had_char_class) operator(=) integer(1)operator(;) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('d')operator(:) reserved(for) operator(()ident(c) operator(=) char('0')operator(;) ident(c) operator(<=) char('9')operator(;) ident(c)operator(++\)) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) ident(had_char_class) operator(=) integer(1)operator(;) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('D')operator(:) reserved(for) operator(()ident(c) operator(=) integer(0)operator(;) ident(c) operator(<) integer(256)operator(;) ident(c)operator(++\)) reserved(if) operator((!)ident(ISDIGIT)operator(()ident(c)operator(\)\)) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) reserved(if) operator(()ident(current_mbctype)operator(\)) ident(set_list_bits)operator(()hex(0x80)operator(,) hex(0xffffffff)operator(,) ident(b)operator(\);) ident(had_char_class) operator(=) integer(1)operator(;) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) reserved(case) char('x')operator(:) ident(c) operator(=) ident(scan_hex)operator(()ident(p)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) reserved(goto) ident(invalid_escape)operator(;) ident(p) operator(+=) ident(numlen)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) char('0')operator(:) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) ident(PATUNFETCH)operator(;) ident(c) operator(=) ident(scan_oct)operator(()ident(p)operator(,) integer(3)operator(,) operator(&)ident(numlen)operator(\);) ident(p) operator(+=) ident(numlen)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) char('M')operator(:) reserved(case) char('C')operator(:) reserved(case) char('c')operator(:) operator({) directive(const) pre_type(char) operator(*)ident(pp)operator(;) operator(--)ident(p)operator(;) ident(c) operator(=) ident(read_special)operator(()ident(p)operator(,) ident(pend)operator(,) operator(&)ident(pp)operator(\);) reserved(if) operator(()ident(c) operator(>) integer(255)operator(\)) reserved(goto) ident(invalid_escape)operator(;) ident(p) operator(=) ident(pp)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(default)operator(:) ident(c) operator(=) ident(read_backslash)operator(()ident(c)operator(\);) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) ident(PATFETCH_MBC)operator(()ident(c)operator(\);) ident(had_mbchar)operator(++;) operator(}) reserved(break)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('[') operator(&&) operator(*)ident(p) operator(==) char(':')operator(\)) operator({) comment(/* [:...:] */) comment(/* Leave room for the null. */) pre_type(char) ident(str)operator([)ident(CHAR_CLASS_MAX_LENGTH) operator(+) integer(1)operator(];) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) ident(c1) operator(=) integer(0)operator(;) comment(/* If pattern is `[[:'. */) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) reserved(for) operator((;;\)) operator({) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(==) char(':') operator(||) ident(c) operator(==) char(']') operator(||) ident(p) operator(==) ident(pend) operator(||) ident(c1) operator(==) ident(CHAR_CLASS_MAX_LENGTH)operator(\)) reserved(break)operator(;) ident(str)operator([)ident(c1)operator(++]) operator(=) ident(c)operator(;) operator(}) ident(str)operator([)ident(c1)operator(]) operator(=) char('\\0')operator(;) comment(/* If isn't a word bracketed by `[:' and `:]': undo the ending character, the letters, and the leading `:' and `['. */) reserved(if) operator(()ident(c) operator(==) char(':') operator(&&) operator(*)ident(p) operator(==) char(']')operator(\)) operator({) pre_type(int) ident(ch)operator(;) pre_type(char) ident(is_alnum) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_alpha) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_blank) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_cntrl) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_digit) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_graph) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_lower) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_print) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_punct) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_space) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_upper) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) pre_type(char) ident(is_xdigit) operator(=) ident(STREQ)operator(()ident(str)operator(,) stringoperator(\);) reserved(if) operator((!)ident(IS_CHAR_CLASS)operator(()ident(str)operator(\)\){) ident(snprintf)operator(()ident(error_msg)operator(,) ident(ERROR_MSG_MAX_SIZE)operator(,) stringoperator(,) ident(str)operator(\);) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) ident(error_msg)operator(\);) operator(}) comment(/* Throw away the ] at the end of the character class. */) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) reserved(for) operator(()ident(ch) operator(=) integer(0)operator(;) ident(ch) operator(<) integer(1) operator(<<) ident(BYTEWIDTH)operator(;) ident(ch)operator(++\)) operator({) reserved(if) operator(() operator(()ident(is_alnum) operator(&&) ident(ISALNUM)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_alpha) operator(&&) ident(ISALPHA)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_blank) operator(&&) ident(ISBLANK)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_cntrl) operator(&&) ident(ISCNTRL)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_digit) operator(&&) ident(ISDIGIT)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_graph) operator(&&) ident(ISGRAPH)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_lower) operator(&&) ident(ISLOWER)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_print) operator(&&) ident(ISPRINT)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_punct) operator(&&) ident(ISPUNCT)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_space) operator(&&) ident(ISSPACE)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_upper) operator(&&) ident(ISUPPER)operator(()ident(ch)operator(\)\)) operator(||) operator(()ident(is_xdigit) operator(&&) ident(ISXDIGIT)operator(()ident(ch)operator(\)\)\)) ident(SET_LIST_BIT)operator(()ident(ch)operator(\);) operator(}) ident(had_char_class) operator(=) integer(1)operator(;) reserved(continue)operator(;) operator(}) reserved(else) operator({) ident(c1) operator(+=) integer(2)operator(;) reserved(while) operator(()ident(c1)operator(--\)) ident(PATUNFETCH)operator(;) ident(re_warning)operator(()stringoperator(\);) ident(c) operator(=) char('[')operator(;) operator(}) operator(}) comment(/* Get a range. */) reserved(if) operator(()ident(range)operator(\)) operator({) reserved(if) operator(()ident(last) operator(>) ident(c)operator(\)) reserved(goto) ident(invalid_pattern)operator(;) ident(range) operator(=) integer(0)operator(;) reserved(if) operator(()ident(had_mbchar) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) operator({) reserved(for) operator((;)ident(last)operator(<=)ident(c)operator(;)ident(last)operator(++\)) ident(SET_LIST_BIT)operator(()ident(translate)operator([)ident(last)operator(]\);) operator(}) reserved(else) operator({) reserved(for) operator((;)ident(last)operator(<=)ident(c)operator(;)ident(last)operator(++\)) ident(SET_LIST_BIT)operator(()ident(last)operator(\);) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(had_mbchar) operator(==) integer(2)operator(\)) operator({) ident(set_list_bits)operator(()ident(last)operator(,) ident(c)operator(,) ident(b)operator(\);) operator(}) reserved(else) operator({) comment(/* restriction: range between sbc and mbc */) reserved(goto) ident(invalid_pattern)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char('-') operator(&&) ident(p)operator([)integer(1)operator(]) operator(!=) char(']')operator(\)) operator({) ident(last) operator(=) ident(c)operator(;) ident(PATFETCH_RAW)operator(()ident(c1)operator(\);) ident(range) operator(=) integer(1)operator(;) reserved(goto) ident(range_retry)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(TRANSLATE_P)operator((\)) operator(&&) ident(c) operator(<) hex(0x100)operator(\)) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(translate)operator([)ident(c)operator(];) reserved(if) operator(()ident(had_mbchar) operator(==) integer(0) operator(&&) operator((!)ident(current_mbctype) operator(||) operator(!)ident(had_num_literal)operator(\)\)) operator({) ident(SET_LIST_BIT)operator(()ident(c)operator(\);) ident(had_num_literal) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(set_list_bits)operator(()ident(c)operator(,) ident(c)operator(,) ident(b)operator(\);) operator(}) operator(}) ident(had_mbchar) operator(=) integer(0)operator(;) operator(}) comment(/* Discard any character set/class bitmap bytes that are all 0 at the end of the map. Decrement the map-length byte too. */) reserved(while) operator((()pre_type(int)operator(\))ident(b)operator([-)integer(1)operator(]) operator(>) integer(0) operator(&&) ident(b)operator([)ident(b)operator([-)integer(1)operator(]) operator(-) integer(1)operator(]) operator(==) integer(0)operator(\)) ident(b)operator([-)integer(1)operator(]--;) reserved(if) operator(()ident(b)operator([-)integer(1)operator(]) operator(!=) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(\)) ident(memmove)operator((&)ident(b)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(b)operator([-)integer(1)operator(]],) operator(&)ident(b)operator([()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(],) integer(2) operator(+) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(]\)*)integer(8)operator(\);) ident(b) operator(+=) ident(b)operator([-)integer(1)operator(]) operator(+) integer(2) operator(+) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(b)operator([-)integer(1)operator(]]\)*)integer(8)operator(;) ident(had_num_literal) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(case) char('(')operator(:) operator({) pre_type(int) ident(old_options) operator(=) ident(options)operator(;) pre_type(int) ident(push_option) operator(=) integer(0)operator(;) pre_type(int) ident(casefold) operator(=) integer(0)operator(;) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(==) char('?')operator(\)) operator({) pre_type(int) ident(negative) operator(=) integer(0)operator(;) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('x')operator(:) reserved(case) char('m')operator(:) reserved(case) char('i')operator(:) reserved(case) char('-')operator(:) reserved(for) operator((;;\)) operator({) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('-')operator(:) ident(negative) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) char(':')operator(:) reserved(case) char('\)')operator(:) reserved(break)operator(;) reserved(case) char('x')operator(:) reserved(if) operator(()ident(negative)operator(\)) ident(options) operator(&=) operator(~)ident(RE_OPTION_EXTENDED)operator(;) reserved(else) ident(options) operator(|=) ident(RE_OPTION_EXTENDED)operator(;) reserved(break)operator(;) reserved(case) char('m')operator(:) reserved(if) operator(()ident(negative)operator(\)) operator({) reserved(if) operator(()ident(options)operator(&)ident(RE_OPTION_MULTILINE)operator(\)) operator({) ident(options) operator(&=) operator(~)ident(RE_OPTION_MULTILINE)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!()ident(options)operator(&)ident(RE_OPTION_MULTILINE)operator(\)\)) operator({) ident(options) operator(|=) ident(RE_OPTION_MULTILINE)operator(;) operator(}) ident(push_option) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) char('i')operator(:) reserved(if) operator(()ident(negative)operator(\)) operator({) reserved(if) operator(()ident(options)operator(&)ident(RE_OPTION_IGNORECASE)operator(\)) operator({) ident(options) operator(&=) operator(~)ident(RE_OPTION_IGNORECASE)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!()ident(options)operator(&)ident(RE_OPTION_IGNORECASE)operator(\)\)) operator({) ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) operator(}) ident(casefold) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(c) operator(==) char('\)')operator(\)) operator({) ident(c) operator(=) char('#')operator(;) comment(/* read whole in-line options */) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char(':')operator(\)) reserved(break)operator(;) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('#')operator(:) reserved(for) operator((;;\)) operator({) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(==) char('\)')operator(\)) reserved(break)operator(;) operator(}) ident(c) operator(=) char('#')operator(;) reserved(break)operator(;) reserved(case) char(':')operator(:) reserved(case) char('=')operator(:) reserved(case) char('!')operator(:) reserved(case) char('>')operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) operator(}) operator(}) reserved(else) operator({) ident(PATUNFETCH)operator(;) ident(c) operator(=) char('(')operator(;) operator(}) reserved(if) operator(()ident(c) operator(==) char('#')operator(\)) operator({) reserved(if) operator(()ident(push_option)operator(\)) operator({) ident(BUFPUSH)operator(()ident(option_set)operator(\);) ident(BUFPUSH)operator(()ident(options)operator(\);) operator(}) reserved(if) operator(()ident(casefold)operator(\)) operator({) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) ident(BUFPUSH)operator(()ident(casefold_on)operator(\);) reserved(else) ident(BUFPUSH)operator(()ident(casefold_off)operator(\);) operator(}) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(stackp)operator(+)integer(8) operator(>=) ident(stacke)operator(\)) operator({) ident(DOUBLE_STACK)operator(()pre_type(int)operator(\);) operator(}) comment(/* Laststart should point to the start_memory that we are about to push (unless the pattern has RE_NREGS or more ('s\). */) comment(/* obsolete: now RE_NREGS is just a default register size. */) operator(*)ident(stackp)operator(++) operator(=) ident(b) operator(-) ident(bufp)operator(->)ident(buffer)operator(;) operator(*)ident(stackp)operator(++) operator(=) ident(fixup_alt_jump) operator(?) ident(fixup_alt_jump) operator(-) ident(bufp)operator(->)ident(buffer) operator(+) integer(1) operator(:) integer(0)operator(;) operator(*)ident(stackp)operator(++) operator(=) ident(begalt) operator(-) ident(bufp)operator(->)ident(buffer)operator(;) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('(')operator(:) ident(BUFPUSH)operator(()ident(start_memory)operator(\);) ident(BUFPUSH)operator(()ident(regnum)operator(\);) operator(*)ident(stackp)operator(++) operator(=) ident(regnum)operator(++;) operator(*)ident(stackp)operator(++) operator(=) ident(b) operator(-) ident(bufp)operator(->)ident(buffer)operator(;) ident(BUFPUSH)operator(()integer(0)operator(\);) comment(/* too many (\)'s to fit in a byte. (max 254\) */) reserved(if) operator(()ident(regnum) operator(>=) ident(RE_REG_MAX)operator(\)) reserved(goto) ident(too_big)operator(;) reserved(break)operator(;) reserved(case) char('=')operator(:) reserved(case) char('!')operator(:) reserved(case) char('>')operator(:) ident(BUFPUSH)operator(()ident(start_nowidth)operator(\);) operator(*)ident(stackp)operator(++) operator(=) ident(b) operator(-) ident(bufp)operator(->)ident(buffer)operator(;) ident(BUFPUSH)operator(()integer(0)operator(\);) comment(/* temporary value */) ident(BUFPUSH)operator(()integer(0)operator(\);) reserved(if) operator(()ident(c) operator(!=) char('!')operator(\)) reserved(break)operator(;) ident(BUFPUSH)operator(()ident(on_failure_jump)operator(\);) operator(*)ident(stackp)operator(++) operator(=) ident(b) operator(-) ident(bufp)operator(->)ident(buffer)operator(;) ident(BUFPUSH)operator(()integer(0)operator(\);) comment(/* temporary value */) ident(BUFPUSH)operator(()integer(0)operator(\);) reserved(break)operator(;) reserved(case) char(':')operator(:) ident(BUFPUSH)operator(()ident(start_paren)operator(\);) ident(pending_exact) operator(=) integer(0)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(push_option)operator(\)) operator({) ident(BUFPUSH)operator(()ident(option_set)operator(\);) ident(BUFPUSH)operator(()ident(options)operator(\);) operator(}) reserved(if) operator(()ident(casefold)operator(\)) operator({) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) ident(BUFPUSH)operator(()ident(casefold_on)operator(\);) reserved(else) ident(BUFPUSH)operator(()ident(casefold_off)operator(\);) operator(}) operator(*)ident(stackp)operator(++) operator(=) ident(c)operator(;) operator(*)ident(stackp)operator(++) operator(=) ident(old_options)operator(;) ident(fixup_alt_jump) operator(=) integer(0)operator(;) ident(laststart) operator(=) integer(0)operator(;) ident(begalt) operator(=) ident(b)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('\)')operator(:) reserved(if) operator(()ident(stackp) operator(==) ident(stackb)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) ident(pending_exact) operator(=) integer(0)operator(;) reserved(if) operator(()ident(fixup_alt_jump)operator(\)) operator({) comment(/* Push a dummy failure point at the end of the alternative for a possible future `finalize_jump' to pop. See comments at `push_dummy_failure' in `re_match'. */) ident(BUFPUSH)operator(()ident(push_dummy_failure)operator(\);) comment(/* We allocated space for this jump when we assigned to `fixup_alt_jump', in the `handle_alt' case below. */) ident(store_jump)operator(()ident(fixup_alt_jump)operator(,) ident(jump)operator(,) ident(b)operator(\);) operator(}) reserved(if) operator(()ident(options) operator(!=) ident(stackp)operator([-)integer(1)operator(]\)) operator({) reserved(if) operator((()ident(options) operator(^) ident(stackp)operator([-)integer(1)operator(]\)) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) operator({) ident(BUFPUSH)operator((()ident(options)operator(&)ident(RE_OPTION_IGNORECASE)operator(\)?)ident(casefold_off)operator(:)ident(casefold_on)operator(\);) operator(}) reserved(if) operator((()ident(options) operator(^) ident(stackp)operator([-)integer(1)operator(]\)) operator(!=) ident(RE_OPTION_IGNORECASE)operator(\)) operator({) ident(BUFPUSH)operator(()ident(option_set)operator(\);) ident(BUFPUSH)operator(()ident(stackp)operator([-)integer(1)operator(]\);) operator(}) operator(}) ident(p0) operator(=) ident(b)operator(;) ident(options) operator(=) operator(*--)ident(stackp)operator(;) reserved(switch) operator(()ident(c) operator(=) operator(*--)ident(stackp)operator(\)) operator({) reserved(case) char('(')operator(:) operator({) pre_type(char) operator(*)ident(loc) operator(=) ident(bufp)operator(->)ident(buffer) operator(+) operator(*--)ident(stackp)operator(;) operator(*)ident(loc) operator(=) ident(regnum) operator(-) ident(stackp)operator([-)integer(1)operator(];) ident(BUFPUSH)operator(()ident(stop_memory)operator(\);) ident(BUFPUSH)operator(()ident(stackp)operator([-)integer(1)operator(]\);) ident(BUFPUSH)operator(()ident(regnum) operator(-) ident(stackp)operator([-)integer(1)operator(]\);) ident(stackp)operator(--;) operator(}) reserved(break)operator(;) reserved(case) char('!')operator(:) ident(BUFPUSH)operator(()ident(pop_and_fail)operator(\);) comment(/* back patch */) ident(STORE_NUMBER)operator(()ident(bufp)operator(->)ident(buffer)operator(+)ident(stackp)operator([-)integer(1)operator(],) ident(b) operator(-) ident(bufp)operator(->)ident(buffer) operator(-) ident(stackp)operator([-)integer(1)operator(]) operator(-) integer(2)operator(\);) ident(stackp)operator(--;) comment(/* fall through */) reserved(case) char('=')operator(:) ident(BUFPUSH)operator(()ident(stop_nowidth)operator(\);) comment(/* tell stack-pos place to start_nowidth */) ident(STORE_NUMBER)operator(()ident(bufp)operator(->)ident(buffer)operator(+)ident(stackp)operator([-)integer(1)operator(],) ident(b) operator(-) ident(bufp)operator(->)ident(buffer) operator(-) ident(stackp)operator([-)integer(1)operator(]) operator(-) integer(2)operator(\);) ident(BUFPUSH)operator(()integer(0)operator(\);) comment(/* space to hold stack pos */) ident(BUFPUSH)operator(()integer(0)operator(\);) ident(stackp)operator(--;) reserved(break)operator(;) reserved(case) char('>')operator(:) ident(BUFPUSH)operator(()ident(stop_backtrack)operator(\);) comment(/* tell stack-pos place to start_nowidth */) ident(STORE_NUMBER)operator(()ident(bufp)operator(->)ident(buffer)operator(+)ident(stackp)operator([-)integer(1)operator(],) ident(b) operator(-) ident(bufp)operator(->)ident(buffer) operator(-) ident(stackp)operator([-)integer(1)operator(]) operator(-) integer(2)operator(\);) ident(BUFPUSH)operator(()integer(0)operator(\);) comment(/* space to hold stack pos */) ident(BUFPUSH)operator(()integer(0)operator(\);) ident(stackp)operator(--;) reserved(break)operator(;) reserved(case) char(':')operator(:) ident(BUFPUSH)operator(()ident(stop_paren)operator(\);) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) ident(begalt) operator(=) operator(*--)ident(stackp) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) ident(stackp)operator(--;) ident(fixup_alt_jump) operator(=) operator(*)ident(stackp) operator(?) operator(*)ident(stackp) operator(+) ident(bufp)operator(->)ident(buffer) operator(-) integer(1) operator(:) integer(0)operator(;) ident(laststart) operator(=) operator(*--)ident(stackp) operator(+) ident(bufp)operator(->)ident(buffer)operator(;) reserved(if) operator(()ident(c) operator(==) char('!') operator(||) ident(c) operator(==) char('=')operator(\)) ident(laststart) operator(=) ident(b)operator(;) reserved(break)operator(;) reserved(case) char('|')operator(:) comment(/* Insert before the previous alternative a jump which jumps to this alternative if the former fails. */) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(insert_jump)operator(()ident(on_failure_jump)operator(,) ident(begalt)operator(,) ident(b) operator(+) integer(6)operator(,) ident(b)operator(\);) ident(pending_exact) operator(=) integer(0)operator(;) ident(b) operator(+=) integer(3)operator(;) comment(/* The alternative before this one has a jump after it which gets executed if it gets matched. Adjust that jump so it will jump to this alternative's analogous jump (put in below, which in turn will jump to the next (if any\) alternative's such jump, etc.\). The last such jump jumps to the correct final destination. A picture: _____ _____ | | | | | v | v a | b | c If we are at `b', then fixup_alt_jump right now points to a three-byte space after `a'. We'll put in the jump, set fixup_alt_jump to right after `b', and leave behind three bytes which we'll fill in when we get to after `c'. */) reserved(if) operator(()ident(fixup_alt_jump)operator(\)) ident(store_jump)operator(()ident(fixup_alt_jump)operator(,) ident(jump_past_alt)operator(,) ident(b)operator(\);) comment(/* Mark and leave space for a jump after this alternative, to be filled in later either by next alternative or when know we're at the end of a series of alternatives. */) ident(fixup_alt_jump) operator(=) ident(b)operator(;) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(b) operator(+=) integer(3)operator(;) ident(laststart) operator(=) integer(0)operator(;) ident(begalt) operator(=) ident(b)operator(;) reserved(break)operator(;) reserved(case) char('{')operator(:) comment(/* If there is no previous pattern, this is an invalid pattern. */) reserved(if) operator((!)ident(laststart)operator(\)) operator({) ident(snprintf)operator(()ident(error_msg)operator(,) ident(ERROR_MSG_MAX_SIZE)operator(,) stringoperator(,) ident(p)operator(-)ident(pattern)operator(\);) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) ident(error_msg)operator(\);) operator(}) reserved(if)operator(() ident(p) operator(==) ident(pend)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) string operator(\);) ident(beg_interval) operator(=) ident(p) operator(-) integer(1)operator(;) ident(lower_bound) operator(=) operator(-)integer(1)operator(;) comment(/* So can see if are set. */) ident(upper_bound) operator(=) operator(-)integer(1)operator(;) ident(GET_UNSIGNED_NUMBER)operator(()ident(lower_bound)operator(\);) reserved(if) operator(()ident(c) operator(==) char(',')operator(\)) operator({) ident(GET_UNSIGNED_NUMBER)operator(()ident(upper_bound)operator(\);) operator(}) reserved(else) comment(/* Interval such as `{1}' => match exactly once. */) ident(upper_bound) operator(=) ident(lower_bound)operator(;) reserved(if) operator(()ident(lower_bound) operator(<) integer(0) operator(||) ident(c) operator(!=) char('}')operator(\)) reserved(goto) ident(unfetch_interval)operator(;) reserved(if) operator(()ident(lower_bound) operator(>=) ident(RE_DUP_MAX) operator(||) ident(upper_bound) operator(>=) ident(RE_DUP_MAX)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) reserved(if) operator(()ident(upper_bound) operator(<) integer(0)operator(\)) ident(upper_bound) operator(=) ident(RE_DUP_MAX)operator(;) reserved(if) operator(()ident(lower_bound) operator(>) ident(upper_bound)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) string m)delimiter(")>operator(\);) ident(beg_interval) operator(=) integer(0)operator(;) ident(pending_exact) operator(=) integer(0)operator(;) ident(greedy) operator(=) integer(1)operator(;) reserved(if) operator(()ident(p) operator(!=) ident(pend)operator(\)) operator({) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(==) char('?')operator(\)) ident(greedy) operator(=) integer(0)operator(;) reserved(else) ident(PATUNFETCH)operator(;) operator(}) reserved(if) operator(()ident(lower_bound) operator(==) integer(0)operator(\)) operator({) ident(zero_times_ok) operator(=) integer(1)operator(;) reserved(if) operator(()ident(upper_bound) operator(==) ident(RE_DUP_MAX)operator(\)) operator({) ident(many_times_ok) operator(=) integer(1)operator(;) reserved(goto) ident(repeat)operator(;) operator(}) reserved(if) operator(()ident(upper_bound) operator(==) integer(1)operator(\)) operator({) ident(many_times_ok) operator(=) integer(0)operator(;) reserved(goto) ident(repeat)operator(;) operator(}) operator(}) reserved(if) operator(()ident(lower_bound) operator(==) integer(1)operator(\)) operator({) reserved(if) operator(()ident(upper_bound) operator(==) integer(1)operator(\)) operator({) comment(/* No need to repeat */) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(upper_bound) operator(==) ident(RE_DUP_MAX)operator(\)) operator({) ident(many_times_ok) operator(=) integer(1)operator(;) ident(zero_times_ok) operator(=) integer(0)operator(;) reserved(goto) ident(repeat)operator(;) operator(}) operator(}) comment(/* If upper_bound is zero, don't want to succeed at all; jump from laststart to b + 3, which will be the end of the buffer after this jump is inserted. */) reserved(if) operator(()ident(upper_bound) operator(==) integer(0)operator(\)) operator({) ident(GET_BUFFER_SPACE)operator(()integer(3)operator(\);) ident(insert_jump)operator(()ident(jump)operator(,) ident(laststart)operator(,) ident(b) operator(+) integer(3)operator(,) ident(b)operator(\);) ident(b) operator(+=) integer(3)operator(;) reserved(break)operator(;) operator(}) comment(/* If lower_bound == upper_bound, repeat count can be removed */) reserved(if) operator(()ident(lower_bound) operator(==) ident(upper_bound)operator(\)) operator({) pre_type(int) ident(mcnt)operator(;) pre_type(int) ident(skip_stop_paren) operator(=) integer(0)operator(;) reserved(if) operator(()ident(b)operator([-)integer(1)operator(]) operator(==) ident(stop_paren)operator(\)) operator({) ident(skip_stop_paren) operator(=) integer(1)operator(;) ident(b)operator(--;) operator(}) reserved(if) operator((*)ident(laststart) operator(==) ident(exactn) operator(&&) ident(laststart)operator([)integer(1)operator(]+)integer(2) operator(==) ident(b) operator(-) ident(laststart) operator(&&) ident(laststart)operator([)integer(1)operator(]*)ident(lower_bound) operator(<) integer(256)operator(\)) operator({) ident(mcnt) operator(=) ident(laststart)operator([)integer(1)operator(];) ident(GET_BUFFER_SPACE)operator((()ident(lower_bound)operator(-)integer(1)operator(\)*)ident(mcnt)operator(\);) ident(laststart)operator([)integer(1)operator(]) operator(=) ident(lower_bound)operator(*)ident(mcnt)operator(;) reserved(while) operator((--)ident(lower_bound)operator(\)) operator({) ident(memcpy)operator(()ident(b)operator(,) ident(laststart)operator(+)integer(2)operator(,) ident(mcnt)operator(\);) ident(b) operator(+=) ident(mcnt)operator(;) operator(}) reserved(if) operator(()ident(skip_stop_paren)operator(\)) ident(BUFPUSH)operator(()ident(stop_paren)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(lower_bound) operator(<) integer(5) operator(&&) ident(b) operator(-) ident(laststart) operator(<) integer(10)operator(\)) operator({) comment(/* 5 and 10 are the magic numbers */) ident(mcnt) operator(=) ident(b) operator(-) ident(laststart)operator(;) ident(GET_BUFFER_SPACE)operator((()ident(lower_bound)operator(-)integer(1)operator(\)*)ident(mcnt)operator(\);) reserved(while) operator((--)ident(lower_bound)operator(\)) operator({) ident(memcpy)operator(()ident(b)operator(,) ident(laststart)operator(,) ident(mcnt)operator(\);) ident(b) operator(+=) ident(mcnt)operator(;) operator(}) reserved(if) operator(()ident(skip_stop_paren)operator(\)) ident(BUFPUSH)operator(()ident(stop_paren)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(skip_stop_paren)operator(\)) ident(b)operator(++;) comment(/* push back stop_paren */) operator(}) comment(/* Otherwise, we have a nontrivial interval. When we're all done, the pattern will look like: set_number_at set_number_at succeed_n jump_n (The upper bound and `jump_n' are omitted if `upper_bound' is 1, though.\) */) operator({) comment(/* If the upper bound is > 1, we need to insert more at the end of the loop. */) pre_type(unsigned) ident(nbytes) operator(=) ident(upper_bound) operator(==) integer(1) operator(?) integer(10) operator(:) integer(20)operator(;) ident(GET_BUFFER_SPACE)operator(()ident(nbytes)operator(\);) comment(/* Initialize lower bound of the `succeed_n', even though it will be set during matching by its attendant `set_number_at' (inserted next\), because `re_compile_fastmap' needs to know. Jump to the `jump_n' we might insert below. */) ident(insert_jump_n)operator(()ident(succeed_n)operator(,) ident(laststart)operator(,) ident(b) operator(+) operator(()ident(nbytes)operator(/)integer(2)operator(\),) ident(b)operator(,) ident(lower_bound)operator(\);) ident(b) operator(+=) integer(5)operator(;) comment(/* Just increment for the succeed_n here. */) comment(/* Code to initialize the lower bound. Insert before the `succeed_n'. The `5' is the last two bytes of this `set_number_at', plus 3 bytes of the following `succeed_n'. */) ident(insert_op_2)operator(()ident(set_number_at)operator(,) ident(laststart)operator(,) ident(b)operator(,) integer(5)operator(,) ident(lower_bound)operator(\);) ident(b) operator(+=) integer(5)operator(;) reserved(if) operator(()ident(upper_bound) operator(>) integer(1)operator(\)) operator({) comment(/* More than one repetition is allowed, so append a backward jump to the `succeed_n' that starts this interval. When we've reached this during matching, we'll have matched the interval once, so jump back only `upper_bound - 1' times. */) ident(GET_BUFFER_SPACE)operator(()integer(5)operator(\);) ident(store_jump_n)operator(()ident(b)operator(,) ident(greedy)operator(?)ident(jump_n)operator(:)ident(finalize_push_n)operator(,) ident(laststart) operator(+) integer(5)operator(,) ident(upper_bound) operator(-) integer(1)operator(\);) ident(b) operator(+=) integer(5)operator(;) comment(/* The location we want to set is the second parameter of the `jump_n'; that is `b-2' as an absolute address. `laststart' will be the `set_number_at' we're about to insert; `laststart+3' the number to set, the source for the relative address. But we are inserting into the middle of the pattern -- so everything is getting moved up by 5. Conclusion: (b - 2\) - (laststart + 3\) + 5, i.e., b - laststart. We insert this at the beginning of the loop so that if we fail during matching, we'll reinitialize the bounds. */) ident(insert_op_2)operator(()ident(set_number_at)operator(,) ident(laststart)operator(,) ident(b)operator(,) ident(b) operator(-) ident(laststart)operator(,) ident(upper_bound) operator(-) integer(1)operator(\);) ident(b) operator(+=) integer(5)operator(;) operator(}) operator(}) reserved(break)operator(;) label(unfetch_interval:) comment(/* If an invalid interval, match the characters as literals. */) ident(re_warning)operator(()stringoperator(\);) ident(p) operator(=) ident(beg_interval)operator(;) ident(beg_interval) operator(=) integer(0)operator(;) comment(/* normal_char and normal_backslash need `c'. */) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(goto) ident(normal_char)operator(;) reserved(case) char('\\\\')operator(:) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) comment(/* Do not translate the character after the \\, so that we can distinguish, e.g., \\B from \\b, even if we normally would translate, e.g., B to b. */) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('s')operator(:) reserved(case) char('S')operator(:) reserved(case) char('d')operator(:) reserved(case) char('D')operator(:) reserved(while) operator(()ident(b) operator(-) ident(bufp)operator(->)ident(buffer) operator(+) integer(9) operator(+) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH) operator(>) ident(bufp)operator(->)ident(allocated)operator(\)) ident(EXTEND_BUFFER)operator(;) ident(laststart) operator(=) ident(b)operator(;) reserved(if) operator(()ident(c) operator(==) char('s') operator(||) ident(c) operator(==) char('d')operator(\)) operator({) ident(BUFPUSH)operator(()ident(charset)operator(\);) operator(}) reserved(else) operator({) ident(BUFPUSH)operator(()ident(charset_not)operator(\);) operator(}) ident(BUFPUSH)operator((()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(\);) ident(memset)operator(()ident(b)operator(,) integer(0)operator(,) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH) operator(+) integer(2)operator(\);) reserved(if) operator(()ident(c) operator(==) char('s') operator(||) ident(c) operator(==) char('S')operator(\)) operator({) ident(SET_LIST_BIT)operator(()char(' ')operator(\);) ident(SET_LIST_BIT)operator(()char('\\t')operator(\);) ident(SET_LIST_BIT)operator(()char('\\n')operator(\);) ident(SET_LIST_BIT)operator(()char('\\r')operator(\);) ident(SET_LIST_BIT)operator(()char('\\f')operator(\);) operator(}) reserved(else) operator({) pre_type(char) ident(cc)operator(;) reserved(for) operator(()ident(cc) operator(=) char('0')operator(;) ident(cc) operator(<=) char('9')operator(;) ident(cc)operator(++\)) operator({) ident(SET_LIST_BIT)operator(()ident(cc)operator(\);) operator(}) operator(}) reserved(while) operator((()pre_type(int)operator(\))ident(b)operator([-)integer(1)operator(]) operator(>) integer(0) operator(&&) ident(b)operator([)ident(b)operator([-)integer(1)operator(]) operator(-) integer(1)operator(]) operator(==) integer(0)operator(\)) ident(b)operator([-)integer(1)operator(]--;) reserved(if) operator(()ident(b)operator([-)integer(1)operator(]) operator(!=) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(\)) ident(memmove)operator((&)ident(b)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(b)operator([-)integer(1)operator(]],) operator(&)ident(b)operator([()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(],) integer(2) operator(+) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)) operator(/) ident(BYTEWIDTH)operator(]\)*)integer(8)operator(\);) ident(b) operator(+=) ident(b)operator([-)integer(1)operator(]) operator(+) integer(2) operator(+) ident(EXTRACT_UNSIGNED)operator((&)ident(b)operator([()pre_type(unsigned) pre_type(char)operator(\))ident(b)operator([-)integer(1)operator(]]\)*)integer(8)operator(;) reserved(break)operator(;) reserved(case) char('w')operator(:) ident(laststart) operator(=) ident(b)operator(;) ident(BUFPUSH)operator(()ident(wordchar)operator(\);) reserved(break)operator(;) reserved(case) char('W')operator(:) ident(laststart) operator(=) ident(b)operator(;) ident(BUFPUSH)operator(()ident(notwordchar)operator(\);) reserved(break)operator(;) preprocessor(#ifndef) ident(RUBY) reserved(case) char('<')operator(:) ident(BUFPUSH)operator(()ident(wordbeg)operator(\);) reserved(break)operator(;) reserved(case) char('>')operator(:) ident(BUFPUSH)operator(()ident(wordend)operator(\);) reserved(break)operator(;) preprocessor(#endif) reserved(case) char('b')operator(:) ident(BUFPUSH)operator(()ident(wordbound)operator(\);) reserved(break)operator(;) reserved(case) char('B')operator(:) ident(BUFPUSH)operator(()ident(notwordbound)operator(\);) reserved(break)operator(;) reserved(case) char('A')operator(:) ident(BUFPUSH)operator(()ident(begbuf)operator(\);) reserved(break)operator(;) reserved(case) char('Z')operator(:) reserved(if) operator((()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTION_SINGLELINE)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(BUFPUSH)operator(()ident(endbuf2)operator(\);) reserved(break)operator(;) operator(}) comment(/* fall through */) reserved(case) char('z')operator(:) ident(BUFPUSH)operator(()ident(endbuf)operator(\);) reserved(break)operator(;) reserved(case) char('G')operator(:) ident(BUFPUSH)operator(()ident(begpos)operator(\);) reserved(break)operator(;) comment(/* hex */) reserved(case) char('x')operator(:) ident(had_mbchar) operator(=) integer(0)operator(;) ident(c) operator(=) ident(scan_hex)operator(()ident(p)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) reserved(goto) ident(invalid_escape)operator(;) ident(p) operator(+=) ident(numlen)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) reserved(goto) ident(numeric_char)operator(;) comment(/* octal */) reserved(case) char('0')operator(:) ident(had_mbchar) operator(=) integer(0)operator(;) ident(c) operator(=) ident(scan_oct)operator(()ident(p)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) ident(p) operator(+=) ident(numlen)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) reserved(goto) ident(numeric_char)operator(;) comment(/* back-ref or octal */) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) ident(PATUNFETCH)operator(;) ident(p0) operator(=) ident(p)operator(;) ident(had_mbchar) operator(=) integer(0)operator(;) ident(c1) operator(=) integer(0)operator(;) ident(GET_UNSIGNED_NUMBER)operator(()ident(c1)operator(\);) reserved(if) operator((!)ident(ISDIGIT)operator(()ident(c)operator(\)\)) ident(PATUNFETCH)operator(;) reserved(if) operator(()integer(9) operator(<) ident(c1) operator(&&) ident(c1) operator(>=) ident(regnum)operator(\)) operator({) comment(/* need to get octal */) ident(c) operator(=) ident(scan_oct)operator(()ident(p0)operator(,) integer(3)operator(,) operator(&)ident(numlen)operator(\)) operator(&) hex(0xff)operator(;) ident(p) operator(=) ident(p0) operator(+) ident(numlen)operator(;) ident(c1) operator(=) integer(0)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) reserved(goto) ident(numeric_char)operator(;) operator(}) ident(laststart) operator(=) ident(b)operator(;) ident(BUFPUSH)operator(()ident(duplicate)operator(\);) ident(BUFPUSH)operator(()ident(c1)operator(\);) reserved(break)operator(;) reserved(case) char('M')operator(:) reserved(case) char('C')operator(:) reserved(case) char('c')operator(:) ident(p0) operator(=) operator(--)ident(p)operator(;) ident(c) operator(=) ident(read_special)operator(()ident(p)operator(,) ident(pend)operator(,) operator(&)ident(p0)operator(\);) reserved(if) operator(()ident(c) operator(>) integer(255)operator(\)) reserved(goto) ident(invalid_escape)operator(;) ident(p) operator(=) ident(p0)operator(;) ident(had_num_literal) operator(=) integer(1)operator(;) reserved(goto) ident(numeric_char)operator(;) reserved(default)operator(:) ident(c) operator(=) ident(read_backslash)operator(()ident(c)operator(\);) reserved(goto) ident(normal_char)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('#')operator(:) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_EXTENDED)operator(\)) operator({) reserved(while) operator(()ident(p) operator(!=) ident(pend)operator(\)) operator({) ident(PATFETCH)operator(()ident(c)operator(\);) reserved(if) operator(()ident(c) operator(==) char('\\n')operator(\)) reserved(break)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(goto) ident(normal_char)operator(;) reserved(case) char(' ')operator(:) reserved(case) char('\\t')operator(:) reserved(case) char('\\f')operator(:) reserved(case) char('\\r')operator(:) reserved(case) char('\\n')operator(:) reserved(if) operator(()ident(options) operator(&) ident(RE_OPTION_EXTENDED)operator(\)) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(c) operator(==) char(']')operator(\)) ident(re_warning)operator(()stringoperator(\);) reserved(else) reserved(if) operator(()ident(c) operator(==) char('}')operator(\)) ident(re_warning)operator(()stringoperator(\);) label(normal_char:) comment(/* Expects the character in `c'. */) ident(had_mbchar) operator(=) integer(0)operator(;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) ident(had_mbchar) operator(=) integer(1)operator(;) ident(c1) operator(=) ident(p) operator(-) ident(pattern)operator(;) operator(}) label(numeric_char:) ident(nextp) operator(=) ident(p) operator(+) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) reserved(if) operator((!)ident(pending_exact) operator(||) ident(pending_exact) operator(+) operator(*)ident(pending_exact) operator(+) integer(1) operator(!=) ident(b) operator(||) operator(*)ident(pending_exact) operator(>=) operator(()ident(c1) operator(?) oct(0176) operator(:) oct(0177)operator(\)) operator(||) operator(()ident(nextp) operator(<) ident(pend) operator(&&) operator(() operator(*)ident(nextp) operator(==) char('+') operator(||) operator(*)ident(nextp) operator(==) char('?') operator(||) operator(*)ident(nextp) operator(==) char('*') operator(||) operator(*)ident(nextp) operator(==) char('^') operator(||) operator(*)ident(nextp) operator(==) char('{')operator(\)\)\)) operator({) ident(laststart) operator(=) ident(b)operator(;) ident(BUFPUSH)operator(()ident(exactn)operator(\);) ident(pending_exact) operator(=) ident(b)operator(;) ident(BUFPUSH)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(had_num_literal) operator(||) ident(c) operator(==) hex(0xff)operator(\)) operator({) ident(BUFPUSH)operator(()hex(0xff)operator(\);) operator((*)ident(pending_exact)operator(\)++;) ident(had_num_literal) operator(=) integer(0)operator(;) operator(}) ident(BUFPUSH)operator(()ident(c)operator(\);) operator((*)ident(pending_exact)operator(\)++;) reserved(if) operator(()ident(had_mbchar)operator(\)) operator({) pre_type(int) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(PATFETCH_RAW)operator(()ident(c)operator(\);) ident(BUFPUSH)operator(()ident(c)operator(\);) operator((*)ident(pending_exact)operator(\)++;) operator(}) operator(}) operator(}) operator(}) reserved(if) operator(()ident(fixup_alt_jump)operator(\)) ident(store_jump)operator(()ident(fixup_alt_jump)operator(,) ident(jump)operator(,) ident(b)operator(\);) reserved(if) operator(()ident(stackp) operator(!=) ident(stackb)operator(\)) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) comment(/* set optimize flags */) ident(laststart) operator(=) ident(bufp)operator(->)ident(buffer)operator(;) reserved(if) operator(()ident(laststart) operator(!=) ident(b)operator(\)) operator({) reserved(if) operator((*)ident(laststart) operator(==) ident(dummy_failure_jump)operator(\)) ident(laststart) operator(+=) integer(3)operator(;) reserved(else) reserved(if) operator((*)ident(laststart) operator(==) ident(try_next)operator(\)) ident(laststart) operator(+=) integer(3)operator(;) reserved(if) operator((*)ident(laststart) operator(==) ident(anychar_repeat)operator(\)) operator({) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_OPTIMIZE_ANCHOR)operator(;) operator(}) operator(}) ident(bufp)operator(->)ident(used) operator(=) ident(b) operator(-) ident(bufp)operator(->)ident(buffer)operator(;) ident(bufp)operator(->)ident(re_nsub) operator(=) ident(regnum)operator(;) ident(laststart) operator(=) ident(bufp)operator(->)ident(buffer)operator(;) reserved(if) operator(()ident(laststart) operator(!=) ident(b)operator(\)) operator({) reserved(if) operator((*)ident(laststart) operator(==) ident(start_memory)operator(\)) ident(laststart) operator(+=) integer(3)operator(;) reserved(if) operator((*)ident(laststart) operator(==) ident(exactn)operator(\)) operator({) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_OPTIMIZE_EXACTN)operator(;) ident(bufp)operator(->)ident(must) operator(=) ident(laststart)operator(+)integer(1)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(bufp)operator(->)ident(must)operator(\)) operator({) ident(bufp)operator(->)ident(must) operator(=) ident(calculate_must_string)operator(()ident(bufp)operator(->)ident(buffer)operator(,) ident(b)operator(\);) operator(}) reserved(if) operator(()ident(current_mbctype) operator(==) ident(MBCTYPE_SJIS)operator(\)) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_OPTIMIZE_NO_BM)operator(;) reserved(else) reserved(if) operator(()ident(bufp)operator(->)ident(must)operator(\)) operator({) pre_type(int) ident(i)operator(;) pre_type(int) ident(len) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(bufp)operator(->)ident(must)operator([)integer(0)operator(];) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((()pre_type(unsigned) pre_type(char)operator(\))ident(bufp)operator(->)ident(must)operator([)ident(i)operator(]) operator(==) hex(0xff) operator(||) operator(()ident(current_mbctype) operator(&&) ident(ismbchar)operator(()ident(bufp)operator(->)ident(must)operator([)ident(i)operator(]\)\)\)) operator({) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_OPTIMIZE_NO_BM)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator((!()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTIMIZE_NO_BM)operator(\)\)) operator({) ident(bufp)operator(->)ident(must_skip) operator(=) operator(()pre_type(int) operator(*\)) ident(xmalloc)operator((()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)*)reserved(sizeof)operator(()pre_type(int)operator(\)\);) ident(bm_init_skip)operator(()ident(bufp)operator(->)ident(must_skip)operator(,) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(bufp)operator(->)ident(must)operator(+)integer(1)operator(,) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(bufp)operator(->)ident(must)operator([)integer(0)operator(],) operator(()pre_type(unsigned) pre_type(char)operator(*\)()ident(MAY_TRANSLATE)operator((\)?)ident(translate)operator(:)integer(0)operator(\)\);) operator(}) operator(}) ident(bufp)operator(->)ident(regstart) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(bufp)operator(->)ident(regend) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(bufp)operator(->)ident(old_regstart) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(bufp)operator(->)ident(old_regend) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(bufp)operator(->)ident(reg_info) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) ident(register_info_type)operator(\);) ident(bufp)operator(->)ident(best_regstart) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(bufp)operator(->)ident(best_regend) operator(=) ident(TMALLOC)operator(()ident(regnum)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) integer(0)operator(\);) label(invalid_pattern:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) label(end_of_pattern:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) label(too_big:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) label(memory_exhausted:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) label(nested_meta:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) label(invalid_escape:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) stringoperator(\);) operator(}) directive(void) ident(re_free_pattern)operator(()ident(bufp)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) operator({) ident(xfree)operator(()ident(bufp)operator(->)ident(buffer)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(fastmap)operator(\);) reserved(if) operator(()ident(bufp)operator(->)ident(must_skip)operator(\)) ident(xfree)operator(()ident(bufp)operator(->)ident(must_skip)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(regstart)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(regend)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(old_regstart)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(old_regend)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(best_regstart)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(best_regend)operator(\);) ident(xfree)operator(()ident(bufp)operator(->)ident(reg_info)operator(\);) ident(xfree)operator(()ident(bufp)operator(\);) operator(}) comment(/* Store a jump of the form . Store in the location FROM a jump operation to jump to relative address FROM - TO. OPCODE is the opcode to store. */) directive(static) directive(void) ident(store_jump)operator(()ident(from)operator(,) ident(opcode)operator(,) ident(to)operator(\)) pre_type(char) operator(*)ident(from)operator(,) operator(*)ident(to)operator(;) pre_type(int) ident(opcode)operator(;) operator({) ident(from)operator([)integer(0)operator(]) operator(=) operator(()pre_type(char)operator(\))ident(opcode)operator(;) ident(STORE_NUMBER)operator(()ident(from) operator(+) integer(1)operator(,) ident(to) operator(-) operator(()ident(from) operator(+) integer(3)operator(\)\);) operator(}) comment(/* Open up space before char FROM, and insert there a jump to TO. CURRENT_END gives the end of the storage not in use, so we know how much data to copy up. OP is the opcode of the jump to insert. If you call this function, you must zero out pending_exact. */) directive(static) directive(void) ident(insert_jump)operator(()ident(op)operator(,) ident(from)operator(,) ident(to)operator(,) ident(current_end)operator(\)) pre_type(int) ident(op)operator(;) pre_type(char) operator(*)ident(from)operator(,) operator(*)ident(to)operator(,) operator(*)ident(current_end)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(pfrom) operator(=) ident(current_end)operator(;) comment(/* Copy from here... */) directive(register) pre_type(char) operator(*)ident(pto) operator(=) ident(current_end) operator(+) integer(3)operator(;) comment(/* ...to here. */) reserved(while) operator(()ident(pfrom) operator(!=) ident(from)operator(\)) operator(*--)ident(pto) operator(=) operator(*--)ident(pfrom)operator(;) ident(store_jump)operator(()ident(from)operator(,) ident(op)operator(,) ident(to)operator(\);) operator(}) comment(/* Store a jump of the form . Store in the location FROM a jump operation to jump to relative address FROM - TO. OPCODE is the opcode to store, N is a number the jump uses, say, to decide how many times to jump. If you call this function, you must zero out pending_exact. */) directive(static) directive(void) ident(store_jump_n)operator(()ident(from)operator(,) ident(opcode)operator(,) ident(to)operator(,) ident(n)operator(\)) pre_type(char) operator(*)ident(from)operator(,) operator(*)ident(to)operator(;) pre_type(int) ident(opcode)operator(;) pre_type(unsigned) ident(n)operator(;) operator({) ident(from)operator([)integer(0)operator(]) operator(=) operator(()pre_type(char)operator(\))ident(opcode)operator(;) ident(STORE_NUMBER)operator(()ident(from) operator(+) integer(1)operator(,) ident(to) operator(-) operator(()ident(from) operator(+) integer(3)operator(\)\);) ident(STORE_NUMBER)operator(()ident(from) operator(+) integer(3)operator(,) ident(n)operator(\);) operator(}) comment(/* Similar to insert_jump, but handles a jump which needs an extra number to handle minimum and maximum cases. Open up space at location FROM, and insert there a jump to TO. CURRENT_END gives the end of the storage in use, so we know how much data to copy up. OP is the opcode of the jump to insert. If you call this function, you must zero out pending_exact. */) directive(static) directive(void) ident(insert_jump_n)operator(()ident(op)operator(,) ident(from)operator(,) ident(to)operator(,) ident(current_end)operator(,) ident(n)operator(\)) pre_type(int) ident(op)operator(;) pre_type(char) operator(*)ident(from)operator(,) operator(*)ident(to)operator(,) operator(*)ident(current_end)operator(;) pre_type(unsigned) ident(n)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(pfrom) operator(=) ident(current_end)operator(;) comment(/* Copy from here... */) directive(register) pre_type(char) operator(*)ident(pto) operator(=) ident(current_end) operator(+) integer(5)operator(;) comment(/* ...to here. */) reserved(while) operator(()ident(pfrom) operator(!=) ident(from)operator(\)) operator(*--)ident(pto) operator(=) operator(*--)ident(pfrom)operator(;) ident(store_jump_n)operator(()ident(from)operator(,) ident(op)operator(,) ident(to)operator(,) ident(n)operator(\);) operator(}) comment(/* Open up space at location THERE, and insert operation OP. CURRENT_END gives the end of the storage in use, so we know how much data to copy up. If you call this function, you must zero out pending_exact. */) directive(static) directive(void) ident(insert_op)operator(()ident(op)operator(,) ident(there)operator(,) ident(current_end)operator(\)) pre_type(int) ident(op)operator(;) pre_type(char) operator(*)ident(there)operator(,) operator(*)ident(current_end)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(pfrom) operator(=) ident(current_end)operator(;) comment(/* Copy from here... */) directive(register) pre_type(char) operator(*)ident(pto) operator(=) ident(current_end) operator(+) integer(1)operator(;) comment(/* ...to here. */) reserved(while) operator(()ident(pfrom) operator(!=) ident(there)operator(\)) operator(*--)ident(pto) operator(=) operator(*--)ident(pfrom)operator(;) ident(there)operator([)integer(0)operator(]) operator(=) operator(()pre_type(char)operator(\))ident(op)operator(;) operator(}) comment(/* Open up space at location THERE, and insert operation OP followed by NUM_1 and NUM_2. CURRENT_END gives the end of the storage in use, so we know how much data to copy up. If you call this function, you must zero out pending_exact. */) directive(static) directive(void) ident(insert_op_2)operator(()ident(op)operator(,) ident(there)operator(,) ident(current_end)operator(,) ident(num_1)operator(,) ident(num_2)operator(\)) pre_type(int) ident(op)operator(;) pre_type(char) operator(*)ident(there)operator(,) operator(*)ident(current_end)operator(;) pre_type(int) ident(num_1)operator(,) ident(num_2)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(pfrom) operator(=) ident(current_end)operator(;) comment(/* Copy from here... */) directive(register) pre_type(char) operator(*)ident(pto) operator(=) ident(current_end) operator(+) integer(5)operator(;) comment(/* ...to here. */) reserved(while) operator(()ident(pfrom) operator(!=) ident(there)operator(\)) operator(*--)ident(pto) operator(=) operator(*--)ident(pfrom)operator(;) ident(there)operator([)integer(0)operator(]) operator(=) operator(()pre_type(char)operator(\))ident(op)operator(;) ident(STORE_NUMBER)operator(()ident(there) operator(+) integer(1)operator(,) ident(num_1)operator(\);) ident(STORE_NUMBER)operator(()ident(there) operator(+) integer(3)operator(,) ident(num_2)operator(\);) operator(}) preprocessor(#define) ident(trans_eq)operator(()ident(c1)operator(,) ident(c2)operator(,) ident(translate)operator(\)) operator(()ident(translate)operator(?()ident(translate)operator([)ident(c1)operator(]==)ident(translate)operator([)ident(c2)operator(]\):(()ident(c1)operator(\)==()ident(c2)operator(\)\)\)) directive(static) pre_type(int) ident(slow_match)operator(()ident(little)operator(,) ident(lend)operator(,) ident(big)operator(,) ident(bend)operator(,) ident(translate)operator(\)) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(little)operator(,) operator(*)ident(lend)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(big)operator(,) operator(*)ident(bend)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(translate)operator(;) operator({) pre_type(int) ident(c)operator(;) reserved(while) operator(()ident(little) operator(<) ident(lend) operator(&&) ident(big) operator(<) ident(bend)operator(\)) operator({) ident(c) operator(=) operator(*)ident(little)operator(++;) reserved(if) operator(()ident(c) operator(==) hex(0xff)operator(\)) ident(c) operator(=) operator(*)ident(little)operator(++;) reserved(if) operator((!)ident(trans_eq)operator((*)ident(big)operator(++,) ident(c)operator(,) ident(translate)operator(\)\)) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(little) operator(==) ident(lend)operator(\)) reserved(return) integer(1)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(slow_search)operator(()ident(little)operator(,) ident(llen)operator(,) ident(big)operator(,) ident(blen)operator(,) ident(translate)operator(\)) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(little)operator(;) pre_type(int) ident(llen)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(big)operator(;) pre_type(int) ident(blen)operator(;) directive(const) pre_type(char) operator(*)ident(translate)operator(;) operator({) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(bsave) operator(=) ident(big)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(bend) operator(=) ident(big) operator(+) ident(blen)operator(;) directive(register) pre_type(int) ident(c)operator(;) pre_type(int) ident(fescape) operator(=) integer(0)operator(;) ident(c) operator(=) operator(*)ident(little)operator(;) reserved(if) operator(()ident(c) operator(==) hex(0xff)operator(\)) operator({) ident(c) operator(=) ident(little)operator([)integer(1)operator(];) ident(fescape) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(translate) operator(&&) operator(!)ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) ident(c) operator(=) ident(translate)operator([)ident(c)operator(];) operator(}) reserved(while) operator(()ident(big) operator(<) ident(bend)operator(\)) operator({) comment(/* look for first character */) reserved(if) operator(()ident(fescape)operator(\)) operator({) reserved(while) operator(()ident(big) operator(<) ident(bend)operator(\)) operator({) reserved(if) operator((*)ident(big) operator(==) ident(c)operator(\)) reserved(break)operator(;) ident(big)operator(++;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(translate) operator(&&) operator(!)ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) reserved(while) operator(()ident(big) operator(<) ident(bend)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator((*)ident(big)operator(\)\)) ident(big)operator(+=)ident(mbclen)operator((*)ident(big)operator(\)-)integer(1)operator(;) reserved(else) reserved(if) operator(()ident(translate)operator([*)ident(big)operator(]) operator(==) ident(c)operator(\)) reserved(break)operator(;) ident(big)operator(++;) operator(}) operator(}) reserved(else) operator({) reserved(while) operator(()ident(big) operator(<) ident(bend)operator(\)) operator({) reserved(if) operator((*)ident(big) operator(==) ident(c)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(ismbchar)operator((*)ident(big)operator(\)\)) ident(big)operator(+=)ident(mbclen)operator((*)ident(big)operator(\)-)integer(1)operator(;) ident(big)operator(++;) operator(}) operator(}) reserved(if) operator(()ident(slow_match)operator(()ident(little)operator(,) ident(little)operator(+)ident(llen)operator(,) ident(big)operator(,) ident(bend)operator(,) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(translate)operator(\)\)) reserved(return) ident(big) operator(-) ident(bsave)operator(;) ident(big)operator(+=)ident(mbclen)operator((*)ident(big)operator(\);) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) directive(static) directive(void) ident(bm_init_skip)operator(()ident(skip)operator(,) ident(pat)operator(,) ident(m)operator(,) ident(translate)operator(\)) pre_type(int) operator(*)ident(skip)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(pat)operator(;) pre_type(int) ident(m)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(translate)operator(;) operator({) pre_type(int) ident(j)operator(,) ident(c)operator(;) reserved(for) operator(()ident(c)operator(=)integer(0)operator(;) ident(c)operator(<)integer(256)operator(;) ident(c)operator(++\)) operator({) ident(skip)operator([)ident(c)operator(]) operator(=) ident(m)operator(;) operator(}) reserved(if) operator(()ident(translate)operator(\)) operator({) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(m)operator(-)integer(1)operator(;) ident(j)operator(++\)) operator({) ident(skip)operator([)ident(translate)operator([)ident(pat)operator([)ident(j)operator(]]]) operator(=) ident(m)operator(-)integer(1)operator(-)ident(j)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(for) operator(()ident(j)operator(=)integer(0)operator(;) ident(j)operator(<)ident(m)operator(-)integer(1)operator(;) ident(j)operator(++\)) operator({) ident(skip)operator([)ident(pat)operator([)ident(j)operator(]]) operator(=) ident(m)operator(-)integer(1)operator(-)ident(j)operator(;) operator(}) operator(}) operator(}) directive(static) pre_type(int) ident(bm_search)operator(()ident(little)operator(,) ident(llen)operator(,) ident(big)operator(,) ident(blen)operator(,) ident(skip)operator(,) ident(translate)operator(\)) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(little)operator(;) pre_type(int) ident(llen)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(big)operator(;) pre_type(int) ident(blen)operator(;) pre_type(int) operator(*)ident(skip)operator(;) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(translate)operator(;) operator({) pre_type(int) ident(i)operator(,) ident(j)operator(,) ident(k)operator(;) ident(i) operator(=) ident(llen)operator(-)integer(1)operator(;) reserved(if) operator(()ident(translate)operator(\)) operator({) reserved(while) operator(()ident(i) operator(<) ident(blen)operator(\)) operator({) ident(k) operator(=) ident(i)operator(;) ident(j) operator(=) ident(llen)operator(-)integer(1)operator(;) reserved(while) operator(()ident(j) operator(>=) integer(0) operator(&&) ident(translate)operator([)ident(big)operator([)ident(k)operator(]]) operator(==) ident(translate)operator([)ident(little)operator([)ident(j)operator(]]\)) operator({) ident(k)operator(--;) ident(j)operator(--;) operator(}) reserved(if) operator(()ident(j) operator(<) integer(0)operator(\)) reserved(return) ident(k)operator(+)integer(1)operator(;) ident(i) operator(+=) ident(skip)operator([)ident(translate)operator([)ident(big)operator([)ident(i)operator(]]];) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(while) operator(()ident(i) operator(<) ident(blen)operator(\)) operator({) ident(k) operator(=) ident(i)operator(;) ident(j) operator(=) ident(llen)operator(-)integer(1)operator(;) reserved(while) operator(()ident(j) operator(>=) integer(0) operator(&&) ident(big)operator([)ident(k)operator(]) operator(==) ident(little)operator([)ident(j)operator(]\)) operator({) ident(k)operator(--;) ident(j)operator(--;) operator(}) reserved(if) operator(()ident(j) operator(<) integer(0)operator(\)) reserved(return) ident(k)operator(+)integer(1)operator(;) ident(i) operator(+=) ident(skip)operator([)ident(big)operator([)ident(i)operator(]];) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) comment(/* Given a pattern, compute a fastmap from it. The fastmap records which of the (1 << BYTEWIDTH\) possible characters can start a string that matches the pattern. This fastmap is used by re_search to skip quickly over totally implausible text. The caller must supply the address of a (1 << BYTEWIDTH\)-byte data area as bufp->fastmap. The other components of bufp describe the pattern to be used. */) directive(static) pre_type(int) ident(re_compile_fastmap0)operator(()ident(bufp)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) operator({) pre_type(unsigned) pre_type(char) operator(*)ident(pattern) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(bufp)operator(->)ident(buffer)operator(;) pre_type(int) ident(size) operator(=) ident(bufp)operator(->)ident(used)operator(;) directive(register) pre_type(char) operator(*)ident(fastmap) operator(=) ident(bufp)operator(->)ident(fastmap)operator(;) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) ident(pattern)operator(;) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(pend) operator(=) ident(pattern) operator(+) ident(size)operator(;) directive(register) pre_type(int) ident(j)operator(,) ident(k)operator(;) pre_type(unsigned) ident(is_a_succeed_n)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(stacka)operator([)ident(NFAILURES)operator(];) pre_type(unsigned) pre_type(char) operator(**)ident(stackb) operator(=) ident(stacka)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(stackp) operator(=) ident(stackb)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(stacke) operator(=) ident(stackb) operator(+) ident(NFAILURES)operator(;) pre_type(int) ident(options) operator(=) ident(bufp)operator(->)ident(options)operator(;) ident(memset)operator(()ident(fastmap)operator(,) integer(0)operator(,) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\)\);) ident(bufp)operator(->)ident(fastmap_accurate) operator(=) integer(1)operator(;) ident(bufp)operator(->)ident(can_be_null) operator(=) integer(0)operator(;) reserved(while) operator(()ident(p)operator(\)) operator({) ident(is_a_succeed_n) operator(=) integer(0)operator(;) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) operator({) ident(bufp)operator(->)ident(can_be_null) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) preprocessor(#ifdef) ident(SWITCH_ENUM_BUG) reserved(switch) operator((()pre_type(int)operator(\)(()reserved(enum) ident(regexpcode)operator(\)*)ident(p)operator(++\)\)) preprocessor(#else) reserved(switch) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p)operator(++\)) preprocessor(#endif) operator({) reserved(case) ident(exactn)operator(:) reserved(if) operator(()ident(p)operator([)integer(1)operator(]) operator(==) hex(0xff)operator(\)) operator({) reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) ident(fastmap)operator([)ident(translate)operator([)ident(p)operator([)integer(2)operator(]]]) operator(=) integer(2)operator(;) reserved(else) ident(fastmap)operator([)ident(p)operator([)integer(2)operator(]]) operator(=) integer(2)operator(;) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_OPTIMIZE_BMATCH)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) ident(fastmap)operator([)ident(translate)operator([)ident(p)operator([)integer(1)operator(]]]) operator(=) integer(1)operator(;) reserved(else) ident(fastmap)operator([)ident(p)operator([)integer(1)operator(]]) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(begline)operator(:) reserved(case) ident(begbuf)operator(:) reserved(case) ident(begpos)operator(:) reserved(case) ident(endbuf)operator(:) reserved(case) ident(endbuf2)operator(:) reserved(case) ident(wordbound)operator(:) reserved(case) ident(notwordbound)operator(:) reserved(case) ident(wordbeg)operator(:) reserved(case) ident(wordend)operator(:) reserved(case) ident(pop_and_fail)operator(:) reserved(case) ident(push_dummy_failure)operator(:) reserved(case) ident(start_paren)operator(:) reserved(case) ident(stop_paren)operator(:) reserved(continue)operator(;) reserved(case) ident(casefold_on)operator(:) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_MAY_IGNORECASE)operator(;) ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) reserved(continue)operator(;) reserved(case) ident(casefold_off)operator(:) ident(options) operator(&=) operator(~)ident(RE_OPTION_IGNORECASE)operator(;) reserved(continue)operator(;) reserved(case) ident(option_set)operator(:) ident(options) operator(=) operator(*)ident(p)operator(++;) reserved(continue)operator(;) reserved(case) ident(endline)operator(:) reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) ident(fastmap)operator([)ident(translate)operator([)char('\\n')operator(]]) operator(=) integer(1)operator(;) reserved(else) ident(fastmap)operator([)char('\\n')operator(]) operator(=) integer(1)operator(;) reserved(if) operator((()ident(options) operator(&) ident(RE_OPTION_SINGLELINE)operator(\)) operator(==) integer(0) operator(&&) ident(bufp)operator(->)ident(can_be_null) operator(==) integer(0)operator(\)) ident(bufp)operator(->)ident(can_be_null) operator(=) integer(2)operator(;) reserved(break)operator(;) reserved(case) ident(jump_n)operator(:) reserved(case) ident(finalize_jump)operator(:) reserved(case) ident(maybe_finalize_jump)operator(:) reserved(case) ident(jump)operator(:) reserved(case) ident(jump_past_alt)operator(:) reserved(case) ident(dummy_failure_jump)operator(:) reserved(case) ident(finalize_push)operator(:) reserved(case) ident(finalize_push_n)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(j)operator(,) ident(p)operator(\);) ident(p) operator(+=) ident(j)operator(;) reserved(if) operator(()ident(j) operator(>) integer(0)operator(\)) reserved(continue)operator(;) comment(/* Jump backward reached implies we just went through the body of a loop and matched nothing. Opcode jumped to should be an on_failure_jump. Just treat it like an ordinary jump. For a * loop, it has pushed its failure point already; If so, discard that as redundant. */) reserved(if) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p) operator(!=) ident(on_failure_jump) operator(&&) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p) operator(!=) ident(try_next) operator(&&) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p) operator(!=) ident(succeed_n)operator(\)) reserved(continue)operator(;) ident(p)operator(++;) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(j)operator(,) ident(p)operator(\);) ident(p) operator(+=) ident(j)operator(;) reserved(if) operator(()ident(stackp) operator(!=) ident(stackb) operator(&&) operator(*)ident(stackp) operator(==) ident(p)operator(\)) ident(stackp)operator(--;) comment(/* pop */) reserved(continue)operator(;) reserved(case) ident(try_next)operator(:) reserved(case) ident(start_nowidth)operator(:) reserved(case) ident(stop_nowidth)operator(:) reserved(case) ident(stop_backtrack)operator(:) ident(p) operator(+=) integer(2)operator(;) reserved(continue)operator(;) reserved(case) ident(succeed_n)operator(:) ident(is_a_succeed_n) operator(=) integer(1)operator(;) comment(/* Get to the number of times to succeed. */) ident(EXTRACT_NUMBER)operator(()ident(k)operator(,) ident(p) operator(+) integer(2)operator(\);) comment(/* Increment p past the n for when k != 0. */) reserved(if) operator(()ident(k) operator(!=) integer(0)operator(\)) operator({) ident(p) operator(+=) integer(4)operator(;) reserved(continue)operator(;) operator(}) comment(/* fall through */) reserved(case) ident(on_failure_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(j)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(p) operator(+) ident(j) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator(()ident(stackp) operator(==) ident(stacke)operator(\)) operator({) ident(EXPAND_FAIL_STACK)operator((\);) operator(}) operator(*++)ident(stackp) operator(=) ident(p) operator(+) ident(j)operator(;) comment(/* push */) operator(}) reserved(else) operator({) ident(bufp)operator(->)ident(can_be_null) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(is_a_succeed_n)operator(\)) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(k)operator(,) ident(p)operator(\);) comment(/* Skip the n. */) reserved(continue)operator(;) reserved(case) ident(set_number_at)operator(:) ident(p) operator(+=) integer(4)operator(;) reserved(continue)operator(;) reserved(case) ident(start_memory)operator(:) reserved(case) ident(stop_memory)operator(:) ident(p) operator(+=) integer(2)operator(;) reserved(continue)operator(;) reserved(case) ident(duplicate)operator(:) ident(bufp)operator(->)ident(can_be_null) operator(=) integer(1)operator(;) reserved(if) operator((*)ident(p) operator(>=) ident(bufp)operator(->)ident(re_nsub)operator(\)) reserved(break)operator(;) ident(fastmap)operator([)char('\\n')operator(]) operator(=) integer(1)operator(;) reserved(case) ident(anychar_repeat)operator(:) reserved(case) ident(anychar)operator(:) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(j) operator(!=) char('\\n') operator(||) operator(()ident(options) operator(&) ident(RE_OPTION_MULTILINE)operator(\)\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(bufp)operator(->)ident(can_be_null)operator(\)) operator({) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) integer(0)operator(\);) operator(}) comment(/* Don't return; check the alternative paths so we can set can_be_null if appropriate. */) reserved(if) operator((()reserved(enum) ident(regexpcode)operator(\))ident(p)operator([-)integer(1)operator(]) operator(==) ident(anychar_repeat)operator(\)) operator({) reserved(continue)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(wordchar)operator(:) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(j) operator(<) hex(0x80)operator(;) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(SYNTAX)operator(()ident(j)operator(\)) operator(==) ident(Sword)operator(\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(switch) operator(()ident(current_mbctype)operator(\)) operator({) reserved(case) ident(MBCTYPE_ASCII)operator(:) reserved(for) operator(()ident(j) operator(=) hex(0x80)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(SYNTAX)operator(()ident(j)operator(\)) operator(==) ident(Sword2)operator(\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(MBCTYPE_EUC)operator(:) reserved(case) ident(MBCTYPE_SJIS)operator(:) reserved(case) ident(MBCTYPE_UTF8)operator(:) reserved(for) operator(()ident(j) operator(=) hex(0x80)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(re_mbctab)operator([)ident(j)operator(]\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(notwordchar)operator(:) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(j) operator(<) hex(0x80)operator(;) ident(j)operator(++\)) reserved(if) operator(()ident(SYNTAX)operator(()ident(j)operator(\)) operator(!=) ident(Sword)operator(\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) reserved(switch) operator(()ident(current_mbctype)operator(\)) operator({) reserved(case) ident(MBCTYPE_ASCII)operator(:) reserved(for) operator(()ident(j) operator(=) hex(0x80)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(SYNTAX)operator(()ident(j)operator(\)) operator(!=) ident(Sword2)operator(\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(MBCTYPE_EUC)operator(:) reserved(case) ident(MBCTYPE_SJIS)operator(:) reserved(case) ident(MBCTYPE_UTF8)operator(:) reserved(for) operator(()ident(j) operator(=) hex(0x80)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) operator({) reserved(if) operator((!)ident(re_mbctab)operator([)ident(j)operator(]\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(break)operator(;) operator(}) reserved(break)operator(;) reserved(case) ident(charset)operator(:) comment(/* NOTE: Charset for single-byte chars never contain multi-byte char. See set_list_bits(\). */) reserved(for) operator(()ident(j) operator(=) operator(*)ident(p)operator(++) operator(*) ident(BYTEWIDTH) operator(-) integer(1)operator(;) ident(j) operator(>=) integer(0)operator(;) ident(j)operator(--\)) reserved(if) operator(()ident(p)operator([)ident(j) operator(/) ident(BYTEWIDTH)operator(]) operator(&) operator(()integer(1) operator(<<) operator(()ident(j) operator(%) ident(BYTEWIDTH)operator(\)\)\)) operator({) pre_type(int) ident(tmp) operator(=) ident(TRANSLATE_P)operator((\)?)ident(translate)operator([)ident(j)operator(]:)ident(j)operator(;) ident(fastmap)operator([)ident(tmp)operator(]) operator(=) integer(1)operator(;) operator(}) operator({) pre_type(unsigned) pre_type(short) ident(size)operator(;) pre_type(unsigned) pre_type(long) ident(c)operator(,) ident(beg)operator(,) ident(end)operator(;) ident(p) operator(+=) ident(p)operator([-)integer(1)operator(]) operator(+) integer(2)operator(;) ident(size) operator(=) ident(EXTRACT_UNSIGNED)operator((&)ident(p)operator([-)integer(2)operator(]\);) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(j) operator(<) operator(()pre_type(int)operator(\))ident(size)operator(;) ident(j)operator(++\)) operator({) ident(c) operator(=) ident(EXTRACT_MBC)operator((&)ident(p)operator([)ident(j)operator(*)integer(8)operator(]\);) ident(beg) operator(=) ident(WC2MBC1ST)operator(()ident(c)operator(\);) ident(c) operator(=) ident(EXTRACT_MBC)operator((&)ident(p)operator([)ident(j)operator(*)integer(8)operator(+)integer(4)operator(]\);) ident(end) operator(=) ident(WC2MBC1ST)operator(()ident(c)operator(\);) comment(/* set bits for 1st bytes of multi-byte chars. */) reserved(while) operator(()ident(beg) operator(<=) ident(end)operator(\)) operator({) comment(/* NOTE: Charset for multi-byte chars might contain single-byte chars. We must reject them. */) reserved(if) operator(()ident(c) operator(<) hex(0x100)operator(\)) operator({) ident(fastmap)operator([)ident(beg)operator(]) operator(=) integer(2)operator(;) ident(bufp)operator(->)ident(options) operator(|=) ident(RE_OPTIMIZE_BMATCH)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ismbchar)operator(()ident(beg)operator(\)\)) ident(fastmap)operator([)ident(beg)operator(]) operator(=) integer(1)operator(;) ident(beg)operator(++;) operator(}) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(charset_not)operator(:) comment(/* S: set of all single-byte chars. M: set of all first bytes that can start multi-byte chars. s: any set of single-byte chars. m: any set of first bytes that can start multi-byte chars. We assume S+M = U. ___ _ _ s+m = (S*s+M*m\). */) comment(/* Chars beyond end of map must be allowed */) comment(/* NOTE: Charset_not for single-byte chars might contain multi-byte chars. See set_list_bits(\). */) reserved(for) operator(()ident(j) operator(=) operator(*)ident(p) operator(*) ident(BYTEWIDTH)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) reserved(if) operator((!)ident(ismbchar)operator(()ident(j)operator(\)\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) reserved(for) operator(()ident(j) operator(=) operator(*)ident(p)operator(++) operator(*) ident(BYTEWIDTH) operator(-) integer(1)operator(;) ident(j) operator(>=) integer(0)operator(;) ident(j)operator(--\)) reserved(if) operator((!()ident(p)operator([)ident(j) operator(/) ident(BYTEWIDTH)operator(]) operator(&) operator(()integer(1) operator(<<) operator(()ident(j) operator(%) ident(BYTEWIDTH)operator(\)\)\)\)) operator({) reserved(if) operator((!)ident(ismbchar)operator(()ident(j)operator(\)\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) operator({) pre_type(unsigned) pre_type(short) ident(size)operator(;) pre_type(unsigned) pre_type(long) ident(c)operator(,) ident(beg)operator(;) pre_type(int) ident(num_literal) operator(=) integer(0)operator(;) ident(p) operator(+=) ident(p)operator([-)integer(1)operator(]) operator(+) integer(2)operator(;) ident(size) operator(=) ident(EXTRACT_UNSIGNED)operator((&)ident(p)operator([-)integer(2)operator(]\);) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) operator({) reserved(for) operator(()ident(j) operator(=) hex(0x80)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) reserved(if) operator(()ident(ismbchar)operator(()ident(j)operator(\)\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) reserved(for) operator(()ident(j) operator(=) integer(0)operator(,)ident(c) operator(=) integer(0)operator(;)ident(j) operator(<) operator(()pre_type(int)operator(\))ident(size)operator(;) ident(j)operator(++\)) operator({) pre_type(unsigned) pre_type(int) ident(cc) operator(=) ident(EXTRACT_MBC)operator((&)ident(p)operator([)ident(j)operator(*)integer(8)operator(]\);) ident(beg) operator(=) ident(WC2MBC1ST)operator(()ident(cc)operator(\);) reserved(while) operator(()ident(c) operator(<=) ident(beg)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) ident(fastmap)operator([)ident(c)operator(]) operator(=) integer(1)operator(;) ident(c)operator(++;) operator(}) ident(cc) operator(=) ident(EXTRACT_MBC)operator((&)ident(p)operator([)ident(j)operator(*)integer(8)operator(+)integer(4)operator(]\);) reserved(if) operator(()ident(cc) operator(<) hex(0xff)operator(\)) operator({) ident(num_literal) operator(=) integer(1)operator(;) reserved(while) operator(()ident(c) operator(<=) ident(cc)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) ident(fastmap)operator([)ident(c)operator(]) operator(=) integer(1)operator(;) ident(c)operator(++;) operator(}) operator(}) ident(c) operator(=) ident(WC2MBC1ST)operator(()ident(cc)operator(\);) operator(}) reserved(for) operator(()ident(j) operator(=) ident(c)operator(;) ident(j) operator(<) operator(()integer(1) operator(<<) ident(BYTEWIDTH)operator(\);) ident(j)operator(++\)) operator({) reserved(if) operator(()ident(num_literal)operator(\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) reserved(if) operator(()ident(ismbchar)operator(()ident(j)operator(\)\)) ident(fastmap)operator([)ident(j)operator(]) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(unused)operator(:) comment(/* pacify gcc -Wall */) reserved(break)operator(;) operator(}) comment(/* Get here means we have successfully found the possible starting characters of one path of the pattern. We need not follow this path any farther. Instead, look at the next alternative remembered in the stack. */) reserved(if) operator(()ident(stackp) operator(!=) ident(stackb)operator(\)) ident(p) operator(=) operator(*)ident(stackp)operator(--;) comment(/* pop */) reserved(else) reserved(break)operator(;) operator(}) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) integer(0)operator(\);) label(memory_exhausted:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) operator(-)integer(2)operator(\);) operator(}) directive(void) ident(re_compile_fastmap)operator(()ident(bufp)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) operator({) operator(()directive(void)operator(\))ident(re_compile_fastmap0)operator(()ident(bufp)operator(\);) operator(}) comment(/* adjust startpos value to the position between characters. */) pre_type(int) ident(re_mbc_startpos)operator(()ident(string)operator(,) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(\)) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(int) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(;) operator({) pre_type(int) ident(i) operator(=) ident(mbc_startpos)operator(()ident(string)operator(,) ident(startpos)operator(\);) reserved(if) operator(()ident(i) operator(<) ident(startpos)operator(\)) operator({) reserved(if) operator(()ident(range) operator(>) integer(0)operator(\)) operator({) ident(startpos) operator(=) ident(i) operator(+) ident(mbclen)operator(()ident(string)operator([)ident(i)operator(]\);) operator(}) reserved(else) operator({) pre_type(int) ident(len) operator(=) ident(mbclen)operator(()ident(string)operator([)ident(i)operator(]\);) reserved(if) operator(()ident(i) operator(+) ident(len) operator(<=) ident(startpos)operator(\)) ident(startpos) operator(=) ident(i) operator(+) ident(len)operator(;) reserved(else) ident(startpos) operator(=) ident(i)operator(;) operator(}) operator(}) reserved(return) ident(startpos)operator(;) operator(}) pre_type(int) ident(re_adjust_startpos)operator(()ident(bufp)operator(,) ident(string)operator(,) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(int) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(;) operator({) comment(/* Update the fastmap now if not correct already. */) reserved(if) operator((!)ident(bufp)operator(->)ident(fastmap_accurate)operator(\)) operator({) pre_type(int) ident(ret) operator(=) ident(re_compile_fastmap0)operator(()ident(bufp)operator(\);) reserved(if) operator(()ident(ret)operator(\)) reserved(return) ident(ret)operator(;) operator(}) comment(/* Adjust startpos for mbc string */) reserved(if) operator(()ident(current_mbctype) operator(&&) ident(startpos)operator(>)integer(0) operator(&&) operator(!()ident(bufp)operator(->)ident(options)operator(&)ident(RE_OPTIMIZE_BMATCH)operator(\)\)) operator({) ident(startpos) operator(=) ident(re_mbc_startpos)operator(()ident(string)operator(,) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(\);) operator(}) reserved(return) ident(startpos)operator(;) operator(}) directive(static) pre_type(int) ident(re_match_exec) ident(_)operator((()reserved(struct) ident(re_pattern_buffer) operator(*,) directive(const) pre_type(char) operator(*,) pre_type(int)operator(,) pre_type(int)operator(,) pre_type(int)operator(,) reserved(struct) ident(re_registers) operator(*\)\);) comment(/* Using the compiled pattern in BUFP->buffer, first tries to match STRING, starting first at index STARTPOS, then at STARTPOS + 1, and so on. RANGE is the number of places to try before giving up. If RANGE is negative, it searches backwards, i.e., the starting positions tried are STARTPOS, STARTPOS - 1, etc. STRING is of SIZE. In REGS, return the indices of STRING that matched the entire BUFP->buffer and its contained subexpressions. The value returned is the position in the strings at which the match was found, or -1 if no match was found, or -2 if error (such as failure stack overflow\). */) pre_type(int) ident(re_search)operator(()ident(bufp)operator(,) ident(string)operator(,) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(,) ident(regs)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(int) ident(size)operator(,) ident(startpos)operator(,) ident(range)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(fastmap) operator(=) ident(bufp)operator(->)ident(fastmap)operator(;) pre_type(int) ident(val)operator(,) ident(anchor) operator(=) integer(0)operator(,) ident(initpos) operator(=) ident(startpos)operator(;) comment(/* Check for out-of-range starting position. */) reserved(if) operator(()ident(startpos) operator(<) integer(0) operator(||) ident(startpos) operator(>) ident(size)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator((!)ident(string)operator(\)) operator({) reserved(if) operator(()ident(size) operator(==) integer(0)operator(\)) ident(string) operator(=) stringoperator(;) reserved(else) reserved(return) operator(-)integer(1)operator(;) operator(}) comment(/* Update the fastmap now if not correct already. */) reserved(if) operator(()ident(fastmap) operator(&&) operator(!)ident(bufp)operator(->)ident(fastmap_accurate)operator(\)) operator({) pre_type(int) ident(ret) operator(=) ident(re_compile_fastmap0)operator(()ident(bufp)operator(\);) reserved(if) operator(()ident(ret)operator(\)) reserved(return) ident(ret)operator(;) operator(}) comment(/* If the search isn't to be a backwards one, don't waste time in a search for a pattern that must be anchored. */) reserved(if) operator(()ident(bufp)operator(->)ident(used) operator(>) integer(0)operator(\)) operator({) reserved(switch) operator((()reserved(enum) ident(regexpcode)operator(\))ident(bufp)operator(->)ident(buffer)operator([)integer(0)operator(]\)) operator({) reserved(case) ident(begbuf)operator(:) label(begbuf_match:) reserved(if) operator(()ident(range) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(startpos) operator(>) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(else) operator({) ident(val) operator(=) ident(re_match)operator(()ident(bufp)operator(,) ident(string)operator(,) ident(size)operator(,) integer(0)operator(,) ident(regs)operator(\);) reserved(if) operator(()ident(val) operator(>=) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(return) ident(val)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(begline)operator(:) ident(anchor) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(begpos)operator(:) ident(val) operator(=) ident(re_match)operator(()ident(bufp)operator(,) ident(string)operator(,) ident(size)operator(,) ident(startpos)operator(,) ident(regs)operator(\);) reserved(if) operator(()ident(val) operator(>=) integer(0)operator(\)) reserved(return) ident(startpos)operator(;) reserved(return) ident(val)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTIMIZE_ANCHOR)operator(\)) operator({) reserved(if) operator(()ident(bufp)operator(->)ident(options)operator(&)ident(RE_OPTION_MULTILINE) operator(&&) ident(range) operator(>) integer(0)operator(\)) operator({) reserved(goto) ident(begbuf_match)operator(;) operator(}) ident(anchor) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(bufp)operator(->)ident(must)operator(\)) operator({) pre_type(int) ident(len) operator(=) operator((()pre_type(unsigned) pre_type(char)operator(*\))ident(bufp)operator(->)ident(must)operator(\)[)integer(0)operator(];) pre_type(int) ident(pos)operator(,) ident(pbeg)operator(,) ident(pend)operator(;) ident(pbeg) operator(=) ident(startpos)operator(;) ident(pend) operator(=) ident(startpos) operator(+) ident(range)operator(;) reserved(if) operator(()ident(pbeg) operator(>) ident(pend)operator(\)) operator({) comment(/* swap pbeg,pend */) ident(pos) operator(=) ident(pend)operator(;) ident(pend) operator(=) ident(pbeg)operator(;) ident(pbeg) operator(=) ident(pos)operator(;) operator(}) ident(pend) operator(=) ident(size)operator(;) reserved(if) operator(()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTIMIZE_NO_BM)operator(\)) operator({) ident(pos) operator(=) ident(slow_search)operator((()pre_type(unsigned) pre_type(char) operator(*\)()ident(bufp)operator(->)ident(must)operator(+)integer(1)operator(\),) ident(len)operator(,) operator(()pre_type(unsigned) pre_type(char)operator(*\)()ident(string)operator(+)ident(pbeg)operator(\),) ident(pend)operator(-)ident(pbeg)operator(,) operator(()pre_type(char) operator(*\)()ident(MAY_TRANSLATE)operator((\)?)ident(translate)operator(:)integer(0)operator(\)\);) operator(}) reserved(else) operator({) ident(pos) operator(=) ident(bm_search)operator((()pre_type(unsigned) pre_type(char) operator(*\)()ident(bufp)operator(->)ident(must)operator(+)integer(1)operator(\),) ident(len)operator(,) operator(()pre_type(unsigned) pre_type(char) operator(*\)()ident(string)operator(+)ident(pbeg)operator(\),) ident(pend)operator(-)ident(pbeg)operator(,) ident(bufp)operator(->)ident(must_skip)operator(,) ident(MAY_TRANSLATE)operator((\)?)ident(translate)operator(:)integer(0)operator(\);) operator(}) reserved(if) operator(()ident(pos) operator(==) operator(-)integer(1)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(range) operator(>) integer(0) operator(&&) operator(()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTIMIZE_EXACTN)operator(\)\)) operator({) ident(startpos) operator(+=) ident(pos)operator(;) ident(range) operator(-=) ident(pos)operator(;) reserved(if) operator(()ident(range) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) operator(}) reserved(for) operator((;;\)) operator({) comment(/* If a fastmap is supplied, skip quickly over characters that cannot possibly be the start of a match. Note, however, that if the pattern can possibly match the null string, we must test it at each starting point so that we take the first null string we get. */) reserved(if) operator(()ident(fastmap) operator(&&) ident(startpos) operator(<) ident(size) operator(&&) ident(bufp)operator(->)ident(can_be_null) operator(!=) integer(1) operator(&&) operator(!()ident(anchor) operator(&&) ident(startpos) operator(==) integer(0)operator(\)\)) operator({) reserved(if) operator(()ident(range) operator(>) integer(0)operator(\)) operator({) comment(/* Searching forwards. */) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(p)operator(,) ident(c)operator(;) pre_type(int) ident(irange) operator(=) ident(range)operator(;) ident(p) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(string)operator(+)ident(startpos)operator(;) reserved(while) operator(()ident(range) operator(>) integer(0)operator(\)) operator({) ident(c) operator(=) operator(*)ident(p)operator(++;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(len)operator(;) reserved(if) operator(()ident(fastmap)operator([)ident(c)operator(]\)) reserved(break)operator(;) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(c) operator(=) operator(*)ident(p)operator(++;) ident(range)operator(--;) reserved(if) operator(()ident(fastmap)operator([)ident(c)operator(]) operator(==) integer(2)operator(\)) reserved(goto) ident(startpos_adjust)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(fastmap)operator([)ident(MAY_TRANSLATE)operator((\)) operator(?) ident(translate)operator([)ident(c)operator(]) operator(:) ident(c)operator(]\)) reserved(break)operator(;) operator(}) ident(range)operator(--;) operator(}) label(startpos_adjust:) ident(startpos) operator(+=) ident(irange) operator(-) ident(range)operator(;) operator(}) reserved(else) operator({) comment(/* Searching backwards. */) directive(register) pre_type(unsigned) pre_type(char) ident(c)operator(;) ident(c) operator(=) ident(string)operator([)ident(startpos)operator(];) ident(c) operator(&=) hex(0xff)operator(;) reserved(if) operator(()ident(MAY_TRANSLATE)operator((\)) operator(?) operator(!)ident(fastmap)operator([)ident(translate)operator([)ident(c)operator(]]) operator(:) operator(!)ident(fastmap)operator([)ident(c)operator(]\)) reserved(goto) ident(advance)operator(;) operator(}) operator(}) reserved(if) operator(()ident(startpos) operator(>) ident(size)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator((()ident(anchor) operator(||) operator(!)ident(bufp)operator(->)ident(can_be_null)operator(\)) operator(&&) ident(range) operator(>) integer(0) operator(&&) ident(size) operator(>) integer(0) operator(&&) ident(startpos) operator(==) ident(size)operator(\)) reserved(return) operator(-)integer(1)operator(;) ident(val) operator(=) ident(re_match_exec)operator(()ident(bufp)operator(,) ident(string)operator(,) ident(size)operator(,) ident(startpos)operator(,) ident(initpos)operator(,) ident(regs)operator(\);) reserved(if) operator(()ident(val) operator(>=) integer(0)operator(\)) reserved(return) ident(startpos)operator(;) reserved(if) operator(()ident(val) operator(==) operator(-)integer(2)operator(\)) reserved(return) operator(-)integer(2)operator(;) preprocessor(#ifndef) ident(NO_ALLOCA) preprocessor(#ifdef) ident(C_ALLOCA) ident(alloca)operator(()integer(0)operator(\);) preprocessor(#endif) comment(/* C_ALLOCA */) preprocessor(#endif) comment(/* NO_ALLOCA */) reserved(if) operator(()ident(range) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(anchor) operator(&&) ident(startpos) operator(<) ident(size) operator(&&) operator(()ident(startpos) operator(<) integer(1) operator(||) ident(string)operator([)ident(startpos)operator(-)integer(1)operator(]) operator(!=) char('\\n')operator(\)\)) operator({) reserved(while) operator(()ident(range) operator(>) integer(0) operator(&&) ident(string)operator([)ident(startpos)operator(]) operator(!=) char('\\n')operator(\)) operator({) ident(range)operator(--;) ident(startpos)operator(++;) operator(}) operator(}) operator(}) label(advance:) reserved(if) operator((!)ident(range)operator(\)) reserved(break)operator(;) reserved(else) reserved(if) operator(()ident(range) operator(>) integer(0)operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(d) operator(=) ident(string) operator(+) ident(startpos)operator(;) reserved(if) operator(()ident(ismbchar)operator((*)ident(d)operator(\)\)) operator({) pre_type(int) ident(len) operator(=) ident(mbclen)operator((*)ident(d)operator(\)) operator(-) integer(1)operator(;) ident(range)operator(-=)ident(len)operator(,) ident(startpos)operator(+=)ident(len)operator(;) reserved(if) operator((!)ident(range)operator(\)) reserved(break)operator(;) operator(}) ident(range)operator(--,) ident(startpos)operator(++;) operator(}) reserved(else) operator({) ident(range)operator(++,) ident(startpos)operator(--;) operator({) directive(const) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(d)operator(,) operator(*)ident(p)operator(;) ident(s) operator(=) ident(string)operator(;) ident(d) operator(=) ident(string) operator(+) ident(startpos)operator(;) reserved(for) operator(()ident(p) operator(=) ident(d)operator(;) ident(p)operator(--) operator(>) ident(s) operator(&&) ident(ismbchar)operator((*)ident(p)operator(\);) operator(\)) comment(/* --p >= s would not work on 80[12]?86. (when the offset of s equals 0 other than huge model.\) */) operator(;) reserved(if) operator((!(()ident(d) operator(-) ident(p)operator(\)) operator(&) integer(1)operator(\)\)) operator({) reserved(if) operator((!)ident(range)operator(\)) reserved(break)operator(;) ident(range)operator(++,) ident(startpos)operator(--;) operator(}) operator(}) operator(}) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) comment(/* The following are used for re_match, defined below: */) comment(/* Accessing macros used in re_match: */) preprocessor(#define) ident(IS_ACTIVE)operator(()ident(R)operator(\)) operator((()ident(R)operator(\))operator(.)ident(bits)operator(.)ident(is_active)operator(\)) preprocessor(#define) ident(MATCHED_SOMETHING)operator(()ident(R)operator(\)) operator((()ident(R)operator(\))operator(.)ident(bits)operator(.)ident(matched_something)operator(\)) comment(/* Macros used by re_match: */) comment(/* I.e., regstart, regend, and reg_info. */) preprocessor(#define) ident(NUM_REG_ITEMS) integer(3) comment(/* I.e., ptr and count. */) preprocessor(#define) ident(NUM_COUNT_ITEMS) integer(2) comment(/* Individual items aside from the registers. */) preprocessor(#define) ident(NUM_NONREG_ITEMS) integer(4) comment(/* We push at most this many things on the stack whenever we fail. The `+ 2' refers to PATTERN_PLACE and STRING_PLACE, which are arguments to the PUSH_FAILURE_POINT macro. */) preprocessor(#define) ident(MAX_NUM_FAILURE_ITEMS) operator(()ident(num_regs) operator(*) ident(NUM_REG_ITEMS) operator(+) ident(NUM_NONREG_ITEMS)operator(\)) comment(/* We push this many things on the stack whenever we fail. */) preprocessor(#define) ident(NUM_FAILURE_ITEMS) operator(()ident(last_used_reg) operator(*) ident(NUM_REG_ITEMS) operator(+) ident(NUM_NONREG_ITEMS) operator(+) integer(1)operator(\)) comment(/* This pushes counter information for succeed_n and jump_n */) preprocessor(#define) ident(PUSH_FAILURE_COUNT)operator(()ident(ptr)operator(\)) \ reserved(do) operator({) \ pre_type(int) ident(c)operator(;) \ ident(EXTRACT_NUMBER)operator(()ident(c)operator(,) ident(ptr)operator(\);) \ ident(ENSURE_FAIL_STACK)operator(()ident(NUM_COUNT_ITEMS)operator(\);) \ operator(*)ident(stackp)operator(++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\)()pre_type(long)operator(\))ident(c)operator(;) \ operator(*)ident(stackp)operator(++) operator(=) operator(()ident(ptr)operator(\);) \ ident(num_failure_counts)operator(++;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* This pushes most of the information about the current state we will want if we ever fail back to it. */) preprocessor(#define) ident(PUSH_FAILURE_POINT)operator(()ident(pattern_place)operator(,) ident(string_place)operator(\)) \ reserved(do) operator({) \ pre_type(long) ident(last_used_reg)operator(,) ident(this_reg)operator(;) \ \ comment(/* Find out how many registers are active or have been matched. \\ (Aside from register zero, which is only set at the end.\) */) \ reserved(for) operator(()ident(last_used_reg) operator(=) ident(num_regs)operator(-)integer(1)operator(;) ident(last_used_reg) operator(>) integer(0)operator(;) ident(last_used_reg)operator(--\))\ reserved(if) operator((!)ident(REG_UNSET)operator(()ident(regstart)operator([)ident(last_used_reg)operator(]\)\)) \ reserved(break)operator(;) \ \ ident(ENSURE_FAIL_STACK)operator(()ident(NUM_FAILURE_ITEMS)operator(\);) \ operator(*)ident(stackp)operator(++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\)()pre_type(long)operator(\))ident(num_failure_counts)operator(;) \ ident(num_failure_counts) operator(=) integer(0)operator(;) \ \ comment(/* Now push the info for each of those registers. */) \ reserved(for) operator(()ident(this_reg) operator(=) integer(1)operator(;) ident(this_reg) operator(<=) ident(last_used_reg)operator(;) ident(this_reg)operator(++\)) operator({) \ operator(*)ident(stackp)operator(++) operator(=) ident(regstart)operator([)ident(this_reg)operator(];) \ operator(*)ident(stackp)operator(++) operator(=) ident(regend)operator([)ident(this_reg)operator(];) \ operator(*)ident(stackp)operator(++) operator(=) ident(reg_info)operator([)ident(this_reg)operator(])operator(.)ident(word)operator(;) \ operator(}) \ \ comment(/* Push how many registers we saved. */) \ operator(*)ident(stackp)operator(++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(last_used_reg)operator(;) \ \ operator(*)ident(stackp)operator(++) operator(=) ident(pattern_place)operator(;) \ operator(*)ident(stackp)operator(++) operator(=) ident(string_place)operator(;) \ operator(*)ident(stackp)operator(++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\)()pre_type(long)operator(\))ident(options)operator(;) comment(/* current option status */) \ operator(*)ident(stackp)operator(++) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))integer(0)operator(;) comment(/* non-greedy flag */) \ operator(}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#define) ident(NON_GREEDY) operator((()pre_type(unsigned) pre_type(char)operator(*\))integer(1)operator(\)) preprocessor(#define) ident(POP_FAILURE_COUNT)operator((\)) \ reserved(do) operator({) \ pre_type(unsigned) pre_type(char) operator(*)ident(ptr) operator(=) operator(*--)ident(stackp)operator(;) \ pre_type(int) ident(count) operator(=) operator(()pre_type(long)operator(\)*--)ident(stackp)operator(;) \ ident(STORE_NUMBER)operator(()ident(ptr)operator(,) ident(count)operator(\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* This pops what PUSH_FAILURE_POINT pushes. */) preprocessor(#define) ident(POP_FAILURE_POINT)operator((\)) \ reserved(do) operator({) \ pre_type(long) ident(temp)operator(;) \ ident(stackp) operator(-=) ident(NUM_NONREG_ITEMS)operator(;) comment(/* Remove failure points (and flag\). */) \ ident(temp) operator(=) operator(()pre_type(long)operator(\)*--)ident(stackp)operator(;) comment(/* How many regs pushed. */) \ ident(temp) operator(*=) ident(NUM_REG_ITEMS)operator(;) comment(/* How much to take off the stack. */) \ ident(stackp) operator(-=) ident(temp)operator(;) comment(/* Remove the register info. */) \ ident(temp) operator(=) operator(()pre_type(long)operator(\)*--)ident(stackp)operator(;) comment(/* How many counters pushed. */) \ reserved(while) operator(()ident(temp)operator(--\)) operator({) \ ident(POP_FAILURE_COUNT)operator((\);) comment(/* Remove the counter info. */) \ operator(}) \ ident(num_failure_counts) operator(=) integer(0)operator(;) comment(/* Reset num_failure_counts. */) \ operator(}) reserved(while)operator(()integer(0)operator(\)) comment(/* Registers are set to a sentinel when they haven't yet matched. */) preprocessor(#define) ident(REG_UNSET_VALUE) operator((()pre_type(unsigned) pre_type(char)operator(*\)-)integer(1)operator(\)) preprocessor(#define) ident(REG_UNSET)operator(()ident(e)operator(\)) operator((()ident(e)operator(\)) operator(==) ident(REG_UNSET_VALUE)operator(\)) preprocessor(#define) ident(PREFETCH) reserved(if) operator(()ident(d) operator(==) ident(dend)operator(\)) reserved(goto) ident(fail) comment(/* Call this when have matched something; it sets `matched' flags for the registers corresponding to the subexpressions of which we currently are inside. */) preprocessor(#define) ident(SET_REGS_MATCHED) \ reserved(do) operator({) pre_type(unsigned) ident(this_reg)operator(;) \ reserved(for) operator(()ident(this_reg) operator(=) integer(0)operator(;) ident(this_reg) operator(<) ident(num_regs)operator(;) ident(this_reg)operator(++\)) operator({) \ reserved(if) operator(()ident(IS_ACTIVE)operator(()ident(reg_info)operator([)ident(this_reg)operator(]\)\)) \ ident(MATCHED_SOMETHING)operator(()ident(reg_info)operator([)ident(this_reg)operator(]\)) operator(=) integer(1)operator(;) \ reserved(else) \ ident(MATCHED_SOMETHING)operator(()ident(reg_info)operator([)ident(this_reg)operator(]\)) operator(=) integer(0)operator(;) \ operator(}) \ operator(}) reserved(while)operator(()integer(0)operator(\)) preprocessor(#define) ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)) operator((()ident(d)operator(\)) operator(==) ident(string)operator(\)) preprocessor(#define) ident(AT_STRINGS_END)operator(()ident(d)operator(\)) operator((()ident(d)operator(\)) operator(==) ident(dend)operator(\)) preprocessor(#define) ident(IS_A_LETTER)operator(()ident(d)operator(\)) operator(()ident(SYNTAX)operator((*()ident(d)operator(\)\)) operator(==) ident(Sword) operator(||) \ operator(()ident(current_mbctype) operator(?) \ operator(()ident(re_mbctab)operator([*()ident(d)operator(\)]) operator(&&) operator((()ident(d)operator(\)+)ident(mbclen)operator((*()ident(d)operator(\)\)\)<=)ident(dend)operator(\):) \ ident(SYNTAX)operator((*()ident(d)operator(\)\)) operator(==) ident(Sword2)operator(\)\)) preprocessor(#define) ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)) operator((()ident(current_mbctype) operator(==) ident(MBCTYPE_SJIS)operator(\)?) \ ident(IS_A_LETTER)operator((()ident(d)operator(\)-(!)ident(AT_STRINGS_BEG)operator((()ident(d)operator(\)-)integer(1)operator(\)&&) \ ident(ismbchar)operator((()ident(d)operator(\)[-)integer(2)operator(]\)?)integer(2)operator(:)integer(1)operator(\)\):) \ operator((()ident(current_mbctype) operator(&&) operator((()ident(d)operator(\)[-)integer(1)operator(]) operator(>=) hex(0x80)operator(\)\)) operator(||) \ ident(IS_A_LETTER)operator((()ident(d)operator(\)-)integer(1)operator(\)\)\)) directive(static) directive(void) ident(init_regs)operator(()ident(regs)operator(,) ident(num_regs)operator(\)) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) pre_type(unsigned) pre_type(int) ident(num_regs)operator(;) operator({) pre_type(int) ident(i)operator(;) ident(regs)operator(->)ident(num_regs) operator(=) ident(num_regs)operator(;) reserved(if) operator(()ident(num_regs) operator(<) ident(RE_NREGS)operator(\)) ident(num_regs) operator(=) ident(RE_NREGS)operator(;) reserved(if) operator(()ident(regs)operator(->)ident(allocated) operator(==) integer(0)operator(\)) operator({) ident(regs)operator(->)ident(beg) operator(=) ident(TMALLOC)operator(()ident(num_regs)operator(,) pre_type(int)operator(\);) ident(regs)operator(->)ident(end) operator(=) ident(TMALLOC)operator(()ident(num_regs)operator(,) pre_type(int)operator(\);) ident(regs)operator(->)ident(allocated) operator(=) ident(num_regs)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(regs)operator(->)ident(allocated) operator(<) ident(num_regs)operator(\)) operator({) ident(TREALLOC)operator(()ident(regs)operator(->)ident(beg)operator(,) ident(num_regs)operator(,) pre_type(int)operator(\);) ident(TREALLOC)operator(()ident(regs)operator(->)ident(end)operator(,) ident(num_regs)operator(,) pre_type(int)operator(\);) ident(regs)operator(->)ident(allocated) operator(=) ident(num_regs)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(num_regs)operator(;) ident(i)operator(++\)) operator({) ident(regs)operator(->)ident(beg)operator([)ident(i)operator(]) operator(=) ident(regs)operator(->)ident(end)operator([)ident(i)operator(]) operator(=) operator(-)integer(1)operator(;) operator(}) operator(}) comment(/* Match the pattern described by BUFP against STRING, which is of SIZE. Start the match at index POS in STRING. In REGS, return the indices of STRING that matched the entire BUFP->buffer and its contained subexpressions. If bufp->fastmap is nonzero, then it had better be up to date. The reason that the data to match are specified as two components which are to be regarded as concatenated is so this function can be used directly on the contents of an Emacs buffer. -1 is returned if there is no match. -2 is returned if there is an error (such as match stack overflow\). Otherwise the value is the length of the substring which was matched. */) pre_type(int) ident(re_match)operator(()ident(bufp)operator(,) ident(string_arg)operator(,) ident(size)operator(,) ident(pos)operator(,) ident(regs)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) directive(const) pre_type(char) operator(*)ident(string_arg)operator(;) pre_type(int) ident(size)operator(,) ident(pos)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) operator({) reserved(return) ident(re_match_exec)operator(()ident(bufp)operator(,) ident(string_arg)operator(,) ident(size)operator(,) ident(pos)operator(,) ident(pos)operator(,) ident(regs)operator(\);) operator(}) directive(static) pre_type(int) ident(re_match_exec)operator(()ident(bufp)operator(,) ident(string_arg)operator(,) ident(size)operator(,) ident(pos)operator(,) ident(beg)operator(,) ident(regs)operator(\)) reserved(struct) ident(re_pattern_buffer) operator(*)ident(bufp)operator(;) directive(const) pre_type(char) operator(*)ident(string_arg)operator(;) pre_type(int) ident(size)operator(,) ident(pos)operator(,) ident(beg)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) operator({) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(bufp)operator(->)ident(buffer)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(p1)operator(;) comment(/* Pointer to beyond end of buffer. */) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(pend) operator(=) ident(p) operator(+) ident(bufp)operator(->)ident(used)operator(;) pre_type(unsigned) ident(num_regs) operator(=) ident(bufp)operator(->)ident(re_nsub)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(string) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(string_arg)operator(;) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(d)operator(,) operator(*)ident(dend)operator(;) directive(register) pre_type(int) ident(mcnt)operator(;) comment(/* Multipurpose. */) pre_type(int) ident(options) operator(=) ident(bufp)operator(->)ident(options)operator(;) comment(/* Failure point stack. Each place that can handle a failure further down the line pushes a failure point on this stack. It consists of restart, regend, and reg_info for all registers corresponding to the subexpressions we're currently inside, plus the number of such registers, and, finally, two char *'s. The first char * is where to resume scanning the pattern; the second one is where to resume scanning the strings. If the latter is zero, the failure point is a ``dummy''; if a failure happens and the failure point is a dummy, it gets discarded and the next next one is tried. */) pre_type(unsigned) pre_type(char) operator(**)directive(const) ident(stacka) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(stackb)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(stackp)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(stacke)operator(;) comment(/* Information on the contents of registers. These are pointers into the input strings; they record just what was matched (on this attempt\) by a subexpression part of the pattern, that is, the regnum-th regstart pointer points to where in the pattern we began matching and the regnum-th regend points to right after where we stopped matching the regnum-th subexpression. (The zeroth register keeps track of what the whole pattern matches.\) */) pre_type(unsigned) pre_type(char) operator(**)ident(regstart) operator(=) ident(bufp)operator(->)ident(regstart)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(regend) operator(=) ident(bufp)operator(->)ident(regend)operator(;) comment(/* If a group that's operated upon by a repetition operator fails to match anything, then the register for its start will need to be restored because it will have been set to wherever in the string we are when we last see its open-group operator. Similarly for a register's end. */) pre_type(unsigned) pre_type(char) operator(**)ident(old_regstart) operator(=) ident(bufp)operator(->)ident(old_regstart)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(old_regend) operator(=) ident(bufp)operator(->)ident(old_regend)operator(;) comment(/* The is_active field of reg_info helps us keep track of which (possibly nested\) subexpressions we are currently in. The matched_something field of reg_info[reg_num] helps us tell whether or not we have matched any of the pattern so far this time through the reg_num-th subexpression. These two fields get reset each time through any loop their register is in. */) ident(register_info_type) operator(*)ident(reg_info) operator(=) ident(bufp)operator(->)ident(reg_info)operator(;) comment(/* The following record the register info as found in the above variables when we find a match better than any we've seen before. This happens as we backtrack through the failure points, which in turn happens only if we have not yet matched the entire string. */) pre_type(unsigned) ident(best_regs_set) operator(=) integer(0)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(best_regstart) operator(=) ident(bufp)operator(->)ident(best_regstart)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(best_regend) operator(=) ident(bufp)operator(->)ident(best_regend)operator(;) pre_type(int) ident(num_failure_counts) operator(=) integer(0)operator(;) reserved(if) operator(()ident(regs)operator(\)) operator({) ident(init_regs)operator(()ident(regs)operator(,) ident(num_regs)operator(\);) operator(}) comment(/* Initialize the stack. */) ident(stackb) operator(=) ident(TMALLOC)operator(()ident(MAX_NUM_FAILURE_ITEMS) operator(*) ident(NFAILURES)operator(,) pre_type(unsigned) pre_type(char)operator(*\);) ident(stackp) operator(=) ident(stackb)operator(;) ident(stacke) operator(=) operator(&)ident(stackb)operator([)ident(MAX_NUM_FAILURE_ITEMS) operator(*) ident(NFAILURES)operator(];) preprocessor(#ifdef) ident(DEBUG_REGEX) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(string_arg)operator(\);) preprocessor(#endif) comment(/* Initialize subexpression text positions to -1 to mark ones that no ( or ( and \) or \) has been seen for. Also set all registers to inactive and mark them as not having matched anything or ever failed. */) reserved(for) operator(()ident(mcnt) operator(=) integer(0)operator(;) ident(mcnt) operator(<) ident(num_regs)operator(;) ident(mcnt)operator(++\)) operator({) ident(regstart)operator([)ident(mcnt)operator(]) operator(=) ident(regend)operator([)ident(mcnt)operator(]) operator(=) ident(old_regstart)operator([)ident(mcnt)operator(]) operator(=) ident(old_regend)operator([)ident(mcnt)operator(]) operator(=) ident(best_regstart)operator([)ident(mcnt)operator(]) operator(=) ident(best_regend)operator([)ident(mcnt)operator(]) operator(=) ident(REG_UNSET_VALUE)operator(;) preprocessor(#ifdef) ident(__CHECKER__) ident(reg_info)operator([)ident(mcnt)operator(])operator(.)ident(word) operator(=) integer(0)operator(;) preprocessor(#endif) ident(IS_ACTIVE) operator(()ident(reg_info)operator([)ident(mcnt)operator(]\)) operator(=) integer(0)operator(;) ident(MATCHED_SOMETHING) operator(()ident(reg_info)operator([)ident(mcnt)operator(]\)) operator(=) integer(0)operator(;) operator(}) comment(/* Set up pointers to ends of strings. Don't allow the second string to be empty unless both are empty. */) comment(/* `p' scans through the pattern as `d' scans through the data. `dend' is the end of the input string that `d' points within. `d' is advanced into the following input string whenever necessary, but this happens before fetching; therefore, at the beginning of the loop, `d' can be pointing at the end of a string, but it cannot equal string2. */) ident(d) operator(=) ident(string) operator(+) ident(pos)operator(,) ident(dend) operator(=) ident(string) operator(+) ident(size)operator(;) comment(/* This loops over pattern commands. It exits by returning from the function if match is complete, or it drops through if match fails at this starting point in the input data. */) reserved(for) operator((;;\)) operator({) preprocessor(#ifdef) ident(DEBUG_REGEX) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(p) operator(-) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(bufp)operator(->)ident(buffer)operator(,) operator(*)ident(p)operator(\);) preprocessor(#endif) comment(/* End of pattern means we might have succeeded. */) reserved(if) operator(()ident(p) operator(==) ident(pend)operator(\)) operator({) comment(/* If not end of string, try backtracking. Otherwise done. */) reserved(if) operator((()ident(bufp)operator(->)ident(options) operator(&) ident(RE_OPTION_LONGEST)operator(\)) operator(&&) ident(d) operator(!=) ident(dend)operator(\)) operator({) reserved(if) operator(()ident(best_regs_set)operator(\)) comment(/* non-greedy, no need to backtrack */) reserved(goto) ident(restore_best_regs)operator(;) reserved(while) operator(()ident(stackp) operator(!=) ident(stackb) operator(&&) ident(stackp)operator([-)integer(1)operator(]) operator(==) ident(NON_GREEDY)operator(\)) operator({) reserved(if) operator(()ident(best_regs_set)operator(\)) comment(/* non-greedy, no need to backtrack */) reserved(goto) ident(restore_best_regs)operator(;) ident(POP_FAILURE_POINT)operator((\);) operator(}) reserved(if) operator(()ident(stackp) operator(!=) ident(stackb)operator(\)) operator({) comment(/* More failure points to try. */) comment(/* If exceeds best match so far, save it. */) reserved(if) operator((!) ident(best_regs_set) operator(||) operator(()ident(d) operator(>) ident(best_regend)operator([)integer(0)operator(]\)\)) operator({) ident(best_regs_set) operator(=) integer(1)operator(;) ident(best_regend)operator([)integer(0)operator(]) operator(=) ident(d)operator(;) comment(/* Never use regstart[0]. */) reserved(for) operator(()ident(mcnt) operator(=) integer(1)operator(;) ident(mcnt) operator(<) ident(num_regs)operator(;) ident(mcnt)operator(++\)) operator({) ident(best_regstart)operator([)ident(mcnt)operator(]) operator(=) ident(regstart)operator([)ident(mcnt)operator(];) ident(best_regend)operator([)ident(mcnt)operator(]) operator(=) ident(regend)operator([)ident(mcnt)operator(];) operator(}) operator(}) reserved(goto) ident(fail)operator(;) operator(}) comment(/* If no failure points, don't restore garbage. */) reserved(else) reserved(if) operator(()ident(best_regs_set)operator(\)) operator({) label(restore_best_regs:) comment(/* Restore best match. */) ident(d) operator(=) ident(best_regend)operator([)integer(0)operator(];) reserved(for) operator(()ident(mcnt) operator(=) integer(0)operator(;) ident(mcnt) operator(<) ident(num_regs)operator(;) ident(mcnt)operator(++\)) operator({) ident(regstart)operator([)ident(mcnt)operator(]) operator(=) ident(best_regstart)operator([)ident(mcnt)operator(];) ident(regend)operator([)ident(mcnt)operator(]) operator(=) ident(best_regend)operator([)ident(mcnt)operator(];) operator(}) operator(}) operator(}) comment(/* If caller wants register contents data back, convert it to indices. */) reserved(if) operator(()ident(regs)operator(\)) operator({) ident(regs)operator(->)ident(beg)operator([)integer(0)operator(]) operator(=) ident(pos)operator(;) ident(regs)operator(->)ident(end)operator([)integer(0)operator(]) operator(=) ident(d) operator(-) ident(string)operator(;) reserved(for) operator(()ident(mcnt) operator(=) integer(1)operator(;) ident(mcnt) operator(<) ident(num_regs)operator(;) ident(mcnt)operator(++\)) operator({) reserved(if) operator(()ident(REG_UNSET)operator(()ident(regend)operator([)ident(mcnt)operator(]\)\)) operator({) ident(regs)operator(->)ident(beg)operator([)ident(mcnt)operator(]) operator(=) operator(-)integer(1)operator(;) ident(regs)operator(->)ident(end)operator([)ident(mcnt)operator(]) operator(=) operator(-)integer(1)operator(;) reserved(continue)operator(;) operator(}) ident(regs)operator(->)ident(beg)operator([)ident(mcnt)operator(]) operator(=) ident(regstart)operator([)ident(mcnt)operator(]) operator(-) ident(string)operator(;) ident(regs)operator(->)ident(end)operator([)ident(mcnt)operator(]) operator(=) ident(regend)operator([)ident(mcnt)operator(]) operator(-) ident(string)operator(;) operator(}) operator(}) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,) operator(()ident(d) operator(-) ident(pos) operator(-) ident(string)operator(\)\);) operator(}) comment(/* Otherwise match next pattern command. */) preprocessor(#ifdef) ident(SWITCH_ENUM_BUG) reserved(switch) operator((()pre_type(int)operator(\)(()reserved(enum) ident(regexpcode)operator(\)*)ident(p)operator(++\)\)) preprocessor(#else) reserved(switch) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p)operator(++\)) preprocessor(#endif) operator({) comment(/* ( [or `(', as appropriate] is represented by start_memory, \) by stop_memory. Both of those commands are followed by a register number in the next byte. The text matched within the ( and \) is recorded under that number. */) reserved(case) ident(start_memory)operator(:) ident(old_regstart)operator([*)ident(p)operator(]) operator(=) ident(regstart)operator([*)ident(p)operator(];) ident(regstart)operator([*)ident(p)operator(]) operator(=) ident(d)operator(;) ident(IS_ACTIVE)operator(()ident(reg_info)operator([*)ident(p)operator(]\)) operator(=) integer(1)operator(;) ident(MATCHED_SOMETHING)operator(()ident(reg_info)operator([*)ident(p)operator(]\)) operator(=) integer(0)operator(;) ident(p) operator(+=) integer(2)operator(;) reserved(continue)operator(;) reserved(case) ident(stop_memory)operator(:) ident(old_regend)operator([*)ident(p)operator(]) operator(=) ident(regend)operator([*)ident(p)operator(];) ident(regend)operator([*)ident(p)operator(]) operator(=) ident(d)operator(;) ident(IS_ACTIVE)operator(()ident(reg_info)operator([*)ident(p)operator(]\)) operator(=) integer(0)operator(;) ident(p) operator(+=) integer(2)operator(;) reserved(continue)operator(;) reserved(case) ident(start_paren)operator(:) reserved(case) ident(stop_paren)operator(:) reserved(break)operator(;) comment(/* \\ has been turned into a `duplicate' command which is followed by the numeric value of as the register number. */) reserved(case) ident(duplicate)operator(:) operator({) pre_type(int) ident(regno) operator(=) operator(*)ident(p)operator(++;) comment(/* Get which register to match against */) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(d2)operator(,) operator(*)ident(dend2)operator(;) comment(/* Check if there's corresponding group */) reserved(if) operator(()ident(regno) operator(>=) ident(num_regs)operator(\)) reserved(goto) ident(fail)operator(;) comment(/* Check if corresponding group is still open */) reserved(if) operator(()ident(IS_ACTIVE)operator(()ident(reg_info)operator([)ident(regno)operator(]\)\)) reserved(goto) ident(fail)operator(;) comment(/* Where in input to try to start matching. */) ident(d2) operator(=) ident(regstart)operator([)ident(regno)operator(];) reserved(if) operator(()ident(REG_UNSET)operator(()ident(d2)operator(\)\)) reserved(goto) ident(fail)operator(;) comment(/* Where to stop matching; if both the place to start and the place to stop matching are in the same string, then set to the place to stop, otherwise, for now have to use the end of the first string. */) ident(dend2) operator(=) ident(regend)operator([)ident(regno)operator(];) reserved(if) operator(()ident(REG_UNSET)operator(()ident(dend2)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(for) operator((;;\)) operator({) comment(/* At end of register contents => success */) reserved(if) operator(()ident(d2) operator(==) ident(dend2)operator(\)) reserved(break)operator(;) comment(/* If necessary, advance to next segment in data. */) ident(PREFETCH)operator(;) comment(/* How many characters left in this segment to match. */) ident(mcnt) operator(=) ident(dend) operator(-) ident(d)operator(;) comment(/* Want how many consecutive characters we can match in one shot, so, if necessary, adjust the count. */) reserved(if) operator(()ident(mcnt) operator(>) ident(dend2) operator(-) ident(d2)operator(\)) ident(mcnt) operator(=) ident(dend2) operator(-) ident(d2)operator(;) comment(/* Compare that many; failure if mismatch, else move past them. */) reserved(if) operator((()ident(options) operator(&) ident(RE_OPTION_IGNORECASE)operator(\)) operator(?) ident(memcmp_translate)operator(()ident(d)operator(,) ident(d2)operator(,) ident(mcnt)operator(\)) operator(:) ident(memcmp)operator((()pre_type(char)operator(*\))ident(d)operator(,) operator(()pre_type(char)operator(*\))ident(d2)operator(,) ident(mcnt)operator(\)\)) reserved(goto) ident(fail)operator(;) ident(d) operator(+=) ident(mcnt)operator(,) ident(d2) operator(+=) ident(mcnt)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) ident(start_nowidth)operator(:) ident(PUSH_FAILURE_POINT)operator(()integer(0)operator(,) ident(d)operator(\);) reserved(if) operator(()ident(stackp) operator(-) ident(stackb) operator(>) ident(RE_DUP_MAX)operator(\)) operator({) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,(-)integer(2)operator(\)\);) operator(}) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(STORE_NUMBER)operator(()ident(p)operator(+)ident(mcnt)operator(,) ident(stackp) operator(-) ident(stackb)operator(\);) reserved(continue)operator(;) reserved(case) ident(stop_nowidth)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(stackp) operator(=) ident(stackb) operator(+) ident(mcnt)operator(;) ident(d) operator(=) ident(stackp)operator([-)integer(3)operator(];) ident(POP_FAILURE_POINT)operator((\);) reserved(continue)operator(;) reserved(case) ident(stop_backtrack)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(stackp) operator(=) ident(stackb) operator(+) ident(mcnt)operator(;) ident(POP_FAILURE_POINT)operator((\);) reserved(continue)operator(;) reserved(case) ident(pop_and_fail)operator(:) ident(EXTRACT_NUMBER)operator(()ident(mcnt)operator(,) ident(p)operator(+)integer(1)operator(\);) ident(stackp) operator(=) ident(stackb) operator(+) ident(mcnt)operator(;) ident(POP_FAILURE_POINT)operator((\);) reserved(goto) ident(fail)operator(;) reserved(case) ident(anychar)operator(:) ident(PREFETCH)operator(;) reserved(if) operator(()ident(ismbchar)operator((*)ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(d) operator(+) ident(mbclen)operator((*)ident(d)operator(\)) operator(>) ident(dend)operator(\)) reserved(goto) ident(fail)operator(;) ident(SET_REGS_MATCHED)operator(;) ident(d) operator(+=) ident(mbclen)operator((*)ident(d)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator((!()ident(options)operator(&)ident(RE_OPTION_MULTILINE)operator(\)) operator(&&) operator(()ident(TRANSLATE_P)operator((\)) operator(?) ident(translate)operator([*)ident(d)operator(]) operator(:) operator(*)ident(d)operator(\)) operator(==) char('\\n')operator(\)) reserved(goto) ident(fail)operator(;) ident(SET_REGS_MATCHED)operator(;) ident(d)operator(++;) reserved(break)operator(;) reserved(case) ident(anychar_repeat)operator(:) reserved(for) operator((;;\)) operator({) ident(PUSH_FAILURE_POINT)operator(()ident(p)operator(,) ident(d)operator(\);) ident(PREFETCH)operator(;) reserved(if) operator(()ident(ismbchar)operator((*)ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(d) operator(+) ident(mbclen)operator((*)ident(d)operator(\)) operator(>) ident(dend)operator(\)) reserved(goto) ident(fail)operator(;) ident(SET_REGS_MATCHED)operator(;) ident(d) operator(+=) ident(mbclen)operator((*)ident(d)operator(\);) reserved(continue)operator(;) operator(}) reserved(if) operator((!()ident(options)operator(&)ident(RE_OPTION_MULTILINE)operator(\)) operator(&&) operator(()ident(TRANSLATE_P)operator((\)) operator(?) ident(translate)operator([*)ident(d)operator(]) operator(:) operator(*)ident(d)operator(\)) operator(==) char('\\n')operator(\)) reserved(goto) ident(fail)operator(;) ident(SET_REGS_MATCHED)operator(;) ident(d)operator(++;) operator(}) reserved(break)operator(;) reserved(case) ident(charset)operator(:) reserved(case) ident(charset_not)operator(:) operator({) pre_type(int) ident(not)operator(;) comment(/* Nonzero for charset_not. */) pre_type(int) ident(part) operator(=) integer(0)operator(;) comment(/* true if matched part of mbc */) pre_type(unsigned) pre_type(char) operator(*)ident(dsave) operator(=) ident(d) operator(+) integer(1)operator(;) pre_type(int) ident(cc)operator(,) ident(c)operator(;) ident(PREFETCH)operator(;) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(d)operator(++;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) reserved(if) operator(()ident(d) operator(+) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1) operator(<=) ident(dend)operator(\)) operator({) ident(cc) operator(=) ident(c)operator(;) ident(MBC2WC)operator(()ident(c)operator(,) ident(d)operator(\);) ident(not) operator(=) ident(is_in_list_mbc)operator(()ident(c)operator(,) ident(p)operator(\);) reserved(if) operator((!)ident(not)operator(\)) operator({) ident(part) operator(=) ident(not) operator(=) ident(is_in_list_sbc)operator(()ident(cc)operator(,) ident(p)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(not) operator(=) ident(is_in_list)operator(()ident(c)operator(,) ident(p)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) ident(c) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(translate)operator([)ident(c)operator(];) ident(not) operator(=) ident(is_in_list)operator(()ident(c)operator(,) ident(p)operator(\);) operator(}) reserved(if) operator((*()ident(p) operator(-) integer(1)operator(\)) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(charset_not)operator(\)) operator({) ident(not) operator(=) operator(!)ident(not)operator(;) operator(}) reserved(if) operator((!)ident(not)operator(\)) reserved(goto) ident(fail)operator(;) ident(p) operator(+=) integer(1) operator(+) operator(*)ident(p) operator(+) integer(2) operator(+) ident(EXTRACT_UNSIGNED)operator((&)ident(p)operator([)integer(1) operator(+) operator(*)ident(p)operator(]\)*)integer(8)operator(;) ident(SET_REGS_MATCHED)operator(;) reserved(if) operator(()ident(part)operator(\)) ident(d) operator(=) ident(dsave)operator(;) reserved(break)operator(;) operator(}) reserved(case) ident(begline)operator(:) reserved(if) operator(()ident(size) operator(==) integer(0) operator(||) ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(if) operator(()ident(d)operator([-)integer(1)operator(]) operator(==) char('\\n') operator(&&) operator(!)ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) reserved(case) ident(endline)operator(:) reserved(if) operator(()ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) operator({) reserved(break)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(d) operator(==) char('\\n')operator(\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) comment(/* Match at the very beginning of the string. */) reserved(case) ident(begbuf)operator(:) reserved(if) operator(()ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) comment(/* Match at the very end of the data. */) reserved(case) ident(endbuf)operator(:) reserved(if) operator(()ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) comment(/* Match at the very end of the data. */) reserved(case) ident(endbuf2)operator(:) reserved(if) operator(()ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) operator({) reserved(break)operator(;) operator(}) comment(/* .. or newline just before the end of the data. */) reserved(if) operator((*)ident(d) operator(==) char('\\n') operator(&&) ident(AT_STRINGS_END)operator(()ident(d)operator(+)integer(1)operator(\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) comment(/* `or' constructs are handled by starting each alternative with an on_failure_jump that points to the start of the next alternative. Each alternative except the last ends with a jump to the joining point. (Actually, each jump except for the last one really jumps to the following jump, because tensioning the jumps is a hassle.\) */) comment(/* The start of a stupid repeat has an on_failure_jump that points past the end of the repeat text. This makes a failure point so that on failure to match a repetition, matching restarts past as many repetitions have been found with no way to fail and look for another one. */) comment(/* A smart repeat is similar but loops back to the on_failure_jump so that each repetition makes another failure point. */) comment(/* Match at the starting position. */) reserved(case) ident(begpos)operator(:) reserved(if) operator(()ident(d) operator(-) ident(string) operator(==) ident(beg)operator(\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) reserved(case) ident(on_failure_jump)operator(:) label(on_failure:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(PUSH_FAILURE_POINT)operator(()ident(p) operator(+) ident(mcnt)operator(,) ident(d)operator(\);) reserved(continue)operator(;) comment(/* The end of a smart repeat has a maybe_finalize_jump back. Change it either to a finalize_jump or an ordinary jump. */) reserved(case) ident(maybe_finalize_jump)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(p1) operator(=) ident(p)operator(;) comment(/* Compare the beginning of the repeat with what in the pattern follows its end. If we can establish that there is nothing that they would both match, i.e., that we would have to backtrack because of (as in, e.g., `a*a'\) then we can change to finalize_jump, because we'll never have to backtrack. This is not true in the case of alternatives: in `(a|ab\)*' we do need to backtrack to the `ab' alternative (e.g., if the string was `ab'\). But instead of trying to detect that here, the alternative has put on a dummy failure point which is what we will end up popping. */) comment(/* Skip over open/close-group commands. */) reserved(while) operator(()ident(p1) operator(+) integer(2) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(stop_memory) operator(||) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(start_memory)operator(\)) ident(p1) operator(+=) integer(3)operator(;) comment(/* Skip over args, too. */) reserved(else) reserved(if) operator(()comment(/*(enum regexpcode\)*p1 == start_paren ||*/) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(stop_paren)operator(\)) ident(p1) operator(+=) integer(1)operator(;) reserved(else) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(p1) operator(==) ident(pend)operator(\)) ident(p)operator([-)integer(3)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(finalize_jump)operator(;) reserved(else) reserved(if) operator((*)ident(p1) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(exactn) operator(||) operator(*)ident(p1) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(endline)operator(\)) operator({) directive(register) pre_type(int) ident(c) operator(=) operator(*)ident(p1) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(endline) operator(?) char('\\n') operator(:) ident(p1)operator([)integer(2)operator(];) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(p2) operator(=) ident(p) operator(+) ident(mcnt)operator(;) comment(/* p2[0] ... p2[2] are an on_failure_jump. Examine what follows that. */) reserved(if) operator(()ident(p2)operator([)integer(3)operator(]) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(exactn) operator(&&) ident(p2)operator([)integer(5)operator(]) operator(!=) ident(c)operator(\)) ident(p)operator([-)integer(3)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(finalize_jump)operator(;) reserved(else) reserved(if) operator(()ident(p2)operator([)integer(3)operator(]) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(charset) operator(||) ident(p2)operator([)integer(3)operator(]) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(charset_not)operator(\)) operator({) pre_type(int) ident(not)operator(;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(unsigned) pre_type(char) operator(*)ident(pp) operator(=) ident(p1)operator(+)integer(3)operator(;) ident(MBC2WC)operator(()ident(c)operator(,) ident(pp)operator(\);) operator(}) comment(/* `is_in_list(\)' is TRUE if c would match */) comment(/* That means it is not safe to finalize. */) ident(not) operator(=) ident(is_in_list)operator(()ident(c)operator(,) ident(p2) operator(+) integer(4)operator(\);) reserved(if) operator(()ident(p2)operator([)integer(3)operator(]) operator(==) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(charset_not)operator(\)) ident(not) operator(=) operator(!)ident(not)operator(;) reserved(if) operator((!)ident(not)operator(\)) ident(p)operator([-)integer(3)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(finalize_jump)operator(;) operator(}) operator(}) ident(p) operator(-=) integer(2)operator(;) comment(/* Point at relative address again. */) reserved(if) operator(()ident(p)operator([-)integer(1)operator(]) operator(!=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(finalize_jump)operator(\)) operator({) ident(p)operator([-)integer(1)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(jump)operator(;) reserved(goto) ident(nofinalize)operator(;) operator(}) comment(/* Note fall through. */) comment(/* The end of a stupid repeat has a finalize_jump back to the start, where another failure point will be made which will point to after all the repetitions found so far. */) comment(/* Take off failure points put on by matching on_failure_jump because didn't fail. Also remove the register information put on by the on_failure_jump. */) reserved(case) ident(finalize_jump)operator(:) reserved(if) operator(()ident(stackp) operator(>) ident(stackb) operator(&&) ident(stackp)operator([-)integer(3)operator(]) operator(==) ident(d)operator(\)) operator({) ident(p) operator(=) ident(stackp)operator([-)integer(4)operator(];) ident(POP_FAILURE_POINT)operator((\);) reserved(continue)operator(;) operator(}) ident(POP_FAILURE_POINT)operator((\);) comment(/* Note fall through. */) comment(/* We need this opcode so we can detect where alternatives end in `group_match_null_string_p' et al. */) reserved(case) ident(jump_past_alt)operator(:) comment(/* fall through */) comment(/* Jump without taking off any failure points. */) reserved(case) ident(jump)operator(:) label(nofinalize:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(mcnt) operator(<) integer(0) operator(&&) ident(stackp) operator(>) ident(stackb) operator(&&) ident(stackp)operator([-)integer(3)operator(]) operator(==) ident(d)operator(\)) comment(/* avoid infinite loop */) reserved(goto) ident(fail)operator(;) ident(p) operator(+=) ident(mcnt)operator(;) reserved(continue)operator(;) reserved(case) ident(dummy_failure_jump)operator(:) comment(/* Normally, the on_failure_jump pushes a failure point, which then gets popped at finalize_jump. We will end up at finalize_jump, also, and with a pattern of, say, `a+', we are skipping over the on_failure_jump, so we have to push something meaningless for finalize_jump to pop. */) ident(PUSH_FAILURE_POINT)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(goto) ident(nofinalize)operator(;) comment(/* At the end of an alternative, we need to push a dummy failure point in case we are followed by a `finalize_jump', because we don't want the failure point for the alternative to be popped. For example, matching `(a|ab\)*' against `aab' requires that we match the `ab' alternative. */) reserved(case) ident(push_dummy_failure)operator(:) comment(/* See comments just above at `dummy_failure_jump' about the two zeroes. */) ident(p1) operator(=) ident(p)operator(;) comment(/* Skip over open/close-group commands. */) reserved(while) operator(()ident(p1) operator(+) integer(2) operator(<) ident(pend)operator(\)) operator({) reserved(if) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(stop_memory) operator(||) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(start_memory)operator(\)) ident(p1) operator(+=) integer(3)operator(;) comment(/* Skip over args, too. */) reserved(else) reserved(if) operator(()comment(/*(enum regexpcode\)*p1 == start_paren ||*/) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(stop_paren)operator(\)) ident(p1) operator(+=) integer(1)operator(;) reserved(else) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(p1) operator(<) ident(pend) operator(&&) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(jump)operator(\)) ident(p)operator([-)integer(1)operator(]) operator(=) ident(unused)operator(;) reserved(else) ident(PUSH_FAILURE_POINT)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(break)operator(;) comment(/* Have to succeed matching what follows at least n times. Then just handle like an on_failure_jump. */) reserved(case) ident(succeed_n)operator(:) ident(EXTRACT_NUMBER)operator(()ident(mcnt)operator(,) ident(p) operator(+) integer(2)operator(\);) comment(/* Originally, this is how many times we HAVE to succeed. */) reserved(if) operator(()ident(mcnt) operator(!=) integer(0)operator(\)) operator({) ident(mcnt)operator(--;) ident(p) operator(+=) integer(2)operator(;) ident(PUSH_FAILURE_COUNT)operator(()ident(p)operator(\);) ident(STORE_NUMBER_AND_INCR)operator(()ident(p)operator(,) ident(mcnt)operator(\);) ident(PUSH_FAILURE_POINT)operator(()integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(goto) ident(on_failure)operator(;) operator(}) reserved(continue)operator(;) reserved(case) ident(jump_n)operator(:) ident(EXTRACT_NUMBER)operator(()ident(mcnt)operator(,) ident(p) operator(+) integer(2)operator(\);) comment(/* Originally, this is how many times we CAN jump. */) reserved(if) operator(()ident(mcnt)operator(\)) operator({) ident(mcnt)operator(--;) ident(PUSH_FAILURE_COUNT)operator(()ident(p) operator(+) integer(2)operator(\);) ident(STORE_NUMBER)operator(()ident(p) operator(+) integer(2)operator(,) ident(mcnt)operator(\);) reserved(goto) ident(nofinalize)operator(;) comment(/* Do the jump without taking off any failure points. */) operator(}) comment(/* If don't have to jump any more, skip over the rest of command. */) reserved(else) ident(p) operator(+=) integer(4)operator(;) reserved(continue)operator(;) reserved(case) ident(set_number_at)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(p1) operator(=) ident(p) operator(+) ident(mcnt)operator(;) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(STORE_NUMBER)operator(()ident(p1)operator(,) ident(mcnt)operator(\);) reserved(continue)operator(;) reserved(case) ident(try_next)operator(:) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(p) operator(+) ident(mcnt) operator(<) ident(pend)operator(\)) operator({) ident(PUSH_FAILURE_POINT)operator(()ident(p)operator(,) ident(d)operator(\);) ident(stackp)operator([-)integer(1)operator(]) operator(=) ident(NON_GREEDY)operator(;) operator(}) ident(p) operator(+=) ident(mcnt)operator(;) reserved(continue)operator(;) reserved(case) ident(finalize_push)operator(:) ident(POP_FAILURE_POINT)operator((\);) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) reserved(if) operator(()ident(mcnt) operator(<) integer(0) operator(&&) ident(stackp) operator(>) ident(stackb) operator(&&) ident(stackp)operator([-)integer(3)operator(]) operator(==) ident(d)operator(\)) comment(/* avoid infinite loop */) reserved(goto) ident(fail)operator(;) ident(PUSH_FAILURE_POINT)operator(()ident(p) operator(+) ident(mcnt)operator(,) ident(d)operator(\);) ident(stackp)operator([-)integer(1)operator(]) operator(=) ident(NON_GREEDY)operator(;) reserved(continue)operator(;) reserved(case) ident(finalize_push_n)operator(:) ident(EXTRACT_NUMBER)operator(()ident(mcnt)operator(,) ident(p) operator(+) integer(2)operator(\);) comment(/* Originally, this is how many times we CAN jump. */) reserved(if) operator(()ident(mcnt)operator(\)) operator({) pre_type(int) ident(pos)operator(,) ident(i)operator(;) ident(mcnt)operator(--;) ident(STORE_NUMBER)operator(()ident(p) operator(+) integer(2)operator(,) ident(mcnt)operator(\);) ident(EXTRACT_NUMBER)operator(()ident(pos)operator(,) ident(p)operator(\);) ident(EXTRACT_NUMBER)operator(()ident(i)operator(,) ident(p)operator(+)ident(pos)operator(+)integer(5)operator(\);) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) reserved(goto) ident(nofinalize)operator(;) ident(POP_FAILURE_POINT)operator((\);) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p)operator(\);) ident(PUSH_FAILURE_POINT)operator(()ident(p) operator(+) ident(mcnt)operator(,) ident(d)operator(\);) ident(stackp)operator([-)integer(1)operator(]) operator(=) ident(NON_GREEDY)operator(;) ident(p) operator(+=) integer(2)operator(;) comment(/* skip n */) operator(}) comment(/* If don't have to push any more, skip over the rest of command. */) reserved(else) ident(p) operator(+=) integer(4)operator(;) reserved(continue)operator(;) comment(/* Ignore these. Used to ignore the n of succeed_n's which currently have n == 0. */) reserved(case) ident(unused)operator(:) reserved(continue)operator(;) reserved(case) ident(casefold_on)operator(:) ident(options) operator(|=) ident(RE_OPTION_IGNORECASE)operator(;) reserved(continue)operator(;) reserved(case) ident(casefold_off)operator(:) ident(options) operator(&=) operator(~)ident(RE_OPTION_IGNORECASE)operator(;) reserved(continue)operator(;) reserved(case) ident(option_set)operator(:) ident(options) operator(=) operator(*)ident(p)operator(++;) reserved(continue)operator(;) reserved(case) ident(wordbound)operator(:) reserved(if) operator(()ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(if) operator(()ident(IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(else) reserved(goto) ident(fail)operator(;) operator(}) reserved(if) operator(()ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(else) reserved(goto) ident(fail)operator(;) operator(}) reserved(if) operator(()ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)) operator(!=) ident(IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) reserved(case) ident(notwordbound)operator(:) reserved(if) operator(()ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(else) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)) operator({) reserved(if) operator(()ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(else) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)) operator(!=) ident(IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(break)operator(;) reserved(case) ident(wordbeg)operator(:) reserved(if) operator(()ident(IS_A_LETTER)operator(()ident(d)operator(\)) operator(&&) operator(()ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)) operator(||) operator(!)ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) reserved(case) ident(wordend)operator(:) reserved(if) operator((!)ident(AT_STRINGS_BEG)operator(()ident(d)operator(\)) operator(&&) ident(PREV_IS_A_LETTER)operator(()ident(d)operator(\)) operator(&&) operator((!)ident(IS_A_LETTER)operator(()ident(d)operator(\)) operator(||) ident(AT_STRINGS_END)operator(()ident(d)operator(\)\)\)) reserved(break)operator(;) reserved(goto) ident(fail)operator(;) reserved(case) ident(wordchar)operator(:) ident(PREFETCH)operator(;) reserved(if) operator((!)ident(IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(if) operator(()ident(ismbchar)operator((*)ident(d)operator(\)) operator(&&) ident(d) operator(+) ident(mbclen)operator((*)ident(d)operator(\)) operator(-) integer(1) operator(<) ident(dend)operator(\)) ident(d) operator(+=) ident(mbclen)operator((*)ident(d)operator(\)) operator(-) integer(1)operator(;) ident(d)operator(++;) ident(SET_REGS_MATCHED)operator(;) reserved(break)operator(;) reserved(case) ident(notwordchar)operator(:) ident(PREFETCH)operator(;) reserved(if) operator(()ident(IS_A_LETTER)operator(()ident(d)operator(\)\)) reserved(goto) ident(fail)operator(;) reserved(if) operator(()ident(ismbchar)operator((*)ident(d)operator(\)) operator(&&) ident(d) operator(+) ident(mbclen)operator((*)ident(d)operator(\)) operator(-) integer(1) operator(<) ident(dend)operator(\)) ident(d) operator(+=) ident(mbclen)operator((*)ident(d)operator(\)) operator(-) integer(1)operator(;) ident(d)operator(++;) ident(SET_REGS_MATCHED)operator(;) reserved(break)operator(;) reserved(case) ident(exactn)operator(:) comment(/* Match the next few pattern characters exactly. mcnt is how many characters to match. */) ident(mcnt) operator(=) operator(*)ident(p)operator(++;) comment(/* This is written out as an if-else so we don't waste time testing `translate' inside the loop. */) reserved(if) operator(()ident(TRANSLATE_P)operator((\)\)) operator({) reserved(do) operator({) pre_type(unsigned) pre_type(char) ident(c)operator(;) ident(PREFETCH)operator(;) reserved(if) operator((*)ident(p) operator(==) hex(0xff)operator(\)) operator({) ident(p)operator(++;) reserved(if) operator((!--)ident(mcnt) operator(||) ident(AT_STRINGS_END)operator(()ident(d)operator(\)) operator(||) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(d)operator(++) operator(!=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(p)operator(++\)) reserved(goto) ident(fail)operator(;) reserved(continue)operator(;) operator(}) ident(c) operator(=) operator(*)ident(d)operator(++;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(n)operator(;) reserved(if) operator(()ident(c) operator(!=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(p)operator(++\)) reserved(goto) ident(fail)operator(;) reserved(for) operator(()ident(n) operator(=) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) ident(n) operator(>) integer(0)operator(;) ident(n)operator(--\)) reserved(if) operator((!--)ident(mcnt) comment(/* redundant check if pattern was compiled properly. */) operator(||) ident(AT_STRINGS_END)operator(()ident(d)operator(\)) operator(||) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(d)operator(++) operator(!=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(p)operator(++\)) reserved(goto) ident(fail)operator(;) reserved(continue)operator(;) operator(}) comment(/* compiled code translation needed for ruby */) reserved(if) operator((()pre_type(unsigned) pre_type(char)operator(\))ident(translate)operator([)ident(c)operator(]) operator(!=) operator(()pre_type(unsigned) pre_type(char)operator(\))ident(translate)operator([*)ident(p)operator(++]\)) reserved(goto) ident(fail)operator(;) operator(}) reserved(while) operator((--)ident(mcnt)operator(\);) operator(}) reserved(else) operator({) reserved(do) operator({) ident(PREFETCH)operator(;) reserved(if) operator((*)ident(p) operator(==) hex(0xff)operator(\)) operator({)ident(p)operator(++;) ident(mcnt)operator(--;}) reserved(if) operator((*)ident(d)operator(++) operator(!=) operator(*)ident(p)operator(++\)) reserved(goto) ident(fail)operator(;) operator(}) reserved(while) operator((--)ident(mcnt)operator(\);) operator(}) ident(SET_REGS_MATCHED)operator(;) reserved(break)operator(;) operator(}) preprocessor(#ifdef) ident(RUBY) ident(CHECK_INTS)operator(;) preprocessor(#endif) reserved(continue)operator(;) comment(/* Successfully executed one pattern command; keep going. */) comment(/* Jump here if any matching operation fails. */) label(fail:) reserved(if) operator(()ident(stackp) operator(!=) ident(stackb)operator(\)) operator({) comment(/* A restart point is known. Restart there and pop it. */) pre_type(short) ident(last_used_reg)operator(,) ident(this_reg)operator(;) comment(/* If this failure point is from a dummy_failure_point, just skip it. */) reserved(if) operator(()ident(stackp)operator([-)integer(4)operator(]) operator(==) integer(0) operator(||) operator(()ident(best_regs_set) operator(&&) ident(stackp)operator([-)integer(1)operator(]) operator(==) ident(NON_GREEDY)operator(\)\)) operator({) ident(POP_FAILURE_POINT)operator((\);) reserved(goto) ident(fail)operator(;) operator(}) ident(stackp)operator(--;) comment(/* discard greedy flag */) ident(options) operator(=) operator(()pre_type(long)operator(\)*--)ident(stackp)operator(;) ident(d) operator(=) operator(*--)ident(stackp)operator(;) ident(p) operator(=) operator(*--)ident(stackp)operator(;) comment(/* Restore register info. */) ident(last_used_reg) operator(=) operator(()pre_type(long)operator(\)*--)ident(stackp)operator(;) comment(/* Make the ones that weren't saved -1 or 0 again. */) reserved(for) operator(()ident(this_reg) operator(=) ident(num_regs) operator(-) integer(1)operator(;) ident(this_reg) operator(>) ident(last_used_reg)operator(;) ident(this_reg)operator(--\)) operator({) ident(regend)operator([)ident(this_reg)operator(]) operator(=) ident(REG_UNSET_VALUE)operator(;) ident(regstart)operator([)ident(this_reg)operator(]) operator(=) ident(REG_UNSET_VALUE)operator(;) ident(IS_ACTIVE)operator(()ident(reg_info)operator([)ident(this_reg)operator(]\)) operator(=) integer(0)operator(;) ident(MATCHED_SOMETHING)operator(()ident(reg_info)operator([)ident(this_reg)operator(]\)) operator(=) integer(0)operator(;) operator(}) comment(/* And restore the rest from the stack. */) reserved(for) operator(() operator(;) ident(this_reg) operator(>) integer(0)operator(;) ident(this_reg)operator(--\)) operator({) ident(reg_info)operator([)ident(this_reg)operator(])operator(.)ident(word) operator(=) operator(*--)ident(stackp)operator(;) ident(regend)operator([)ident(this_reg)operator(]) operator(=) operator(*--)ident(stackp)operator(;) ident(regstart)operator([)ident(this_reg)operator(]) operator(=) operator(*--)ident(stackp)operator(;) operator(}) ident(mcnt) operator(=) operator(()pre_type(long)operator(\)*--)ident(stackp)operator(;) reserved(while) operator(()ident(mcnt)operator(--\)) operator({) ident(POP_FAILURE_COUNT)operator((\);) operator(}) reserved(if) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) pre_type(int) ident(is_a_jump_n) operator(=) integer(0)operator(;) pre_type(int) ident(failed_paren) operator(=) integer(0)operator(;) ident(p1) operator(=) ident(p)operator(;) comment(/* If failed to a backwards jump that's part of a repetition loop, need to pop this failure point and use the next one. */) reserved(switch) operator((()reserved(enum) ident(regexpcode)operator(\)*)ident(p1)operator(\)) operator({) reserved(case) ident(jump_n)operator(:) reserved(case) ident(finalize_push_n)operator(:) ident(is_a_jump_n) operator(=) integer(1)operator(;) reserved(case) ident(maybe_finalize_jump)operator(:) reserved(case) ident(finalize_jump)operator(:) reserved(case) ident(finalize_push)operator(:) reserved(case) ident(jump)operator(:) ident(p1)operator(++;) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p1)operator(\);) reserved(if) operator(()ident(mcnt) operator(>=) integer(0)operator(\)) reserved(break)operator(;) comment(/* should be backward jump */) ident(p1) operator(+=) ident(mcnt)operator(;) reserved(if) operator((() ident(is_a_jump_n) operator(&&) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(succeed_n)operator(\)) operator(||) operator((!)ident(is_a_jump_n) operator(&&) operator(()reserved(enum) ident(regexpcode)operator(\)*)ident(p1) operator(==) ident(on_failure_jump)operator(\)\)) operator({) reserved(if) operator(()ident(failed_paren)operator(\)) operator({) ident(p1)operator(++;) ident(EXTRACT_NUMBER_AND_INCR)operator(()ident(mcnt)operator(,) ident(p1)operator(\);) ident(PUSH_FAILURE_POINT)operator(()ident(p1) operator(+) ident(mcnt)operator(,) ident(d)operator(\);) operator(}) reserved(goto) ident(fail)operator(;) operator(}) reserved(break)operator(;) reserved(default)operator(:) comment(/* do nothing */)operator(;) operator(}) operator(}) operator(}) reserved(else) reserved(break)operator(;) comment(/* Matching at this starting point really fails. */) operator(}) reserved(if) operator(()ident(best_regs_set)operator(\)) reserved(goto) ident(restore_best_regs)operator(;) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,(-)integer(1)operator(\)\);) comment(/* Failure to match. */) label(memory_exhausted:) ident(FREE_AND_RETURN)operator(()ident(stackb)operator(,(-)integer(2)operator(\)\);) operator(}) directive(static) pre_type(int) ident(memcmp_translate)operator(()ident(s1)operator(,) ident(s2)operator(,) ident(len)operator(\)) pre_type(unsigned) pre_type(char) operator(*)ident(s1)operator(,) operator(*)ident(s2)operator(;) directive(register) pre_type(int) ident(len)operator(;) operator({) directive(register) pre_type(unsigned) pre_type(char) operator(*)ident(p1) operator(=) ident(s1)operator(,) operator(*)ident(p2) operator(=) ident(s2)operator(,) ident(c)operator(;) reserved(while) operator(()ident(len)operator(\)) operator({) ident(c) operator(=) operator(*)ident(p1)operator(++;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)\)) operator({) pre_type(int) ident(n)operator(;) reserved(if) operator(()ident(c) operator(!=) operator(*)ident(p2)operator(++\)) reserved(return) integer(1)operator(;) reserved(for) operator(()ident(n) operator(=) ident(mbclen)operator(()ident(c)operator(\)) operator(-) integer(1)operator(;) ident(n) operator(>) integer(0)operator(;) ident(n)operator(--\)) reserved(if) operator((!--)ident(len) operator(||) operator(*)ident(p1)operator(++) operator(!=) operator(*)ident(p2)operator(++\)) reserved(return) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(translate)operator([)ident(c)operator(]) operator(!=) ident(translate)operator([*)ident(p2)operator(++]\)) reserved(return) integer(1)operator(;) ident(len)operator(--;) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(void) ident(re_copy_registers)operator(()ident(regs1)operator(,) ident(regs2)operator(\)) reserved(struct) ident(re_registers) operator(*)ident(regs1)operator(,) operator(*)ident(regs2)operator(;) operator({) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(regs1) operator(==) ident(regs2)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(regs1)operator(->)ident(allocated) operator(==) integer(0)operator(\)) operator({) ident(regs1)operator(->)ident(beg) operator(=) ident(TMALLOC)operator(()ident(regs2)operator(->)ident(num_regs)operator(,) pre_type(int)operator(\);) ident(regs1)operator(->)ident(end) operator(=) ident(TMALLOC)operator(()ident(regs2)operator(->)ident(num_regs)operator(,) pre_type(int)operator(\);) ident(regs1)operator(->)ident(allocated) operator(=) ident(regs2)operator(->)ident(num_regs)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(regs1)operator(->)ident(allocated) operator(<) ident(regs2)operator(->)ident(num_regs)operator(\)) operator({) ident(TREALLOC)operator(()ident(regs1)operator(->)ident(beg)operator(,) ident(regs2)operator(->)ident(num_regs)operator(,) pre_type(int)operator(\);) ident(TREALLOC)operator(()ident(regs1)operator(->)ident(end)operator(,) ident(regs2)operator(->)ident(num_regs)operator(,) pre_type(int)operator(\);) ident(regs1)operator(->)ident(allocated) operator(=) ident(regs2)operator(->)ident(num_regs)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(regs2)operator(->)ident(num_regs)operator(;) ident(i)operator(++\)) operator({) ident(regs1)operator(->)ident(beg)operator([)ident(i)operator(]) operator(=) ident(regs2)operator(->)ident(beg)operator([)ident(i)operator(];) ident(regs1)operator(->)ident(end)operator([)ident(i)operator(]) operator(=) ident(regs2)operator(->)ident(end)operator([)ident(i)operator(];) operator(}) ident(regs1)operator(->)ident(num_regs) operator(=) ident(regs2)operator(->)ident(num_regs)operator(;) operator(}) directive(void) ident(re_free_registers)operator(()ident(regs)operator(\)) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) operator({) reserved(if) operator(()ident(regs)operator(->)ident(allocated) operator(==) integer(0)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(regs)operator(->)ident(beg)operator(\)) ident(xfree)operator(()ident(regs)operator(->)ident(beg)operator(\);) reserved(if) operator(()ident(regs)operator(->)ident(end)operator(\)) ident(xfree)operator(()ident(regs)operator(->)ident(end)operator(\);) operator(}) comment(/* Functions for multi-byte support. Created for grep multi-byte extension Jul., 1993 by t^2 (Takahiro Tanimoto\) Last change: Jul. 9, 1993 by t^2 */) directive(static) directive(const) pre_type(unsigned) pre_type(char) ident(mbctab_ascii)operator([]) operator(=) operator({) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) operator(};) directive(static) directive(const) pre_type(unsigned) pre_type(char) ident(mbctab_euc)operator([]) operator(=) operator({) comment(/* 0xA1-0xFE */) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(2)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) operator(};) directive(static) directive(const) pre_type(unsigned) pre_type(char) ident(mbctab_sjis)operator([]) operator(=) operator({) comment(/* 0x81-0x9F,0xE0-0xFC */) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0) operator(};) directive(static) directive(const) pre_type(unsigned) pre_type(char) ident(mbctab_sjis_trail)operator([]) operator(=) operator({) comment(/* 0x40-0x7E,0x80-0xFC */) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0) operator(};) directive(static) directive(const) pre_type(unsigned) pre_type(char) ident(mbctab_utf8)operator([]) operator(=) operator({) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(0)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(1)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(2)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(3)operator(,) integer(4)operator(,) integer(4)operator(,) integer(4)operator(,) integer(4)operator(,) integer(5)operator(,) integer(5)operator(,) integer(0)operator(,) integer(0)operator(,) operator(};) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(re_mbctab) operator(=) ident(mbctab_ascii)operator(;) directive(void) ident(re_mbcinit)operator(()ident(mbctype)operator(\)) pre_type(int) ident(mbctype)operator(;) operator({) reserved(switch) operator(()ident(mbctype)operator(\)) operator({) reserved(case) ident(MBCTYPE_ASCII)operator(:) ident(re_mbctab) operator(=) ident(mbctab_ascii)operator(;) ident(current_mbctype) operator(=) ident(MBCTYPE_ASCII)operator(;) reserved(break)operator(;) reserved(case) ident(MBCTYPE_EUC)operator(:) ident(re_mbctab) operator(=) ident(mbctab_euc)operator(;) ident(current_mbctype) operator(=) ident(MBCTYPE_EUC)operator(;) reserved(break)operator(;) reserved(case) ident(MBCTYPE_SJIS)operator(:) ident(re_mbctab) operator(=) ident(mbctab_sjis)operator(;) ident(current_mbctype) operator(=) ident(MBCTYPE_SJIS)operator(;) reserved(break)operator(;) reserved(case) ident(MBCTYPE_UTF8)operator(:) ident(re_mbctab) operator(=) ident(mbctab_utf8)operator(;) ident(current_mbctype) operator(=) ident(MBCTYPE_UTF8)operator(;) reserved(break)operator(;) operator(}) operator(}) preprocessor(#define) ident(mbc_isfirst)operator(()ident(t)operator(,) ident(c)operator(\)) operator(()ident(t)operator(\)[()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)]) preprocessor(#define) ident(mbc_len)operator(()ident(t)operator(,) ident(c)operator(\)) operator((()ident(t)operator(\)[()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)]+)integer(1)operator(\)) directive(static) pre_type(unsigned) pre_type(int) ident(asc_startpos)operator(()ident(string)operator(,) ident(pos)operator(\)) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(unsigned) pre_type(int) ident(pos)operator(;) operator({) reserved(return) ident(pos)operator(;) operator(}) preprocessor(#define) ident(euc_islead)operator(()ident(c)operator(\)) operator((()pre_type(unsigned) pre_type(char)operator(\)(()ident(c)operator(\)) operator(-) hex(0xa1)operator(\)) operator(>) hex(0xfe) operator(-) hex(0xa1)operator(\)) preprocessor(#define) ident(euc_mbclen)operator(()ident(c)operator(\)) ident(mbc_len)operator(()ident(mbctab_euc)operator(,) operator(()ident(c)operator(\)\)) directive(static) pre_type(unsigned) pre_type(int) ident(euc_startpos)operator(()ident(string)operator(,) ident(pos)operator(\)) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(unsigned) pre_type(int) ident(pos)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(i) operator(=) ident(pos)operator(,) ident(w)operator(;) reserved(while) operator(()ident(i) operator(>) integer(0) operator(&&) operator(!)ident(euc_islead)operator(()ident(string)operator([)ident(i)operator(]\)\)) operator({) operator(--)ident(i)operator(;) operator(}) reserved(if) operator(()ident(i) operator(==) ident(pos) operator(||) ident(i) operator(+) operator(()ident(w) operator(=) ident(euc_mbclen)operator(()ident(string)operator([)ident(i)operator(]\)\)) operator(>) ident(pos)operator(\)) operator({) reserved(return) ident(i)operator(;) operator(}) ident(i) operator(+=) ident(w)operator(;) reserved(return) ident(i) operator(+) operator((()ident(pos) operator(-) ident(i)operator(\)) operator(&) operator(~)integer(1)operator(\);) operator(}) preprocessor(#define) ident(sjis_isfirst)operator(()ident(c)operator(\)) ident(mbc_isfirst)operator(()ident(mbctab_sjis)operator(,) operator(()ident(c)operator(\)\)) preprocessor(#define) ident(sjis_istrail)operator(()ident(c)operator(\)) ident(mbctab_sjis_trail)operator([()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)]) preprocessor(#define) ident(sjis_mbclen)operator(()ident(c)operator(\)) ident(mbc_len)operator(()ident(mbctab_sjis)operator(,) operator(()ident(c)operator(\)\)) directive(static) pre_type(unsigned) pre_type(int) ident(sjis_startpos)operator(()ident(string)operator(,) ident(pos)operator(\)) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(unsigned) pre_type(int) ident(pos)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(i) operator(=) ident(pos)operator(,) ident(w)operator(;) reserved(if) operator(()ident(i) operator(>) integer(0) operator(&&) ident(sjis_istrail)operator(()ident(string)operator([)ident(i)operator(]\)\)) operator({) reserved(do) operator({) reserved(if) operator((!)ident(sjis_isfirst)operator(()ident(string)operator([--)ident(i)operator(]\)\)) operator({) operator(++)ident(i)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(while) operator(()ident(i) operator(>) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(i) operator(==) ident(pos) operator(||) ident(i) operator(+) operator(()ident(w) operator(=) ident(sjis_mbclen)operator(()ident(string)operator([)ident(i)operator(]\)\)) operator(>) ident(pos)operator(\)) operator({) reserved(return) ident(i)operator(;) operator(}) ident(i) operator(+=) ident(w)operator(;) reserved(return) ident(i) operator(+) operator((()ident(pos) operator(-) ident(i)operator(\)) operator(&) operator(~)integer(1)operator(\);) operator(}) preprocessor(#define) ident(utf8_islead)operator(()ident(c)operator(\)) operator((()pre_type(unsigned) pre_type(char)operator(\)(()ident(c)operator(\)) operator(&) hex(0xc0)operator(\)) operator(!=) hex(0x80)operator(\)) preprocessor(#define) ident(utf8_mbclen)operator(()ident(c)operator(\)) ident(mbc_len)operator(()ident(mbctab_utf8)operator(,) operator(()ident(c)operator(\)\)) directive(static) pre_type(unsigned) pre_type(int) ident(utf8_startpos)operator(()ident(string)operator(,) ident(pos)operator(\)) directive(const) pre_type(char) operator(*)ident(string)operator(;) pre_type(unsigned) pre_type(int) ident(pos)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(i) operator(=) ident(pos)operator(,) ident(w)operator(;) reserved(while) operator(()ident(i) operator(>) integer(0) operator(&&) operator(!)ident(utf8_islead)operator(()ident(string)operator([)ident(i)operator(]\)\)) operator({) operator(--)ident(i)operator(;) operator(}) reserved(if) operator(()ident(i) operator(==) ident(pos) operator(||) ident(i) operator(+) operator(()ident(w) operator(=) ident(utf8_mbclen)operator(()ident(string)operator([)ident(i)operator(]\)\)) operator(>) ident(pos)operator(\)) operator({) reserved(return) ident(i)operator(;) operator(}) reserved(return) ident(i) operator(+) ident(w)operator(;) operator(}) comment(/* vi: sw=2 ts=8 Local variables: mode : C c-file-style : "gnu" tab-width : 8 End */) comment(/********************************************************************** ruby.c - $Author: shyouhei $ $Date: 2008-07-10 11:36:08 +0200 (Thu, 10 Jul 2008\) $ created at: Tue Aug 10 12:47:31 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#if) ident(defined) ident(_WIN32) operator(||) ident(defined) ident(__CYGWIN__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined) ident(__CYGWIN__) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(_WIN32_WCE) preprocessor(#include) include() preprocessor(#include) include("wince.h") preprocessor(#endif) preprocessor(#include) include("ruby.h") preprocessor(#include) include("dln.h") preprocessor(#include) include("node.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(__hpux) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRING_H) pre_type(char) operator(*)ident(strchr) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(\)\);) pre_type(char) operator(*)ident(strrchr) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(\)\);) pre_type(char) operator(*)ident(strstr) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(*\)\);) preprocessor(#endif) preprocessor(#include) include("util.h") preprocessor(#ifndef) ident(HAVE_STDLIB_H) pre_type(char) operator(*)ident(getenv)operator((\);) preprocessor(#endif) ident(VALUE) ident(ruby_debug) operator(=) ident(Qfalse)operator(;) ident(VALUE) ident(ruby_verbose) operator(=) ident(Qfalse)operator(;) directive(static) pre_type(int) ident(sflag) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(xflag) operator(=) integer(0)operator(;) directive(extern) pre_type(int) ident(ruby_yydebug)operator(;) pre_type(char) operator(*)ident(ruby_inplace_mode) operator(=) ident(Qfalse)operator(;) directive(static) directive(void) ident(load_stdin) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(void) ident(load_file) ident(_)operator((()directive(const) pre_type(char) operator(*,) pre_type(int)operator(\)\);) directive(static) directive(void) ident(forbid_setid) ident(_)operator((()directive(const) pre_type(char) operator(*\)\);) directive(static) ident(VALUE) ident(do_loop) operator(=) ident(Qfalse)operator(,) ident(do_print) operator(=) ident(Qfalse)operator(;) directive(static) ident(VALUE) ident(do_check) operator(=) ident(Qfalse)operator(,) ident(do_line) operator(=) ident(Qfalse)operator(;) directive(static) ident(VALUE) ident(do_split) operator(=) ident(Qfalse)operator(;) directive(static) pre_type(char) operator(*)ident(script)operator(;) directive(static) pre_type(int) ident(origargc)operator(;) directive(static) pre_type(char) operator(**)ident(origargv)operator(;) directive(static) directive(void) ident(usage)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) comment(/* This message really ought to be max 23 lines. * Removed -h because the user already knows that option. Others? */) directive(static) pre_type(char) operator(*)ident(usage_msg)operator([]) operator(=) operator({) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) pre_constant(NULL) operator(};) pre_type(char) operator(**)ident(p) operator(=) ident(usage_msg)operator(;) ident(printf)operator(()stringoperator(,) ident(name)operator(\);) reserved(while) operator((*)ident(p)operator(\)) ident(printf)operator(()stringoperator(,) operator(*)ident(p)operator(++\);) operator(}) directive(extern) ident(VALUE) ident(rb_load_path)operator(;) preprocessor(#ifndef) ident(CharNext) comment(/* defined as CharNext[AW] on Windows. */) preprocessor(#define) ident(CharNext)operator(()ident(p)operator(\)) operator((()ident(p)operator(\)) operator(+) ident(mblen)operator(()ident(p)operator(,) ident(RUBY_MBCHAR_MAXSIZE)operator(\)\)) preprocessor(#endif) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) directive(static) directive(inline) directive(void) ident(translate_char)operator(()pre_type(char) operator(*)ident(p)operator(,) pre_type(int) ident(from)operator(,) pre_type(int) ident(to)operator(\)) operator({) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(if) operator((()pre_type(unsigned) pre_type(char)operator(\)*)ident(p) operator(==) ident(from)operator(\)) operator(*)ident(p) operator(=) ident(to)operator(;) ident(p) operator(=) ident(CharNext)operator(()ident(p)operator(\);) operator(}) operator(}) preprocessor(#endif) preprocessor(#if) ident(defined) ident(_WIN32) operator(||) ident(defined) ident(__CYGWIN__) operator(||) ident(defined) ident(__DJGPP__) directive(static) ident(VALUE) ident(rubylib_mangled_path)operator(()directive(const) pre_type(char) operator(*)ident(s)operator(,) pre_type(unsigned) pre_type(int) ident(l)operator(\)) operator({) directive(static) pre_type(char) operator(*)ident(newp)operator(,) operator(*)ident(oldp)operator(;) directive(static) pre_type(int) ident(newl)operator(,) ident(oldl)operator(,) ident(notfound)operator(;) pre_type(char) operator(*)ident(ptr)operator(;) ident(VALUE) ident(ret)operator(;) reserved(if) operator((!)ident(newp) operator(&&) operator(!)ident(notfound)operator(\)) operator({) ident(newp) operator(=) ident(getenv)operator(()stringoperator(\);) reserved(if) operator(()ident(newp)operator(\)) operator({) ident(oldp) operator(=) ident(newp) operator(=) ident(strdup)operator(()ident(newp)operator(\);) reserved(while) operator((*)ident(newp) operator(&&) operator(!)ident(ISSPACE)operator((*)ident(newp)operator(\)) operator(&&) operator(*)ident(newp) operator(!=) char(';')operator(\)) operator({) ident(newp) operator(=) ident(CharNext)operator(()ident(newp)operator(\);) comment(/* Skip digits. */) operator(}) ident(oldl) operator(=) ident(newp) operator(-) ident(oldp)operator(;) reserved(while) operator((*)ident(newp) operator(&&) operator(()ident(ISSPACE)operator((*)ident(newp)operator(\)) operator(||) operator(*)ident(newp) operator(==) char(';')operator(\)\)) operator({) ident(newp) operator(=) ident(CharNext)operator(()ident(newp)operator(\);) comment(/* Skip whitespace. */) operator(}) ident(newl) operator(=) ident(strlen)operator(()ident(newp)operator(\);) reserved(if) operator(()ident(newl) operator(==) integer(0) operator(||) ident(oldl) operator(==) integer(0)operator(\)) operator({) ident(rb_fatal)operator(()stringoperator(\);) operator(}) ident(translate_char)operator(()ident(newp)operator(,) char('\\\\')operator(,) char('/')operator(\);) operator(}) reserved(else) operator({) ident(notfound) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(newp) operator(||) ident(l) operator(<) ident(oldl) operator(||) ident(strncasecmp)operator(()ident(oldp)operator(,) ident(s)operator(,) ident(oldl)operator(\)) operator(!=) integer(0)operator(\)) operator({) reserved(return) ident(rb_str_new)operator(()ident(s)operator(,) ident(l)operator(\);) operator(}) ident(ret) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(l) operator(+) ident(newl) operator(-) ident(oldl)operator(\);) ident(ptr) operator(=) ident(RSTRING_PTR)operator(()ident(ret)operator(\);) ident(memcpy)operator(()ident(ptr)operator(,) ident(newp)operator(,) ident(newl)operator(\);) ident(memcpy)operator(()ident(ptr) operator(+) ident(newl)operator(,) ident(s) operator(+) ident(oldl)operator(,) ident(l) operator(-) ident(oldl)operator(\);) ident(ptr)operator([)ident(l) operator(+) ident(newl) operator(-) ident(oldl)operator(]) operator(=) integer(0)operator(;) reserved(return) ident(ret)operator(;) operator(}) directive(static) ident(VALUE) ident(rubylib_mangled_path2)operator(()directive(const) pre_type(char) operator(*)ident(s)operator(\)) operator({) reserved(return) ident(rubylib_mangled_path)operator(()ident(s)operator(,) ident(strlen)operator(()ident(s)operator(\)\);) operator(}) preprocessor(#else) preprocessor(#define) ident(rubylib_mangled_path) ident(rb_str_new) preprocessor(#define) ident(rubylib_mangled_path2) ident(rb_str_new2) preprocessor(#endif) directive(static) directive(void) ident(push_include) ident(_)operator((()directive(const) pre_type(char) operator(*)ident(path)operator(\)\);) directive(static) directive(void) ident(push_include)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) directive(const) pre_type(char) ident(sep) operator(=) ident(PATH_SEP_CHAR)operator(;) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(s)operator(;) ident(p) operator(=) ident(path)operator(;) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(while) operator((*)ident(p) operator(==) ident(sep)operator(\)) ident(p)operator(++;) reserved(if) operator((!*)ident(p)operator(\)) reserved(break)operator(;) reserved(for) operator(()ident(s) operator(=) ident(p)operator(;) operator(*)ident(s) operator(&&) operator(*)ident(s) operator(!=) ident(sep)operator(;) ident(s) operator(=) ident(CharNext)operator(()ident(s)operator(\)\);) ident(rb_ary_push)operator(()ident(rb_load_path)operator(,) ident(rubylib_mangled_path)operator(()ident(p)operator(,) ident(s) operator(-) ident(p)operator(\)\);) ident(p) operator(=) ident(s)operator(;) operator(}) operator(}) preprocessor(#ifdef) ident(__CYGWIN__) directive(static) directive(void) ident(push_include_cygwin)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(s)operator(;) pre_type(char) ident(rubylib)operator([)ident(FILENAME_MAX)operator(];) ident(VALUE) ident(buf) operator(=) integer(0)operator(;) ident(p) operator(=) ident(path)operator(;) reserved(while) operator((*)ident(p)operator(\)) operator({) pre_type(unsigned) pre_type(int) ident(len)operator(;) reserved(while) operator((*)ident(p) operator(==) char(';')operator(\)) ident(p)operator(++;) reserved(if) operator((!*)ident(p)operator(\)) reserved(break)operator(;) reserved(for) operator(()ident(s) operator(=) ident(p)operator(;) operator(*)ident(s) operator(&&) operator(*)ident(s) operator(!=) char(';')operator(;) ident(s) operator(=) ident(CharNext)operator(()ident(s)operator(\)\);) ident(len) operator(=) ident(s) operator(-) ident(p)operator(;) reserved(if) operator((*)ident(s)operator(\)) operator({) reserved(if) operator((!)ident(buf)operator(\)) operator({) ident(buf) operator(=) ident(rb_str_new)operator(()ident(p)operator(,) ident(len)operator(\);) ident(p) operator(=) ident(RSTRING_PTR)operator(()ident(buf)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_resize)operator(()ident(buf)operator(,) ident(len)operator(\);) ident(p) operator(=) ident(strncpy)operator(()ident(RSTRING_PTR)operator(()ident(buf)operator(\),) ident(p)operator(,) ident(len)operator(\);) operator(}) operator(}) reserved(if) operator(()ident(cygwin_conv_to_posix_path)operator(()ident(p)operator(,) ident(rubylib)operator(\)) operator(==) integer(0)operator(\)) ident(p) operator(=) ident(rubylib)operator(;) ident(push_include)operator(()ident(p)operator(\);) reserved(if) operator((!*)ident(s)operator(\)) reserved(break)operator(;) ident(p) operator(=) ident(s) operator(+) integer(1)operator(;) operator(}) operator(}) preprocessor(#define) ident(push_include) ident(push_include_cygwin) preprocessor(#endif) directive(void) ident(ruby_incpush)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) reserved(if) operator(()ident(path) operator(==) integer(0)operator(\)) reserved(return)operator(;) ident(push_include)operator(()ident(path)operator(\);) operator(}) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) preprocessor(#define) ident(LOAD_RELATIVE) integer(1) preprocessor(#endif) directive(void) ident(ruby_init_loadpath)operator((\)) operator({) preprocessor(#if) ident(defined) ident(LOAD_RELATIVE) pre_type(char) ident(libpath)operator([)ident(FILENAME_MAX)operator(+)integer(1)operator(];) pre_type(char) operator(*)ident(p)operator(;) pre_type(int) ident(rest)operator(;) preprocessor(#if) ident(defined) ident(_WIN32) operator(||) ident(defined) ident(__CYGWIN__) ident(HMODULE) ident(libruby) operator(=) pre_constant(NULL)operator(;) ident(MEMORY_BASIC_INFORMATION) ident(m)operator(;) preprocessor(#ifndef) ident(_WIN32_WCE) ident(memset)operator((&)ident(m)operator(,) integer(0)operator(,) reserved(sizeof)operator(()ident(m)operator(\)\);) reserved(if) operator(()ident(VirtualQuery)operator(()ident(ruby_init_loadpath)operator(,) operator(&)ident(m)operator(,) reserved(sizeof)operator(()ident(m)operator(\)\)) operator(&&) ident(m)operator(.)ident(State) operator(==) ident(MEM_COMMIT)operator(\)) ident(libruby) operator(=) operator(()ident(HMODULE)operator(\))ident(m)operator(.)ident(AllocationBase)operator(;) preprocessor(#endif) ident(GetModuleFileName)operator(()ident(libruby)operator(,) ident(libpath)operator(,) reserved(sizeof) ident(libpath)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(DJGPP)operator(\)) directive(extern) pre_type(char) operator(*)ident(__dos_argv0)operator(;) ident(strncpy)operator(()ident(libpath)operator(,) ident(__dos_argv0)operator(,) ident(FILENAME_MAX)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(__human68k__)operator(\)) directive(extern) pre_type(char) operator(**)ident(_argv)operator(;) ident(strncpy)operator(()ident(libpath)operator(,) ident(_argv)operator([)integer(0)operator(],) ident(FILENAME_MAX)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(__EMX__)operator(\)) ident(_execname)operator(()ident(libpath)operator(,) ident(FILENAME_MAX)operator(\);) preprocessor(#endif) ident(libpath)operator([)ident(FILENAME_MAX)operator(]) operator(=) char('\\0')operator(;) preprocessor(#if) ident(defined) ident(DOSISH) ident(translate_char)operator(()ident(libpath)operator(,) char('\\\\')operator(,) char('/')operator(\);) preprocessor(#elif) ident(defined) ident(__CYGWIN__) operator({) pre_type(char) ident(rubylib)operator([)ident(FILENAME_MAX)operator(];) ident(cygwin_conv_to_posix_path)operator(()ident(libpath)operator(,) ident(rubylib)operator(\);) ident(strncpy)operator(()ident(libpath)operator(,) ident(rubylib)operator(,) reserved(sizeof)operator(()ident(libpath)operator(\)\);) operator(}) preprocessor(#endif) ident(p) operator(=) ident(strrchr)operator(()ident(libpath)operator(,) char('/')operator(\);) reserved(if) operator(()ident(p)operator(\)) operator({) operator(*)ident(p) operator(=) integer(0)operator(;) reserved(if) operator(()ident(p) operator(-) ident(libpath) operator(>) integer(3) operator(&&) operator(!)ident(strcasecmp)operator(()ident(p) operator(-) integer(4)operator(,) stringoperator(\)\)) operator({) ident(p) operator(-=) integer(4)operator(;) operator(*)ident(p) operator(=) integer(0)operator(;) operator(}) operator(}) reserved(else) operator({) ident(strcpy)operator(()ident(libpath)operator(,) stringoperator(\);) ident(p) operator(=) ident(libpath) operator(+) integer(1)operator(;) operator(}) ident(rest) operator(=) ident(FILENAME_MAX) operator(-) operator(()ident(p) operator(-) ident(libpath)operator(\);) preprocessor(#define) ident(RUBY_RELATIVE)operator(()ident(path)operator(\)) operator(()ident(strncpy)operator(()ident(p)operator(,) operator(()ident(path)operator(\),) ident(rest)operator(\),) ident(libpath)operator(\)) preprocessor(#else) preprocessor(#define) ident(RUBY_RELATIVE)operator(()ident(path)operator(\)) operator(()ident(path)operator(\)) preprocessor(#endif) preprocessor(#define) ident(incpush)operator(()ident(path)operator(\)) ident(rb_ary_push)operator(()ident(rb_load_path)operator(,) ident(rubylib_mangled_path2)operator(()ident(path)operator(\)\)) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(==) integer(0)operator(\)) operator({) ident(ruby_incpush)operator(()ident(getenv)operator(()stringoperator(\)\);) operator(}) preprocessor(#ifdef) ident(RUBY_SEARCH_PATH) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_SEARCH_PATH)operator(\)\);) preprocessor(#endif) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_SITE_LIB2)operator(\)\);) preprocessor(#ifdef) ident(RUBY_SITE_THIN_ARCHLIB) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_SITE_THIN_ARCHLIB)operator(\)\);) preprocessor(#endif) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_SITE_ARCHLIB)operator(\)\);) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_SITE_LIB)operator(\)\);) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_LIB)operator(\)\);) preprocessor(#ifdef) ident(RUBY_THIN_ARCHLIB) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_THIN_ARCHLIB)operator(\)\);) preprocessor(#endif) ident(incpush)operator(()ident(RUBY_RELATIVE)operator(()ident(RUBY_ARCHLIB)operator(\)\);) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(==) integer(0)operator(\)) operator({) ident(incpush)operator(()stringoperator(\);) operator(}) operator(}) reserved(struct) ident(req_list) operator({) pre_type(char) operator(*)ident(name)operator(;) reserved(struct) ident(req_list) operator(*)ident(next)operator(;) operator(};) directive(static) reserved(struct) ident(req_list) ident(req_list_head)operator(,) operator(*)ident(req_list_last) operator(=) operator(&)ident(req_list_head)operator(;) directive(static) directive(void) ident(add_modules)operator(()ident(mod)operator(\)) directive(const) pre_type(char) operator(*)ident(mod)operator(;) operator({) reserved(struct) ident(req_list) operator(*)ident(list)operator(;) ident(list) operator(=) ident(ALLOC)operator(()reserved(struct) ident(req_list)operator(\);) ident(list)operator(->)ident(name) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(mod)operator(\)+)integer(1)operator(\);) ident(strcpy)operator(()ident(list)operator(->)ident(name)operator(,) ident(mod)operator(\);) ident(list)operator(->)ident(next) operator(=) integer(0)operator(;) ident(req_list_last)operator(->)ident(next) operator(=) ident(list)operator(;) ident(req_list_last) operator(=) ident(list)operator(;) operator(}) directive(extern) directive(void) ident(Init_ext) ident(_)operator((()directive(void)operator(\)\);) directive(static) directive(void) ident(require_libraries)operator((\)) operator({) directive(extern) ident(NODE) operator(*)ident(ruby_eval_tree)operator(;) directive(extern) ident(NODE) operator(*)ident(ruby_eval_tree_begin)operator(;) ident(NODE) operator(*)ident(save)operator([)integer(3)operator(];) reserved(struct) ident(req_list) operator(*)ident(list) operator(=) ident(req_list_head)operator(.)ident(next)operator(;) reserved(struct) ident(req_list) operator(*)ident(tmp)operator(;) ident(save)operator([)integer(0)operator(]) operator(=) ident(ruby_eval_tree)operator(;) ident(save)operator([)integer(1)operator(]) operator(=) ident(ruby_eval_tree_begin)operator(;) ident(save)operator([)integer(2)operator(]) operator(=) ident(NEW_NEWLINE)operator(()integer(0)operator(\);) ident(ruby_eval_tree) operator(=) ident(ruby_eval_tree_begin) operator(=) integer(0)operator(;) ident(ruby_current_node) operator(=) integer(0)operator(;) ident(Init_ext)operator((\);) comment(/* should be called here for some reason :-( */) ident(ruby_current_node) operator(=) ident(save)operator([)integer(2)operator(];) ident(ruby_set_current_source)operator((\);) ident(req_list_last) operator(=) integer(0)operator(;) reserved(while) operator(()ident(list)operator(\)) operator({) pre_type(int) ident(state)operator(;) ident(ruby_current_node) operator(=) integer(0)operator(;) ident(rb_protect)operator((()ident(VALUE) operator((*\)()ident(VALUE)operator(\)\))ident(rb_require)operator(,) operator(()ident(VALUE)operator(\))ident(list)operator(->)ident(name)operator(,) operator(&)ident(state)operator(\);) reserved(if) operator(()ident(state)operator(\)) ident(rb_jump_tag)operator(()ident(state)operator(\);) ident(tmp) operator(=) ident(list)operator(->)ident(next)operator(;) ident(free)operator(()ident(list)operator(->)ident(name)operator(\);) ident(free)operator(()ident(list)operator(\);) ident(list) operator(=) ident(tmp)operator(;) ident(ruby_current_node) operator(=) ident(save)operator([)integer(2)operator(];) ident(ruby_set_current_source)operator((\);) operator(}) ident(req_list_head)operator(.)ident(next) operator(=) integer(0)operator(;) ident(ruby_eval_tree) operator(=) ident(save)operator([)integer(0)operator(];) ident(ruby_eval_tree_begin) operator(=) ident(save)operator([)integer(1)operator(];) ident(rb_gc_force_recycle)operator((()ident(VALUE)operator(\))ident(save)operator([)integer(2)operator(]\);) ident(ruby_current_node) operator(=) integer(0)operator(;) operator(}) directive(static) directive(void) ident(process_sflag)operator((\)) operator({) reserved(if) operator(()ident(sflag)operator(\)) operator({) pre_type(long) ident(n)operator(;) ident(VALUE) operator(*)ident(args)operator(;) ident(n) operator(=) ident(RARRAY)operator(()ident(rb_argv)operator(\)->)ident(len)operator(;) ident(args) operator(=) ident(RARRAY)operator(()ident(rb_argv)operator(\)->)ident(ptr)operator(;) reserved(while) operator(()ident(n) operator(>) integer(0)operator(\)) operator({) ident(VALUE) ident(v) operator(=) operator(*)ident(args)operator(++;) pre_type(char) operator(*)ident(s) operator(=) ident(StringValuePtr)operator(()ident(v)operator(\);) pre_type(char) operator(*)ident(p)operator(;) pre_type(int) ident(hyphen) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(!=) char('-')operator(\)) reserved(break)operator(;) ident(n)operator(--;) reserved(if) operator(()ident(s)operator([)integer(1)operator(]) operator(==) char('-') operator(&&) ident(s)operator([)integer(2)operator(]) operator(==) char('\\0')operator(\)) reserved(break)operator(;) ident(v) operator(=) ident(Qtrue)operator(;) comment(/* check if valid name before replacing - with _ */) reserved(for) operator(()ident(p) operator(=) ident(s) operator(+) integer(1)operator(;) operator(*)ident(p)operator(;) ident(p)operator(++\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('=')operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) char('\\0')operator(;) ident(v) operator(=) ident(rb_str_new2)operator(()ident(p)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator((*)ident(p) operator(==) char('-')operator(\)) operator({) ident(hyphen) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) reserved(if) operator((*)ident(p) operator(!=) char('_') operator(&&) operator(!)ident(ISALNUM)operator((*)ident(p)operator(\)\)) operator({) ident(VALUE) ident(name_error)operator([)integer(2)operator(];) ident(name_error)operator([)integer(0)operator(]) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(if) operator((!()ident(p) operator(=) ident(strchr)operator(()ident(p)operator(,) char('=')operator(\)\)\)) operator({) ident(rb_str_cat2)operator(()ident(name_error)operator([)integer(0)operator(],) ident(s)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_cat)operator(()ident(name_error)operator([)integer(0)operator(],) ident(s)operator(,) ident(p) operator(-) ident(s)operator(\);) operator(}) ident(name_error)operator([)integer(1)operator(]) operator(=) ident(args)operator([-)integer(1)operator(];) ident(rb_exc_raise)operator(()ident(rb_class_new_instance)operator(()integer(2)operator(,) ident(name_error)operator(,) ident(rb_eNameError)operator(\)\);) operator(}) operator(}) ident(s)operator([)integer(0)operator(]) operator(=) char('$')operator(;) reserved(if) operator(()ident(hyphen)operator(\)) operator({) reserved(for) operator(()ident(p) operator(=) ident(s) operator(+) integer(1)operator(;) operator(*)ident(p)operator(;) operator(++)ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) char('-')operator(\)) operator(*)ident(p) operator(=) char('_')operator(;) operator(}) operator(}) ident(rb_gv_set)operator(()ident(s)operator(,) ident(v)operator(\);) operator(}) ident(n) operator(=) ident(RARRAY)operator(()ident(rb_argv)operator(\)->)ident(len) operator(-) ident(n)operator(;) reserved(while) operator(()ident(n)operator(--\)) operator({) ident(rb_ary_shift)operator(()ident(rb_argv)operator(\);) operator(}) operator(}) ident(sflag) operator(=) integer(0)operator(;) operator(}) directive(static) directive(void) ident(proc_options) ident(_)operator((()pre_type(int) ident(argc)operator(,) pre_type(char) operator(**)ident(argv)operator(\)\);) directive(static) pre_type(char)operator(*) ident(moreswitches)operator(()ident(s)operator(\)) pre_type(char) operator(*)ident(s)operator(;) operator({) pre_type(int) ident(argc)operator(;) pre_type(char) operator(*)ident(argv)operator([)integer(3)operator(];) pre_type(char) operator(*)ident(p) operator(=) ident(s)operator(;) ident(argc) operator(=) integer(2)operator(;) ident(argv)operator([)integer(0)operator(]) operator(=) ident(argv)operator([)integer(2)operator(]) operator(=) integer(0)operator(;) reserved(while) operator((*)ident(s) operator(&&) operator(!)ident(ISSPACE)operator((*)ident(s)operator(\)\)) ident(s)operator(++;) ident(argv)operator([)integer(1)operator(]) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(s)operator(-)ident(p)operator(+)integer(2)operator(\);) ident(argv)operator([)integer(1)operator(][)integer(0)operator(]) operator(=) char('-')operator(;) ident(strncpy)operator(()ident(argv)operator([)integer(1)operator(]+)integer(1)operator(,) ident(p)operator(,) ident(s)operator(-)ident(p)operator(\);) ident(argv)operator([)integer(1)operator(][)ident(s)operator(-)ident(p)operator(+)integer(1)operator(]) operator(=) char('\\0')operator(;) ident(proc_options)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(while) operator((*)ident(s) operator(&&) ident(ISSPACE)operator((*)ident(s)operator(\)\)) ident(s)operator(++;) reserved(return) ident(s)operator(;) operator(}) directive(static) directive(void) ident(proc_options)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) pre_type(char) operator(**)ident(argv)operator(;) operator({) pre_type(char) operator(*)ident(argv0) operator(=) ident(argv)operator([)integer(0)operator(];) pre_type(int) ident(do_search)operator(;) pre_type(char) operator(*)ident(s)operator(;) ident(NODE) operator(*)directive(volatile) ident(script_node) operator(=) integer(0)operator(;) pre_type(int) ident(version) operator(=) integer(0)operator(;) pre_type(int) ident(copyright) operator(=) integer(0)operator(;) pre_type(int) ident(verbose) operator(=) integer(0)operator(;) ident(VALUE) ident(e_script) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) reserved(return)operator(;) ident(do_search) operator(=) ident(Qfalse)operator(;) reserved(for) operator(()ident(argc)operator(--,)ident(argv)operator(++;) ident(argc) operator(>) integer(0)operator(;) ident(argc)operator(--,)ident(argv)operator(++\)) operator({) reserved(if) operator(()ident(argv)operator([)integer(0)operator(][)integer(0)operator(]) operator(!=) char('-') operator(||) operator(!)ident(argv)operator([)integer(0)operator(][)integer(1)operator(]\)) reserved(break)operator(;) ident(s) operator(=) ident(argv)operator([)integer(0)operator(]+)integer(1)operator(;) label(reswitch:) reserved(switch) operator((*)ident(s)operator(\)) operator({) reserved(case) char('a')operator(:) ident(do_split) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('p')operator(:) ident(do_print) operator(=) ident(Qtrue)operator(;) comment(/* through */) reserved(case) char('n')operator(:) ident(do_loop) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('d')operator(:) ident(ruby_debug) operator(=) ident(Qtrue)operator(;) ident(ruby_verbose) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('y')operator(:) ident(ruby_yydebug) operator(=) integer(1)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('v')operator(:) reserved(if) operator(()ident(argv0) operator(==) integer(0) operator(||) ident(verbose)operator(\)) operator({) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) operator(}) ident(ruby_show_version)operator((\);) ident(verbose) operator(=) integer(1)operator(;) reserved(case) char('w')operator(:) ident(ruby_verbose) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('W')operator(:) operator({) pre_type(int) ident(numlen)operator(;) pre_type(int) ident(v) operator(=) integer(2)operator(;) comment(/* -W as -W2 */) reserved(if) operator((*++)ident(s)operator(\)) operator({) ident(v) operator(=) ident(scan_oct)operator(()ident(s)operator(,) integer(1)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) ident(v) operator(=) integer(1)operator(;) ident(s) operator(+=) ident(numlen)operator(;) operator(}) reserved(switch) operator(()ident(v)operator(\)) operator({) reserved(case) integer(0)operator(:) ident(ruby_verbose) operator(=) ident(Qnil)operator(;) reserved(break)operator(;) reserved(case) integer(1)operator(:) ident(ruby_verbose) operator(=) ident(Qfalse)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(ruby_verbose) operator(=) ident(Qtrue)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(goto) ident(reswitch)operator(;) reserved(case) char('c')operator(:) ident(do_check) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('s')operator(:) ident(forbid_setid)operator(()stringoperator(\);) ident(sflag) operator(=) integer(1)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('h')operator(:) ident(usage)operator(()ident(origargv)operator([)integer(0)operator(]\);) ident(exit)operator(()integer(0)operator(\);) reserved(case) char('l')operator(:) ident(do_line) operator(=) ident(Qtrue)operator(;) ident(rb_output_rs) operator(=) ident(rb_rs)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('S')operator(:) ident(forbid_setid)operator(()stringoperator(\);) ident(do_search) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(goto) ident(reswitch)operator(;) reserved(case) char('e')operator(:) ident(forbid_setid)operator(()stringoperator(\);) reserved(if) operator((!*++)ident(s)operator(\)) operator({) ident(s) operator(=) ident(argv)operator([)integer(1)operator(];) ident(argc)operator(--,)ident(argv)operator(++;) operator(}) reserved(if) operator((!)ident(s)operator(\)) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(origargv)operator([)integer(0)operator(]\);) ident(exit)operator(()integer(2)operator(\);) operator(}) reserved(if) operator((!)ident(e_script)operator(\)) operator({) ident(e_script) operator(=) ident(rb_str_new)operator(()integer(0)operator(,)integer(0)operator(\);) reserved(if) operator(()ident(script) operator(==) integer(0)operator(\)) ident(script) operator(=) stringoperator(;) operator(}) ident(rb_str_cat2)operator(()ident(e_script)operator(,) ident(s)operator(\);) ident(rb_str_cat2)operator(()ident(e_script)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) char('r')operator(:) ident(forbid_setid)operator(()stringoperator(\);) reserved(if) operator((*++)ident(s)operator(\)) operator({) ident(add_modules)operator(()ident(s)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(argv)operator([)integer(1)operator(]\)) operator({) ident(add_modules)operator(()ident(argv)operator([)integer(1)operator(]\);) ident(argc)operator(--,)ident(argv)operator(++;) operator(}) reserved(break)operator(;) reserved(case) char('i')operator(:) ident(forbid_setid)operator(()stringoperator(\);) reserved(if) operator(()ident(ruby_inplace_mode)operator(\)) ident(free)operator(()ident(ruby_inplace_mode)operator(\);) ident(ruby_inplace_mode) operator(=) ident(strdup)operator(()ident(s)operator(+)integer(1)operator(\);) reserved(break)operator(;) reserved(case) char('x')operator(:) ident(xflag) operator(=) ident(Qtrue)operator(;) ident(s)operator(++;) reserved(if) operator((*)ident(s) operator(&&) ident(chdir)operator(()ident(s)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_fatal)operator(()stringoperator(,) ident(s)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('C')operator(:) reserved(case) char('X')operator(:) ident(s)operator(++;) reserved(if) operator((!*)ident(s)operator(\)) operator({) ident(s) operator(=) ident(argv)operator([)integer(1)operator(];) ident(argc)operator(--,)ident(argv)operator(++;) operator(}) reserved(if) operator((!)ident(s) operator(||) operator(!*)ident(s)operator(\)) operator({) ident(rb_fatal)operator(()stringoperator(\);) operator(}) reserved(if) operator(()ident(chdir)operator(()ident(s)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_fatal)operator(()stringoperator(,) ident(s)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('F')operator(:) reserved(if) operator((*++)ident(s)operator(\)) operator({) ident(rb_fs) operator(=) ident(rb_reg_new)operator(()ident(s)operator(,) ident(strlen)operator(()ident(s)operator(\),) integer(0)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('K')operator(:) reserved(if) operator((*++)ident(s)operator(\)) operator({) ident(rb_set_kcode)operator(()ident(s)operator(\);) ident(s)operator(++;) operator(}) reserved(goto) ident(reswitch)operator(;) reserved(case) char('T')operator(:) operator({) pre_type(int) ident(numlen)operator(;) pre_type(int) ident(v) operator(=) integer(1)operator(;) reserved(if) operator((*++)ident(s)operator(\)) operator({) ident(v) operator(=) ident(scan_oct)operator(()ident(s)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) ident(v) operator(=) integer(1)operator(;) ident(s) operator(+=) ident(numlen)operator(;) operator(}) ident(rb_set_safe_level)operator(()ident(v)operator(\);) operator(}) reserved(goto) ident(reswitch)operator(;) reserved(case) char('I')operator(:) ident(forbid_setid)operator(()stringoperator(\);) reserved(if) operator((*++)ident(s)operator(\)) ident(ruby_incpush)operator(()ident(s)operator(\);) reserved(else) reserved(if) operator(()ident(argv)operator([)integer(1)operator(]\)) operator({) ident(ruby_incpush)operator(()ident(argv)operator([)integer(1)operator(]\);) ident(argc)operator(--,)ident(argv)operator(++;) operator(}) reserved(break)operator(;) reserved(case) char('0')operator(:) operator({) pre_type(int) ident(numlen)operator(;) pre_type(int) ident(v)operator(;) pre_type(char) ident(c)operator(;) ident(v) operator(=) ident(scan_oct)operator(()ident(s)operator(,) integer(4)operator(,) operator(&)ident(numlen)operator(\);) ident(s) operator(+=) ident(numlen)operator(;) reserved(if) operator(()ident(v) operator(>) oct(0377)operator(\)) ident(rb_rs) operator(=) ident(Qnil)operator(;) reserved(else) reserved(if) operator(()ident(v) operator(==) integer(0) operator(&&) ident(numlen) operator(>=) integer(2)operator(\)) operator({) ident(rb_rs) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(c) operator(=) ident(v) operator(&) hex(0xff)operator(;) ident(rb_rs) operator(=) ident(rb_str_new)operator((&)ident(c)operator(,) integer(1)operator(\);) operator(}) operator(}) reserved(goto) ident(reswitch)operator(;) reserved(case) char('-')operator(:) reserved(if) operator((!)ident(s)operator([)integer(1)operator(]) operator(||) operator(()ident(s)operator([)integer(1)operator(]) operator(==) char('\\r') operator(&&) operator(!)ident(s)operator([)integer(2)operator(]\)\)) operator({) ident(argc)operator(--,)ident(argv)operator(++;) reserved(goto) ident(switch_end)operator(;) operator(}) ident(s)operator(++;) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) ident(copyright) operator(=) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(ruby_debug) operator(=) ident(Qtrue)operator(;) ident(ruby_verbose) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) ident(version) operator(=) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(verbose) operator(=) integer(1)operator(;) ident(ruby_verbose) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) ident(ruby_yydebug) operator(=) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(strcmp)operator(()stringoperator(,) ident(s)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(usage)operator(()ident(origargv)operator([)integer(0)operator(]\);) ident(exit)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(origargv)operator([)integer(0)operator(],) ident(s)operator(\);) ident(exit)operator(()integer(2)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('\\r')operator(:) reserved(if) operator((!)ident(s)operator([)integer(1)operator(]\)) reserved(break)operator(;) reserved(default)operator(:) operator({) directive(const) pre_type(char) operator(*)ident(format)operator(;) reserved(if) operator(()ident(ISPRINT)operator((*)ident(s)operator(\)\)) operator({) ident(format) operator(=) stringoperator(;) operator(}) reserved(else) operator({) ident(format) operator(=) stringoperator(;) operator(}) ident(fprintf)operator(()ident(stderr)operator(,) ident(format)operator(,) ident(origargv)operator([)integer(0)operator(],) operator(()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)*)ident(s)operator(\);) operator(}) ident(exit)operator(()integer(2)operator(\);) reserved(case) integer(0)operator(:) reserved(break)operator(;) operator(}) operator(}) label(switch_end:) reserved(if) operator(()ident(argv0) operator(==) integer(0)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(==) integer(0) operator(&&) operator(()ident(s) operator(=) ident(getenv)operator(()stringoperator(\)\)\)) operator({) reserved(while) operator(()ident(ISSPACE)operator((*)ident(s)operator(\)\)) ident(s)operator(++;) reserved(if) operator((*)ident(s) operator(==) char('T') operator(||) operator((*)ident(s) operator(==) char('-') operator(&&) operator(*()ident(s)operator(+)integer(1)operator(\)) operator(==) char('T')operator(\)\)) operator({) pre_type(int) ident(numlen)operator(;) pre_type(int) ident(v) operator(=) integer(1)operator(;) reserved(if) operator((*)ident(s) operator(!=) char('T')operator(\)) operator(++)ident(s)operator(;) reserved(if) operator((*++)ident(s)operator(\)) operator({) ident(v) operator(=) ident(scan_oct)operator(()ident(s)operator(,) integer(2)operator(,) operator(&)ident(numlen)operator(\);) reserved(if) operator(()ident(numlen) operator(==) integer(0)operator(\)) ident(v) operator(=) integer(1)operator(;) operator(}) ident(rb_set_safe_level)operator(()ident(v)operator(\);) operator(}) reserved(else) operator({) reserved(while) operator(()ident(s) operator(&&) operator(*)ident(s)operator(\)) operator({) reserved(if) operator((*)ident(s) operator(==) char('-')operator(\)) operator({) ident(s)operator(++;) reserved(if) operator(()ident(ISSPACE)operator((*)ident(s)operator(\)\)) operator({) reserved(do) operator({)ident(s)operator(++;}) reserved(while) operator(()ident(ISSPACE)operator((*)ident(s)operator(\)\);) reserved(continue)operator(;) operator(}) operator(}) reserved(if) operator((!*)ident(s)operator(\)) reserved(break)operator(;) reserved(if) operator((!)ident(strchr)operator(()stringoperator(,) operator(*)ident(s)operator(\)\)) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(,) operator(*)ident(s)operator(\);) ident(s) operator(=) ident(moreswitches)operator(()ident(s)operator(\);) operator(}) operator(}) operator(}) reserved(if) operator(()ident(version)operator(\)) operator({) ident(ruby_show_version)operator((\);) ident(exit)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(copyright)operator(\)) operator({) ident(ruby_show_copyright)operator((\);) operator(}) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) operator({) ident(OBJ_TAINT)operator(()ident(rb_argv)operator(\);) ident(OBJ_TAINT)operator(()ident(rb_load_path)operator(\);) operator(}) reserved(if) operator((!)ident(e_script)operator(\)) operator({) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) comment(/* no more args */) reserved(if) operator(()ident(verbose)operator(\)) ident(exit)operator(()integer(0)operator(\);) ident(script) operator(=) stringoperator(;) operator(}) reserved(else) operator({) ident(script) operator(=) ident(argv)operator([)integer(0)operator(];) reserved(if) operator(()ident(script)operator([)integer(0)operator(]) operator(==) char('\\0')operator(\)) operator({) ident(script) operator(=) stringoperator(;) operator(}) reserved(else) reserved(if) operator(()ident(do_search)operator(\)) operator({) pre_type(char) operator(*)ident(path) operator(=) ident(getenv)operator(()stringoperator(\);) ident(script) operator(=) integer(0)operator(;) reserved(if) operator(()ident(path)operator(\)) operator({) ident(script) operator(=) ident(dln_find_file)operator(()ident(argv)operator([)integer(0)operator(],) ident(path)operator(\);) operator(}) reserved(if) operator((!)ident(script)operator(\)) operator({) ident(script) operator(=) ident(dln_find_file)operator(()ident(argv)operator([)integer(0)operator(],) ident(getenv)operator(()ident(PATH_ENV)operator(\)\);) operator(}) reserved(if) operator((!)ident(script)operator(\)) ident(script) operator(=) ident(argv)operator([)integer(0)operator(];) ident(script) operator(=) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(script)operator(\);) ident(script_node) operator(=) ident(NEW_NEWLINE)operator(()integer(0)operator(\);) operator(}) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) ident(translate_char)operator(()ident(script)operator(,) char('\\\\')operator(,) char('/')operator(\);) preprocessor(#endif) ident(argc)operator(--;) ident(argv)operator(++;) operator(}) operator(}) ident(ruby_script)operator(()ident(script)operator(\);) ident(ruby_set_argv)operator(()ident(argc)operator(,) ident(argv)operator(\);) ident(process_sflag)operator((\);) ident(ruby_init_loadpath)operator((\);) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(argv0)operator(\);) reserved(if) operator(()ident(e_script)operator(\)) operator({) ident(require_libraries)operator((\);) ident(rb_compile_string)operator(()ident(script)operator(,) ident(e_script)operator(,) integer(1)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(strlen)operator(()ident(script)operator(\)) operator(==) integer(1) operator(&&) ident(script)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) ident(load_stdin)operator((\);) operator(}) reserved(else) operator({) ident(load_file)operator(()ident(script)operator(,) integer(1)operator(\);) operator(}) ident(process_sflag)operator((\);) ident(xflag) operator(=) integer(0)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) operator({) ident(FL_UNSET)operator(()ident(rb_argv)operator(,) ident(FL_TAINT)operator(\);) ident(FL_UNSET)operator(()ident(rb_load_path)operator(,) ident(FL_TAINT)operator(\);) operator(}) operator(}) directive(extern) pre_type(int) ident(ruby__end__seen)operator(;) directive(static) directive(void) ident(load_file)operator(()ident(fname)operator(,) ident(script)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) pre_type(int) ident(script)operator(;) operator({) directive(extern) ident(VALUE) ident(rb_stdin)operator(;) ident(VALUE) ident(f)operator(;) pre_type(int) ident(line_start) operator(=) integer(1)operator(;) reserved(if) operator((!)ident(fname)operator(\)) ident(rb_load_fail)operator(()ident(fname)operator(\);) reserved(if) operator(()ident(strcmp)operator(()ident(fname)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) operator({) ident(f) operator(=) ident(rb_stdin)operator(;) operator(}) reserved(else) operator({) ident(FILE) operator(*)ident(fp) operator(=) ident(fopen)operator(()ident(fname)operator(,) stringoperator(\);) reserved(if) operator(()ident(fp) operator(==) pre_constant(NULL)operator(\)) operator({) ident(rb_load_fail)operator(()ident(fname)operator(\);) operator(}) ident(fclose)operator(()ident(fp)operator(\);) ident(f) operator(=) ident(rb_file_open)operator(()ident(fname)operator(,) stringoperator(\);) preprocessor(#if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__CYGWIN__) operator({) pre_type(char) operator(*)ident(ext) operator(=) ident(strrchr)operator(()ident(fname)operator(,) char('.')operator(\);) reserved(if) operator(()ident(ext) operator(&&) ident(strcasecmp)operator(()ident(ext)operator(,) stringoperator(\)) operator(==) integer(0)operator(\)) ident(rb_io_binmode)operator(()ident(f)operator(\);) operator(}) preprocessor(#endif) operator(}) reserved(if) operator(()ident(script)operator(\)) operator({) ident(VALUE) ident(c) operator(=) integer(1)operator(;) comment(/* something not nil */) ident(VALUE) ident(line)operator(;) pre_type(char) operator(*)ident(p)operator(;) reserved(if) operator(()ident(xflag)operator(\)) operator({) ident(forbid_setid)operator(()stringoperator(\);) ident(xflag) operator(=) ident(Qfalse)operator(;) reserved(while) operator((!)ident(NIL_P)operator(()ident(line) operator(=) ident(rb_io_gets)operator(()ident(f)operator(\)\)\)) operator({) ident(line_start)operator(++;) reserved(if) operator(()ident(RSTRING)operator(()ident(line)operator(\)->)ident(len) operator(>) integer(2) operator(&&) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char('#') operator(&&) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)integer(1)operator(]) operator(==) char('!')operator(\)) operator({) reserved(if) operator((()ident(p) operator(=) ident(strstr)operator(()ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator(,) stringoperator(\)\)) operator(!=) integer(0)operator(\)) operator({) reserved(goto) ident(start_read)operator(;) operator(}) operator(}) operator(}) ident(rb_raise)operator(()ident(rb_eLoadError)operator(,) stringoperator(\);) operator(}) ident(c) operator(=) ident(rb_io_getc)operator(()ident(f)operator(\);) reserved(if) operator(()ident(c) operator(==) ident(INT2FIX)operator(()char('#')operator(\)\)) operator({) ident(line) operator(=) ident(rb_io_gets)operator(()ident(f)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(line)operator(\)\)) reserved(return)operator(;) ident(line_start)operator(++;) reserved(if) operator(()ident(RSTRING)operator(()ident(line)operator(\)->)ident(len) operator(>) integer(2) operator(&&) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char('!')operator(\)) operator({) reserved(if) operator((()ident(p) operator(=) ident(strstr)operator(()ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator(,) stringoperator(\)\)) operator(==) integer(0)operator(\)) operator({) comment(/* not ruby script, kick the program */) pre_type(char) operator(**)ident(argv)operator(;) pre_type(char) operator(*)ident(path)operator(;) pre_type(char) operator(*)ident(pend) operator(=) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(line)operator(\)->)ident(len)operator(;) ident(p) operator(=) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr) operator(+) integer(1)operator(;) comment(/* skip `#!' */) reserved(if) operator(()ident(pend)operator([-)integer(1)operator(]) operator(==) char('\\n')operator(\)) ident(pend)operator(--;) comment(/* chomp line */) reserved(if) operator(()ident(pend)operator([-)integer(1)operator(]) operator(==) char('\\r')operator(\)) ident(pend)operator(--;) operator(*)ident(pend) operator(=) char('\\0')operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend) operator(&&) ident(ISSPACE)operator((*)ident(p)operator(\)\)) ident(p)operator(++;) ident(path) operator(=) ident(p)operator(;) comment(/* interpreter path */) reserved(while) operator(()ident(p) operator(<) ident(pend) operator(&&) operator(!)ident(ISSPACE)operator((*)ident(p)operator(\)\)) ident(p)operator(++;) operator(*)ident(p)operator(++) operator(=) char('\\0')operator(;) reserved(if) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) ident(argv) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(*,) ident(origargc)operator(+)integer(3)operator(\);) ident(argv)operator([)integer(1)operator(]) operator(=) ident(p)operator(;) ident(MEMCPY)operator(()ident(argv)operator(+)integer(2)operator(,) ident(origargv)operator(+)integer(1)operator(,) pre_type(char)operator(*,) ident(origargc)operator(\);) operator(}) reserved(else) operator({) ident(argv) operator(=) ident(origargv)operator(;) operator(}) ident(argv)operator([)integer(0)operator(]) operator(=) ident(path)operator(;) ident(execv)operator(()ident(path)operator(,) ident(argv)operator(\);) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(fname)operator(\);) ident(ruby_sourceline) operator(=) integer(1)operator(;) ident(rb_fatal)operator(()stringoperator(,) ident(path)operator(\);) operator(}) label(start_read:) ident(p) operator(+=) integer(4)operator(;) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(line)operator(\)->)ident(len)operator(-)integer(1)operator(]) operator(=) char('\\0')operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(line)operator(\)->)ident(len)operator(-)integer(2)operator(]) operator(==) char('\\r')operator(\)) ident(RSTRING)operator(()ident(line)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(line)operator(\)->)ident(len)operator(-)integer(2)operator(]) operator(=) char('\\0')operator(;) reserved(if) operator((()ident(p) operator(=) ident(strstr)operator(()ident(p)operator(,) stringoperator(\)\)) operator(!=) integer(0)operator(\)) operator({) ident(p)operator(++;) comment(/* skip space before `-' */) reserved(while) operator((*)ident(p) operator(==) char('-')operator(\)) operator({) ident(p) operator(=) ident(moreswitches)operator(()ident(p)operator(+)integer(1)operator(\);) operator(}) operator(}) operator(}) operator(}) reserved(else) reserved(if) operator((!)ident(NIL_P)operator(()ident(c)operator(\)\)) operator({) ident(rb_io_ungetc)operator(()ident(f)operator(,) ident(c)operator(\);) operator(}) ident(require_libraries)operator((\);) comment(/* Why here? unnatural */) reserved(if) operator(()ident(NIL_P)operator(()ident(c)operator(\)\)) reserved(return)operator(;) operator(}) ident(rb_compile_file)operator(()ident(fname)operator(,) ident(f)operator(,) ident(line_start)operator(\);) reserved(if) operator(()ident(script) operator(&&) ident(ruby__end__seen)operator(\)) operator({) ident(rb_define_global_const)operator(()stringoperator(,) ident(f)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(f) operator(!=) ident(rb_stdin)operator(\)) operator({) ident(rb_io_close)operator(()ident(f)operator(\);) operator(}) reserved(if) operator(()ident(ruby_parser_stack_on_heap)operator((\)\)) operator({) ident(rb_gc)operator((\);) operator(}) operator(}) directive(void) ident(rb_load_file)operator(()ident(fname)operator(\)) directive(const) pre_type(char) operator(*)ident(fname)operator(;) operator({) ident(load_file)operator(()ident(fname)operator(,) integer(0)operator(\);) operator(}) directive(static) directive(void) ident(load_stdin)operator((\)) operator({) ident(forbid_setid)operator(()stringoperator(\);) ident(load_file)operator(()stringoperator(,) integer(1)operator(\);) operator(}) ident(VALUE) ident(rb_progname)operator(;) ident(VALUE) ident(rb_argv)operator(;) ident(VALUE) ident(rb_argv0)operator(;) preprocessor(#if) ident(defined)operator(()ident(PSTAT_SETCMD)operator(\)) operator(||) ident(defined)operator(()ident(HAVE_SETPROCTITLE)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(_WIN32)operator(\)) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETENV)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_UNSETENV)operator(\)) preprocessor(#else) preprocessor(#define) ident(USE_ENVSPACE_FOR_ARG0) preprocessor(#endif) preprocessor(#ifdef) ident(USE_ENVSPACE_FOR_ARG0) directive(static) reserved(struct) operator({) pre_type(char) operator(*)ident(begin)operator(,) operator(*)ident(end)operator(;) operator(}) ident(envspace)operator(;) directive(extern) pre_type(char) operator(**)ident(environ)operator(;) directive(static) directive(void) ident(set_arg0space)operator((\)) operator({) pre_type(char) operator(*)ident(s)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator((!)ident(environ) operator(||) operator(()ident(s) operator(=) ident(environ)operator([)integer(0)operator(]\)) operator(==) pre_constant(NULL)operator(\)) reserved(return)operator(;) ident(envspace)operator(.)ident(begin) operator(=) ident(s)operator(;) ident(s) operator(+=) ident(strlen)operator(()ident(s)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;) ident(environ)operator([)ident(i)operator(];) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(environ)operator([)ident(i)operator(]) operator(==) ident(s) operator(+) integer(1)operator(\)) operator({) ident(s)operator(++;) ident(s) operator(+=) ident(strlen)operator(()ident(s)operator(\);) comment(/* this one is ok too */) operator(}) operator(}) ident(envspace)operator(.)ident(end) operator(=) ident(s)operator(;) operator(}) preprocessor(#else) preprocessor(#define) ident(set_arg0space)operator((\)) operator((()directive(void)operator(\))integer(0)operator(\)) preprocessor(#endif) directive(static) pre_type(int) ident(get_arglen)operator(()pre_type(int) ident(argc)operator(,) pre_type(char) operator(**)ident(argv)operator(\)) operator({) pre_type(char) operator(*)ident(s) operator(=) ident(argv)operator([)integer(0)operator(];) pre_type(int) ident(i)operator(;) reserved(if) operator((!)ident(argc)operator(\)) reserved(return) integer(0)operator(;) ident(s) operator(+=) ident(strlen)operator(()ident(s)operator(\);) comment(/* See if all the arguments are contiguous in memory */) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;) ident(i) operator(<) ident(argc)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(argv)operator([)ident(i)operator(]) operator(==) ident(s) operator(+) integer(1)operator(\)) operator({) ident(s)operator(++;) ident(s) operator(+=) ident(strlen)operator(()ident(s)operator(\);) comment(/* this one is ok too */) operator(}) reserved(else) operator({) reserved(break)operator(;) operator(}) operator(}) preprocessor(#if) ident(defined)operator(()ident(USE_ENVSPACE_FOR_ARG0)operator(\)) reserved(if) operator(()ident(environ) operator(&&) operator(()ident(s) operator(==) ident(environ)operator([)integer(0)operator(]\)\)) operator({) ident(s) operator(+=) ident(strlen)operator(()ident(s)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;) ident(environ)operator([)ident(i)operator(];) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(environ)operator([)ident(i)operator(]) operator(==) ident(s) operator(+) integer(1)operator(\)) operator({) ident(s)operator(++;) ident(s) operator(+=) ident(strlen)operator(()ident(s)operator(\);) comment(/* this one is ok too */) operator(}) operator(}) ident(ruby_setenv)operator(()stringoperator(,) pre_constant(NULL)operator(\);) comment(/* duplicate environ vars */) operator(}) preprocessor(#endif) reserved(return) ident(s) operator(-) ident(argv)operator([)integer(0)operator(];) operator(}) directive(static) directive(void) ident(set_arg0)operator(()ident(val)operator(,) ident(id)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(progname)operator(;) pre_type(char) operator(*)ident(s)operator(;) pre_type(long) ident(i)operator(;) pre_type(int) ident(j)operator(;) preprocessor(#if) operator(!)ident(defined)operator(()ident(PSTAT_SETCMD)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(HAVE_SETPROCTITLE)operator(\)) directive(static) pre_type(int) ident(len) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator(()ident(origargv) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) ident(StringValue)operator(()ident(val)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(val)operator(\)->)ident(ptr)operator(;) ident(i) operator(=) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(;) preprocessor(#if) ident(defined)operator(()ident(PSTAT_SETCMD)operator(\)) reserved(if) operator(()ident(i) operator(>=) ident(PST_CLEN)operator(\)) operator({) reserved(union) ident(pstun) ident(j)operator(;) ident(j)operator(.)ident(pst_command) operator(=) ident(s)operator(;) ident(i) operator(=) ident(PST_CLEN)operator(;) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len) operator(=) ident(i)operator(;) operator(*()ident(s) operator(+) ident(i)operator(\)) operator(=) char('\\0')operator(;) ident(pstat)operator(()ident(PSTAT_SETCMD)operator(,) ident(j)operator(,) ident(PST_CLEN)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) reserved(else) operator({) reserved(union) ident(pstun) ident(j)operator(;) ident(j)operator(.)ident(pst_command) operator(=) ident(s)operator(;) ident(pstat)operator(()ident(PSTAT_SETCMD)operator(,) ident(j)operator(,) ident(i)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) ident(progname) operator(=) ident(rb_tainted_str_new)operator(()ident(s)operator(,) ident(i)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(HAVE_SETPROCTITLE)operator(\)) ident(setproctitle)operator(()stringoperator(,) operator(()pre_type(int)operator(\))ident(i)operator(,) ident(s)operator(\);) ident(progname) operator(=) ident(rb_tainted_str_new)operator(()ident(s)operator(,) ident(i)operator(\);) preprocessor(#else) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) operator({) ident(len) operator(=) ident(get_arglen)operator(()ident(origargc)operator(,) ident(origargv)operator(\);) operator(}) reserved(if) operator(()ident(i) operator(>=) ident(len)operator(\)) operator({) ident(i) operator(=) ident(len)operator(;) operator(}) ident(memcpy)operator(()ident(origargv)operator([)integer(0)operator(],) ident(s)operator(,) ident(i)operator(\);) ident(s) operator(=) ident(origargv)operator([)integer(0)operator(]) operator(+) ident(i)operator(;) operator(*)ident(s) operator(=) char('\\0')operator(;) reserved(if) operator((++)ident(i) operator(<) ident(len)operator(\)) ident(memset)operator(()ident(s) operator(+) integer(1)operator(,) char(' ')operator(,) ident(len) operator(-) ident(i)operator(\);) reserved(for) operator(()ident(i) operator(=) ident(len)operator(-)integer(1)operator(,) ident(j) operator(=) ident(origargc)operator(-)integer(1)operator(;) ident(j) operator(>) integer(0) operator(&&) ident(i) operator(>=) integer(0)operator(;) operator(--)ident(i)operator(,) operator(--)ident(j)operator(\)) operator({) ident(origargv)operator([)ident(j)operator(]) operator(=) ident(origargv)operator([)integer(0)operator(]) operator(+) ident(i)operator(;) operator(*)ident(origargv)operator([)ident(j)operator(]) operator(=) char('\\0')operator(;) operator(}) ident(progname) operator(=) ident(rb_tainted_str_new2)operator(()ident(origargv)operator([)integer(0)operator(]\);) preprocessor(#endif) ident(rb_progname) operator(=) ident(rb_obj_freeze)operator(()ident(progname)operator(\);) operator(}) directive(void) ident(ruby_script)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) reserved(if) operator(()ident(name)operator(\)) operator({) ident(rb_progname) operator(=) ident(rb_obj_freeze)operator(()ident(rb_tainted_str_new2)operator(()ident(name)operator(\)\);) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()ident(name)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(uid)operator(,) ident(euid)operator(,) ident(gid)operator(,) ident(egid)operator(;) directive(static) directive(void) ident(init_ids)operator((\)) operator({) ident(uid) operator(=) operator(()pre_type(int)operator(\))ident(getuid)operator((\);) ident(euid) operator(=) operator(()pre_type(int)operator(\))ident(geteuid)operator((\);) ident(gid) operator(=) operator(()pre_type(int)operator(\))ident(getgid)operator((\);) ident(egid) operator(=) operator(()pre_type(int)operator(\))ident(getegid)operator((\);) preprocessor(#ifdef) ident(VMS) ident(uid) operator(|=) ident(gid) operator(<<) integer(16)operator(;) ident(euid) operator(|=) ident(egid) operator(<<) integer(16)operator(;) preprocessor(#endif) reserved(if) operator(()ident(uid) operator(&&) operator(()ident(euid) operator(!=) ident(uid) operator(||) ident(egid) operator(!=) ident(gid)operator(\)\)) operator({) ident(rb_set_safe_level)operator(()integer(1)operator(\);) operator(}) operator(}) directive(static) directive(void) ident(forbid_setid)operator(()ident(s)operator(\)) directive(const) pre_type(char) operator(*)ident(s)operator(;) operator({) reserved(if) operator(()ident(euid) operator(!=) ident(uid)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(s)operator(\);) reserved(if) operator(()ident(egid) operator(!=) ident(gid)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(s)operator(\);) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(s)operator(\);) operator(}) directive(static) directive(void) ident(verbose_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(variable)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(variable)operator(;) operator({) ident(ruby_verbose) operator(=) ident(RTEST)operator(()ident(val)operator(\)) operator(?) ident(Qtrue) operator(:) ident(val)operator(;) operator(}) directive(void) ident(ruby_prog_init)operator((\)) operator({) ident(init_ids)operator((\);) ident(ruby_sourcefile) operator(=) ident(rb_source_filename)operator(()stringoperator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(ruby_verbose)operator(,) integer(0)operator(,) ident(verbose_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(ruby_verbose)operator(,) integer(0)operator(,) ident(verbose_setter)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(ruby_verbose)operator(,) integer(0)operator(,) ident(verbose_setter)operator(\);) ident(rb_define_variable)operator(()stringoperator(,) operator(&)ident(ruby_debug)operator(\);) ident(rb_define_variable)operator(()stringoperator(,) operator(&)ident(ruby_debug)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(do_print)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(do_line)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_progname)operator(,) integer(0)operator(,) ident(set_arg0)operator(\);) ident(rb_define_hooked_variable)operator(()stringoperator(,) operator(&)ident(rb_progname)operator(,) integer(0)operator(,) ident(set_arg0)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(rb_argv)operator(\);) ident(rb_argv) operator(=) ident(rb_ary_new)operator((\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(rb_argv)operator(\);) ident(rb_define_readonly_variable)operator(()stringoperator(,) operator(&)ident(do_split)operator(\);) ident(rb_global_variable)operator((&)ident(rb_argv0)operator(\);) preprocessor(#ifdef) ident(MSDOS) comment(/* * There is no way we can refer to them from ruby, so close them to save * space. */) operator(()directive(void)operator(\))ident(fclose)operator(()ident(stdaux)operator(\);) operator(()directive(void)operator(\))ident(fclose)operator(()ident(stdprn)operator(\);) preprocessor(#endif) operator(}) directive(void) ident(ruby_set_argv)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) pre_type(char) operator(**)ident(argv)operator(;) operator({) pre_type(int) ident(i)operator(;) preprocessor(#if) ident(defined)operator(()ident(USE_DLN_A_OUT)operator(\)) reserved(if) operator(()ident(origargv)operator(\)) ident(dln_argv0) operator(=) ident(origargv)operator([)integer(0)operator(];) reserved(else) ident(dln_argv0) operator(=) ident(argv)operator([)integer(0)operator(];) preprocessor(#endif) ident(rb_ary_clear)operator(()ident(rb_argv)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i) operator(<) ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(arg) operator(=) ident(rb_tainted_str_new2)operator(()ident(argv)operator([)ident(i)operator(]\);) ident(OBJ_FREEZE)operator(()ident(arg)operator(\);) ident(rb_ary_push)operator(()ident(rb_argv)operator(,) ident(arg)operator(\);) operator(}) operator(}) directive(void) ident(ruby_process_options)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) pre_type(char) operator(**)ident(argv)operator(;) operator({) ident(origargc) operator(=) ident(argc)operator(;) ident(origargv) operator(=) ident(argv)operator(;) ident(ruby_script)operator(()ident(argv)operator([)integer(0)operator(]\);) comment(/* for the time being */) ident(rb_argv0) operator(=) ident(rb_progname)operator(;) preprocessor(#if) ident(defined)operator(()ident(USE_DLN_A_OUT)operator(\)) ident(dln_argv0) operator(=) ident(argv)operator([)integer(0)operator(];) preprocessor(#endif) ident(set_arg0space)operator((\);) ident(proc_options)operator(()ident(argc)operator(,) ident(argv)operator(\);) reserved(if) operator(()ident(do_check) operator(&&) ident(ruby_nerrs) operator(==) integer(0)operator(\)) operator({) ident(printf)operator(()stringoperator(\);) ident(exit)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(do_print)operator(\)) operator({) ident(rb_parser_append_print)operator((\);) operator(}) reserved(if) operator(()ident(do_loop)operator(\)) operator({) ident(rb_parser_while_loop)operator(()ident(do_line)operator(,) ident(do_split)operator(\);) operator(}) operator(}) comment(/********************************************************************** signal.c - $Author: shyouhei $ $Date: 2008-06-29 09:52:47 +0200 (Sun, 29 Jun 2008\) $ created at: Tue Dec 20 10:13:44 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("rubysig.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(__BEOS__) preprocessor(#undef) ident(SIGBUS) preprocessor(#endif) preprocessor(#if) ident(defined) ident(HAVE_SIGPROCMASK) operator(||) ident(defined) ident(HAVE_SIGSETMASK) preprocessor(#define) ident(USE_TRAP_MASK) integer(1) preprocessor(#else) preprocessor(#define) ident(USE_TRAP_MASK) integer(0) preprocessor(#endif) preprocessor(#ifndef) ident(NSIG) preprocessor(# ifdef) ident(DJGPP) preprocessor(# define) ident(NSIG) ident(SIGMAX) preprocessor(# else) preprocessor(# define) ident(NSIG) operator(()ident(_SIGMAX) operator(+) integer(1)operator(\)) comment(/* For QNX */) preprocessor(# endif) preprocessor(#endif) directive(static) reserved(struct) ident(signals) operator({) pre_type(char) operator(*)ident(signm)operator(;) pre_type(int) ident(signo)operator(;) operator(}) ident(siglist) operator([]) operator(=) operator({) operator({)stringoperator(,) integer(0)operator(},) preprocessor(#ifdef) ident(SIGHUP) operator({)stringoperator(,) ident(SIGHUP)operator(},) preprocessor(#endif) operator({)stringoperator(,) ident(SIGINT)operator(},) preprocessor(#ifdef) ident(SIGQUIT) operator({)stringoperator(,) ident(SIGQUIT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGILL) operator({)stringoperator(,) ident(SIGILL)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTRAP) operator({)stringoperator(,) ident(SIGTRAP)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGIOT) operator({)stringoperator(,) ident(SIGIOT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGABRT) operator({)stringoperator(,) ident(SIGABRT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGEMT) operator({)stringoperator(,) ident(SIGEMT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGFPE) operator({)stringoperator(,) ident(SIGFPE)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGKILL) operator({)stringoperator(,) ident(SIGKILL)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGBUS) operator({)stringoperator(,) ident(SIGBUS)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSEGV) operator({)stringoperator(,) ident(SIGSEGV)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSYS) operator({)stringoperator(,) ident(SIGSYS)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPIPE) operator({)stringoperator(,) ident(SIGPIPE)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGALRM) operator({)stringoperator(,) ident(SIGALRM)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTERM) operator({)stringoperator(,) ident(SIGTERM)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGURG) operator({)stringoperator(,) ident(SIGURG)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSTOP) operator({)stringoperator(,) ident(SIGSTOP)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTSTP) operator({)stringoperator(,) ident(SIGTSTP)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGCONT) operator({)stringoperator(,) ident(SIGCONT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGCHLD) operator({)stringoperator(,) ident(SIGCHLD)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGCLD) operator({)stringoperator(,) ident(SIGCLD)operator(},) preprocessor(#else) preprocessor(# ifdef) ident(SIGCHLD) operator({)stringoperator(,) ident(SIGCHLD)operator(},) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTTIN) operator({)stringoperator(,) ident(SIGTTIN)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTTOU) operator({)stringoperator(,) ident(SIGTTOU)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGIO) operator({)stringoperator(,) ident(SIGIO)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGXCPU) operator({)stringoperator(,) ident(SIGXCPU)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGXFSZ) operator({)stringoperator(,) ident(SIGXFSZ)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGVTALRM) operator({)stringoperator(,) ident(SIGVTALRM)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPROF) operator({)stringoperator(,) ident(SIGPROF)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGWINCH) operator({)stringoperator(,) ident(SIGWINCH)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR1) operator({)stringoperator(,) ident(SIGUSR1)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR2) operator({)stringoperator(,) ident(SIGUSR2)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGLOST) operator({)stringoperator(,) ident(SIGLOST)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGMSG) operator({)stringoperator(,) ident(SIGMSG)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPWR) operator({)stringoperator(,) ident(SIGPWR)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPOLL) operator({)stringoperator(,) ident(SIGPOLL)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGDANGER) operator({)stringoperator(,) ident(SIGDANGER)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGMIGRATE) operator({)stringoperator(,) ident(SIGMIGRATE)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPRE) operator({)stringoperator(,) ident(SIGPRE)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGGRANT) operator({)stringoperator(,) ident(SIGGRANT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGRETRACT) operator({)stringoperator(,) ident(SIGRETRACT)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSOUND) operator({)stringoperator(,) ident(SIGSOUND)operator(},) preprocessor(#endif) preprocessor(#ifdef) ident(SIGINFO) operator({)stringoperator(,) ident(SIGINFO)operator(},) preprocessor(#endif) operator({)pre_constant(NULL)operator(,) integer(0)operator(}) operator(};) directive(static) pre_type(int) ident(signm2signo)operator(()ident(nm)operator(\)) directive(const) pre_type(char) operator(*)ident(nm)operator(;) operator({) reserved(struct) ident(signals) operator(*)ident(sigs)operator(;) reserved(for) operator(()ident(sigs) operator(=) ident(siglist)operator(;) ident(sigs)operator(->)ident(signm)operator(;) ident(sigs)operator(++\)) reserved(if) operator(()ident(strcmp)operator(()ident(sigs)operator(->)ident(signm)operator(,) ident(nm)operator(\)) operator(==) integer(0)operator(\)) reserved(return) ident(sigs)operator(->)ident(signo)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(char)operator(*) ident(signo2signm)operator(()ident(no)operator(\)) pre_type(int) ident(no)operator(;) operator({) reserved(struct) ident(signals) operator(*)ident(sigs)operator(;) reserved(for) operator(()ident(sigs) operator(=) ident(siglist)operator(;) ident(sigs)operator(->)ident(signm)operator(;) ident(sigs)operator(++\)) reserved(if) operator(()ident(sigs)operator(->)ident(signo) operator(==) ident(no)operator(\)) reserved(return) ident(sigs)operator(->)ident(signm)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(const) pre_type(char) operator(*) ident(ruby_signal_name)operator(()ident(no)operator(\)) pre_type(int) ident(no)operator(;) operator({) reserved(return) ident(signo2signm)operator(()ident(no)operator(\);) operator(}) comment(/* * call-seq: * SignalException.new(sig\) => signal_exception * * Construct a new SignalException object. +sig+ should be a known * signal name, or a signal number. */) directive(static) ident(VALUE) ident(esignal_init)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(self)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(self)operator(;) operator({) pre_type(int) ident(argnum) operator(=) integer(1)operator(;) ident(VALUE) ident(sig) operator(=) ident(Qnil)operator(;) pre_type(int) ident(signo)operator(;) directive(const) pre_type(char) operator(*)ident(signm)operator(;) pre_type(char) ident(tmpnm)operator([()reserved(sizeof)operator(()pre_type(int)operator(\)*)ident(CHAR_BIT)operator(\))operator(/)integer(3)operator(+)integer(4)operator(];) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(sig) operator(=) ident(argv)operator([)integer(0)operator(];) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(sig)operator(\)\)) ident(argnum) operator(=) integer(2)operator(;) operator(}) reserved(if) operator(()ident(argc) operator(<) integer(1) operator(||) ident(argnum) operator(<) ident(argc)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(,) ident(argnum)operator(\);) operator(}) reserved(if) operator(()ident(argnum) operator(==) integer(2)operator(\)) operator({) ident(signo) operator(=) ident(FIX2INT)operator(()ident(sig)operator(\);) reserved(if) operator(()ident(signo) operator(<) integer(0) operator(||) ident(signo) operator(>) ident(NSIG)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(signo)operator(\);) operator(}) reserved(if) operator(()ident(argc) operator(>) integer(1)operator(\)) operator({) ident(sig) operator(=) ident(argv)operator([)integer(1)operator(];) operator(}) reserved(else) operator({) ident(signm) operator(=) ident(signo2signm)operator(()ident(signo)operator(\);) reserved(if) operator(()ident(signm)operator(\)) operator({) ident(snprintf)operator(()ident(tmpnm)operator(,) reserved(sizeof)operator(()ident(tmpnm)operator(\),) stringoperator(,) ident(signm)operator(\);) operator(}) reserved(else) operator({) ident(snprintf)operator(()ident(tmpnm)operator(,) reserved(sizeof)operator(()ident(tmpnm)operator(\),) stringoperator(,) ident(signo)operator(\);) operator(}) ident(sig) operator(=) ident(rb_str_new2)operator(()ident(signm) operator(=) ident(tmpnm)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(signm) operator(=) ident(SYMBOL_P)operator(()ident(sig)operator(\)) operator(?) ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(sig)operator(\)\)) operator(:) ident(StringValuePtr)operator(()ident(sig)operator(\);) reserved(if) operator(()ident(strncmp)operator(()ident(signm)operator(,) stringoperator(,) integer(3)operator(\)) operator(==) integer(0)operator(\)) ident(signm) operator(+=) integer(3)operator(;) ident(signo) operator(=) ident(signm2signo)operator(()ident(signm)operator(\);) reserved(if) operator((!)ident(signo)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(signm)operator(\);) operator(}) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(sig)operator(\)\)) operator({) ident(sig) operator(=) ident(rb_str_new2)operator(()ident(signm)operator(\);) operator(}) operator(}) ident(rb_call_super)operator(()integer(1)operator(,) operator(&)ident(sig)operator(\);) ident(rb_iv_set)operator(()ident(self)operator(,) stringoperator(,) ident(INT2NUM)operator(()ident(signo)operator(\)\);) reserved(return) ident(self)operator(;) operator(}) directive(static) ident(VALUE) ident(interrupt_init)operator(()ident(self)operator(,) ident(mesg)operator(\)) ident(VALUE) ident(self)operator(,) ident(mesg)operator(;) operator({) ident(VALUE) ident(argv)operator([)integer(2)operator(];) ident(argv)operator([)integer(0)operator(]) operator(=) ident(INT2FIX)operator(()ident(SIGINT)operator(\);) ident(argv)operator([)integer(1)operator(]) operator(=) ident(mesg)operator(;) reserved(return) ident(rb_call_super)operator(()integer(2)operator(,) ident(argv)operator(\);) operator(}) directive(void) ident(ruby_default_signal)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) preprocessor(#ifndef) ident(MACOS_UNUSE_SIGNAL) directive(extern) ident(rb_pid_t) ident(getpid) ident(_)operator((()directive(void)operator(\)\);) ident(signal)operator(()ident(sig)operator(,) ident(SIG_DFL)operator(\);) ident(kill)operator(()ident(getpid)operator((\),) ident(sig)operator(\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Process.kill(signal, pid, ...\) => fixnum * * Sends the given signal to the specified process id(s\), or to the * current process if _pid_ is zero. _signal_ may be an * integer signal number or a POSIX signal name (either with or without * a +SIG+ prefix\). If _signal_ is negative (or starts * with a minus sign\), kills process groups instead of * processes. Not all signals are available on all platforms. * * pid = fork do * Signal.trap("HUP"\) { puts "Ouch!"; exit } * # ... do some work ... * end * # ... * Process.kill("HUP", pid\) * Process.wait * * produces: * * Ouch! */) ident(VALUE) ident(rb_f_kill)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) pre_type(int) ident(negative) operator(=) integer(0)operator(;) pre_type(int) ident(sig)operator(;) pre_type(int) ident(i)operator(;) pre_type(char) operator(*)ident(s)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(argc) operator(<) integer(2)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(sig) operator(=) ident(FIX2INT)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(break)operator(;) reserved(case) ident(T_SYMBOL)operator(:) ident(s) operator(=) ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(argv)operator([)integer(0)operator(]\)\);) reserved(if) operator((!)ident(s)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(goto) ident(str_signal)operator(;) reserved(case) ident(T_STRING)operator(:) ident(s) operator(=) ident(RSTRING)operator(()ident(argv)operator([)integer(0)operator(]\)->)ident(ptr)operator(;) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) ident(negative)operator(++;) ident(s)operator(++;) operator(}) label(str_signal:) reserved(if) operator(()ident(strncmp)operator(()stringoperator(,) ident(s)operator(,) integer(3)operator(\)) operator(==) integer(0)operator(\)) ident(s) operator(+=) integer(3)operator(;) reserved(if)operator((()ident(sig) operator(=) ident(signm2signo)operator(()ident(s)operator(\)\)) operator(==) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(s)operator(\);) reserved(if) operator(()ident(negative)operator(\)) ident(sig) operator(=) operator(-)ident(sig)operator(;) reserved(break)operator(;) reserved(default)operator(:) operator({) ident(VALUE) ident(str)operator(;) ident(str) operator(=) ident(rb_check_string_type)operator(()ident(argv)operator([)integer(0)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)\)) operator({) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(goto) ident(str_signal)operator(;) operator(}) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(argv)operator([)integer(0)operator(]\)\);) operator(}) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(sig) operator(<) integer(0)operator(\)) operator({) ident(sig) operator(=) operator(-)ident(sig)operator(;) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) pre_type(int) ident(pid) operator(=) ident(NUM2INT)operator(()ident(argv)operator([)ident(i)operator(]\);) preprocessor(#ifdef) ident(HAS_KILLPG) reserved(if) operator(()ident(killpg)operator(()ident(pid)operator(,) ident(sig)operator(\)) operator(<) integer(0)operator(\)) preprocessor(#else) reserved(if) operator(()ident(kill)operator((-)ident(pid)operator(,) ident(sig)operator(\)) operator(<) integer(0)operator(\)) preprocessor(#endif) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(Check_Type)operator(()ident(argv)operator([)ident(i)operator(],) ident(T_FIXNUM)operator(\);) reserved(if) operator(()ident(kill)operator(()ident(FIX2INT)operator(()ident(argv)operator([)ident(i)operator(]\),) ident(sig)operator(\)) operator(<) integer(0)operator(\)) ident(rb_sys_fail)operator(()integer(0)operator(\);) operator(}) operator(}) reserved(return) ident(INT2FIX)operator(()ident(i)operator(-)integer(1)operator(\);) operator(}) directive(static) reserved(struct) operator({) ident(VALUE) ident(cmd)operator(;) pre_type(int) ident(safe)operator(;) operator(}) ident(trap_list)operator([)ident(NSIG)operator(];) directive(static) ident(rb_atomic_t) ident(trap_pending_list)operator([)ident(NSIG)operator(];) directive(static) pre_type(char) ident(rb_trap_accept_nativethreads)operator([)ident(NSIG)operator(];) ident(rb_atomic_t) ident(rb_trap_pending)operator(;) ident(rb_atomic_t) ident(rb_trap_immediate)operator(;) pre_type(int) ident(rb_prohibit_interrupt) operator(=) integer(1)operator(;) directive(void) ident(rb_gc_mark_trap_list)operator((\)) operator({) preprocessor(#ifndef) ident(MACOS_UNUSE_SIGNAL) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(NSIG)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(trap_list)operator([)ident(i)operator(])operator(.)ident(cmd)operator(\)) ident(rb_gc_mark)operator(()ident(trap_list)operator([)ident(i)operator(])operator(.)ident(cmd)operator(\);) operator(}) preprocessor(#endif) comment(/* MACOS_UNUSE_SIGNAL */) operator(}) preprocessor(#ifdef) ident(__dietlibc__) preprocessor(#define) ident(sighandler_t) ident(sh_t) preprocessor(#endif) reserved(typedef) ident(RETSIGTYPE) operator((*)ident(sighandler_t)operator(\))ident(_)operator((()pre_type(int)operator(\)\);) preprocessor(#ifdef) ident(POSIX_SIGNAL) directive(static) ident(sighandler_t) ident(ruby_signal)operator(()ident(signum)operator(,) ident(handler)operator(\)) pre_type(int) ident(signum)operator(;) ident(sighandler_t) ident(handler)operator(;) operator({) reserved(struct) ident(sigaction) ident(sigact)operator(,) ident(old)operator(;) ident(rb_trap_accept_nativethreads)operator([)ident(signum)operator(]) operator(=) integer(0)operator(;) ident(sigact)operator(.)ident(sa_handler) operator(=) ident(handler)operator(;) ident(sigemptyset)operator((&)ident(sigact)operator(.)ident(sa_mask)operator(\);) ident(sigact)operator(.)ident(sa_flags) operator(=) integer(0)operator(;) preprocessor(# ifdef) ident(SA_NOCLDWAIT) reserved(if) operator(()ident(signum) operator(==) ident(SIGCHLD) operator(&&) ident(handler) operator(==) ident(SIG_IGN)operator(\)) ident(sigact)operator(.)ident(sa_flags) operator(|=) ident(SA_NOCLDWAIT)operator(;) preprocessor(# endif) ident(sigaction)operator(()ident(signum)operator(,) operator(&)ident(sigact)operator(,) operator(&)ident(old)operator(\);) reserved(return) ident(old)operator(.)ident(sa_handler)operator(;) operator(}) directive(void) ident(posix_signal)operator(()ident(signum)operator(,) ident(handler)operator(\)) pre_type(int) ident(signum)operator(;) ident(sighandler_t) ident(handler)operator(;) operator({) ident(ruby_signal)operator(()ident(signum)operator(,) ident(handler)operator(\);) operator(}) preprocessor(# ifdef) ident(HAVE_NATIVETHREAD) directive(static) ident(sighandler_t) ident(ruby_nativethread_signal)operator(()ident(signum)operator(,) ident(handler)operator(\)) pre_type(int) ident(signum)operator(;) ident(sighandler_t) ident(handler)operator(;) operator({) ident(sighandler_t) ident(old)operator(;) ident(old) operator(=) ident(ruby_signal)operator(()ident(signum)operator(,) ident(handler)operator(\);) ident(rb_trap_accept_nativethreads)operator([)ident(signum)operator(]) operator(=) integer(1)operator(;) reserved(return) ident(old)operator(;) operator(}) directive(void) ident(posix_nativethread_signal)operator(()ident(signum)operator(,) ident(handler)operator(\)) pre_type(int) ident(signum)operator(;) ident(sighandler_t) ident(handler)operator(;) operator({) ident(ruby_nativethread_signal)operator(()ident(signum)operator(,) ident(handler)operator(\);) operator(}) preprocessor(# endif) preprocessor(#else) comment(/* !POSIX_SIGNAL */) preprocessor(#define) ident(ruby_signal)operator(()ident(sig)operator(,)ident(handler)operator(\)) operator(()ident(rb_trap_accept_nativethreads)operator([)ident(sig)operator(]) operator(=) integer(0)operator(,) ident(signal)operator((()ident(sig)operator(\),()ident(handler)operator(\)\)\)) preprocessor(# ifdef) ident(HAVE_NATIVETHREAD) directive(static) ident(sighandler_t) ident(ruby_nativethread_signal)operator(()ident(signum)operator(,) ident(handler)operator(\)) pre_type(int) ident(signum)operator(;) ident(sighandler_t) ident(handler)operator(;) operator({) ident(sighandler_t) ident(old)operator(;) ident(old) operator(=) ident(signal)operator(()ident(signum)operator(,) ident(handler)operator(\);) ident(rb_trap_accept_nativethreads)operator([)ident(signum)operator(]) operator(=) integer(1)operator(;) reserved(return) ident(old)operator(;) operator(}) preprocessor(# endif) preprocessor(#endif) comment(/* POSIX_SIGNAL */) directive(static) directive(void) ident(signal_exec) ident(_)operator((()pre_type(int) ident(sig)operator(\)\);) directive(static) directive(void) ident(signal_exec)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) reserved(if) operator(()ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd) operator(==) integer(0)operator(\)) operator({) reserved(switch) operator(()ident(sig)operator(\)) operator({) reserved(case) ident(SIGINT)operator(:) ident(rb_thread_interrupt)operator((\);) reserved(break)operator(;) preprocessor(#ifdef) ident(SIGHUP) reserved(case) ident(SIGHUP)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGQUIT) reserved(case) ident(SIGQUIT)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTERM) reserved(case) ident(SIGTERM)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGALRM) reserved(case) ident(SIGALRM)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR1) reserved(case) ident(SIGUSR1)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR2) reserved(case) ident(SIGUSR2)operator(:) preprocessor(#endif) ident(rb_thread_signal_raise)operator(()ident(sig)operator(\);) reserved(break)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd) operator(==) ident(Qundef)operator(\)) operator({) ident(rb_thread_signal_exit)operator((\);) operator(}) reserved(else) operator({) ident(rb_thread_trap_eval)operator(()ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd)operator(,) ident(sig)operator(,) ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(safe)operator(\);) operator(}) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_NATIVETHREAD)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_NATIVETHREAD_KILL)operator(\)) directive(static) directive(void) ident(sigsend_to_ruby_thread)operator(()pre_type(int) ident(sig)operator(\)) operator({) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigset_t) ident(mask)operator(,) ident(old_mask)operator(;) preprocessor(# else) pre_type(int) ident(mask)operator(,) ident(old_mask)operator(;) preprocessor(# endif) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigfillset)operator((&)ident(mask)operator(\);) ident(sigprocmask)operator(()ident(SIG_BLOCK)operator(,) operator(&)ident(mask)operator(,) operator(&)ident(old_mask)operator(\);) preprocessor(# else) ident(mask) operator(=) ident(sigblock)operator((~)integer(0)operator(\);) ident(sigsetmask)operator(()ident(mask)operator(\);) preprocessor(# endif) ident(ruby_native_thread_kill)operator(()ident(sig)operator(\);) operator(}) preprocessor(#endif) directive(static) ident(RETSIGTYPE) ident(sighandler) ident(_)operator((()pre_type(int)operator(\)\);) directive(static) ident(RETSIGTYPE) ident(sighandler)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) preprocessor(#ifdef) ident(_WIN32) preprocessor(#define) ident(IN_MAIN_CONTEXT)operator(()ident(f)operator(,) ident(a)operator(\)) operator(()ident(rb_w32_main_context)operator(()ident(a)operator(,) ident(f)operator(\)) operator(?) operator(()directive(void)operator(\))integer(0) operator(:) ident(f)operator(()ident(a)operator(\)\)) preprocessor(#else) preprocessor(#define) ident(IN_MAIN_CONTEXT)operator(()ident(f)operator(,) ident(a)operator(\)) ident(f)operator(()ident(a)operator(\)) preprocessor(#endif) reserved(if) operator(()ident(sig) operator(>=) ident(NSIG)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(,) ident(sig)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_NATIVETHREAD)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_NATIVETHREAD_KILL)operator(\)) reserved(if) operator((!)ident(is_ruby_native_thread)operator((\)) operator(&&) operator(!)ident(rb_trap_accept_nativethreads)operator([)ident(sig)operator(]\)) operator({) ident(sigsend_to_ruby_thread)operator(()ident(sig)operator(\);) reserved(return)operator(;) operator(}) preprocessor(#endif) preprocessor(#if) operator(!)ident(defined)operator(()ident(BSD_SIGNAL)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(POSIX_SIGNAL)operator(\)) reserved(if) operator(()ident(rb_trap_accept_nativethreads)operator([)ident(sig)operator(]\)) operator({) ident(ruby_nativethread_signal)operator(()ident(sig)operator(,) ident(sighandler)operator(\);) operator(}) reserved(else) operator({) ident(ruby_signal)operator(()ident(sig)operator(,) ident(sighandler)operator(\);) operator(}) preprocessor(#endif) reserved(if) operator(()ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd) operator(==) integer(0) operator(&&) ident(ATOMIC_TEST)operator(()ident(rb_trap_immediate)operator(\)\)) operator({) ident(IN_MAIN_CONTEXT)operator(()ident(signal_exec)operator(,) ident(sig)operator(\);) ident(ATOMIC_SET)operator(()ident(rb_trap_immediate)operator(,) integer(1)operator(\);) operator(}) reserved(else) operator({) ident(ATOMIC_INC)operator(()ident(rb_trap_pending)operator(\);) ident(ATOMIC_INC)operator(()ident(trap_pending_list)operator([)ident(sig)operator(]\);) preprocessor(#ifdef) ident(_WIN32) ident(rb_w32_interrupted)operator((\);) preprocessor(#endif) operator(}) operator(}) preprocessor(#ifdef) ident(SIGBUS) directive(static) ident(RETSIGTYPE) ident(sigbus) ident(_)operator((()pre_type(int)operator(\)\);) directive(static) ident(RETSIGTYPE) ident(sigbus)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_NATIVETHREAD)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_NATIVETHREAD_KILL)operator(\)) reserved(if) operator((!)ident(is_ruby_native_thread)operator((\)) operator(&&) operator(!)ident(rb_trap_accept_nativethreads)operator([)ident(sig)operator(]\)) operator({) ident(sigsend_to_ruby_thread)operator(()ident(sig)operator(\);) reserved(return)operator(;) operator(}) preprocessor(#endif) ident(rb_bug)operator(()stringoperator(\);) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSEGV) directive(static) ident(RETSIGTYPE) ident(sigsegv) ident(_)operator((()pre_type(int)operator(\)\);) directive(static) ident(RETSIGTYPE) ident(sigsegv)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_NATIVETHREAD)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_NATIVETHREAD_KILL)operator(\)) reserved(if) operator((!)ident(is_ruby_native_thread)operator((\)) operator(&&) operator(!)ident(rb_trap_accept_nativethreads)operator([)ident(sig)operator(]\)) operator({) ident(sigsend_to_ruby_thread)operator(()ident(sig)operator(\);) reserved(return)operator(;) operator(}) preprocessor(#endif) ident(rb_bug)operator(()stringoperator(\);) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPIPE) directive(static) ident(RETSIGTYPE) ident(sigpipe) ident(_)operator((()pre_type(int)operator(\)\);) directive(static) ident(RETSIGTYPE) ident(sigpipe)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) comment(/* do nothing */) operator(}) preprocessor(#endif) directive(void) ident(rb_trap_exit)operator((\)) operator({) preprocessor(#ifndef) ident(MACOS_UNUSE_SIGNAL) reserved(if) operator(()ident(trap_list)operator([)integer(0)operator(])operator(.)ident(cmd)operator(\)) operator({) ident(VALUE) ident(trap_exit) operator(=) ident(trap_list)operator([)integer(0)operator(])operator(.)ident(cmd)operator(;) ident(trap_list)operator([)integer(0)operator(])operator(.)ident(cmd) operator(=) integer(0)operator(;) ident(rb_eval_cmd)operator(()ident(trap_exit)operator(,) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(INT2FIX)operator(()integer(0)operator(\)\),) ident(trap_list)operator([)integer(0)operator(])operator(.)ident(safe)operator(\);) operator(}) preprocessor(#endif) operator(}) directive(void) ident(rb_trap_exec)operator((\)) operator({) preprocessor(#ifndef) ident(MACOS_UNUSE_SIGNAL) pre_type(int) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(NSIG)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(trap_pending_list)operator([)ident(i)operator(]\)) operator({) ident(trap_pending_list)operator([)ident(i)operator(]) operator(=) integer(0)operator(;) ident(signal_exec)operator(()ident(i)operator(\);) operator(}) operator(}) preprocessor(#endif) comment(/* MACOS_UNUSE_SIGNAL */) ident(rb_trap_pending) operator(=) integer(0)operator(;) operator(}) reserved(struct) ident(trap_arg) operator({) preprocessor(#if) ident(USE_TRAP_MASK) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigset_t) ident(mask)operator(;) preprocessor(# else) pre_type(int) ident(mask)operator(;) preprocessor(# endif) preprocessor(#endif) ident(VALUE) ident(sig)operator(,) ident(cmd)operator(;) operator(};) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) directive(static) ident(sigset_t) ident(trap_last_mask)operator(;) preprocessor(# else) directive(static) pre_type(int) ident(trap_last_mask)operator(;) preprocessor(# endif) directive(static) ident(RETSIGTYPE) ident(sigexit) ident(_)operator((()pre_type(int)operator(\)\);) directive(static) ident(RETSIGTYPE) ident(sigexit)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) ident(rb_thread_signal_exit)operator((\);) operator(}) directive(static) ident(VALUE) ident(trap)operator(()ident(arg)operator(\)) reserved(struct) ident(trap_arg) operator(*)ident(arg)operator(;) operator({) ident(sighandler_t) ident(func)operator(,) ident(oldfunc)operator(;) ident(VALUE) ident(command)operator(,) ident(oldcmd)operator(;) pre_type(int) ident(sig) operator(=) operator(-)integer(1)operator(;) pre_type(char) operator(*)ident(s)operator(;) ident(func) operator(=) ident(sighandler)operator(;) ident(command) operator(=) ident(arg)operator(->)ident(cmd)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(command)operator(\)\)) operator({) ident(func) operator(=) ident(SIG_IGN)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(TYPE)operator(()ident(command)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(SafeStringValue)operator(()ident(command)operator(\);) comment(/* taint check */) reserved(if) operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(func) operator(=) ident(SIG_IGN)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(len) operator(==) integer(7)operator(\)) operator({) reserved(if) operator(()ident(strncmp)operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(ptr)operator(,) stringoperator(,) integer(7)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(func) operator(=) ident(SIG_IGN)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strncmp)operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(ptr)operator(,) stringoperator(,) integer(7)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(func) operator(=) ident(SIG_DFL)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(strncmp)operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(ptr)operator(,) stringoperator(,) integer(7)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(func) operator(=) ident(SIG_DFL)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(len) operator(==) integer(6)operator(\)) operator({) reserved(if) operator(()ident(strncmp)operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(ptr)operator(,) stringoperator(,) integer(6)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(func) operator(=) ident(SIG_IGN)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(len) operator(==) integer(4)operator(\)) operator({) reserved(if) operator(()ident(strncmp)operator(()ident(RSTRING)operator(()ident(command)operator(\)->)ident(ptr)operator(,) stringoperator(,) integer(4)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(func) operator(=) ident(sigexit)operator(;) operator(}) operator(}) operator(}) reserved(if) operator(()ident(func) operator(==) ident(SIG_IGN) operator(||) ident(func) operator(==) ident(SIG_DFL)operator(\)) operator({) ident(command) operator(=) integer(0)operator(;) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(arg)operator(->)ident(sig)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(sig) operator(=) ident(FIX2INT)operator(()ident(arg)operator(->)ident(sig)operator(\);) reserved(break)operator(;) reserved(case) ident(T_SYMBOL)operator(:) ident(s) operator(=) ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(arg)operator(->)ident(sig)operator(\)\);) reserved(if) operator((!)ident(s)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(goto) ident(str_signal)operator(;) reserved(case) ident(T_STRING)operator(:) ident(s) operator(=) ident(RSTRING)operator(()ident(arg)operator(->)ident(sig)operator(\)->)ident(ptr)operator(;) label(str_signal:) reserved(if) operator(()ident(strncmp)operator(()stringoperator(,) ident(s)operator(,) integer(3)operator(\)) operator(==) integer(0)operator(\)) ident(s) operator(+=) integer(3)operator(;) ident(sig) operator(=) ident(signm2signo)operator(()ident(s)operator(\);) reserved(if) operator(()ident(sig) operator(==) integer(0) operator(&&) ident(strcmp)operator(()ident(s)operator(,) stringoperator(\)) operator(!=) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(s)operator(\);) operator(}) reserved(if) operator(()ident(sig) operator(<) integer(0) operator(||) ident(sig) operator(>=) ident(NSIG)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(sig)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETITIMER)operator(\)) reserved(if) operator(()ident(sig) operator(==) ident(SIGVTALRM)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) preprocessor(#endif) reserved(if) operator(()ident(func) operator(==) ident(SIG_DFL)operator(\)) operator({) reserved(switch) operator(()ident(sig)operator(\)) operator({) reserved(case) ident(SIGINT)operator(:) preprocessor(#ifdef) ident(SIGHUP) reserved(case) ident(SIGHUP)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGQUIT) reserved(case) ident(SIGQUIT)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTERM) reserved(case) ident(SIGTERM)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGALRM) reserved(case) ident(SIGALRM)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR1) reserved(case) ident(SIGUSR1)operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR2) reserved(case) ident(SIGUSR2)operator(:) preprocessor(#endif) ident(func) operator(=) ident(sighandler)operator(;) reserved(break)operator(;) preprocessor(#ifdef) ident(SIGBUS) reserved(case) ident(SIGBUS)operator(:) ident(func) operator(=) ident(sigbus)operator(;) reserved(break)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSEGV) reserved(case) ident(SIGSEGV)operator(:) ident(func) operator(=) ident(sigsegv)operator(;) reserved(break)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPIPE) reserved(case) ident(SIGPIPE)operator(:) ident(func) operator(=) ident(sigpipe)operator(;) reserved(break)operator(;) preprocessor(#endif) operator(}) operator(}) ident(oldfunc) operator(=) ident(ruby_signal)operator(()ident(sig)operator(,) ident(func)operator(\);) ident(oldcmd) operator(=) ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd)operator(;) reserved(if) operator((!)ident(oldcmd)operator(\)) operator({) reserved(if) operator(()ident(oldfunc) operator(==) ident(SIG_IGN)operator(\)) ident(oldcmd) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(else) reserved(if) operator(()ident(oldfunc) operator(==) ident(sighandler)operator(\)) ident(oldcmd) operator(=) ident(rb_str_new2)operator(()stringoperator(\);) reserved(else) ident(oldcmd) operator(=) ident(Qnil)operator(;) operator(}) ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd) operator(=) ident(command)operator(;) ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(safe) operator(=) ident(ruby_safe_level)operator(;) comment(/* enable at least specified signal. */) preprocessor(#if) ident(USE_TRAP_MASK) preprocessor(#ifdef) ident(HAVE_SIGPROCMASK) ident(sigdelset)operator((&)ident(arg)operator(->)ident(mask)operator(,) ident(sig)operator(\);) preprocessor(#else) ident(arg)operator(->)ident(mask) operator(&=) operator(~)ident(sigmask)operator(()ident(sig)operator(\);) preprocessor(#endif) preprocessor(#endif) reserved(return) ident(oldcmd)operator(;) operator(}) preprocessor(#if) ident(USE_TRAP_MASK) directive(static) ident(VALUE) ident(trap_ensure)operator(()ident(arg)operator(\)) reserved(struct) ident(trap_arg) operator(*)ident(arg)operator(;) operator({) comment(/* enable interrupt */) preprocessor(#ifdef) ident(HAVE_SIGPROCMASK) ident(sigprocmask)operator(()ident(SIG_SETMASK)operator(,) operator(&)ident(arg)operator(->)ident(mask)operator(,) pre_constant(NULL)operator(\);) preprocessor(#else) ident(sigsetmask)operator(()ident(arg)operator(->)ident(mask)operator(\);) preprocessor(#endif) ident(trap_last_mask) operator(=) ident(arg)operator(->)ident(mask)operator(;) reserved(return) integer(0)operator(;) operator(}) preprocessor(#endif) directive(void) ident(rb_trap_restore_mask)operator((\)) operator({) preprocessor(#if) ident(USE_TRAP_MASK) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigprocmask)operator(()ident(SIG_SETMASK)operator(,) operator(&)ident(trap_last_mask)operator(,) pre_constant(NULL)operator(\);) preprocessor(# else) ident(sigsetmask)operator(()ident(trap_last_mask)operator(\);) preprocessor(# endif) preprocessor(#endif) operator(}) comment(/* * call-seq: * Signal.trap( signal, proc \) => obj * Signal.trap( signal \) {| | block } => obj * * Specifies the handling of signals. The first parameter is a signal * name (a string such as ``SIGALRM'', ``SIGUSR1'', and so on\) or a * signal number. The characters ``SIG'' may be omitted from the * signal name. The command or block specifies code to be run when the * signal is raised. If the command is the string ``IGNORE'' or * ``SIG_IGN'', the signal will be ignored. If the command is * ``DEFAULT'' or ``SIG_DFL'', the operating system's default handler * will be invoked. If the command is ``EXIT'', the script will be * terminated by the signal. Otherwise, the given command or block * will be run. * The special signal name ``EXIT'' or signal number zero will be * invoked just prior to program termination. * trap returns the previous handler for the given signal. * * Signal.trap(0, proc { puts "Terminating: #{$$}" }\) * Signal.trap("CLD"\) { puts "Child died" } * fork && Process.wait * * produces: * Terminating: 27461 * Child died * Terminating: 27460 */) directive(static) ident(VALUE) ident(sig_trap)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(struct) ident(trap_arg) ident(arg)operator(;) ident(rb_secure)operator(()integer(2)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0) operator(||) ident(argc) operator(>) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(arg)operator(.)ident(sig) operator(=) ident(argv)operator([)integer(0)operator(];) reserved(if) operator(()ident(argc) operator(==) integer(1)operator(\)) operator({) ident(arg)operator(.)ident(cmd) operator(=) ident(rb_block_proc)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(arg)operator(.)ident(cmd) operator(=) ident(argv)operator([)integer(1)operator(];) operator(}) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(arg)operator(.)ident(cmd)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) preprocessor(#if) ident(USE_TRAP_MASK) comment(/* disable interrupt */) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigfillset)operator((&)ident(arg)operator(.)ident(mask)operator(\);) ident(sigprocmask)operator(()ident(SIG_BLOCK)operator(,) operator(&)ident(arg)operator(.)ident(mask)operator(,) operator(&)ident(arg)operator(.)ident(mask)operator(\);) preprocessor(# else) ident(arg)operator(.)ident(mask) operator(=) ident(sigblock)operator((~)integer(0)operator(\);) preprocessor(# endif) reserved(return) ident(rb_ensure)operator(()ident(trap)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(,) ident(trap_ensure)operator(,) operator(()ident(VALUE)operator(\)&)ident(arg)operator(\);) preprocessor(#else) reserved(return) ident(trap)operator((&)ident(arg)operator(\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * Signal.list => a_hash * * Returns a list of signal names mapped to the corresponding * underlying signal numbers. * * Signal.list #=> {"ABRT"=>6, "ALRM"=>14, "BUS"=>7, "CHLD"=>17, "CLD"=>17, "CONT"=>18, "FPE"=>8, "HUP"=>1, "ILL"=>4, "INT"=>2, "IO"=>29, "IOT"=>6, "KILL"=>9, "PIPE"=>13, "POLL"=>29, "PROF"=>27, "PWR"=>30, "QUIT"=>3, "SEGV"=>11, "STOP"=>19, "SYS"=>31, "TERM"=>15, "TRAP"=>5, "TSTP"=>20, "TTIN"=>21, "TTOU"=>22, "URG"=>23, "USR1"=>10, "USR2"=>12, "VTALRM"=>26, "WINCH"=>28, "XCPU"=>24, "XFSZ"=>25} */) directive(static) ident(VALUE) ident(sig_list)operator((\)) operator({) ident(VALUE) ident(h) operator(=) ident(rb_hash_new)operator((\);) reserved(struct) ident(signals) operator(*)ident(sigs)operator(;) reserved(for) operator(()ident(sigs) operator(=) ident(siglist)operator(;) ident(sigs)operator(->)ident(signm)operator(;) ident(sigs)operator(++\)) operator({) ident(rb_hash_aset)operator(()ident(h)operator(,) ident(rb_str_new2)operator(()ident(sigs)operator(->)ident(signm)operator(\),) ident(INT2FIX)operator(()ident(sigs)operator(->)ident(signo)operator(\)\);) operator(}) reserved(return) ident(h)operator(;) operator(}) directive(static) directive(void) ident(install_sighandler)operator(()ident(signum)operator(,) ident(handler)operator(\)) pre_type(int) ident(signum)operator(;) ident(sighandler_t) ident(handler)operator(;) operator({) ident(sighandler_t) ident(old)operator(;) ident(old) operator(=) ident(ruby_signal)operator(()ident(signum)operator(,) ident(handler)operator(\);) reserved(if) operator(()ident(old) operator(!=) ident(SIG_DFL)operator(\)) operator({) ident(ruby_signal)operator(()ident(signum)operator(,) ident(old)operator(\);) operator(}) operator(}) comment(#if 0 /* * If you write a handler which works on any native thread * (even if the thread is NOT a ruby's one\), please enable * this function and use it to install the handler, instead * of `install_sighandler(\)'. */ #ifdef HAVE_NATIVETHREAD static void install_nativethread_sighandler(signum, handler\) int signum; sighandler_t handler; { sighandler_t old; int old_st; old_st = rb_trap_accept_nativethreads[signum]; old = ruby_nativethread_signal(signum, handler\); if (old != SIG_DFL\) { if (old_st\) { ruby_nativethread_signal(signum, old\); } else { ruby_signal(signum, old\); } } } #endif) preprocessor(#endif) directive(static) directive(void) ident(init_sigchld)operator(()ident(sig)operator(\)) pre_type(int) ident(sig)operator(;) operator({) ident(sighandler_t) ident(oldfunc)operator(;) preprocessor(#if) ident(USE_TRAP_MASK) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigset_t) ident(mask)operator(;) preprocessor(# else) pre_type(int) ident(mask)operator(;) preprocessor(# endif) preprocessor(#endif) preprocessor(#if) ident(USE_TRAP_MASK) comment(/* disable interrupt */) preprocessor(# ifdef) ident(HAVE_SIGPROCMASK) ident(sigfillset)operator((&)ident(mask)operator(\);) ident(sigprocmask)operator(()ident(SIG_BLOCK)operator(,) operator(&)ident(mask)operator(,) operator(&)ident(mask)operator(\);) preprocessor(# else) ident(mask) operator(=) ident(sigblock)operator((~)integer(0)operator(\);) preprocessor(# endif) preprocessor(#endif) ident(oldfunc) operator(=) ident(ruby_signal)operator(()ident(sig)operator(,) ident(SIG_DFL)operator(\);) reserved(if) operator(()ident(oldfunc) operator(!=) ident(SIG_DFL) operator(&&) ident(oldfunc) operator(!=) ident(SIG_IGN)operator(\)) operator({) ident(ruby_signal)operator(()ident(sig)operator(,) ident(oldfunc)operator(\);) operator(}) reserved(else) operator({) ident(trap_list)operator([)ident(sig)operator(])operator(.)ident(cmd) operator(=) integer(0)operator(;) operator(}) preprocessor(#if) ident(USE_TRAP_MASK) preprocessor(#ifdef) ident(HAVE_SIGPROCMASK) ident(sigdelset)operator((&)ident(mask)operator(,) ident(sig)operator(\);) ident(sigprocmask)operator(()ident(SIG_SETMASK)operator(,) operator(&)ident(mask)operator(,) pre_constant(NULL)operator(\);) preprocessor(#else) ident(mask) operator(&=) operator(~)ident(sigmask)operator(()ident(sig)operator(\);) ident(sigsetmask)operator(()ident(mask)operator(\);) preprocessor(#endif) ident(trap_last_mask) operator(=) ident(mask)operator(;) preprocessor(#endif) operator(}) comment(/* * Many operating systems allow signals to be sent to running * processes. Some signals have a defined effect on the process, while * others may be trapped at the code level and acted upon. For * example, your process may trap the USR1 signal and use it to toggle * debugging, and may use TERM to initiate a controlled shutdown. * * pid = fork do * Signal.trap("USR1"\) do * $debug = !$debug * puts "Debug now: #$debug" * end * Signal.trap("TERM"\) do * puts "Terminating..." * shutdown(\) * end * # . . . do some work . . . * end * * Process.detach(pid\) * * # Controlling program: * Process.kill("USR1", pid\) * # ... * Process.kill("USR1", pid\) * # ... * Process.kill("TERM", pid\) * * produces: * Debug now: true * Debug now: false * Terminating... * * The list of available signal names and their interpretation is * system dependent. Signal delivery semantics may also vary between * systems; in particular signal delivery may not always be reliable. */) directive(void) ident(Init_signal)operator((\)) operator({) preprocessor(#ifndef) ident(MACOS_UNUSE_SIGNAL) ident(VALUE) ident(mSignal) operator(=) ident(rb_define_module)operator(()stringoperator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(sig_trap)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(mSignal)operator(,) stringoperator(,) ident(sig_trap)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_module_function)operator(()ident(mSignal)operator(,) stringoperator(,) ident(sig_list)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_eSignal)operator(,) stringoperator(,) ident(esignal_init)operator(,) operator(-)integer(1)operator(\);) ident(rb_attr)operator(()ident(rb_eSignal)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(rb_alias)operator(()ident(rb_eSignal)operator(,) ident(rb_intern)operator(()stringoperator(\),) ident(rb_intern)operator(()stringoperator(\)\);) ident(rb_define_method)operator(()ident(rb_eInterrupt)operator(,) stringoperator(,) ident(interrupt_init)operator(,) integer(1)operator(\);) ident(install_sighandler)operator(()ident(SIGINT)operator(,) ident(sighandler)operator(\);) preprocessor(#ifdef) ident(SIGHUP) ident(install_sighandler)operator(()ident(SIGHUP)operator(,) ident(sighandler)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGQUIT) ident(install_sighandler)operator(()ident(SIGQUIT)operator(,) ident(sighandler)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGTERM) ident(install_sighandler)operator(()ident(SIGTERM)operator(,) ident(sighandler)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGALRM) ident(install_sighandler)operator(()ident(SIGALRM)operator(,) ident(sighandler)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR1) ident(install_sighandler)operator(()ident(SIGUSR1)operator(,) ident(sighandler)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGUSR2) ident(install_sighandler)operator(()ident(SIGUSR2)operator(,) ident(sighandler)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGBUS) ident(install_sighandler)operator(()ident(SIGBUS)operator(,) ident(sigbus)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGSEGV) ident(install_sighandler)operator(()ident(SIGSEGV)operator(,) ident(sigsegv)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(SIGPIPE) ident(install_sighandler)operator(()ident(SIGPIPE)operator(,) ident(sigpipe)operator(\);) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(SIGCLD)operator(\)) ident(init_sigchld)operator(()ident(SIGCLD)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(SIGCHLD)operator(\)) ident(init_sigchld)operator(()ident(SIGCHLD)operator(\);) preprocessor(#endif) preprocessor(#endif) comment(/* MACOS_UNUSE_SIGNAL */) operator(}) comment(/********************************************************************** sprintf.c - $Author: shyouhei $ $Date: 2008-06-20 01:12:46 +0200 (Fri, 20 Jun 2008\) $ created at: Fri Oct 15 10:39:26 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("re.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#define) ident(BIT_DIGITS)operator(()ident(N)operator(\)) operator(((()ident(N)operator(\)*)integer(146)operator(\))operator(/)integer(485) operator(+) integer(1)operator(\)) comment(/* log2(10\) =~ 146/485 */) preprocessor(#define) ident(BITSPERDIG) operator(()ident(SIZEOF_BDIGITS)operator(*)ident(CHAR_BIT)operator(\)) preprocessor(#define) ident(EXTENDSIGN)operator(()ident(n)operator(,) ident(l)operator(\)) operator((((~)integer(0) operator(<<) operator(()ident(n)operator(\)\)) operator(>>) operator(((()ident(n)operator(\)*()ident(l)operator(\)\)) operator(%) ident(BITSPERDIG)operator(\)\)) operator(&) operator(~(~)integer(0) operator(<<) operator(()ident(n)operator(\)\)\)) directive(static) directive(void) ident(fmt_setup) ident(_)operator((()pre_type(char)operator(*,)pre_type(int)operator(,)pre_type(int)operator(,)pre_type(int)operator(,)pre_type(int)operator(\)\);) directive(static) pre_type(char)operator(*) ident(remove_sign_bits)operator(()ident(str)operator(,) ident(base)operator(\)) pre_type(char) operator(*)ident(str)operator(;) pre_type(int) ident(base)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(t)operator(;) ident(s) operator(=) ident(t) operator(=) ident(str)operator(;) reserved(if) operator(()ident(base) operator(==) integer(16)operator(\)) operator({) reserved(while) operator((*)ident(t) operator(==) char('f')operator(\)) operator({) ident(t)operator(++;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(base) operator(==) integer(8)operator(\)) operator({) operator(*)ident(t) operator(|=) ident(EXTENDSIGN)operator(()integer(3)operator(,) ident(strlen)operator(()ident(t)operator(\)\);) reserved(while) operator((*)ident(t) operator(==) char('7')operator(\)) operator({) ident(t)operator(++;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(base) operator(==) integer(2)operator(\)) operator({) reserved(while) operator((*)ident(t) operator(==) char('1')operator(\)) operator({) ident(t)operator(++;) operator(}) operator(}) reserved(if) operator(()ident(t) operator(>) ident(s)operator(\)) operator({) reserved(while) operator((*)ident(t)operator(\)) operator(*)ident(s)operator(++) operator(=) operator(*)ident(t)operator(++;) operator(*)ident(s) operator(=) char('\\0')operator(;) operator(}) reserved(return) ident(str)operator(;) operator(}) directive(static) pre_type(char) ident(sign_bits)operator(()ident(base)operator(,) ident(p)operator(\)) pre_type(int) ident(base)operator(;) directive(const) pre_type(char) operator(*)ident(p)operator(;) operator({) pre_type(char) ident(c) operator(=) char('.')operator(;) reserved(switch) operator(()ident(base)operator(\)) operator({) reserved(case) integer(16)operator(:) reserved(if) operator((*)ident(p) operator(==) char('X')operator(\)) ident(c) operator(=) char('F')operator(;) reserved(else) ident(c) operator(=) char('f')operator(;) reserved(break)operator(;) reserved(case) integer(8)operator(:) ident(c) operator(=) char('7')operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) ident(c) operator(=) char('1')operator(;) reserved(break)operator(;) operator(}) reserved(return) ident(c)operator(;) operator(}) preprocessor(#define) ident(FNONE) integer(0) preprocessor(#define) ident(FSHARP) integer(1) preprocessor(#define) ident(FMINUS) integer(2) preprocessor(#define) ident(FPLUS) integer(4) preprocessor(#define) ident(FZERO) integer(8) preprocessor(#define) ident(FSPACE) integer(16) preprocessor(#define) ident(FWIDTH) integer(32) preprocessor(#define) ident(FPREC) integer(64) preprocessor(#define) ident(FPREC0) integer(128) preprocessor(#define) ident(CHECK)operator(()ident(l)operator(\)) reserved(do) operator({)\ reserved(while) operator(()ident(blen) operator(+) operator(()ident(l)operator(\)) operator(>=) ident(bsiz)operator(\)) operator({)\ ident(bsiz)operator(*=)integer(2)operator(;)\ operator(})\ ident(rb_str_resize)operator(()ident(result)operator(,) ident(bsiz)operator(\);)\ ident(buf) operator(=) ident(RSTRING)operator(()ident(result)operator(\)->)ident(ptr)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(PUSH)operator(()ident(s)operator(,) ident(l)operator(\)) reserved(do) operator({) \ ident(CHECK)operator(()ident(l)operator(\);)\ ident(memcpy)operator((&)ident(buf)operator([)ident(blen)operator(],) ident(s)operator(,) ident(l)operator(\);)\ ident(blen) operator(+=) operator(()ident(l)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(GETARG)operator((\)) operator(()ident(nextvalue) operator(!=) ident(Qundef) operator(?) ident(nextvalue) operator(:) \ ident(posarg) operator(<) integer(0) operator(?) \ operator(()ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(nextarg)operator(\),) integer(0)operator(\)) operator(:) \ operator(()ident(posarg) operator(=) ident(nextarg)operator(++,) ident(GETNTHARG)operator(()ident(posarg)operator(\)\)\)) preprocessor(#define) ident(GETPOSARG)operator(()ident(n)operator(\)) operator(()ident(posarg) operator(>) integer(0) operator(?) \ operator(()ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(n)operator(,) ident(posarg)operator(\),) integer(0)operator(\)) operator(:) \ operator((()ident(n) operator(<) integer(1)operator(\)) operator(?) operator(()ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(n)operator(\),) integer(0)operator(\)) operator(:) \ operator(()ident(posarg) operator(=) operator(-)integer(1)operator(,) ident(GETNTHARG)operator(()ident(n)operator(\)\)\)\)) preprocessor(#define) ident(GETNTHARG)operator(()ident(nth)operator(\)) \ operator((()ident(nth) operator(>=) ident(argc)operator(\)) operator(?) operator(()ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\),) integer(0)operator(\)) operator(:) ident(argv)operator([)ident(nth)operator(]\)) preprocessor(#define) ident(GETNUM)operator(()ident(n)operator(,) ident(val)operator(\)) \ reserved(for) operator((;) ident(p) operator(<) ident(end) operator(&&) ident(ISDIGIT)operator((*)ident(p)operator(\);) ident(p)operator(++\)) operator({) \ pre_type(int) ident(next_n) operator(=) integer(10) operator(*) ident(n) operator(+) operator((*)ident(p) operator(-) char('0')operator(\);) \ reserved(if) operator(()ident(next_n) operator(/) integer(10) operator(!=) ident(n)operator(\)) operator({)\ ident(rb_raise)operator(()ident(rb_eArgError)operator(,) preprocessor(#val) stringoperator(\);) \ operator(}) \ ident(n) operator(=) ident(next_n)operator(;) \ operator(}) \ reserved(if) operator(()ident(p) operator(>=) ident(end)operator(\)) operator({) \ ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) \ operator(}) preprocessor(#define) ident(GETASTER)operator(()ident(val)operator(\)) reserved(do) operator({) \ ident(t) operator(=) ident(p)operator(++;) \ ident(n) operator(=) integer(0)operator(;) \ ident(GETNUM)operator(()ident(n)operator(,) ident(val)operator(\);) \ reserved(if) operator((*)ident(p) operator(==) char('$')operator(\)) operator({) \ ident(tmp) operator(=) ident(GETPOSARG)operator(()ident(n)operator(\);) \ operator(}) \ reserved(else) operator({) \ ident(tmp) operator(=) ident(GETARG)operator((\);) \ ident(p) operator(=) ident(t)operator(;) \ operator(}) \ ident(val) operator(=) ident(NUM2INT)operator(()ident(tmp)operator(\);) \ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* * call-seq: * format(format_string [, arguments...] \) => string * sprintf(format_string [, arguments...] \) => string * * Returns the string resulting from applying format_string to * any additional arguments. Within the format string, any characters * other than format sequences are copied to the result. A format * sequence consists of a percent sign, followed by optional flags, * width, and precision indicators, then terminated with a field type * character. The field type controls how the corresponding * sprintf argument is to be interpreted, while the flags * modify that interpretation. The field type characters are listed * in the table at the end of this section. The flag characters are: * * Flag | Applies to | Meaning * ---------+--------------+----------------------------------------- * space | bdeEfgGiouxX | Leave a space at the start of * | | positive numbers. * ---------+--------------+----------------------------------------- * (digit\)$ | all | Specifies the absolute argument number * | | for this field. Absolute and relative * | | argument numbers cannot be mixed in a * | | sprintf string. * ---------+--------------+----------------------------------------- * # | beEfgGoxX | Use an alternative format. For the * | | conversions `o', `x', `X', and `b', * | | prefix the result with ``0'', ``0x'', ``0X'', * | | and ``0b'', respectively. For `e', * | | `E', `f', `g', and 'G', force a decimal * | | point to be added, even if no digits follow. * | | For `g' and 'G', do not remove trailing zeros. * ---------+--------------+----------------------------------------- * + | bdeEfgGiouxX | Add a leading plus sign to positive numbers. * ---------+--------------+----------------------------------------- * - | all | Left-justify the result of this conversion. * ---------+--------------+----------------------------------------- * 0 (zero\) | bdeEfgGiouxX | Pad with zeros, not spaces. * ---------+--------------+----------------------------------------- * * | all | Use the next argument as the field width. * | | If negative, left-justify the result. If the * | | asterisk is followed by a number and a dollar * | | sign, use the indicated argument as the width. * * * The field width is an optional integer, followed optionally by a * period and a precision. The width specifies the minimum number of * characters that will be written to the result for this field. For * numeric fields, the precision controls the number of decimal places * displayed. For string fields, the precision determines the maximum * number of characters to be copied from the string. (Thus, the format * sequence %10.10s will always contribute exactly ten * characters to the result.\) * * The field types are: * * Field | Conversion * ------+-------------------------------------------------------------- * b | Convert argument as a binary number. * c | Argument is the numeric code for a single character. * d | Convert argument as a decimal number. * E | Equivalent to `e', but uses an uppercase E to indicate * | the exponent. * e | Convert floating point argument into exponential notation * | with one digit before the decimal point. The precision * | determines the number of fractional digits (defaulting to six\). * f | Convert floating point argument as [-]ddd.ddd, * | where the precision determines the number of digits after * | the decimal point. * G | Equivalent to `g', but use an uppercase `E' in exponent form. * g | Convert a floating point number using exponential form * | if the exponent is less than -4 or greater than or * | equal to the precision, or in d.dddd form otherwise. * i | Identical to `d'. * o | Convert argument as an octal number. * p | The valuing of argument.inspect. * s | Argument is a string to be substituted. If the format * | sequence contains a precision, at most that many characters * | will be copied. * u | Treat argument as an unsigned decimal number. Negative integers * | are displayed as a 32 bit two's complement plus one for the * | underlying architecture; that is, 2 ** 32 + n. However, since * | Ruby has no inherent limit on bits used to represent the * | integer, this value is preceded by two dots (..\) in order to * | indicate a infinite number of leading sign bits. * X | Convert argument as a hexadecimal number using uppercase * | letters. Negative numbers will be displayed with two * | leading periods (representing an infinite string of * | leading 'FF's. * x | Convert argument as a hexadecimal number. * | Negative numbers will be displayed with two * | leading periods (representing an infinite string of * | leading 'ff's. * * Examples: * * sprintf("%d %04x", 123, 123\) #=> "123 007b" * sprintf("%08b '%4s'", 123, 123\) #=> "01111011 ' 123'" * sprintf("%1$*2$s %2$d %1$s", "hello", 8\) #=> " hello 8 hello" * sprintf("%1$*2$s %2$d", "hello", -8\) #=> "hello -8" * sprintf("%+g:% g:%-g", 1.23, 1.23, 1.23\) #=> "+1.23: 1.23:1.23" * sprintf("%u", -123\) #=> "..4294967173" */) ident(VALUE) ident(rb_f_sprintf)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_str_format)operator(()ident(argc) operator(-) integer(1)operator(,) ident(argv) operator(+) integer(1)operator(,) ident(GETNTHARG)operator(()integer(0)operator(\)\);) operator(}) ident(VALUE) ident(rb_str_format)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(fmt)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(fmt)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(end)operator(;) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(blen)operator(,) ident(bsiz)operator(;) ident(VALUE) ident(result)operator(;) pre_type(int) ident(width)operator(,) ident(prec)operator(,) ident(flags) operator(=) ident(FNONE)operator(;) pre_type(int) ident(nextarg) operator(=) integer(1)operator(;) pre_type(int) ident(posarg) operator(=) integer(0)operator(;) pre_type(int) ident(tainted) operator(=) integer(0)operator(;) ident(VALUE) ident(nextvalue)operator(;) ident(VALUE) ident(tmp)operator(;) ident(VALUE) ident(str)operator(;) preprocessor(#define) ident(CHECK_FOR_WIDTH)operator(()ident(f)operator(\)) \ reserved(if) operator((()ident(f)operator(\)) operator(&) ident(FWIDTH)operator(\)) operator({) \ ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) \ operator(}) \ reserved(if) operator((()ident(f)operator(\)) operator(&) ident(FPREC0)operator(\)) operator({) \ ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) \ operator(}) preprocessor(#define) ident(CHECK_FOR_FLAGS)operator(()ident(f)operator(\)) \ reserved(if) operator((()ident(f)operator(\)) operator(&) ident(FWIDTH)operator(\)) operator({) \ ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) \ operator(}) \ reserved(if) operator((()ident(f)operator(\)) operator(&) ident(FPREC0)operator(\)) operator({) \ ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) \ operator(}) operator(++)ident(argc)operator(;) operator(--)ident(argv)operator(;) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(fmt)operator(\)\)) ident(tainted) operator(=) integer(1)operator(;) ident(StringValue)operator(()ident(fmt)operator(\);) ident(fmt) operator(=) ident(rb_str_new4)operator(()ident(fmt)operator(\);) ident(p) operator(=) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(ptr)operator(;) ident(end) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(fmt)operator(\)->)ident(len)operator(;) ident(blen) operator(=) integer(0)operator(;) ident(bsiz) operator(=) integer(120)operator(;) ident(result) operator(=) ident(rb_str_buf_new)operator(()ident(bsiz)operator(\);) ident(buf) operator(=) ident(RSTRING)operator(()ident(result)operator(\)->)ident(ptr)operator(;) reserved(for) operator((;) ident(p) operator(<) ident(end)operator(;) ident(p)operator(++\)) operator({) directive(const) pre_type(char) operator(*)ident(t)operator(;) pre_type(int) ident(n)operator(;) reserved(for) operator(()ident(t) operator(=) ident(p)operator(;) ident(t) operator(<) ident(end) operator(&&) operator(*)ident(t) operator(!=) char('%')operator(;) ident(t)operator(++\)) operator(;) ident(PUSH)operator(()ident(p)operator(,) ident(t) operator(-) ident(p)operator(\);) reserved(if) operator(()ident(t) operator(>=) ident(end)operator(\)) operator({) comment(/* end of fmt string */) reserved(goto) ident(sprint_exit)operator(;) operator(}) ident(p) operator(=) ident(t) operator(+) integer(1)operator(;) comment(/* skip `%' */) ident(width) operator(=) ident(prec) operator(=) operator(-)integer(1)operator(;) ident(nextvalue) operator(=) ident(Qundef)operator(;) label(retry:) reserved(switch) operator((*)ident(p)operator(\)) operator({) reserved(default)operator(:) reserved(if) operator(()ident(ISPRINT)operator((*)ident(p)operator(\)\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) operator(*)ident(p)operator(\);) reserved(else) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(break)operator(;) reserved(case) char(' ')operator(:) ident(CHECK_FOR_FLAGS)operator(()ident(flags)operator(\);) ident(flags) operator(|=) ident(FSPACE)operator(;) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('#')operator(:) ident(CHECK_FOR_FLAGS)operator(()ident(flags)operator(\);) ident(flags) operator(|=) ident(FSHARP)operator(;) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('+')operator(:) ident(CHECK_FOR_FLAGS)operator(()ident(flags)operator(\);) ident(flags) operator(|=) ident(FPLUS)operator(;) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('-')operator(:) ident(CHECK_FOR_FLAGS)operator(()ident(flags)operator(\);) ident(flags) operator(|=) ident(FMINUS)operator(;) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('0')operator(:) ident(CHECK_FOR_FLAGS)operator(()ident(flags)operator(\);) ident(flags) operator(|=) ident(FZERO)operator(;) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('1')operator(:) reserved(case) char('2')operator(:) reserved(case) char('3')operator(:) reserved(case) char('4')operator(:) reserved(case) char('5')operator(:) reserved(case) char('6')operator(:) reserved(case) char('7')operator(:) reserved(case) char('8')operator(:) reserved(case) char('9')operator(:) ident(n) operator(=) integer(0)operator(;) ident(GETNUM)operator(()ident(n)operator(,) ident(width)operator(\);) reserved(if) operator((*)ident(p) operator(==) char('$')operator(\)) operator({) reserved(if) operator(()ident(nextvalue) operator(!=) ident(Qundef)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(n)operator(\);) operator(}) ident(nextvalue) operator(=) ident(GETPOSARG)operator(()ident(n)operator(\);) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) operator(}) ident(CHECK_FOR_WIDTH)operator(()ident(flags)operator(\);) ident(width) operator(=) ident(n)operator(;) ident(flags) operator(|=) ident(FWIDTH)operator(;) reserved(goto) ident(retry)operator(;) reserved(case) char('*')operator(:) ident(CHECK_FOR_WIDTH)operator(()ident(flags)operator(\);) ident(flags) operator(|=) ident(FWIDTH)operator(;) ident(GETASTER)operator(()ident(width)operator(\);) reserved(if) operator(()ident(width) operator(<) integer(0)operator(\)) operator({) ident(flags) operator(|=) ident(FMINUS)operator(;) ident(width) operator(=) operator(-)ident(width)operator(;) operator(}) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) reserved(case) char('.')operator(:) reserved(if) operator(()ident(flags) operator(&) ident(FPREC0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(flags) operator(|=) ident(FPREC)operator(|)ident(FPREC0)operator(;) ident(prec) operator(=) integer(0)operator(;) ident(p)operator(++;) reserved(if) operator((*)ident(p) operator(==) char('*')operator(\)) operator({) ident(GETASTER)operator(()ident(prec)operator(\);) reserved(if) operator(()ident(prec) operator(<) integer(0)operator(\)) operator({) comment(/* ignore negative precision */) ident(flags) operator(&=) operator(~)ident(FPREC)operator(;) operator(}) ident(p)operator(++;) reserved(goto) ident(retry)operator(;) operator(}) ident(GETNUM)operator(()ident(prec)operator(,) ident(precision)operator(\);) reserved(goto) ident(retry)operator(;) reserved(case) char('\\n')operator(:) reserved(case) char('\\0')operator(:) ident(p)operator(--;) reserved(case) char('%')operator(:) reserved(if) operator(()ident(flags) operator(!=) ident(FNONE)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(PUSH)operator(()stringoperator(,) integer(1)operator(\);) reserved(break)operator(;) reserved(case) char('c')operator(:) operator({) ident(VALUE) ident(val) operator(=) ident(GETARG)operator((\);) pre_type(char) ident(c)operator(;) reserved(if) operator((!()ident(flags) operator(&) ident(FMINUS)operator(\)\)) reserved(while) operator((--)ident(width) operator(>) integer(0)operator(\)) ident(PUSH)operator(()stringoperator(,) integer(1)operator(\);) ident(c) operator(=) ident(NUM2INT)operator(()ident(val)operator(\)) operator(&) hex(0xff)operator(;) ident(PUSH)operator((&)ident(c)operator(,) integer(1)operator(\);) reserved(while) operator((--)ident(width) operator(>) integer(0)operator(\)) ident(PUSH)operator(()stringoperator(,) integer(1)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('s')operator(:) reserved(case) char('p')operator(:) operator({) ident(VALUE) ident(arg) operator(=) ident(GETARG)operator((\);) pre_type(long) ident(len)operator(;) reserved(if) operator((*)ident(p) operator(==) char('p')operator(\)) ident(arg) operator(=) ident(rb_inspect)operator(()ident(arg)operator(\);) ident(str) operator(=) ident(rb_obj_as_string)operator(()ident(arg)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(str)operator(\)\)) ident(tainted) operator(=) integer(1)operator(;) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(flags)operator(&)ident(FPREC)operator(\)) operator({) reserved(if) operator(()ident(prec) operator(<) ident(len)operator(\)) operator({) ident(len) operator(=) ident(prec)operator(;) operator(}) operator(}) comment(/* need to adjust multi-byte string pos */) reserved(if) operator(()ident(flags)operator(&)ident(FWIDTH)operator(\)) operator({) reserved(if) operator(()ident(width) operator(>) ident(len)operator(\)) operator({) ident(CHECK)operator(()ident(width)operator(\);) ident(width) operator(-=) ident(len)operator(;) reserved(if) operator((!()ident(flags)operator(&)ident(FMINUS)operator(\)\)) operator({) reserved(while) operator(()ident(width)operator(--\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char(' ')operator(;) operator(}) operator(}) ident(memcpy)operator((&)ident(buf)operator([)ident(blen)operator(],) ident(RSTRING_PTR)operator(()ident(str)operator(\),) ident(len)operator(\);) ident(blen) operator(+=) ident(len)operator(;) reserved(if) operator(()ident(flags)operator(&)ident(FMINUS)operator(\)) operator({) reserved(while) operator(()ident(width)operator(--\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char(' ')operator(;) operator(}) operator(}) reserved(break)operator(;) operator(}) operator(}) ident(PUSH)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(\);) operator(}) reserved(break)operator(;) reserved(case) char('d')operator(:) reserved(case) char('i')operator(:) reserved(case) char('o')operator(:) reserved(case) char('x')operator(:) reserved(case) char('X')operator(:) reserved(case) char('b')operator(:) reserved(case) char('B')operator(:) reserved(case) char('u')operator(:) operator({) directive(volatile) ident(VALUE) ident(val) operator(=) ident(GETARG)operator((\);) pre_type(char) ident(fbuf)operator([)integer(32)operator(],) ident(nbuf)operator([)integer(64)operator(],) operator(*)ident(s)operator(,) operator(*)ident(t)operator(;) directive(const) pre_type(char) operator(*)ident(prefix) operator(=) integer(0)operator(;) pre_type(int) ident(sign) operator(=) integer(0)operator(;) pre_type(char) ident(sc) operator(=) integer(0)operator(;) pre_type(long) ident(v) operator(=) integer(0)operator(;) pre_type(int) ident(base)operator(,) ident(bignum) operator(=) integer(0)operator(;) pre_type(int) ident(len)operator(,) ident(pos)operator(;) directive(volatile) ident(VALUE) ident(tmp)operator(;) directive(volatile) ident(VALUE) ident(tmp1)operator(;) reserved(switch) operator((*)ident(p)operator(\)) operator({) reserved(case) char('d')operator(:) reserved(case) char('i')operator(:) ident(sign) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) char('o')operator(:) reserved(case) char('x')operator(:) reserved(case) char('X')operator(:) reserved(case) char('b')operator(:) reserved(case) char('B')operator(:) reserved(case) char('u')operator(:) reserved(default)operator(:) reserved(if) operator(()ident(flags)operator(&()ident(FPLUS)operator(|)ident(FSPACE)operator(\)\)) ident(sign) operator(=) integer(1)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(flags) operator(&) ident(FSHARP)operator(\)) operator({) reserved(switch) operator((*)ident(p)operator(\)) operator({) reserved(case) char('o')operator(:) ident(prefix) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) char('x')operator(:) ident(prefix) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) char('X')operator(:) ident(prefix) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) char('b')operator(:) ident(prefix) operator(=) stringoperator(;) reserved(break)operator(;) reserved(case) char('B')operator(:) ident(prefix) operator(=) stringoperator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(prefix)operator(\)) operator({) ident(width) operator(-=) ident(strlen)operator(()ident(prefix)operator(\);) operator(}) operator(}) label(bin_retry:) reserved(switch) operator(()ident(TYPE)operator(()ident(val)operator(\)\)) operator({) reserved(case) ident(T_FLOAT)operator(:) ident(val) operator(=) ident(rb_dbl2big)operator(()ident(RFLOAT)operator(()ident(val)operator(\)->)ident(value)operator(\);) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) reserved(goto) ident(bin_retry)operator(;) ident(bignum) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(T_STRING)operator(:) ident(val) operator(=) ident(rb_str_to_inum)operator(()ident(val)operator(,) integer(0)operator(,) ident(Qtrue)operator(\);) reserved(goto) ident(bin_retry)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(bignum) operator(=) integer(1)operator(;) reserved(break)operator(;) reserved(case) ident(T_FIXNUM)operator(:) ident(v) operator(=) ident(FIX2LONG)operator(()ident(val)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(val) operator(=) ident(rb_Integer)operator(()ident(val)operator(\);) reserved(goto) ident(bin_retry)operator(;) operator(}) reserved(switch) operator((*)ident(p)operator(\)) operator({) reserved(case) char('o')operator(:) ident(base) operator(=) integer(8)operator(;) reserved(break)operator(;) reserved(case) char('x')operator(:) reserved(case) char('X')operator(:) ident(base) operator(=) integer(16)operator(;) reserved(break)operator(;) reserved(case) char('b')operator(:) reserved(case) char('B')operator(:) ident(base) operator(=) integer(2)operator(;) reserved(break)operator(;) reserved(case) char('u')operator(:) reserved(case) char('d')operator(:) reserved(case) char('i')operator(:) reserved(default)operator(:) ident(base) operator(=) integer(10)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((!)ident(bignum)operator(\)) operator({) reserved(if) operator(()ident(base) operator(==) integer(2)operator(\)) operator({) ident(val) operator(=) ident(rb_int2big)operator(()ident(v)operator(\);) reserved(goto) ident(bin_retry)operator(;) operator(}) reserved(if) operator(()ident(sign)operator(\)) operator({) pre_type(char) ident(c) operator(=) operator(*)ident(p)operator(;) reserved(if) operator(()ident(c) operator(==) char('i')operator(\)) ident(c) operator(=) char('d')operator(;) comment(/* %d and %i are identical */) reserved(if) operator(()ident(v) operator(<) integer(0)operator(\)) operator({) ident(v) operator(=) operator(-)ident(v)operator(;) ident(sc) operator(=) char('-')operator(;) ident(width)operator(--;) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)) operator({) ident(sc) operator(=) char('+')operator(;) ident(width)operator(--;) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FSPACE)operator(\)) operator({) ident(sc) operator(=) char(' ')operator(;) ident(width)operator(--;) operator(}) ident(sprintf)operator(()ident(fbuf)operator(,) stringoperator(,) ident(c)operator(\);) ident(sprintf)operator(()ident(nbuf)operator(,) ident(fbuf)operator(,) ident(v)operator(\);) ident(s) operator(=) ident(nbuf)operator(;) reserved(goto) ident(format_integer)operator(;) operator(}) ident(s) operator(=) ident(nbuf)operator(;) reserved(if) operator(()ident(v) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(base) operator(==) integer(10)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) reserved(if) operator((!()ident(flags)operator(&()ident(FPREC)operator(|)ident(FZERO)operator(\)\)\)) operator({) ident(strcpy)operator(()ident(s)operator(,) stringoperator(\);) ident(s) operator(+=) integer(2)operator(;) operator(}) operator(}) ident(sprintf)operator(()ident(fbuf)operator(,) stringoperator(,) operator(*)ident(p) operator(==) char('X') operator(?) char('x') operator(:) operator(*)ident(p)operator(\);) ident(sprintf)operator(()ident(s)operator(,) ident(fbuf)operator(,) ident(v)operator(\);) reserved(if) operator(()ident(v) operator(<) integer(0)operator(\)) operator({) pre_type(char) ident(d) operator(=) integer(0)operator(;) ident(remove_sign_bits)operator(()ident(s)operator(,) ident(base)operator(\);) reserved(switch) operator(()ident(base)operator(\)) operator({) reserved(case) integer(16)operator(:) ident(d) operator(=) char('f')operator(;) reserved(break)operator(;) reserved(case) integer(8)operator(:) ident(d) operator(=) char('7')operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(d) operator(&&) operator(*)ident(s) operator(!=) ident(d)operator(\)) operator({) ident(memmove)operator(()ident(s)operator(+)integer(1)operator(,) ident(s)operator(,) ident(strlen)operator(()ident(s)operator(\)+)integer(1)operator(\);) operator(*)ident(s) operator(=) ident(d)operator(;) operator(}) operator(}) ident(s) operator(=) ident(nbuf)operator(;) reserved(goto) ident(format_integer)operator(;) operator(}) reserved(if) operator(()ident(sign)operator(\)) operator({) ident(tmp) operator(=) ident(rb_big2str)operator(()ident(val)operator(,) ident(base)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(==) char('-')operator(\)) operator({) ident(s)operator(++;) ident(sc) operator(=) char('-')operator(;) ident(width)operator(--;) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)) operator({) ident(sc) operator(=) char('+')operator(;) ident(width)operator(--;) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FSPACE)operator(\)) operator({) ident(sc) operator(=) char(' ')operator(;) ident(width)operator(--;) operator(}) reserved(goto) ident(format_integer)operator(;) operator(}) reserved(if) operator((!)ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(sign)operator(\)) operator({) ident(val) operator(=) ident(rb_big_clone)operator(()ident(val)operator(\);) ident(rb_big_2comp)operator(()ident(val)operator(\);) operator(}) ident(tmp1) operator(=) ident(tmp) operator(=) ident(rb_big2str0)operator(()ident(val)operator(,) ident(base)operator(,) ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(sign)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(;) reserved(if) operator((*)ident(s) operator(==) char('-')operator(\)) operator({) reserved(if) operator(()ident(base) operator(==) integer(10)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) ident(remove_sign_bits)operator((++)ident(s)operator(,) ident(base)operator(\);) ident(tmp) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) integer(3)operator(+)ident(strlen)operator(()ident(s)operator(\)\);) ident(t) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!()ident(flags)operator(&()ident(FPREC)operator(|)ident(FZERO)operator(\)\)\)) operator({) ident(strcpy)operator(()ident(t)operator(,) stringoperator(\);) ident(t) operator(+=) integer(2)operator(;) operator(}) reserved(switch) operator(()ident(base)operator(\)) operator({) reserved(case) integer(16)operator(:) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(!=) char('f')operator(\)) ident(strcpy)operator(()ident(t)operator(++,) stringoperator(\);) reserved(break)operator(;) reserved(case) integer(8)operator(:) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(!=) char('7')operator(\)) ident(strcpy)operator(()ident(t)operator(++,) stringoperator(\);) reserved(break)operator(;) reserved(case) integer(2)operator(:) reserved(if) operator(()ident(s)operator([)integer(0)operator(]) operator(!=) char('1')operator(\)) ident(strcpy)operator(()ident(t)operator(++,) stringoperator(\);) reserved(break)operator(;) operator(}) ident(strcpy)operator(()ident(t)operator(,) ident(s)operator(\);) ident(bignum) operator(=) integer(2)operator(;) operator(}) ident(s) operator(=) ident(RSTRING)operator(()ident(tmp)operator(\)->)ident(ptr)operator(;) label(format_integer:) ident(pos) operator(=) operator(-)integer(1)operator(;) ident(len) operator(=) ident(strlen)operator(()ident(s)operator(\);) reserved(if) operator((*)ident(p) operator(==) char('X')operator(\)) operator({) pre_type(char) operator(*)ident(pp) operator(=) ident(s)operator(;) reserved(while) operator((*)ident(pp)operator(\)) operator({) operator(*)ident(pp) operator(=) ident(toupper)operator((*)ident(pp)operator(\);) ident(pp)operator(++;) operator(}) operator(}) reserved(if) operator((()ident(flags)operator(&()ident(FZERO)operator(|)ident(FPREC)operator(\)\)) operator(==) ident(FZERO)operator(\)) operator({) ident(prec) operator(=) ident(width)operator(;) ident(width) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(prec) operator(<) ident(len)operator(\)) ident(prec) operator(=) ident(len)operator(;) ident(width) operator(-=) ident(prec)operator(;) operator(}) reserved(if) operator((!()ident(flags)operator(&)ident(FMINUS)operator(\)\)) operator({) ident(CHECK)operator(()ident(width)operator(\);) reserved(while) operator(()ident(width)operator(--) operator(>) integer(0)operator(\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char(' ')operator(;) operator(}) operator(}) reserved(if) operator(()ident(sc)operator(\)) ident(PUSH)operator((&)ident(sc)operator(,) integer(1)operator(\);) reserved(if) operator(()ident(prefix)operator(\)) operator({) pre_type(int) ident(plen) operator(=) ident(strlen)operator(()ident(prefix)operator(\);) ident(PUSH)operator(()ident(prefix)operator(,) ident(plen)operator(\);) operator(}) ident(CHECK)operator(()ident(prec) operator(-) ident(len)operator(\);) reserved(if) operator((!)ident(bignum) operator(&&) ident(v) operator(<) integer(0)operator(\)) operator({) pre_type(char) ident(c) operator(=) ident(sign_bits)operator(()ident(base)operator(,) ident(p)operator(\);) reserved(while) operator(()ident(len) operator(<) ident(prec)operator(--\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) ident(c)operator(;) operator(}) operator(}) reserved(else) operator({) pre_type(char) ident(c)operator(;) reserved(if) operator((!)ident(sign) operator(&&) ident(bignum) operator(&&) operator(!)ident(RBIGNUM)operator(()ident(val)operator(\)->)ident(sign)operator(\)) ident(c) operator(=) ident(sign_bits)operator(()ident(base)operator(,) ident(p)operator(\);) reserved(else) ident(c) operator(=) char('0')operator(;) reserved(while) operator(()ident(len) operator(<) ident(prec)operator(--\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) ident(c)operator(;) operator(}) operator(}) ident(PUSH)operator(()ident(s)operator(,) ident(len)operator(\);) ident(CHECK)operator(()ident(width)operator(\);) reserved(while) operator(()ident(width)operator(--) operator(>) integer(0)operator(\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char(' ')operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(case) char('f')operator(:) reserved(case) char('g')operator(:) reserved(case) char('G')operator(:) reserved(case) char('e')operator(:) reserved(case) char('E')operator(:) operator({) ident(VALUE) ident(val) operator(=) ident(GETARG)operator((\);) pre_type(double) ident(fval)operator(;) pre_type(int) ident(i)operator(,) ident(need) operator(=) integer(6)operator(;) pre_type(char) ident(fbuf)operator([)integer(32)operator(];) ident(fval) operator(=) ident(RFLOAT)operator(()ident(rb_Float)operator(()ident(val)operator(\)\)->)ident(value)operator(;) preprocessor(#if) ident(defined)operator(()ident(_WIN32)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__BORLANDC__)operator(\)) reserved(if) operator(()ident(isnan)operator(()ident(fval)operator(\)) operator(||) ident(isinf)operator(()ident(fval)operator(\)\)) operator({) pre_type(char) operator(*)ident(expr)operator(;) reserved(if) operator(()ident(isnan)operator(()ident(fval)operator(\)\)) operator({) ident(expr) operator(=) stringoperator(;) operator(}) reserved(else) operator({) ident(expr) operator(=) stringoperator(;) operator(}) ident(need) operator(=) ident(strlen)operator(()ident(expr)operator(\);) reserved(if) operator(((!)ident(isnan)operator(()ident(fval)operator(\)) operator(&&) ident(fval) operator(<) float(0)float(.0)operator(\)) operator(||) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)\)) ident(need)operator(++;) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FSPACE)operator(\)) ident(need)operator(++;) reserved(if) operator((()ident(flags) operator(&) ident(FWIDTH)operator(\)) operator(&&) ident(need) operator(<) ident(width)operator(\)) ident(need) operator(=) ident(width)operator(;) ident(CHECK)operator(()ident(need)operator(\);) ident(sprintf)operator((&)ident(buf)operator([)ident(blen)operator(],) stringoperator(,) ident(need)operator(,) stringoperator(\);) reserved(if) operator(()ident(flags) operator(&) ident(FMINUS)operator(\)) operator({) reserved(if) operator((!)ident(isnan)operator(()ident(fval)operator(\)) operator(&&) ident(fval) operator(<) float(0)float(.0)operator(\)) ident(buf)operator([)ident(blen)operator(++]) operator(=) char('-')operator(;) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)) ident(buf)operator([)ident(blen)operator(++]) operator(=) char('+')operator(;) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FSPACE)operator(\)) ident(blen)operator(++;) ident(strncpy)operator((&)ident(buf)operator([)ident(blen)operator(],) ident(expr)operator(,) ident(strlen)operator(()ident(expr)operator(\)\);) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FZERO)operator(\)) operator({) reserved(if) operator((!)ident(isnan)operator(()ident(fval)operator(\)) operator(&&) ident(fval) operator(<) float(0)float(.0)operator(\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char('-')operator(;) ident(need)operator(--;) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char('+')operator(;) ident(need)operator(--;) operator(}) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FSPACE)operator(\)) operator({) ident(blen)operator(++;) ident(need)operator(--;) operator(}) reserved(while) operator(()ident(need)operator(--) operator(-) ident(strlen)operator(()ident(expr)operator(\)) operator(>) integer(0)operator(\)) operator({) ident(buf)operator([)ident(blen)operator(++]) operator(=) char('0')operator(;) operator(}) ident(strncpy)operator((&)ident(buf)operator([)ident(blen)operator(],) ident(expr)operator(,) ident(strlen)operator(()ident(expr)operator(\)\);) operator(}) reserved(else) operator({) reserved(if) operator((!)ident(isnan)operator(()ident(fval)operator(\)) operator(&&) ident(fval) operator(<) float(0)float(.0)operator(\)) ident(buf)operator([)ident(blen) operator(+) ident(need) operator(-) ident(strlen)operator(()ident(expr)operator(\)) operator(-) integer(1)operator(]) operator(=) char('-')operator(;) reserved(else) reserved(if) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)) ident(buf)operator([)ident(blen) operator(+) ident(need) operator(-) ident(strlen)operator(()ident(expr)operator(\)) operator(-) integer(1)operator(]) operator(=) char('+')operator(;) ident(strncpy)operator((&)ident(buf)operator([)ident(blen) operator(+) ident(need) operator(-) ident(strlen)operator(()ident(expr)operator(\)],) ident(expr)operator(,) ident(strlen)operator(()ident(expr)operator(\)\);) operator(}) ident(blen) operator(+=) ident(strlen)operator((&)ident(buf)operator([)ident(blen)operator(]\);) reserved(break)operator(;) operator(}) preprocessor(#endif) comment(/* defined(_WIN32\) && !defined(__BORLANDC__\) */) ident(fmt_setup)operator(()ident(fbuf)operator(,) operator(*)ident(p)operator(,) ident(flags)operator(,) ident(width)operator(,) ident(prec)operator(\);) ident(need) operator(=) integer(0)operator(;) reserved(if) operator((*)ident(p) operator(!=) char('e') operator(&&) operator(*)ident(p) operator(!=) char('E')operator(\)) operator({) ident(i) operator(=) ident(INT_MIN)operator(;) ident(frexp)operator(()ident(fval)operator(,) operator(&)ident(i)operator(\);) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) ident(need) operator(=) ident(BIT_DIGITS)operator(()ident(i)operator(\);) operator(}) ident(need) operator(+=) operator(()ident(flags)operator(&)ident(FPREC)operator(\)) operator(?) ident(prec) operator(:) integer(6)operator(;) reserved(if) operator((()ident(flags)operator(&)ident(FWIDTH)operator(\)) operator(&&) ident(need) operator(<) ident(width)operator(\)) ident(need) operator(=) ident(width)operator(;) ident(need) operator(+=) integer(20)operator(;) ident(CHECK)operator(()ident(need)operator(\);) ident(sprintf)operator((&)ident(buf)operator([)ident(blen)operator(],) ident(fbuf)operator(,) ident(fval)operator(\);) ident(blen) operator(+=) ident(strlen)operator((&)ident(buf)operator([)ident(blen)operator(]\);) operator(}) reserved(break)operator(;) operator(}) ident(flags) operator(=) ident(FNONE)operator(;) operator(}) label(sprint_exit:) comment(/* XXX - We cannot validiate the number of arguments if (digit\)$ style used. */) reserved(if) operator(()ident(posarg) operator(>=) integer(0) operator(&&) ident(nextarg) operator(<) ident(argc)operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(mesg) operator(=) stringoperator(;) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_debug)operator(\)\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) ident(mesg)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) ident(rb_warn)operator(()ident(mesg)operator(\);) operator(}) ident(rb_str_resize)operator(()ident(result)operator(,) ident(blen)operator(\);) reserved(if) operator(()ident(tainted)operator(\)) ident(OBJ_TAINT)operator(()ident(result)operator(\);) reserved(return) ident(result)operator(;) operator(}) directive(static) directive(void) ident(fmt_setup)operator(()ident(buf)operator(,) ident(c)operator(,) ident(flags)operator(,) ident(width)operator(,) ident(prec)operator(\)) pre_type(char) operator(*)ident(buf)operator(;) pre_type(int) ident(c)operator(;) pre_type(int) ident(flags)operator(,) ident(width)operator(,) ident(prec)operator(;) operator({) operator(*)ident(buf)operator(++) operator(=) char('%')operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FSHARP)operator(\)) operator(*)ident(buf)operator(++) operator(=) char('#')operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FPLUS)operator(\)) operator(*)ident(buf)operator(++) operator(=) char('+')operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FMINUS)operator(\)) operator(*)ident(buf)operator(++) operator(=) char('-')operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FZERO)operator(\)) operator(*)ident(buf)operator(++) operator(=) char('0')operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FSPACE)operator(\)) operator(*)ident(buf)operator(++) operator(=) char(' ')operator(;) reserved(if) operator(()ident(flags) operator(&) ident(FWIDTH)operator(\)) operator({) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(width)operator(\);) ident(buf) operator(+=) ident(strlen)operator(()ident(buf)operator(\);) operator(}) reserved(if) operator(()ident(flags) operator(&) ident(FPREC)operator(\)) operator({) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) ident(prec)operator(\);) ident(buf) operator(+=) ident(strlen)operator(()ident(buf)operator(\);) operator(}) operator(*)ident(buf)operator(++) operator(=) ident(c)operator(;) operator(*)ident(buf) operator(=) char('\\0')operator(;) operator(}) comment(/* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */) comment(/* static char sccsid[] = "@(#\) st.c 5.1 89/12/14 Crucible"; */) preprocessor(#include) include("config.h") preprocessor(#include) include("defines.h") preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include("st.h") reserved(typedef) reserved(struct) ident(st_table_entry) ident(st_table_entry)operator(;) reserved(struct) ident(st_table_entry) operator({) pre_type(unsigned) pre_type(int) ident(hash)operator(;) ident(st_data_t) ident(key)operator(;) ident(st_data_t) ident(record)operator(;) ident(st_table_entry) operator(*)ident(next)operator(;) operator(};) preprocessor(#define) ident(ST_DEFAULT_MAX_DENSITY) integer(5) preprocessor(#define) ident(ST_DEFAULT_INIT_TABLE_SIZE) integer(11) comment(/* * DEFAULT_MAX_DENSITY is the default for the largest we allow the * average number of items per bin before increasing the number of * bins * * DEFAULT_INIT_TABLE_SIZE is the default for the number of bins * allocated initially * */) directive(static) pre_type(int) ident(numcmp)operator(()pre_type(long)operator(,) pre_type(long)operator(\);) directive(static) pre_type(int) ident(numhash)operator(()pre_type(long)operator(\);) directive(static) reserved(struct) ident(st_hash_type) ident(type_numhash) operator(=) operator({) ident(numcmp)operator(,) ident(numhash)operator(,) operator(};) comment(/* extern int strcmp(const char *, const char *\); */) directive(static) pre_type(int) ident(strhash)operator(()directive(const) pre_type(char) operator(*\);) directive(static) reserved(struct) ident(st_hash_type) ident(type_strhash) operator(=) operator({) ident(strcmp)operator(,) ident(strhash)operator(,) operator(};) directive(static) directive(void) ident(rehash)operator(()ident(st_table) operator(*\);) preprocessor(#ifdef) ident(RUBY) preprocessor(#define) ident(malloc) ident(xmalloc) preprocessor(#define) ident(calloc) ident(xcalloc) preprocessor(#endif) preprocessor(#define) ident(alloc)operator(()ident(type)operator(\)) operator(()ident(type)operator(*\))ident(malloc)operator((()pre_type(unsigned)operator(\))reserved(sizeof)operator(()ident(type)operator(\)\)) preprocessor(#define) ident(Calloc)operator(()ident(n)operator(,)ident(s)operator(\)) operator(()pre_type(char)operator(*\))ident(calloc)operator((()ident(n)operator(\),()ident(s)operator(\)\)) preprocessor(#define) ident(EQUAL)operator(()ident(table)operator(,)ident(x)operator(,)ident(y)operator(\)) operator((()ident(x)operator(\)==()ident(y)operator(\)) operator(||) operator((*)ident(table)operator(->)ident(type)operator(->)ident(compare)operator(\)(()ident(x)operator(\),()ident(y)operator(\)\)) operator(==) integer(0)operator(\)) preprocessor(#define) ident(do_hash)operator(()ident(key)operator(,)ident(table)operator(\)) operator(()pre_type(unsigned) pre_type(int)operator(\)(*()ident(table)operator(\)->)ident(type)operator(->)ident(hash)operator(\)(()ident(key)operator(\)\)) preprocessor(#define) ident(do_hash_bin)operator(()ident(key)operator(,)ident(table)operator(\)) operator(()ident(do_hash)operator(()ident(key)operator(,) ident(table)operator(\)%()ident(table)operator(\)->)ident(num_bins)operator(\)) comment(/* * MINSIZE is the minimum size of a dictionary. */) preprocessor(#define) ident(MINSIZE) integer(8) comment(/* Table of prime numbers 2^n+a, 2<=n<=30. */) directive(static) pre_type(long) ident(primes)operator([]) operator(=) operator({) integer(8) operator(+) integer(3)operator(,) integer(16) operator(+) integer(3)operator(,) integer(32) operator(+) integer(5)operator(,) integer(64) operator(+) integer(3)operator(,) integer(128) operator(+) integer(3)operator(,) integer(256) operator(+) integer(27)operator(,) integer(512) operator(+) integer(9)operator(,) integer(1024) operator(+) integer(9)operator(,) integer(2048) operator(+) integer(5)operator(,) integer(4096) operator(+) integer(3)operator(,) integer(8192) operator(+) integer(27)operator(,) integer(16384) operator(+) integer(43)operator(,) integer(32768) operator(+) integer(3)operator(,) integer(65536) operator(+) integer(45)operator(,) integer(131072) operator(+) integer(29)operator(,) integer(262144) operator(+) integer(3)operator(,) integer(524288) operator(+) integer(21)operator(,) integer(1048576) operator(+) integer(7)operator(,) integer(2097152) operator(+) integer(17)operator(,) integer(4194304) operator(+) integer(15)operator(,) integer(8388608) operator(+) integer(9)operator(,) integer(16777216) operator(+) integer(43)operator(,) integer(33554432) operator(+) integer(35)operator(,) integer(67108864) operator(+) integer(15)operator(,) integer(134217728) operator(+) integer(29)operator(,) integer(268435456) operator(+) integer(3)operator(,) integer(536870912) operator(+) integer(11)operator(,) integer(1073741824) operator(+) integer(85)operator(,) integer(0) operator(};) directive(static) pre_type(int) ident(new_size)operator(()ident(size)operator(\)) pre_type(int) ident(size)operator(;) operator({) pre_type(int) ident(i)operator(;) comment(#if 0 for (i=3; i<31; i++\) { if ((1< size\) return 1<) ident(size)operator(\)) reserved(return) ident(primes)operator([)ident(i)operator(];) operator(}) comment(/* Ran out of polynomials */) reserved(return) operator(-)integer(1)operator(;) comment(/* should raise exception */) preprocessor(#endif) operator(}) preprocessor(#ifdef) ident(HASH_LOG) directive(static) pre_type(int) ident(collision) operator(=) integer(0)operator(;) directive(static) pre_type(int) ident(init_st) operator(=) integer(0)operator(;) directive(static) directive(void) ident(stat_col)operator((\)) operator({) ident(FILE) operator(*)ident(f) operator(=) ident(fopen)operator(()stringoperator(,) stringoperator(\);) ident(fprintf)operator(()ident(f)operator(,) stringoperator(,) ident(collision)operator(\);) ident(fclose)operator(()ident(f)operator(\);) operator(}) preprocessor(#endif) ident(st_table)operator(*) ident(st_init_table_with_size)operator(()ident(type)operator(,) ident(size)operator(\)) reserved(struct) ident(st_hash_type) operator(*)ident(type)operator(;) pre_type(int) ident(size)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) preprocessor(#ifdef) ident(HASH_LOG) reserved(if) operator(()ident(init_st) operator(==) integer(0)operator(\)) operator({) ident(init_st) operator(=) integer(1)operator(;) ident(atexit)operator(()ident(stat_col)operator(\);) operator(}) preprocessor(#endif) ident(size) operator(=) ident(new_size)operator(()ident(size)operator(\);) comment(/* round up to prime number */) ident(tbl) operator(=) ident(alloc)operator(()ident(st_table)operator(\);) ident(tbl)operator(->)ident(type) operator(=) ident(type)operator(;) ident(tbl)operator(->)ident(num_entries) operator(=) integer(0)operator(;) ident(tbl)operator(->)ident(num_bins) operator(=) ident(size)operator(;) ident(tbl)operator(->)ident(bins) operator(=) operator(()ident(st_table_entry) operator(**\))ident(Calloc)operator(()ident(size)operator(,) reserved(sizeof)operator(()ident(st_table_entry)operator(*\)\);) reserved(return) ident(tbl)operator(;) operator(}) ident(st_table)operator(*) ident(st_init_table)operator(()ident(type)operator(\)) reserved(struct) ident(st_hash_type) operator(*)ident(type)operator(;) operator({) reserved(return) ident(st_init_table_with_size)operator(()ident(type)operator(,) integer(0)operator(\);) operator(}) ident(st_table)operator(*) ident(st_init_numtable)operator(()directive(void)operator(\)) operator({) reserved(return) ident(st_init_table)operator((&)ident(type_numhash)operator(\);) operator(}) ident(st_table)operator(*) ident(st_init_numtable_with_size)operator(()ident(size)operator(\)) pre_type(int) ident(size)operator(;) operator({) reserved(return) ident(st_init_table_with_size)operator((&)ident(type_numhash)operator(,) ident(size)operator(\);) operator(}) ident(st_table)operator(*) ident(st_init_strtable)operator(()directive(void)operator(\)) operator({) reserved(return) ident(st_init_table)operator((&)ident(type_strhash)operator(\);) operator(}) ident(st_table)operator(*) ident(st_init_strtable_with_size)operator(()ident(size)operator(\)) pre_type(int) ident(size)operator(;) operator({) reserved(return) ident(st_init_table_with_size)operator((&)ident(type_strhash)operator(,) ident(size)operator(\);) operator(}) directive(void) ident(st_free_table)operator(()ident(table)operator(\)) ident(st_table) operator(*)ident(table)operator(;) operator({) directive(register) ident(st_table_entry) operator(*)ident(ptr)operator(,) operator(*)ident(next)operator(;) pre_type(int) ident(i)operator(;) reserved(for)operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(table)operator(->)ident(num_bins)operator(;) ident(i)operator(++\)) operator({) ident(ptr) operator(=) ident(table)operator(->)ident(bins)operator([)ident(i)operator(];) reserved(while) operator(()ident(ptr) operator(!=) integer(0)operator(\)) operator({) ident(next) operator(=) ident(ptr)operator(->)ident(next)operator(;) ident(free)operator(()ident(ptr)operator(\);) ident(ptr) operator(=) ident(next)operator(;) operator(}) operator(}) ident(free)operator(()ident(table)operator(->)ident(bins)operator(\);) ident(free)operator(()ident(table)operator(\);) operator(}) preprocessor(#define) ident(PTR_NOT_EQUAL)operator(()ident(table)operator(,) ident(ptr)operator(,) ident(hash_val)operator(,) ident(key)operator(\)) \ operator((()ident(ptr)operator(\)) operator(!=) integer(0) operator(&&) operator(()ident(ptr)operator(->)ident(hash) operator(!=) operator(()ident(hash_val)operator(\)) operator(||) operator(!)ident(EQUAL)operator((()ident(table)operator(\),) operator(()ident(key)operator(\),) operator(()ident(ptr)operator(\)->)ident(key)operator(\)\)\)) preprocessor(#ifdef) ident(HASH_LOG) preprocessor(#define) ident(COLLISION) ident(collision)operator(++) preprocessor(#else) preprocessor(#define) ident(COLLISION) preprocessor(#endif) preprocessor(#define) ident(FIND_ENTRY)operator(()ident(table)operator(,) ident(ptr)operator(,) ident(hash_val)operator(,) ident(bin_pos)operator(\)) reserved(do) operator({)\ ident(bin_pos) operator(=) ident(hash_val)operator(%()ident(table)operator(\)->)ident(num_bins)operator(;)\ ident(ptr) operator(=) operator(()ident(table)operator(\)->)ident(bins)operator([)ident(bin_pos)operator(];)\ reserved(if) operator(()ident(PTR_NOT_EQUAL)operator(()ident(table)operator(,) ident(ptr)operator(,) ident(hash_val)operator(,) ident(key)operator(\)\)) operator({)\ ident(COLLISION)operator(;)\ reserved(while) operator(()ident(PTR_NOT_EQUAL)operator(()ident(table)operator(,) ident(ptr)operator(->)ident(next)operator(,) ident(hash_val)operator(,) ident(key)operator(\)\)) operator({)\ ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(;)\ operator(})\ ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(;)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) pre_type(int) ident(st_lookup)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(\)) ident(st_table) operator(*)ident(table)operator(;) directive(register) ident(st_data_t) ident(key)operator(;) ident(st_data_t) operator(*)ident(value)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(hash_val)operator(,) ident(bin_pos)operator(;) directive(register) ident(st_table_entry) operator(*)ident(ptr)operator(;) ident(hash_val) operator(=) ident(do_hash)operator(()ident(key)operator(,) ident(table)operator(\);) ident(FIND_ENTRY)operator(()ident(table)operator(,) ident(ptr)operator(,) ident(hash_val)operator(,) ident(bin_pos)operator(\);) reserved(if) operator(()ident(ptr) operator(==) integer(0)operator(\)) operator({) reserved(return) integer(0)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(value) operator(!=) integer(0)operator(\)) operator(*)ident(value) operator(=) ident(ptr)operator(->)ident(record)operator(;) reserved(return) integer(1)operator(;) operator(}) operator(}) preprocessor(#define) ident(ADD_DIRECT)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(,) ident(hash_val)operator(,) ident(bin_pos)operator(\))\ reserved(do) operator({)\ ident(st_table_entry) operator(*)ident(entry)operator(;)\ reserved(if) operator(()ident(table)operator(->)ident(num_entries)operator(/)operator(()ident(table)operator(->)ident(num_bins)operator(\)) operator(>) ident(ST_DEFAULT_MAX_DENSITY)operator(\)) operator({)\ ident(rehash)operator(()ident(table)operator(\);)\ ident(bin_pos) operator(=) ident(hash_val) operator(%) ident(table)operator(->)ident(num_bins)operator(;)\ operator(})\ \ ident(entry) operator(=) ident(alloc)operator(()ident(st_table_entry)operator(\);)\ \ ident(entry)operator(->)ident(hash) operator(=) ident(hash_val)operator(;)\ ident(entry)operator(->)ident(key) operator(=) ident(key)operator(;)\ ident(entry)operator(->)ident(record) operator(=) ident(value)operator(;)\ ident(entry)operator(->)ident(next) operator(=) ident(table)operator(->)ident(bins)operator([)ident(bin_pos)operator(];)\ ident(table)operator(->)ident(bins)operator([)ident(bin_pos)operator(]) operator(=) ident(entry)operator(;)\ ident(table)operator(->)ident(num_entries)operator(++;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) pre_type(int) ident(st_insert)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(\)) directive(register) ident(st_table) operator(*)ident(table)operator(;) directive(register) ident(st_data_t) ident(key)operator(;) ident(st_data_t) ident(value)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(hash_val)operator(,) ident(bin_pos)operator(;) directive(register) ident(st_table_entry) operator(*)ident(ptr)operator(;) ident(hash_val) operator(=) ident(do_hash)operator(()ident(key)operator(,) ident(table)operator(\);) ident(FIND_ENTRY)operator(()ident(table)operator(,) ident(ptr)operator(,) ident(hash_val)operator(,) ident(bin_pos)operator(\);) reserved(if) operator(()ident(ptr) operator(==) integer(0)operator(\)) operator({) ident(ADD_DIRECT)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(,) ident(hash_val)operator(,) ident(bin_pos)operator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(else) operator({) ident(ptr)operator(->)ident(record) operator(=) ident(value)operator(;) reserved(return) integer(1)operator(;) operator(}) operator(}) directive(void) ident(st_add_direct)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(\)) ident(st_table) operator(*)ident(table)operator(;) ident(st_data_t) ident(key)operator(;) ident(st_data_t) ident(value)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(hash_val)operator(,) ident(bin_pos)operator(;) ident(hash_val) operator(=) ident(do_hash)operator(()ident(key)operator(,) ident(table)operator(\);) ident(bin_pos) operator(=) ident(hash_val) operator(%) ident(table)operator(->)ident(num_bins)operator(;) ident(ADD_DIRECT)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(,) ident(hash_val)operator(,) ident(bin_pos)operator(\);) operator(}) directive(static) directive(void) ident(rehash)operator(()ident(table)operator(\)) directive(register) ident(st_table) operator(*)ident(table)operator(;) operator({) directive(register) ident(st_table_entry) operator(*)ident(ptr)operator(,) operator(*)ident(next)operator(,) operator(**)ident(new_bins)operator(;) pre_type(int) ident(i)operator(,) ident(old_num_bins) operator(=) ident(table)operator(->)ident(num_bins)operator(,) ident(new_num_bins)operator(;) pre_type(unsigned) pre_type(int) ident(hash_val)operator(;) ident(new_num_bins) operator(=) ident(new_size)operator(()ident(old_num_bins)operator(+)integer(1)operator(\);) ident(new_bins) operator(=) operator(()ident(st_table_entry)operator(**\))ident(Calloc)operator(()ident(new_num_bins)operator(,) reserved(sizeof)operator(()ident(st_table_entry)operator(*\)\);) reserved(for)operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(old_num_bins)operator(;) ident(i)operator(++\)) operator({) ident(ptr) operator(=) ident(table)operator(->)ident(bins)operator([)ident(i)operator(];) reserved(while) operator(()ident(ptr) operator(!=) integer(0)operator(\)) operator({) ident(next) operator(=) ident(ptr)operator(->)ident(next)operator(;) ident(hash_val) operator(=) ident(ptr)operator(->)ident(hash) operator(%) ident(new_num_bins)operator(;) ident(ptr)operator(->)ident(next) operator(=) ident(new_bins)operator([)ident(hash_val)operator(];) ident(new_bins)operator([)ident(hash_val)operator(]) operator(=) ident(ptr)operator(;) ident(ptr) operator(=) ident(next)operator(;) operator(}) operator(}) ident(free)operator(()ident(table)operator(->)ident(bins)operator(\);) ident(table)operator(->)ident(num_bins) operator(=) ident(new_num_bins)operator(;) ident(table)operator(->)ident(bins) operator(=) ident(new_bins)operator(;) operator(}) ident(st_table)operator(*) ident(st_copy)operator(()ident(old_table)operator(\)) ident(st_table) operator(*)ident(old_table)operator(;) operator({) ident(st_table) operator(*)ident(new_table)operator(;) ident(st_table_entry) operator(*)ident(ptr)operator(,) operator(*)ident(entry)operator(;) pre_type(int) ident(i)operator(,) ident(num_bins) operator(=) ident(old_table)operator(->)ident(num_bins)operator(;) ident(new_table) operator(=) ident(alloc)operator(()ident(st_table)operator(\);) reserved(if) operator(()ident(new_table) operator(==) integer(0)operator(\)) operator({) reserved(return) integer(0)operator(;) operator(}) operator(*)ident(new_table) operator(=) operator(*)ident(old_table)operator(;) ident(new_table)operator(->)ident(bins) operator(=) operator(()ident(st_table_entry)operator(**\)) ident(Calloc)operator((()pre_type(unsigned)operator(\))ident(num_bins)operator(,) reserved(sizeof)operator(()ident(st_table_entry)operator(*\)\);) reserved(if) operator(()ident(new_table)operator(->)ident(bins) operator(==) integer(0)operator(\)) operator({) ident(free)operator(()ident(new_table)operator(\);) reserved(return) integer(0)operator(;) operator(}) reserved(for)operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(num_bins)operator(;) ident(i)operator(++\)) operator({) ident(new_table)operator(->)ident(bins)operator([)ident(i)operator(]) operator(=) integer(0)operator(;) ident(ptr) operator(=) ident(old_table)operator(->)ident(bins)operator([)ident(i)operator(];) reserved(while) operator(()ident(ptr) operator(!=) integer(0)operator(\)) operator({) ident(entry) operator(=) ident(alloc)operator(()ident(st_table_entry)operator(\);) reserved(if) operator(()ident(entry) operator(==) integer(0)operator(\)) operator({) ident(free)operator(()ident(new_table)operator(->)ident(bins)operator(\);) ident(free)operator(()ident(new_table)operator(\);) reserved(return) integer(0)operator(;) operator(}) operator(*)ident(entry) operator(=) operator(*)ident(ptr)operator(;) ident(entry)operator(->)ident(next) operator(=) ident(new_table)operator(->)ident(bins)operator([)ident(i)operator(];) ident(new_table)operator(->)ident(bins)operator([)ident(i)operator(]) operator(=) ident(entry)operator(;) ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(;) operator(}) operator(}) reserved(return) ident(new_table)operator(;) operator(}) pre_type(int) ident(st_delete)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(\)) directive(register) ident(st_table) operator(*)ident(table)operator(;) directive(register) ident(st_data_t) operator(*)ident(key)operator(;) ident(st_data_t) operator(*)ident(value)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(hash_val)operator(;) ident(st_table_entry) operator(*)ident(tmp)operator(;) directive(register) ident(st_table_entry) operator(*)ident(ptr)operator(;) ident(hash_val) operator(=) ident(do_hash_bin)operator((*)ident(key)operator(,) ident(table)operator(\);) ident(ptr) operator(=) ident(table)operator(->)ident(bins)operator([)ident(hash_val)operator(];) reserved(if) operator(()ident(ptr) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(value) operator(!=) integer(0)operator(\)) operator(*)ident(value) operator(=) integer(0)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(if) operator(()ident(EQUAL)operator(()ident(table)operator(,) operator(*)ident(key)operator(,) ident(ptr)operator(->)ident(key)operator(\)\)) operator({) ident(table)operator(->)ident(bins)operator([)ident(hash_val)operator(]) operator(=) ident(ptr)operator(->)ident(next)operator(;) ident(table)operator(->)ident(num_entries)operator(--;) reserved(if) operator(()ident(value) operator(!=) integer(0)operator(\)) operator(*)ident(value) operator(=) ident(ptr)operator(->)ident(record)operator(;) operator(*)ident(key) operator(=) ident(ptr)operator(->)ident(key)operator(;) ident(free)operator(()ident(ptr)operator(\);) reserved(return) integer(1)operator(;) operator(}) reserved(for)operator((;) ident(ptr)operator(->)ident(next) operator(!=) integer(0)operator(;) ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(EQUAL)operator(()ident(table)operator(,) ident(ptr)operator(->)ident(next)operator(->)ident(key)operator(,) operator(*)ident(key)operator(\)\)) operator({) ident(tmp) operator(=) ident(ptr)operator(->)ident(next)operator(;) ident(ptr)operator(->)ident(next) operator(=) ident(ptr)operator(->)ident(next)operator(->)ident(next)operator(;) ident(table)operator(->)ident(num_entries)operator(--;) reserved(if) operator(()ident(value) operator(!=) integer(0)operator(\)) operator(*)ident(value) operator(=) ident(tmp)operator(->)ident(record)operator(;) operator(*)ident(key) operator(=) ident(tmp)operator(->)ident(key)operator(;) ident(free)operator(()ident(tmp)operator(\);) reserved(return) integer(1)operator(;) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) pre_type(int) ident(st_delete_safe)operator(()ident(table)operator(,) ident(key)operator(,) ident(value)operator(,) ident(never)operator(\)) directive(register) ident(st_table) operator(*)ident(table)operator(;) directive(register) ident(st_data_t) operator(*)ident(key)operator(;) ident(st_data_t) operator(*)ident(value)operator(;) ident(st_data_t) ident(never)operator(;) operator({) pre_type(unsigned) pre_type(int) ident(hash_val)operator(;) directive(register) ident(st_table_entry) operator(*)ident(ptr)operator(;) ident(hash_val) operator(=) ident(do_hash_bin)operator((*)ident(key)operator(,) ident(table)operator(\);) ident(ptr) operator(=) ident(table)operator(->)ident(bins)operator([)ident(hash_val)operator(];) reserved(if) operator(()ident(ptr) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(value) operator(!=) integer(0)operator(\)) operator(*)ident(value) operator(=) integer(0)operator(;) reserved(return) integer(0)operator(;) operator(}) reserved(for)operator((;) ident(ptr) operator(!=) integer(0)operator(;) ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(\)) operator({) reserved(if) operator((()ident(ptr)operator(->)ident(key) operator(!=) ident(never)operator(\)) operator(&&) ident(EQUAL)operator(()ident(table)operator(,) ident(ptr)operator(->)ident(key)operator(,) operator(*)ident(key)operator(\)\)) operator({) ident(table)operator(->)ident(num_entries)operator(--;) operator(*)ident(key) operator(=) ident(ptr)operator(->)ident(key)operator(;) reserved(if) operator(()ident(value) operator(!=) integer(0)operator(\)) operator(*)ident(value) operator(=) ident(ptr)operator(->)ident(record)operator(;) ident(ptr)operator(->)ident(key) operator(=) ident(ptr)operator(->)ident(record) operator(=) ident(never)operator(;) reserved(return) integer(1)operator(;) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(delete_never)operator(()ident(key)operator(,) ident(value)operator(,) ident(never)operator(\)) ident(st_data_t) ident(key)operator(,) ident(value)operator(,) ident(never)operator(;) operator({) reserved(if) operator(()ident(value) operator(==) ident(never)operator(\)) reserved(return) ident(ST_DELETE)operator(;) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(void) ident(st_cleanup_safe)operator(()ident(table)operator(,) ident(never)operator(\)) ident(st_table) operator(*)ident(table)operator(;) ident(st_data_t) ident(never)operator(;) operator({) pre_type(int) ident(num_entries) operator(=) ident(table)operator(->)ident(num_entries)operator(;) ident(st_foreach)operator(()ident(table)operator(,) ident(delete_never)operator(,) ident(never)operator(\);) ident(table)operator(->)ident(num_entries) operator(=) ident(num_entries)operator(;) operator(}) pre_type(int) ident(st_foreach)operator(()ident(table)operator(,) ident(func)operator(,) ident(arg)operator(\)) ident(st_table) operator(*)ident(table)operator(;) pre_type(int) operator((*)ident(func)operator(\)(\);) ident(st_data_t) ident(arg)operator(;) operator({) ident(st_table_entry) operator(*)ident(ptr)operator(,) operator(*)ident(last)operator(,) operator(*)ident(tmp)operator(;) reserved(enum) ident(st_retval) ident(retval)operator(;) pre_type(int) ident(i)operator(;) reserved(for)operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(table)operator(->)ident(num_bins)operator(;) ident(i)operator(++\)) operator({) ident(last) operator(=) integer(0)operator(;) reserved(for)operator(()ident(ptr) operator(=) ident(table)operator(->)ident(bins)operator([)ident(i)operator(];) ident(ptr) operator(!=) integer(0)operator(;\)) operator({) ident(retval) operator(=) operator((*)ident(func)operator(\)()ident(ptr)operator(->)ident(key)operator(,) ident(ptr)operator(->)ident(record)operator(,) ident(arg)operator(\);) reserved(switch) operator(()ident(retval)operator(\)) operator({) reserved(case) ident(ST_CHECK)operator(:) comment(/* check if hash is modified during iteration */) ident(tmp) operator(=) integer(0)operator(;) reserved(if) operator(()ident(i) operator(<) ident(table)operator(->)ident(num_bins)operator(\)) operator({) reserved(for) operator(()ident(tmp) operator(=) ident(table)operator(->)ident(bins)operator([)ident(i)operator(];) ident(tmp)operator(;) ident(tmp)operator(=)ident(tmp)operator(->)ident(next)operator(\)) operator({) reserved(if) operator(()ident(tmp) operator(==) ident(ptr)operator(\)) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator((!)ident(tmp)operator(\)) operator({) comment(/* call func with error notice */) reserved(return) integer(1)operator(;) operator(}) comment(/* fall through */) reserved(case) ident(ST_CONTINUE)operator(:) ident(last) operator(=) ident(ptr)operator(;) ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(;) reserved(break)operator(;) reserved(case) ident(ST_STOP)operator(:) reserved(return) integer(0)operator(;) reserved(case) ident(ST_DELETE)operator(:) ident(tmp) operator(=) ident(ptr)operator(;) reserved(if) operator(()ident(last) operator(==) integer(0)operator(\)) operator({) ident(table)operator(->)ident(bins)operator([)ident(i)operator(]) operator(=) ident(ptr)operator(->)ident(next)operator(;) operator(}) reserved(else) operator({) ident(last)operator(->)ident(next) operator(=) ident(ptr)operator(->)ident(next)operator(;) operator(}) ident(ptr) operator(=) ident(ptr)operator(->)ident(next)operator(;) ident(free)operator(()ident(tmp)operator(\);) ident(table)operator(->)ident(num_entries)operator(--;) operator(}) operator(}) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) pre_type(int) ident(strhash)operator(()ident(string)operator(\)) directive(register) directive(const) pre_type(char) operator(*)ident(string)operator(;) operator({) directive(register) pre_type(int) ident(c)operator(;) preprocessor(#ifdef) ident(HASH_ELFHASH) directive(register) pre_type(unsigned) pre_type(int) ident(h) operator(=) integer(0)operator(,) ident(g)operator(;) reserved(while) operator((()ident(c) operator(=) operator(*)ident(string)operator(++\)) operator(!=) char('\\0')operator(\)) operator({) ident(h) operator(=) operator(() ident(h) operator(<<) integer(4) operator(\)) operator(+) ident(c)operator(;) reserved(if) operator(() ident(g) operator(=) ident(h) operator(&) hex(0xF0000000) operator(\)) ident(h) operator(^=) ident(g) operator(>>) integer(24)operator(;) ident(h) operator(&=) operator(~)ident(g)operator(;) operator(}) reserved(return) ident(h)operator(;) preprocessor(#elif) ident(defined)operator(()ident(HASH_PERL)operator(\)) directive(register) pre_type(int) ident(val) operator(=) integer(0)operator(;) reserved(while) operator((()ident(c) operator(=) operator(*)ident(string)operator(++\)) operator(!=) char('\\0')operator(\)) operator({) ident(val) operator(+=) ident(c)operator(;) ident(val) operator(+=) operator(()ident(val) operator(<<) integer(10)operator(\);) ident(val) operator(^=) operator(()ident(val) operator(>>) integer(6)operator(\);) operator(}) ident(val) operator(+=) operator(()ident(val) operator(<<) integer(3)operator(\);) ident(val) operator(^=) operator(()ident(val) operator(>>) integer(11)operator(\);) reserved(return) ident(val) operator(+) operator(()ident(val) operator(<<) integer(15)operator(\);) preprocessor(#else) directive(register) pre_type(int) ident(val) operator(=) integer(0)operator(;) reserved(while) operator((()ident(c) operator(=) operator(*)ident(string)operator(++\)) operator(!=) char('\\0')operator(\)) operator({) ident(val) operator(=) ident(val)operator(*)integer(997) operator(+) ident(c)operator(;) operator(}) reserved(return) ident(val) operator(+) operator(()ident(val)operator(>>)integer(5)operator(\);) preprocessor(#endif) operator(}) directive(static) pre_type(int) ident(numcmp)operator(()ident(x)operator(,) ident(y)operator(\)) pre_type(long) ident(x)operator(,) ident(y)operator(;) operator({) reserved(return) ident(x) operator(!=) ident(y)operator(;) operator(}) directive(static) pre_type(int) ident(numhash)operator(()ident(n)operator(\)) pre_type(long) ident(n)operator(;) operator({) reserved(return) ident(n)operator(;) operator(}) comment(/********************************************************************** string.c - $Author: shyouhei $ $Date: 2009-02-17 03:58:28 +0100 (Tue, 17 Feb 2009\) $ created at: Mon Aug 9 17:12:58 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("re.h") preprocessor(#define) ident(BEG)operator(()ident(no)operator(\)) ident(regs)operator(->)ident(beg)operator([)ident(no)operator(]) preprocessor(#define) ident(END)operator(()ident(no)operator(\)) ident(regs)operator(->)ident(end)operator([)ident(no)operator(]) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) ident(VALUE) ident(rb_cString)operator(;) preprocessor(#define) ident(STR_TMPLOCK) ident(FL_USER1) preprocessor(#define) ident(STR_ASSOC) ident(FL_USER3) preprocessor(#define) ident(STR_NOCAPA) operator(()ident(ELTS_SHARED)operator(|)ident(STR_ASSOC)operator(\)) preprocessor(#define) ident(RESIZE_CAPA)operator(()ident(str)operator(,)ident(capacity)operator(\)) reserved(do) operator({)\ ident(REALLOC_N)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) pre_type(char)operator(,) operator(()ident(capacity)operator(\)+)integer(1)operator(\);)\ reserved(if) operator((!)ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_NOCAPA)operator(\)\))\ ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) operator(()ident(capacity)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) ident(VALUE) ident(rb_fs)operator(;) directive(static) directive(inline) directive(void) ident(str_mod_check)operator(()ident(s)operator(,) ident(p)operator(,) ident(len)operator(\)) ident(VALUE) ident(s)operator(;) pre_type(char) operator(*)ident(p)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr) operator(!=) ident(p) operator(||) ident(RSTRING)operator(()ident(s)operator(\)->)ident(len) operator(!=) ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) operator(}) directive(static) directive(inline) directive(void) ident(str_frozen_check)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(s)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(str_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(str_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(NEWOBJ)operator(()ident(str)operator(,) reserved(struct) ident(RString)operator(\);) ident(OBJSETUP)operator(()ident(str)operator(,) ident(klass)operator(,) ident(T_STRING)operator(\);) ident(str)operator(->)ident(ptr) operator(=) integer(0)operator(;) ident(str)operator(->)ident(len) operator(=) integer(0)operator(;) ident(str)operator(->)ident(aux)operator(.)ident(capa) operator(=) integer(0)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(str_new)operator(()ident(klass)operator(,) ident(ptr)operator(,) ident(len)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(str) operator(=) ident(str_alloc)operator(()ident(klass)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,)ident(len)operator(+)integer(1)operator(\);) reserved(if) operator(()ident(ptr)operator(\)) operator({) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(ptr)operator(,) ident(len)operator(\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(return) ident(str_new)operator(()ident(rb_cString)operator(,) ident(ptr)operator(,) ident(len)operator(\);) operator(}) ident(VALUE) ident(rb_str_new2)operator(()ident(ptr)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) operator({) reserved(if) operator((!)ident(ptr)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(rb_str_new)operator(()ident(ptr)operator(,) ident(strlen)operator(()ident(ptr)operator(\)\);) operator(}) ident(VALUE) ident(rb_tainted_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_new)operator(()ident(ptr)operator(,) ident(len)operator(\);) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_tainted_str_new2)operator(()ident(ptr)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_new2)operator(()ident(ptr)operator(\);) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(str_new3)operator(()ident(klass)operator(,) ident(str)operator(\)) ident(VALUE) ident(klass)operator(,) ident(str)operator(;) operator({) ident(VALUE) ident(str2) operator(=) ident(str_alloc)operator(()ident(klass)operator(\);) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(str)operator(;) ident(FL_SET)operator(()ident(str2)operator(,) ident(ELTS_SHARED)operator(\);) reserved(return) ident(str2)operator(;) operator(}) ident(VALUE) ident(rb_str_new3)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(str2) operator(=) ident(str_new3)operator(()ident(rb_obj_class)operator(()ident(str)operator(\),) ident(str)operator(\);) ident(OBJ_INFECT)operator(()ident(str2)operator(,) ident(str)operator(\);) reserved(return) ident(str2)operator(;) operator(}) directive(static) ident(VALUE) ident(str_new4)operator(()ident(klass)operator(,) ident(str)operator(\)) ident(VALUE) ident(klass)operator(,) ident(str)operator(;) operator({) ident(VALUE) ident(str2) operator(=) ident(str_alloc)operator(()ident(klass)operator(\);) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(FL_SET)operator(()ident(str2)operator(,) ident(ELTS_SHARED)operator(\);) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) operator(}) reserved(else) operator({) ident(FL_SET)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(str2)operator(;) operator(}) reserved(return) ident(str2)operator(;) operator(}) ident(VALUE) ident(rb_str_new4)operator(()ident(orig)operator(\)) ident(VALUE) ident(orig)operator(;) operator({) ident(VALUE) ident(klass)operator(,) ident(str)operator(;) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(orig)operator(\)\)) reserved(return) ident(orig)operator(;) ident(klass) operator(=) ident(rb_obj_class)operator(()ident(orig)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(orig)operator(,) ident(ELTS_SHARED)operator(\)) operator(&&) operator(()ident(str) operator(=) ident(RSTRING)operator(()ident(orig)operator(\)->)ident(aux)operator(.)ident(shared)operator(\)) operator(&&) ident(klass) operator(==) ident(RBASIC)operator(()ident(str)operator(\)->)ident(klass)operator(\)) operator({) pre_type(long) ident(ofs)operator(;) ident(ofs) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(RSTRING)operator(()ident(orig)operator(\)->)ident(len)operator(;) reserved(if) operator((()ident(ofs) operator(>) integer(0)operator(\)) operator(||) operator((!)ident(OBJ_TAINTED)operator(()ident(str)operator(\)) operator(&&) ident(OBJ_TAINTED)operator(()ident(orig)operator(\)\)\)) operator({) ident(str) operator(=) ident(str_new3)operator(()ident(klass)operator(,) ident(str)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+=) ident(ofs)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-=) ident(ofs)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(FL_TEST)operator(()ident(orig)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) ident(str) operator(=) ident(str_new)operator(()ident(klass)operator(,) ident(RSTRING)operator(()ident(orig)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(orig)operator(\)->)ident(len)operator(\);) operator(}) reserved(else) operator({) ident(str) operator(=) ident(str_new4)operator(()ident(klass)operator(,) ident(orig)operator(\);) operator(}) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(orig)operator(\);) ident(OBJ_FREEZE)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_new5)operator(()ident(obj)operator(,) ident(ptr)operator(,) ident(len)operator(\)) ident(VALUE) ident(obj)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(return) ident(str_new)operator(()ident(rb_obj_class)operator(()ident(obj)operator(\),) ident(ptr)operator(,) ident(len)operator(\);) operator(}) preprocessor(#define) ident(STR_BUF_MIN_SIZE) integer(128) ident(VALUE) ident(rb_str_buf_new)operator(()ident(capa)operator(\)) pre_type(long) ident(capa)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(str_alloc)operator(()ident(rb_cString)operator(\);) reserved(if) operator(()ident(capa) operator(<) ident(STR_BUF_MIN_SIZE)operator(\)) operator({) ident(capa) operator(=) ident(STR_BUF_MIN_SIZE)operator(;) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(capa)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) ident(capa)operator(+)integer(1)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_buf_new2)operator(()ident(ptr)operator(\)) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) operator({) ident(VALUE) ident(str)operator(;) pre_type(long) ident(len) operator(=) ident(strlen)operator(()ident(ptr)operator(\);) ident(str) operator(=) ident(rb_str_buf_new)operator(()ident(len)operator(\);) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_to_str)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_convert_type)operator(()ident(str)operator(,) ident(T_STRING)operator(,) stringoperator(,) stringoperator(\);) operator(}) directive(static) directive(void) ident(rb_str_shared_replace)operator(()ident(str)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) operator({) reserved(if) operator(()ident(str) operator(==) ident(str2)operator(\)) reserved(return)operator(;) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator((!)ident(FL_TEST)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\)\)) ident(free)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(str2)operator(\)\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) integer(0)operator(;) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_NOCAPA)operator(\);) reserved(return)operator(;) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(;) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_NOCAPA)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(str2)operator(,) ident(STR_NOCAPA)operator(\)\)) operator({) ident(FL_SET)operator(()ident(str)operator(,) ident(RBASIC)operator(()ident(str2)operator(\)->)ident(flags) operator(&) ident(STR_NOCAPA)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) operator(}) reserved(else) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(capa)operator(;) operator(}) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr) operator(=) integer(0)operator(;) comment(/* abandon str2 */) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) integer(0)operator(;) ident(FL_UNSET)operator(()ident(str2)operator(,) ident(STR_NOCAPA)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(str2)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) operator(}) directive(static) ident(ID) ident(id_to_s)operator(;) ident(VALUE) ident(rb_obj_as_string)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) reserved(return) ident(obj)operator(;) operator(}) ident(str) operator(=) ident(rb_funcall)operator(()ident(obj)operator(,) ident(id_to_s)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(str)operator(\)) operator(!=) ident(T_STRING)operator(\)) reserved(return) ident(rb_any_to_s)operator(()ident(obj)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(obj)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_str_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(rb_str_replace) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_dup)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(dup) operator(=) ident(str_alloc)operator(()ident(rb_obj_class)operator(()ident(str)operator(\)\);) ident(rb_str_replace)operator(()ident(dup)operator(,) ident(str)operator(\);) reserved(return) ident(dup)operator(;) operator(}) comment(/* * call-seq: * String.new(str=""\) => new_str * * Returns a new string object containing a copy of str. */) directive(static) ident(VALUE) ident(rb_str_init)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(orig)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(orig)operator(\)) operator(==) integer(1)operator(\)) ident(rb_str_replace)operator(()ident(str)operator(,) ident(orig)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.length => integer * * Returns the length of str. */) directive(static) ident(VALUE) ident(rb_str_length)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(LONG2NUM)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) operator(}) comment(/* * call-seq: * str.empty? => true or false * * Returns true if str has a length of zero. * * "hello".empty? #=> false * "".empty? #=> true */) directive(static) ident(VALUE) ident(rb_str_empty)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * str + other_str => new_str * * Concatenation---Returns a new String containing * other_str concatenated to str. * * "Hello from " + self.to_s #=> "Hello from main" */) ident(VALUE) ident(rb_str_plus)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) ident(VALUE) ident(str3)operator(;) ident(StringValue)operator(()ident(str2)operator(\);) ident(str3) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len)operator(+)ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str3)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len)operator(\);) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str3)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(RSTRING)operator(()ident(str3)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str3)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(str1)operator(\)) operator(||) ident(OBJ_TAINTED)operator(()ident(str2)operator(\)\)) ident(OBJ_TAINT)operator(()ident(str3)operator(\);) reserved(return) ident(str3)operator(;) operator(}) comment(/* * call-seq: * str * integer => new_str * * Copy---Returns a new String containing integer copies of * the receiver. * * "Ho! " * 3 #=> "Ho! Ho! Ho! " */) ident(VALUE) ident(rb_str_times)operator(()ident(str)operator(,) ident(times)operator(\)) ident(VALUE) ident(str)operator(;) ident(VALUE) ident(times)operator(;) operator({) ident(VALUE) ident(str2)operator(;) pre_type(long) ident(i)operator(,) ident(len)operator(;) ident(len) operator(=) ident(NUM2LONG)operator(()ident(times)operator(\);) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(len) operator(&&) ident(LONG_MAX)operator(/)ident(len) operator(<) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(str2) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,)integer(0)operator(,) ident(len) operator(*=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(len)operator(;) ident(i) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr) operator(+) ident(i)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) operator(}) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) ident(OBJ_INFECT)operator(()ident(str2)operator(,) ident(str)operator(\);) reserved(return) ident(str2)operator(;) operator(}) comment(/* * call-seq: * str % arg => new_str * * Format---Uses str as a format specification, and returns the result * of applying it to arg. If the format specification contains more than * one substitution, then arg must be an Array containing * the values to be substituted. See Kernel::sprintf for details * of the format string. * * "%05d" % 123 #=> "00123" * "%-5s: %08x" % [ "ID", self.id ] #=> "ID : 200e14d6" */) directive(static) ident(VALUE) ident(rb_str_format_m)operator(()ident(str)operator(,) ident(arg)operator(\)) ident(VALUE) ident(str)operator(,) ident(arg)operator(;) operator({) directive(volatile) ident(VALUE) ident(tmp) operator(=) ident(rb_check_array_type)operator(()ident(arg)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(rb_str_format)operator(()ident(RARRAY_LEN)operator(()ident(tmp)operator(\),) ident(RARRAY_PTR)operator(()ident(tmp)operator(\),) ident(str)operator(\);) operator(}) reserved(return) ident(rb_str_format)operator(()integer(1)operator(,) operator(&)ident(arg)operator(,) ident(str)operator(\);) operator(}) directive(static) directive(const) pre_type(char) ident(null_str)operator([]) operator(=) stringoperator(;) directive(static) pre_type(int) ident(str_independent)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_TMPLOCK)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(str)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(str)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(==) ident(null_str)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator((!)ident(FL_TEST)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\)\)) reserved(return) integer(1)operator(;) reserved(return) integer(0)operator(;) operator(}) directive(static) directive(void) ident(str_make_independent)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(ptr)operator(;) ident(ptr) operator(=) ident(ALLOC_N)operator(()pre_type(char)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(+)integer(1)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator({) ident(memcpy)operator(()ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) operator(}) ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(ptr)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_NOCAPA)operator(\);) operator(}) directive(void) ident(rb_str_modify)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator((!)ident(str_independent)operator(()ident(str)operator(\)\)) ident(str_make_independent)operator(()ident(str)operator(\);) operator(}) directive(void) ident(rb_str_associate)operator(()ident(str)operator(,) ident(add)operator(\)) ident(VALUE) ident(str)operator(,) ident(add)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) comment(/* already associated */) ident(rb_ary_concat)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared)operator(,) ident(add)operator(\);) operator(}) reserved(else) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) ident(str_make_independent)operator(()ident(str)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(!=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(RESIZE_CAPA)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(add)operator(;) ident(FL_SET)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\);) operator(}) operator(}) ident(VALUE) ident(rb_str_associated)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) reserved(return) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#define) ident(make_null_str)operator(()ident(s)operator(\)) reserved(do) operator({) \ ident(FL_SET)operator(()ident(s)operator(,) ident(ELTS_SHARED)operator(\);) \ ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr) operator(=) operator(()pre_type(char) operator(*\))ident(null_str)operator(;) \ ident(RSTRING)operator(()ident(s)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) integer(0)operator(;) \ operator(}) reserved(while) operator(()integer(0)operator(\)) directive(static) ident(VALUE) ident(rb_str_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(str_alloc)operator(()ident(klass)operator(\);) ident(make_null_str)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_string_value)operator(()ident(ptr)operator(\)) directive(volatile) ident(VALUE) operator(*)ident(ptr)operator(;) operator({) ident(VALUE) ident(s) operator(=) operator(*)ident(ptr)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(s)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(s) operator(=) ident(rb_str_to_str)operator(()ident(s)operator(\);) operator(*)ident(ptr) operator(=) ident(s)operator(;) operator(}) reserved(if) operator((!)ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator(\)) operator({) ident(make_null_str)operator(()ident(s)operator(\);) operator(}) reserved(return) ident(s)operator(;) operator(}) pre_type(char) operator(*) ident(rb_string_value_ptr)operator(()ident(ptr)operator(\)) directive(volatile) ident(VALUE) operator(*)ident(ptr)operator(;) operator({) reserved(return) ident(RSTRING)operator(()ident(rb_string_value)operator(()ident(ptr)operator(\)\)->)ident(ptr)operator(;) operator(}) pre_type(char) operator(*) ident(rb_string_value_cstr)operator(()ident(ptr)operator(\)) directive(volatile) ident(VALUE) operator(*)ident(ptr)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_string_value)operator(()ident(ptr)operator(\);) pre_type(char) operator(*)ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!)ident(s) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) ident(strlen)operator(()ident(s)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(s)operator(;) operator(}) ident(VALUE) ident(rb_check_string_type)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_check_convert_type)operator(()ident(str)operator(,) ident(T_STRING)operator(,) stringoperator(,) stringoperator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(str)operator(\)) operator(&&) operator(!)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator({) ident(make_null_str)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_substr)operator(()ident(str)operator(,) ident(beg)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(long) ident(beg)operator(,) ident(len)operator(;) operator({) ident(VALUE) ident(str2)operator(;) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(beg) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(beg) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(beg) operator(+) ident(len) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(beg)operator(;) operator(}) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(len) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) operator({) ident(str2) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,)integer(0)operator(,)integer(0)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(len) operator(>) reserved(sizeof)operator(()reserved(struct) ident(RString)operator(\))operator(/)integer(2) operator(&&) ident(beg) operator(+) ident(len) operator(==) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(&&) operator(!)ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) ident(str2) operator(=) ident(rb_str_new4)operator(()ident(str)operator(\);) ident(str2) operator(=) ident(str_new3)operator(()ident(rb_obj_class)operator(()ident(str2)operator(\),) ident(str2)operator(\);) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr) operator(+=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(-) ident(len)operator(;) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(=) ident(len)operator(;) operator(}) reserved(else) operator({) ident(str2) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(beg)operator(,) ident(len)operator(\);) operator(}) ident(OBJ_INFECT)operator(()ident(str2)operator(,) ident(str)operator(\);) reserved(return) ident(str2)operator(;) operator(}) ident(VALUE) ident(rb_str_freeze)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_obj_freeze)operator(()ident(str)operator(\);) operator(}) ident(VALUE) ident(rb_str_dup_frozen)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\)) operator(&&) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared)operator(\)) operator({) ident(VALUE) ident(shared) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(shared)operator(\)->)ident(len) operator(==) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(OBJ_FREEZE)operator(()ident(shared)operator(\);) reserved(return) ident(shared)operator(;) operator(}) operator(}) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(str)operator(\)\)) reserved(return) ident(str)operator(;) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(OBJ_FREEZE)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_locktmp)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_TMPLOCK)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(FL_SET)operator(()ident(str)operator(,) ident(STR_TMPLOCK)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_unlocktmp)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator((!)ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_TMPLOCK)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_TMPLOCK)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_resize)operator(()ident(str)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(len) operator(!=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(len) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(len) operator(>) integer(1024)operator(\)) operator({) ident(REALLOC_N)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) pre_type(char)operator(,) ident(len)operator(+)integer(1)operator(\);) reserved(if) operator((!)ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_NOCAPA)operator(\)\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(len)operator(;) operator(}) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) comment(/* sentinel */) operator(}) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(str_buf_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) pre_type(long) ident(capa)operator(,) ident(total)operator(,) ident(off) operator(=) operator(-)integer(1)operator(;;) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(ptr) operator(>=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(&&) ident(ptr) operator(<=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(off) operator(=) ident(ptr) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) operator(}) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\);) ident(capa) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) operator(}) reserved(else) operator({) ident(capa) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa)operator(;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>=) ident(LONG_MAX) operator(-) ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(total) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(+)ident(len)operator(;) reserved(if) operator(()ident(capa) operator(<=) ident(total)operator(\)) operator({) reserved(while) operator(()ident(total) operator(>) ident(capa)operator(\)) operator({) reserved(if) operator(()ident(capa) operator(+) integer(1) operator(>=) ident(LONG_MAX) operator(/) integer(2)operator(\)) operator({) ident(capa) operator(=) ident(total)operator(;) reserved(break)operator(;) operator(}) ident(capa) operator(=) operator(()ident(capa) operator(+) integer(1)operator(\)) operator(*) integer(2)operator(;) operator(}) ident(RESIZE_CAPA)operator(()ident(str)operator(,) ident(capa)operator(\);) operator(}) reserved(if) operator(()ident(off) operator(!=) operator(-)integer(1)operator(\)) operator({) ident(ptr) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(off)operator(;) operator(}) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(ptr)operator(,) ident(len)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(total)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(total)operator(]) operator(=) char('\\0')operator(;) comment(/* sentinel */) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(str)operator(;) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(str_buf_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) operator(}) ident(VALUE) ident(rb_str_buf_cat2)operator(()ident(str)operator(,) ident(ptr)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) operator({) reserved(return) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(strlen)operator(()ident(ptr)operator(\)\);) operator(}) ident(VALUE) ident(rb_str_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) operator({) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(REALLOC_N)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) pre_type(char)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(+)ident(len)operator(+)integer(1)operator(\);) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(ptr)operator(,) ident(len)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+=) ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) comment(/* sentinel */) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(rb_str_buf_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) operator(}) ident(VALUE) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(ptr)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(ptr)operator(;) operator({) reserved(return) ident(rb_str_cat)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(strlen)operator(()ident(ptr)operator(\)\);) operator(}) ident(VALUE) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) operator({) ident(str_buf_cat)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_append)operator(()ident(str)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) operator({) ident(StringValue)operator(()ident(str2)operator(\);) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(+)ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(;) ident(REALLOC_N)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) pre_type(char)operator(,) ident(len)operator(+)integer(1)operator(\);) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) comment(/* sentinel */) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(len)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(rb_str_buf_append)operator(()ident(str)operator(,) ident(str2)operator(\);) operator(}) operator(}) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str << fixnum => str * str.concat(fixnum\) => str * str << obj => str * str.concat(obj\) => str * * Append---Concatenates the given object to str. If the object is a * Fixnum between 0 and 255, it is converted to a character before * concatenation. * * a = "hello " * a << "world" #=> "hello world" * a.concat(33\) #=> "hello world!" */) ident(VALUE) ident(rb_str_concat)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(str2)operator(\)\)) operator({) pre_type(int) ident(i) operator(=) ident(FIX2INT)operator(()ident(str2)operator(\);) reserved(if) operator(()integer(0) operator(<=) ident(i) operator(&&) ident(i) operator(<=) hex(0xff)operator(\)) operator({) comment(/* byte */) pre_type(char) ident(c) operator(=) ident(i)operator(;) reserved(return) ident(rb_str_cat)operator(()ident(str1)operator(,) operator(&)ident(c)operator(,) integer(1)operator(\);) operator(}) operator(}) ident(str1) operator(=) ident(rb_str_append)operator(()ident(str1)operator(,) ident(str2)operator(\);) reserved(return) ident(str1)operator(;) operator(}) pre_type(int) ident(rb_str_hash)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) directive(register) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) directive(register) pre_type(char) operator(*)ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) directive(register) pre_type(int) ident(key) operator(=) integer(0)operator(;) preprocessor(#if) ident(defined)operator(()ident(HASH_ELFHASH)operator(\)) directive(register) pre_type(unsigned) pre_type(int) ident(g)operator(;) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(key) operator(=) operator(()ident(key) operator(<<) integer(4)operator(\)) operator(+) operator(*)ident(p)operator(++;) reserved(if) operator(()ident(g) operator(=) ident(key) operator(&) hex(0xF0000000)operator(\)) ident(key) operator(^=) ident(g) operator(>>) integer(24)operator(;) ident(key) operator(&=) operator(~)ident(g)operator(;) operator(}) preprocessor(#elif) ident(defined)operator(()ident(HASH_PERL)operator(\)) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(key) operator(+=) operator(*)ident(p)operator(++;) ident(key) operator(+=) operator(()ident(key) operator(<<) integer(10)operator(\);) ident(key) operator(^=) operator(()ident(key) operator(>>) integer(6)operator(\);) operator(}) ident(key) operator(+=) operator(()ident(key) operator(<<) integer(3)operator(\);) ident(key) operator(^=) operator(()ident(key) operator(>>) integer(11)operator(\);) ident(key) operator(+=) operator(()ident(key) operator(<<) integer(15)operator(\);) preprocessor(#else) reserved(while) operator(()ident(len)operator(--\)) operator({) ident(key) operator(=) ident(key)operator(*)integer(65599) operator(+) operator(*)ident(p)operator(;) ident(p)operator(++;) operator(}) ident(key) operator(=) ident(key) operator(+) operator(()ident(key)operator(>>)integer(5)operator(\);) preprocessor(#endif) reserved(return) ident(key)operator(;) operator(}) comment(/* * call-seq: * str.hash => fixnum * * Return a hash based on the string's length and content. */) directive(static) ident(VALUE) ident(rb_str_hash_m)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(int) ident(key) operator(=) ident(rb_str_hash)operator(()ident(str)operator(\);) reserved(return) ident(INT2FIX)operator(()ident(key)operator(\);) operator(}) preprocessor(#define) ident(lesser)operator(()ident(a)operator(,)ident(b)operator(\)) operator(((()ident(a)operator(\)>()ident(b)operator(\)\)?()ident(b)operator(\):()ident(a)operator(\)\)) pre_type(int) ident(rb_str_cmp)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) pre_type(long) ident(len)operator(;) pre_type(int) ident(retval)operator(;) ident(len) operator(=) ident(lesser)operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(retval) operator(=) ident(rb_memcmp)operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(retval) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len) operator(==) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len) operator(>) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\)) reserved(return) integer(1)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(retval) operator(>) integer(0)operator(\)) reserved(return) integer(1)operator(;) reserved(return) operator(-)integer(1)operator(;) operator(}) comment(/* * call-seq: * str == obj => true or false * * Equality---If obj is not a String, returns * false. Otherwise, returns true if str * <=> obj returns zero. */) directive(static) ident(VALUE) ident(rb_str_equal)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) reserved(if) operator(()ident(str1) operator(==) ident(str2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(str2)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(str2)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(rb_equal)operator(()ident(str2)operator(,) ident(str1)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len) operator(==) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len) operator(&&) ident(rb_str_cmp)operator(()ident(str1)operator(,) ident(str2)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#define) ident(IS_EVSTR)operator(()ident(p)operator(,)ident(e)operator(\)) operator((()ident(p)operator(\)) operator(<) operator(()ident(e)operator(\)) operator(&&) operator((*()ident(p)operator(\)) operator(==) char('$') operator(||) operator(*()ident(p)operator(\)) operator(==) char('@') operator(||) operator(*()ident(p)operator(\)) operator(==) char('{')operator(\)\)) comment(/* * call-seq: * str.eql?(other\) => true or false * * Two strings are equal if the have the same length and content. */) directive(static) ident(VALUE) ident(rb_str_eql)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(str2)operator(\)) operator(!=) ident(T_STRING) operator(||) ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len) operator(!=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(memcmp)operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(lesser)operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\)\)) operator(==) integer(0)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * str <=> other_str => -1, 0, +1 * * Comparison---Returns -1 if other_str is less than, 0 if * other_str is equal to, and +1 if other_str is greater than * str. If the strings are of different lengths, and the strings are * equal when compared up to the shortest length, then the longer string is * considered greater than the shorter one. If the variable $= is * false, the comparison is based on comparing the binary values * of each character in the string. In older versions of Ruby, setting * $= allowed case-insensitive comparisons; this is now deprecated * in favor of using String#casecmp. * * <=> is the basis for the methods <, * <=, >, >=, and between?, * included from module Comparable. The method * String#== does not use Comparable#==. * * "abcdef" <=> "abcde" #=> 1 * "abcdef" <=> "abcdef" #=> 0 * "abcdef" <=> "abcdefg" #=> -1 * "abcdef" <=> "ABCDEF" #=> 1 */) directive(static) ident(VALUE) ident(rb_str_cmp_m)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) pre_type(long) ident(result)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(str2)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(str2)operator(,) ident(rb_intern)operator(()stringoperator(\)\)\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(else) reserved(if) operator((!)ident(rb_respond_to)operator(()ident(str2)operator(,) ident(rb_intern)operator(()string)delimiter(")>operator(\)\)\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(else) operator({) ident(VALUE) ident(tmp) operator(=) ident(rb_funcall)operator(()ident(str2)operator(,) ident(rb_intern)operator(()string)delimiter(")>operator(\),) integer(1)operator(,) ident(str1)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(if) operator((!)ident(FIXNUM_P)operator(()ident(tmp)operator(\)\)) operator({) reserved(return) ident(rb_funcall)operator(()ident(LONG2FIX)operator(()integer(0)operator(\),) char('-')operator(,) integer(1)operator(,) ident(tmp)operator(\);) operator(}) ident(result) operator(=) operator(-)ident(FIX2LONG)operator(()ident(tmp)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(result) operator(=) ident(rb_str_cmp)operator(()ident(str1)operator(,) ident(str2)operator(\);) operator(}) reserved(return) ident(LONG2NUM)operator(()ident(result)operator(\);) operator(}) comment(/* * call-seq: * str.casecmp(other_str\) => -1, 0, +1 * * Case-insensitive version of String#<=>. * * "abcdef".casecmp("abcde"\) #=> 1 * "aBcDeF".casecmp("abcdef"\) #=> 0 * "abcdef".casecmp("abcdefg"\) #=> -1 * "abcdef".casecmp("ABCDEF"\) #=> 0 */) directive(static) ident(VALUE) ident(rb_str_casecmp)operator(()ident(str1)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str1)operator(,) ident(str2)operator(;) operator({) pre_type(long) ident(len)operator(;) pre_type(int) ident(retval)operator(;) ident(StringValue)operator(()ident(str2)operator(\);) ident(len) operator(=) ident(lesser)operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(retval) operator(=) ident(rb_memcicmp)operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(retval) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len) operator(==) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str1)operator(\)->)ident(len) operator(>) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(if) operator(()ident(retval) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(retval) operator(>) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) directive(static) pre_type(long) ident(rb_str_index)operator(()ident(str)operator(,) ident(sub)operator(,) ident(offset)operator(\)) ident(VALUE) ident(str)operator(,) ident(sub)operator(;) pre_type(long) ident(offset)operator(;) operator({) pre_type(long) ident(pos)operator(;) reserved(if) operator(()ident(offset) operator(<) integer(0)operator(\)) operator({) ident(offset) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(offset) operator(<) integer(0)operator(\)) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(offset) operator(<) ident(RSTRING)operator(()ident(sub)operator(\)->)ident(len)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(sub)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(offset)operator(;) ident(pos) operator(=) ident(rb_memsearch)operator(()ident(RSTRING)operator(()ident(sub)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(sub)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(offset)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(-)ident(offset)operator(\);) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) reserved(return) ident(pos)operator(;) reserved(return) ident(pos) operator(+) ident(offset)operator(;) operator(}) comment(/* * call-seq: * str.index(substring [, offset]\) => fixnum or nil * str.index(fixnum [, offset]\) => fixnum or nil * str.index(regexp [, offset]\) => fixnum or nil * * Returns the index of the first occurrence of the given substring, * character (fixnum\), or pattern (regexp\) in str. Returns * nil if not found. If the second parameter is present, it * specifies the position in the string to begin the search. * * "hello".index('e'\) #=> 1 * "hello".index('lo'\) #=> 3 * "hello".index('a'\) #=> nil * "hello".index(101\) #=> 1 * "hello".index(/[aeiou]/, -3\) #=> 4 */) directive(static) ident(VALUE) ident(rb_str_index_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(sub)operator(;) ident(VALUE) ident(initpos)operator(;) pre_type(long) ident(pos)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(sub)operator(,) operator(&)ident(initpos)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(pos) operator(=) ident(NUM2LONG)operator(()ident(initpos)operator(\);) operator(}) reserved(else) operator({) ident(pos) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) ident(pos) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(sub)operator(\)) operator(==) ident(T_REGEXP)operator(\)) operator({) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(sub)operator(\)\)) operator({) reserved(case) ident(T_REGEXP)operator(:) ident(pos) operator(=) ident(rb_reg_adjust_startpos)operator(()ident(sub)operator(,) ident(str)operator(,) ident(pos)operator(,) integer(0)operator(\);) ident(pos) operator(=) ident(rb_reg_search)operator(()ident(sub)operator(,) ident(str)operator(,) ident(pos)operator(,) integer(0)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FIXNUM)operator(:) operator({) pre_type(int) ident(c) operator(=) ident(FIX2INT)operator(()ident(sub)operator(\);) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(for) operator((;)ident(pos)operator(<)ident(len)operator(;)ident(pos)operator(++\)) operator({) reserved(if) operator(()ident(p)operator([)ident(pos)operator(]) operator(==) ident(c)operator(\)) reserved(return) ident(LONG2NUM)operator(()ident(pos)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) reserved(default)operator(:) operator({) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(rb_check_string_type)operator(()ident(sub)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(tmp)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(sub)operator(\)\);) operator(}) ident(sub) operator(=) ident(tmp)operator(;) operator(}) comment(/* fall through */) reserved(case) ident(T_STRING)operator(:) ident(pos) operator(=) ident(rb_str_index)operator(()ident(str)operator(,) ident(sub)operator(,) ident(pos)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(pos) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(LONG2NUM)operator(()ident(pos)operator(\);) operator(}) directive(static) pre_type(long) ident(rb_str_rindex)operator(()ident(str)operator(,) ident(sub)operator(,) ident(pos)operator(\)) ident(VALUE) ident(str)operator(,) ident(sub)operator(;) pre_type(long) ident(pos)operator(;) operator({) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(sub)operator(\)->)ident(len)operator(;) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(sbeg)operator(,) operator(*)ident(t)operator(;) comment(/* substring longer than string */) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(len)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(pos) operator(<) ident(len)operator(\)) operator({) ident(pos) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(len)operator(;) operator(}) ident(sbeg) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(pos)operator(;) ident(t) operator(=) ident(RSTRING)operator(()ident(sub)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(len)operator(\)) operator({) reserved(while) operator(()ident(sbeg) operator(<=) ident(s)operator(\)) operator({) reserved(if) operator(()ident(rb_memcmp)operator(()ident(s)operator(,) ident(t)operator(,) ident(len)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(s) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) operator(}) ident(s)operator(--;) operator(}) reserved(return) operator(-)integer(1)operator(;) operator(}) reserved(else) operator({) reserved(return) ident(pos)operator(;) operator(}) operator(}) comment(/* * call-seq: * str.rindex(substring [, fixnum]\) => fixnum or nil * str.rindex(fixnum [, fixnum]\) => fixnum or nil * str.rindex(regexp [, fixnum]\) => fixnum or nil * * Returns the index of the last occurrence of the given substring, * character (fixnum\), or pattern (regexp\) in str. Returns * nil if not found. If the second parameter is present, it * specifies the position in the string to end the search---characters beyond * this point will not be considered. * * "hello".rindex('e'\) #=> 1 * "hello".rindex('l'\) #=> 3 * "hello".rindex('a'\) #=> nil * "hello".rindex(101\) #=> 1 * "hello".rindex(/[aeiou]/, -2\) #=> 1 */) directive(static) ident(VALUE) ident(rb_str_rindex_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(sub)operator(;) ident(VALUE) ident(position)operator(;) pre_type(long) ident(pos)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(sub)operator(,) operator(&)ident(position)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(pos) operator(=) ident(NUM2LONG)operator(()ident(position)operator(\);) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) ident(pos) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(sub)operator(\)) operator(==) ident(T_REGEXP)operator(\)) operator({) ident(rb_backref_set)operator(()ident(Qnil)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) operator(}) reserved(if) operator(()ident(pos) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) ident(pos) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) operator(}) reserved(else) operator({) ident(pos) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(sub)operator(\)\)) operator({) reserved(case) ident(T_REGEXP)operator(:) reserved(if) operator(()ident(RREGEXP)operator(()ident(sub)operator(\)->)ident(len)operator(\)) operator({) ident(pos) operator(=) ident(rb_reg_adjust_startpos)operator(()ident(sub)operator(,) ident(str)operator(,) ident(pos)operator(,) integer(1)operator(\);) ident(pos) operator(=) ident(rb_reg_search)operator(()ident(sub)operator(,) ident(str)operator(,) ident(pos)operator(,) integer(1)operator(\);) operator(}) reserved(if) operator(()ident(pos) operator(>=) integer(0)operator(\)) reserved(return) ident(LONG2NUM)operator(()ident(pos)operator(\);) reserved(break)operator(;) reserved(case) ident(T_STRING)operator(:) ident(pos) operator(=) ident(rb_str_rindex)operator(()ident(str)operator(,) ident(sub)operator(,) ident(pos)operator(\);) reserved(if) operator(()ident(pos) operator(>=) integer(0)operator(\)) reserved(return) ident(LONG2NUM)operator(()ident(pos)operator(\);) reserved(break)operator(;) reserved(case) ident(T_FIXNUM)operator(:) operator({) pre_type(int) ident(c) operator(=) ident(FIX2INT)operator(()ident(sub)operator(\);) pre_type(unsigned) pre_type(char) operator(*)ident(p) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(pos)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(pbeg) operator(=) operator(()pre_type(unsigned) pre_type(char)operator(*\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(pos) operator(==) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) reserved(if) operator(()ident(pos) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) operator(--)ident(p)operator(;) operator(}) reserved(while) operator(()ident(pbeg) operator(<=) ident(p)operator(\)) operator({) reserved(if) operator((*)ident(p) operator(==) ident(c)operator(\)) reserved(return) ident(LONG2NUM)operator((()pre_type(char)operator(*\))ident(p) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(p)operator(--;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(sub)operator(\)\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str =~ obj => fixnum or nil * * Match---If obj is a Regexp, use it as a pattern to match * against str,and returns the position the match starts, or * nil if there is no match. Otherwise, invokes * obj.=~, passing str as an argument. The default * =~ in Object returns false. * * "cat o' 9 tails" =~ /\\d/ #=> 7 * "cat o' 9 tails" =~ 9 #=> false */) directive(static) ident(VALUE) ident(rb_str_match)operator(()ident(x)operator(,) ident(y)operator(\)) ident(VALUE) ident(x)operator(,) ident(y)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(y)operator(\)\)) operator({) reserved(case) ident(T_STRING)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) reserved(case) ident(T_REGEXP)operator(:) reserved(return) ident(rb_reg_match)operator(()ident(y)operator(,) ident(x)operator(\);) reserved(default)operator(:) reserved(return) ident(rb_funcall)operator(()ident(y)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(x)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(get_pat) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) comment(/* * call-seq: * str.match(pattern\) => matchdata or nil * * Converts pattern to a Regexp (if it isn't already one\), * then invokes its match method on str. * * 'hello'.match('(.\)\\1'\) #=> # * 'hello'.match('(.\)\\1'\)[0] #=> "ll" * 'hello'.match(/(.\)\\1/\)[0] #=> "ll" * 'hello'.match('xx'\) #=> nil */) directive(static) ident(VALUE) ident(rb_str_match_m)operator(()ident(str)operator(,) ident(re)operator(\)) ident(VALUE) ident(str)operator(,) ident(re)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(get_pat)operator(()ident(re)operator(,) integer(0)operator(\),) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(str)operator(\);) operator(}) directive(static) pre_type(char) ident(succ_char)operator(()ident(s)operator(\)) pre_type(char) operator(*)ident(s)operator(;) operator({) pre_type(char) ident(c) operator(=) operator(*)ident(s)operator(;) comment(/* numerics */) reserved(if) operator(()char('0') operator(<=) ident(c) operator(&&) ident(c) operator(<) char('9')operator(\)) operator((*)ident(s)operator(\)++;) reserved(else) reserved(if) operator(()ident(c) operator(==) char('9')operator(\)) operator({) operator(*)ident(s) operator(=) char('0')operator(;) reserved(return) char('1')operator(;) operator(}) comment(/* small alphabets */) reserved(else) reserved(if) operator(()char('a') operator(<=) ident(c) operator(&&) ident(c) operator(<) char('z')operator(\)) operator((*)ident(s)operator(\)++;) reserved(else) reserved(if) operator(()ident(c) operator(==) char('z')operator(\)) operator({) reserved(return) operator(*)ident(s) operator(=) char('a')operator(;) operator(}) comment(/* capital alphabets */) reserved(else) reserved(if) operator(()char('A') operator(<=) ident(c) operator(&&) ident(c) operator(<) char('Z')operator(\)) operator((*)ident(s)operator(\)++;) reserved(else) reserved(if) operator(()ident(c) operator(==) char('Z')operator(\)) operator({) reserved(return) operator(*)ident(s) operator(=) char('A')operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) comment(/* * call-seq: * str.succ => new_str * str.next => new_str * * Returns the successor to str. The successor is calculated by * incrementing characters starting from the rightmost alphanumeric (or * the rightmost character if there are no alphanumerics\) in the * string. Incrementing a digit always results in another digit, and * incrementing a letter results in another letter of the same case. * Incrementing nonalphanumerics uses the underlying character set's * collating sequence. * * If the increment generates a ``carry,'' the character to the left of * it is incremented. This process repeats until there is no carry, * adding an additional character if necessary. * * "abcd".succ #=> "abce" * "THX1138".succ #=> "THX1139" * "<>".succ #=> "<>" * "1999zzz".succ #=> "2000aaa" * "ZZZ9999".succ #=> "AAAA0000" * "***".succ #=> "**+" */) directive(static) ident(VALUE) ident(rb_str_succ)operator(()ident(orig)operator(\)) ident(VALUE) ident(orig)operator(;) operator({) ident(VALUE) ident(str)operator(;) pre_type(char) operator(*)ident(sbeg)operator(,) operator(*)ident(s)operator(;) pre_type(int) ident(c) operator(=) operator(-)integer(1)operator(;) pre_type(long) ident(n) operator(=) integer(0)operator(;) ident(str) operator(=) ident(rb_str_new5)operator(()ident(orig)operator(,) ident(RSTRING)operator(()ident(orig)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(orig)operator(\)->)ident(len)operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(orig)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(str)operator(;) ident(sbeg) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(s) operator(=) ident(sbeg) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) integer(1)operator(;) reserved(while) operator(()ident(sbeg) operator(<=) ident(s)operator(\)) operator({) reserved(if) operator(()ident(ISALNUM)operator((*)ident(s)operator(\)\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(succ_char)operator(()ident(s)operator(\)\)) operator(==) integer(0)operator(\)) reserved(break)operator(;) ident(n) operator(=) ident(s) operator(-) ident(sbeg)operator(;) operator(}) ident(s)operator(--;) operator(}) reserved(if) operator(()ident(c) operator(==) operator(-)integer(1)operator(\)) operator({) comment(/* str contains no alnum */) ident(sbeg) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(s) operator(=) ident(sbeg) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) integer(1)operator(;) ident(c) operator(=) char('\\001')operator(;) reserved(while) operator(()ident(sbeg) operator(<=) ident(s)operator(\)) operator({) reserved(if) operator(((*)ident(s) operator(+=) integer(1)operator(\)) operator(!=) integer(0)operator(\)) reserved(break)operator(;) ident(s)operator(--;) operator(}) operator(}) reserved(if) operator(()ident(s) operator(<) ident(sbeg)operator(\)) operator({) ident(RESIZE_CAPA)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+) integer(1)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(n)operator(;) ident(memmove)operator(()ident(s)operator(+)integer(1)operator(,) ident(s)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(n)operator(\);) operator(*)ident(s) operator(=) ident(c)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+=) integer(1)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.succ! => str * str.next! => str * * Equivalent to String#succ, but modifies the receiver in * place. */) directive(static) ident(VALUE) ident(rb_str_succ_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(rb_str_shared_replace)operator(()ident(str)operator(,) ident(rb_str_succ)operator(()ident(str)operator(\)\);) reserved(return) ident(str)operator(;) operator(}) ident(VALUE) ident(rb_str_upto)operator(()ident(beg)operator(,) ident(end)operator(,) ident(excl)operator(\)) ident(VALUE) ident(beg)operator(,) ident(end)operator(;) pre_type(int) ident(excl)operator(;) operator({) ident(VALUE) ident(current)operator(,) ident(after_end)operator(;) ident(ID) ident(succ) operator(=) ident(rb_intern)operator(()stringoperator(\);) pre_type(int) ident(n)operator(;) ident(StringValue)operator(()ident(end)operator(\);) ident(n) operator(=) ident(rb_str_cmp)operator(()ident(beg)operator(,) ident(end)operator(\);) reserved(if) operator(()ident(n) operator(>) integer(0) operator(||) operator(()ident(excl) operator(&&) ident(n) operator(==) integer(0)operator(\)\)) reserved(return) ident(beg)operator(;) ident(after_end) operator(=) ident(rb_funcall)operator(()ident(end)operator(,) ident(succ)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(current) operator(=) ident(beg)operator(;) reserved(while) operator((!)ident(rb_str_equal)operator(()ident(current)operator(,) ident(after_end)operator(\)\)) operator({) ident(rb_yield)operator(()ident(current)operator(\);) reserved(if) operator((!)ident(excl) operator(&&) ident(rb_str_equal)operator(()ident(current)operator(,) ident(end)operator(\)\)) reserved(break)operator(;) ident(current) operator(=) ident(rb_funcall)operator(()ident(current)operator(,) ident(succ)operator(,) integer(0)operator(,) integer(0)operator(\);) ident(StringValue)operator(()ident(current)operator(\);) reserved(if) operator(()ident(excl) operator(&&) ident(rb_str_equal)operator(()ident(current)operator(,) ident(end)operator(\)\)) reserved(break)operator(;) ident(StringValue)operator(()ident(current)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(current)operator(\)->)ident(len) operator(>) ident(RSTRING)operator(()ident(end)operator(\)->)ident(len) operator(||) ident(RSTRING)operator(()ident(current)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(break)operator(;) operator(}) reserved(return) ident(beg)operator(;) operator(}) comment(/* * call-seq: * str.upto(other_str\) {|s| block } => str * * Iterates through successive values, starting at str and * ending at other_str inclusive, passing each value in turn to * the block. The String#succ method is used to generate * each value. * * "a8".upto("b6"\) {|s| print s, ' ' } * for s in "a8".."b6" * print s, ' ' * end * * produces: * * a8 a9 b0 b1 b2 b3 b4 b5 b6 * a8 a9 b0 b1 b2 b3 b4 b5 b6 */) directive(static) ident(VALUE) ident(rb_str_upto_m)operator(()ident(beg)operator(,) ident(end)operator(\)) ident(VALUE) ident(beg)operator(,) ident(end)operator(;) operator({) reserved(return) ident(rb_str_upto)operator(()ident(beg)operator(,) ident(end)operator(,) ident(Qfalse)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_str_subpat)operator(()ident(str)operator(,) ident(re)operator(,) ident(nth)operator(\)) ident(VALUE) ident(str)operator(,) ident(re)operator(;) pre_type(int) ident(nth)operator(;) operator({) reserved(if) operator(()ident(rb_reg_search)operator(()ident(re)operator(,) ident(str)operator(,) integer(0)operator(,) integer(0)operator(\)) operator(>=) integer(0)operator(\)) operator({) reserved(return) ident(rb_reg_nth_match)operator(()ident(nth)operator(,) ident(rb_backref_get)operator((\)\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_str_aref)operator(()ident(str)operator(,) ident(indx)operator(\)) ident(VALUE) ident(str)operator(;) ident(VALUE) ident(indx)operator(;) operator({) pre_type(long) ident(idx)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(indx)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(idx) operator(=) ident(FIX2LONG)operator(()ident(indx)operator(\);) label(num_index:) reserved(if) operator(()ident(idx) operator(<) integer(0)operator(\)) operator({) ident(idx) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+) ident(idx)operator(;) operator(}) reserved(if) operator(()ident(idx) operator(<) integer(0) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<=) ident(idx)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(INT2FIX)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(idx)operator(]) operator(&) hex(0xff)operator(\);) reserved(case) ident(T_REGEXP)operator(:) reserved(return) ident(rb_str_subpat)operator(()ident(str)operator(,) ident(indx)operator(,) integer(0)operator(\);) reserved(case) ident(T_STRING)operator(:) reserved(if) operator(()ident(rb_str_index)operator(()ident(str)operator(,) ident(indx)operator(,) integer(0)operator(\)) operator(!=) operator(-)integer(1)operator(\)) reserved(return) ident(rb_str_dup)operator(()ident(indx)operator(\);) reserved(return) ident(Qnil)operator(;) reserved(default)operator(:) comment(/* check if indx is Range */) operator({) pre_type(long) ident(beg)operator(,) ident(len)operator(;) ident(VALUE) ident(tmp)operator(;) reserved(switch) operator(()ident(rb_range_beg_len)operator(()ident(indx)operator(,) operator(&)ident(beg)operator(,) operator(&)ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) integer(0)operator(\)\)) operator({) reserved(case) ident(Qfalse)operator(:) reserved(break)operator(;) reserved(case) ident(Qnil)operator(:) reserved(return) ident(Qnil)operator(;) reserved(default)operator(:) ident(tmp) operator(=) ident(rb_str_substr)operator(()ident(str)operator(,) ident(beg)operator(,) ident(len)operator(\);) ident(OBJ_INFECT)operator(()ident(tmp)operator(,) ident(indx)operator(\);) reserved(return) ident(tmp)operator(;) operator(}) operator(}) ident(idx) operator(=) ident(NUM2LONG)operator(()ident(indx)operator(\);) reserved(goto) ident(num_index)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call-seq: * str[fixnum] => fixnum or nil * str[fixnum, fixnum] => new_str or nil * str[range] => new_str or nil * str[regexp] => new_str or nil * str[regexp, fixnum] => new_str or nil * str[other_str] => new_str or nil * str.slice(fixnum\) => fixnum or nil * str.slice(fixnum, fixnum\) => new_str or nil * str.slice(range\) => new_str or nil * str.slice(regexp\) => new_str or nil * str.slice(regexp, fixnum\) => new_str or nil * str.slice(other_str\) => new_str or nil * * Element Reference---If passed a single Fixnum, returns the code * of the character at that position. If passed two Fixnum * objects, returns a substring starting at the offset given by the first, and * a length given by the second. If given a range, a substring containing * characters at offsets given by the range is returned. In all three cases, if * an offset is negative, it is counted from the end of str. Returns * nil if the initial offset falls outside the string, the length * is negative, or the beginning of the range is greater than the end. * * If a Regexp is supplied, the matching portion of str is * returned. If a numeric parameter follows the regular expression, that * component of the MatchData is returned instead. If a * String is given, that string is returned if it occurs in * str. In both cases, nil is returned if there is no * match. * * a = "hello there" * a[1] #=> 101 * a[1,3] #=> "ell" * a[1..3] #=> "ell" * a[-3,2] #=> "er" * a[-4..-2] #=> "her" * a[12..-1] #=> nil * a[-2..-4] #=> "" * a[/[aeiou](.\)\\1/] #=> "ell" * a[/[aeiou](.\)\\1/, 0] #=> "ell" * a[/[aeiou](.\)\\1/, 1] #=> "l" * a[/[aeiou](.\)\\1/, 2] #=> nil * a["lo"] #=> "lo" * a["bye"] #=> nil */) directive(static) ident(VALUE) ident(rb_str_aref_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_REGEXP)operator(\)) operator({) reserved(return) ident(rb_str_subpat)operator(()ident(str)operator(,) ident(argv)operator([)integer(0)operator(],) ident(NUM2INT)operator(()ident(argv)operator([)integer(1)operator(]\)\);) operator(}) reserved(return) ident(rb_str_substr)operator(()ident(str)operator(,) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\),) ident(NUM2LONG)operator(()ident(argv)operator([)integer(1)operator(]\)\);) operator(}) reserved(if) operator(()ident(argc) operator(!=) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(return) ident(rb_str_aref)operator(()ident(str)operator(,) ident(argv)operator([)integer(0)operator(]\);) operator(}) directive(static) directive(void) ident(rb_str_splice)operator(()ident(str)operator(,) ident(beg)operator(,) ident(len)operator(,) ident(val)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(long) ident(beg)operator(,) ident(len)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(len) operator(<) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(len)operator(\);) ident(StringValue)operator(()ident(val)operator(\);) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(beg)operator(\)) operator({) label(out_of_range:) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(beg)operator(\);) operator(}) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) reserved(if) operator((-)ident(beg) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) reserved(goto) ident(out_of_range)operator(;) operator(}) ident(beg) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(len) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(beg) operator(+) ident(len)operator(\)) operator({) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(beg)operator(;) operator(}) reserved(if) operator(()ident(len) operator(<) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(\)) operator({) comment(/* expand string */) ident(RESIZE_CAPA)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len) operator(-) ident(len) operator(+) integer(1)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(val)operator(\)->)ident(len) operator(!=) ident(len)operator(\)) operator({) ident(memmove)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(beg) operator(+) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(beg) operator(+) ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) operator(()ident(beg) operator(+) ident(len)operator(\)\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<) ident(beg) operator(&&) ident(len) operator(<) integer(0)operator(\)) operator({) ident(MEMZERO)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) pre_type(char)operator(,) operator(-)ident(len)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(val)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(memmove)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(beg)operator(,) ident(RSTRING)operator(()ident(val)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+=) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len) operator(-) ident(len)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) operator(}) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(val)operator(\);) operator(}) directive(void) ident(rb_str_update)operator(()ident(str)operator(,) ident(beg)operator(,) ident(len)operator(,) ident(val)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(long) ident(beg)operator(,) ident(len)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(rb_str_splice)operator(()ident(str)operator(,) ident(beg)operator(,) ident(len)operator(,) ident(val)operator(\);) operator(}) directive(static) directive(void) ident(rb_str_subpat_set)operator(()ident(str)operator(,) ident(re)operator(,) ident(nth)operator(,) ident(val)operator(\)) ident(VALUE) ident(str)operator(,) ident(re)operator(;) pre_type(int) ident(nth)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(VALUE) ident(match)operator(;) pre_type(long) ident(start)operator(,) ident(end)operator(,) ident(len)operator(;) reserved(if) operator(()ident(rb_reg_search)operator(()ident(re)operator(,) ident(str)operator(,) integer(0)operator(,) integer(0)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(\);) operator(}) ident(match) operator(=) ident(rb_backref_get)operator((\);) reserved(if) operator(()ident(nth) operator(>=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(\)) operator({) label(out_of_range:) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(nth)operator(\);) operator(}) reserved(if) operator(()ident(nth) operator(<) integer(0)operator(\)) operator({) reserved(if) operator((-)ident(nth) operator(>=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(\)) operator({) reserved(goto) ident(out_of_range)operator(;) operator(}) ident(nth) operator(+=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(->)ident(num_regs)operator(;) operator(}) ident(start) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(BEG)operator(()ident(nth)operator(\);) reserved(if) operator(()ident(start) operator(==) operator(-)integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(nth)operator(\);) operator(}) ident(end) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(END)operator(()ident(nth)operator(\);) ident(len) operator(=) ident(end) operator(-) ident(start)operator(;) ident(rb_str_splice)operator(()ident(str)operator(,) ident(start)operator(,) ident(len)operator(,) ident(val)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_str_aset)operator(()ident(str)operator(,) ident(indx)operator(,) ident(val)operator(\)) ident(VALUE) ident(str)operator(;) ident(VALUE) ident(indx)operator(,) ident(val)operator(;) operator({) pre_type(long) ident(idx)operator(,) ident(beg)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(indx)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(idx) operator(=) ident(FIX2LONG)operator(()ident(indx)operator(\);) label(num_index:) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<=) ident(idx)operator(\)) operator({) label(out_of_range:) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(idx)operator(\);) operator(}) reserved(if) operator(()ident(idx) operator(<) integer(0)operator(\)) operator({) reserved(if) operator((-)ident(idx) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) reserved(goto) ident(out_of_range)operator(;) ident(idx) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) operator(}) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(val)operator(\)\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) ident(idx)operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+=) integer(1)operator(;) ident(RESIZE_CAPA)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(idx)operator(]) operator(=) ident(FIX2INT)operator(()ident(val)operator(\)) operator(&) hex(0xff)operator(;) operator(}) reserved(else) operator({) ident(rb_str_splice)operator(()ident(str)operator(,) ident(idx)operator(,) integer(1)operator(,) ident(val)operator(\);) operator(}) reserved(return) ident(val)operator(;) reserved(case) ident(T_REGEXP)operator(:) ident(rb_str_subpat_set)operator(()ident(str)operator(,) ident(indx)operator(,) integer(0)operator(,) ident(val)operator(\);) reserved(return) ident(val)operator(;) reserved(case) ident(T_STRING)operator(:) ident(beg) operator(=) ident(rb_str_index)operator(()ident(str)operator(,) ident(indx)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(\);) operator(}) ident(rb_str_splice)operator(()ident(str)operator(,) ident(beg)operator(,) ident(RSTRING)operator(()ident(indx)operator(\)->)ident(len)operator(,) ident(val)operator(\);) reserved(return) ident(val)operator(;) reserved(default)operator(:) comment(/* check if indx is Range */) operator({) pre_type(long) ident(beg)operator(,) ident(len)operator(;) reserved(if) operator(()ident(rb_range_beg_len)operator(()ident(indx)operator(,) operator(&)ident(beg)operator(,) operator(&)ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) integer(2)operator(\)\)) operator({) ident(rb_str_splice)operator(()ident(str)operator(,) ident(beg)operator(,) ident(len)operator(,) ident(val)operator(\);) reserved(return) ident(val)operator(;) operator(}) operator(}) ident(idx) operator(=) ident(NUM2LONG)operator(()ident(indx)operator(\);) reserved(goto) ident(num_index)operator(;) operator(}) operator(}) comment(/* * call-seq: * str[fixnum] = fixnum * str[fixnum] = new_str * str[fixnum, fixnum] = new_str * str[range] = aString * str[regexp] = new_str * str[regexp, fixnum] = new_str * str[other_str] = new_str * * Element Assignment---Replaces some or all of the content of str. The * portion of the string affected is determined using the same criteria as * String#[]. If the replacement string is not the same length as * the text it is replacing, the string will be adjusted accordingly. If the * regular expression or string is used as the index doesn't match a position * in the string, IndexError is raised. If the regular expression * form is used, the optional second Fixnum allows you to specify * which portion of the match to replace (effectively using the * MatchData indexing rules. The forms that take a * Fixnum will raise an IndexError if the value is * out of range; the Range form will raise a * RangeError, and the Regexp and String * forms will silently ignore the assignment. */) directive(static) ident(VALUE) ident(rb_str_aset_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(argc) operator(==) integer(3)operator(\)) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(argv)operator([)integer(0)operator(]\)) operator(==) ident(T_REGEXP)operator(\)) operator({) ident(rb_str_subpat_set)operator(()ident(str)operator(,) ident(argv)operator([)integer(0)operator(],) ident(NUM2INT)operator(()ident(argv)operator([)integer(1)operator(]\),) ident(argv)operator([)integer(2)operator(]\);) operator(}) reserved(else) operator({) ident(rb_str_splice)operator(()ident(str)operator(,) ident(NUM2LONG)operator(()ident(argv)operator([)integer(0)operator(]\),) ident(NUM2LONG)operator(()ident(argv)operator([)integer(1)operator(]\),) ident(argv)operator([)integer(2)operator(]\);) operator(}) reserved(return) ident(argv)operator([)integer(2)operator(];) operator(}) reserved(if) operator(()ident(argc) operator(!=) integer(2)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(return) ident(rb_str_aset)operator(()ident(str)operator(,) ident(argv)operator([)integer(0)operator(],) ident(argv)operator([)integer(1)operator(]\);) operator(}) comment(/* * call-seq: * str.insert(index, other_str\) => str * * Inserts other_str before the character at the given * index, modifying str. Negative indices count from the * end of the string, and insert after the given character. * The intent is insert aString so that it starts at the given * index. * * "abcd".insert(0, 'X'\) #=> "Xabcd" * "abcd".insert(3, 'X'\) #=> "abcXd" * "abcd".insert(4, 'X'\) #=> "abcdX" * "abcd".insert(-3, 'X'\) #=> "abXcd" * "abcd".insert(-1, 'X'\) #=> "abcdX" */) directive(static) ident(VALUE) ident(rb_str_insert)operator(()ident(str)operator(,) ident(idx)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str)operator(,) ident(idx)operator(,) ident(str2)operator(;) operator({) pre_type(long) ident(pos) operator(=) ident(NUM2LONG)operator(()ident(idx)operator(\);) reserved(if) operator(()ident(pos) operator(==) operator(-)integer(1)operator(\)) operator({) ident(pos) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(pos) operator(<) integer(0)operator(\)) operator({) ident(pos)operator(++;) operator(}) ident(rb_str_splice)operator(()ident(str)operator(,) ident(pos)operator(,) integer(0)operator(,) ident(str2)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.slice!(fixnum\) => fixnum or nil * str.slice!(fixnum, fixnum\) => new_str or nil * str.slice!(range\) => new_str or nil * str.slice!(regexp\) => new_str or nil * str.slice!(other_str\) => new_str or nil * * Deletes the specified portion from str, and returns the portion * deleted. The forms that take a Fixnum will raise an * IndexError if the value is out of range; the Range * form will raise a RangeError, and the Regexp and * String forms will silently ignore the assignment. * * string = "this is a string" * string.slice!(2\) #=> 105 * string.slice!(3..6\) #=> " is " * string.slice!(/s.*t/\) #=> "sa st" * string.slice!("r"\) #=> "r" * string #=> "thing" */) directive(static) ident(VALUE) ident(rb_str_slice_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(result)operator(;) ident(VALUE) ident(buf)operator([)integer(3)operator(];) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(<) integer(1) operator(||) integer(2) operator(<) ident(argc)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(buf)operator([)ident(i)operator(]) operator(=) ident(argv)operator([)ident(i)operator(];) operator(}) ident(buf)operator([)ident(i)operator(]) operator(=) ident(rb_str_new)operator(()integer(0)operator(,)integer(0)operator(\);) ident(result) operator(=) ident(rb_str_aref_m)operator(()ident(argc)operator(,) ident(buf)operator(,) ident(str)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(result)operator(\)\)) operator({) ident(rb_str_aset_m)operator(()ident(argc)operator(+)integer(1)operator(,) ident(buf)operator(,) ident(str)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) directive(static) ident(VALUE) ident(get_pat)operator(()ident(pat)operator(,) ident(quote)operator(\)) ident(VALUE) ident(pat)operator(;) pre_type(int) ident(quote)operator(;) operator({) ident(VALUE) ident(val)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(pat)operator(\)\)) operator({) reserved(case) ident(T_REGEXP)operator(:) reserved(return) ident(pat)operator(;) reserved(case) ident(T_STRING)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(val) operator(=) ident(rb_check_string_type)operator(()ident(pat)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(val)operator(\)\)) operator({) ident(Check_Type)operator(()ident(pat)operator(,) ident(T_REGEXP)operator(\);) operator(}) ident(pat) operator(=) ident(val)operator(;) operator(}) reserved(if) operator(()ident(quote)operator(\)) operator({) ident(pat) operator(=) ident(rb_reg_quote)operator(()ident(pat)operator(\);) operator(}) reserved(return) ident(rb_reg_regcomp)operator(()ident(pat)operator(\);) operator(}) comment(/* * call-seq: * str.sub!(pattern, replacement\) => str or nil * str.sub!(pattern\) {|match| block } => str or nil * * Performs the substitutions of String#sub in place, * returning str, or nil if no substitutions were * performed. */) directive(static) ident(VALUE) ident(rb_str_sub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(pat)operator(,) ident(repl)operator(,) ident(match)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) pre_type(int) ident(iter) operator(=) integer(0)operator(;) pre_type(int) ident(tainted) operator(=) integer(0)operator(;) pre_type(long) ident(plen)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(rb_block_given_p)operator((\)\)) operator({) ident(iter) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(repl) operator(=) ident(argv)operator([)integer(1)operator(];) ident(StringValue)operator(()ident(repl)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(repl)operator(\)\)) ident(tainted) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) ident(pat) operator(=) ident(get_pat)operator(()ident(argv)operator([)integer(0)operator(],) integer(1)operator(\);) reserved(if) operator(()ident(rb_reg_search)operator(()ident(pat)operator(,) ident(str)operator(,) integer(0)operator(,) integer(0)operator(\)) operator(>=) integer(0)operator(\)) operator({) ident(match) operator(=) ident(rb_backref_get)operator((\);) ident(regs) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(;) reserved(if) operator(()ident(iter)operator(\)) operator({) pre_type(char) operator(*)ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(rb_match_busy)operator(()ident(match)operator(\);) ident(repl) operator(=) ident(rb_obj_as_string)operator(()ident(rb_yield)operator(()ident(rb_reg_nth_match)operator(()integer(0)operator(,) ident(match)operator(\)\)\);) ident(str_mod_check)operator(()ident(str)operator(,) ident(p)operator(,) ident(len)operator(\);) ident(str_frozen_check)operator(()ident(str)operator(\);) ident(rb_backref_set)operator(()ident(match)operator(\);) operator(}) reserved(else) operator({) ident(repl) operator(=) ident(rb_reg_regsub)operator(()ident(repl)operator(,) ident(str)operator(,) ident(regs)operator(\);) operator(}) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(repl)operator(\)\)) ident(tainted) operator(=) integer(1)operator(;) ident(plen) operator(=) ident(END)operator(()integer(0)operator(\)) operator(-) ident(BEG)operator(()integer(0)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len) operator(>) ident(plen)operator(\)) operator({) ident(RESIZE_CAPA)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len) operator(-) ident(plen)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len) operator(!=) ident(plen)operator(\)) operator({) ident(memmove)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(BEG)operator(()integer(0)operator(\)) operator(+) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(BEG)operator(()integer(0)operator(\)) operator(+) ident(plen)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(BEG)operator(()integer(0)operator(\)) operator(-) ident(plen)operator(\);) operator(}) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(BEG)operator(()integer(0)operator(\),) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+=) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len) operator(-) ident(plen)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(if) operator(()ident(tainted)operator(\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.sub(pattern, replacement\) => new_str * str.sub(pattern\) {|match| block } => new_str * * Returns a copy of str with the first occurrence of * pattern replaced with either replacement or the value of the * block. The pattern will typically be a Regexp; if it is * a String then no regular expression metacharacters will be * interpreted (that is /\\d/ will match a digit, but * '\\d' will match a backslash followed by a 'd'\). * * If the method call specifies replacement, special variables such as * $& will not be useful, as substitution into the string occurs * before the pattern match starts. However, the sequences \\1, * \\2, etc., may be used. * * In the block form, the current match string is passed in as a parameter, and * variables such as $1, $2, $`, * $&, and $' will be set appropriately. The value * returned by the block will be substituted for the match on each call. * * The result inherits any tainting in the original string or any supplied * replacement string. * * "hello".sub(/[aeiou]/, '*'\) #=> "h*llo" * "hello".sub(/([aeiou]\)/, '<\\1>'\) #=> "hllo" * "hello".sub(/./\) {|s| s[0].to_s + ' ' } #=> "104 ello" */) directive(static) ident(VALUE) ident(rb_str_sub)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_sub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(str_gsub)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) ident(bang)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) pre_type(int) ident(bang)operator(;) operator({) ident(VALUE) ident(pat)operator(,) ident(val)operator(,) ident(repl)operator(,) ident(match)operator(,) ident(dest)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) pre_type(long) ident(beg)operator(,) ident(n)operator(;) pre_type(long) ident(offset)operator(,) ident(blen)operator(,) ident(slen)operator(,) ident(len)operator(;) pre_type(int) ident(iter) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(buf)operator(,) operator(*)ident(bp)operator(,) operator(*)ident(sp)operator(,) operator(*)ident(cp)operator(;) pre_type(int) ident(tainted) operator(=) integer(0)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(1) operator(&&) ident(rb_block_given_p)operator((\)\)) operator({) ident(iter) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(repl) operator(=) ident(argv)operator([)integer(1)operator(];) ident(StringValue)operator(()ident(repl)operator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(repl)operator(\)\)) ident(tainted) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) ident(pat) operator(=) ident(get_pat)operator(()ident(argv)operator([)integer(0)operator(],) integer(1)operator(\);) ident(offset)operator(=)integer(0)operator(;) ident(n)operator(=)integer(0)operator(;) ident(beg) operator(=) ident(rb_reg_search)operator(()ident(pat)operator(,) ident(str)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(beg) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(()ident(bang)operator(\)) reserved(return) ident(Qnil)operator(;) comment(/* no match, no substitution */) reserved(return) ident(rb_str_dup)operator(()ident(str)operator(\);) operator(}) ident(blen) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(+) integer(30)operator(;) comment(/* len + margin */) ident(dest) operator(=) ident(str_new)operator(()integer(0)operator(,) integer(0)operator(,) ident(blen)operator(\);) ident(buf) operator(=) ident(RSTRING)operator(()ident(dest)operator(\)->)ident(ptr)operator(;) ident(bp) operator(=) ident(buf)operator(;) ident(sp) operator(=) ident(cp) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(slen) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(rb_str_locktmp)operator(()ident(dest)operator(\);) reserved(while) operator(()ident(beg) operator(>=) integer(0)operator(\)) operator({) ident(n)operator(++;) ident(match) operator(=) ident(rb_backref_get)operator((\);) ident(regs) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(;) reserved(if) operator(()ident(iter)operator(\)) operator({) ident(rb_match_busy)operator(()ident(match)operator(\);) ident(val) operator(=) ident(rb_obj_as_string)operator(()ident(rb_yield)operator(()ident(rb_reg_nth_match)operator(()integer(0)operator(,) ident(match)operator(\)\)\);) ident(str_mod_check)operator(()ident(str)operator(,) ident(sp)operator(,) ident(slen)operator(\);) reserved(if) operator(()ident(bang)operator(\)) ident(str_frozen_check)operator(()ident(str)operator(\);) reserved(if) operator(()ident(val) operator(==) ident(dest)operator(\)) operator({) comment(/* paranoid chack [ruby-dev:24827] */) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(rb_backref_set)operator(()ident(match)operator(\);) operator(}) reserved(else) operator({) ident(val) operator(=) ident(rb_reg_regsub)operator(()ident(repl)operator(,) ident(str)operator(,) ident(regs)operator(\);) operator(}) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(val)operator(\)\)) ident(tainted) operator(=) integer(1)operator(;) ident(len) operator(=) operator(()ident(bp) operator(-) ident(buf)operator(\)) operator(+) operator(()ident(beg) operator(-) ident(offset)operator(\)) operator(+) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len) operator(+) integer(3)operator(;) reserved(if) operator(()ident(blen) operator(<) ident(len)operator(\)) operator({) reserved(while) operator(()ident(blen) operator(<) ident(len)operator(\)) ident(blen) operator(*=) integer(2)operator(;) ident(len) operator(=) ident(bp) operator(-) ident(buf)operator(;) ident(RESIZE_CAPA)operator(()ident(dest)operator(,) ident(blen)operator(\);) ident(RSTRING)operator(()ident(dest)operator(\)->)ident(len) operator(=) ident(blen)operator(;) ident(buf) operator(=) ident(RSTRING)operator(()ident(dest)operator(\)->)ident(ptr)operator(;) ident(bp) operator(=) ident(buf) operator(+) ident(len)operator(;) operator(}) ident(len) operator(=) ident(beg) operator(-) ident(offset)operator(;) comment(/* copy pre-match substr */) ident(memcpy)operator(()ident(bp)operator(,) ident(cp)operator(,) ident(len)operator(\);) ident(bp) operator(+=) ident(len)operator(;) ident(memcpy)operator(()ident(bp)operator(,) ident(RSTRING)operator(()ident(val)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(\);) ident(bp) operator(+=) ident(RSTRING)operator(()ident(val)operator(\)->)ident(len)operator(;) ident(offset) operator(=) ident(END)operator(()integer(0)operator(\);) reserved(if) operator(()ident(BEG)operator(()integer(0)operator(\)) operator(==) ident(END)operator(()integer(0)operator(\)\)) operator({) comment(/* * Always consume at least one character of the input string * in order to prevent infinite loops. */) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<=) ident(END)operator(()integer(0)operator(\)\)) reserved(break)operator(;) ident(len) operator(=) ident(mbclen2)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(END)operator(()integer(0)operator(\)],) ident(pat)operator(\);) ident(memcpy)operator(()ident(bp)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(+)ident(END)operator(()integer(0)operator(\),) ident(len)operator(\);) ident(bp) operator(+=) ident(len)operator(;) ident(offset) operator(=) ident(END)operator(()integer(0)operator(\)) operator(+) ident(len)operator(;) operator(}) ident(cp) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(+) ident(offset)operator(;) reserved(if) operator(()ident(offset) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) reserved(break)operator(;) ident(beg) operator(=) ident(rb_reg_search)operator(()ident(pat)operator(,) ident(str)operator(,) ident(offset)operator(,) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) ident(offset)operator(\)) operator({) ident(len) operator(=) ident(bp) operator(-) ident(buf)operator(;) reserved(if) operator(()ident(blen) operator(-) ident(len) operator(<) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(offset)operator(\)) operator({) ident(blen) operator(=) ident(len) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(offset)operator(;) ident(RESIZE_CAPA)operator(()ident(dest)operator(,) ident(blen)operator(\);) ident(buf) operator(=) ident(RSTRING)operator(()ident(dest)operator(\)->)ident(ptr)operator(;) ident(bp) operator(=) ident(buf) operator(+) ident(len)operator(;) operator(}) ident(memcpy)operator(()ident(bp)operator(,) ident(cp)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(offset)operator(\);) ident(bp) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) ident(offset)operator(;) operator(}) ident(rb_backref_set)operator(()ident(match)operator(\);) operator(*)ident(bp) operator(=) char('\\0')operator(;) ident(rb_str_unlocktmp)operator(()ident(dest)operator(\);) reserved(if) operator(()ident(bang)operator(\)) operator({) reserved(if) operator(()ident(str_independent)operator(()ident(str)operator(\)\)) operator({) ident(free)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) operator(}) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_NOCAPA)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(buf)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(capa) operator(=) ident(blen)operator(;) ident(RSTRING)operator(()ident(dest)operator(\)->)ident(ptr) operator(=) integer(0)operator(;) ident(RSTRING)operator(()ident(dest)operator(\)->)ident(len) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(RBASIC)operator(()ident(dest)operator(\)->)ident(klass) operator(=) ident(rb_obj_class)operator(()ident(str)operator(\);) ident(OBJ_INFECT)operator(()ident(dest)operator(,) ident(str)operator(\);) ident(str) operator(=) ident(dest)operator(;) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(bp) operator(-) ident(buf)operator(;) reserved(if) operator(()ident(tainted)operator(\)) ident(OBJ_TAINT)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.gsub!(pattern, replacement\) => str or nil * str.gsub!(pattern\) {|match| block } => str or nil * * Performs the substitutions of String#gsub in place, returning * str, or nil if no substitutions were performed. */) directive(static) ident(VALUE) ident(rb_str_gsub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(str_gsub)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) integer(1)operator(\);) operator(}) comment(/* * call-seq: * str.gsub(pattern, replacement\) => new_str * str.gsub(pattern\) {|match| block } => new_str * * Returns a copy of str with all occurrences of pattern * replaced with either replacement or the value of the block. The * pattern will typically be a Regexp; if it is a * String then no regular expression metacharacters will be * interpreted (that is /\\d/ will match a digit, but * '\\d' will match a backslash followed by a 'd'\). * * If a string is used as the replacement, special variables from the match * (such as $& and $1\) cannot be substituted into it, * as substitution into the string occurs before the pattern match * starts. However, the sequences \\1, \\2, and so on * may be used to interpolate successive groups in the match. * * In the block form, the current match string is passed in as a parameter, and * variables such as $1, $2, $`, * $&, and $' will be set appropriately. The value * returned by the block will be substituted for the match on each call. * * The result inherits any tainting in the original string or any supplied * replacement string. * * "hello".gsub(/[aeiou]/, '*'\) #=> "h*ll*" * "hello".gsub(/([aeiou]\)/, '<\\1>'\) #=> "hll" * "hello".gsub(/./\) {|s| s[0].to_s + ' '} #=> "104 101 108 108 111 " */) directive(static) ident(VALUE) ident(rb_str_gsub)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(str_gsub)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * str.replace(other_str\) => str * * Replaces the contents and taintedness of str with the corresponding * values in other_str. * * s = "hello" #=> "hello" * s.replace "world" #=> "world" */) directive(static) ident(VALUE) ident(rb_str_replace)operator(()ident(str)operator(,) ident(str2)operator(\)) ident(VALUE) ident(str)operator(,) ident(str2)operator(;) operator({) reserved(if) operator(()ident(str) operator(==) ident(str2)operator(\)) reserved(return) ident(str)operator(;) ident(StringValue)operator(()ident(str2)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(str2)operator(,) ident(ELTS_SHARED)operator(\)\)) operator({) reserved(if) operator(()ident(str_independent)operator(()ident(str)operator(\)\)) operator({) ident(free)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(;) ident(FL_SET)operator(()ident(str)operator(,) ident(ELTS_SHARED)operator(\);) ident(FL_UNSET)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) operator(}) reserved(else) operator({) reserved(if) operator(()ident(str_independent)operator(()ident(str)operator(\)\)) operator({) ident(rb_str_resize)operator(()ident(str)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(\);) reserved(if) operator((!)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator({) ident(make_null_str)operator(()ident(str)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(ptr)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(len)operator(;) ident(str_make_independent)operator(()ident(str)operator(\);) operator(}) reserved(if) operator(()ident(FL_TEST)operator(()ident(str2)operator(,) ident(STR_ASSOC)operator(\)\)) operator({) ident(FL_SET)operator(()ident(str)operator(,) ident(STR_ASSOC)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(aux)operator(.)ident(shared) operator(=) ident(RSTRING)operator(()ident(str2)operator(\)->)ident(aux)operator(.)ident(shared)operator(;) operator(}) operator(}) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(str2)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(uscore_get)operator((\)) operator({) ident(VALUE) ident(line)operator(;) ident(line) operator(=) ident(rb_lastline_get)operator((\);) reserved(if) operator(()ident(TYPE)operator(()ident(line)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(NIL_P)operator(()ident(line)operator(\)) operator(?) string operator(:) ident(rb_obj_classname)operator(()ident(line)operator(\)\);) operator(}) reserved(return) ident(line)operator(;) operator(}) comment(/* * call-seq: * sub!(pattern, replacement\) => $_ or nil * sub!(pattern\) {|...| block } => $_ or nil * * Equivalent to $_.sub!(args\). */) directive(static) ident(VALUE) ident(rb_f_sub_bang)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_str_sub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(uscore_get)operator((\)\);) operator(}) comment(/* * call-seq: * sub(pattern, replacement\) => $_ * sub(pattern\) { block } => $_ * * Equivalent to $_.sub(args\), except that * $_ will be updated if substitution occurs. */) directive(static) ident(VALUE) ident(rb_f_sub)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_dup)operator(()ident(uscore_get)operator((\)\);) reserved(if) operator(()ident(NIL_P)operator(()ident(rb_str_sub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)\)\)) reserved(return) ident(str)operator(;) ident(rb_lastline_set)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * gsub!(pattern, replacement\) => string or nil * gsub!(pattern\) {|...| block } => string or nil * * Equivalent to Kernel::gsub, except nil is * returned if $_ is not modified. * * $_ = "quick brown fox" * gsub! /cat/, '*' #=> nil * $_ #=> "quick brown fox" */) directive(static) ident(VALUE) ident(rb_f_gsub_bang)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_str_gsub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(uscore_get)operator((\)\);) operator(}) comment(/* * call-seq: * gsub(pattern, replacement\) => string * gsub(pattern\) {|...| block } => string * * Equivalent to $_.gsub..., except that $_ * receives the modified result. * * $_ = "quick brown fox" * gsub /[aeiou]/, '*' #=> "q**ck br*wn f*x" * $_ #=> "q**ck br*wn f*x" */) directive(static) ident(VALUE) ident(rb_f_gsub)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(rb_str_dup)operator(()ident(uscore_get)operator((\)\);) reserved(if) operator(()ident(NIL_P)operator(()ident(rb_str_gsub_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)\)\)) reserved(return) ident(str)operator(;) ident(rb_lastline_set)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.reverse! => str * * Reverses str in place. */) directive(static) ident(VALUE) ident(rb_str_reverse_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(e)operator(;) pre_type(char) ident(c)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(1)operator(\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(e) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) integer(1)operator(;) reserved(while) operator(()ident(s) operator(<) ident(e)operator(\)) operator({) ident(c) operator(=) operator(*)ident(s)operator(;) operator(*)ident(s)operator(++) operator(=) operator(*)ident(e)operator(;) operator(*)ident(e)operator(--) operator(=) ident(c)operator(;) operator(}) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.reverse => new_str * * Returns a new string with the characters from str in reverse order. * * "stressed".reverse #=> "desserts" */) directive(static) ident(VALUE) ident(rb_str_reverse)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(obj)operator(;) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(e)operator(,) operator(*)ident(p)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(<=) integer(1)operator(\)) reserved(return) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(obj) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) integer(0)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(e) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-) integer(1)operator(;) ident(p) operator(=) ident(RSTRING)operator(()ident(obj)operator(\)->)ident(ptr)operator(;) reserved(while) operator(()ident(e) operator(>=) ident(s)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) operator(*)ident(e)operator(--;) operator(}) ident(OBJ_INFECT)operator(()ident(obj)operator(,) ident(str)operator(\);) reserved(return) ident(obj)operator(;) operator(}) comment(/* * call-seq: * str.include? other_str => true or false * str.include? fixnum => true or false * * Returns true if str contains the given string or * character. * * "hello".include? "lo" #=> true * "hello".include? "ol" #=> false * "hello".include? ?h #=> true */) directive(static) ident(VALUE) ident(rb_str_include)operator(()ident(str)operator(,) ident(arg)operator(\)) ident(VALUE) ident(str)operator(,) ident(arg)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(arg)operator(\)\)) operator({) reserved(if) operator(()ident(memchr)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(FIX2INT)operator(()ident(arg)operator(\),) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) ident(StringValue)operator(()ident(arg)operator(\);) ident(i) operator(=) ident(rb_str_index)operator(()ident(str)operator(,) ident(arg)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(i) operator(==) operator(-)integer(1)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * str.to_i(base=10\) => integer * * Returns the result of interpreting leading characters in str as an * integer base base (2, 8, 10, or 16\). Extraneous characters past the * end of a valid number are ignored. If there is not a valid number at the * start of str, 0 is returned. This method never raises an * exception. * * "12345".to_i #=> 12345 * "99 red balloons".to_i #=> 99 * "0a".to_i #=> 0 * "0a".to_i(16\) #=> 10 * "hello".to_i #=> 0 * "1100101".to_i(2\) #=> 101 * "1100101".to_i(8\) #=> 294977 * "1100101".to_i(10\) #=> 1100101 * "1100101".to_i(16\) #=> 17826049 */) directive(static) ident(VALUE) ident(rb_str_to_i)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(b)operator(;) pre_type(int) ident(base)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(b)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) ident(base) operator(=) integer(10)operator(;) reserved(else) ident(base) operator(=) ident(NUM2INT)operator(()ident(b)operator(\);) reserved(if) operator(()ident(base) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(base)operator(\);) operator(}) reserved(return) ident(rb_str_to_inum)operator(()ident(str)operator(,) ident(base)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* * call-seq: * str.to_f => float * * Returns the result of interpreting leading characters in str as a * floating point number. Extraneous characters past the end of a valid number * are ignored. If there is not a valid number at the start of str, * 0.0 is returned. This method never raises an exception. * * "123.45e1".to_f #=> 1234.5 * "45.67 degrees".to_f #=> 45.67 * "thx1138".to_f #=> 0.0 */) directive(static) ident(VALUE) ident(rb_str_to_f)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_float_new)operator(()ident(rb_str_to_dbl)operator(()ident(str)operator(,) ident(Qfalse)operator(\)\);) operator(}) comment(/* * call-seq: * str.to_s => str * str.to_str => str * * Returns the receiver. */) directive(static) ident(VALUE) ident(rb_str_to_s)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(rb_obj_class)operator(()ident(str)operator(\)) operator(!=) ident(rb_cString)operator(\)) operator({) ident(VALUE) ident(dup) operator(=) ident(str_alloc)operator(()ident(rb_cString)operator(\);) ident(rb_str_replace)operator(()ident(dup)operator(,) ident(str)operator(\);) reserved(return) ident(dup)operator(;) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.inspect => string * * Returns a printable version of _str_, with special characters * escaped. * * str = "hello" * str[3] = 8 * str.inspect #=> "hel\\010o" */) ident(VALUE) ident(rb_str_inspect)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) ident(VALUE) ident(result) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) pre_type(char) ident(s)operator([)integer(5)operator(];) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) pre_type(char) ident(c) operator(=) operator(*)ident(p)operator(++;) reserved(if) operator(()ident(ismbchar)operator(()ident(c)operator(\)) operator(&&) ident(p) operator(<) ident(pend)operator(\)) operator({) pre_type(int) ident(len) operator(=) ident(mbclen)operator(()ident(c)operator(\);) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(p) operator(-) integer(1)operator(,) ident(len)operator(\);) ident(p) operator(+=) ident(len) operator(-) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('"')operator(||) ident(c) operator(==) char('\\\\') operator(||) operator(()ident(c) operator(==) char('#') operator(&&) ident(IS_EVSTR)operator(()ident(p)operator(,) ident(pend)operator(\)\)\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) ident(c)operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(ISPRINT)operator(()ident(c)operator(\)\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) ident(c)operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(1)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\n')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('n')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\r')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('r')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\t')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('t')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\f')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('f')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\013')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('v')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\010')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('b')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\007')operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('a')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) oct(033)operator(\)) operator({) ident(s)operator([)integer(0)operator(]) operator(=) char('\\\\')operator(;) ident(s)operator([)integer(1)operator(]) operator(=) char('e')operator(;) ident(rb_str_buf_cat)operator(()ident(result)operator(,) ident(s)operator(,) integer(2)operator(\);) operator(}) reserved(else) operator({) ident(sprintf)operator(()ident(s)operator(,) stringoperator(,) ident(c) operator(&) oct(0377)operator(\);) ident(rb_str_buf_cat2)operator(()ident(result)operator(,) ident(s)operator(\);) operator(}) operator(}) ident(rb_str_buf_cat2)operator(()ident(result)operator(,) stringoperator(\);) ident(OBJ_INFECT)operator(()ident(result)operator(,) ident(str)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * str.dump => new_str * * Produces a version of str with all nonprinting characters replaced by * \\nnn notation and all special characters escaped. */) ident(VALUE) ident(rb_str_dump)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(long) ident(len)operator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(char) operator(*)ident(q)operator(,) operator(*)ident(qend)operator(;) ident(VALUE) ident(result)operator(;) ident(len) operator(=) integer(2)operator(;) comment(/* "" */) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) pre_type(char) ident(c) operator(=) operator(*)ident(p)operator(++;) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('"')operator(:) reserved(case) char('\\\\')operator(:) reserved(case) char('\\n')operator(:) reserved(case) char('\\r')operator(:) reserved(case) char('\\t')operator(:) reserved(case) char('\\f')operator(:) reserved(case) char('\\013')operator(:) reserved(case) char('\\010')operator(:) reserved(case) char('\\007')operator(:) reserved(case) char('\\033')operator(:) ident(len) operator(+=) integer(2)operator(;) reserved(break)operator(;) reserved(case) char('#')operator(:) ident(len) operator(+=) ident(IS_EVSTR)operator(()ident(p)operator(,) ident(pend)operator(\)) operator(?) integer(2) operator(:) integer(1)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(ISPRINT)operator(()ident(c)operator(\)\)) operator({) ident(len)operator(++;) operator(}) reserved(else) operator({) ident(len) operator(+=) integer(4)operator(;) comment(/* \\nnn */) operator(}) reserved(break)operator(;) operator(}) operator(}) ident(result) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) integer(0)operator(,) ident(len)operator(\);) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(q) operator(=) ident(RSTRING)operator(()ident(result)operator(\)->)ident(ptr)operator(;) ident(qend) operator(=) ident(q) operator(+) ident(len)operator(;) operator(*)ident(q)operator(++) operator(=) char('"')operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) pre_type(char) ident(c) operator(=) operator(*)ident(p)operator(++;) reserved(if) operator(()ident(c) operator(==) char('"') operator(||) ident(c) operator(==) char('\\\\')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) ident(c)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('#')operator(\)) operator({) reserved(if) operator(()ident(IS_EVSTR)operator(()ident(p)operator(,) ident(pend)operator(\)\)) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('#')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISPRINT)operator(()ident(c)operator(\)\)) operator({) operator(*)ident(q)operator(++) operator(=) ident(c)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\n')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('n')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\r')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('r')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\t')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('t')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\f')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('f')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\013')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('v')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\010')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('b')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\007')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('a')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(c) operator(==) char('\\033')operator(\)) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) operator(*)ident(q)operator(++) operator(=) char('e')operator(;) operator(}) reserved(else) operator({) operator(*)ident(q)operator(++) operator(=) char('\\\\')operator(;) ident(sprintf)operator(()ident(q)operator(,) stringoperator(,) ident(c)operator(&)hex(0xff)operator(\);) ident(q) operator(+=) integer(3)operator(;) operator(}) operator(}) operator(*)ident(q)operator(++) operator(=) char('"')operator(;) ident(OBJ_INFECT)operator(()ident(result)operator(,) ident(str)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * str.upcase! => str or nil * * Upcases the contents of str, returning nil if no changes * were made. */) directive(static) ident(VALUE) ident(rb_str_upcase_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) pre_type(int) ident(modify) operator(=) integer(0)operator(;) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator((*)ident(s)operator(\)\)) operator({) ident(s)operator(+=)ident(mbclen)operator((*)ident(s)operator(\)) operator(-) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISLOWER)operator((*)ident(s)operator(\)\)) operator({) operator(*)ident(s) operator(=) ident(toupper)operator((*)ident(s)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(}) ident(s)operator(++;) operator(}) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.upcase => new_str * * Returns a copy of str with all lowercase letters replaced with their * uppercase counterparts. The operation is locale insensitive---only * characters ``a'' to ``z'' are affected. * * "hEllO".upcase #=> "HELLO" */) directive(static) ident(VALUE) ident(rb_str_upcase)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_upcase_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.downcase! => str or nil * * Downcases the contents of str, returning nil if no * changes were made. */) directive(static) ident(VALUE) ident(rb_str_downcase_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) pre_type(int) ident(modify) operator(=) integer(0)operator(;) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator((*)ident(s)operator(\)\)) operator({) ident(s)operator(+=)ident(mbclen)operator((*)ident(s)operator(\)) operator(-) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISUPPER)operator((*)ident(s)operator(\)\)) operator({) operator(*)ident(s) operator(=) ident(tolower)operator((*)ident(s)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(}) ident(s)operator(++;) operator(}) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.downcase => new_str * * Returns a copy of str with all uppercase letters replaced with their * lowercase counterparts. The operation is locale insensitive---only * characters ``A'' to ``Z'' are affected. * * "hEllO".downcase #=> "hello" */) directive(static) ident(VALUE) ident(rb_str_downcase)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_downcase_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.capitalize! => str or nil * * Modifies str by converting the first character to uppercase and the * remainder to lowercase. Returns nil if no changes are made. * * a = "hello" * a.capitalize! #=> "Hello" * a #=> "Hello" * a.capitalize! #=> nil */) directive(static) ident(VALUE) ident(rb_str_capitalize_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) pre_type(int) ident(modify) operator(=) integer(0)operator(;) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0) operator(||) operator(!)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) reserved(return) ident(Qnil)operator(;) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(ISLOWER)operator((*)ident(s)operator(\)\)) operator({) operator(*)ident(s) operator(=) ident(toupper)operator((*)ident(s)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(}) reserved(while) operator((++)ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator((*)ident(s)operator(\)\)) operator({) ident(s)operator(+=)ident(mbclen)operator((*)ident(s)operator(\)) operator(-) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISUPPER)operator((*)ident(s)operator(\)\)) operator({) operator(*)ident(s) operator(=) ident(tolower)operator((*)ident(s)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.capitalize => new_str * * Returns a copy of str with the first character converted to uppercase * and the remainder to lowercase. * * "hello".capitalize #=> "Hello" * "HELLO".capitalize #=> "Hello" * "123ABC".capitalize #=> "123abc" */) directive(static) ident(VALUE) ident(rb_str_capitalize)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_capitalize_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.swapcase! => str or nil * * Equivalent to String#swapcase, but modifies the receiver in * place, returning str, or nil if no changes were made. */) directive(static) ident(VALUE) ident(rb_str_swapcase_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) pre_type(int) ident(modify) operator(=) integer(0)operator(;) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(()ident(ismbchar)operator((*)ident(s)operator(\)\)) operator({) ident(s)operator(+=)ident(mbclen)operator((*)ident(s)operator(\)) operator(-) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISUPPER)operator((*)ident(s)operator(\)\)) operator({) operator(*)ident(s) operator(=) ident(tolower)operator((*)ident(s)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ISLOWER)operator((*)ident(s)operator(\)\)) operator({) operator(*)ident(s) operator(=) ident(toupper)operator((*)ident(s)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(}) ident(s)operator(++;) operator(}) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.swapcase => new_str * * Returns a copy of str with uppercase alphabetic characters converted * to lowercase and lowercase characters converted to uppercase. * * "Hello".swapcase #=> "hELLO" * "cYbEr_PuNk11".swapcase #=> "CyBeR_pUnK11" */) directive(static) ident(VALUE) ident(rb_str_swapcase)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_swapcase_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) reserved(typedef) pre_type(unsigned) pre_type(char) operator(*)ident(USTR)operator(;) reserved(struct) ident(tr) operator({) pre_type(int) ident(gen)operator(,) ident(now)operator(,) ident(max)operator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) operator(};) directive(static) pre_type(int) ident(trnext)operator(()ident(t)operator(\)) reserved(struct) ident(tr) operator(*)ident(t)operator(;) operator({) reserved(for) operator((;;\)) operator({) reserved(if) operator((!)ident(t)operator(->)ident(gen)operator(\)) operator({) reserved(if) operator(()ident(t)operator(->)ident(p) operator(==) ident(t)operator(->)ident(pend)operator(\)) reserved(return) operator(-)integer(1)operator(;) reserved(if) operator(()ident(t)operator(->)ident(p) operator(<) ident(t)operator(->)ident(pend) operator(-) integer(1) operator(&&) operator(*)ident(t)operator(->)ident(p) operator(==) char('\\\\')operator(\)) operator({) ident(t)operator(->)ident(p)operator(++;) operator(}) ident(t)operator(->)ident(now) operator(=) operator(*()ident(USTR)operator(\))ident(t)operator(->)ident(p)operator(++;) reserved(if) operator(()ident(t)operator(->)ident(p) operator(<) ident(t)operator(->)ident(pend) operator(-) integer(1) operator(&&) operator(*)ident(t)operator(->)ident(p) operator(==) char('-')operator(\)) operator({) ident(t)operator(->)ident(p)operator(++;) reserved(if) operator(()ident(t)operator(->)ident(p) operator(<) ident(t)operator(->)ident(pend)operator(\)) operator({) reserved(if) operator(()ident(t)operator(->)ident(now) operator(>) operator(*()ident(USTR)operator(\))ident(t)operator(->)ident(p)operator(\)) operator({) ident(t)operator(->)ident(p)operator(++;) reserved(continue)operator(;) operator(}) ident(t)operator(->)ident(gen) operator(=) integer(1)operator(;) ident(t)operator(->)ident(max) operator(=) operator(*()ident(USTR)operator(\))ident(t)operator(->)ident(p)operator(++;) operator(}) operator(}) reserved(return) ident(t)operator(->)ident(now)operator(;) operator(}) reserved(else) reserved(if) operator((++)ident(t)operator(->)ident(now) operator(<) ident(t)operator(->)ident(max)operator(\)) operator({) reserved(return) ident(t)operator(->)ident(now)operator(;) operator(}) reserved(else) operator({) ident(t)operator(->)ident(gen) operator(=) integer(0)operator(;) reserved(return) ident(t)operator(->)ident(max)operator(;) operator(}) operator(}) operator(}) directive(static) ident(VALUE) ident(rb_str_delete_bang) ident(_)operator((()pre_type(int)operator(,)ident(VALUE)operator(*,)ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(tr_trans)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(,) ident(sflag)operator(\)) ident(VALUE) ident(str)operator(,) ident(src)operator(,) ident(repl)operator(;) pre_type(int) ident(sflag)operator(;) operator({) reserved(struct) ident(tr) ident(trsrc)operator(,) ident(trrepl)operator(;) pre_type(int) ident(cflag) operator(=) integer(0)operator(;) pre_type(int) ident(trans)operator([)integer(256)operator(];) pre_type(int) ident(i)operator(,) ident(c)operator(,) ident(modify) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) ident(StringValue)operator(()ident(src)operator(\);) ident(StringValue)operator(()ident(repl)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0) operator(||) operator(!)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) reserved(return) ident(Qnil)operator(;) ident(trsrc)operator(.)ident(p) operator(=) ident(RSTRING)operator(()ident(src)operator(\)->)ident(ptr)operator(;) ident(trsrc)operator(.)ident(pend) operator(=) ident(trsrc)operator(.)ident(p) operator(+) ident(RSTRING)operator(()ident(src)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(src)operator(\)->)ident(len) operator(>=) integer(2) operator(&&) ident(RSTRING)operator(()ident(src)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char('^')operator(\)) operator({) ident(cflag)operator(++;) ident(trsrc)operator(.)ident(p)operator(++;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) reserved(return) ident(rb_str_delete_bang)operator(()integer(1)operator(,) operator(&)ident(src)operator(,) ident(str)operator(\);) operator(}) ident(trrepl)operator(.)ident(p) operator(=) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(ptr)operator(;) ident(trrepl)operator(.)ident(pend) operator(=) ident(trrepl)operator(.)ident(p) operator(+) ident(RSTRING)operator(()ident(repl)operator(\)->)ident(len)operator(;) ident(trsrc)operator(.)ident(gen) operator(=) ident(trrepl)operator(.)ident(gen) operator(=) integer(0)operator(;) ident(trsrc)operator(.)ident(now) operator(=) ident(trrepl)operator(.)ident(now) operator(=) integer(0)operator(;) ident(trsrc)operator(.)ident(max) operator(=) ident(trrepl)operator(.)ident(max) operator(=) integer(0)operator(;) reserved(if) operator(()ident(cflag)operator(\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) ident(trans)operator([)ident(i)operator(]) operator(=) integer(1)operator(;) operator(}) reserved(while) operator((()ident(c) operator(=) ident(trnext)operator((&)ident(trsrc)operator(\)\)) operator(>=) integer(0)operator(\)) operator({) ident(trans)operator([)ident(c) operator(&) hex(0xff)operator(]) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(while) operator((()ident(c) operator(=) ident(trnext)operator((&)ident(trrepl)operator(\)\)) operator(>=) integer(0)operator(\)) comment(/* retrieve last replacer */)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(trans)operator([)ident(i)operator(]) operator(>=) integer(0)operator(\)) operator({) ident(trans)operator([)ident(i)operator(]) operator(=) ident(trrepl)operator(.)ident(now)operator(;) operator(}) operator(}) operator(}) reserved(else) operator({) pre_type(int) ident(r)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) ident(trans)operator([)ident(i)operator(]) operator(=) operator(-)integer(1)operator(;) operator(}) reserved(while) operator((()ident(c) operator(=) ident(trnext)operator((&)ident(trsrc)operator(\)\)) operator(>=) integer(0)operator(\)) operator({) ident(r) operator(=) ident(trnext)operator((&)ident(trrepl)operator(\);) reserved(if) operator(()ident(r) operator(==) operator(-)integer(1)operator(\)) ident(r) operator(=) ident(trrepl)operator(.)ident(now)operator(;) ident(trans)operator([)ident(c) operator(&) hex(0xff)operator(]) operator(=) ident(r)operator(;) operator(}) operator(}) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(sflag)operator(\)) operator({) pre_type(char) operator(*)ident(t) operator(=) ident(s)operator(;) pre_type(int) ident(c0)operator(,) ident(last) operator(=) operator(-)integer(1)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) ident(c0) operator(=) operator(*)ident(s)operator(++;) reserved(if) operator((()ident(c) operator(=) ident(trans)operator([)ident(c0) operator(&) hex(0xff)operator(]\)) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(last) operator(==) ident(c)operator(\)) reserved(continue)operator(;) ident(last) operator(=) ident(c)operator(;) operator(*)ident(t)operator(++) operator(=) ident(c) operator(&) hex(0xff)operator(;) ident(modify) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(last) operator(=) operator(-)integer(1)operator(;) operator(*)ident(t)operator(++) operator(=) ident(c0)operator(;) operator(}) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) operator(()ident(t) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) operator(()ident(t) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) ident(modify) operator(=) integer(1)operator(;) operator(*)ident(t) operator(=) char('\\0')operator(;) operator(}) operator(}) reserved(else) operator({) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator((()ident(c) operator(=) ident(trans)operator([*)ident(s) operator(&) hex(0xff)operator(]\)) operator(>=) integer(0)operator(\)) operator({) operator(*)ident(s) operator(=) ident(c) operator(&) hex(0xff)operator(;) ident(modify) operator(=) integer(1)operator(;) operator(}) ident(s)operator(++;) operator(}) operator(}) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.tr!(from_str, to_str\) => str or nil * * Translates str in place, using the same rules as * String#tr. Returns str, or nil if no * changes were made. */) directive(static) ident(VALUE) ident(rb_str_tr_bang)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(\)) ident(VALUE) ident(str)operator(,) ident(src)operator(,) ident(repl)operator(;) operator({) reserved(return) ident(tr_trans)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * str.tr(from_str, to_str\) => new_str * * Returns a copy of str with the characters in from_str replaced * by the corresponding characters in to_str. If to_str is * shorter than from_str, it is padded with its last character. Both * strings may use the c1--c2 notation to denote ranges of characters, and * from_str may start with a ^, which denotes all * characters except those listed. * * "hello".tr('aeiou', '*'\) #=> "h*ll*" * "hello".tr('^aeiou', '*'\) #=> "*e**o" * "hello".tr('el', 'ip'\) #=> "hippo" * "hello".tr('a-y', 'b-z'\) #=> "ifmmp" */) directive(static) ident(VALUE) ident(rb_str_tr)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(\)) ident(VALUE) ident(str)operator(,) ident(src)operator(,) ident(repl)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(tr_trans)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(,) integer(0)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) directive(void) ident(tr_setup_table)operator(()ident(str)operator(,) ident(table)operator(,) ident(init)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(char) ident(table)operator([)integer(256)operator(];) pre_type(int) ident(init)operator(;) operator({) pre_type(char) ident(buf)operator([)integer(256)operator(];) reserved(struct) ident(tr) ident(tr)operator(;) pre_type(int) ident(i)operator(,) ident(c)operator(;) pre_type(int) ident(cflag) operator(=) integer(0)operator(;) ident(tr)operator(.)ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(tr)operator(.)ident(pend) operator(=) ident(tr)operator(.)ident(p) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(tr)operator(.)ident(gen) operator(=) ident(tr)operator(.)ident(now) operator(=) ident(tr)operator(.)ident(max) operator(=) integer(0)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(1) operator(&&) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char('^')operator(\)) operator({) ident(cflag) operator(=) integer(1)operator(;) ident(tr)operator(.)ident(p)operator(++;) operator(}) reserved(if) operator(()ident(init)operator(\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) ident(table)operator([)ident(i)operator(]) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) ident(buf)operator([)ident(i)operator(]) operator(=) ident(cflag)operator(;) operator(}) reserved(while) operator((()ident(c) operator(=) ident(trnext)operator((&)ident(tr)operator(\)\)) operator(>=) integer(0)operator(\)) operator({) ident(buf)operator([)ident(c) operator(&) hex(0xff)operator(]) operator(=) operator(!)ident(cflag)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) ident(table)operator([)ident(i)operator(]) operator(=) ident(table)operator([)ident(i)operator(]) operator(&&) ident(buf)operator([)ident(i)operator(];) operator(}) operator(}) comment(/* * call-seq: * str.delete!([other_str]+>\) => str or nil * * Performs a delete operation in place, returning str, or * nil if str was not modified. */) directive(static) ident(VALUE) ident(rb_str_delete_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(,) operator(*)ident(t)operator(;) pre_type(char) ident(squeez)operator([)integer(256)operator(];) pre_type(int) ident(modify) operator(=) integer(0)operator(;) pre_type(int) ident(init) operator(=) integer(1)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(<) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(s) operator(=) ident(argv)operator([)ident(i)operator(];) ident(StringValue)operator(()ident(s)operator(\);) ident(tr_setup_table)operator(()ident(s)operator(,) ident(squeez)operator(,) ident(init)operator(\);) ident(init) operator(=) integer(0)operator(;) operator(}) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(t) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!)ident(s) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(()ident(squeez)operator([*)ident(s) operator(&) hex(0xff)operator(]\)) ident(modify) operator(=) integer(1)operator(;) reserved(else) operator(*)ident(t)operator(++) operator(=) operator(*)ident(s)operator(;) ident(s)operator(++;) operator(}) operator(*)ident(t) operator(=) char('\\0')operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(t) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.delete([other_str]+\) => new_str * * Returns a copy of str with all characters in the intersection of its * arguments deleted. Uses the same rules for building the set of characters as * String#count. * * "hello".delete "l","lo" #=> "heo" * "hello".delete "lo" #=> "he" * "hello".delete "aeiou", "^e" #=> "hell" * "hello".delete "ej-m" #=> "ho" */) directive(static) ident(VALUE) ident(rb_str_delete)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_delete_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.squeeze!([other_str]*\) => str or nil * * Squeezes str in place, returning either str, or * nil if no changes were made. */) directive(static) ident(VALUE) ident(rb_str_squeeze_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) ident(squeez)operator([)integer(256)operator(];) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(,) operator(*)ident(t)operator(;) pre_type(int) ident(c)operator(,) ident(save)operator(,) ident(modify) operator(=) integer(0)operator(;) pre_type(int) ident(init) operator(=) integer(1)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(0)operator(\)) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(256)operator(;) ident(i)operator(++\)) operator({) ident(squeez)operator([)ident(i)operator(]) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(s) operator(=) ident(argv)operator([)ident(i)operator(];) ident(StringValue)operator(()ident(s)operator(\);) ident(tr_setup_table)operator(()ident(s)operator(,) ident(squeez)operator(,) ident(init)operator(\);) ident(init) operator(=) integer(0)operator(;) operator(}) operator(}) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(s) operator(=) ident(t) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!)ident(s) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(save) operator(=) operator(-)integer(1)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) ident(c) operator(=) operator(*)ident(s)operator(++) operator(&) hex(0xff)operator(;) reserved(if) operator(()ident(c) operator(!=) ident(save) operator(||) operator(!)ident(squeez)operator([)ident(c)operator(]\)) operator({) operator(*)ident(t)operator(++) operator(=) ident(save) operator(=) ident(c)operator(;) operator(}) operator(}) operator(*)ident(t) operator(=) char('\\0')operator(;) reserved(if) operator(()ident(t) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(!=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(t) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(modify) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(modify)operator(\)) reserved(return) ident(str)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.squeeze([other_str]*\) => new_str * * Builds a set of characters from the other_str parameter(s\) using the * procedure described for String#count. Returns a new string * where runs of the same character that occur in this set are replaced by a * single character. If no arguments are given, all runs of identical * characters are replaced by a single character. * * "yellow moon".squeeze #=> "yelow mon" * " now is the".squeeze(" "\) #=> " now is the" * "putters shoot balls".squeeze("m-z"\) #=> "puters shot balls" */) directive(static) ident(VALUE) ident(rb_str_squeeze)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_squeeze_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.tr_s!(from_str, to_str\) => str or nil * * Performs String#tr_s processing on str in place, * returning str, or nil if no changes were made. */) directive(static) ident(VALUE) ident(rb_str_tr_s_bang)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(\)) ident(VALUE) ident(str)operator(,) ident(src)operator(,) ident(repl)operator(;) operator({) reserved(return) ident(tr_trans)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(,) integer(1)operator(\);) operator(}) comment(/* * call-seq: * str.tr_s(from_str, to_str\) => new_str * * Processes a copy of str as described under String#tr, * then removes duplicate characters in regions that were affected by the * translation. * * "hello".tr_s('l', 'r'\) #=> "hero" * "hello".tr_s('el', '*'\) #=> "h*o" * "hello".tr_s('el', 'hx'\) #=> "hhxo" */) directive(static) ident(VALUE) ident(rb_str_tr_s)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(\)) ident(VALUE) ident(str)operator(,) ident(src)operator(,) ident(repl)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(tr_trans)operator(()ident(str)operator(,) ident(src)operator(,) ident(repl)operator(,) integer(1)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.count([other_str]+\) => fixnum * * Each other_str parameter defines a set of characters to count. The * intersection of these sets defines the characters to count in * str. Any other_str that starts with a caret (^\) is * negated. The sequence c1--c2 means all characters between c1 and c2. * * a = "hello world" * a.count "lo" #=> 5 * a.count "lo", "o" #=> 2 * a.count "hello", "^l" #=> 4 * a.count "ej-m" #=> 4 */) directive(static) ident(VALUE) ident(rb_str_count)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) ident(table)operator([)integer(256)operator(];) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(send)operator(;) pre_type(int) ident(init) operator(=) integer(1)operator(;) pre_type(int) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(<) integer(1)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(argc)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(s) operator(=) ident(argv)operator([)ident(i)operator(];) ident(StringValue)operator(()ident(s)operator(\);) ident(tr_setup_table)operator(()ident(s)operator(,) ident(table)operator(,) ident(init)operator(\);) ident(init) operator(=) integer(0)operator(;) operator(}) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!)ident(s) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) ident(send) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(i) operator(=) integer(0)operator(;) reserved(while) operator(()ident(s) operator(<) ident(send)operator(\)) operator({) reserved(if) operator(()ident(table)operator([*)ident(s)operator(++) operator(&) hex(0xff)operator(]\)) operator({) ident(i)operator(++;) operator(}) operator(}) reserved(return) ident(INT2NUM)operator(()ident(i)operator(\);) operator(}) comment(/* * call-seq: * str.split(pattern=$;, [limit]\) => anArray * * Divides str into substrings based on a delimiter, returning an array * of these substrings. * * If pattern is a String, then its contents are used as * the delimiter when splitting str. If pattern is a single * space, str is split on whitespace, with leading whitespace and runs * of contiguous whitespace characters ignored. * * If pattern is a Regexp, str is divided where the * pattern matches. Whenever the pattern matches a zero-length string, * str is split into individual characters. * * If pattern is omitted, the value of $; is used. If * $; is nil (which is the default\), str is * split on whitespace as if ` ' were specified. * * If the limit parameter is omitted, trailing null fields are * suppressed. If limit is a positive number, at most that number of * fields will be returned (if limit is 1, the entire * string is returned as the only entry in an array\). If negative, there is no * limit to the number of fields returned, and trailing null fields are not * suppressed. * * " now's the time".split #=> ["now's", "the", "time"] * " now's the time".split(' '\) #=> ["now's", "the", "time"] * " now's the time".split(/ /\) #=> ["", "now's", "", "the", "time"] * "1, 2.34,56, 7".split(%r{,\\s*}\) #=> ["1", "2.34", "56", "7"] * "hello".split(//\) #=> ["h", "e", "l", "l", "o"] * "hello".split(//, 3\) #=> ["h", "e", "llo"] * "hi mom".split(%r{\\s*}\) #=> ["h", "i", "m", "o", "m"] * * "mellow yellow".split("ello"\) #=> ["m", "w y", "w"] * "1,2,,3,4,,".split(','\) #=> ["1", "2", "", "3", "4"] * "1,2,,3,4,,".split(',', 4\) #=> ["1", "2", "", "3,4,,"] * "1,2,,3,4,,".split(',', -4\) #=> ["1", "2", "", "3", "4", "", ""] */) directive(static) ident(VALUE) ident(rb_str_split_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(spat)operator(;) ident(VALUE) ident(limit)operator(;) pre_type(int) ident(awk_split) operator(=) ident(Qfalse)operator(;) pre_type(long) ident(beg)operator(,) ident(end)operator(,) ident(i) operator(=) integer(0)operator(;) pre_type(int) ident(lim) operator(=) integer(0)operator(;) ident(VALUE) ident(result)operator(,) ident(tmp)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(spat)operator(,) operator(&)ident(limit)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(lim) operator(=) ident(NUM2INT)operator(()ident(limit)operator(\);) reserved(if) operator(()ident(lim) operator(<=) integer(0)operator(\)) ident(limit) operator(=) ident(Qnil)operator(;) reserved(else) reserved(if) operator(()ident(lim) operator(==) integer(1)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(rb_ary_new2)operator(()integer(0)operator(\);) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(str)operator(\);) operator(}) ident(i) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(spat)operator(\)\)) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(rb_fs)operator(\)\)) operator({) ident(spat) operator(=) ident(rb_fs)operator(;) reserved(goto) ident(fs_set)operator(;) operator(}) ident(awk_split) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) label(fs_set:) reserved(if) operator(()ident(TYPE)operator(()ident(spat)operator(\)) operator(==) ident(T_STRING) operator(&&) ident(RSTRING)operator(()ident(spat)operator(\)->)ident(len) operator(==) integer(1)operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(spat)operator(\)->)ident(ptr)operator([)integer(0)operator(]) operator(==) char(' ')operator(\)) operator({) ident(awk_split) operator(=) ident(Qtrue)operator(;) operator(}) reserved(else) operator({) ident(spat) operator(=) ident(rb_reg_regcomp)operator(()ident(rb_reg_quote)operator(()ident(spat)operator(\)\);) operator(}) operator(}) reserved(else) operator({) ident(spat) operator(=) ident(get_pat)operator(()ident(spat)operator(,) integer(1)operator(\);) operator(}) operator(}) ident(result) operator(=) ident(rb_ary_new)operator((\);) ident(beg) operator(=) integer(0)operator(;) reserved(if) operator(()ident(awk_split)operator(\)) operator({) pre_type(char) operator(*)ident(ptr) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) pre_type(char) operator(*)ident(eptr) operator(=) ident(ptr) operator(+) ident(len)operator(;) pre_type(int) ident(skip) operator(=) integer(1)operator(;) reserved(for) operator(()ident(end) operator(=) ident(beg) operator(=) integer(0)operator(;) ident(ptr)operator(<)ident(eptr)operator(;) ident(ptr)operator(++\)) operator({) reserved(if) operator(()ident(skip)operator(\)) operator({) reserved(if) operator(()ident(ISSPACE)operator((*)ident(ptr)operator(\)\)) operator({) ident(beg)operator(++;) operator(}) reserved(else) operator({) ident(end) operator(=) ident(beg)operator(+)integer(1)operator(;) ident(skip) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(limit)operator(\)) operator(&&) ident(lim) operator(<=) ident(i)operator(\)) reserved(break)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator(()ident(ISSPACE)operator((*)ident(ptr)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_str_substr)operator(()ident(str)operator(,) ident(beg)operator(,) ident(end)operator(-)ident(beg)operator(\)\);) ident(skip) operator(=) integer(1)operator(;) ident(beg) operator(=) ident(end) operator(+) integer(1)operator(;) reserved(if) operator((!)ident(NIL_P)operator(()ident(limit)operator(\)\)) operator(++)ident(i)operator(;) operator(}) reserved(else) operator({) ident(end)operator(++;) operator(}) operator(}) operator(}) operator(}) reserved(else) operator({) pre_type(long) ident(start) operator(=) ident(beg)operator(;) pre_type(long) ident(idx)operator(;) pre_type(int) ident(last_null) operator(=) integer(0)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) reserved(while) operator((()ident(end) operator(=) ident(rb_reg_search)operator(()ident(spat)operator(,) ident(str)operator(,) ident(start)operator(,) integer(0)operator(\)\)) operator(>=) integer(0)operator(\)) operator({) ident(regs) operator(=) ident(RMATCH)operator(()ident(rb_backref_get)operator((\)\)->)ident(regs)operator(;) reserved(if) operator(()ident(start) operator(==) ident(end) operator(&&) ident(BEG)operator(()integer(0)operator(\)) operator(==) ident(END)operator(()integer(0)operator(\)\)) operator({) reserved(if) operator((!)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_str_new)operator(()stringoperator(,) integer(0)operator(\)\);) reserved(break)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(last_null) operator(==) integer(1)operator(\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_str_substr)operator(()ident(str)operator(,) ident(beg)operator(,) ident(mbclen2)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(beg)operator(],)ident(spat)operator(\)\)\);) ident(beg) operator(=) ident(start)operator(;) operator(}) reserved(else) operator({) ident(start) operator(+=) ident(mbclen2)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(start)operator(],)ident(spat)operator(\);) ident(last_null) operator(=) integer(1)operator(;) reserved(continue)operator(;) operator(}) operator(}) reserved(else) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_str_substr)operator(()ident(str)operator(,) ident(beg)operator(,) ident(end)operator(-)ident(beg)operator(\)\);) ident(beg) operator(=) ident(start) operator(=) ident(END)operator(()integer(0)operator(\);) operator(}) ident(last_null) operator(=) integer(0)operator(;) reserved(for) operator(()ident(idx)operator(=)integer(1)operator(;) ident(idx) operator(<) ident(regs)operator(->)ident(num_regs)operator(;) ident(idx)operator(++\)) operator({) reserved(if) operator(()ident(BEG)operator(()ident(idx)operator(\)) operator(==) operator(-)integer(1)operator(\)) reserved(continue)operator(;) reserved(if) operator(()ident(BEG)operator(()ident(idx)operator(\)) operator(==) ident(END)operator(()ident(idx)operator(\)\)) ident(tmp) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(else) ident(tmp) operator(=) ident(rb_str_substr)operator(()ident(str)operator(,) ident(BEG)operator(()ident(idx)operator(\),) ident(END)operator(()ident(idx)operator(\)-)ident(BEG)operator(()ident(idx)operator(\)\);) ident(rb_ary_push)operator(()ident(result)operator(,) ident(tmp)operator(\);) operator(}) reserved(if) operator((!)ident(NIL_P)operator(()ident(limit)operator(\)) operator(&&) ident(lim) operator(<=) operator(++)ident(i)operator(\)) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(0) operator(&&) operator((!)ident(NIL_P)operator(()ident(limit)operator(\)) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) ident(beg) operator(||) ident(lim) operator(<) integer(0)operator(\)\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) ident(beg)operator(\)) ident(tmp) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) integer(0)operator(,) integer(0)operator(\);) reserved(else) ident(tmp) operator(=) ident(rb_str_substr)operator(()ident(str)operator(,) ident(beg)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(-)ident(beg)operator(\);) ident(rb_ary_push)operator(()ident(result)operator(,) ident(tmp)operator(\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(limit)operator(\)) operator(&&) ident(lim) operator(==) integer(0)operator(\)) operator({) reserved(while) operator(()ident(RARRAY)operator(()ident(result)operator(\)->)ident(len) operator(>) integer(0) operator(&&) ident(RSTRING)operator(()ident(RARRAY)operator(()ident(result)operator(\)->)ident(ptr)operator([)ident(RARRAY)operator(()ident(result)operator(\)->)ident(len)operator(-)integer(1)operator(]\)->)ident(len) operator(==) integer(0)operator(\)) ident(rb_ary_pop)operator(()ident(result)operator(\);) operator(}) reserved(return) ident(result)operator(;) operator(}) ident(VALUE) ident(rb_str_split)operator(()ident(str)operator(,) ident(sep0)operator(\)) ident(VALUE) ident(str)operator(;) directive(const) pre_type(char) operator(*)ident(sep0)operator(;) operator({) ident(VALUE) ident(sep)operator(;) ident(StringValue)operator(()ident(str)operator(\);) ident(sep) operator(=) ident(rb_str_new2)operator(()ident(sep0)operator(\);) reserved(return) ident(rb_str_split_m)operator(()integer(1)operator(,) operator(&)ident(sep)operator(,) ident(str)operator(\);) operator(}) comment(/* * call-seq: * split([pattern [, limit]]\) => array * * Equivalent to $_.split(pattern, limit\). * See String#split. */) directive(static) ident(VALUE) ident(rb_f_split)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_str_split_m)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(uscore_get)operator((\)\);) operator(}) comment(/* * call-seq: * str.each(separator=$/\) {|substr| block } => str * str.each_line(separator=$/\) {|substr| block } => str * * Splits str using the supplied parameter as the record separator * ($/ by default\), passing each substring in turn to the supplied * block. If a zero-length record separator is supplied, the string is split on * \\n characters, except that multiple successive newlines are * appended together. * * print "Example one\\n" * "hello\\nworld".each {|s| p s} * print "Example two\\n" * "hello\\nworld".each('l'\) {|s| p s} * print "Example three\\n" * "hello\\n\\n\\nworld".each(''\) {|s| p s} * * produces: * * Example one * "hello\\n" * "world" * Example two * "hel" * "l" * "o\\nworl" * "d" * Example three * "hello\\n\\n\\n" * "world" */) directive(static) ident(VALUE) ident(rb_str_each_line)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(rs)operator(;) pre_type(int) ident(newline)operator(;) pre_type(char) operator(*)ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) operator(*)ident(pend) operator(=) ident(p) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) operator(*)ident(s)operator(;) pre_type(char) operator(*)ident(ptr) operator(=) ident(p)operator(;) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(,) ident(rslen)operator(;) ident(VALUE) ident(line)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(rs)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(rs) operator(=) ident(rb_rs)operator(;) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(rs)operator(\)\)) operator({) ident(rb_yield)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) ident(StringValue)operator(()ident(rs)operator(\);) ident(rslen) operator(=) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(rslen) operator(==) integer(0)operator(\)) operator({) ident(newline) operator(=) char('\\n')operator(;) operator(}) reserved(else) operator({) ident(newline) operator(=) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr)operator([)ident(rslen)operator(-)integer(1)operator(];) operator(}) reserved(for) operator(()ident(s) operator(=) ident(p)operator(,) ident(p) operator(+=) ident(rslen)operator(;) ident(p) operator(<) ident(pend)operator(;) ident(p)operator(++\)) operator({) reserved(if) operator(()ident(rslen) operator(==) integer(0) operator(&&) operator(*)ident(p) operator(==) char('\\n')operator(\)) operator({) reserved(if) operator((*++)ident(p) operator(!=) char('\\n')operator(\)) reserved(continue)operator(;) reserved(while) operator((*)ident(p) operator(==) char('\\n')operator(\)) ident(p)operator(++;) operator(}) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(<) ident(p) operator(&&) ident(p)operator([-)integer(1)operator(]) operator(==) ident(newline) operator(&&) operator(()ident(rslen) operator(<=) integer(1) operator(||) ident(rb_memcmp)operator(()ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr)operator(,) ident(p)operator(-)ident(rslen)operator(,) ident(rslen)operator(\)) operator(==) integer(0)operator(\)\)) operator({) ident(line) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) ident(s)operator(,) ident(p) operator(-) ident(s)operator(\);) ident(OBJ_INFECT)operator(()ident(line)operator(,) ident(str)operator(\);) ident(rb_yield)operator(()ident(line)operator(\);) ident(str_mod_check)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) ident(s) operator(=) ident(p)operator(;) operator(}) operator(}) reserved(if) operator(()ident(s) operator(!=) ident(pend)operator(\)) operator({) reserved(if) operator(()ident(p) operator(>) ident(pend)operator(\)) ident(p) operator(=) ident(pend)operator(;) ident(line) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) ident(s)operator(,) ident(p) operator(-) ident(s)operator(\);) ident(OBJ_INFECT)operator(()ident(line)operator(,) ident(str)operator(\);) ident(rb_yield)operator(()ident(line)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.each_byte {|fixnum| block } => str * * Passes each byte in str to the given block. * * "hello".each_byte {|c| print c, ' ' } * * produces: * * 104 101 108 108 111 */) directive(static) ident(VALUE) ident(rb_str_each_byte)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(INT2FIX)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(&) hex(0xff)operator(\)\);) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.chop! => str or nil * * Processes str as for String#chop, returning str, * or nil if str is the empty string. See also * String#chomp!. */) directive(static) ident(VALUE) ident(rb_str_chop_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(--;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(==) char('\\n')operator(\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(0) operator(&&) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(-)integer(1)operator(]) operator(==) char('\\r')operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(--;) operator(}) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.chop => new_str * * Returns a new String with the last character removed. If the * string ends with \\r\\n, both characters are removed. Applying * chop to an empty string returns an empty * string. String#chomp is often a safer alternative, as it leaves * the string unchanged if it doesn't end in a record separator. * * "string\\r\\n".chop #=> "string" * "string\\n\\r".chop #=> "string\\n" * "string\\n".chop #=> "string" * "string".chop #=> "strin" * "x".chop.chop #=> "" */) directive(static) ident(VALUE) ident(rb_str_chop)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_chop_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * chop! => $_ or nil * * Equivalent to $_.chop!. * * a = "now\\r\\n" * $_ = a * chop! #=> "now" * chop! #=> "no" * chop! #=> "n" * chop! #=> "" * chop! #=> nil * $_ #=> "" * a #=> "" */) directive(static) ident(VALUE) ident(rb_f_chop_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_str_chop_bang)operator(()ident(uscore_get)operator((\)\);) operator(}) comment(/* * call-seq: * chop => string * * Equivalent to ($_.dup\).chop!, except nil * is never returned. See String#chop!. * * a = "now\\r\\n" * $_ = a * chop #=> "now" * $_ #=> "now" * chop #=> "no" * chop #=> "n" * chop #=> "" * chop #=> "" * a #=> "now\\r\\n" */) directive(static) ident(VALUE) ident(rb_f_chop)operator((\)) operator({) ident(VALUE) ident(str) operator(=) ident(uscore_get)operator((\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(0)operator(\)) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_chop_bang)operator(()ident(str)operator(\);) ident(rb_lastline_set)operator(()ident(str)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.chomp!(separator=$/\) => str or nil * * Modifies str in place as described for String#chomp, * returning str, or nil if no modifications were made. */) directive(static) ident(VALUE) ident(rb_str_chomp_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(rs)operator(;) pre_type(int) ident(newline)operator(;) pre_type(char) operator(*)ident(p)operator(;) pre_type(long) ident(len)operator(,) ident(rslen)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(rs)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(rs) operator(=) ident(rb_rs)operator(;) reserved(if) operator(()ident(rs) operator(==) ident(rb_default_rs)operator(\)) operator({) label(smart_chomp:) ident(rb_str_modify)operator(()ident(str)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) char('\\n')operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(--;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(0) operator(&&) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(-)integer(1)operator(]) operator(==) char('\\r')operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(--;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) char('\\r')operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(--;) operator(}) reserved(else) operator({) reserved(return) ident(Qnil)operator(;) operator(}) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(rs)operator(\)\)) reserved(return) ident(Qnil)operator(;) ident(StringValue)operator(()ident(rs)operator(\);) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(rslen) operator(=) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(rslen) operator(==) integer(0)operator(\)) operator({) reserved(while) operator(()ident(len)operator(>)integer(0) operator(&&) ident(p)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) char('\\n')operator(\)) operator({) ident(len)operator(--;) reserved(if) operator(()ident(len)operator(>)integer(0) operator(&&) ident(p)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) char('\\r')operator(\)) ident(len)operator(--;) operator(}) reserved(if) operator(()ident(len) operator(<) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(len)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) reserved(if) operator(()ident(rslen) operator(>) ident(len)operator(\)) reserved(return) ident(Qnil)operator(;) ident(newline) operator(=) ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr)operator([)ident(rslen)operator(-)integer(1)operator(];) reserved(if) operator(()ident(rslen) operator(==) integer(1) operator(&&) ident(newline) operator(==) char('\\n')operator(\)) reserved(goto) ident(smart_chomp)operator(;) reserved(if) operator(()ident(p)operator([)ident(len)operator(-)integer(1)operator(]) operator(==) ident(newline) operator(&&) operator(()ident(rslen) operator(<=) integer(1) operator(||) ident(rb_memcmp)operator(()ident(RSTRING)operator(()ident(rs)operator(\)->)ident(ptr)operator(,) ident(p)operator(+)ident(len)operator(-)ident(rslen)operator(,) ident(rslen)operator(\)) operator(==) integer(0)operator(\)\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(-=) ident(rslen)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.chomp(separator=$/\) => new_str * * Returns a new String with the given record separator removed * from the end of str (if present\). If $/ has not been * changed from the default Ruby record separator, then chomp also * removes carriage return characters (that is it will remove \\n, * \\r, and \\r\\n\). * * "hello".chomp #=> "hello" * "hello\\n".chomp #=> "hello" * "hello\\r\\n".chomp #=> "hello" * "hello\\n\\r".chomp #=> "hello\\n" * "hello\\r".chomp #=> "hello" * "hello \\n there".chomp #=> "hello \\n there" * "hello".chomp("llo"\) #=> "he" */) directive(static) ident(VALUE) ident(rb_str_chomp)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_chomp_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * chomp! => $_ or nil * chomp!(string\) => $_ or nil * * Equivalent to $_.chomp!(string\). See * String#chomp! * * $_ = "now\\n" * chomp! #=> "now" * $_ #=> "now" * chomp! "x" #=> nil * $_ #=> "now" */) directive(static) ident(VALUE) ident(rb_f_chomp_bang)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) reserved(return) ident(rb_str_chomp_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(uscore_get)operator((\)\);) operator(}) comment(/* * call-seq: * chomp => $_ * chomp(string\) => $_ * * Equivalent to $_ = $_.chomp(string\). See * String#chomp. * * $_ = "now\\n" * chomp #=> "now" * $_ #=> "now" * chomp "ow" #=> "n" * $_ #=> "n" * chomp "xxx" #=> "n" * $_ #=> "n" */) directive(static) ident(VALUE) ident(rb_f_chomp)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(str) operator(=) ident(uscore_get)operator((\);) ident(VALUE) ident(dup) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(rb_str_chomp_bang)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(dup)operator(\)\)\)) reserved(return) ident(str)operator(;) ident(rb_lastline_set)operator(()ident(dup)operator(\);) reserved(return) ident(dup)operator(;) operator(}) comment(/* * call-seq: * str.lstrip! => self or nil * * Removes leading whitespace from str, returning nil if no * change was made. See also String#rstrip! and * String#strip!. * * " hello ".lstrip #=> "hello " * "hello".lstrip! #=> nil */) directive(static) ident(VALUE) ident(rb_str_lstrip_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(t)operator(,) operator(*)ident(e)operator(;) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!)ident(s) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(e) operator(=) ident(t) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) comment(/* remove spaces at head */) reserved(while) operator(()ident(s) operator(<) ident(t) operator(&&) ident(ISSPACE)operator((*)ident(s)operator(\)\)) ident(s)operator(++;) reserved(if) operator(()ident(s) operator(>) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(t)operator(-)ident(s)operator(;) ident(memmove)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(s)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.lstrip => new_str * * Returns a copy of str with leading whitespace removed. See also * String#rstrip and String#strip. * * " hello ".lstrip #=> "hello " * "hello".lstrip #=> "hello" */) directive(static) ident(VALUE) ident(rb_str_lstrip)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_lstrip_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.rstrip! => self or nil * * Removes trailing whitespace from str, returning nil if * no change was made. See also String#lstrip! and * String#strip!. * * " hello ".rstrip #=> " hello" * "hello".rstrip! #=> nil */) directive(static) ident(VALUE) ident(rb_str_rstrip_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(t)operator(,) operator(*)ident(e)operator(;) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator((!)ident(s) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) reserved(return) ident(Qnil)operator(;) ident(e) operator(=) ident(t) operator(=) ident(s) operator(+) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) comment(/* remove trailing '\\0's */) reserved(while) operator(()ident(s) operator(<) ident(t) operator(&&) ident(t)operator([-)integer(1)operator(]) operator(==) char('\\0')operator(\)) ident(t)operator(--;) comment(/* remove trailing spaces */) reserved(while) operator(()ident(s) operator(<) ident(t) operator(&&) ident(ISSPACE)operator((*()ident(t)operator(-)integer(1)operator(\)\)\)) ident(t)operator(--;) reserved(if) operator(()ident(t) operator(<) ident(e)operator(\)) operator({) ident(rb_str_modify)operator(()ident(str)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(t)operator(-)ident(s)operator(;) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.rstrip => new_str * * Returns a copy of str with trailing whitespace removed. See also * String#lstrip and String#strip. * * " hello ".rstrip #=> " hello" * "hello".rstrip #=> "hello" */) directive(static) ident(VALUE) ident(rb_str_rstrip)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_rstrip_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.strip! => str or nil * * Removes leading and trailing whitespace from str. Returns * nil if str was not altered. */) directive(static) ident(VALUE) ident(rb_str_strip_bang)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(l) operator(=) ident(rb_str_lstrip_bang)operator(()ident(str)operator(\);) ident(VALUE) ident(r) operator(=) ident(rb_str_rstrip_bang)operator(()ident(str)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(l)operator(\)) operator(&&) ident(NIL_P)operator(()ident(r)operator(\)\)) reserved(return) ident(Qnil)operator(;) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * str.strip => new_str * * Returns a copy of str with leading and trailing whitespace removed. * * " hello ".strip #=> "hello" * "\\tgoodbye\\r\\n".strip #=> "goodbye" */) directive(static) ident(VALUE) ident(rb_str_strip)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(rb_str_strip_bang)operator(()ident(str)operator(\);) reserved(return) ident(str)operator(;) operator(}) directive(static) ident(VALUE) ident(scan_once)operator(()ident(str)operator(,) ident(pat)operator(,) ident(start)operator(\)) ident(VALUE) ident(str)operator(,) ident(pat)operator(;) pre_type(long) operator(*)ident(start)operator(;) operator({) ident(VALUE) ident(result)operator(,) ident(match)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(rb_reg_search)operator(()ident(pat)operator(,) ident(str)operator(,) operator(*)ident(start)operator(,) integer(0)operator(\)) operator(>=) integer(0)operator(\)) operator({) ident(match) operator(=) ident(rb_backref_get)operator((\);) ident(regs) operator(=) ident(RMATCH)operator(()ident(match)operator(\)->)ident(regs)operator(;) reserved(if) operator(()ident(BEG)operator(()integer(0)operator(\)) operator(==) ident(END)operator(()integer(0)operator(\)\)) operator({) comment(/* * Always consume at least one character of the input string */) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) ident(END)operator(()integer(0)operator(\)\)) operator(*)ident(start) operator(=) ident(END)operator(()integer(0)operator(\)+)ident(mbclen2)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(END)operator(()integer(0)operator(\)],)ident(pat)operator(\);) reserved(else) operator(*)ident(start) operator(=) ident(END)operator(()integer(0)operator(\)+)integer(1)operator(;) operator(}) reserved(else) operator({) operator(*)ident(start) operator(=) ident(END)operator(()integer(0)operator(\);) operator(}) reserved(if) operator(()ident(regs)operator(->)ident(num_regs) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(rb_reg_nth_match)operator(()integer(0)operator(,) ident(match)operator(\);) operator(}) ident(result) operator(=) ident(rb_ary_new2)operator(()ident(regs)operator(->)ident(num_regs)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(1)operator(;) ident(i) operator(<) ident(regs)operator(->)ident(num_regs)operator(;) ident(i)operator(++\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(rb_reg_nth_match)operator(()ident(i)operator(,) ident(match)operator(\)\);) operator(}) reserved(return) ident(result)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * str.scan(pattern\) => array * str.scan(pattern\) {|match, ...| block } => str * * Both forms iterate through str, matching the pattern (which may be a * Regexp or a String\). For each match, a result is * generated and either added to the result array or passed to the block. If * the pattern contains no groups, each individual result consists of the * matched string, $&. If the pattern contains groups, each * individual result is itself an array containing one entry per group. * * a = "cruel world" * a.scan(/\\w+/\) #=> ["cruel", "world"] * a.scan(/.../\) #=> ["cru", "el ", "wor"] * a.scan(/(...\)/\) #=> [["cru"], ["el "], ["wor"]] * a.scan(/(..\)(..\)/\) #=> [["cr", "ue"], ["l ", "wo"]] * * And the block form: * * a.scan(/\\w+/\) {|w| print "<<#{w}>> " } * print "\\n" * a.scan(/(.\)(.\)/\) {|x,y| print y, x } * print "\\n" * * produces: * * <> <> * rceu lowlr */) directive(static) ident(VALUE) ident(rb_str_scan)operator(()ident(str)operator(,) ident(pat)operator(\)) ident(VALUE) ident(str)operator(,) ident(pat)operator(;) operator({) ident(VALUE) ident(result)operator(;) pre_type(long) ident(start) operator(=) integer(0)operator(;) ident(VALUE) ident(match) operator(=) ident(Qnil)operator(;) pre_type(char) operator(*)ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) pre_type(long) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(pat) operator(=) ident(get_pat)operator(()ident(pat)operator(,) integer(1)operator(\);) reserved(if) operator((!)ident(rb_block_given_p)operator((\)\)) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(while) operator((!)ident(NIL_P)operator(()ident(result) operator(=) ident(scan_once)operator(()ident(str)operator(,) ident(pat)operator(,) operator(&)ident(start)operator(\)\)\)) operator({) ident(match) operator(=) ident(rb_backref_get)operator((\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(result)operator(\);) operator(}) ident(rb_backref_set)operator(()ident(match)operator(\);) reserved(return) ident(ary)operator(;) operator(}) reserved(while) operator((!)ident(NIL_P)operator(()ident(result) operator(=) ident(scan_once)operator(()ident(str)operator(,) ident(pat)operator(,) operator(&)ident(start)operator(\)\)\)) operator({) ident(match) operator(=) ident(rb_backref_get)operator((\);) ident(rb_match_busy)operator(()ident(match)operator(\);) ident(rb_yield)operator(()ident(result)operator(\);) ident(str_mod_check)operator(()ident(str)operator(,) ident(p)operator(,) ident(len)operator(\);) ident(rb_backref_set)operator(()ident(match)operator(\);) comment(/* restore $~ value */) operator(}) ident(rb_backref_set)operator(()ident(match)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * scan(pattern\) => array * scan(pattern\) {|///| block } => $_ * * Equivalent to calling $_.scan. See * String#scan. */) directive(static) ident(VALUE) ident(rb_f_scan)operator(()ident(self)operator(,) ident(pat)operator(\)) ident(VALUE) ident(self)operator(,) ident(pat)operator(;) operator({) reserved(return) ident(rb_str_scan)operator(()ident(uscore_get)operator((\),) ident(pat)operator(\);) operator(}) comment(/* * call-seq: * str.hex => integer * * Treats leading characters from str as a string of hexadecimal digits * (with an optional sign and an optional 0x\) and returns the * corresponding number. Zero is returned on error. * * "0x0a".hex #=> 10 * "-1234".hex #=> -4660 * "0".hex #=> 0 * "wombat".hex #=> 0 */) directive(static) ident(VALUE) ident(rb_str_hex)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_str_to_inum)operator(()ident(str)operator(,) integer(16)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* * call-seq: * str.oct => integer * * Treats leading characters of str as a string of octal digits (with an * optional sign\) and returns the corresponding number. Returns 0 if the * conversion fails. * * "123".oct #=> 83 * "-377".oct #=> -255 * "bad".oct #=> 0 * "0377bad".oct #=> 255 */) directive(static) ident(VALUE) ident(rb_str_oct)operator(()ident(str)operator(\)) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_str_to_inum)operator(()ident(str)operator(,) operator(-)integer(8)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* * call-seq: * str.crypt(other_str\) => new_str * * Applies a one-way cryptographic hash to str by invoking the standard * library function crypt. The argument is the salt string, which * should be two characters long, each character drawn from * [a-zA-Z0-9./]. */) directive(static) ident(VALUE) ident(rb_str_crypt)operator(()ident(str)operator(,) ident(salt)operator(\)) ident(VALUE) ident(str)operator(,) ident(salt)operator(;) operator({) directive(extern) pre_type(char) operator(*)ident(crypt)operator((\);) ident(VALUE) ident(result)operator(;) pre_type(char) operator(*)ident(s)operator(;) ident(StringValue)operator(()ident(salt)operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(salt)operator(\)->)ident(len) operator(<) integer(2)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) string=2 bytes\))delimiter(")>operator(\);) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(else) ident(s) operator(=) stringoperator(;) ident(result) operator(=) ident(rb_str_new2)operator(()ident(crypt)operator(()ident(s)operator(,) ident(RSTRING)operator(()ident(salt)operator(\)->)ident(ptr)operator(\)\);) ident(OBJ_INFECT)operator(()ident(result)operator(,) ident(str)operator(\);) ident(OBJ_INFECT)operator(()ident(result)operator(,) ident(salt)operator(\);) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * str.intern => symbol * str.to_sym => symbol * * Returns the Symbol corresponding to str, creating the * symbol if it did not previously exist. See Symbol#id2name. * * "Koala".intern #=> :Koala * s = 'cat'.to_sym #=> :cat * s == :cat #=> true * s = '@cat'.to_sym #=> :@cat * s == :@cat #=> true * * This can also be used to create symbols that cannot be represented using the * :xxx notation. * * 'cat and dog'.to_sym #=> :"cat and dog" */) ident(VALUE) ident(rb_str_intern)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) directive(volatile) ident(VALUE) ident(str) operator(=) ident(s)operator(;) ident(ID) ident(id)operator(;) reserved(if) operator((!)ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)) operator(!=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(str)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(1) operator(&&) operator(!)ident(rb_sym_interned_p)operator(()ident(str)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(id) operator(=) ident(rb_intern)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(ID2SYM)operator(()ident(id)operator(\);) operator(}) comment(/* * call-seq: * str.sum(n=16\) => integer * * Returns a basic n-bit checksum of the characters in str, * where n is the optional Fixnum parameter, defaulting * to 16. The result is simply the sum of the binary value of each character in * str modulo 2n - 1. This is not a particularly good * checksum. */) directive(static) ident(VALUE) ident(rb_str_sum)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) ident(VALUE) ident(vbits)operator(;) pre_type(int) ident(bits)operator(;) pre_type(char) operator(*)ident(ptr)operator(,) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) pre_type(long) ident(len)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(vbits)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(bits) operator(=) integer(16)operator(;) operator(}) reserved(else) ident(bits) operator(=) ident(NUM2INT)operator(()ident(vbits)operator(\);) ident(ptr) operator(=) ident(p) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) ident(len) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(len)operator(;) reserved(if) operator(()ident(bits) operator(>=) reserved(sizeof)operator(()pre_type(long)operator(\)*)ident(CHAR_BIT)operator(\)) operator({) ident(VALUE) ident(sum) operator(=) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) ident(str_mod_check)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) ident(sum) operator(=) ident(rb_funcall)operator(()ident(sum)operator(,) char('+')operator(,) integer(1)operator(,) ident(INT2FIX)operator((()pre_type(unsigned) pre_type(char)operator(\)*)ident(p)operator(\)\);) ident(p)operator(++;) operator(}) reserved(if) operator(()ident(bits) operator(!=) integer(0)operator(\)) operator({) ident(VALUE) ident(mod)operator(;) ident(mod) operator(=) ident(rb_funcall)operator(()ident(INT2FIX)operator(()integer(1)operator(\),) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(INT2FIX)operator(()ident(bits)operator(\)\);) ident(mod) operator(=) ident(rb_funcall)operator(()ident(mod)operator(,) char('-')operator(,) integer(1)operator(,) ident(INT2FIX)operator(()integer(1)operator(\)\);) ident(sum) operator(=) ident(rb_funcall)operator(()ident(sum)operator(,) char('&')operator(,) integer(1)operator(,) ident(mod)operator(\);) operator(}) reserved(return) ident(sum)operator(;) operator(}) reserved(else) operator({) pre_type(unsigned) pre_type(long) ident(sum) operator(=) integer(0)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) ident(str_mod_check)operator(()ident(str)operator(,) ident(ptr)operator(,) ident(len)operator(\);) ident(sum) operator(+=) operator(()pre_type(unsigned) pre_type(char)operator(\)*)ident(p)operator(;) ident(p)operator(++;) operator(}) reserved(if) operator(()ident(bits) operator(!=) integer(0)operator(\)) operator({) ident(sum) operator(&=) operator(((()pre_type(unsigned) pre_type(long)operator(\))integer(1)operator(\)<<)ident(bits)operator(\)-)integer(1)operator(;) operator(}) reserved(return) ident(rb_int2inum)operator(()ident(sum)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(rb_str_justify)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) ident(jflag)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) pre_type(char) ident(jflag)operator(;) operator({) ident(VALUE) ident(w)operator(;) pre_type(long) ident(width)operator(,) ident(flen) operator(=) integer(0)operator(;) ident(VALUE) ident(res)operator(;) pre_type(char) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(,) operator(*)ident(f) operator(=) stringoperator(;) pre_type(long) ident(n)operator(;) ident(VALUE) ident(pad)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(w)operator(,) operator(&)ident(pad)operator(\);) ident(width) operator(=) ident(NUM2LONG)operator(()ident(w)operator(\);) reserved(if) operator(()ident(argc) operator(==) integer(2)operator(\)) operator({) ident(StringValue)operator(()ident(pad)operator(\);) ident(f) operator(=) ident(RSTRING)operator(()ident(pad)operator(\)->)ident(ptr)operator(;) ident(flen) operator(=) ident(RSTRING)operator(()ident(pad)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(flen) operator(==) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) operator(}) reserved(if) operator(()ident(width) operator(<) integer(0) operator(||) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>=) ident(width)operator(\)) reserved(return) ident(rb_str_dup)operator(()ident(str)operator(\);) ident(res) operator(=) ident(rb_str_new5)operator(()ident(str)operator(,) integer(0)operator(,) ident(width)operator(\);) ident(p) operator(=) ident(RSTRING)operator(()ident(res)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(jflag) operator(!=) char('l')operator(\)) operator({) ident(n) operator(=) ident(width) operator(-) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(pend) operator(=) ident(p) operator(+) operator((()ident(jflag) operator(==) char('r')operator(\)) operator(?) ident(n) operator(:) ident(n)operator(/)integer(2)operator(\);) reserved(if) operator(()ident(flen) operator(<=) integer(1)operator(\)) operator({) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) operator(*)ident(f)operator(;) operator(}) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(q) operator(=) ident(f)operator(;) reserved(while) operator(()ident(p) operator(+) ident(flen) operator(<=) ident(pend)operator(\)) operator({) ident(memcpy)operator(()ident(p)operator(,)ident(f)operator(,)ident(flen)operator(\);) ident(p) operator(+=) ident(flen)operator(;) operator(}) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) operator(*)ident(q)operator(++;) operator(}) operator(}) operator(}) ident(memcpy)operator(()ident(p)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(jflag) operator(!=) char('r')operator(\)) operator({) ident(p) operator(+=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(pend) operator(=) ident(RSTRING)operator(()ident(res)operator(\)->)ident(ptr) operator(+) ident(width)operator(;) reserved(if) operator(()ident(flen) operator(<=) integer(1)operator(\)) operator({) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) operator(*)ident(f)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(while) operator(()ident(p) operator(+) ident(flen) operator(<=) ident(pend)operator(\)) operator({) ident(memcpy)operator(()ident(p)operator(,)ident(f)operator(,)ident(flen)operator(\);) ident(p) operator(+=) ident(flen)operator(;) operator(}) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) operator(*)ident(f)operator(++;) operator(}) operator(}) operator(}) ident(OBJ_INFECT)operator(()ident(res)operator(,) ident(str)operator(\);) reserved(if) operator(()ident(flen) operator(>) integer(0)operator(\)) ident(OBJ_INFECT)operator(()ident(res)operator(,) ident(pad)operator(\);) reserved(return) ident(res)operator(;) operator(}) comment(/* * call-seq: * str.ljust(integer, padstr=' '\) => new_str * * If integer is greater than the length of str, returns a new * String of length integer with str left justified * and padded with padstr; otherwise, returns str. * * "hello".ljust(4\) #=> "hello" * "hello".ljust(20\) #=> "hello " * "hello".ljust(20, '1234'\) #=> "hello123412341234123" */) directive(static) ident(VALUE) ident(rb_str_ljust)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_str_justify)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) char('l')operator(\);) operator(}) comment(/* * call-seq: * str.rjust(integer, padstr=' '\) => new_str * * If integer is greater than the length of str, returns a new * String of length integer with str right justified * and padded with padstr; otherwise, returns str. * * "hello".rjust(4\) #=> "hello" * "hello".rjust(20\) #=> " hello" * "hello".rjust(20, '1234'\) #=> "123412341234123hello" */) directive(static) ident(VALUE) ident(rb_str_rjust)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_str_justify)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) char('r')operator(\);) operator(}) comment(/* * call-seq: * str.center(integer, padstr\) => new_str * * If integer is greater than the length of str, returns a new * String of length integer with str centered and * padded with padstr; otherwise, returns str. * * "hello".center(4\) #=> "hello" * "hello".center(20\) #=> " hello " * "hello".center(20, '123'\) #=> "1231231hello12312312" */) directive(static) ident(VALUE) ident(rb_str_center)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(str)operator(;) operator({) reserved(return) ident(rb_str_justify)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(str)operator(,) char('c')operator(\);) operator(}) directive(void) ident(rb_str_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) reserved(if) operator((!)ident(NIL_P)operator(()ident(val)operator(\)) operator(&&) ident(TYPE)operator(()ident(val)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) operator(*)ident(var) operator(=) ident(val)operator(;) operator(}) comment(/* * A String object holds and manipulates an arbitrary sequence of * bytes, typically representing characters. String objects may be created * using String::new or as literals. * * Because of aliasing issues, users of strings should be aware of the methods * that modify the contents of a String object. Typically, * methods with names ending in ``!'' modify their receiver, while those * without a ``!'' return a new String. However, there are * exceptions, such as String#[]=. * */) directive(void) ident(Init_String)operator((\)) operator({) ident(rb_cString) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cString)operator(,) ident(rb_mComparable)operator(\);) ident(rb_include_module)operator(()ident(rb_cString)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cString)operator(,) ident(rb_str_s_alloc)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_init)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_replace)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) string)delimiter(")>operator(,) ident(rb_str_cmp_m)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_hash_m)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_casecmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_plus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_times)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_format_m)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_aref_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_aset_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_insert)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_length)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_length)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_empty)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_match)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_match_m)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_succ)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_succ_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_succ)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_succ_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_upto_m)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_index_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_rindex_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_replace)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_to_i)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_to_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_dump)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_upcase)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_downcase)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_capitalize)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_swapcase)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_upcase_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_downcase_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_capitalize_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_swapcase_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_hex)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_oct)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_split_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_reverse)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_reverse_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_concat)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_concat)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_crypt)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_intern)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_intern)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_include)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_scan)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_ljust)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_rjust)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_center)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_sub)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_gsub)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_chop)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_chomp)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_strip)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_lstrip)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_rstrip)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_sub_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_gsub_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_chop_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_chomp_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_strip_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_lstrip_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_rstrip_bang)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_tr)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_tr_s)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_delete)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_squeeze)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_count)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_tr_bang)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_tr_s_bang)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_delete_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_squeeze_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_each_line)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_each_line)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_each_byte)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_sum)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_sub)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_gsub)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_sub_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_gsub_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_chop)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_chop_bang)operator(,) integer(0)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_chomp)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_chomp_bang)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_split)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_global_function)operator(()stringoperator(,) ident(rb_f_scan)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_aref_m)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cString)operator(,) stringoperator(,) ident(rb_str_slice_bang)operator(,) operator(-)integer(1)operator(\);) ident(id_to_s) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(rb_fs) operator(=) ident(Qnil)operator(;) ident(rb_define_variable)operator(()stringoperator(,) operator(&)ident(rb_fs)operator(\);) ident(rb_define_variable)operator(()stringoperator(,) operator(&)ident(rb_fs)operator(\);) operator(}) comment(/********************************************************************** struct.c - $Author: shyouhei $ $Date: 2008-06-15 15:44:44 +0200 (Sun, 15 Jun 2008\) $ created at: Tue Mar 22 18:44:30 JST 1995 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("env.h") ident(VALUE) ident(rb_cStruct)operator(;) directive(static) ident(VALUE) ident(struct_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_struct_iv_get)operator(()ident(c)operator(,) ident(name)operator(\)) ident(VALUE) ident(c)operator(;) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(ID) ident(id)operator(;) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(rb_ivar_defined)operator(()ident(c)operator(,) ident(id)operator(\)\)) reserved(return) ident(rb_ivar_get)operator(()ident(c)operator(,) ident(id)operator(\);) ident(c) operator(=) ident(RCLASS)operator(()ident(c)operator(\)->)ident(super)operator(;) reserved(if) operator(()ident(c) operator(==) integer(0) operator(||) ident(c) operator(==) ident(rb_cStruct)operator(\)) reserved(return) ident(Qnil)operator(;) operator(}) operator(}) ident(VALUE) ident(rb_struct_s_members)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(members) operator(=) ident(rb_struct_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(members)operator(\)\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) reserved(return) ident(members)operator(;) operator(}) ident(VALUE) ident(rb_struct_members)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) ident(VALUE) ident(members) operator(=) ident(rb_struct_s_members)operator(()ident(rb_obj_class)operator(()ident(s)operator(\)\);) reserved(if) operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(!=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) operator(}) reserved(return) ident(members)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_struct_s_members_m)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(members)operator(,) ident(ary)operator(;) ident(VALUE) operator(*)ident(p)operator(,) operator(*)ident(pend)operator(;) ident(members) operator(=) ident(rb_struct_s_members)operator(()ident(klass)operator(\);) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(\);) ident(p) operator(=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator(;) ident(pend) operator(=) ident(p) operator(+) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(;) reserved(while) operator(()ident(p) operator(<) ident(pend)operator(\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(SYM2ID)operator((*)ident(p)operator(\)\)\)\);) ident(p)operator(++;) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * struct.members => array * * Returns an array of strings representing the names of the instance * variables. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * joe.members #=> ["name", "address", "zip"] */) directive(static) ident(VALUE) ident(rb_struct_members_m)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_struct_s_members_m)operator(()ident(rb_obj_class)operator(()ident(obj)operator(\)\);) operator(}) ident(VALUE) ident(rb_struct_getmember)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(members)operator(,) ident(slot)operator(;) pre_type(long) ident(i)operator(;) ident(members) operator(=) ident(rb_struct_members)operator(()ident(obj)operator(\);) ident(slot) operator(=) ident(ID2SYM)operator(()ident(id)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(==) ident(slot)operator(\)) operator({) reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)ident(i)operator(];) operator(}) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) ident(VALUE) ident(rb_struct_ref)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_struct_getmember)operator(()ident(obj)operator(,) ident(ruby_frame)operator(->)ident(orig_func)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_struct_ref0)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(0)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref1)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(1)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref2)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(2)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref3)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(3)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref4)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(4)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref5)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(5)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref6)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(6)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref7)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(7)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref8)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(8)operator(];}) directive(static) ident(VALUE) ident(rb_struct_ref9)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({)reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)integer(9)operator(];}) directive(static) ident(VALUE) operator((*)ident(ref_func)operator([)integer(10)operator(]\)(\)) operator(=) operator({) ident(rb_struct_ref0)operator(,) ident(rb_struct_ref1)operator(,) ident(rb_struct_ref2)operator(,) ident(rb_struct_ref3)operator(,) ident(rb_struct_ref4)operator(,) ident(rb_struct_ref5)operator(,) ident(rb_struct_ref6)operator(,) ident(rb_struct_ref7)operator(,) ident(rb_struct_ref8)operator(,) ident(rb_struct_ref9)operator(,) operator(};) directive(static) directive(void) ident(rb_struct_modify)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(s)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(s)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(rb_struct_set)operator(()ident(obj)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(,) ident(val)operator(;) operator({) ident(VALUE) ident(members)operator(,) ident(slot)operator(;) ident(ID) ident(id)operator(;) pre_type(long) ident(i)operator(;) ident(members) operator(=) ident(rb_struct_members)operator(()ident(obj)operator(\);) ident(rb_struct_modify)operator(()ident(obj)operator(\);) ident(id) operator(=) ident(ruby_frame)operator(->)ident(orig_func)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(slot) operator(=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator([)ident(i)operator(];) reserved(if) operator(()ident(rb_id_attrset)operator(()ident(SYM2ID)operator(()ident(slot)operator(\)\)) operator(==) ident(id)operator(\)) operator({) reserved(return) ident(RSTRUCT)operator(()ident(obj)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(val)operator(;) operator(}) operator(}) ident(rb_name_error)operator(()ident(ruby_frame)operator(->)ident(last_func)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) ident(VALUE) ident(make_struct)operator(()ident(name)operator(,) ident(members)operator(,) ident(klass)operator(\)) ident(VALUE) ident(name)operator(,) ident(members)operator(,) ident(klass)operator(;) operator({) ident(VALUE) ident(nstr)operator(;) ident(ID) ident(id)operator(;) pre_type(long) ident(i)operator(;) ident(OBJ_FREEZE)operator(()ident(members)operator(\);) reserved(if) operator(()ident(NIL_P)operator(()ident(name)operator(\)\)) operator({) ident(nstr) operator(=) ident(rb_class_new)operator(()ident(klass)operator(\);) ident(rb_make_metaclass)operator(()ident(nstr)operator(,) ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass)operator(\);) ident(rb_class_inherited)operator(()ident(klass)operator(,) ident(nstr)operator(\);) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(cname) operator(=) ident(StringValuePtr)operator(()ident(name)operator(\);) ident(id) operator(=) ident(rb_intern)operator(()ident(cname)operator(\);) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(cname)operator(\);) operator(}) reserved(if) operator(()ident(rb_const_defined_at)operator(()ident(klass)operator(,) ident(id)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(cname)operator(\);) ident(rb_mod_remove_const)operator(()ident(klass)operator(,) ident(ID2SYM)operator(()ident(id)operator(\)\);) operator(}) ident(nstr) operator(=) ident(rb_define_class_under)operator(()ident(klass)operator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(klass)operator(\);) operator(}) ident(rb_iv_set)operator(()ident(nstr)operator(,) stringoperator(,) ident(LONG2NUM)operator(()ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(\)\);) ident(rb_iv_set)operator(()ident(nstr)operator(,) stringoperator(,) ident(members)operator(\);) ident(rb_define_alloc_func)operator(()ident(nstr)operator(,) ident(struct_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(nstr)operator(,) stringoperator(,) ident(rb_class_new_instance)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(nstr)operator(,) stringoperator(,) ident(rb_class_new_instance)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(nstr)operator(,) stringoperator(,) ident(rb_struct_s_members_m)operator(,) integer(0)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(ID) ident(id) operator(=) ident(SYM2ID)operator(()ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) reserved(if) operator(()ident(rb_is_local_id)operator(()ident(id)operator(\)) operator(||) ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) reserved(if) operator(()ident(i)operator(<)integer(10)operator(\)) operator({) ident(rb_define_method_id)operator(()ident(nstr)operator(,) ident(id)operator(,) ident(ref_func)operator([)ident(i)operator(],) integer(0)operator(\);) operator(}) reserved(else) operator({) ident(rb_define_method_id)operator(()ident(nstr)operator(,) ident(id)operator(,) ident(rb_struct_ref)operator(,) integer(0)operator(\);) operator(}) ident(rb_define_method_id)operator(()ident(nstr)operator(,) ident(rb_id_attrset)operator(()ident(id)operator(\),) ident(rb_struct_set)operator(,) integer(1)operator(\);) operator(}) operator(}) reserved(return) ident(nstr)operator(;) operator(}) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(,)ident(b)operator(\)) preprocessor(#else) preprocessor(#include) include() preprocessor(#define) ident(va_init_list)operator(()ident(a)operator(,)ident(b)operator(\)) ident(va_start)operator(()ident(a)operator(\)) preprocessor(#endif) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_struct_define)operator(()directive(const) pre_type(char) operator(*)ident(name)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_struct_define)operator(()ident(name)operator(,) ident(va_alist)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(va_list) ident(ar)operator(;) ident(VALUE) ident(nm)operator(,) ident(ary)operator(;) pre_type(char) operator(*)ident(mem)operator(;) reserved(if) operator((!)ident(name)operator(\)) ident(nm) operator(=) ident(Qnil)operator(;) reserved(else) ident(nm) operator(=) ident(rb_str_new2)operator(()ident(name)operator(\);) ident(ary) operator(=) ident(rb_ary_new)operator((\);) ident(va_init_list)operator(()ident(ar)operator(,) ident(name)operator(\);) reserved(while) operator((()ident(mem) operator(=) ident(va_arg)operator(()ident(ar)operator(,) pre_type(char)operator(*\)\)) operator(!=) integer(0)operator(\)) operator({) ident(ID) ident(slot) operator(=) ident(rb_intern)operator(()ident(mem)operator(\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(ID2SYM)operator(()ident(slot)operator(\)\);) operator(}) ident(va_end)operator(()ident(ar)operator(\);) reserved(return) ident(make_struct)operator(()ident(nm)operator(,) ident(ary)operator(,) ident(rb_cStruct)operator(\);) operator(}) comment(/* * call-seq: * Struct.new( [aString] [, aSym]+> \) => StructClass * StructClass.new(arg, ...\) => obj * StructClass[arg, ...] => obj * * Creates a new class, named by aString, containing accessor * methods for the given symbols. If the name aString is * omitted, an anonymous structure class will be created. Otherwise, * the name of this struct will appear as a constant in class * Struct, so it must be unique for all * Structs in the system and should start with a capital * letter. Assigning a structure class to a constant effectively gives * the class the name of the constant. * * Struct::new returns a new Class object, * which can then be used to create specific instances of the new * structure. The number of actual parameters must be * less than or equal to the number of attributes defined for this * class; unset parameters default to \\nil{}. Passing too many * parameters will raise an \\E{ArgumentError}. * * The remaining methods listed in this section (class and instance\) * are defined for this generated class. * * # Create a structure with a name in Struct * Struct.new("Customer", :name, :address\) #=> Struct::Customer * Struct::Customer.new("Dave", "123 Main"\) #=> # * * # Create a structure named by its constant * Customer = Struct.new(:name, :address\) #=> Customer * Customer.new("Dave", "123 Main"\) #=> # */) directive(static) ident(VALUE) ident(rb_struct_s_def)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(name)operator(,) ident(rest)operator(;) pre_type(long) ident(i)operator(;) ident(VALUE) ident(st)operator(;) ident(ID) ident(id)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(name)operator(,) operator(&)ident(rest)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(name)operator(\)) operator(&&) ident(SYMBOL_P)operator(()ident(name)operator(\)\)) operator({) ident(rb_ary_unshift)operator(()ident(rest)operator(,) ident(name)operator(\);) ident(name) operator(=) ident(Qnil)operator(;) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RARRAY)operator(()ident(rest)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(id) operator(=) ident(rb_to_id)operator(()ident(RARRAY)operator(()ident(rest)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) ident(RARRAY)operator(()ident(rest)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(ID2SYM)operator(()ident(id)operator(\);) operator(}) ident(st) operator(=) ident(make_struct)operator(()ident(name)operator(,) ident(rest)operator(,) ident(klass)operator(\);) reserved(if) operator(()ident(rb_block_given_p)operator((\)\)) operator({) ident(rb_mod_module_eval)operator(()integer(0)operator(,) integer(0)operator(,) ident(st)operator(\);) operator(}) reserved(return) ident(st)operator(;) operator(}) comment(/* */) directive(static) ident(VALUE) ident(rb_struct_initialize)operator(()ident(self)operator(,) ident(values)operator(\)) ident(VALUE) ident(self)operator(,) ident(values)operator(;) operator({) ident(VALUE) ident(klass) operator(=) ident(rb_obj_class)operator(()ident(self)operator(\);) ident(VALUE) ident(size)operator(;) pre_type(long) ident(n)operator(;) ident(rb_struct_modify)operator(()ident(self)operator(\);) ident(size) operator(=) ident(rb_struct_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) ident(n) operator(=) ident(FIX2LONG)operator(()ident(size)operator(\);) reserved(if) operator(()ident(n) operator(<) ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) ident(MEMCPY)operator(()ident(RSTRUCT)operator(()ident(self)operator(\)->)ident(ptr)operator(,) ident(RARRAY)operator(()ident(values)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(n) operator(>) ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(\)) operator({) ident(rb_mem_clear)operator(()ident(RSTRUCT)operator(()ident(self)operator(\)->)ident(ptr)operator(+)ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(,) ident(n)operator(-)ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(struct_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(size)operator(;) pre_type(long) ident(n)operator(;) ident(NEWOBJ)operator(()ident(st)operator(,) reserved(struct) ident(RStruct)operator(\);) ident(OBJSETUP)operator(()ident(st)operator(,) ident(klass)operator(,) ident(T_STRUCT)operator(\);) ident(size) operator(=) ident(rb_struct_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) ident(n) operator(=) ident(FIX2LONG)operator(()ident(size)operator(\);) ident(st)operator(->)ident(ptr) operator(=) ident(ALLOC_N)operator(()ident(VALUE)operator(,) ident(n)operator(\);) ident(rb_mem_clear)operator(()ident(st)operator(->)ident(ptr)operator(,) ident(n)operator(\);) ident(st)operator(->)ident(len) operator(=) ident(n)operator(;) reserved(return) operator(()ident(VALUE)operator(\))ident(st)operator(;) operator(}) ident(VALUE) ident(rb_struct_alloc)operator(()ident(klass)operator(,) ident(values)operator(\)) ident(VALUE) ident(klass)operator(,) ident(values)operator(;) operator({) reserved(return) ident(rb_class_new_instance)operator(()ident(RARRAY)operator(()ident(values)operator(\)->)ident(len)operator(,) ident(RARRAY)operator(()ident(values)operator(\)->)ident(ptr)operator(,) ident(klass)operator(\);) operator(}) ident(VALUE) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) ident(rb_struct_new)operator(()ident(VALUE) ident(klass)operator(,) operator(.)operator(.)operator(.)operator(\)) preprocessor(#else) ident(rb_struct_new)operator(()ident(klass)operator(,) ident(va_alist)operator(\)) ident(VALUE) ident(klass)operator(;) ident(va_dcl) preprocessor(#endif) operator({) ident(VALUE) ident(sz)operator(,) operator(*)ident(mem)operator(;) pre_type(long) ident(size)operator(,) ident(i)operator(;) ident(va_list) ident(args)operator(;) ident(sz) operator(=) ident(rb_struct_iv_get)operator(()ident(klass)operator(,) stringoperator(\);) ident(size) operator(=) ident(FIX2LONG)operator(()ident(sz)operator(\);) ident(mem) operator(=) ident(ALLOCA_N)operator(()ident(VALUE)operator(,) ident(size)operator(\);) ident(va_init_list)operator(()ident(args)operator(,) ident(klass)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(size)operator(;) ident(i)operator(++\)) operator({) ident(mem)operator([)ident(i)operator(]) operator(=) ident(va_arg)operator(()ident(args)operator(,) ident(VALUE)operator(\);) operator(}) ident(va_end)operator(()ident(args)operator(\);) reserved(return) ident(rb_class_new_instance)operator(()ident(size)operator(,) ident(mem)operator(,) ident(klass)operator(\);) operator(}) comment(/* * call-seq: * struct.each {|obj| block } => struct * * Calls block once for each instance variable, passing the * value as a parameter. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * joe.each {|x| puts(x\) } * * produces: * * Joe Smith * 123 Maple, Anytown NC * 12345 */) directive(static) ident(VALUE) ident(rb_struct_each)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(s)operator(;) operator(}) comment(/* * call-seq: * struct.each_pair {|sym, obj| block } => struct * * Calls block once for each instance variable, passing the name * (as a symbol\) and the value as parameters. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * joe.each_pair {|name, value| puts("#{name} => #{value}"\) } * * produces: * * name => Joe Smith * address => 123 Maple, Anytown NC * zip => 12345 */) directive(static) ident(VALUE) ident(rb_struct_each_pair)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) ident(VALUE) ident(members)operator(;) pre_type(long) ident(i)operator(;) ident(members) operator(=) ident(rb_struct_members)operator(()ident(s)operator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(rb_yield_values)operator(()integer(2)operator(,) ident(rb_ary_entry)operator(()ident(members)operator(,) ident(i)operator(\),) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) reserved(return) ident(s)operator(;) operator(}) directive(static) ident(VALUE) ident(inspect_struct)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) pre_type(char) operator(*)ident(cname) operator(=) ident(rb_class2name)operator(()ident(rb_obj_class)operator(()ident(s)operator(\)\);) ident(VALUE) ident(str)operator(,) ident(members)operator(;) pre_type(long) ident(i)operator(;) ident(members) operator(=) ident(rb_struct_members)operator(()ident(s)operator(\);) ident(str) operator(=) ident(rb_str_buf_new2)operator(()stringoperator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(cname)operator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(VALUE) ident(slot)operator(;) ident(ID) ident(id)operator(;) pre_type(char) operator(*)ident(p)operator(;) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) operator({) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) operator(}) ident(slot) operator(=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator([)ident(i)operator(];) ident(id) operator(=) ident(SYM2ID)operator(()ident(slot)operator(\);) reserved(if) operator(()ident(rb_is_local_id)operator(()ident(id)operator(\)) operator(||) ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(p) operator(=) ident(rb_id2name)operator(()ident(id)operator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(p)operator(\);) operator(}) reserved(else) operator({) ident(rb_str_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(slot)operator(\)\);) operator(}) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_append)operator(()ident(str)operator(,) ident(rb_inspect)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\);) operator(}) ident(rb_str_cat2)operator(()ident(str)operator(,) string)delimiter(")>operator(\);) ident(OBJ_INFECT)operator(()ident(str)operator(,) ident(s)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * struct.to_s => string * struct.inspect => string * * Describe the contents of this struct in a string. */) directive(static) ident(VALUE) ident(rb_struct_inspect)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) reserved(if) operator(()ident(rb_inspecting_p)operator(()ident(s)operator(\)\)) operator({) pre_type(char) operator(*)ident(cname) operator(=) ident(rb_class2name)operator(()ident(rb_obj_class)operator(()ident(s)operator(\)\);) ident(size_t) ident(len) operator(=) ident(strlen)operator(()ident(cname)operator(\)) operator(+) integer(14)operator(;) ident(VALUE) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(len)operator(+)integer(1)operator(,) string)delimiter(")>operator(,) ident(cname)operator(\);) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(return) ident(str)operator(;) operator(}) reserved(return) ident(rb_protect_inspect)operator(()ident(inspect_struct)operator(,) ident(s)operator(,) integer(0)operator(\);) operator(}) comment(/* * call-seq: * struct.to_a => array * struct.values => array * * Returns the values for this instance as an array. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * joe.to_a[1] #=> "123 Maple, Anytown NC" */) directive(static) ident(VALUE) ident(rb_struct_to_a)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) reserved(return) ident(rb_ary_new4)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator(\);) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(rb_struct_init_copy)operator(()ident(copy)operator(,) ident(s)operator(\)) ident(VALUE) ident(copy)operator(,) ident(s)operator(;) operator({) reserved(if) operator(()ident(copy) operator(==) ident(s)operator(\)) reserved(return) ident(copy)operator(;) ident(rb_check_frozen)operator(()ident(copy)operator(\);) reserved(if) operator((!)ident(rb_obj_is_instance_of)operator(()ident(s)operator(,) ident(rb_obj_class)operator(()ident(copy)operator(\)\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(if) operator(()ident(RSTRUCT)operator(()ident(copy)operator(\)->)ident(len) operator(!=) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(MEMCPY)operator(()ident(RSTRUCT)operator(()ident(copy)operator(\)->)ident(ptr)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator(,) ident(VALUE)operator(,) ident(RSTRUCT)operator(()ident(copy)operator(\)->)ident(len)operator(\);) reserved(return) ident(copy)operator(;) operator(}) directive(static) ident(VALUE) ident(rb_struct_aref_id)operator(()ident(s)operator(,) ident(id)operator(\)) ident(VALUE) ident(s)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(members)operator(;) pre_type(long) ident(i)operator(,) ident(len)operator(;) ident(members) operator(=) ident(rb_struct_members)operator(()ident(s)operator(\);) ident(len) operator(=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(SYM2ID)operator(()ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)) operator(==) ident(id)operator(\)) operator({) reserved(return) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(];) operator(}) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) comment(/* * call-seq: * struct[symbol] => anObject * struct[fixnum] => anObject * * Attribute Reference---Returns the value of the instance variable * named by symbol, or indexed (0..length-1\) by * fixnum. Will raise NameError if the named * variable does not exist, or IndexError if the index is * out of range. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * * joe["name"] #=> "Joe Smith" * joe[:name] #=> "Joe Smith" * joe[0] #=> "Joe Smith" */) ident(VALUE) ident(rb_struct_aref)operator(()ident(s)operator(,) ident(idx)operator(\)) ident(VALUE) ident(s)operator(,) ident(idx)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(idx)operator(\)) operator(==) ident(T_STRING) operator(||) ident(TYPE)operator(()ident(idx)operator(\)) operator(==) ident(T_SYMBOL)operator(\)) operator({) reserved(return) ident(rb_struct_aref_id)operator(()ident(s)operator(,) ident(rb_to_id)operator(()ident(idx)operator(\)\);) operator(}) ident(i) operator(=) ident(NUM2LONG)operator(()ident(idx)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) ident(i) operator(=) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(+) ident(i)operator(;) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) reserved(if) operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(<=) ident(i)operator(\)) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) reserved(return) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(];) operator(}) directive(static) ident(VALUE) ident(rb_struct_aset_id)operator(()ident(s)operator(,) ident(id)operator(,) ident(val)operator(\)) ident(VALUE) ident(s)operator(,) ident(val)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(members)operator(;) pre_type(long) ident(i)operator(,) ident(len)operator(;) ident(members) operator(=) ident(rb_struct_members)operator(()ident(s)operator(\);) ident(rb_struct_modify)operator(()ident(s)operator(\);) ident(len) operator(=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(!=) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(RARRAY)operator(()ident(members)operator(\)->)ident(len)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(SYM2ID)operator(()ident(RARRAY)operator(()ident(members)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)) operator(==) ident(id)operator(\)) operator({) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(val)operator(;) reserved(return) ident(val)operator(;) operator(}) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) comment(/* * call-seq: * struct[symbol] = obj => obj * struct[fixnum] = obj => obj * * Attribute Assignment---Assigns to the instance variable named by * symbol or fixnum the value obj and * returns it. Will raise a NameError if the named * variable does not exist, or an IndexError if the index * is out of range. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * * joe["name"] = "Luke" * joe[:zip] = "90210" * * joe.name #=> "Luke" * joe.zip #=> "90210" */) ident(VALUE) ident(rb_struct_aset)operator(()ident(s)operator(,) ident(idx)operator(,) ident(val)operator(\)) ident(VALUE) ident(s)operator(,) ident(idx)operator(,) ident(val)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(idx)operator(\)) operator(==) ident(T_STRING) operator(||) ident(TYPE)operator(()ident(idx)operator(\)) operator(==) ident(T_SYMBOL)operator(\)) operator({) reserved(return) ident(rb_struct_aset_id)operator(()ident(s)operator(,) ident(rb_to_id)operator(()ident(idx)operator(\),) ident(val)operator(\);) operator(}) ident(i) operator(=) ident(NUM2LONG)operator(()ident(idx)operator(\);) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) ident(i) operator(=) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(+) ident(i)operator(;) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) operator(}) reserved(if) operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(<=) ident(i)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eIndexError)operator(,) stringoperator(,) ident(i)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) operator(}) ident(rb_struct_modify)operator(()ident(s)operator(\);) reserved(return) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]) operator(=) ident(val)operator(;) operator(}) directive(static) ident(VALUE) ident(struct_entry) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(\)\);) directive(static) ident(VALUE) ident(struct_entry)operator(()ident(s)operator(,) ident(n)operator(\)) ident(VALUE) ident(s)operator(;) pre_type(long) ident(n)operator(;) operator({) reserved(return) ident(rb_struct_aref)operator(()ident(s)operator(,) ident(LONG2NUM)operator(()ident(n)operator(\)\);) operator(}) comment(/* * call-seq: * struct.values_at(selector,... \) => an_array * * Returns an array containing the elements in * _self_ corresponding to the given selector(s\). The selectors * may be either integer indices or ranges. * See also .select. * * a = %w{ a b c d e f } * a.values_at(1, 3, 5\) * a.values_at(1, 3, 5, 7\) * a.values_at(-1, -3, -5, -7\) * a.values_at(1..3, 2...5\) */) directive(static) ident(VALUE) ident(rb_struct_values_at)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(s)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(s)operator(;) operator({) reserved(return) ident(rb_values_at)operator(()ident(s)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(,) ident(argc)operator(,) ident(argv)operator(,) ident(struct_entry)operator(\);) operator(}) comment(/* * call-seq: * struct.select {|i| block } => array * * Invokes the block passing in successive elements from * struct, returning an array containing those elements * for which the block returns a true value (equivalent to * Enumerable#select\). * * Lots = Struct.new(:a, :b, :c, :d, :e, :f\) * l = Lots.new(11, 22, 33, 44, 55, 66\) * l.select {|v| (v % 2\).zero? } #=> [22, 44, 66] */) directive(static) ident(VALUE) ident(rb_struct_select)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(s)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(s)operator(;) operator({) ident(VALUE) ident(result)operator(;) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(argc) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(argc)operator(\);) operator(}) ident(result) operator(=) ident(rb_ary_new)operator((\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(rb_yield)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\)\)) operator({) ident(rb_ary_push)operator(()ident(result)operator(,) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) operator(}) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * struct == other_struct => true or false * * Equality---Returns true if other_struct is * equal to this one: they must be of the same class as generated by * Struct::new, and the values of all instance variables * must be equal (according to Object#==\). * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * joejr = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * jane = Customer.new("Jane Doe", "456 Elm, Anytown NC", 12345\) * joe == joejr #=> true * joe == jane #=> false */) directive(static) ident(VALUE) ident(rb_struct_equal)operator(()ident(s)operator(,) ident(s2)operator(\)) ident(VALUE) ident(s)operator(,) ident(s2)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(s) operator(==) ident(s2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(s2)operator(\)) operator(!=) ident(T_STRUCT)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_obj_class)operator(()ident(s)operator(\)) operator(!=) ident(rb_obj_class)operator(()ident(s2)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(!=) ident(RSTRUCT)operator(()ident(s2)operator(\)->)ident(len)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) comment(/* should never happen */) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((!)ident(rb_equal)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(RSTRUCT)operator(()ident(s2)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\)) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * struct.hash => fixnum * * Return a hash value based on this struct's contents. */) directive(static) ident(VALUE) ident(rb_struct_hash)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) pre_type(long) ident(i)operator(,) ident(h)operator(;) ident(VALUE) ident(n)operator(;) ident(h) operator(=) ident(rb_hash)operator(()ident(rb_obj_class)operator(()ident(s)operator(\)\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) ident(h) operator(=) operator(()ident(h) operator(<<) integer(1)operator(\)) operator(|) operator(()ident(h)operator(<)integer(0) operator(?) integer(1) operator(:) integer(0)operator(\);) ident(n) operator(=) ident(rb_hash)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(]\);) ident(h) operator(^=) ident(NUM2LONG)operator(()ident(n)operator(\);) operator(}) reserved(return) ident(LONG2FIX)operator(()ident(h)operator(\);) operator(}) comment(/* * code-seq: * struct.eql?(other\) => true or false * * Two structures are equal if they are the same object, or if all their * fields are equal (using eql?\). */) directive(static) ident(VALUE) ident(rb_struct_eql)operator(()ident(s)operator(,) ident(s2)operator(\)) ident(VALUE) ident(s)operator(,) ident(s2)operator(;) operator({) pre_type(long) ident(i)operator(;) reserved(if) operator(()ident(s) operator(==) ident(s2)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(s2)operator(\)) operator(!=) ident(T_STRUCT)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(rb_obj_class)operator(()ident(s)operator(\)) operator(!=) ident(rb_obj_class)operator(()ident(s2)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len) operator(!=) ident(RSTRUCT)operator(()ident(s2)operator(\)->)ident(len)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) comment(/* should never happen */) operator(}) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator((!)ident(rb_eql)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(ptr)operator([)ident(i)operator(],) ident(RSTRUCT)operator(()ident(s2)operator(\)->)ident(ptr)operator([)ident(i)operator(]\)\)) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(Qtrue)operator(;) operator(}) comment(/* * call-seq: * struct.length => fixnum * struct.size => fixnum * * Returns the number of instance variables. * * Customer = Struct.new(:name, :address, :zip\) * joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345\) * joe.length #=> 3 */) directive(static) ident(VALUE) ident(rb_struct_size)operator(()ident(s)operator(\)) ident(VALUE) ident(s)operator(;) operator({) reserved(return) ident(LONG2FIX)operator(()ident(RSTRUCT)operator(()ident(s)operator(\)->)ident(len)operator(\);) operator(}) comment(/* * A Struct is a convenient way to bundle a number of * attributes together, using accessor methods, without having to write * an explicit class. * * The Struct class is a generator of specific classes, * each one of which is defined to hold a set of variables and their * accessors. In these examples, we'll call the generated class * ``CustomerClass,'' and we'll show an example instance of that * class as ``CustomerInst.'' * * In the descriptions that follow, the parameter symbol refers * to a symbol, which is either a quoted string or a * Symbol (such as :name\). */) directive(void) ident(Init_Struct)operator((\)) operator({) ident(rb_cStruct) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cStruct)operator(,) ident(rb_mEnumerable)operator(\);) ident(rb_undef_alloc_func)operator(()ident(rb_cStruct)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_s_def)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_initialize)operator(,) operator(-)integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_equal)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_inspect)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_size)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_each)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_each_pair)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_aref)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_aset)operator(,) integer(2)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_select)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_values_at)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cStruct)operator(,) stringoperator(,) ident(rb_struct_members_m)operator(,) integer(0)operator(\);) operator(}) comment(/********************************************************************** time.c - $Author: shyouhei $ $Date: 2009-02-02 12:03:25 +0100 (Mon, 02 Feb 2009\) $ created at: Tue Dec 28 14:31:59 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() ident(VALUE) ident(rb_cTime)operator(;) reserved(struct) ident(time_object) operator({) reserved(struct) ident(timeval) ident(tv)operator(;) reserved(struct) ident(tm) ident(tm)operator(;) pre_type(int) ident(gmt)operator(;) pre_type(int) ident(tm_got)operator(;) operator(};) preprocessor(#define) ident(GetTimeval)operator(()ident(obj)operator(,) ident(tobj)operator(\)) \ ident(Data_Get_Struct)operator(()ident(obj)operator(,) reserved(struct) ident(time_object)operator(,) ident(tobj)operator(\)) directive(static) directive(void) ident(time_free) ident(_)operator((()directive(void) operator(*\)\);) directive(static) ident(VALUE) ident(time_utc_offset) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) directive(void) ident(time_free)operator(()ident(tobj)operator(\)) directive(void) operator(*)ident(tobj)operator(;) operator({) reserved(if) operator(()ident(tobj)operator(\)) ident(free)operator(()ident(tobj)operator(\);) operator(}) directive(static) ident(VALUE) ident(time_s_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(time_s_alloc)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(obj)operator(;) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(obj) operator(=) ident(Data_Make_Struct)operator(()ident(klass)operator(,) reserved(struct) ident(time_object)operator(,) integer(0)operator(,) ident(time_free)operator(,) ident(tobj)operator(\);) ident(tobj)operator(->)ident(tm_got)operator(=)integer(0)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) reserved(return) ident(obj)operator(;) operator(}) directive(static) directive(void) ident(time_modify)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) ident(rb_check_frozen)operator(()ident(time)operator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(time)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) comment(/* * Document-method: now * * Synonym for Time.new. Returns a +Time+ object * initialized tot he current system time. * * call-seq: * Time.new -> time * * Returns a Time object initialized to the current system * time. Note: The object created will be created using the * resolution available on your system clock, and so may include * fractional seconds. * * a = Time.new #=> Wed Apr 09 08:56:03 CDT 2003 * b = Time.new #=> Wed Apr 09 08:56:03 CDT 2003 * a == b #=> false * "%.6f" % a.to_f #=> "1049896563.230740" * "%.6f" % b.to_f #=> "1049896563.231466" * */) directive(static) ident(VALUE) ident(time_init)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(time_modify)operator(()ident(time)operator(\);) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(tobj)operator(->)ident(tm_got)operator(=)integer(0)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(=) integer(0)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) reserved(if) operator(()ident(gettimeofday)operator((&)ident(tobj)operator(->)ident(tv)operator(,) integer(0)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(rb_sys_fail)operator(()stringoperator(\);) operator(}) reserved(return) ident(time)operator(;) operator(}) preprocessor(#define) ident(NDIV)operator(()ident(x)operator(,)ident(y)operator(\)) operator((-(-(()ident(x)operator(\)+)integer(1)operator(\))operator(/)operator(()ident(y)operator(\)\)-)integer(1)operator(\)) preprocessor(#define) ident(NMOD)operator(()ident(x)operator(,)ident(y)operator(\)) operator((()ident(y)operator(\)-(-(()ident(x)operator(\)+)integer(1)operator(\)%()ident(y)operator(\)\)-)integer(1)operator(\)) directive(static) directive(void) ident(time_overflow_p)operator(()ident(secp)operator(,) ident(usecp)operator(\)) ident(time_t) operator(*)ident(secp)operator(,) operator(*)ident(usecp)operator(;) operator({) ident(time_t) ident(tmp)operator(,) ident(sec) operator(=) operator(*)ident(secp)operator(,) ident(usec) operator(=) operator(*)ident(usecp)operator(;) reserved(if) operator(()ident(usec) operator(>=) integer(1000000)operator(\)) operator({) comment(/* usec positive overflow */) ident(tmp) operator(=) ident(sec) operator(+) ident(usec) operator(/) integer(1000000)operator(;) ident(usec) operator(%=) integer(1000000)operator(;) reserved(if) operator(()ident(sec) operator(>) integer(0) operator(&&) ident(tmp) operator(<) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) ident(sec) operator(=) ident(tmp)operator(;) operator(}) reserved(if) operator(()ident(usec) operator(<) integer(0)operator(\)) operator({) comment(/* usec negative overflow */) ident(tmp) operator(=) ident(sec) operator(+) ident(NDIV)operator(()ident(usec)operator(,)integer(1000000)operator(\);) comment(/* negative div */) ident(usec) operator(=) ident(NMOD)operator(()ident(usec)operator(,)integer(1000000)operator(\);) comment(/* negative mod */) reserved(if) operator(()ident(sec) operator(<) integer(0) operator(&&) ident(tmp) operator(>) integer(0)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(\);) operator(}) ident(sec) operator(=) ident(tmp)operator(;) operator(}) preprocessor(#ifndef) ident(NEGATIVE_TIME_T) reserved(if) operator(()ident(sec) operator(<) integer(0) operator(||) operator(()ident(sec) operator(==) integer(0) operator(&&) ident(usec) operator(<) integer(0)operator(\)\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) preprocessor(#endif) operator(*)ident(secp) operator(=) ident(sec)operator(;) operator(*)ident(usecp) operator(=) ident(usec)operator(;) operator(}) directive(static) ident(VALUE) ident(time_new_internal) ident(_)operator((()ident(VALUE)operator(,) ident(time_t)operator(,) ident(time_t)operator(\)\);) directive(static) ident(VALUE) ident(time_new_internal)operator(()ident(klass)operator(,) ident(sec)operator(,) ident(usec)operator(\)) ident(VALUE) ident(klass)operator(;) ident(time_t) ident(sec)operator(,) ident(usec)operator(;) operator({) ident(VALUE) ident(time) operator(=) ident(time_s_alloc)operator(()ident(klass)operator(\);) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(time_overflow_p)operator((&)ident(sec)operator(,) operator(&)ident(usec)operator(\);) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(=) ident(sec)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(=) ident(usec)operator(;) reserved(return) ident(time)operator(;) operator(}) ident(VALUE) ident(rb_time_new)operator(()ident(sec)operator(,) ident(usec)operator(\)) ident(time_t) ident(sec)operator(,) ident(usec)operator(;) operator({) reserved(return) ident(time_new_internal)operator(()ident(rb_cTime)operator(,) ident(sec)operator(,) ident(usec)operator(\);) operator(}) directive(static) reserved(struct) ident(timeval) ident(time_timeval)operator(()ident(time)operator(,) ident(interval)operator(\)) ident(VALUE) ident(time)operator(;) pre_type(int) ident(interval)operator(;) operator({) reserved(struct) ident(timeval) ident(t)operator(;) pre_type(char) operator(*)ident(tstr) operator(=) ident(interval) operator(?) string operator(:) stringoperator(;) preprocessor(#ifndef) ident(NEGATIVE_TIME_T) ident(interval) operator(=) integer(1)operator(;) preprocessor(#endif) reserved(switch) operator(()ident(TYPE)operator(()ident(time)operator(\)\)) operator({) reserved(case) ident(T_FIXNUM)operator(:) ident(t)operator(.)ident(tv_sec) operator(=) ident(FIX2LONG)operator(()ident(time)operator(\);) reserved(if) operator(()ident(interval) operator(&&) ident(t)operator(.)ident(tv_sec) operator(<) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(tstr)operator(\);) ident(t)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(case) ident(T_FLOAT)operator(:) reserved(if) operator(()ident(interval) operator(&&) ident(RFLOAT)operator(()ident(time)operator(\)->)ident(value) operator(<) float(0)float(.0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(tstr)operator(\);) reserved(else) operator({) pre_type(double) ident(f)operator(,) ident(d)operator(;) ident(d) operator(=) ident(modf)operator(()ident(RFLOAT)operator(()ident(time)operator(\)->)ident(value)operator(,) operator(&)ident(f)operator(\);) reserved(if) operator(()ident(d) operator(<) integer(0)operator(\)) operator({) ident(d) operator(+=) integer(1)operator(;) ident(f) operator(-=) integer(1)operator(;) operator(}) ident(t)operator(.)ident(tv_sec) operator(=) operator(()ident(time_t)operator(\))ident(f)operator(;) reserved(if) operator(()ident(f) operator(!=) ident(t)operator(.)ident(tv_sec)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(RFLOAT)operator(()ident(time)operator(\)->)ident(value)operator(\);) operator(}) ident(t)operator(.)ident(tv_usec) operator(=) operator(()ident(time_t)operator(\)()ident(d)operator(*)float(1)ident(e6)operator(+)float(0)float(.5)operator(\);) operator(}) reserved(break)operator(;) reserved(case) ident(T_BIGNUM)operator(:) ident(t)operator(.)ident(tv_sec) operator(=) ident(NUM2LONG)operator(()ident(time)operator(\);) reserved(if) operator(()ident(interval) operator(&&) ident(t)operator(.)ident(tv_sec) operator(<) integer(0)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(tstr)operator(\);) ident(t)operator(.)ident(tv_usec) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_obj_classname)operator(()ident(time)operator(\),) ident(tstr)operator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(t)operator(;) operator(}) reserved(struct) ident(timeval) ident(rb_time_interval)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(return) ident(time_timeval)operator(()ident(time)operator(,) ident(Qtrue)operator(\);) operator(}) reserved(struct) ident(timeval) ident(rb_time_timeval)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) reserved(struct) ident(timeval) ident(t)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(time)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(time)operator(\)->)ident(dfree) operator(==) ident(time_free)operator(\)) operator({) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(t) operator(=) ident(tobj)operator(->)ident(tv)operator(;) reserved(return) ident(t)operator(;) operator(}) reserved(return) ident(time_timeval)operator(()ident(time)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* * call-seq: * Time.at( aTime \) => time * Time.at( seconds [, microseconds] \) => time * * Creates a new time object with the value given by aTime, or * the given number of seconds (and optional * microseconds\) from epoch. A non-portable feature allows the * offset to be negative on some systems. * * Time.at(0\) #=> Wed Dec 31 18:00:00 CST 1969 * Time.at(946702800\) #=> Fri Dec 31 23:00:00 CST 1999 * Time.at(-284061600\) #=> Sat Dec 31 00:00:00 CST 1960 */) directive(static) ident(VALUE) ident(time_s_at)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) reserved(struct) ident(timeval) ident(tv)operator(;) ident(VALUE) ident(time)operator(,) ident(t)operator(;) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(time)operator(,) operator(&)ident(t)operator(\)) operator(==) integer(2)operator(\)) operator({) ident(tv)operator(.)ident(tv_sec) operator(=) ident(NUM2LONG)operator(()ident(time)operator(\);) ident(tv)operator(.)ident(tv_usec) operator(=) ident(NUM2LONG)operator(()ident(t)operator(\);) operator(}) reserved(else) operator({) ident(tv) operator(=) ident(rb_time_timeval)operator(()ident(time)operator(\);) operator(}) ident(t) operator(=) ident(time_new_internal)operator(()ident(klass)operator(,) ident(tv)operator(.)ident(tv_sec)operator(,) ident(tv)operator(.)ident(tv_usec)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(time)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(time)operator(\)->)ident(dfree) operator(==) ident(time_free)operator(\)) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(,) operator(*)ident(tobj2)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(GetTimeval)operator(()ident(t)operator(,) ident(tobj2)operator(\);) ident(tobj2)operator(->)ident(gmt) operator(=) ident(tobj)operator(->)ident(gmt)operator(;) operator(}) reserved(return) ident(t)operator(;) operator(}) directive(static) pre_type(char) operator(*)ident(months) operator([)integer(12)operator(]) operator(=) operator({) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) stringoperator(,) operator(};) directive(static) pre_type(long) ident(obj2long)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(obj)operator(\)) operator(==) ident(T_STRING)operator(\)) operator({) ident(obj) operator(=) ident(rb_str_to_inum)operator(()ident(obj)operator(,) integer(10)operator(,) ident(Qfalse)operator(\);) operator(}) reserved(return) ident(NUM2LONG)operator(()ident(obj)operator(\);) operator(}) directive(static) directive(void) ident(time_arg)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(tm)operator(,) ident(usec)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) reserved(struct) ident(tm) operator(*)ident(tm)operator(;) ident(time_t) operator(*)ident(usec)operator(;) operator({) ident(VALUE) ident(v)operator([)integer(8)operator(];) pre_type(int) ident(i)operator(;) pre_type(long) ident(year)operator(;) ident(MEMZERO)operator(()ident(tm)operator(,) reserved(struct) ident(tm)operator(,) integer(1)operator(\);) operator(*)ident(usec) operator(=) integer(0)operator(;) reserved(if) operator(()ident(argc) operator(==) integer(10)operator(\)) operator({) ident(v)operator([)integer(0)operator(]) operator(=) ident(argv)operator([)integer(5)operator(];) ident(v)operator([)integer(1)operator(]) operator(=) ident(argv)operator([)integer(4)operator(];) ident(v)operator([)integer(2)operator(]) operator(=) ident(argv)operator([)integer(3)operator(];) ident(v)operator([)integer(3)operator(]) operator(=) ident(argv)operator([)integer(2)operator(];) ident(v)operator([)integer(4)operator(]) operator(=) ident(argv)operator([)integer(1)operator(];) ident(v)operator([)integer(5)operator(]) operator(=) ident(argv)operator([)integer(0)operator(];) ident(v)operator([)integer(6)operator(]) operator(=) ident(Qnil)operator(;) ident(tm)operator(->)ident(tm_isdst) operator(=) ident(RTEST)operator(()ident(argv)operator([)integer(8)operator(]\)) operator(?) integer(1) operator(:) integer(0)operator(;) operator(}) reserved(else) operator({) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(v)operator([)integer(0)operator(],&)ident(v)operator([)integer(1)operator(],&)ident(v)operator([)integer(2)operator(],&)ident(v)operator([)integer(3)operator(],&)ident(v)operator([)integer(4)operator(],&)ident(v)operator([)integer(5)operator(],&)ident(v)operator([)integer(6)operator(],&)ident(v)operator([)integer(7)operator(]\);) comment(/* v[6] may be usec or zone (parsedate\) */) comment(/* v[7] is wday (parsedate; ignored\) */) ident(tm)operator(->)ident(tm_wday) operator(=) operator(-)integer(1)operator(;) ident(tm)operator(->)ident(tm_isdst) operator(=) operator(-)integer(1)operator(;) operator(}) ident(year) operator(=) ident(obj2long)operator(()ident(v)operator([)integer(0)operator(]\);) reserved(if) operator(()integer(0) operator(<=) ident(year) operator(&&) ident(year) operator(<) integer(39)operator(\)) operator({) ident(year) operator(+=) integer(100)operator(;) ident(rb_warning)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()integer(69) operator(<=) ident(year) operator(&&) ident(year) operator(<) integer(139)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(year) operator(-=) integer(1900)operator(;) operator(}) ident(tm)operator(->)ident(tm_year) operator(=) ident(year)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator([)integer(1)operator(]\)\)) operator({) ident(tm)operator(->)ident(tm_mon) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(VALUE) ident(s) operator(=) ident(rb_check_string_type)operator(()ident(v)operator([)integer(1)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(s)operator(\)\)) operator({) ident(tm)operator(->)ident(tm_mon) operator(=) operator(-)integer(1)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(12)operator(;) ident(i)operator(++\)) operator({) reserved(if) operator(()ident(RSTRING)operator(()ident(s)operator(\)->)ident(len) operator(==) integer(3) operator(&&) ident(strcasecmp)operator(()ident(months)operator([)ident(i)operator(],) ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator(\)) operator(==) integer(0)operator(\)) operator({) ident(tm)operator(->)ident(tm_mon) operator(=) ident(i)operator(;) reserved(break)operator(;) operator(}) operator(}) reserved(if) operator(()ident(tm)operator(->)ident(tm_mon) operator(==) operator(-)integer(1)operator(\)) operator({) pre_type(char) ident(c) operator(=) ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator([)integer(0)operator(];) reserved(if) operator(()char('0') operator(<=) ident(c) operator(&&) ident(c) operator(<=) char('9')operator(\)) operator({) ident(tm)operator(->)ident(tm_mon) operator(=) ident(obj2long)operator(()ident(s)operator(\)-)integer(1)operator(;) operator(}) operator(}) operator(}) reserved(else) operator({) ident(tm)operator(->)ident(tm_mon) operator(=) ident(obj2long)operator(()ident(v)operator([)integer(1)operator(]\)-)integer(1)operator(;) operator(}) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(v)operator([)integer(2)operator(]\)\)) operator({) ident(tm)operator(->)ident(tm_mday) operator(=) integer(1)operator(;) operator(}) reserved(else) operator({) ident(tm)operator(->)ident(tm_mday) operator(=) ident(obj2long)operator(()ident(v)operator([)integer(2)operator(]\);) operator(}) ident(tm)operator(->)ident(tm_hour) operator(=) ident(NIL_P)operator(()ident(v)operator([)integer(3)operator(]\)?)integer(0)operator(:)ident(obj2long)operator(()ident(v)operator([)integer(3)operator(]\);) ident(tm)operator(->)ident(tm_min) operator(=) ident(NIL_P)operator(()ident(v)operator([)integer(4)operator(]\)?)integer(0)operator(:)ident(obj2long)operator(()ident(v)operator([)integer(4)operator(]\);) ident(tm)operator(->)ident(tm_sec) operator(=) ident(NIL_P)operator(()ident(v)operator([)integer(5)operator(]\)?)integer(0)operator(:)ident(obj2long)operator(()ident(v)operator([)integer(5)operator(]\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(v)operator([)integer(6)operator(]\)\)) operator({) reserved(if) operator(()ident(argc) operator(==) integer(8)operator(\)) operator({) comment(/* v[6] is timezone, but ignored */) operator(}) reserved(else) reserved(if) operator(()ident(argc) operator(==) integer(7)operator(\)) operator({) operator(*)ident(usec) operator(=) ident(obj2long)operator(()ident(v)operator([)integer(6)operator(]\);) operator(}) operator(}) comment(/* value validation */) reserved(if) operator(() ident(tm)operator(->)ident(tm_year) operator(!=) ident(year) operator(||) preprocessor(#ifndef) ident(NEGATIVE_TIME_T) ident(tm)operator(->)ident(tm_year) operator(<) integer(69) operator(||) preprocessor(#endif) ident(tm)operator(->)ident(tm_mon) operator(<) integer(0) operator(||) ident(tm)operator(->)ident(tm_mon) operator(>) integer(11) operator(||) ident(tm)operator(->)ident(tm_mday) operator(<) integer(1) operator(||) ident(tm)operator(->)ident(tm_mday) operator(>) integer(31) operator(||) ident(tm)operator(->)ident(tm_hour) operator(<) integer(0) operator(||) ident(tm)operator(->)ident(tm_hour) operator(>) integer(23) operator(||) ident(tm)operator(->)ident(tm_min) operator(<) integer(0) operator(||) ident(tm)operator(->)ident(tm_min) operator(>) integer(59) operator(||) ident(tm)operator(->)ident(tm_sec) operator(<) integer(0) operator(||) ident(tm)operator(->)ident(tm_sec) operator(>) integer(60)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) directive(static) ident(VALUE) ident(time_gmtime) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(time_localtime) ident(_)operator((()ident(VALUE)operator(\)\);) directive(static) ident(VALUE) ident(time_get_tm) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) directive(static) pre_type(int) ident(leap_year_p)operator(()ident(y)operator(\)) pre_type(long) ident(y)operator(;) operator({) reserved(return) operator((()ident(y) operator(%) integer(4) operator(==) integer(0)operator(\)) operator(&&) operator(()ident(y) operator(%) integer(100) operator(!=) integer(0)operator(\)\)) operator(||) operator(()ident(y) operator(%) integer(400) operator(==) integer(0)operator(\);) operator(}) preprocessor(#define) ident(DIV)operator(()ident(n)operator(,)ident(d)operator(\)) operator((()ident(n)operator(\)<)integer(0) operator(?) ident(NDIV)operator((()ident(n)operator(\),()ident(d)operator(\)\)) operator(:) operator(()ident(n)operator(\))operator(/)operator(()ident(d)operator(\)\)) directive(static) ident(time_t) ident(timegm_noleapsecond)operator(()ident(tm)operator(\)) reserved(struct) ident(tm) operator(*)ident(tm)operator(;) operator({) directive(static) pre_type(int) ident(common_year_yday_offset)operator([]) operator(=) operator({) operator(-)integer(1)operator(,) operator(-)integer(1) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31) operator(+) integer(30)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(28) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) comment(/* 1 2 3 4 5 6 7 8 9 10 11 */) operator(};) directive(static) pre_type(int) ident(leap_year_yday_offset)operator([]) operator(=) operator({) operator(-)integer(1)operator(,) operator(-)integer(1) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31) operator(+) integer(30)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31)operator(,) operator(-)integer(1) operator(+) integer(31) operator(+) integer(29) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(31) operator(+) integer(30) operator(+) integer(31) operator(+) integer(30) comment(/* 1 2 3 4 5 6 7 8 9 10 11 */) operator(};) pre_type(long) ident(tm_year) operator(=) ident(tm)operator(->)ident(tm_year)operator(;) pre_type(int) ident(tm_yday) operator(=) ident(tm)operator(->)ident(tm_mday)operator(;) reserved(if) operator(()ident(leap_year_p)operator(()ident(tm_year) operator(+) integer(1900)operator(\)\)) ident(tm_yday) operator(+=) ident(leap_year_yday_offset)operator([)ident(tm)operator(->)ident(tm_mon)operator(];) reserved(else) ident(tm_yday) operator(+=) ident(common_year_yday_offset)operator([)ident(tm)operator(->)ident(tm_mon)operator(];) comment(/* * `Seconds Since the Epoch' in SUSv3: * tm_sec + tm_min*60 + tm_hour*3600 + tm_yday*86400 + * (tm_year-70\)*31536000 + ((tm_year-69\)/4\)*86400 - * ((tm_year-1\)/100\)*86400 + ((tm_year+299\)/400\)*86400 */) reserved(return) ident(tm)operator(->)ident(tm_sec) operator(+) ident(tm)operator(->)ident(tm_min)operator(*)integer(60) operator(+) ident(tm)operator(->)ident(tm_hour)operator(*)integer(3600) operator(+) operator(()ident(time_t)operator(\)()ident(tm_yday) operator(+) operator(()ident(tm_year)operator(-)integer(70)operator(\)*)integer(365) operator(+) ident(DIV)operator(()ident(tm_year)operator(-)integer(69)operator(,)integer(4)operator(\)) operator(-) ident(DIV)operator(()ident(tm_year)operator(-)integer(1)operator(,)integer(100)operator(\)) operator(+) ident(DIV)operator(()ident(tm_year)operator(+)integer(299)operator(,)integer(400)operator(\)\)*)integer(86400)operator(;) operator(}) directive(static) pre_type(int) ident(tmcmp)operator(()ident(a)operator(,) ident(b)operator(\)) reserved(struct) ident(tm) operator(*)ident(a)operator(;) reserved(struct) ident(tm) operator(*)ident(b)operator(;) operator({) reserved(if) operator(()ident(a)operator(->)ident(tm_year) operator(!=) ident(b)operator(->)ident(tm_year)operator(\)) reserved(return) ident(a)operator(->)ident(tm_year) operator(<) ident(b)operator(->)ident(tm_year) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(a)operator(->)ident(tm_mon) operator(!=) ident(b)operator(->)ident(tm_mon)operator(\)) reserved(return) ident(a)operator(->)ident(tm_mon) operator(<) ident(b)operator(->)ident(tm_mon) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(a)operator(->)ident(tm_mday) operator(!=) ident(b)operator(->)ident(tm_mday)operator(\)) reserved(return) ident(a)operator(->)ident(tm_mday) operator(<) ident(b)operator(->)ident(tm_mday) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(a)operator(->)ident(tm_hour) operator(!=) ident(b)operator(->)ident(tm_hour)operator(\)) reserved(return) ident(a)operator(->)ident(tm_hour) operator(<) ident(b)operator(->)ident(tm_hour) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(a)operator(->)ident(tm_min) operator(!=) ident(b)operator(->)ident(tm_min)operator(\)) reserved(return) ident(a)operator(->)ident(tm_min) operator(<) ident(b)operator(->)ident(tm_min) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(a)operator(->)ident(tm_sec) operator(!=) ident(b)operator(->)ident(tm_sec)operator(\)) reserved(return) ident(a)operator(->)ident(tm_sec) operator(<) ident(b)operator(->)ident(tm_sec) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(return) integer(0)operator(;) operator(}) preprocessor(#if) ident(SIZEOF_TIME_T) operator(==) ident(SIZEOF_LONG) reserved(typedef) pre_type(unsigned) pre_type(long) ident(unsigned_time_t)operator(;) preprocessor(#elif) ident(SIZEOF_TIME_T) operator(==) ident(SIZEOF_INT) reserved(typedef) pre_type(unsigned) pre_type(int) ident(unsigned_time_t)operator(;) preprocessor(#elif) ident(SIZEOF_TIME_T) operator(==) ident(SIZEOF_LONG_LONG) reserved(typedef) pre_type(unsigned) ident(LONG_LONG) ident(unsigned_time_t)operator(;) preprocessor(#else) preprocessor(# error) ident(cannot) ident(find) ident(integer) ident(type) ident(which) ident(size) ident(is) ident(same) ident(as) ident(time_t)operator(.) preprocessor(#endif) directive(static) ident(time_t) ident(search_time_t)operator(()ident(tptr)operator(,) ident(utc_p)operator(\)) reserved(struct) ident(tm) operator(*)ident(tptr)operator(;) pre_type(int) ident(utc_p)operator(;) operator({) ident(time_t) ident(guess)operator(,) ident(guess_lo)operator(,) ident(guess_hi)operator(;) reserved(struct) ident(tm) operator(*)ident(tm)operator(,) ident(tm_lo)operator(,) ident(tm_hi)operator(;) pre_type(int) ident(d)operator(,) ident(have_guess)operator(;) pre_type(int) ident(find_dst)operator(;) ident(find_dst) operator(=) integer(0) operator(<) ident(tptr)operator(->)ident(tm_isdst)operator(;) preprocessor(#ifdef) ident(NEGATIVE_TIME_T) ident(guess_lo) operator(=) operator(()ident(time_t)operator(\)~(()ident(unsigned_time_t)operator(\)~()ident(time_t)operator(\))integer(0) operator(>>) integer(1)operator(\);) preprocessor(#else) ident(guess_lo) operator(=) integer(0)operator(;) preprocessor(#endif) ident(guess_hi) operator(=) operator((()ident(time_t)operator(\)-)integer(1)operator(\)) operator(<) operator((()ident(time_t)operator(\))integer(0)operator(\)) operator(?) operator(()ident(time_t)operator(\)(()ident(unsigned_time_t)operator(\)~()ident(time_t)operator(\))integer(0) operator(>>) integer(1)operator(\)) operator(:) operator(~()ident(time_t)operator(\))integer(0)operator(;) ident(guess) operator(=) ident(timegm_noleapsecond)operator(()ident(tptr)operator(\);) ident(tm) operator(=) operator(()ident(utc_p) operator(?) ident(gmtime) operator(:) ident(localtime)operator(\)(&)ident(guess)operator(\);) reserved(if) operator(()ident(tm)operator(\)) operator({) ident(d) operator(=) ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\);) reserved(if) operator(()ident(d) operator(==) integer(0)operator(\)) reserved(return) ident(guess)operator(;) reserved(if) operator(()ident(d) operator(<) integer(0)operator(\)) operator({) ident(guess_hi) operator(=) ident(guess)operator(;) ident(guess) operator(-=) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) operator(}) reserved(else) operator({) ident(guess_lo) operator(=) ident(guess)operator(;) ident(guess) operator(+=) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) operator(}) reserved(if) operator(()ident(guess_lo) operator(<) ident(guess) operator(&&) ident(guess) operator(<) ident(guess_hi) operator(&&) operator(()ident(tm) operator(=) operator(()ident(utc_p) operator(?) ident(gmtime) operator(:) ident(localtime)operator(\)(&)ident(guess)operator(\)\)) operator(!=) pre_constant(NULL)operator(\)) operator({) ident(d) operator(=) ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\);) reserved(if) operator(()ident(d) operator(==) integer(0)operator(\)) reserved(return) ident(guess)operator(;) reserved(if) operator(()ident(d) operator(<) integer(0)operator(\)) ident(guess_hi) operator(=) ident(guess)operator(;) reserved(else) ident(guess_lo) operator(=) ident(guess)operator(;) operator(}) operator(}) ident(tm) operator(=) operator(()ident(utc_p) operator(?) ident(gmtime) operator(:) ident(localtime)operator(\)(&)ident(guess_lo)operator(\);) reserved(if) operator((!)ident(tm)operator(\)) reserved(goto) ident(error)operator(;) ident(d) operator(=) ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\);) reserved(if) operator(()ident(d) operator(<) integer(0)operator(\)) reserved(goto) ident(out_of_range)operator(;) reserved(if) operator(()ident(d) operator(==) integer(0)operator(\)) reserved(return) ident(guess_lo)operator(;) ident(tm_lo) operator(=) operator(*)ident(tm)operator(;) ident(tm) operator(=) operator(()ident(utc_p) operator(?) ident(gmtime) operator(:) ident(localtime)operator(\)(&)ident(guess_hi)operator(\);) reserved(if) operator((!)ident(tm)operator(\)) reserved(goto) ident(error)operator(;) ident(d) operator(=) ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\);) reserved(if) operator(()ident(d) operator(>) integer(0)operator(\)) reserved(goto) ident(out_of_range)operator(;) reserved(if) operator(()ident(d) operator(==) integer(0)operator(\)) reserved(return) ident(guess_hi)operator(;) ident(tm_hi) operator(=) operator(*)ident(tm)operator(;) ident(have_guess) operator(=) integer(0)operator(;) reserved(while) operator(()ident(guess_lo) operator(+) integer(1) operator(<) ident(guess_hi)operator(\)) operator({) comment(/* there is a gap between guess_lo and guess_hi. */) pre_type(unsigned) pre_type(long) ident(range) operator(=) integer(0)operator(;) reserved(if) operator((!)ident(have_guess)operator(\)) operator({) pre_type(int) ident(a)operator(,) ident(b)operator(;) comment(/* Try precious guess by a linear interpolation at first. `a' and `b' is a coefficient of guess_lo and guess_hi as: guess = (guess_lo * a + guess_hi * b\) / (a + b\) However this causes overflow in most cases, following assignment is used instead: guess = guess_lo / d * a + (guess_lo % d\) * a / d + guess_hi / d * b + (guess_hi % d\) * b / d where d = a + b To avoid overflow in this assignment, `d' is restricted to less than sqrt(2**31\). By this restriction and other reasons, the guess is not accurate and some error is expected. `range' approximates the maximum error. When these parameters are not suitable, i.e. guess is not within guess_lo and guess_hi, simple guess by binary search is used. */) ident(range) operator(=) integer(366) operator(*) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) ident(a) operator(=) operator(()ident(tm_hi)operator(.)ident(tm_year) operator(-) ident(tptr)operator(->)ident(tm_year)operator(\);) ident(b) operator(=) operator(()ident(tptr)operator(->)ident(tm_year) operator(-) ident(tm_lo)operator(.)ident(tm_year)operator(\);) comment(/* 46000 is selected as `some big number less than sqrt(2**31\)'. */) reserved(if) operator(()ident(a) operator(+) ident(b) operator(<=) integer(46000) operator(/) integer(12)operator(\)) operator({) ident(range) operator(=) integer(31) operator(*) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) ident(a) operator(*=) integer(12)operator(;) ident(b) operator(*=) integer(12)operator(;) ident(a) operator(+=) ident(tm_hi)operator(.)ident(tm_mon) operator(-) ident(tptr)operator(->)ident(tm_mon)operator(;) ident(b) operator(+=) ident(tptr)operator(->)ident(tm_mon) operator(-) ident(tm_lo)operator(.)ident(tm_mon)operator(;) reserved(if) operator(()ident(a) operator(+) ident(b) operator(<=) integer(46000) operator(/) integer(31)operator(\)) operator({) ident(range) operator(=) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) ident(a) operator(*=) integer(31)operator(;) ident(b) operator(*=) integer(31)operator(;) ident(a) operator(+=) ident(tm_hi)operator(.)ident(tm_mday) operator(-) ident(tptr)operator(->)ident(tm_mday)operator(;) ident(b) operator(+=) ident(tptr)operator(->)ident(tm_mday) operator(-) ident(tm_lo)operator(.)ident(tm_mday)operator(;) reserved(if) operator(()ident(a) operator(+) ident(b) operator(<=) integer(46000) operator(/) integer(24)operator(\)) operator({) ident(range) operator(=) integer(60) operator(*) integer(60)operator(;) ident(a) operator(*=) integer(24)operator(;) ident(b) operator(*=) integer(24)operator(;) ident(a) operator(+=) ident(tm_hi)operator(.)ident(tm_hour) operator(-) ident(tptr)operator(->)ident(tm_hour)operator(;) ident(b) operator(+=) ident(tptr)operator(->)ident(tm_hour) operator(-) ident(tm_lo)operator(.)ident(tm_hour)operator(;) reserved(if) operator(()ident(a) operator(+) ident(b) operator(<=) integer(46000) operator(/) integer(60)operator(\)) operator({) ident(range) operator(=) integer(60)operator(;) ident(a) operator(*=) integer(60)operator(;) ident(b) operator(*=) integer(60)operator(;) ident(a) operator(+=) ident(tm_hi)operator(.)ident(tm_min) operator(-) ident(tptr)operator(->)ident(tm_min)operator(;) ident(b) operator(+=) ident(tptr)operator(->)ident(tm_min) operator(-) ident(tm_lo)operator(.)ident(tm_min)operator(;) reserved(if) operator(()ident(a) operator(+) ident(b) operator(<=) integer(46000) operator(/) integer(60)operator(\)) operator({) ident(range) operator(=) integer(1)operator(;) ident(a) operator(*=) integer(60)operator(;) ident(b) operator(*=) integer(60)operator(;) ident(a) operator(+=) ident(tm_hi)operator(.)ident(tm_sec) operator(-) ident(tptr)operator(->)ident(tm_sec)operator(;) ident(b) operator(+=) ident(tptr)operator(->)ident(tm_sec) operator(-) ident(tm_lo)operator(.)ident(tm_sec)operator(;) operator(}) operator(}) operator(}) operator(}) operator(}) reserved(if) operator(()ident(a) operator(<=) integer(0)operator(\)) ident(a) operator(=) integer(1)operator(;) reserved(if) operator(()ident(b) operator(<=) integer(0)operator(\)) ident(b) operator(=) integer(1)operator(;) ident(d) operator(=) ident(a) operator(+) ident(b)operator(;) comment(/* Although `/' and `%' may produce unexpected result with negative argument, it doesn't cause serious problem because there is a fail safe. */) ident(guess) operator(=) ident(guess_lo) operator(/) ident(d) operator(*) ident(a) operator(+) operator(()ident(guess_lo) operator(%) ident(d)operator(\)) operator(*) ident(a) operator(/) ident(d) operator(+) ident(guess_hi) operator(/) ident(d) operator(*) ident(b) operator(+) operator(()ident(guess_hi) operator(%) ident(d)operator(\)) operator(*) ident(b) operator(/) ident(d)operator(;) ident(have_guess) operator(=) integer(1)operator(;) operator(}) reserved(if) operator(()ident(guess) operator(<=) ident(guess_lo) operator(||) ident(guess_hi) operator(<=) ident(guess)operator(\)) operator({) comment(/* Precious guess is invalid. try binary search. */) ident(guess) operator(=) ident(guess_lo) operator(/) integer(2) operator(+) ident(guess_hi) operator(/) integer(2)operator(;) reserved(if) operator(()ident(guess) operator(<=) ident(guess_lo)operator(\)) ident(guess) operator(=) ident(guess_lo) operator(+) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(guess) operator(>=) ident(guess_hi)operator(\)) ident(guess) operator(=) ident(guess_hi) operator(-) integer(1)operator(;) ident(range) operator(=) integer(0)operator(;) operator(}) ident(tm) operator(=) operator(()ident(utc_p) operator(?) ident(gmtime) operator(:) ident(localtime)operator(\)(&)ident(guess)operator(\);) reserved(if) operator((!)ident(tm)operator(\)) reserved(goto) ident(error)operator(;) ident(have_guess) operator(=) integer(0)operator(;) ident(d) operator(=) ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\);) reserved(if) operator(()ident(d) operator(<) integer(0)operator(\)) operator({) ident(guess_hi) operator(=) ident(guess)operator(;) ident(tm_hi) operator(=) operator(*)ident(tm)operator(;) reserved(if) operator(()ident(range)operator(\)) operator({) ident(guess) operator(=) ident(guess) operator(-) ident(range)operator(;) ident(range) operator(=) integer(0)operator(;) reserved(if) operator(()ident(guess_lo) operator(<) ident(guess) operator(&&) ident(guess) operator(<) ident(guess_hi)operator(\)) ident(have_guess) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(d) operator(>) integer(0)operator(\)) operator({) ident(guess_lo) operator(=) ident(guess)operator(;) ident(tm_lo) operator(=) operator(*)ident(tm)operator(;) reserved(if) operator(()ident(range)operator(\)) operator({) ident(guess) operator(=) ident(guess) operator(+) ident(range)operator(;) ident(range) operator(=) integer(0)operator(;) reserved(if) operator(()ident(guess_lo) operator(<) ident(guess) operator(&&) ident(guess) operator(<) ident(guess_hi)operator(\)) ident(have_guess) operator(=) integer(1)operator(;) operator(}) operator(}) reserved(else) operator({) reserved(if) operator((!)ident(utc_p)operator(\)) operator({) comment(/* If localtime is nonmonotonic, another result may exist. */) ident(time_t) ident(guess2)operator(;) reserved(if) operator(()ident(find_dst)operator(\)) operator({) ident(guess2) operator(=) ident(guess) operator(-) integer(2) operator(*) integer(60) operator(*) integer(60)operator(;) ident(tm) operator(=) ident(localtime)operator((&)ident(guess2)operator(\);) reserved(if) operator(()ident(tm)operator(\)) operator({) reserved(if) operator(()ident(tptr)operator(->)ident(tm_hour) operator(!=) operator(()ident(tm)operator(->)ident(tm_hour) operator(+) integer(2)operator(\)) operator(%) integer(24) operator(||) ident(tptr)operator(->)ident(tm_min) operator(!=) ident(tm)operator(->)ident(tm_min) operator(||) ident(tptr)operator(->)ident(tm_sec) operator(!=) ident(tm)operator(->)ident(tm_sec)operator(\)) operator({) ident(guess2) operator(-=) operator(()ident(tm)operator(->)ident(tm_hour) operator(-) ident(tptr)operator(->)ident(tm_hour)operator(\)) operator(*) integer(60) operator(*) integer(60) operator(+) operator(()ident(tm)operator(->)ident(tm_min) operator(-) ident(tptr)operator(->)ident(tm_min)operator(\)) operator(*) integer(60) operator(+) operator(()ident(tm)operator(->)ident(tm_sec) operator(-) ident(tptr)operator(->)ident(tm_sec)operator(\);) reserved(if) operator(()ident(tptr)operator(->)ident(tm_mday) operator(!=) ident(tm)operator(->)ident(tm_mday)operator(\)) ident(guess2) operator(+=) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) reserved(if) operator(()ident(guess) operator(!=) ident(guess2)operator(\)) operator({) ident(tm) operator(=) ident(localtime)operator((&)ident(guess2)operator(\);) reserved(if) operator(()ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(guess) operator(<) ident(guess2)operator(\)) reserved(return) ident(guess)operator(;) reserved(else) reserved(return) ident(guess2)operator(;) operator(}) operator(}) operator(}) operator(}) operator(}) reserved(else) operator({) ident(guess2) operator(=) ident(guess) operator(+) integer(2) operator(*) integer(60) operator(*) integer(60)operator(;) ident(tm) operator(=) ident(localtime)operator((&)ident(guess2)operator(\);) reserved(if) operator(()ident(tm)operator(\)) operator({) reserved(if) operator((()ident(tptr)operator(->)ident(tm_hour) operator(+) integer(2)operator(\)) operator(%) integer(24) operator(!=) ident(tm)operator(->)ident(tm_hour) operator(||) ident(tptr)operator(->)ident(tm_min) operator(!=) ident(tm)operator(->)ident(tm_min) operator(||) ident(tptr)operator(->)ident(tm_sec) operator(!=) ident(tm)operator(->)ident(tm_sec)operator(\)) operator({) ident(guess2) operator(-=) operator(()ident(tm)operator(->)ident(tm_hour) operator(-) ident(tptr)operator(->)ident(tm_hour)operator(\)) operator(*) integer(60) operator(*) integer(60) operator(+) operator(()ident(tm)operator(->)ident(tm_min) operator(-) ident(tptr)operator(->)ident(tm_min)operator(\)) operator(*) integer(60) operator(+) operator(()ident(tm)operator(->)ident(tm_sec) operator(-) ident(tptr)operator(->)ident(tm_sec)operator(\);) reserved(if) operator(()ident(tptr)operator(->)ident(tm_mday) operator(!=) ident(tm)operator(->)ident(tm_mday)operator(\)) ident(guess2) operator(-=) integer(24) operator(*) integer(60) operator(*) integer(60)operator(;) reserved(if) operator(()ident(guess) operator(!=) ident(guess2)operator(\)) operator({) ident(tm) operator(=) ident(localtime)operator((&)ident(guess2)operator(\);) reserved(if) operator(()ident(tmcmp)operator(()ident(tptr)operator(,) ident(tm)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(if) operator(()ident(guess) operator(<) ident(guess2)operator(\)) reserved(return) ident(guess2)operator(;) reserved(else) reserved(return) ident(guess)operator(;) operator(}) operator(}) operator(}) operator(}) operator(}) operator(}) reserved(return) ident(guess)operator(;) operator(}) operator(}) comment(/* Given argument has no corresponding time_t. Let's outerpolation. */) reserved(if) operator(()ident(tm_lo)operator(.)ident(tm_year) operator(==) ident(tptr)operator(->)ident(tm_year) operator(&&) ident(tm_lo)operator(.)ident(tm_mon) operator(==) ident(tptr)operator(->)ident(tm_mon)operator(\)) operator({) reserved(return) ident(guess_lo) operator(+) operator(()ident(tptr)operator(->)ident(tm_mday) operator(-) ident(tm_lo)operator(.)ident(tm_mday)operator(\)) operator(*) integer(24) operator(*) integer(60) operator(*) integer(60) operator(+) operator(()ident(tptr)operator(->)ident(tm_hour) operator(-) ident(tm_lo)operator(.)ident(tm_hour)operator(\)) operator(*) integer(60) operator(*) integer(60) operator(+) operator(()ident(tptr)operator(->)ident(tm_min) operator(-) ident(tm_lo)operator(.)ident(tm_min)operator(\)) operator(*) integer(60) operator(+) operator(()ident(tptr)operator(->)ident(tm_sec) operator(-) ident(tm_lo)operator(.)ident(tm_sec)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(tm_hi)operator(.)ident(tm_year) operator(==) ident(tptr)operator(->)ident(tm_year) operator(&&) ident(tm_hi)operator(.)ident(tm_mon) operator(==) ident(tptr)operator(->)ident(tm_mon)operator(\)) operator({) reserved(return) ident(guess_hi) operator(+) operator(()ident(tptr)operator(->)ident(tm_mday) operator(-) ident(tm_hi)operator(.)ident(tm_mday)operator(\)) operator(*) integer(24) operator(*) integer(60) operator(*) integer(60) operator(+) operator(()ident(tptr)operator(->)ident(tm_hour) operator(-) ident(tm_hi)operator(.)ident(tm_hour)operator(\)) operator(*) integer(60) operator(*) integer(60) operator(+) operator(()ident(tptr)operator(->)ident(tm_min) operator(-) ident(tm_hi)operator(.)ident(tm_min)operator(\)) operator(*) integer(60) operator(+) operator(()ident(tptr)operator(->)ident(tm_sec) operator(-) ident(tm_hi)operator(.)ident(tm_sec)operator(\);) operator(}) label(out_of_range:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) label(error:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(return) integer(0)operator(;) comment(/* not reached */) operator(}) directive(static) ident(time_t) ident(make_time_t)operator(()ident(tptr)operator(,) ident(utc_p)operator(\)) reserved(struct) ident(tm) operator(*)ident(tptr)operator(;) pre_type(int) ident(utc_p)operator(;) operator({) ident(time_t) ident(t)operator(;) reserved(struct) ident(tm) operator(*)ident(tmp)operator(,) ident(buf)operator(;) ident(buf) operator(=) operator(*)ident(tptr)operator(;) reserved(if) operator(()ident(utc_p)operator(\)) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_TIMEGM)operator(\)) reserved(if) operator((()ident(t) operator(=) ident(timegm)operator((&)ident(buf)operator(\)\)) operator(!=) operator(-)integer(1)operator(\)) reserved(return) ident(t)operator(;) preprocessor(#ifdef) ident(NEGATIVE_TIME_T) reserved(if) operator((()ident(tmp) operator(=) ident(gmtime)operator((&)ident(t)operator(\)\)) operator(&&) ident(tptr)operator(->)ident(tm_year) operator(==) ident(tmp)operator(->)ident(tm_year) operator(&&) ident(tptr)operator(->)ident(tm_mon) operator(==) ident(tmp)operator(->)ident(tm_mon) operator(&&) ident(tptr)operator(->)ident(tm_mday) operator(==) ident(tmp)operator(->)ident(tm_mday) operator(&&) ident(tptr)operator(->)ident(tm_hour) operator(==) ident(tmp)operator(->)ident(tm_hour) operator(&&) ident(tptr)operator(->)ident(tm_min) operator(==) ident(tmp)operator(->)ident(tm_min) operator(&&) ident(tptr)operator(->)ident(tm_sec) operator(==) ident(tmp)operator(->)ident(tm_sec)operator(\)) reserved(return) ident(t)operator(;) preprocessor(#endif) preprocessor(#endif) reserved(return) ident(search_time_t)operator((&)ident(buf)operator(,) ident(utc_p)operator(\);) operator(}) reserved(else) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_MKTIME)operator(\)) reserved(if) operator((()ident(t) operator(=) ident(mktime)operator((&)ident(buf)operator(\)\)) operator(!=) operator(-)integer(1)operator(\)) reserved(return) ident(t)operator(;) preprocessor(#ifdef) ident(NEGATIVE_TIME_T) reserved(if) operator((()ident(tmp) operator(=) ident(localtime)operator((&)ident(t)operator(\)\)) operator(&&) ident(tptr)operator(->)ident(tm_year) operator(==) ident(tmp)operator(->)ident(tm_year) operator(&&) ident(tptr)operator(->)ident(tm_mon) operator(==) ident(tmp)operator(->)ident(tm_mon) operator(&&) ident(tptr)operator(->)ident(tm_mday) operator(==) ident(tmp)operator(->)ident(tm_mday) operator(&&) ident(tptr)operator(->)ident(tm_hour) operator(==) ident(tmp)operator(->)ident(tm_hour) operator(&&) ident(tptr)operator(->)ident(tm_min) operator(==) ident(tmp)operator(->)ident(tm_min) operator(&&) ident(tptr)operator(->)ident(tm_sec) operator(==) ident(tmp)operator(->)ident(tm_sec)operator(\)) reserved(return) ident(t)operator(;) preprocessor(#endif) preprocessor(#endif) reserved(return) ident(search_time_t)operator((&)ident(buf)operator(,) ident(utc_p)operator(\);) operator(}) operator(}) directive(static) ident(VALUE) ident(time_utc_or_local)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(utc_p)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) pre_type(int) ident(utc_p)operator(;) ident(VALUE) ident(klass)operator(;) operator({) reserved(struct) ident(tm) ident(tm)operator(;) ident(VALUE) ident(time)operator(;) ident(time_t) ident(usec)operator(;) ident(time_arg)operator(()ident(argc)operator(,) ident(argv)operator(,) operator(&)ident(tm)operator(,) operator(&)ident(usec)operator(\);) ident(time) operator(=) ident(time_new_internal)operator(()ident(klass)operator(,) ident(make_time_t)operator((&)ident(tm)operator(,) ident(utc_p)operator(\),) ident(usec)operator(\);) reserved(if) operator(()ident(utc_p)operator(\)) reserved(return) ident(time_gmtime)operator(()ident(time)operator(\);) reserved(return) ident(time_localtime)operator(()ident(time)operator(\);) operator(}) comment(/* * call-seq: * Time.utc( year [, month, day, hour, min, sec, usec] \) => time * Time.utc( sec, min, hour, day, month, year, wday, yday, isdst, tz * \) => time * Time.gm( year [, month, day, hour, min, sec, usec] \) => time * Time.gm( sec, min, hour, day, month, year, wday, yday, isdst, tz * \) => time * * Creates a time based on given values, interpreted as UTC (GMT\). The * year must be specified. Other values default to the minimum value * for that field (and may be nil or omitted\). Months may * be specified by numbers from 1 to 12, or by the three-letter English * month names. Hours are specified on a 24-hour clock (0..23\). Raises * an ArgumentError if any values are out of range. Will * also accept ten arguments in the order output by * Time#to_a. * * Time.utc(2000,"jan",1,20,15,1\) #=> Sat Jan 01 20:15:01 UTC 2000 * Time.gm(2000,"jan",1,20,15,1\) #=> Sat Jan 01 20:15:01 UTC 2000 */) directive(static) ident(VALUE) ident(time_s_mkutc)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) reserved(return) ident(time_utc_or_local)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(Qtrue)operator(,) ident(klass)operator(\);) operator(}) comment(/* * call-seq: * Time.local( year [, month, day, hour, min, sec, usec] \) => time * Time.local( sec, min, hour, day, month, year, wday, yday, isdst, * tz \) => time * Time.mktime( year, month, day, hour, min, sec, usec \) => time * * Same as Time::gm, but interprets the values in the * local time zone. * * Time.local(2000,"jan",1,20,15,1\) #=> Sat Jan 01 20:15:01 CST 2000 */) directive(static) ident(VALUE) ident(time_s_mktime)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(klass)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(klass)operator(;) operator({) reserved(return) ident(time_utc_or_local)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(Qfalse)operator(,) ident(klass)operator(\);) operator(}) comment(/* * call-seq: * time.to_i => int * time.tv_sec => int * * Returns the value of time as an integer number of seconds * since epoch. * * t = Time.now * "%10.5f" % t.to_f #=> "1049896564.17839" * t.to_i #=> 1049896564 */) directive(static) ident(VALUE) ident(time_to_i)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(\);) operator(}) comment(/* * call-seq: * time.to_f => float * * Returns the value of time as a floating point number of * seconds since epoch. * * t = Time.now * "%10.5f" % t.to_f #=> "1049896564.13654" * t.to_i #=> 1049896564 */) directive(static) ident(VALUE) ident(time_to_f)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(return) ident(rb_float_new)operator((()pre_type(double)operator(\))ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(+()pre_type(double)operator(\))ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec)operator(/)float(1)ident(e6)operator(\);) operator(}) comment(/* * call-seq: * time.usec => int * time.tv_usec => int * * Returns just the number of microseconds for time. * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * "%10.6f" % t.to_f #=> "1049896564.259970" * t.usec #=> 259970 */) directive(static) ident(VALUE) ident(time_usec)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(return) ident(LONG2NUM)operator(()ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec)operator(\);) operator(}) comment(/* * call-seq: * time <=> other_time => -1, 0, +1 * time <=> numeric => -1, 0, +1 * * Comparison---Compares time with other_time or with * numeric, which is the number of seconds (possibly * fractional\) since epoch. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t2 = t + 2592000 #=> Fri May 09 08:56:03 CDT 2003 * t <=> t2 #=> -1 * t2 <=> t #=> 1 * t <=> t #=> 0 */) directive(static) ident(VALUE) ident(time_cmp)operator(()ident(time1)operator(,) ident(time2)operator(\)) ident(VALUE) ident(time1)operator(,) ident(time2)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj1)operator(,) operator(*)ident(tobj2)operator(;) ident(GetTimeval)operator(()ident(time1)operator(,) ident(tobj1)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(time2)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(time2)operator(\)->)ident(dfree) operator(==) ident(time_free)operator(\)) operator({) ident(GetTimeval)operator(()ident(time2)operator(,) ident(tobj2)operator(\);) reserved(if) operator(()ident(tobj1)operator(->)ident(tv)operator(.)ident(tv_sec) operator(==) ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_sec)operator(\)) operator({) reserved(if) operator(()ident(tobj1)operator(->)ident(tv)operator(.)ident(tv_usec) operator(==) ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_usec)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) reserved(if) operator(()ident(tobj1)operator(->)ident(tv)operator(.)ident(tv_usec) operator(>) ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_usec)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(if) operator(()ident(tobj1)operator(->)ident(tv)operator(.)ident(tv_sec) operator(>) ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_sec)operator(\)) reserved(return) ident(INT2FIX)operator(()integer(1)operator(\);) reserved(return) ident(INT2FIX)operator((-)integer(1)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) comment(/* * call-seq: * time.eql?(other_time\) * * Return true if time and other_time are * both Time objects with the same seconds and fractional * seconds. */) directive(static) ident(VALUE) ident(time_eql)operator(()ident(time1)operator(,) ident(time2)operator(\)) ident(VALUE) ident(time1)operator(,) ident(time2)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj1)operator(,) operator(*)ident(tobj2)operator(;) ident(GetTimeval)operator(()ident(time1)operator(,) ident(tobj1)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(time2)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(time2)operator(\)->)ident(dfree) operator(==) ident(time_free)operator(\)) operator({) ident(GetTimeval)operator(()ident(time2)operator(,) ident(tobj2)operator(\);) reserved(if) operator(()ident(tobj1)operator(->)ident(tv)operator(.)ident(tv_sec) operator(==) ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_sec)operator(\)) operator({) reserved(if) operator(()ident(tobj1)operator(->)ident(tv)operator(.)ident(tv_usec) operator(==) ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_usec)operator(\)) reserved(return) ident(Qtrue)operator(;) operator(}) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * time.utc? => true or false * time.gmt? => true or false * * Returns true if time represents a time in UTC * (GMT\). * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t.utc? #=> false * t = Time.gm(2000,"jan",1,20,15,1\) #=> Sat Jan 01 20:15:01 UTC 2000 * t.utc? #=> true * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t.gmt? #=> false * t = Time.gm(2000,1,1,20,15,1\) #=> Sat Jan 01 20:15:01 UTC 2000 * t.gmt? #=> true */) directive(static) ident(VALUE) ident(time_utc_p)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(gmt)operator(\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * time.hash => fixnum * * Return a hash code for this time object. */) directive(static) ident(VALUE) ident(time_hash)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) pre_type(long) ident(hash)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(hash) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(^) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(hash)operator(\);) operator(}) comment(/* :nodoc: */) directive(static) ident(VALUE) ident(time_init_copy)operator(()ident(copy)operator(,) ident(time)operator(\)) ident(VALUE) ident(copy)operator(,) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(,) operator(*)ident(tcopy)operator(;) reserved(if) operator(()ident(copy) operator(==) ident(time)operator(\)) reserved(return) ident(copy)operator(;) ident(time_modify)operator(()ident(copy)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(time)operator(\)) operator(!=) ident(T_DATA) operator(||) ident(RDATA)operator(()ident(time)operator(\)->)ident(dfree) operator(!=) ident(time_free)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(GetTimeval)operator(()ident(copy)operator(,) ident(tcopy)operator(\);) ident(MEMCPY)operator(()ident(tcopy)operator(,) ident(tobj)operator(,) reserved(struct) ident(time_object)operator(,) integer(1)operator(\);) reserved(return) ident(copy)operator(;) operator(}) directive(static) ident(VALUE) ident(time_dup)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) ident(VALUE) ident(dup) operator(=) ident(time_s_alloc)operator(()ident(CLASS_OF)operator(()ident(time)operator(\)\);) ident(time_init_copy)operator(()ident(dup)operator(,) ident(time)operator(\);) reserved(return) ident(dup)operator(;) operator(}) comment(/* * call-seq: * time.localtime => time * * Converts time to local time (using the local time zone in * effect for this process\) modifying the receiver. * * t = Time.gm(2000, "jan", 1, 20, 15, 1\) * t.gmt? #=> true * t.localtime #=> Sat Jan 01 14:15:01 CST 2000 * t.gmt? #=> false */) directive(static) ident(VALUE) ident(time_localtime)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) reserved(struct) ident(tm) operator(*)ident(tm_tmp)operator(;) ident(time_t) ident(t)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator((!)ident(tobj)operator(->)ident(gmt)operator(\)) operator({) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got)operator(\)) reserved(return) ident(time)operator(;) operator(}) reserved(else) operator({) ident(time_modify)operator(()ident(time)operator(\);) operator(}) ident(t) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(;) ident(tm_tmp) operator(=) ident(localtime)operator((&)ident(t)operator(\);) reserved(if) operator((!)ident(tm_tmp)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(tobj)operator(->)ident(tm) operator(=) operator(*)ident(tm_tmp)operator(;) ident(tobj)operator(->)ident(tm_got) operator(=) integer(1)operator(;) ident(tobj)operator(->)ident(gmt) operator(=) integer(0)operator(;) reserved(return) ident(time)operator(;) operator(}) comment(/* * call-seq: * time.gmtime => time * time.utc => time * * Converts time to UTC (GMT\), modifying the receiver. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t.gmt? #=> false * t.gmtime #=> Wed Apr 09 13:56:03 UTC 2003 * t.gmt? #=> true * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t.utc? #=> false * t.utc #=> Wed Apr 09 13:56:04 UTC 2003 * t.utc? #=> true */) directive(static) ident(VALUE) ident(time_gmtime)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) reserved(struct) ident(tm) operator(*)ident(tm_tmp)operator(;) ident(time_t) ident(t)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(gmt)operator(\)) operator({) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got)operator(\)) reserved(return) ident(time)operator(;) operator(}) reserved(else) operator({) ident(time_modify)operator(()ident(time)operator(\);) operator(}) ident(t) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(;) ident(tm_tmp) operator(=) ident(gmtime)operator((&)ident(t)operator(\);) reserved(if) operator((!)ident(tm_tmp)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(tobj)operator(->)ident(tm) operator(=) operator(*)ident(tm_tmp)operator(;) ident(tobj)operator(->)ident(tm_got) operator(=) integer(1)operator(;) ident(tobj)operator(->)ident(gmt) operator(=) integer(1)operator(;) reserved(return) ident(time)operator(;) operator(}) comment(/* * call-seq: * time.getlocal => new_time * * Returns a new new_time object representing time in * local time (using the local time zone in effect for this process\). * * t = Time.gm(2000,1,1,20,15,1\) #=> Sat Jan 01 20:15:01 UTC 2000 * t.gmt? #=> true * l = t.getlocal #=> Sat Jan 01 14:15:01 CST 2000 * l.gmt? #=> false * t == l #=> true */) directive(static) ident(VALUE) ident(time_getlocaltime)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(return) ident(time_localtime)operator(()ident(time_dup)operator(()ident(time)operator(\)\);) operator(}) comment(/* * call-seq: * time.getgm => new_time * time.getutc => new_time * * Returns a new new_time object representing time in * UTC. * * t = Time.local(2000,1,1,20,15,1\) #=> Sat Jan 01 20:15:01 CST 2000 * t.gmt? #=> false * y = t.getgm #=> Sun Jan 02 02:15:01 UTC 2000 * y.gmt? #=> true * t == y #=> true */) directive(static) ident(VALUE) ident(time_getgmtime)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(return) ident(time_gmtime)operator(()ident(time_dup)operator(()ident(time)operator(\)\);) operator(}) directive(static) ident(VALUE) ident(time_get_tm)operator(()ident(time)operator(,) ident(gmt)operator(\)) ident(VALUE) ident(time)operator(;) pre_type(int) ident(gmt)operator(;) operator({) reserved(if) operator(()ident(gmt)operator(\)) reserved(return) ident(time_gmtime)operator(()ident(time)operator(\);) reserved(return) ident(time_localtime)operator(()ident(time)operator(\);) operator(}) comment(/* * call-seq: * time.asctime => string * time.ctime => string * * Returns a canonical string representation of time. * * Time.now.asctime #=> "Wed Apr 9 08:56:03 2003" */) directive(static) ident(VALUE) ident(time_asctime)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) pre_type(char) operator(*)ident(s)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) ident(s) operator(=) ident(asctime)operator((&)ident(tobj)operator(->)ident(tm)operator(\);) reserved(if) operator(()ident(s)operator([)integer(24)operator(]) operator(==) char('\\n')operator(\)) ident(s)operator([)integer(24)operator(]) operator(=) char('\\0')operator(;) reserved(return) ident(rb_str_new2)operator(()ident(s)operator(\);) operator(}) comment(/* * call-seq: * time.inspect => string * time.to_s => string * * Returns a string representing time. Equivalent to calling * Time#strftime with a format string of ``%a * %b %d %H:%M:%S * %Z %Y''. * * Time.now.to_s #=> "Wed Apr 09 08:56:04 CDT 2003" */) directive(static) ident(VALUE) ident(time_to_s)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) pre_type(char) ident(buf)operator([)integer(128)operator(];) pre_type(int) ident(len)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(if) operator(()ident(tobj)operator(->)ident(gmt) operator(==) integer(1)operator(\)) operator({) ident(len) operator(=) ident(strftime)operator(()ident(buf)operator(,) integer(128)operator(,) stringoperator(,) operator(&)ident(tobj)operator(->)ident(tm)operator(\);) operator(}) reserved(else) operator({) ident(time_t) ident(off)operator(;) pre_type(char) ident(buf2)operator([)integer(32)operator(];) pre_type(char) ident(sign) operator(=) char('+')operator(;) preprocessor(#if) ident(defined)operator(()ident(HAVE_STRUCT_TM_TM_GMTOFF)operator(\)) ident(off) operator(=) ident(tobj)operator(->)ident(tm)operator(.)ident(tm_gmtoff)operator(;) preprocessor(#else) ident(VALUE) ident(tmp) operator(=) ident(time_utc_offset)operator(()ident(time)operator(\);) ident(off) operator(=) ident(NUM2INT)operator(()ident(tmp)operator(\);) preprocessor(#endif) reserved(if) operator(()ident(off) operator(<) integer(0)operator(\)) operator({) ident(sign) operator(=) char('-')operator(;) ident(off) operator(=) operator(-)ident(off)operator(;) operator(}) ident(sprintf)operator(()ident(buf2)operator(,) stringoperator(,) ident(sign)operator(,) operator(()pre_type(int)operator(\)()ident(off)operator(/)integer(3600)operator(\),) operator(()pre_type(int)operator(\)()ident(off)operator(%)integer(3600)operator(/)integer(60)operator(\)\);) ident(len) operator(=) ident(strftime)operator(()ident(buf)operator(,) integer(128)operator(,) ident(buf2)operator(,) operator(&)ident(tobj)operator(->)ident(tm)operator(\);) operator(}) reserved(return) ident(rb_str_new)operator(()ident(buf)operator(,) ident(len)operator(\);) operator(}) directive(static) ident(VALUE) ident(time_add)operator(()ident(tobj)operator(,) ident(offset)operator(,) ident(sign)operator(\)) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(VALUE) ident(offset)operator(;) pre_type(int) ident(sign)operator(;) operator({) pre_type(double) ident(v) operator(=) ident(NUM2DBL)operator(()ident(offset)operator(\);) pre_type(double) ident(f)operator(,) ident(d)operator(;) ident(unsigned_time_t) ident(sec_off)operator(;) ident(time_t) ident(usec_off)operator(,) ident(sec)operator(,) ident(usec)operator(;) ident(VALUE) ident(result)operator(;) reserved(if) operator(()ident(v) operator(<) integer(0)operator(\)) operator({) ident(v) operator(=) operator(-)ident(v)operator(;) ident(sign) operator(=) operator(-)ident(sign)operator(;) operator(}) ident(d) operator(=) ident(modf)operator(()ident(v)operator(,) operator(&)ident(f)operator(\);) ident(sec_off) operator(=) operator(()ident(unsigned_time_t)operator(\))ident(f)operator(;) reserved(if) operator(()ident(f) operator(!=) operator(()pre_type(double)operator(\))ident(sec_off)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(sign) operator(<) integer(0) operator(?) string operator(:) stringoperator(,) ident(v)operator(\);) ident(usec_off) operator(=) operator(()ident(time_t)operator(\)()ident(d)operator(*)float(1)ident(e6)operator(+)float(0)float(.5)operator(\);) reserved(if) operator(()ident(sign) operator(<) integer(0)operator(\)) operator({) ident(sec) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(-) ident(sec_off)operator(;) ident(usec) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(-) ident(usec_off)operator(;) reserved(if) operator(()ident(sec) operator(>) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(v)operator(\);) operator(}) reserved(else) operator({) ident(sec) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(+) ident(sec_off)operator(;) ident(usec) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(+) ident(usec_off)operator(;) reserved(if) operator(()ident(sec) operator(<) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(\)) ident(rb_raise)operator(()ident(rb_eRangeError)operator(,) stringoperator(,) ident(v)operator(\);) operator(}) ident(result) operator(=) ident(rb_time_new)operator(()ident(sec)operator(,) ident(usec)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(gmt)operator(\)) operator({) ident(GetTimeval)operator(()ident(result)operator(,) ident(tobj)operator(\);) ident(tobj)operator(->)ident(gmt) operator(=) integer(1)operator(;) operator(}) reserved(return) ident(result)operator(;) operator(}) comment(/* * call-seq: * time + numeric => time * * Addition---Adds some number of seconds (possibly fractional\) to * time and returns that value as a new time. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t + (60 * 60 * 24\) #=> Thu Apr 10 08:56:03 CDT 2003 */) directive(static) ident(VALUE) ident(time_plus)operator(()ident(time1)operator(,) ident(time2)operator(\)) ident(VALUE) ident(time1)operator(,) ident(time2)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time1)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(time2)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(time2)operator(\)->)ident(dfree) operator(==) ident(time_free)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) reserved(return) ident(time_add)operator(()ident(tobj)operator(,) ident(time2)operator(,) integer(1)operator(\);) operator(}) comment(/* * call-seq: * time - other_time => float * time - numeric => time * * Difference---Returns a new time that represents the difference * between two times, or subtracts the given number of seconds in * numeric from time. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t2 = t + 2592000 #=> Fri May 09 08:56:03 CDT 2003 * t2 - t #=> 2592000.0 * t2 - 2592000 #=> Wed Apr 09 08:56:03 CDT 2003 */) directive(static) ident(VALUE) ident(time_minus)operator(()ident(time1)operator(,) ident(time2)operator(\)) ident(VALUE) ident(time1)operator(,) ident(time2)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time1)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(TYPE)operator(()ident(time2)operator(\)) operator(==) ident(T_DATA) operator(&&) ident(RDATA)operator(()ident(time2)operator(\)->)ident(dfree) operator(==) ident(time_free)operator(\)) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj2)operator(;) pre_type(double) ident(f)operator(;) ident(GetTimeval)operator(()ident(time2)operator(,) ident(tobj2)operator(\);) ident(f) operator(=) operator(()pre_type(double)operator(\))ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(-) operator(()pre_type(double)operator(\))ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_sec)operator(;) ident(f) operator(+=) operator((()pre_type(double)operator(\))ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(-) operator(()pre_type(double)operator(\))ident(tobj2)operator(->)ident(tv)operator(.)ident(tv_usec)operator(\)*)float(1)ident(e)operator(-)integer(6)operator(;) comment(/* XXX: should check float overflow on 64bit time_t platforms */) reserved(return) ident(rb_float_new)operator(()ident(f)operator(\);) operator(}) reserved(return) ident(time_add)operator(()ident(tobj)operator(,) ident(time2)operator(,) operator(-)integer(1)operator(\);) operator(}) comment(/* * call-seq: * time.succ => new_time * * Return a new time object, one second later than time. */) directive(static) ident(VALUE) ident(time_succ)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) pre_type(int) ident(gmt)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(gmt) operator(=) ident(tobj)operator(->)ident(gmt)operator(;) ident(time) operator(=) ident(rb_time_new)operator(()ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(+) integer(1)operator(,) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec)operator(\);) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(tobj)operator(->)ident(gmt) operator(=) ident(gmt)operator(;) reserved(return) ident(time)operator(;) operator(}) comment(/* * call-seq: * time.sec => fixnum * * Returns the second of the minute (0..60\)[Yes, seconds really can * range from zero to 60. This allows the system to inject leap seconds * every now and then to correct for the fact that years are not really * a convenient number of hours long.] for time. * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t.sec #=> 4 */) directive(static) ident(VALUE) ident(time_sec)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_sec)operator(\);) operator(}) comment(/* * call-seq: * time.min => fixnum * * Returns the minute of the hour (0..59\) for time. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t.min #=> 56 */) directive(static) ident(VALUE) ident(time_min)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_min)operator(\);) operator(}) comment(/* * call-seq: * time.hour => fixnum * * Returns the hour of the day (0..23\) for time. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t.hour #=> 8 */) directive(static) ident(VALUE) ident(time_hour)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_hour)operator(\);) operator(}) comment(/* * call-seq: * time.day => fixnum * time.mday => fixnum * * Returns the day of the month (1..n\) for time. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t.day #=> 9 * t.mday #=> 9 */) directive(static) ident(VALUE) ident(time_mday)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_mday)operator(\);) operator(}) comment(/* * call-seq: * time.mon => fixnum * time.month => fixnum * * Returns the month of the year (1..12\) for time. * * t = Time.now #=> Wed Apr 09 08:56:03 CDT 2003 * t.mon #=> 4 * t.month #=> 4 */) directive(static) ident(VALUE) ident(time_mon)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_mon)operator(+)integer(1)operator(\);) operator(}) comment(/* * call-seq: * time.year => fixnum * * Returns the year for time (including the century\). * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t.year #=> 2003 */) directive(static) ident(VALUE) ident(time_year)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(LONG2NUM)operator((()pre_type(long)operator(\))ident(tobj)operator(->)ident(tm)operator(.)ident(tm_year)operator(+)integer(1900)operator(\);) operator(}) comment(/* * call-seq: * time.wday => fixnum * * Returns an integer representing the day of the week, 0..6, with * Sunday == 0. * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t.wday #=> 3 */) directive(static) ident(VALUE) ident(time_wday)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_wday)operator(\);) operator(}) comment(/* * call-seq: * time.yday => fixnum * * Returns an integer representing the day of the year, 1..366. * * t = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t.yday #=> 99 */) directive(static) ident(VALUE) ident(time_yday)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_yday)operator(+)integer(1)operator(\);) operator(}) comment(/* * call-seq: * time.isdst => true or false * time.dst? => true or false * * Returns true if time occurs during Daylight * Saving Time in its time zone. * * Time.local(2000, 7, 1\).isdst #=> true * Time.local(2000, 1, 1\).isdst #=> false * Time.local(2000, 7, 1\).dst? #=> true * Time.local(2000, 1, 1\).dst? #=> false */) directive(static) ident(VALUE) ident(time_isdst)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(tobj)operator(->)ident(tm)operator(.)ident(tm_isdst)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(;) operator(}) comment(/* * call-seq: * time.zone => string * * Returns the name of the time zone used for time. As of Ruby * 1.8, returns ``UTC'' rather than ``GMT'' for UTC times. * * t = Time.gm(2000, "jan", 1, 20, 15, 1\) * t.zone #=> "UTC" * t = Time.local(2000, "jan", 1, 20, 15, 1\) * t.zone #=> "CST" */) directive(static) ident(VALUE) ident(time_zone)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) preprocessor(#if) operator(!)ident(defined)operator(()ident(HAVE_TM_ZONE)operator(\)) operator(&&) operator((!)ident(defined)operator(()ident(HAVE_TZNAME)operator(\)) operator(||) operator(!)ident(defined)operator(()ident(HAVE_DAYLIGHT)operator(\)\)) pre_type(char) ident(buf)operator([)integer(64)operator(];) pre_type(int) ident(len)operator(;) preprocessor(#endif) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(if) operator(()ident(tobj)operator(->)ident(gmt) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(rb_str_new2)operator(()stringoperator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(HAVE_TM_ZONE)operator(\)) reserved(return) ident(rb_str_new2)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_zone)operator(\);) preprocessor(#elif) ident(defined)operator(()ident(HAVE_TZNAME)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_DAYLIGHT)operator(\)) reserved(return) ident(rb_str_new2)operator(()ident(tzname)operator([)ident(daylight) operator(&&) ident(tobj)operator(->)ident(tm)operator(.)ident(tm_isdst)operator(]\);) preprocessor(#else) ident(len) operator(=) ident(strftime)operator(()ident(buf)operator(,) integer(64)operator(,) stringoperator(,) operator(&)ident(tobj)operator(->)ident(tm)operator(\);) reserved(return) ident(rb_str_new)operator(()ident(buf)operator(,) ident(len)operator(\);) preprocessor(#endif) operator(}) comment(/* * call-seq: * time.gmt_offset => fixnum * time.gmtoff => fixnum * time.utc_offset => fixnum * * Returns the offset in seconds between the timezone of time * and UTC. * * t = Time.gm(2000,1,1,20,15,1\) #=> Sat Jan 01 20:15:01 UTC 2000 * t.gmt_offset #=> 0 * l = t.getlocal #=> Sat Jan 01 14:15:01 CST 2000 * l.gmt_offset #=> -21600 */) directive(static) ident(VALUE) ident(time_utc_offset)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(if) operator(()ident(tobj)operator(->)ident(gmt) operator(==) integer(1)operator(\)) operator({) reserved(return) ident(INT2FIX)operator(()integer(0)operator(\);) operator(}) reserved(else) operator({) preprocessor(#if) ident(defined)operator(()ident(HAVE_STRUCT_TM_TM_GMTOFF)operator(\)) reserved(return) ident(INT2NUM)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_gmtoff)operator(\);) preprocessor(#else) reserved(struct) ident(tm) operator(*)ident(u)operator(,) operator(*)ident(l)operator(;) ident(time_t) ident(t)operator(;) pre_type(long) ident(off)operator(;) ident(l) operator(=) operator(&)ident(tobj)operator(->)ident(tm)operator(;) ident(t) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(;) ident(u) operator(=) ident(gmtime)operator((&)ident(t)operator(\);) reserved(if) operator((!)ident(u)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) reserved(if) operator(()ident(l)operator(->)ident(tm_year) operator(!=) ident(u)operator(->)ident(tm_year)operator(\)) ident(off) operator(=) ident(l)operator(->)ident(tm_year) operator(<) ident(u)operator(->)ident(tm_year) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(l)operator(->)ident(tm_mon) operator(!=) ident(u)operator(->)ident(tm_mon)operator(\)) ident(off) operator(=) ident(l)operator(->)ident(tm_mon) operator(<) ident(u)operator(->)ident(tm_mon) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) reserved(if) operator(()ident(l)operator(->)ident(tm_mday) operator(!=) ident(u)operator(->)ident(tm_mday)operator(\)) ident(off) operator(=) ident(l)operator(->)ident(tm_mday) operator(<) ident(u)operator(->)ident(tm_mday) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(else) ident(off) operator(=) integer(0)operator(;) ident(off) operator(=) ident(off) operator(*) integer(24) operator(+) ident(l)operator(->)ident(tm_hour) operator(-) ident(u)operator(->)ident(tm_hour)operator(;) ident(off) operator(=) ident(off) operator(*) integer(60) operator(+) ident(l)operator(->)ident(tm_min) operator(-) ident(u)operator(->)ident(tm_min)operator(;) ident(off) operator(=) ident(off) operator(*) integer(60) operator(+) ident(l)operator(->)ident(tm_sec) operator(-) ident(u)operator(->)ident(tm_sec)operator(;) reserved(return) ident(LONG2FIX)operator(()ident(off)operator(\);) preprocessor(#endif) operator(}) operator(}) comment(/* * call-seq: * time.to_a => array * * Returns a ten-element array of values for time: * {[ sec, min, hour, day, month, year, wday, yday, isdst, zone * ]}. See the individual methods for an explanation of the * valid ranges of each value. The ten elements can be passed directly * to Time::utc or Time::local to create a * new Time. * * now = Time.now #=> Wed Apr 09 08:56:04 CDT 2003 * t = now.to_a #=> [4, 56, 8, 9, 4, 2003, 3, 99, true, "CDT"] */) directive(static) ident(VALUE) ident(time_to_a)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) reserved(return) ident(rb_ary_new3)operator(()integer(10)operator(,) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_sec)operator(\),) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_min)operator(\),) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_hour)operator(\),) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_mday)operator(\),) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_mon)operator(+)integer(1)operator(\),) ident(LONG2NUM)operator((()pre_type(long)operator(\))ident(tobj)operator(->)ident(tm)operator(.)ident(tm_year)operator(+)integer(1900)operator(\),) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_wday)operator(\),) ident(INT2FIX)operator(()ident(tobj)operator(->)ident(tm)operator(.)ident(tm_yday)operator(+)integer(1)operator(\),) ident(tobj)operator(->)ident(tm)operator(.)ident(tm_isdst)operator(?)ident(Qtrue)operator(:)ident(Qfalse)operator(,) ident(time_zone)operator(()ident(time)operator(\)\);) operator(}) preprocessor(#define) ident(SMALLBUF) integer(100) directive(static) pre_type(int) ident(rb_strftime)operator(()ident(buf)operator(,) ident(format)operator(,) ident(time)operator(\)) pre_type(char) operator(**)ident(buf)operator(;) directive(const) pre_type(char) operator(*)ident(format)operator(;) reserved(struct) ident(tm) operator(*)ident(time)operator(;) operator({) pre_type(int) ident(size)operator(,) ident(len)operator(,) ident(flen)operator(;) operator((*)ident(buf)operator(\)[)integer(0)operator(]) operator(=) char('\\0')operator(;) ident(flen) operator(=) ident(strlen)operator(()ident(format)operator(\);) reserved(if) operator(()ident(flen) operator(==) integer(0)operator(\)) operator({) reserved(return) integer(0)operator(;) operator(}) ident(errno) operator(=) integer(0)operator(;) ident(len) operator(=) ident(strftime)operator((*)ident(buf)operator(,) ident(SMALLBUF)operator(,) ident(format)operator(,) ident(time)operator(\);) reserved(if) operator(()ident(len) operator(!=) integer(0) operator(||) operator((**)ident(buf) operator(==) char('\\0') operator(&&) ident(errno) operator(!=) ident(ERANGE)operator(\)\)) reserved(return) ident(len)operator(;) reserved(for) operator(()ident(size)operator(=)integer(1024)operator(;) operator(;) ident(size)operator(*=)integer(2)operator(\)) operator({) operator(*)ident(buf) operator(=) ident(xmalloc)operator(()ident(size)operator(\);) operator((*)ident(buf)operator(\)[)integer(0)operator(]) operator(=) char('\\0')operator(;) ident(len) operator(=) ident(strftime)operator((*)ident(buf)operator(,) ident(size)operator(,) ident(format)operator(,) ident(time)operator(\);) comment(/* * buflen can be zero EITHER because there's not enough * room in the string, or because the control command * goes to the empty string. Make a reasonable guess that * if the buffer is 1024 times bigger than the length of the * format string, it's not failing for lack of room. */) reserved(if) operator(()ident(len) operator(>) integer(0) operator(||) ident(size) operator(>=) integer(1024) operator(*) ident(flen)operator(\)) reserved(return) ident(len)operator(;) ident(free)operator((*)ident(buf)operator(\);) operator(}) comment(/* not reached */) operator(}) comment(/* * call-seq: * time.strftime( string \) => string * * Formats time according to the directives in the given format * string. Any text not listed as a directive will be passed through * to the output string. * * Format meaning: * %a - The abbreviated weekday name (``Sun''\) * %A - The full weekday name (``Sunday''\) * %b - The abbreviated month name (``Jan''\) * %B - The full month name (``January''\) * %c - The preferred local date and time representation * %d - Day of the month (01..31\) * %H - Hour of the day, 24-hour clock (00..23\) * %I - Hour of the day, 12-hour clock (01..12\) * %j - Day of the year (001..366\) * %m - Month of the year (01..12\) * %M - Minute of the hour (00..59\) * %p - Meridian indicator (``AM'' or ``PM''\) * %S - Second of the minute (00..60\) * %U - Week number of the current year, * starting with the first Sunday as the first * day of the first week (00..53\) * %W - Week number of the current year, * starting with the first Monday as the first * day of the first week (00..53\) * %w - Day of the week (Sunday is 0, 0..6\) * %x - Preferred representation for the date alone, no time * %X - Preferred representation for the time alone, no date * %y - Year without a century (00..99\) * %Y - Year with century * %Z - Time zone name * %% - Literal ``%'' character * * t = Time.now * t.strftime("Printed on %m/%d/%Y"\) #=> "Printed on 04/09/2003" * t.strftime("at %I:%M%p"\) #=> "at 08:56AM" */) directive(static) ident(VALUE) ident(time_strftime)operator(()ident(time)operator(,) ident(format)operator(\)) ident(VALUE) ident(time)operator(,) ident(format)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) pre_type(char) ident(buffer)operator([)ident(SMALLBUF)operator(],) operator(*)ident(buf) operator(=) ident(buffer)operator(;) directive(const) pre_type(char) operator(*)ident(fmt)operator(;) pre_type(long) ident(len)operator(;) ident(VALUE) ident(str)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) reserved(if) operator(()ident(tobj)operator(->)ident(tm_got) operator(==) integer(0)operator(\)) operator({) ident(time_get_tm)operator(()ident(time)operator(,) ident(tobj)operator(->)ident(gmt)operator(\);) operator(}) ident(StringValue)operator(()ident(format)operator(\);) ident(format) operator(=) ident(rb_str_new4)operator(()ident(format)operator(\);) ident(fmt) operator(=) ident(RSTRING)operator(()ident(format)operator(\)->)ident(ptr)operator(;) ident(len) operator(=) ident(RSTRING)operator(()ident(format)operator(\)->)ident(len)operator(;) reserved(if) operator(()ident(len) operator(==) integer(0)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(\);) operator(}) reserved(else) reserved(if) operator(()ident(strlen)operator(()ident(fmt)operator(\)) operator(<) ident(len)operator(\)) operator({) comment(/* Ruby string may contain \\0's. */) directive(const) pre_type(char) operator(*)ident(p) operator(=) ident(fmt)operator(,) operator(*)ident(pe) operator(=) ident(fmt) operator(+) ident(len)operator(;) ident(str) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) integer(0)operator(\);) reserved(while) operator(()ident(p) operator(<) ident(pe)operator(\)) operator({) ident(len) operator(=) ident(rb_strftime)operator((&)ident(buf)operator(,) ident(p)operator(,) operator(&)ident(tobj)operator(->)ident(tm)operator(\);) ident(rb_str_cat)operator(()ident(str)operator(,) ident(buf)operator(,) ident(len)operator(\);) ident(p) operator(+=) ident(strlen)operator(()ident(p)operator(\);) reserved(if) operator(()ident(buf) operator(!=) ident(buffer)operator(\)) operator({) ident(free)operator(()ident(buf)operator(\);) ident(buf) operator(=) ident(buffer)operator(;) operator(}) reserved(for) operator(()ident(fmt) operator(=) ident(p)operator(;) ident(p) operator(<) ident(pe) operator(&&) operator(!*)ident(p)operator(;) operator(++)ident(p)operator(\);) reserved(if) operator(()ident(p) operator(>) ident(fmt)operator(\)) ident(rb_str_cat)operator(()ident(str)operator(,) ident(fmt)operator(,) ident(p) operator(-) ident(fmt)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) reserved(else) operator({) ident(len) operator(=) ident(rb_strftime)operator((&)ident(buf)operator(,) ident(RSTRING)operator(()ident(format)operator(\)->)ident(ptr)operator(,) operator(&)ident(tobj)operator(->)ident(tm)operator(\);) operator(}) ident(str) operator(=) ident(rb_str_new)operator(()ident(buf)operator(,) ident(len)operator(\);) reserved(if) operator(()ident(buf) operator(!=) ident(buffer)operator(\)) ident(free)operator(()ident(buf)operator(\);) reserved(return) ident(str)operator(;) operator(}) comment(/* * call-seq: * Time.times => struct_tms * * Deprecated in favor of Process::times */) directive(static) ident(VALUE) ident(time_s_times)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(rb_warn)operator(()stringoperator(\);) reserved(return) ident(rb_proc_times)operator(()ident(obj)operator(\);) operator(}) comment(/* * undocumented */) directive(static) ident(VALUE) ident(time_mdump)operator(()ident(time)operator(\)) ident(VALUE) ident(time)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) reserved(struct) ident(tm) operator(*)ident(tm)operator(;) pre_type(unsigned) pre_type(long) ident(p)operator(,) ident(s)operator(;) pre_type(char) ident(buf)operator([)integer(8)operator(];) ident(time_t) ident(t)operator(;) pre_type(int) ident(i)operator(;) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(t) operator(=) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec)operator(;) ident(tm) operator(=) ident(gmtime)operator((&)ident(t)operator(\);) reserved(if) operator((()ident(tm)operator(->)ident(tm_year) operator(&) hex(0xffff)operator(\)) operator(!=) ident(tm)operator(->)ident(tm_year)operator(\)) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) ident(p) operator(=) hex(0x1)ident(UL) operator(<<) integer(31) operator(|) comment(/* 1 */) ident(tobj)operator(->)ident(gmt) operator(<<) integer(30) operator(|) comment(/* 1 */) ident(tm)operator(->)ident(tm_year) operator(<<) integer(14) operator(|) comment(/* 16 */) ident(tm)operator(->)ident(tm_mon) operator(<<) integer(10) operator(|) comment(/* 4 */) ident(tm)operator(->)ident(tm_mday) operator(<<) integer(5) operator(|) comment(/* 5 */) ident(tm)operator(->)ident(tm_hour)operator(;) comment(/* 5 */) ident(s) operator(=) ident(tm)operator(->)ident(tm_min) operator(<<) integer(26) operator(|) comment(/* 6 */) ident(tm)operator(->)ident(tm_sec) operator(<<) integer(20) operator(|) comment(/* 6 */) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec)operator(;) comment(/* 20 */) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(4)operator(;) ident(i)operator(++\)) operator({) ident(buf)operator([)ident(i)operator(]) operator(=) ident(p) operator(&) hex(0xff)operator(;) ident(p) operator(=) ident(RSHIFT)operator(()ident(p)operator(,) integer(8)operator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(4)operator(;) ident(i)operator(<)integer(8)operator(;) ident(i)operator(++\)) operator({) ident(buf)operator([)ident(i)operator(]) operator(=) ident(s) operator(&) hex(0xff)operator(;) ident(s) operator(=) ident(RSHIFT)operator(()ident(s)operator(,) integer(8)operator(\);) operator(}) reserved(return) ident(rb_str_new)operator(()ident(buf)operator(,) integer(8)operator(\);) operator(}) comment(/* * call-seq: * time._dump => string * * Dump _time_ for marshaling. */) directive(static) ident(VALUE) ident(time_dump)operator(()ident(argc)operator(,) ident(argv)operator(,) ident(time)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) ident(VALUE) ident(time)operator(;) operator({) ident(VALUE) ident(str)operator(;) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) integer(0)operator(\);) ident(str) operator(=) ident(time_mdump)operator(()ident(time)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(time)operator(,) ident(FL_EXIVAR)operator(\)\)) operator({) ident(rb_copy_generic_ivar)operator(()ident(str)operator(,) ident(time)operator(\);) ident(FL_SET)operator(()ident(str)operator(,) ident(FL_EXIVAR)operator(\);) operator(}) reserved(return) ident(str)operator(;) operator(}) comment(/* * undocumented */) directive(static) ident(VALUE) ident(time_mload)operator(()ident(time)operator(,) ident(str)operator(\)) ident(VALUE) ident(time)operator(,) ident(str)operator(;) operator({) reserved(struct) ident(time_object) operator(*)ident(tobj)operator(;) pre_type(unsigned) pre_type(long) ident(p)operator(,) ident(s)operator(;) ident(time_t) ident(sec)operator(,) ident(usec)operator(;) pre_type(unsigned) pre_type(char) operator(*)ident(buf)operator(;) reserved(struct) ident(tm) ident(tm)operator(;) pre_type(int) ident(i)operator(,) ident(gmt)operator(;) ident(time_modify)operator(()ident(time)operator(\);) ident(StringValue)operator(()ident(str)operator(\);) ident(buf) operator(=) operator(()pre_type(unsigned) pre_type(char) operator(*\))ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(!=) integer(8)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(\);) operator(}) ident(p) operator(=) ident(s) operator(=) integer(0)operator(;) reserved(for) operator(()ident(i)operator(=)integer(0)operator(;) ident(i)operator(<)integer(4)operator(;) ident(i)operator(++\)) operator({) ident(p) operator(|=) ident(buf)operator([)ident(i)operator(]<<()integer(8)operator(*)ident(i)operator(\);) operator(}) reserved(for) operator(()ident(i)operator(=)integer(4)operator(;) ident(i)operator(<)integer(8)operator(;) ident(i)operator(++\)) operator({) ident(s) operator(|=) ident(buf)operator([)ident(i)operator(]<<()integer(8)operator(*()ident(i)operator(-)integer(4)operator(\)\);) operator(}) reserved(if) operator((()ident(p) operator(&) operator(()integer(1)ident(UL)operator(<<)integer(31)operator(\)\)) operator(==) integer(0)operator(\)) operator({) ident(sec) operator(=) ident(p)operator(;) ident(usec) operator(=) ident(s)operator(;) operator(}) reserved(else) operator({) ident(p) operator(&=) operator(~()integer(1)ident(UL)operator(<<)integer(31)operator(\);) ident(gmt) operator(=) operator(()ident(p) operator(>>) integer(30)operator(\)) operator(&) hex(0x1)operator(;) ident(tm)operator(.)ident(tm_year) operator(=) operator(()ident(p) operator(>>) integer(14)operator(\)) operator(&) hex(0xffff)operator(;) ident(tm)operator(.)ident(tm_mon) operator(=) operator(()ident(p) operator(>>) integer(10)operator(\)) operator(&) hex(0xf)operator(;) ident(tm)operator(.)ident(tm_mday) operator(=) operator(()ident(p) operator(>>) integer(5)operator(\)) operator(&) hex(0x1f)operator(;) ident(tm)operator(.)ident(tm_hour) operator(=) ident(p) operator(&) hex(0x1f)operator(;) ident(tm)operator(.)ident(tm_min) operator(=) operator(()ident(s) operator(>>) integer(26)operator(\)) operator(&) hex(0x3f)operator(;) ident(tm)operator(.)ident(tm_sec) operator(=) operator(()ident(s) operator(>>) integer(20)operator(\)) operator(&) hex(0x3f)operator(;) ident(tm)operator(.)ident(tm_isdst) operator(=) integer(0)operator(;) ident(sec) operator(=) ident(make_time_t)operator((&)ident(tm)operator(,) ident(Qtrue)operator(\);) ident(usec) operator(=) operator(()ident(time_t)operator(\)()ident(s) operator(&) hex(0xfffff)operator(\);) operator(}) ident(time_overflow_p)operator((&)ident(sec)operator(,) operator(&)ident(usec)operator(\);) ident(GetTimeval)operator(()ident(time)operator(,) ident(tobj)operator(\);) ident(tobj)operator(->)ident(tm_got) operator(=) integer(0)operator(;) ident(tobj)operator(->)ident(gmt) operator(=) ident(gmt)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_sec) operator(=) ident(sec)operator(;) ident(tobj)operator(->)ident(tv)operator(.)ident(tv_usec) operator(=) ident(usec)operator(;) reserved(return) ident(time)operator(;) operator(}) comment(/* * call-seq: * Time._load(string\) => time * * Unmarshal a dumped +Time+ object. */) directive(static) ident(VALUE) ident(time_load)operator(()ident(klass)operator(,) ident(str)operator(\)) ident(VALUE) ident(klass)operator(,) ident(str)operator(;) operator({) ident(VALUE) ident(time) operator(=) ident(time_s_alloc)operator(()ident(klass)operator(\);) reserved(if) operator(()ident(FL_TEST)operator(()ident(str)operator(,) ident(FL_EXIVAR)operator(\)\)) operator({) ident(rb_copy_generic_ivar)operator(()ident(time)operator(,) ident(str)operator(\);) ident(FL_SET)operator(()ident(time)operator(,) ident(FL_EXIVAR)operator(\);) operator(}) ident(time_mload)operator(()ident(time)operator(,) ident(str)operator(\);) reserved(return) ident(time)operator(;) operator(}) comment(/* * Time is an abstraction of dates and times. Time is * stored internally as the number of seconds and microseconds since * the epoch, January 1, 1970 00:00 UTC. On some operating * systems, this offset is allowed to be negative. Also see the * library modules Date and ParseDate. The * Time class treats GMT (Greenwich Mean Time\) and UTC * (Coordinated Universal Time\)[Yes, UTC really does stand for * Coordinated Universal Time. There was a committee involved.] * as equivalent. GMT is the older way of referring to these * baseline times but persists in the names of calls on Posix * systems. * * All times are stored with some number of microseconds. Be aware of * this fact when comparing times with each other---times that are * apparently equal when displayed may be different when compared. */) directive(void) ident(Init_Time)operator((\)) operator({) ident(rb_cTime) operator(=) ident(rb_define_class)operator(()stringoperator(,) ident(rb_cObject)operator(\);) ident(rb_include_module)operator(()ident(rb_cTime)operator(,) ident(rb_mComparable)operator(\);) ident(rb_define_alloc_func)operator(()ident(rb_cTime)operator(,) ident(time_s_alloc)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(rb_class_new_instance)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_s_at)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_s_mkutc)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_s_mkutc)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_s_mktime)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_s_mktime)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_s_times)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_to_f)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) string)delimiter(")>operator(,) ident(time_cmp)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_eql)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_hash)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_init)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_init_copy)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_localtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_gmtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_gmtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_getlocaltime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_getgmtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_getgmtime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_asctime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_asctime)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_to_s)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_to_a)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_plus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_minus)operator(,) integer(1)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_succ)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_sec)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_min)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_hour)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_mday)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_mday)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_mon)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_mon)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_year)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_wday)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_yday)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_isdst)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_isdst)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_zone)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_utc_offset)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_utc_offset)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_utc_offset)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_utc_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_utc_p)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_to_i)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_usec)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_usec)operator(,) integer(0)operator(\);) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_strftime)operator(,) integer(1)operator(\);) comment(/* methods for marshaling */) ident(rb_define_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_dump)operator(,) operator(-)integer(1)operator(\);) ident(rb_define_singleton_method)operator(()ident(rb_cTime)operator(,) stringoperator(,) ident(time_load)operator(,) integer(1)operator(\);) comment(#if 0 /* Time will support marshal_dump and marshal_load in the future (1.9 maybe\) */ rb_define_method(rb_cTime, "marshal_dump", time_mdump, 0\); rb_define_method(rb_cTime, "marshal_load", time_mload, 1\); #endif) operator(}) comment(/********************************************************************** util.c - $Author: wyhaines $ $Date: 2009-08-19 15:53:23 +0200 (Wed, 19 Aug 2009\) $ created at: Fri Mar 10 17:22:34 JST 1995 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(_WIN32) preprocessor(#include) include("missing/file.h") preprocessor(#endif) preprocessor(#include) include("util.h") preprocessor(#ifndef) ident(HAVE_STRING_H) pre_type(char) operator(*)ident(strchr) ident(_)operator((()pre_type(char)operator(*,)pre_type(char)operator(\)\);) preprocessor(#endif) pre_type(unsigned) pre_type(long) ident(scan_oct)operator(()ident(start)operator(,) ident(len)operator(,) ident(retlen)operator(\)) directive(const) pre_type(char) operator(*)ident(start)operator(;) pre_type(int) ident(len)operator(;) pre_type(int) operator(*)ident(retlen)operator(;) operator({) directive(register) directive(const) pre_type(char) operator(*)ident(s) operator(=) ident(start)operator(;) directive(register) pre_type(unsigned) pre_type(long) ident(retval) operator(=) integer(0)operator(;) reserved(while) operator(()ident(len)operator(--) operator(&&) operator(*)ident(s) operator(>=) char('0') operator(&&) operator(*)ident(s) operator(<=) char('7')operator(\)) operator({) ident(retval) operator(<<=) integer(3)operator(;) ident(retval) operator(|=) operator(*)ident(s)operator(++) operator(-) char('0')operator(;) operator(}) operator(*)ident(retlen) operator(=) ident(s) operator(-) ident(start)operator(;) reserved(return) ident(retval)operator(;) operator(}) pre_type(unsigned) pre_type(long) ident(scan_hex)operator(()ident(start)operator(,) ident(len)operator(,) ident(retlen)operator(\)) directive(const) pre_type(char) operator(*)ident(start)operator(;) pre_type(int) ident(len)operator(;) pre_type(int) operator(*)ident(retlen)operator(;) operator({) directive(static) pre_type(char) ident(hexdigit)operator([]) operator(=) stringoperator(;) directive(register) directive(const) pre_type(char) operator(*)ident(s) operator(=) ident(start)operator(;) directive(register) pre_type(unsigned) pre_type(long) ident(retval) operator(=) integer(0)operator(;) pre_type(char) operator(*)ident(tmp)operator(;) reserved(while) operator(()ident(len)operator(--) operator(&&) operator(*)ident(s) operator(&&) operator(()ident(tmp) operator(=) ident(strchr)operator(()ident(hexdigit)operator(,) operator(*)ident(s)operator(\)\)\)) operator({) ident(retval) operator(<<=) integer(4)operator(;) ident(retval) operator(|=) operator(()ident(tmp) operator(-) ident(hexdigit)operator(\)) operator(&) integer(15)operator(;) ident(s)operator(++;) operator(}) operator(*)ident(retlen) operator(=) ident(s) operator(-) ident(start)operator(;) reserved(return) ident(retval)operator(;) operator(}) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#ifdef) ident(HAVE_UNISTD_H) preprocessor(#include) include() preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_FCNTL_H)operator(\)) preprocessor(#include) include() preprocessor(#endif) preprocessor(#ifndef) ident(S_ISDIR) preprocessor(# define) ident(S_ISDIR)operator(()ident(m)operator(\)) operator((()ident(m) operator(&) ident(S_IFMT)operator(\)) operator(==) ident(S_IFDIR)operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN32__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) comment(/* * Copyright (c\) 1993, Intergraph Corporation * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the perl README file. * * Various Unix compatibility functions and NT specific functions. * * Some of this code was derived from the MSDOS port(s\) and the OS/2 port. * */) comment(/* * Suffix appending for in-place editing under MS-DOS and OS/2 (and now NT!\). * * Here are the rules: * * Style 0: Append the suffix exactly as standard perl would do it. * If the filesystem groks it, use it. (HPFS will always * grok it. So will NTFS. FAT will rarely accept it.\) * * Style 1: The suffix begins with a '.'. The extension is replaced. * If the name matches the original name, use the fallback method. * * Style 2: The suffix is a single character, not a '.'. Try to add the * suffix to the following places, using the first one that works. * [1] Append to extension. * [2] Append to filename, * [3] Replace end of extension, * [4] Replace end of filename. * If the name matches the original name, use the fallback method. * * Style 3: Any other case: Ignore the suffix completely and use the * fallback method. * * Fallback method: Change the extension to ".$$$". If that matches the * original name, then change the extension to ".~~~". * * If filename is more than 1000 characters long, we die a horrible * death. Sorry. * * The filename restriction is a cheat so that we can use buf[] to store * assorted temporary goo. * * Examples, assuming style 0 failed. * * suffix = ".bak" (style 1\) * foo.bar => foo.bak * foo.bak => foo.$$$ (fallback\) * foo.$$$ => foo.~~~ (fallback\) * makefile => makefile.bak * * suffix = "~" (style 2\) * foo.c => foo.c~ * foo.c~ => foo.c~~ * foo.c~~ => foo~.c~~ * foo~.c~~ => foo~~.c~~ * foo~~~~~.c~~ => foo~~~~~.$$$ (fallback\) * * foo.pas => foo~.pas * makefile => makefile.~ * longname.fil => longname.fi~ * longname.fi~ => longnam~.fi~ * longnam~.fi~ => longnam~.$$$ * */) directive(static) pre_type(int) ident(valid_filename)operator(()pre_type(char) operator(*)ident(s)operator(\);) directive(static) pre_type(char) ident(suffix1)operator([]) operator(=) stringoperator(;) directive(static) pre_type(char) ident(suffix2)operator([]) operator(=) stringoperator(;) preprocessor(#define) ident(ext) operator((&)ident(buf)operator([)integer(1000)operator(]\)) preprocessor(#define) ident(strEQ)operator(()ident(s1)operator(,)ident(s2)operator(\)) operator(()ident(strcmp)operator(()ident(s1)operator(,)ident(s2)operator(\)) operator(==) integer(0)operator(\)) directive(void) ident(ruby_add_suffix)operator(()ident(str)operator(,) ident(suffix)operator(\)) ident(VALUE) ident(str)operator(;) pre_type(char) operator(*)ident(suffix)operator(;) operator({) pre_type(int) ident(baselen)operator(;) pre_type(int) ident(extlen) operator(=) ident(strlen)operator(()ident(suffix)operator(\);) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(t)operator(,) operator(*)ident(p)operator(;) pre_type(long) ident(slen)operator(;) pre_type(char) ident(buf)operator([)integer(1024)operator(];) reserved(if) operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(>) integer(1000)operator(\)) ident(rb_fatal)operator(()stringoperator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN32__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) comment(/* Style 0 */) ident(slen) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(;) ident(rb_str_cat)operator(()ident(str)operator(,) ident(suffix)operator(,) ident(extlen)operator(\);) preprocessor(#if) ident(defined)operator(()ident(DJGPP)operator(\)) reserved(if) operator(()ident(_USE_LFN)operator(\)) reserved(return)operator(;) preprocessor(#else) reserved(if) operator(()ident(valid_filename)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\)\)) reserved(return)operator(;) preprocessor(#endif) comment(/* Fooey, style 0 failed. Fix str before continuing. */) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator([)ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) ident(slen)operator(]) operator(=) char('\\0')operator(;) preprocessor(#endif) ident(slen) operator(=) ident(extlen)operator(;) ident(t) operator(=) ident(buf)operator(;) ident(baselen) operator(=) integer(0)operator(;) ident(s) operator(=) ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(;) reserved(while) operator(((*)ident(t) operator(=) operator(*)ident(s)operator(\)) operator(&&) operator(*)ident(s) operator(!=) char('.')operator(\)) operator({) ident(baselen)operator(++;) reserved(if) operator((*)ident(s) operator(==) char('\\\\') operator(||) operator(*)ident(s) operator(==) char('/')operator(\)) ident(baselen) operator(=) integer(0)operator(;) ident(s)operator(++;) ident(t)operator(++;) operator(}) ident(p) operator(=) ident(t)operator(;) ident(t) operator(=) ident(ext)operator(;) ident(extlen) operator(=) integer(0)operator(;) reserved(while) operator((*)ident(t)operator(++) operator(=) operator(*)ident(s)operator(++\)) ident(extlen)operator(++;) reserved(if) operator(()ident(extlen) operator(==) integer(0)operator(\)) operator({) ident(ext)operator([)integer(0)operator(]) operator(=) char('.')operator(;) ident(ext)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) ident(extlen)operator(++;) operator(}) reserved(if) operator((*)ident(suffix) operator(==) char('.')operator(\)) operator({) comment(/* Style 1 */) reserved(if) operator(()ident(strEQ)operator(()ident(ext)operator(,) ident(suffix)operator(\)\)) reserved(goto) ident(fallback)operator(;) ident(strcpy)operator(()ident(p)operator(,) ident(suffix)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(suffix)operator([)integer(1)operator(]) operator(==) char('\\0')operator(\)) operator({) comment(/* Style 2 */) reserved(if) operator(()ident(extlen) operator(<) integer(4)operator(\)) operator({) ident(ext)operator([)ident(extlen)operator(]) operator(=) operator(*)ident(suffix)operator(;) ident(ext)operator([++)ident(extlen)operator(]) operator(=) char('\\0')operator(;) operator(}) reserved(else) reserved(if) operator(()ident(baselen) operator(<) integer(8)operator(\)) operator({) operator(*)ident(p)operator(++) operator(=) operator(*)ident(suffix)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(ext)operator([)integer(3)operator(]) operator(!=) operator(*)ident(suffix)operator(\)) operator({) ident(ext)operator([)integer(3)operator(]) operator(=) operator(*)ident(suffix)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(buf)operator([)integer(7)operator(]) operator(!=) operator(*)ident(suffix)operator(\)) operator({) ident(buf)operator([)integer(7)operator(]) operator(=) operator(*)ident(suffix)operator(;) operator(}) reserved(else) reserved(goto) ident(fallback)operator(;) ident(strcpy)operator(()ident(p)operator(,) ident(ext)operator(\);) operator(}) reserved(else) operator({) comment(/* Style 3: Panic */) label(fallback:) operator(()directive(void)operator(\))ident(memcpy)operator(()ident(p)operator(,) ident(strEQ)operator(()ident(ext)operator(,) ident(suffix1)operator(\)) operator(?) ident(suffix2) operator(:) ident(suffix1)operator(,) integer(5)operator(\);) operator(}) ident(rb_str_resize)operator(()ident(str)operator(,) ident(strlen)operator(()ident(buf)operator(\)\);) ident(memcpy)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(,) ident(buf)operator(,) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len)operator(\);) operator(}) preprocessor(#if) ident(defined)operator(()ident(__CYGWIN32__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) directive(static) pre_type(int) ident(valid_filename)operator(()pre_type(char) operator(*)ident(s)operator(\)) operator({) pre_type(int) ident(fd)operator(;) comment(/* // if the file exists, then it's a valid filename! */) reserved(if) operator(()ident(_access)operator(()ident(s)operator(,) integer(0)operator(\)) operator(==) integer(0)operator(\)) operator({) reserved(return) integer(1)operator(;) operator(}) comment(/* // It doesn't exist, so see if we can open it. */) reserved(if) operator((()ident(fd) operator(=) ident(_open)operator(()ident(s)operator(,) ident(O_CREAT)operator(,) oct(0666)operator(\)\)) operator(>=) integer(0)operator(\)) operator({) ident(_close)operator(()ident(fd)operator(\);) ident(_unlink)operator(()ident(s)operator(\);) comment(/* don't leave it laying around */) reserved(return) integer(1)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) preprocessor(#endif) preprocessor(#endif) preprocessor(#if) ident(defined) ident(__DJGPP__) preprocessor(#include) include() directive(static) pre_type(char) ident(dbcs_table)operator([)integer(256)operator(];) pre_type(int) ident(make_dbcs_table)operator((\)) operator({) ident(__dpmi_regs) ident(r)operator(;) reserved(struct) operator({) pre_type(unsigned) pre_type(char) ident(start)operator(;) pre_type(unsigned) pre_type(char) ident(end)operator(;) operator(}) ident(vec)operator(;) pre_type(int) ident(offset)operator(;) ident(memset)operator((&)ident(r)operator(,) integer(0)operator(,) reserved(sizeof)operator(()ident(r)operator(\)\);) ident(r)operator(.)ident(x)operator(.)ident(ax) operator(=) hex(0x6300)operator(;) ident(__dpmi_int)operator(()hex(0x21)operator(,) operator(&)ident(r)operator(\);) ident(offset) operator(=) ident(r)operator(.)ident(x)operator(.)ident(ds) operator(*) integer(16) operator(+) ident(r)operator(.)ident(x)operator(.)ident(si)operator(;) reserved(for) operator((;;\)) operator({) pre_type(int) ident(i)operator(;) ident(dosmemget)operator(()ident(offset)operator(,) reserved(sizeof) ident(vec)operator(,) operator(&)ident(vec)operator(\);) reserved(if) operator((!)ident(vec)operator(.)ident(start) operator(&&) operator(!)ident(vec)operator(.)ident(end)operator(\)) reserved(break)operator(;) reserved(for) operator(()ident(i) operator(=) ident(vec)operator(.)ident(start)operator(;) ident(i) operator(<=) ident(vec)operator(.)ident(end)operator(;) ident(i)operator(++\)) ident(dbcs_table)operator([)ident(i)operator(]) operator(=) integer(1)operator(;) ident(offset) operator(+=) integer(2)operator(;) operator(}) operator(}) pre_type(int) ident(mblen)operator(()directive(const) pre_type(char) operator(*)ident(s)operator(,) ident(size_t) ident(n)operator(\)) operator({) directive(static) pre_type(int) ident(need_init) operator(=) integer(1)operator(;) reserved(if) operator(()ident(need_init)operator(\)) operator({) ident(make_dbcs_table)operator((\);) ident(need_init) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(s)operator(\)) operator({) reserved(if) operator(()ident(n) operator(==) integer(0) operator(||) operator(*)ident(s) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) reserved(else) reserved(if) operator((!)ident(s)operator([)integer(1)operator(]\)) reserved(return) integer(1)operator(;) reserved(return) ident(dbcs_table)operator([()pre_type(unsigned) pre_type(char)operator(\)*)ident(s)operator(]) operator(+) integer(1)operator(;) operator(}) reserved(else) reserved(return) integer(1)operator(;) operator(}) reserved(struct) ident(PathList) operator({) reserved(struct) ident(PathList) operator(*)ident(next)operator(;) pre_type(char) operator(*)ident(path)operator(;) operator(};) reserved(struct) ident(PathInfo) operator({) reserved(struct) ident(PathList) operator(*)ident(head)operator(;) pre_type(int) ident(count)operator(;) operator(};) directive(static) pre_type(int) ident(push_element)operator(()directive(const) pre_type(char) operator(*)ident(path)operator(,) ident(VALUE) ident(vinfo)operator(\)) operator({) reserved(struct) ident(PathList) operator(*)ident(p)operator(;) reserved(struct) ident(PathInfo) operator(*)ident(info) operator(=) operator(()reserved(struct) ident(PathInfo) operator(*\))ident(vinfo)operator(;) ident(p) operator(=) ident(ALLOC)operator(()reserved(struct) ident(PathList)operator(\);) ident(MEMZERO)operator(()ident(p)operator(,) reserved(struct) ident(PathList)operator(,) integer(1)operator(\);) ident(p)operator(->)ident(path) operator(=) ident(ruby_strdup)operator(()ident(path)operator(\);) ident(p)operator(->)ident(next) operator(=) ident(info)operator(->)ident(head)operator(;) ident(info)operator(->)ident(head) operator(=) ident(p)operator(;) ident(info)operator(->)ident(count)operator(++;) reserved(return) integer(0)operator(;) operator(}) preprocessor(#include) include() pre_type(int) ident(__opendir_flags) operator(=) ident(__OPENDIR_PRESERVE_CASE)operator(;) pre_type(char) operator(**) ident(__crt0_glob_function)operator(()pre_type(char) operator(*)ident(path)operator(\)) operator({) pre_type(int) ident(len) operator(=) ident(strlen)operator(()ident(path)operator(\);) pre_type(int) ident(i)operator(;) pre_type(char) operator(**)ident(rv)operator(;) pre_type(char) ident(path_buffer)operator([)ident(PATH_MAX)operator(];) pre_type(char) operator(*)ident(buf) operator(=) ident(path_buffer)operator(;) pre_type(char) operator(*)ident(p)operator(;) reserved(struct) ident(PathInfo) ident(info)operator(;) reserved(struct) ident(PathList) operator(*)ident(plist)operator(;) reserved(if) operator(()ident(PATH_MAX) operator(<=) ident(len)operator(\)) ident(buf) operator(=) ident(ruby_xmalloc)operator(()ident(len) operator(+) integer(1)operator(\);) ident(strncpy)operator(()ident(buf)operator(,) ident(path)operator(,) ident(len)operator(\);) ident(buf)operator([)ident(len)operator(]) operator(=) char('\\0')operator(;) reserved(for) operator(()ident(p) operator(=) ident(buf)operator(;) operator(*)ident(p)operator(;) ident(p) operator(+=) ident(mblen)operator(()ident(p)operator(,) ident(MB_CUR_MAX)operator(\)\)) reserved(if) operator((*)ident(p) operator(==) char('\\\\')operator(\)) operator(*)ident(p) operator(=) char('/')operator(;) ident(info)operator(.)ident(count) operator(=) integer(0)operator(;) ident(info)operator(.)ident(head) operator(=) integer(0)operator(;) ident(ruby_glob)operator(()ident(buf)operator(,) integer(0)operator(,) ident(push_element)operator(,) operator(()ident(VALUE)operator(\)&)ident(info)operator(\);) reserved(if) operator(()ident(buf) operator(!=) ident(path_buffer)operator(\)) ident(ruby_xfree)operator(()ident(buf)operator(\);) reserved(if) operator(()ident(info)operator(.)ident(count) operator(==) integer(0)operator(\)) reserved(return) integer(0)operator(;) ident(rv) operator(=) ident(ruby_xmalloc)operator((()ident(info)operator(.)ident(count) operator(+) integer(1)operator(\)) operator(*) reserved(sizeof) operator(()pre_type(char) operator(*\)\);) ident(plist) operator(=) ident(info)operator(.)ident(head)operator(;) ident(i) operator(=) integer(0)operator(;) reserved(while) operator(()ident(plist)operator(\)) operator({) reserved(struct) ident(PathList) operator(*)ident(cur)operator(;) ident(rv)operator([)ident(i)operator(]) operator(=) ident(plist)operator(->)ident(path)operator(;) ident(cur) operator(=) ident(plist)operator(;) ident(plist) operator(=) ident(plist)operator(->)ident(next)operator(;) ident(ruby_xfree)operator(()ident(cur)operator(\);) ident(i)operator(++;) operator(}) ident(rv)operator([)ident(i)operator(]) operator(=) integer(0)operator(;) reserved(return) ident(rv)operator(;) operator(}) preprocessor(#endif) comment(/* mm.c */) preprocessor(#define) ident(A) operator((()pre_type(int)operator(*\))ident(a)operator(\)) preprocessor(#define) ident(B) operator((()pre_type(int)operator(*\))ident(b)operator(\)) preprocessor(#define) ident(C) operator((()pre_type(int)operator(*\))ident(c)operator(\)) preprocessor(#define) ident(D) operator((()pre_type(int)operator(*\))ident(d)operator(\)) preprocessor(#define) ident(mmprepare)operator(()ident(base)operator(,) ident(size)operator(\)) reserved(do) operator({)\ reserved(if) operator(((()pre_type(long)operator(\))ident(base) operator(&) operator(()hex(0x3)operator(\)\)) operator(==) integer(0)operator(\))\ reserved(if) operator(()ident(size) operator(>=) integer(16)operator(\)) ident(mmkind) operator(=) integer(1)operator(;)\ reserved(else) ident(mmkind) operator(=) integer(0)operator(;)\ reserved(else) ident(mmkind) operator(=) operator(-)integer(1)operator(;)\ ident(high) operator(=) operator(()ident(size) operator(&) operator((~)hex(0xf)operator(\)\);)\ ident(low) operator(=) operator(()ident(size) operator(&) hex(0x0c)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\))\ preprocessor(#define) ident(mmarg) ident(mmkind)operator(,) ident(size)operator(,) ident(high)operator(,) ident(low) directive(static) directive(void) ident(mmswap_)operator(()ident(a)operator(,) ident(b)operator(,) ident(mmarg)operator(\)) directive(register) pre_type(char) operator(*)ident(a)operator(,) operator(*)ident(b)operator(;) pre_type(int) ident(mmarg)operator(;) operator({) directive(register) pre_type(int) ident(s)operator(;) reserved(if) operator(()ident(a) operator(==) ident(b)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(mmkind) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(mmkind) operator(>) integer(0)operator(\)) operator({) directive(register) pre_type(char) operator(*)ident(t) operator(=) ident(a) operator(+) ident(high)operator(;) reserved(do) operator({) ident(s) operator(=) ident(A)operator([)integer(0)operator(];) ident(A)operator([)integer(0)operator(]) operator(=) ident(B)operator([)integer(0)operator(];) ident(B)operator([)integer(0)operator(]) operator(=) ident(s)operator(;) ident(s) operator(=) ident(A)operator([)integer(1)operator(];) ident(A)operator([)integer(1)operator(]) operator(=) ident(B)operator([)integer(1)operator(];) ident(B)operator([)integer(1)operator(]) operator(=) ident(s)operator(;) ident(s) operator(=) ident(A)operator([)integer(2)operator(];) ident(A)operator([)integer(2)operator(]) operator(=) ident(B)operator([)integer(2)operator(];) ident(B)operator([)integer(2)operator(]) operator(=) ident(s)operator(;) ident(s) operator(=) ident(A)operator([)integer(3)operator(];) ident(A)operator([)integer(3)operator(]) operator(=) ident(B)operator([)integer(3)operator(];) ident(B)operator([)integer(3)operator(]) operator(=) ident(s)operator(;) ident(a) operator(+=) integer(16)operator(;) ident(b) operator(+=) integer(16)operator(;) operator(}) reserved(while) operator(()ident(a) operator(<) ident(t)operator(\);) operator(}) reserved(if) operator(()ident(low) operator(!=) integer(0)operator(\)) operator({) ident(s) operator(=) ident(A)operator([)integer(0)operator(];) ident(A)operator([)integer(0)operator(]) operator(=) ident(B)operator([)integer(0)operator(];) ident(B)operator([)integer(0)operator(]) operator(=) ident(s)operator(;) reserved(if) operator(()ident(low) operator(>=) integer(8)operator(\)) operator({) ident(s) operator(=) ident(A)operator([)integer(1)operator(];) ident(A)operator([)integer(1)operator(]) operator(=) ident(B)operator([)integer(1)operator(];) ident(B)operator([)integer(1)operator(]) operator(=) ident(s)operator(;) reserved(if) operator(()ident(low) operator(==) integer(12)operator(\)) operator({)ident(s) operator(=) ident(A)operator([)integer(2)operator(];) ident(A)operator([)integer(2)operator(]) operator(=) ident(B)operator([)integer(2)operator(];) ident(B)operator([)integer(2)operator(]) operator(=) ident(s)operator(;}}}) operator(}) reserved(else) operator({) directive(register) pre_type(char) operator(*)ident(t) operator(=) ident(a) operator(+) ident(size)operator(;) reserved(do) operator({)ident(s) operator(=) operator(*)ident(a)operator(;) operator(*)ident(a)operator(++) operator(=) operator(*)ident(b)operator(;) operator(*)ident(b)operator(++) operator(=) ident(s)operator(;}) reserved(while) operator(()ident(a) operator(<) ident(t)operator(\);) operator(}) operator(}) preprocessor(#define) ident(mmswap)operator(()ident(a)operator(,)ident(b)operator(\)) ident(mmswap_)operator((()ident(a)operator(\),()ident(b)operator(\),)ident(mmarg)operator(\)) directive(static) directive(void) ident(mmrot3_)operator(()ident(a)operator(,) ident(b)operator(,) ident(c)operator(,) ident(mmarg)operator(\)) directive(register) pre_type(char) operator(*)ident(a)operator(,) operator(*)ident(b)operator(,) operator(*)ident(c)operator(;) pre_type(int) ident(mmarg)operator(;) operator({) directive(register) pre_type(int) ident(s)operator(;) reserved(if) operator(()ident(mmkind) operator(>=) integer(0)operator(\)) operator({) reserved(if) operator(()ident(mmkind) operator(>) integer(0)operator(\)) operator({) directive(register) pre_type(char) operator(*)ident(t) operator(=) ident(a) operator(+) ident(high)operator(;) reserved(do) operator({) ident(s) operator(=) ident(A)operator([)integer(0)operator(];) ident(A)operator([)integer(0)operator(]) operator(=) ident(B)operator([)integer(0)operator(];) ident(B)operator([)integer(0)operator(]) operator(=) ident(C)operator([)integer(0)operator(];) ident(C)operator([)integer(0)operator(]) operator(=) ident(s)operator(;) ident(s) operator(=) ident(A)operator([)integer(1)operator(];) ident(A)operator([)integer(1)operator(]) operator(=) ident(B)operator([)integer(1)operator(];) ident(B)operator([)integer(1)operator(]) operator(=) ident(C)operator([)integer(1)operator(];) ident(C)operator([)integer(1)operator(]) operator(=) ident(s)operator(;) ident(s) operator(=) ident(A)operator([)integer(2)operator(];) ident(A)operator([)integer(2)operator(]) operator(=) ident(B)operator([)integer(2)operator(];) ident(B)operator([)integer(2)operator(]) operator(=) ident(C)operator([)integer(2)operator(];) ident(C)operator([)integer(2)operator(]) operator(=) ident(s)operator(;) ident(s) operator(=) ident(A)operator([)integer(3)operator(];) ident(A)operator([)integer(3)operator(]) operator(=) ident(B)operator([)integer(3)operator(];) ident(B)operator([)integer(3)operator(]) operator(=) ident(C)operator([)integer(3)operator(];) ident(C)operator([)integer(3)operator(]) operator(=) ident(s)operator(;) ident(a) operator(+=) integer(16)operator(;) ident(b) operator(+=) integer(16)operator(;) ident(c) operator(+=) integer(16)operator(;) operator(}) reserved(while) operator(()ident(a) operator(<) ident(t)operator(\);) operator(}) reserved(if) operator(()ident(low) operator(!=) integer(0)operator(\)) operator({) ident(s) operator(=) ident(A)operator([)integer(0)operator(];) ident(A)operator([)integer(0)operator(]) operator(=) ident(B)operator([)integer(0)operator(];) ident(B)operator([)integer(0)operator(]) operator(=) ident(C)operator([)integer(0)operator(];) ident(C)operator([)integer(0)operator(]) operator(=) ident(s)operator(;) reserved(if) operator(()ident(low) operator(>=) integer(8)operator(\)) operator({) ident(s) operator(=) ident(A)operator([)integer(1)operator(];) ident(A)operator([)integer(1)operator(]) operator(=) ident(B)operator([)integer(1)operator(];) ident(B)operator([)integer(1)operator(]) operator(=) ident(C)operator([)integer(1)operator(];) ident(C)operator([)integer(1)operator(]) operator(=) ident(s)operator(;) reserved(if) operator(()ident(low) operator(==) integer(12)operator(\)) operator({)ident(s) operator(=) ident(A)operator([)integer(2)operator(];) ident(A)operator([)integer(2)operator(]) operator(=) ident(B)operator([)integer(2)operator(];) ident(B)operator([)integer(2)operator(]) operator(=) ident(C)operator([)integer(2)operator(];) ident(C)operator([)integer(2)operator(]) operator(=) ident(s)operator(;}}}) operator(}) reserved(else) operator({) directive(register) pre_type(char) operator(*)ident(t) operator(=) ident(a) operator(+) ident(size)operator(;) reserved(do) operator({)ident(s) operator(=) operator(*)ident(a)operator(;) operator(*)ident(a)operator(++) operator(=) operator(*)ident(b)operator(;) operator(*)ident(b)operator(++) operator(=) operator(*)ident(c)operator(;) operator(*)ident(c)operator(++) operator(=) ident(s)operator(;}) reserved(while) operator(()ident(a) operator(<) ident(t)operator(\);) operator(}) operator(}) preprocessor(#define) ident(mmrot3)operator(()ident(a)operator(,)ident(b)operator(,)ident(c)operator(\)) ident(mmrot3_)operator((()ident(a)operator(\),()ident(b)operator(\),()ident(c)operator(\),)ident(mmarg)operator(\)) comment(/* qs6.c */) comment(/*****************************************************/) comment(/* */) comment(/* qs6 (Quick sort function\) */) comment(/* */) comment(/* by Tomoyuki Kawamura 1995.4.21 */) comment(/* kawamura@tokuyama.ac.jp */) comment(/*****************************************************/) reserved(typedef) reserved(struct) operator({) pre_type(char) operator(*)ident(LL)operator(,) operator(*)ident(RR)operator(;) operator(}) ident(stack_node)operator(;) comment(/* Stack structure for L,l,R,r */) preprocessor(#define) ident(PUSH)operator(()ident(ll)operator(,)ident(rr)operator(\)) reserved(do) operator({) ident(top)operator(->)ident(LL) operator(=) operator(()ident(ll)operator(\);) ident(top)operator(->)ident(RR) operator(=) operator(()ident(rr)operator(\);) operator(++)ident(top)operator(;) operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Push L,l,R,r */) preprocessor(#define) ident(POP)operator(()ident(ll)operator(,)ident(rr)operator(\)) reserved(do) operator({) operator(--)ident(top)operator(;) ident(ll) operator(=) ident(top)operator(->)ident(LL)operator(;) ident(rr) operator(=) ident(top)operator(->)ident(RR)operator(;) operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* Pop L,l,R,r */) preprocessor(#define) ident(med3)operator(()ident(a)operator(,)ident(b)operator(,)ident(c)operator(\)) operator(((*)ident(cmp)operator(\)()ident(a)operator(,)ident(b)operator(,)ident(d)operator(\)<)integer(0) operator(?) \ operator(((*)ident(cmp)operator(\)()ident(b)operator(,)ident(c)operator(,)ident(d)operator(\)<)integer(0) operator(?) ident(b) operator(:) operator(((*)ident(cmp)operator(\)()ident(a)operator(,)ident(c)operator(,)ident(d)operator(\)<)integer(0) operator(?) ident(c) operator(:) ident(a)operator(\)\)) operator(:) \ operator(((*)ident(cmp)operator(\)()ident(b)operator(,)ident(c)operator(,)ident(d)operator(\)>)integer(0) operator(?) ident(b) operator(:) operator(((*)ident(cmp)operator(\)()ident(a)operator(,)ident(c)operator(,)ident(d)operator(\)<)integer(0) operator(?) ident(a) operator(:) ident(c)operator(\)\)\)) directive(void) ident(ruby_qsort) operator(()ident(base)operator(,) ident(nel)operator(,) ident(size)operator(,) ident(cmp)operator(,) ident(d)operator(\)) directive(void)operator(*) ident(base)operator(;) directive(const) pre_type(int) ident(nel)operator(;) directive(const) pre_type(int) ident(size)operator(;) pre_type(int) operator((*)ident(cmp)operator(\)(\);) directive(void) operator(*)ident(d)operator(;) operator({) directive(register) pre_type(char) operator(*)ident(l)operator(,) operator(*)ident(r)operator(,) operator(*)ident(m)operator(;) comment(/* l,r:left,right group m:median point */) directive(register) pre_type(int) ident(t)operator(,) ident(eq_l)operator(,) ident(eq_r)operator(;) comment(/* eq_l: all items in left group are equal to S */) pre_type(char) operator(*)ident(L) operator(=) ident(base)operator(;) comment(/* left end of curren region */) pre_type(char) operator(*)ident(R) operator(=) operator(()pre_type(char)operator(*\))ident(base) operator(+) ident(size)operator(*()ident(nel)operator(-)integer(1)operator(\);) comment(/* right end of current region */) pre_type(int) ident(chklim) operator(=) integer(63)operator(;) comment(/* threshold of ordering element check */) ident(stack_node) ident(stack)operator([)integer(32)operator(],) operator(*)ident(top) operator(=) ident(stack)operator(;) comment(/* 32 is enough for 32bit CPU */) pre_type(int) ident(mmkind)operator(,) ident(high)operator(,) ident(low)operator(;) reserved(if) operator(()ident(nel) operator(<=) integer(1)operator(\)) reserved(return)operator(;) comment(/* need not to sort */) ident(mmprepare)operator(()ident(base)operator(,) ident(size)operator(\);) reserved(goto) ident(start)operator(;) label(nxt:) reserved(if) operator(()ident(stack) operator(==) ident(top)operator(\)) reserved(return)operator(;) comment(/* return if stack is empty */) ident(POP)operator(()ident(L)operator(,)ident(R)operator(\);) reserved(for) operator((;;\)) operator({) label(start:) reserved(if) operator(()ident(L) operator(+) ident(size) operator(==) ident(R)operator(\)) operator({) comment(/* 2 elements */) reserved(if) operator(((*)ident(cmp)operator(\)()ident(L)operator(,)ident(R)operator(,)ident(d)operator(\)) operator(>) integer(0)operator(\)) ident(mmswap)operator(()ident(L)operator(,)ident(R)operator(\);) reserved(goto) ident(nxt)operator(;) operator(}) ident(l) operator(=) ident(L)operator(;) ident(r) operator(=) ident(R)operator(;) ident(t) operator(=) operator(()ident(r) operator(-) ident(l) operator(+) ident(size)operator(\)) operator(/) ident(size)operator(;) comment(/* number of elements */) ident(m) operator(=) ident(l) operator(+) ident(size) operator(*) operator(()ident(t) operator(>>) integer(1)operator(\);) comment(/* calculate median value */) reserved(if) operator(()ident(t) operator(>=) integer(60)operator(\)) operator({) directive(register) pre_type(char) operator(*)ident(m1)operator(;) directive(register) pre_type(char) operator(*)ident(m3)operator(;) reserved(if) operator(()ident(t) operator(>=) integer(200)operator(\)) operator({) ident(t) operator(=) ident(size)operator(*()ident(t)operator(>>)integer(3)operator(\);) comment(/* number of bytes in splitting 8 */) operator({) directive(register) pre_type(char) operator(*)ident(p1) operator(=) ident(l) operator(+) ident(t)operator(;) directive(register) pre_type(char) operator(*)ident(p2) operator(=) ident(p1) operator(+) ident(t)operator(;) directive(register) pre_type(char) operator(*)ident(p3) operator(=) ident(p2) operator(+) ident(t)operator(;) ident(m1) operator(=) ident(med3)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(p3)operator(\);) ident(p1) operator(=) ident(m) operator(+) ident(t)operator(;) ident(p2) operator(=) ident(p1) operator(+) ident(t)operator(;) ident(p3) operator(=) ident(p2) operator(+) ident(t)operator(;) ident(m3) operator(=) ident(med3)operator(()ident(p1)operator(,) ident(p2)operator(,) ident(p3)operator(\);) operator(}) operator(}) reserved(else) operator({) ident(t) operator(=) ident(size)operator(*()ident(t)operator(>>)integer(2)operator(\);) comment(/* number of bytes in splitting 4 */) ident(m1) operator(=) ident(l) operator(+) ident(t)operator(;) ident(m3) operator(=) ident(m) operator(+) ident(t)operator(;) operator(}) ident(m) operator(=) ident(med3)operator(()ident(m1)operator(,) ident(m)operator(,) ident(m3)operator(\);) operator(}) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(l)operator(,)ident(m)operator(,)ident(d)operator(\)\)) operator(<) integer(0)operator(\)) operator({) comment(/*3-5-?*/) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(m)operator(,)ident(r)operator(,)ident(d)operator(\)\)) operator(<) integer(0)operator(\)) operator({) comment(/*3-5-7*/) reserved(if) operator(()ident(chklim) operator(&&) ident(nel) operator(>=) ident(chklim)operator(\)) operator({) comment(/* check if already ascending order */) pre_type(char) operator(*)ident(p)operator(;) ident(chklim) operator(=) integer(0)operator(;) reserved(for) operator(()ident(p)operator(=)ident(l)operator(;) ident(p)operator(<)ident(r)operator(;) ident(p)operator(+=)ident(size)operator(\)) reserved(if) operator(((*)ident(cmp)operator(\)()ident(p)operator(,)ident(p)operator(+)ident(size)operator(,)ident(d)operator(\)) operator(>) integer(0)operator(\)) reserved(goto) ident(fail)operator(;) reserved(goto) ident(nxt)operator(;) operator(}) label(fail:) reserved(goto) ident(loopA)operator(;) comment(/*3-5-7*/) operator(}) reserved(if) operator(()ident(t) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(((*)ident(cmp)operator(\)()ident(l)operator(,)ident(r)operator(,)ident(d)operator(\)) operator(<=) integer(0)operator(\)) operator({)ident(mmswap)operator(()ident(m)operator(,)ident(r)operator(\);) reserved(goto) ident(loopA)operator(;}) comment(/*3-5-4*/) ident(mmrot3)operator(()ident(r)operator(,)ident(m)operator(,)ident(l)operator(\);) reserved(goto) ident(loopA)operator(;) comment(/*3-5-2*/) operator(}) reserved(goto) ident(loopB)operator(;) comment(/*3-5-5*/) operator(}) reserved(if) operator(()ident(t) operator(>) integer(0)operator(\)) operator({) comment(/*7-5-?*/) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(m)operator(,)ident(r)operator(,)ident(d)operator(\)\)) operator(>) integer(0)operator(\)) operator({) comment(/*7-5-3*/) reserved(if) operator(()ident(chklim) operator(&&) ident(nel) operator(>=) ident(chklim)operator(\)) operator({) comment(/* check if already ascending order */) pre_type(char) operator(*)ident(p)operator(;) ident(chklim) operator(=) integer(0)operator(;) reserved(for) operator(()ident(p)operator(=)ident(l)operator(;) ident(p)operator(<)ident(r)operator(;) ident(p)operator(+=)ident(size)operator(\)) reserved(if) operator(((*)ident(cmp)operator(\)()ident(p)operator(,)ident(p)operator(+)ident(size)operator(,)ident(d)operator(\)) operator(<) integer(0)operator(\)) reserved(goto) ident(fail2)operator(;) reserved(while) operator(()ident(l)operator(<)ident(r)operator(\)) operator({)ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) ident(l)operator(+=)ident(size)operator(;) ident(r)operator(-=)ident(size)operator(;}) comment(/* reverse region */) reserved(goto) ident(nxt)operator(;) operator(}) label(fail2:) ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) reserved(goto) ident(loopA)operator(;) comment(/*7-5-3*/) operator(}) reserved(if) operator(()ident(t) operator(<) integer(0)operator(\)) operator({) reserved(if) operator(((*)ident(cmp)operator(\)()ident(l)operator(,)ident(r)operator(,)ident(d)operator(\)) operator(<=) integer(0)operator(\)) operator({)ident(mmswap)operator(()ident(l)operator(,)ident(m)operator(\);) reserved(goto) ident(loopB)operator(;}) comment(/*7-5-8*/) ident(mmrot3)operator(()ident(l)operator(,)ident(m)operator(,)ident(r)operator(\);) reserved(goto) ident(loopA)operator(;) comment(/*7-5-6*/) operator(}) ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) reserved(goto) ident(loopA)operator(;) comment(/*7-5-5*/) operator(}) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(m)operator(,)ident(r)operator(,)ident(d)operator(\)\)) operator(<) integer(0)operator(\)) operator({)reserved(goto) ident(loopA)operator(;}) comment(/*5-5-7*/) reserved(if) operator(()ident(t) operator(>) integer(0)operator(\)) operator({)ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) reserved(goto) ident(loopB)operator(;}) comment(/*5-5-3*/) comment(/* determining splitting type in case 5-5-5 */) comment(/*5-5-5*/) reserved(for) operator((;;\)) operator({) reserved(if) operator((()ident(l) operator(+=) ident(size)operator(\)) operator(==) ident(r)operator(\)) reserved(goto) ident(nxt)operator(;) comment(/*5-5-5*/) reserved(if) operator(()ident(l) operator(==) ident(m)operator(\)) reserved(continue)operator(;) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(l)operator(,)ident(m)operator(,)ident(d)operator(\)\)) operator(>) integer(0)operator(\)) operator({)ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) ident(l) operator(=) ident(L)operator(;) reserved(goto) ident(loopA)operator(;})comment(/*575-5*/) reserved(if) operator(()ident(t) operator(<) integer(0)operator(\)) operator({)ident(mmswap)operator(()ident(L)operator(,)ident(l)operator(\);) ident(l) operator(=) ident(L)operator(;) reserved(goto) ident(loopB)operator(;}) comment(/*535-5*/) operator(}) label(loopA:) ident(eq_l) operator(=) integer(1)operator(;) ident(eq_r) operator(=) integer(1)operator(;) comment(/* splitting type A */) comment(/* left <= median < right */) reserved(for) operator((;;\)) operator({) reserved(for) operator((;;\)) operator({) reserved(if) operator((()ident(l) operator(+=) ident(size)operator(\)) operator(==) ident(r)operator(\)) operator({)ident(l) operator(-=) ident(size)operator(;) reserved(if) operator(()ident(l) operator(!=) ident(m)operator(\)) ident(mmswap)operator(()ident(m)operator(,)ident(l)operator(\);) ident(l) operator(-=) ident(size)operator(;) reserved(goto) ident(fin)operator(;}) reserved(if) operator(()ident(l) operator(==) ident(m)operator(\)) reserved(continue)operator(;) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(l)operator(,)ident(m)operator(,)ident(d)operator(\)\)) operator(>) integer(0)operator(\)) operator({)ident(eq_r) operator(=) integer(0)operator(;) reserved(break)operator(;}) reserved(if) operator(()ident(t) operator(<) integer(0)operator(\)) ident(eq_l) operator(=) integer(0)operator(;) operator(}) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(l) operator(==) operator(()ident(r) operator(-=) ident(size)operator(\)\)) operator({)ident(l) operator(-=) ident(size)operator(;) reserved(if) operator(()ident(l) operator(!=) ident(m)operator(\)) ident(mmswap)operator(()ident(m)operator(,)ident(l)operator(\);) ident(l) operator(-=) ident(size)operator(;) reserved(goto) ident(fin)operator(;}) reserved(if) operator(()ident(r) operator(==) ident(m)operator(\)) operator({)ident(m) operator(=) ident(l)operator(;) reserved(break)operator(;}) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(r)operator(,)ident(m)operator(,)ident(d)operator(\)\)) operator(<) integer(0)operator(\)) operator({)ident(eq_l) operator(=) integer(0)operator(;) reserved(break)operator(;}) reserved(if) operator(()ident(t) operator(==) integer(0)operator(\)) reserved(break)operator(;) operator(}) ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) comment(/* swap left and right */) operator(}) label(loopB:) ident(eq_l) operator(=) integer(1)operator(;) ident(eq_r) operator(=) integer(1)operator(;) comment(/* splitting type B */) comment(/* left < median <= right */) reserved(for) operator((;;\)) operator({) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(l) operator(==) operator(()ident(r) operator(-=) ident(size)operator(\)\)) operator({)ident(r) operator(+=) ident(size)operator(;) reserved(if) operator(()ident(r) operator(!=) ident(m)operator(\)) ident(mmswap)operator(()ident(r)operator(,)ident(m)operator(\);) ident(r) operator(+=) ident(size)operator(;) reserved(goto) ident(fin)operator(;}) reserved(if) operator(()ident(r) operator(==) ident(m)operator(\)) reserved(continue)operator(;) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(r)operator(,)ident(m)operator(,)ident(d)operator(\)\)) operator(<) integer(0)operator(\)) operator({)ident(eq_l) operator(=) integer(0)operator(;) reserved(break)operator(;}) reserved(if) operator(()ident(t) operator(>) integer(0)operator(\)) ident(eq_r) operator(=) integer(0)operator(;) operator(}) reserved(for) operator((;;\)) operator({) reserved(if) operator((()ident(l) operator(+=) ident(size)operator(\)) operator(==) ident(r)operator(\)) operator({)ident(r) operator(+=) ident(size)operator(;) reserved(if) operator(()ident(r) operator(!=) ident(m)operator(\)) ident(mmswap)operator(()ident(r)operator(,)ident(m)operator(\);) ident(r) operator(+=) ident(size)operator(;) reserved(goto) ident(fin)operator(;}) reserved(if) operator(()ident(l) operator(==) ident(m)operator(\)) operator({)ident(m) operator(=) ident(r)operator(;) reserved(break)operator(;}) reserved(if) operator((()ident(t) operator(=) operator((*)ident(cmp)operator(\)()ident(l)operator(,)ident(m)operator(,)ident(d)operator(\)\)) operator(>) integer(0)operator(\)) operator({)ident(eq_r) operator(=) integer(0)operator(;) reserved(break)operator(;}) reserved(if) operator(()ident(t) operator(==) integer(0)operator(\)) reserved(break)operator(;) operator(}) ident(mmswap)operator(()ident(l)operator(,)ident(r)operator(\);) comment(/* swap left and right */) operator(}) label(fin:) reserved(if) operator(()ident(eq_l) operator(==) integer(0)operator(\)) comment(/* need to sort left side */) reserved(if) operator(()ident(eq_r) operator(==) integer(0)operator(\)) comment(/* need to sort right side */) reserved(if) operator(()ident(l)operator(-)ident(L) operator(<) ident(R)operator(-)ident(r)operator(\)) operator({)ident(PUSH)operator(()ident(r)operator(,)ident(R)operator(\);) ident(R) operator(=) ident(l)operator(;}) comment(/* sort left side first */) reserved(else) operator({)ident(PUSH)operator(()ident(L)operator(,)ident(l)operator(\);) ident(L) operator(=) ident(r)operator(;}) comment(/* sort right side first */) reserved(else) ident(R) operator(=) ident(l)operator(;) comment(/* need to sort left side only */) reserved(else) reserved(if) operator(()ident(eq_r) operator(==) integer(0)operator(\)) ident(L) operator(=) ident(r)operator(;) comment(/* need to sort right side only */) reserved(else) reserved(goto) ident(nxt)operator(;) comment(/* need not to sort both sides */) operator(}) operator(}) pre_type(char) operator(*) ident(ruby_strdup)operator(()ident(str)operator(\)) directive(const) pre_type(char) operator(*)ident(str)operator(;) operator({) pre_type(char) operator(*)ident(tmp)operator(;) pre_type(int) ident(len) operator(=) ident(strlen)operator(()ident(str)operator(\)) operator(+) integer(1)operator(;) ident(tmp) operator(=) ident(xmalloc)operator(()ident(len)operator(\);) ident(memcpy)operator(()ident(tmp)operator(,) ident(str)operator(,) ident(len)operator(\);) reserved(return) ident(tmp)operator(;) operator(}) pre_type(char) operator(*) ident(ruby_getcwd)operator((\)) operator({) preprocessor(#ifdef) ident(HAVE_GETCWD) pre_type(int) ident(size) operator(=) integer(200)operator(;) pre_type(char) operator(*)ident(buf) operator(=) ident(xmalloc)operator(()ident(size)operator(\);) reserved(while) operator((!)ident(getcwd)operator(()ident(buf)operator(,) ident(size)operator(\)\)) operator({) reserved(if) operator(()ident(errno) operator(!=) ident(ERANGE)operator(\)) operator({) ident(free)operator(()ident(buf)operator(\);) ident(rb_sys_fail)operator(()stringoperator(\);) operator(}) ident(size) operator(*=) integer(2)operator(;) ident(buf) operator(=) ident(xrealloc)operator(()ident(buf)operator(,) ident(size)operator(\);) operator(}) preprocessor(#else) preprocessor(# ifndef) ident(PATH_MAX) preprocessor(# define) ident(PATH_MAX) integer(8192) preprocessor(# endif) pre_type(char) operator(*)ident(buf) operator(=) ident(xmalloc)operator(()ident(PATH_MAX)operator(+)integer(1)operator(\);) reserved(if) operator((!)ident(getwd)operator(()ident(buf)operator(\)\)) operator({) ident(free)operator(()ident(buf)operator(\);) ident(rb_sys_fail)operator(()stringoperator(\);) operator(}) preprocessor(#endif) reserved(return) ident(buf)operator(;) operator(}) comment(/**************************************************************** * * The author of this software is David M. Gay. * * Copyright (c\) 1991, 2000, 2001 by Lucent Technologies. * * Permission to use, copy, modify, and distribute this software for any * purpose without fee is hereby granted, provided that this entire notice * is included in all copies of any software which is or includes a copy * or modification of this software and in all copies of the supporting * documentation for such software. * * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT MAKES ANY * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. * ***************************************************************/) comment(/* Please send bug reports to David M. Gay (dmg at acm dot org, * with " at " changed at "@" and " dot " changed to "."\). */) comment(/* On a machine with IEEE extended-precision registers, it is * necessary to specify double-precision (53-bit\) rounding precision * before invoking strtod or dtoa. If the machine uses (the equivalent * of\) Intel 80x87 arithmetic, the call * _control87(PC_53, MCW_PC\); * does this with many compilers. Whether this or another call is * appropriate depends on the compiler; for this to work, it may be * necessary to #include "float.h" or another system-dependent header * file. */) comment(/* strtod for IEEE-, VAX-, and IBM-arithmetic machines. * * This strtod returns a nearest machine number to the input decimal * string (or sets errno to ERANGE\). With IEEE arithmetic, ties are * broken by the IEEE round-even rule. Otherwise ties are broken by * biased rounding (add half and chop\). * * Inspired loosely by William D. Clinger's paper "How to Read Floating * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101]. * * Modifications: * * 1. We only require IEEE, IBM, or VAX double-precision * arithmetic (not IEEE double-extended\). * 2. We get by with floating-point arithmetic in a case that * Clinger missed -- when we're computing d * 10^n * for a small integer d and the integer n is not too * much larger than 22 (the maximum integer k for which * we can represent 10^k exactly\), we may be able to * compute (d*10^k\) * 10^(e-k\) with just one roundoff. * 3. Rather than a bit-at-a-time adjustment of the binary * result in the hard case, we use floating-point * arithmetic to determine the adjustment to within * one bit; only in really hard cases do we need to * compute a second residual. * 4. Because of 3., we don't need a large table of powers of 10 * for ten-to-e (just some small tables, e.g. of 10^k * for 0 <= k <= 22\). */) comment(/* * #define IEEE_LITTLE_ENDIAN for IEEE-arithmetic machines where the least * significant byte has the lowest address. * #define IEEE_BIG_ENDIAN for IEEE-arithmetic machines where the most * significant byte has the lowest address. * #define Long int on machines with 32-bit ints and 64-bit longs. * #define IBM for IBM mainframe-style floating-point arithmetic. * #define VAX for VAX-style floating-point arithmetic (D_floating\). * #define No_leftright to omit left-right logic in fast floating-point * computation of dtoa. * #define Honor_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 * and strtod and dtoa should round accordingly. * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3 * and Honor_FLT_ROUNDS is not #defined. * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines * that use extended-precision instructions to compute rounded * products and quotients\) with IBM. * #define ROUND_BIASED for IEEE-format with biased rounding. * #define Inaccurate_Divide for IEEE-format with correctly rounded * products but inaccurate quotients, e.g., for Intel i860. * #define NO_LONG_LONG on machines that do not have a "long long" * integer type (of >= 64 bits\). On such machines, you can * #define Just_16 to store 16 bits per 32-bit Long when doing * high-precision integer arithmetic. Whether this speeds things * up or slows things down depends on the machine and the number * being converted. If long long is available and the name is * something other than "long long", #define Llong to be the name, * and if "unsigned Llong" does not work as an unsigned version of * Llong, #define #ULLong to be the corresponding unsigned type. * #define KR_headers for old-style C function headers. * #define Bad_float_h if your system lacks a float.h or if it does not * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. * #define MALLOC your_malloc, where your_malloc(n\) acts like malloc(n\) * if memory is available and otherwise does something you deem * appropriate. If MALLOC is undefined, malloc will be invoked * directly -- and assumed always to succeed. * #define Omit_Private_Memory to omit logic (added Jan. 1998\) for making * memory allocations from a private pool of memory when possible. * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes, * unless #defined to be a different length. This default length * suffices to get rid of MALLOC calls except for unusual cases, * such as decimal-to-binary conversion of a very long string of * digits. The longest string dtoa can return is about 751 bytes * long. For conversions by strtod of strings of 800 digits and * all dtoa conversions in single-threaded executions with 8-byte * pointers, PRIVATE_MEM >= 7400 appears to suffice; with 4-byte * pointers, PRIVATE_MEM >= 7112 appears adequate. * #define INFNAN_CHECK on IEEE systems to cause strtod to check for * Infinity and NaN (case insensitively\). On some systems (e.g., * some HP systems\), it may be necessary to #define NAN_WORD0 * appropriately -- to the most significant word of a quiet NaN. * (On HP Series 700/800 machines, -DNAN_WORD0=0x7ff40000 works.\) * When INFNAN_CHECK is #defined and No_Hex_NaN is not #defined, * strtod also accepts (case insensitively\) strings of the form * NaN(x\), where x is a string of hexadecimal digits and spaces; * if there is only one string of hexadecimal digits, it is taken * for the 52 fraction bits of the resulting NaN; if there are two * or more strings of hex digits, the first is for the high 20 bits, * the second and subsequent for the low 32 bits, with intervening * white space ignored; but if this results in none of the 52 * fraction bits being on (an IEEE Infinity symbol\), then NAN_WORD0 * and NAN_WORD1 are used instead. * #define MULTIPLE_THREADS if the system offers preemptively scheduled * multiple threads. In this case, you must provide (or suitably * #define\) two locks, acquired by ACQUIRE_DTOA_LOCK(n\) and freed * by FREE_DTOA_LOCK(n\) for n = 0 or 1. (The second lock, accessed * in pow5mult, ensures lazy evaluation of only one copy of high * powers of 5; omitting this lock would introduce a small * probability of wasting memory, but would otherwise be harmless.\) * You must also invoke freedtoa(s\) to free the value s returned by * dtoa. You may do so whether or not MULTIPLE_THREADS is #defined. * #define NO_IEEE_Scale to disable new (Feb. 1997\) logic in strtod that * avoids underflows on inputs whose result does not underflow. * If you #define NO_IEEE_Scale on a machine that uses IEEE-format * floating-point numbers and flushes underflows to zero rather * than implementing gradual underflow, then you must also #define * Sudden_Underflow. * #define YES_ALIAS to permit aliasing certain double values with * arrays of ULongs. This leads to slightly better code with * some compilers and was always used prior to 19990916, but it * is not strictly legal and can cause trouble with aggressively * optimizing compilers (e.g., gcc 2.95.1 under -O2\). * #define USE_LOCALE to use the current locale's decimal_point value. * #define SET_INEXACT if IEEE arithmetic is being used and extra * computation should be done to set the inexact flag when the * result is inexact and avoid setting inexact when the result * is exact. In this case, dtoa.c must be compiled in * an environment, perhaps provided by #include "dtoa.c" in a * suitable wrapper, that defines two functions, * int get_inexact(void\); * void clear_inexact(void\); * such that get_inexact(\) returns a nonzero value if the * inexact bit is already set, and clear_inexact(\) sets the * inexact bit to 0. When SET_INEXACT is #defined, strtod * also does extra computations to set the underflow and overflow * flags when appropriate (i.e., when the result is tiny and * inexact or when it is a numeric value rounded to +-infinity\). * #define NO_ERRNO if strtod should not assign errno = ERANGE when * the result overflows to +-Infinity or underflows to 0. */) preprocessor(#ifdef) ident(WORDS_BIGENDIAN) preprocessor(#define) ident(IEEE_BIG_ENDIAN) preprocessor(#else) preprocessor(#define) ident(IEEE_LITTLE_ENDIAN) preprocessor(#endif) preprocessor(#ifdef) ident(__vax__) preprocessor(#define) ident(VAX) preprocessor(#undef) ident(IEEE_BIG_ENDIAN) preprocessor(#undef) ident(IEEE_LITTLE_ENDIAN) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__arm__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__VFP_FP__)operator(\)) preprocessor(#define) ident(IEEE_BIG_ENDIAN) preprocessor(#undef) ident(IEEE_LITTLE_ENDIAN) preprocessor(#endif) preprocessor(#undef) ident(Long) preprocessor(#undef) ident(ULong) preprocessor(#if) ident(SIZEOF_INT) operator(==) integer(4) preprocessor(#define) ident(Long) pre_type(int) preprocessor(#define) ident(ULong) pre_type(unsigned) pre_type(int) preprocessor(#elif) ident(SIZEOF_LONG) operator(==) integer(4) preprocessor(#define) ident(Long) pre_type(long) pre_type(int) preprocessor(#define) ident(ULong) pre_type(unsigned) pre_type(long) pre_type(int) preprocessor(#endif) preprocessor(#if) ident(HAVE_LONG_LONG) preprocessor(#define) ident(Llong) ident(LONG_LONG) preprocessor(#endif) preprocessor(#ifdef) ident(DEBUG) preprocessor(#include) include("stdio.h") preprocessor(#define) ident(Bug)operator(()ident(x)operator(\)) operator({)ident(fprintf)operator(()ident(stderr)operator(,) stringoperator(,) ident(x)operator(\);) ident(exit)operator(()integer(1)operator(\);}) preprocessor(#endif) preprocessor(#include) include("stdlib.h") preprocessor(#include) include("string.h") preprocessor(#ifdef) ident(USE_LOCALE) preprocessor(#include) include("locale.h") preprocessor(#endif) preprocessor(#ifdef) ident(MALLOC) directive(extern) directive(void) operator(*)ident(MALLOC)operator(()ident(size_t)operator(\);) preprocessor(#else) preprocessor(#define) ident(MALLOC) ident(malloc) preprocessor(#endif) preprocessor(#ifndef) ident(Omit_Private_Memory) preprocessor(#ifndef) ident(PRIVATE_MEM) preprocessor(#define) ident(PRIVATE_MEM) integer(2304) preprocessor(#endif) preprocessor(#define) ident(PRIVATE_mem) operator((()ident(PRIVATE_MEM)operator(+)reserved(sizeof)operator(()pre_type(double)operator(\)-)integer(1)operator(\))operator(/)reserved(sizeof)operator(()pre_type(double)operator(\)\)) directive(static) pre_type(double) ident(private_mem)operator([)ident(PRIVATE_mem)operator(],) operator(*)ident(pmem_next) operator(=) ident(private_mem)operator(;) preprocessor(#endif) preprocessor(#undef) ident(IEEE_Arith) preprocessor(#undef) ident(Avoid_Underflow) preprocessor(#ifdef) ident(IEEE_BIG_ENDIAN) preprocessor(#define) ident(IEEE_Arith) preprocessor(#endif) preprocessor(#ifdef) ident(IEEE_LITTLE_ENDIAN) preprocessor(#define) ident(IEEE_Arith) preprocessor(#endif) preprocessor(#include) include("errno.h") preprocessor(#ifdef) ident(Bad_float_h) preprocessor(#ifdef) ident(IEEE_Arith) preprocessor(#define) ident(DBL_DIG) integer(15) preprocessor(#define) ident(DBL_MAX_10_EXP) integer(308) preprocessor(#define) ident(DBL_MAX_EXP) integer(1024) preprocessor(#define) ident(FLT_RADIX) integer(2) preprocessor(#endif) comment(/*IEEE_Arith*/) preprocessor(#ifdef) ident(IBM) preprocessor(#define) ident(DBL_DIG) integer(16) preprocessor(#define) ident(DBL_MAX_10_EXP) integer(75) preprocessor(#define) ident(DBL_MAX_EXP) integer(63) preprocessor(#define) ident(FLT_RADIX) integer(16) preprocessor(#define) ident(DBL_MAX) float(7)float(.2370055773322621e+75) preprocessor(#endif) preprocessor(#ifdef) ident(VAX) preprocessor(#define) ident(DBL_DIG) integer(16) preprocessor(#define) ident(DBL_MAX_10_EXP) integer(38) preprocessor(#define) ident(DBL_MAX_EXP) integer(127) preprocessor(#define) ident(FLT_RADIX) integer(2) preprocessor(#define) ident(DBL_MAX) float(1)float(.7014118346046923e+38) preprocessor(#endif) preprocessor(#ifndef) ident(LONG_MAX) preprocessor(#define) ident(LONG_MAX) integer(2147483647) preprocessor(#endif) preprocessor(#else) comment(/* ifndef Bad_float_h */) preprocessor(#include) include("float.h") preprocessor(#endif) comment(/* Bad_float_h */) preprocessor(#ifndef) ident(__MATH_H__) preprocessor(#include) include("math.h") preprocessor(#endif) preprocessor(#ifdef) ident(__cplusplus) directive(extern) string operator({) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(IEEE_LITTLE_ENDIAN)operator(\)) operator(+) ident(defined)operator(()ident(IEEE_BIG_ENDIAN)operator(\)) operator(+) ident(defined)operator(()ident(VAX)operator(\)) operator(+) ident(defined)operator(()ident(IBM)operator(\)) operator(!=) integer(1) ident(Exactly) ident(one) ident(of) ident(IEEE_LITTLE_ENDIAN)operator(,) ident(IEEE_BIG_ENDIAN)operator(,) ident(VAX)operator(,) ident(or) ident(IBM) ident(should) ident(be) ident(defined)operator(.) preprocessor(#endif) reserved(typedef) reserved(union) operator({) pre_type(double) ident(d)operator(;) ident(ULong) ident(L)operator([)integer(2)operator(];) operator(}) ident(U)operator(;) preprocessor(#ifdef) ident(YES_ALIAS) preprocessor(#define) ident(dval)operator(()ident(x)operator(\)) ident(x) preprocessor(#ifdef) ident(IEEE_LITTLE_ENDIAN) preprocessor(#define) ident(word0)operator(()ident(x)operator(\)) operator((()ident(ULong) operator(*\)&)ident(x)operator(\)[)integer(1)operator(]) preprocessor(#define) ident(word1)operator(()ident(x)operator(\)) operator((()ident(ULong) operator(*\)&)ident(x)operator(\)[)integer(0)operator(]) preprocessor(#else) preprocessor(#define) ident(word0)operator(()ident(x)operator(\)) operator((()ident(ULong) operator(*\)&)ident(x)operator(\)[)integer(0)operator(]) preprocessor(#define) ident(word1)operator(()ident(x)operator(\)) operator((()ident(ULong) operator(*\)&)ident(x)operator(\)[)integer(1)operator(]) preprocessor(#endif) preprocessor(#else) preprocessor(#ifdef) ident(IEEE_LITTLE_ENDIAN) preprocessor(#define) ident(word0)operator(()ident(x)operator(\)) operator((()ident(U)operator(*\)&)ident(x)operator(\)->)ident(L)operator([)integer(1)operator(]) preprocessor(#define) ident(word1)operator(()ident(x)operator(\)) operator((()ident(U)operator(*\)&)ident(x)operator(\)->)ident(L)operator([)integer(0)operator(]) preprocessor(#else) preprocessor(#define) ident(word0)operator(()ident(x)operator(\)) operator((()ident(U)operator(*\)&)ident(x)operator(\)->)ident(L)operator([)integer(0)operator(]) preprocessor(#define) ident(word1)operator(()ident(x)operator(\)) operator((()ident(U)operator(*\)&)ident(x)operator(\)->)ident(L)operator([)integer(1)operator(]) preprocessor(#endif) preprocessor(#define) ident(dval)operator(()ident(x)operator(\)) operator((()ident(U)operator(*\)&)ident(x)operator(\)->)ident(d) preprocessor(#endif) comment(/* The following definition of Storeinc is appropriate for MIPS processors. * An alternative that might be better on some machines is * #define Storeinc(a,b,c\) (*a++ = b << 16 | c & 0xffff\) */) preprocessor(#if) ident(defined)operator(()ident(IEEE_LITTLE_ENDIAN)operator(\)) operator(+) ident(defined)operator(()ident(VAX)operator(\)) operator(+) ident(defined)operator(()ident(__arm__)operator(\)) preprocessor(#define) ident(Storeinc)operator(()ident(a)operator(,)ident(b)operator(,)ident(c)operator(\)) operator(((()pre_type(unsigned) pre_type(short) operator(*\))ident(a)operator(\)[)integer(1)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\))ident(b)operator(,) \ operator((()pre_type(unsigned) pre_type(short) operator(*\))ident(a)operator(\)[)integer(0)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\))ident(c)operator(,) ident(a)operator(++\)) preprocessor(#else) preprocessor(#define) ident(Storeinc)operator(()ident(a)operator(,)ident(b)operator(,)ident(c)operator(\)) operator(((()pre_type(unsigned) pre_type(short) operator(*\))ident(a)operator(\)[)integer(0)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\))ident(b)operator(,) \ operator((()pre_type(unsigned) pre_type(short) operator(*\))ident(a)operator(\)[)integer(1)operator(]) operator(=) operator(()pre_type(unsigned) pre_type(short)operator(\))ident(c)operator(,) ident(a)operator(++\)) preprocessor(#endif) comment(/* #define P DBL_MANT_DIG */) comment(/* Ten_pmax = floor(P*log(2\)/log(5\)\) */) comment(/* Bletch = (highest power of 2 < DBL_MAX_10_EXP\) / 16 */) comment(/* Quick_max = floor((P-1\)*log(FLT_RADIX\)/log(10\) - 1\) */) comment(/* Int_max = floor(P*log(FLT_RADIX\)/log(10\) - 1\) */) preprocessor(#ifdef) ident(IEEE_Arith) preprocessor(#define) ident(Exp_shift) integer(20) preprocessor(#define) ident(Exp_shift1) integer(20) preprocessor(#define) ident(Exp_msk1) hex(0x100000) preprocessor(#define) ident(Exp_msk11) hex(0x100000) preprocessor(#define) ident(Exp_mask) hex(0x7ff00000) preprocessor(#define) ident(P) integer(53) preprocessor(#define) ident(Bias) integer(1023) preprocessor(#define) ident(Emin) operator((-)integer(1022)operator(\)) preprocessor(#define) ident(Exp_1) hex(0x3ff00000) preprocessor(#define) ident(Exp_11) hex(0x3ff00000) preprocessor(#define) ident(Ebits) integer(11) preprocessor(#define) ident(Frac_mask) hex(0xfffff) preprocessor(#define) ident(Frac_mask1) hex(0xfffff) preprocessor(#define) ident(Ten_pmax) integer(22) preprocessor(#define) ident(Bletch) hex(0x10) preprocessor(#define) ident(Bndry_mask) hex(0xfffff) preprocessor(#define) ident(Bndry_mask1) hex(0xfffff) preprocessor(#define) ident(LSB) integer(1) preprocessor(#define) ident(Sign_bit) hex(0x80000000) preprocessor(#define) ident(Log2P) integer(1) preprocessor(#define) ident(Tiny0) integer(0) preprocessor(#define) ident(Tiny1) integer(1) preprocessor(#define) ident(Quick_max) integer(14) preprocessor(#define) ident(Int_max) integer(14) preprocessor(#ifndef) ident(NO_IEEE_Scale) preprocessor(#define) ident(Avoid_Underflow) preprocessor(#ifdef) ident(Flush_Denorm) comment(/* debugging option */) preprocessor(#undef) ident(Sudden_Underflow) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifndef) ident(Flt_Rounds) preprocessor(#ifdef) ident(FLT_ROUNDS) preprocessor(#define) ident(Flt_Rounds) ident(FLT_ROUNDS) preprocessor(#else) preprocessor(#define) ident(Flt_Rounds) integer(1) preprocessor(#endif) preprocessor(#endif) comment(/*Flt_Rounds*/) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) preprocessor(#define) ident(Rounding) ident(rounding) preprocessor(#undef) ident(Check_FLT_ROUNDS) preprocessor(#define) ident(Check_FLT_ROUNDS) preprocessor(#else) preprocessor(#define) ident(Rounding) ident(Flt_Rounds) preprocessor(#endif) preprocessor(#else) comment(/* ifndef IEEE_Arith */) preprocessor(#undef) ident(Check_FLT_ROUNDS) preprocessor(#undef) ident(Honor_FLT_ROUNDS) preprocessor(#undef) ident(SET_INEXACT) preprocessor(#undef) ident(Sudden_Underflow) preprocessor(#define) ident(Sudden_Underflow) preprocessor(#ifdef) ident(IBM) preprocessor(#undef) ident(Flt_Rounds) preprocessor(#define) ident(Flt_Rounds) integer(0) preprocessor(#define) ident(Exp_shift) integer(24) preprocessor(#define) ident(Exp_shift1) integer(24) preprocessor(#define) ident(Exp_msk1) hex(0x1000000) preprocessor(#define) ident(Exp_msk11) hex(0x1000000) preprocessor(#define) ident(Exp_mask) hex(0x7f000000) preprocessor(#define) ident(P) integer(14) preprocessor(#define) ident(Bias) integer(65) preprocessor(#define) ident(Exp_1) hex(0x41000000) preprocessor(#define) ident(Exp_11) hex(0x41000000) preprocessor(#define) ident(Ebits) integer(8) comment(/* exponent has 7 bits, but 8 is the right value in b2d */) preprocessor(#define) ident(Frac_mask) hex(0xffffff) preprocessor(#define) ident(Frac_mask1) hex(0xffffff) preprocessor(#define) ident(Bletch) integer(4) preprocessor(#define) ident(Ten_pmax) integer(22) preprocessor(#define) ident(Bndry_mask) hex(0xefffff) preprocessor(#define) ident(Bndry_mask1) hex(0xffffff) preprocessor(#define) ident(LSB) integer(1) preprocessor(#define) ident(Sign_bit) hex(0x80000000) preprocessor(#define) ident(Log2P) integer(4) preprocessor(#define) ident(Tiny0) hex(0x100000) preprocessor(#define) ident(Tiny1) integer(0) preprocessor(#define) ident(Quick_max) integer(14) preprocessor(#define) ident(Int_max) integer(15) preprocessor(#else) comment(/* VAX */) preprocessor(#undef) ident(Flt_Rounds) preprocessor(#define) ident(Flt_Rounds) integer(1) preprocessor(#define) ident(Exp_shift) integer(23) preprocessor(#define) ident(Exp_shift1) integer(7) preprocessor(#define) ident(Exp_msk1) hex(0x80) preprocessor(#define) ident(Exp_msk11) hex(0x800000) preprocessor(#define) ident(Exp_mask) hex(0x7f80) preprocessor(#define) ident(P) integer(56) preprocessor(#define) ident(Bias) integer(129) preprocessor(#define) ident(Exp_1) hex(0x40800000) preprocessor(#define) ident(Exp_11) hex(0x4080) preprocessor(#define) ident(Ebits) integer(8) preprocessor(#define) ident(Frac_mask) hex(0x7fffff) preprocessor(#define) ident(Frac_mask1) hex(0xffff007f) preprocessor(#define) ident(Ten_pmax) integer(24) preprocessor(#define) ident(Bletch) integer(2) preprocessor(#define) ident(Bndry_mask) hex(0xffff007f) preprocessor(#define) ident(Bndry_mask1) hex(0xffff007f) preprocessor(#define) ident(LSB) hex(0x10000) preprocessor(#define) ident(Sign_bit) hex(0x8000) preprocessor(#define) ident(Log2P) integer(1) preprocessor(#define) ident(Tiny0) hex(0x80) preprocessor(#define) ident(Tiny1) integer(0) preprocessor(#define) ident(Quick_max) integer(15) preprocessor(#define) ident(Int_max) integer(15) preprocessor(#endif) comment(/* IBM, VAX */) preprocessor(#endif) comment(/* IEEE_Arith */) preprocessor(#ifndef) ident(IEEE_Arith) preprocessor(#define) ident(ROUND_BIASED) preprocessor(#endif) preprocessor(#ifdef) ident(RND_PRODQUOT) preprocessor(#define) ident(rounded_product)operator(()ident(a)operator(,)ident(b)operator(\)) ident(a) operator(=) ident(rnd_prod)operator(()ident(a)operator(,) ident(b)operator(\)) preprocessor(#define) ident(rounded_quotient)operator(()ident(a)operator(,)ident(b)operator(\)) ident(a) operator(=) ident(rnd_quot)operator(()ident(a)operator(,) ident(b)operator(\)) directive(extern) pre_type(double) ident(rnd_prod)operator(()pre_type(double)operator(,) pre_type(double)operator(\),) ident(rnd_quot)operator(()pre_type(double)operator(,) pre_type(double)operator(\);) preprocessor(#else) preprocessor(#define) ident(rounded_product)operator(()ident(a)operator(,)ident(b)operator(\)) ident(a) operator(*=) ident(b) preprocessor(#define) ident(rounded_quotient)operator(()ident(a)operator(,)ident(b)operator(\)) ident(a) operator(/=) ident(b) preprocessor(#endif) preprocessor(#define) ident(Big0) operator(()ident(Frac_mask1) operator(|) ident(Exp_msk1)operator(*()ident(DBL_MAX_EXP)operator(+)ident(Bias)operator(-)integer(1)operator(\)\)) preprocessor(#define) ident(Big1) hex(0xffffffff) preprocessor(#ifndef) ident(Pack_32) preprocessor(#define) ident(Pack_32) preprocessor(#endif) preprocessor(#define) ident(FFFFFFFF) hex(0xffffffff)ident(UL) preprocessor(#ifdef) ident(NO_LONG_LONG) preprocessor(#undef) ident(ULLong) preprocessor(#ifdef) ident(Just_16) preprocessor(#undef) ident(Pack_32) comment(/* When Pack_32 is not defined, we store 16 bits per 32-bit Long. * This makes some inner loops simpler and sometimes saves work * during multiplications, but it often seems to make things slightly * slower. Hence the default is now to store 32 bits per Long. */) preprocessor(#endif) preprocessor(#else) comment(/* long long available */) preprocessor(#ifndef) ident(Llong) preprocessor(#define) ident(Llong) pre_type(long) pre_type(long) preprocessor(#endif) preprocessor(#ifndef) ident(ULLong) preprocessor(#define) ident(ULLong) pre_type(unsigned) ident(Llong) preprocessor(#endif) preprocessor(#endif) comment(/* NO_LONG_LONG */) preprocessor(#ifndef) ident(MULTIPLE_THREADS) preprocessor(#define) ident(ACQUIRE_DTOA_LOCK)operator(()ident(n)operator(\)) comment(/*nothing*/) preprocessor(#define) ident(FREE_DTOA_LOCK)operator(()ident(n)operator(\)) comment(/*nothing*/) preprocessor(#endif) preprocessor(#define) ident(Kmax) integer(15) reserved(struct) ident(Bigint) operator({) reserved(struct) ident(Bigint) operator(*)ident(next)operator(;) pre_type(int) ident(k)operator(,) ident(maxwds)operator(,) ident(sign)operator(,) ident(wds)operator(;) ident(ULong) ident(x)operator([)integer(1)operator(];) operator(};) reserved(typedef) reserved(struct) ident(Bigint) ident(Bigint)operator(;) directive(static) ident(Bigint) operator(*)ident(freelist)operator([)ident(Kmax)operator(+)integer(1)operator(];) directive(static) ident(Bigint) operator(*) ident(Balloc)operator(()pre_type(int) ident(k)operator(\)) operator({) pre_type(int) ident(x)operator(;) ident(Bigint) operator(*)ident(rv)operator(;) preprocessor(#ifndef) ident(Omit_Private_Memory) pre_type(unsigned) pre_type(int) ident(len)operator(;) preprocessor(#endif) ident(ACQUIRE_DTOA_LOCK)operator(()integer(0)operator(\);) reserved(if) operator((()ident(rv) operator(=) ident(freelist)operator([)ident(k)operator(]\)) operator(!=) integer(0)operator(\)) operator({) ident(freelist)operator([)ident(k)operator(]) operator(=) ident(rv)operator(->)ident(next)operator(;) operator(}) reserved(else) operator({) ident(x) operator(=) integer(1) operator(<<) ident(k)operator(;) preprocessor(#ifdef) ident(Omit_Private_Memory) ident(rv) operator(=) operator(()ident(Bigint) operator(*\))ident(MALLOC)operator(()reserved(sizeof)operator(()ident(Bigint)operator(\)) operator(+) operator(()ident(x)operator(-)integer(1)operator(\)*)reserved(sizeof)operator(()ident(ULong)operator(\)\);) preprocessor(#else) ident(len) operator(=) operator(()reserved(sizeof)operator(()ident(Bigint)operator(\)) operator(+) operator(()ident(x)operator(-)integer(1)operator(\)*)reserved(sizeof)operator(()ident(ULong)operator(\)) operator(+) reserved(sizeof)operator(()pre_type(double)operator(\)) operator(-) integer(1)operator(\)) operator(/)reserved(sizeof)operator(()pre_type(double)operator(\);) reserved(if) operator(()ident(pmem_next) operator(-) ident(private_mem) operator(+) ident(len) operator(<=) ident(PRIVATE_mem)operator(\)) operator({) ident(rv) operator(=) operator(()ident(Bigint)operator(*\))ident(pmem_next)operator(;) ident(pmem_next) operator(+=) ident(len)operator(;) operator(}) reserved(else) ident(rv) operator(=) operator(()ident(Bigint)operator(*\))ident(MALLOC)operator(()ident(len)operator(*)reserved(sizeof)operator(()pre_type(double)operator(\)\);) preprocessor(#endif) ident(rv)operator(->)ident(k) operator(=) ident(k)operator(;) ident(rv)operator(->)ident(maxwds) operator(=) ident(x)operator(;) operator(}) ident(FREE_DTOA_LOCK)operator(()integer(0)operator(\);) ident(rv)operator(->)ident(sign) operator(=) ident(rv)operator(->)ident(wds) operator(=) integer(0)operator(;) reserved(return) ident(rv)operator(;) operator(}) directive(static) directive(void) ident(Bfree)operator(()ident(Bigint) operator(*)ident(v)operator(\)) operator({) reserved(if) operator(()ident(v)operator(\)) operator({) ident(ACQUIRE_DTOA_LOCK)operator(()integer(0)operator(\);) ident(v)operator(->)ident(next) operator(=) ident(freelist)operator([)ident(v)operator(->)ident(k)operator(];) ident(freelist)operator([)ident(v)operator(->)ident(k)operator(]) operator(=) ident(v)operator(;) ident(FREE_DTOA_LOCK)operator(()integer(0)operator(\);) operator(}) operator(}) preprocessor(#define) ident(Bcopy)operator(()ident(x)operator(,)ident(y)operator(\)) ident(memcpy)operator((()pre_type(char) operator(*\)&)ident(x)operator(->)ident(sign)operator(,) operator(()pre_type(char) operator(*\)&)ident(y)operator(->)ident(sign)operator(,) \ ident(y)operator(->)ident(wds)operator(*)reserved(sizeof)operator(()ident(Long)operator(\)) operator(+) integer(2)operator(*)reserved(sizeof)operator(()pre_type(int)operator(\)\)) directive(static) ident(Bigint) operator(*) ident(multadd)operator(()ident(Bigint) operator(*)ident(b)operator(,) pre_type(int) ident(m)operator(,) pre_type(int) ident(a)operator(\)) comment(/* multiply by m and add a */) operator({) pre_type(int) ident(i)operator(,) ident(wds)operator(;) preprocessor(#ifdef) ident(ULLong) ident(ULong) operator(*)ident(x)operator(;) ident(ULLong) ident(carry)operator(,) ident(y)operator(;) preprocessor(#else) ident(ULong) ident(carry)operator(,) operator(*)ident(x)operator(,) ident(y)operator(;) preprocessor(#ifdef) ident(Pack_32) ident(ULong) ident(xi)operator(,) ident(z)operator(;) preprocessor(#endif) preprocessor(#endif) ident(Bigint) operator(*)ident(b1)operator(;) ident(wds) operator(=) ident(b)operator(->)ident(wds)operator(;) ident(x) operator(=) ident(b)operator(->)ident(x)operator(;) ident(i) operator(=) integer(0)operator(;) ident(carry) operator(=) ident(a)operator(;) reserved(do) operator({) preprocessor(#ifdef) ident(ULLong) ident(y) operator(=) operator(*)ident(x) operator(*) operator(()ident(ULLong)operator(\))ident(m) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(y) operator(>>) integer(32)operator(;) operator(*)ident(x)operator(++) operator(=) ident(y) operator(&) ident(FFFFFFFF)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Pack_32) ident(xi) operator(=) operator(*)ident(x)operator(;) ident(y) operator(=) operator(()ident(xi) operator(&) hex(0xffff)operator(\)) operator(*) ident(m) operator(+) ident(carry)operator(;) ident(z) operator(=) operator(()ident(xi) operator(>>) integer(16)operator(\)) operator(*) ident(m) operator(+) operator(()ident(y) operator(>>) integer(16)operator(\);) ident(carry) operator(=) ident(z) operator(>>) integer(16)operator(;) operator(*)ident(x)operator(++) operator(=) operator(()ident(z) operator(<<) integer(16)operator(\)) operator(+) operator(()ident(y) operator(&) hex(0xffff)operator(\);) preprocessor(#else) ident(y) operator(=) operator(*)ident(x) operator(*) ident(m) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(y) operator(>>) integer(16)operator(;) operator(*)ident(x)operator(++) operator(=) ident(y) operator(&) hex(0xffff)operator(;) preprocessor(#endif) preprocessor(#endif) operator(}) reserved(while) operator((++)ident(i) operator(<) ident(wds)operator(\);) reserved(if) operator(()ident(carry)operator(\)) operator({) reserved(if) operator(()ident(wds) operator(>=) ident(b)operator(->)ident(maxwds)operator(\)) operator({) ident(b1) operator(=) ident(Balloc)operator(()ident(b)operator(->)ident(k)operator(+)integer(1)operator(\);) ident(Bcopy)operator(()ident(b1)operator(,) ident(b)operator(\);) ident(Bfree)operator(()ident(b)operator(\);) ident(b) operator(=) ident(b1)operator(;) operator(}) ident(b)operator(->)ident(x)operator([)ident(wds)operator(++]) operator(=) ident(carry)operator(;) ident(b)operator(->)ident(wds) operator(=) ident(wds)operator(;) operator(}) reserved(return) ident(b)operator(;) operator(}) directive(static) ident(Bigint) operator(*) ident(s2b)operator(()directive(const) pre_type(char) operator(*)ident(s)operator(,) pre_type(int) ident(nd0)operator(,) pre_type(int) ident(nd)operator(,) ident(ULong) ident(y9)operator(\)) operator({) ident(Bigint) operator(*)ident(b)operator(;) pre_type(int) ident(i)operator(,) ident(k)operator(;) ident(Long) ident(x)operator(,) ident(y)operator(;) ident(x) operator(=) operator(()ident(nd) operator(+) integer(8)operator(\)) operator(/) integer(9)operator(;) reserved(for) operator(()ident(k) operator(=) integer(0)operator(,) ident(y) operator(=) integer(1)operator(;) ident(x) operator(>) ident(y)operator(;) ident(y) operator(<<=) integer(1)operator(,) ident(k)operator(++\)) operator(;) preprocessor(#ifdef) ident(Pack_32) ident(b) operator(=) ident(Balloc)operator(()ident(k)operator(\);) ident(b)operator(->)ident(x)operator([)integer(0)operator(]) operator(=) ident(y9)operator(;) ident(b)operator(->)ident(wds) operator(=) integer(1)operator(;) preprocessor(#else) ident(b) operator(=) ident(Balloc)operator(()ident(k)operator(+)integer(1)operator(\);) ident(b)operator(->)ident(x)operator([)integer(0)operator(]) operator(=) ident(y9) operator(&) hex(0xffff)operator(;) ident(b)operator(->)ident(wds) operator(=) operator(()ident(b)operator(->)ident(x)operator([)integer(1)operator(]) operator(=) ident(y9) operator(>>) integer(16)operator(\)) operator(?) integer(2) operator(:) integer(1)operator(;) preprocessor(#endif) ident(i) operator(=) integer(9)operator(;) reserved(if) operator(()integer(9) operator(<) ident(nd0)operator(\)) operator({) ident(s) operator(+=) integer(9)operator(;) reserved(do) operator({) ident(b) operator(=) ident(multadd)operator(()ident(b)operator(,) integer(10)operator(,) operator(*)ident(s)operator(++) operator(-) char('0')operator(\);) operator(}) reserved(while) operator((++)ident(i) operator(<) ident(nd0)operator(\);) ident(s)operator(++;) operator(}) reserved(else) ident(s) operator(+=) integer(10)operator(;) reserved(for) operator((;) ident(i) operator(<) ident(nd)operator(;) ident(i)operator(++\)) ident(b) operator(=) ident(multadd)operator(()ident(b)operator(,) integer(10)operator(,) operator(*)ident(s)operator(++) operator(-) char('0')operator(\);) reserved(return) ident(b)operator(;) operator(}) directive(static) pre_type(int) ident(hi0bits)operator(()directive(register) ident(ULong) ident(x)operator(\)) operator({) directive(register) pre_type(int) ident(k) operator(=) integer(0)operator(;) reserved(if) operator((!()ident(x) operator(&) hex(0xffff0000)operator(\)\)) operator({) ident(k) operator(=) integer(16)operator(;) ident(x) operator(<<=) integer(16)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0xff000000)operator(\)\)) operator({) ident(k) operator(+=) integer(8)operator(;) ident(x) operator(<<=) integer(8)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0xf0000000)operator(\)\)) operator({) ident(k) operator(+=) integer(4)operator(;) ident(x) operator(<<=) integer(4)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0xc0000000)operator(\)\)) operator({) ident(k) operator(+=) integer(2)operator(;) ident(x) operator(<<=) integer(2)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0x80000000)operator(\)\)) operator({) ident(k)operator(++;) reserved(if) operator((!()ident(x) operator(&) hex(0x40000000)operator(\)\)) reserved(return) integer(32)operator(;) operator(}) reserved(return) ident(k)operator(;) operator(}) directive(static) pre_type(int) ident(lo0bits)operator(()ident(ULong) operator(*)ident(y)operator(\)) operator({) directive(register) pre_type(int) ident(k)operator(;) directive(register) ident(ULong) ident(x) operator(=) operator(*)ident(y)operator(;) reserved(if) operator(()ident(x) operator(&) integer(7)operator(\)) operator({) reserved(if) operator(()ident(x) operator(&) integer(1)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator(()ident(x) operator(&) integer(2)operator(\)) operator({) operator(*)ident(y) operator(=) ident(x) operator(>>) integer(1)operator(;) reserved(return) integer(1)operator(;) operator(}) operator(*)ident(y) operator(=) ident(x) operator(>>) integer(2)operator(;) reserved(return) integer(2)operator(;) operator(}) ident(k) operator(=) integer(0)operator(;) reserved(if) operator((!()ident(x) operator(&) hex(0xffff)operator(\)\)) operator({) ident(k) operator(=) integer(16)operator(;) ident(x) operator(>>=) integer(16)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0xff)operator(\)\)) operator({) ident(k) operator(+=) integer(8)operator(;) ident(x) operator(>>=) integer(8)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0xf)operator(\)\)) operator({) ident(k) operator(+=) integer(4)operator(;) ident(x) operator(>>=) integer(4)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) hex(0x3)operator(\)\)) operator({) ident(k) operator(+=) integer(2)operator(;) ident(x) operator(>>=) integer(2)operator(;) operator(}) reserved(if) operator((!()ident(x) operator(&) integer(1)operator(\)\)) operator({) ident(k)operator(++;) ident(x) operator(>>=) integer(1)operator(;) reserved(if) operator((!)ident(x)operator(\)) reserved(return) integer(32)operator(;) operator(}) operator(*)ident(y) operator(=) ident(x)operator(;) reserved(return) ident(k)operator(;) operator(}) directive(static) ident(Bigint) operator(*) ident(i2b)operator(()pre_type(int) ident(i)operator(\)) operator({) ident(Bigint) operator(*)ident(b)operator(;) ident(b) operator(=) ident(Balloc)operator(()integer(1)operator(\);) ident(b)operator(->)ident(x)operator([)integer(0)operator(]) operator(=) ident(i)operator(;) ident(b)operator(->)ident(wds) operator(=) integer(1)operator(;) reserved(return) ident(b)operator(;) operator(}) directive(static) ident(Bigint) operator(*) ident(mult)operator(()ident(Bigint) operator(*)ident(a)operator(,) ident(Bigint) operator(*)ident(b)operator(\)) operator({) ident(Bigint) operator(*)ident(c)operator(;) pre_type(int) ident(k)operator(,) ident(wa)operator(,) ident(wb)operator(,) ident(wc)operator(;) ident(ULong) operator(*)ident(x)operator(,) operator(*)ident(xa)operator(,) operator(*)ident(xae)operator(,) operator(*)ident(xb)operator(,) operator(*)ident(xbe)operator(,) operator(*)ident(xc)operator(,) operator(*)ident(xc0)operator(;) ident(ULong) ident(y)operator(;) preprocessor(#ifdef) ident(ULLong) ident(ULLong) ident(carry)operator(,) ident(z)operator(;) preprocessor(#else) ident(ULong) ident(carry)operator(,) ident(z)operator(;) preprocessor(#ifdef) ident(Pack_32) ident(ULong) ident(z2)operator(;) preprocessor(#endif) preprocessor(#endif) reserved(if) operator(()ident(a)operator(->)ident(wds) operator(<) ident(b)operator(->)ident(wds)operator(\)) operator({) ident(c) operator(=) ident(a)operator(;) ident(a) operator(=) ident(b)operator(;) ident(b) operator(=) ident(c)operator(;) operator(}) ident(k) operator(=) ident(a)operator(->)ident(k)operator(;) ident(wa) operator(=) ident(a)operator(->)ident(wds)operator(;) ident(wb) operator(=) ident(b)operator(->)ident(wds)operator(;) ident(wc) operator(=) ident(wa) operator(+) ident(wb)operator(;) reserved(if) operator(()ident(wc) operator(>) ident(a)operator(->)ident(maxwds)operator(\)) ident(k)operator(++;) ident(c) operator(=) ident(Balloc)operator(()ident(k)operator(\);) reserved(for) operator(()ident(x) operator(=) ident(c)operator(->)ident(x)operator(,) ident(xa) operator(=) ident(x) operator(+) ident(wc)operator(;) ident(x) operator(<) ident(xa)operator(;) ident(x)operator(++\)) operator(*)ident(x) operator(=) integer(0)operator(;) ident(xa) operator(=) ident(a)operator(->)ident(x)operator(;) ident(xae) operator(=) ident(xa) operator(+) ident(wa)operator(;) ident(xb) operator(=) ident(b)operator(->)ident(x)operator(;) ident(xbe) operator(=) ident(xb) operator(+) ident(wb)operator(;) ident(xc0) operator(=) ident(c)operator(->)ident(x)operator(;) preprocessor(#ifdef) ident(ULLong) reserved(for) operator((;) ident(xb) operator(<) ident(xbe)operator(;) ident(xc0)operator(++\)) operator({) reserved(if) operator((()ident(y) operator(=) operator(*)ident(xb)operator(++\)) operator(!=) integer(0)operator(\)) operator({) ident(x) operator(=) ident(xa)operator(;) ident(xc) operator(=) ident(xc0)operator(;) ident(carry) operator(=) integer(0)operator(;) reserved(do) operator({) ident(z) operator(=) operator(*)ident(x)operator(++) operator(*) operator(()ident(ULLong)operator(\))ident(y) operator(+) operator(*)ident(xc) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(z) operator(>>) integer(32)operator(;) operator(*)ident(xc)operator(++) operator(=) ident(z) operator(&) ident(FFFFFFFF)operator(;) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xae)operator(\);) operator(*)ident(xc) operator(=) ident(carry)operator(;) operator(}) operator(}) preprocessor(#else) preprocessor(#ifdef) ident(Pack_32) reserved(for) operator((;) ident(xb) operator(<) ident(xbe)operator(;) ident(xb)operator(++,) ident(xc0)operator(++\)) operator({) reserved(if) operator(()ident(y) operator(=) operator(*)ident(xb) operator(&) hex(0xffff)operator(\)) operator({) ident(x) operator(=) ident(xa)operator(;) ident(xc) operator(=) ident(xc0)operator(;) ident(carry) operator(=) integer(0)operator(;) reserved(do) operator({) ident(z) operator(=) operator((*)ident(x) operator(&) hex(0xffff)operator(\)) operator(*) ident(y) operator(+) operator((*)ident(xc) operator(&) hex(0xffff)operator(\)) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(z) operator(>>) integer(16)operator(;) ident(z2) operator(=) operator((*)ident(x)operator(++) operator(>>) integer(16)operator(\)) operator(*) ident(y) operator(+) operator((*)ident(xc) operator(>>) integer(16)operator(\)) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(z2) operator(>>) integer(16)operator(;) ident(Storeinc)operator(()ident(xc)operator(,) ident(z2)operator(,) ident(z)operator(\);) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xae)operator(\);) operator(*)ident(xc) operator(=) ident(carry)operator(;) operator(}) reserved(if) operator(()ident(y) operator(=) operator(*)ident(xb) operator(>>) integer(16)operator(\)) operator({) ident(x) operator(=) ident(xa)operator(;) ident(xc) operator(=) ident(xc0)operator(;) ident(carry) operator(=) integer(0)operator(;) ident(z2) operator(=) operator(*)ident(xc)operator(;) reserved(do) operator({) ident(z) operator(=) operator((*)ident(x) operator(&) hex(0xffff)operator(\)) operator(*) ident(y) operator(+) operator((*)ident(xc) operator(>>) integer(16)operator(\)) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(z) operator(>>) integer(16)operator(;) ident(Storeinc)operator(()ident(xc)operator(,) ident(z)operator(,) ident(z2)operator(\);) ident(z2) operator(=) operator((*)ident(x)operator(++) operator(>>) integer(16)operator(\)) operator(*) ident(y) operator(+) operator((*)ident(xc) operator(&) hex(0xffff)operator(\)) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(z2) operator(>>) integer(16)operator(;) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xae)operator(\);) operator(*)ident(xc) operator(=) ident(z2)operator(;) operator(}) operator(}) preprocessor(#else) reserved(for) operator((;) ident(xb) operator(<) ident(xbe)operator(;) ident(xc0)operator(++\)) operator({) reserved(if) operator(()ident(y) operator(=) operator(*)ident(xb)operator(++\)) operator({) ident(x) operator(=) ident(xa)operator(;) ident(xc) operator(=) ident(xc0)operator(;) ident(carry) operator(=) integer(0)operator(;) reserved(do) operator({) ident(z) operator(=) operator(*)ident(x)operator(++) operator(*) ident(y) operator(+) operator(*)ident(xc) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(z) operator(>>) integer(16)operator(;) operator(*)ident(xc)operator(++) operator(=) ident(z) operator(&) hex(0xffff)operator(;) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xae)operator(\);) operator(*)ident(xc) operator(=) ident(carry)operator(;) operator(}) operator(}) preprocessor(#endif) preprocessor(#endif) reserved(for) operator(()ident(xc0) operator(=) ident(c)operator(->)ident(x)operator(,) ident(xc) operator(=) ident(xc0) operator(+) ident(wc)operator(;) ident(wc) operator(>) integer(0) operator(&&) operator(!*--)ident(xc)operator(;) operator(--)ident(wc)operator(\)) operator(;) ident(c)operator(->)ident(wds) operator(=) ident(wc)operator(;) reserved(return) ident(c)operator(;) operator(}) directive(static) ident(Bigint) operator(*)ident(p5s)operator(;) directive(static) ident(Bigint) operator(*) ident(pow5mult)operator(()ident(Bigint) operator(*)ident(b)operator(,) pre_type(int) ident(k)operator(\)) operator({) ident(Bigint) operator(*)ident(b1)operator(,) operator(*)ident(p5)operator(,) operator(*)ident(p51)operator(;) pre_type(int) ident(i)operator(;) directive(static) pre_type(int) ident(p05)operator([)integer(3)operator(]) operator(=) operator({) integer(5)operator(,) integer(25)operator(,) integer(125) operator(};) reserved(if) operator((()ident(i) operator(=) ident(k) operator(&) integer(3)operator(\)) operator(!=) integer(0)operator(\)) ident(b) operator(=) ident(multadd)operator(()ident(b)operator(,) ident(p05)operator([)ident(i)operator(-)integer(1)operator(],) integer(0)operator(\);) reserved(if) operator((!()ident(k) operator(>>=) integer(2)operator(\)\)) reserved(return) ident(b)operator(;) reserved(if) operator((!()ident(p5) operator(=) ident(p5s)operator(\)\)) operator({) comment(/* first time */) preprocessor(#ifdef) ident(MULTIPLE_THREADS) ident(ACQUIRE_DTOA_LOCK)operator(()integer(1)operator(\);) reserved(if) operator((!()ident(p5) operator(=) ident(p5s)operator(\)\)) operator({) ident(p5) operator(=) ident(p5s) operator(=) ident(i2b)operator(()integer(625)operator(\);) ident(p5)operator(->)ident(next) operator(=) integer(0)operator(;) operator(}) ident(FREE_DTOA_LOCK)operator(()integer(1)operator(\);) preprocessor(#else) ident(p5) operator(=) ident(p5s) operator(=) ident(i2b)operator(()integer(625)operator(\);) ident(p5)operator(->)ident(next) operator(=) integer(0)operator(;) preprocessor(#endif) operator(}) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(k) operator(&) integer(1)operator(\)) operator({) ident(b1) operator(=) ident(mult)operator(()ident(b)operator(,) ident(p5)operator(\);) ident(Bfree)operator(()ident(b)operator(\);) ident(b) operator(=) ident(b1)operator(;) operator(}) reserved(if) operator((!()ident(k) operator(>>=) integer(1)operator(\)\)) reserved(break)operator(;) reserved(if) operator((!()ident(p51) operator(=) ident(p5)operator(->)ident(next)operator(\)\)) operator({) preprocessor(#ifdef) ident(MULTIPLE_THREADS) ident(ACQUIRE_DTOA_LOCK)operator(()integer(1)operator(\);) reserved(if) operator((!()ident(p51) operator(=) ident(p5)operator(->)ident(next)operator(\)\)) operator({) ident(p51) operator(=) ident(p5)operator(->)ident(next) operator(=) ident(mult)operator(()ident(p5)operator(,)ident(p5)operator(\);) ident(p51)operator(->)ident(next) operator(=) integer(0)operator(;) operator(}) ident(FREE_DTOA_LOCK)operator(()integer(1)operator(\);) preprocessor(#else) ident(p51) operator(=) ident(p5)operator(->)ident(next) operator(=) ident(mult)operator(()ident(p5)operator(,)ident(p5)operator(\);) ident(p51)operator(->)ident(next) operator(=) integer(0)operator(;) preprocessor(#endif) operator(}) ident(p5) operator(=) ident(p51)operator(;) operator(}) reserved(return) ident(b)operator(;) operator(}) directive(static) ident(Bigint) operator(*) ident(lshift)operator(()ident(Bigint) operator(*)ident(b)operator(,) pre_type(int) ident(k)operator(\)) operator({) pre_type(int) ident(i)operator(,) ident(k1)operator(,) ident(n)operator(,) ident(n1)operator(;) ident(Bigint) operator(*)ident(b1)operator(;) ident(ULong) operator(*)ident(x)operator(,) operator(*)ident(x1)operator(,) operator(*)ident(xe)operator(,) ident(z)operator(;) preprocessor(#ifdef) ident(Pack_32) ident(n) operator(=) ident(k) operator(>>) integer(5)operator(;) preprocessor(#else) ident(n) operator(=) ident(k) operator(>>) integer(4)operator(;) preprocessor(#endif) ident(k1) operator(=) ident(b)operator(->)ident(k)operator(;) ident(n1) operator(=) ident(n) operator(+) ident(b)operator(->)ident(wds) operator(+) integer(1)operator(;) reserved(for) operator(()ident(i) operator(=) ident(b)operator(->)ident(maxwds)operator(;) ident(n1) operator(>) ident(i)operator(;) ident(i) operator(<<=) integer(1)operator(\)) ident(k1)operator(++;) ident(b1) operator(=) ident(Balloc)operator(()ident(k1)operator(\);) ident(x1) operator(=) ident(b1)operator(->)ident(x)operator(;) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;) ident(i) operator(<) ident(n)operator(;) ident(i)operator(++\)) operator(*)ident(x1)operator(++) operator(=) integer(0)operator(;) ident(x) operator(=) ident(b)operator(->)ident(x)operator(;) ident(xe) operator(=) ident(x) operator(+) ident(b)operator(->)ident(wds)operator(;) preprocessor(#ifdef) ident(Pack_32) reserved(if) operator(()ident(k) operator(&=) hex(0x1f)operator(\)) operator({) ident(k1) operator(=) integer(32) operator(-) ident(k)operator(;) ident(z) operator(=) integer(0)operator(;) reserved(do) operator({) operator(*)ident(x1)operator(++) operator(=) operator(*)ident(x) operator(<<) ident(k) operator(|) ident(z)operator(;) ident(z) operator(=) operator(*)ident(x)operator(++) operator(>>) ident(k1)operator(;) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xe)operator(\);) reserved(if) operator(((*)ident(x1) operator(=) ident(z)operator(\)) operator(!=) integer(0)operator(\)) operator(++)ident(n1)operator(;) operator(}) preprocessor(#else) reserved(if) operator(()ident(k) operator(&=) hex(0xf)operator(\)) operator({) ident(k1) operator(=) integer(16) operator(-) ident(k)operator(;) ident(z) operator(=) integer(0)operator(;) reserved(do) operator({) operator(*)ident(x1)operator(++) operator(=) operator(*)ident(x) operator(<<) ident(k) operator(&) hex(0xffff) operator(|) ident(z)operator(;) ident(z) operator(=) operator(*)ident(x)operator(++) operator(>>) ident(k1)operator(;) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xe)operator(\);) reserved(if) operator((*)ident(x1) operator(=) ident(z)operator(\)) operator(++)ident(n1)operator(;) operator(}) preprocessor(#endif) reserved(else) reserved(do) operator({) operator(*)ident(x1)operator(++) operator(=) operator(*)ident(x)operator(++;) operator(}) reserved(while) operator(()ident(x) operator(<) ident(xe)operator(\);) ident(b1)operator(->)ident(wds) operator(=) ident(n1) operator(-) integer(1)operator(;) ident(Bfree)operator(()ident(b)operator(\);) reserved(return) ident(b1)operator(;) operator(}) directive(static) pre_type(int) ident(cmp)operator(()ident(Bigint) operator(*)ident(a)operator(,) ident(Bigint) operator(*)ident(b)operator(\)) operator({) ident(ULong) operator(*)ident(xa)operator(,) operator(*)ident(xa0)operator(,) operator(*)ident(xb)operator(,) operator(*)ident(xb0)operator(;) pre_type(int) ident(i)operator(,) ident(j)operator(;) ident(i) operator(=) ident(a)operator(->)ident(wds)operator(;) ident(j) operator(=) ident(b)operator(->)ident(wds)operator(;) preprocessor(#ifdef) ident(DEBUG) reserved(if) operator(()ident(i) operator(>) integer(1) operator(&&) operator(!)ident(a)operator(->)ident(x)operator([)ident(i)operator(-)integer(1)operator(]\)) ident(Bug)operator(()stringx[a->wds-1] == 0)delimiter(")>operator(\);) reserved(if) operator(()ident(j) operator(>) integer(1) operator(&&) operator(!)ident(b)operator(->)ident(x)operator([)ident(j)operator(-)integer(1)operator(]\)) ident(Bug)operator(()stringx[b->wds-1] == 0)delimiter(")>operator(\);) preprocessor(#endif) reserved(if) operator(()ident(i) operator(-=) ident(j)operator(\)) reserved(return) ident(i)operator(;) ident(xa0) operator(=) ident(a)operator(->)ident(x)operator(;) ident(xa) operator(=) ident(xa0) operator(+) ident(j)operator(;) ident(xb0) operator(=) ident(b)operator(->)ident(x)operator(;) ident(xb) operator(=) ident(xb0) operator(+) ident(j)operator(;) reserved(for) operator((;;\)) operator({) reserved(if) operator((*--)ident(xa) operator(!=) operator(*--)ident(xb)operator(\)) reserved(return) operator(*)ident(xa) operator(<) operator(*)ident(xb) operator(?) operator(-)integer(1) operator(:) integer(1)operator(;) reserved(if) operator(()ident(xa) operator(<=) ident(xa0)operator(\)) reserved(break)operator(;) operator(}) reserved(return) integer(0)operator(;) operator(}) directive(static) ident(Bigint) operator(*) ident(diff)operator(()ident(Bigint) operator(*)ident(a)operator(,) ident(Bigint) operator(*)ident(b)operator(\)) operator({) ident(Bigint) operator(*)ident(c)operator(;) pre_type(int) ident(i)operator(,) ident(wa)operator(,) ident(wb)operator(;) ident(ULong) operator(*)ident(xa)operator(,) operator(*)ident(xae)operator(,) operator(*)ident(xb)operator(,) operator(*)ident(xbe)operator(,) operator(*)ident(xc)operator(;) preprocessor(#ifdef) ident(ULLong) ident(ULLong) ident(borrow)operator(,) ident(y)operator(;) preprocessor(#else) ident(ULong) ident(borrow)operator(,) ident(y)operator(;) preprocessor(#ifdef) ident(Pack_32) ident(ULong) ident(z)operator(;) preprocessor(#endif) preprocessor(#endif) ident(i) operator(=) ident(cmp)operator(()ident(a)operator(,)ident(b)operator(\);) reserved(if) operator((!)ident(i)operator(\)) operator({) ident(c) operator(=) ident(Balloc)operator(()integer(0)operator(\);) ident(c)operator(->)ident(wds) operator(=) integer(1)operator(;) ident(c)operator(->)ident(x)operator([)integer(0)operator(]) operator(=) integer(0)operator(;) reserved(return) ident(c)operator(;) operator(}) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) operator({) ident(c) operator(=) ident(a)operator(;) ident(a) operator(=) ident(b)operator(;) ident(b) operator(=) ident(c)operator(;) ident(i) operator(=) integer(1)operator(;) operator(}) reserved(else) ident(i) operator(=) integer(0)operator(;) ident(c) operator(=) ident(Balloc)operator(()ident(a)operator(->)ident(k)operator(\);) ident(c)operator(->)ident(sign) operator(=) ident(i)operator(;) ident(wa) operator(=) ident(a)operator(->)ident(wds)operator(;) ident(xa) operator(=) ident(a)operator(->)ident(x)operator(;) ident(xae) operator(=) ident(xa) operator(+) ident(wa)operator(;) ident(wb) operator(=) ident(b)operator(->)ident(wds)operator(;) ident(xb) operator(=) ident(b)operator(->)ident(x)operator(;) ident(xbe) operator(=) ident(xb) operator(+) ident(wb)operator(;) ident(xc) operator(=) ident(c)operator(->)ident(x)operator(;) ident(borrow) operator(=) integer(0)operator(;) preprocessor(#ifdef) ident(ULLong) reserved(do) operator({) ident(y) operator(=) operator(()ident(ULLong)operator(\)*)ident(xa)operator(++) operator(-) operator(*)ident(xb)operator(++) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) ident(y) operator(>>) integer(32) operator(&) operator(()ident(ULong)operator(\))integer(1)operator(;) operator(*)ident(xc)operator(++) operator(=) ident(y) operator(&) ident(FFFFFFFF)operator(;) operator(}) reserved(while) operator(()ident(xb) operator(<) ident(xbe)operator(\);) reserved(while) operator(()ident(xa) operator(<) ident(xae)operator(\)) operator({) ident(y) operator(=) operator(*)ident(xa)operator(++) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) ident(y) operator(>>) integer(32) operator(&) operator(()ident(ULong)operator(\))integer(1)operator(;) operator(*)ident(xc)operator(++) operator(=) ident(y) operator(&) ident(FFFFFFFF)operator(;) operator(}) preprocessor(#else) preprocessor(#ifdef) ident(Pack_32) reserved(do) operator({) ident(y) operator(=) operator((*)ident(xa) operator(&) hex(0xffff)operator(\)) operator(-) operator((*)ident(xb) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(z) operator(=) operator((*)ident(xa)operator(++) operator(>>) integer(16)operator(\)) operator(-) operator((*)ident(xb)operator(++) operator(>>) integer(16)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(z) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(Storeinc)operator(()ident(xc)operator(,) ident(z)operator(,) ident(y)operator(\);) operator(}) reserved(while) operator(()ident(xb) operator(<) ident(xbe)operator(\);) reserved(while) operator(()ident(xa) operator(<) ident(xae)operator(\)) operator({) ident(y) operator(=) operator((*)ident(xa) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(z) operator(=) operator((*)ident(xa)operator(++) operator(>>) integer(16)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(z) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(Storeinc)operator(()ident(xc)operator(,) ident(z)operator(,) ident(y)operator(\);) operator(}) preprocessor(#else) reserved(do) operator({) ident(y) operator(=) operator(*)ident(xa)operator(++) operator(-) operator(*)ident(xb)operator(++) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) operator(*)ident(xc)operator(++) operator(=) ident(y) operator(&) hex(0xffff)operator(;) operator(}) reserved(while) operator(()ident(xb) operator(<) ident(xbe)operator(\);) reserved(while) operator(()ident(xa) operator(<) ident(xae)operator(\)) operator({) ident(y) operator(=) operator(*)ident(xa)operator(++) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) operator(*)ident(xc)operator(++) operator(=) ident(y) operator(&) hex(0xffff)operator(;) operator(}) preprocessor(#endif) preprocessor(#endif) reserved(while) operator((!*--)ident(xc)operator(\)) ident(wa)operator(--;) ident(c)operator(->)ident(wds) operator(=) ident(wa)operator(;) reserved(return) ident(c)operator(;) operator(}) directive(static) pre_type(double) ident(ulp)operator(()pre_type(double) ident(x)operator(\)) operator({) directive(register) ident(Long) ident(L)operator(;) pre_type(double) ident(a)operator(;) ident(L) operator(=) operator(()ident(word0)operator(()ident(x)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(-) operator(()ident(P)operator(-)integer(1)operator(\)*)ident(Exp_msk1)operator(;) preprocessor(#ifndef) ident(Avoid_Underflow) preprocessor(#ifndef) ident(Sudden_Underflow) reserved(if) operator(()ident(L) operator(>) integer(0)operator(\)) operator({) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifdef) ident(IBM) ident(L) operator(|=) ident(Exp_msk1) operator(>>) integer(4)operator(;) preprocessor(#endif) ident(word0)operator(()ident(a)operator(\)) operator(=) ident(L)operator(;) ident(word1)operator(()ident(a)operator(\)) operator(=) integer(0)operator(;) preprocessor(#ifndef) ident(Avoid_Underflow) preprocessor(#ifndef) ident(Sudden_Underflow) operator(}) reserved(else) operator({) ident(L) operator(=) operator(-)ident(L) operator(>>) ident(Exp_shift)operator(;) reserved(if) operator(()ident(L) operator(<) ident(Exp_shift)operator(\)) operator({) ident(word0)operator(()ident(a)operator(\)) operator(=) hex(0x80000) operator(>>) ident(L)operator(;) ident(word1)operator(()ident(a)operator(\)) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(word0)operator(()ident(a)operator(\)) operator(=) integer(0)operator(;) ident(L) operator(-=) ident(Exp_shift)operator(;) ident(word1)operator(()ident(a)operator(\)) operator(=) ident(L) operator(>=) integer(31) operator(?) integer(1) operator(:) integer(1) operator(<<) integer(31) operator(-) ident(L)operator(;) operator(}) operator(}) preprocessor(#endif) preprocessor(#endif) reserved(return) ident(dval)operator(()ident(a)operator(\);) operator(}) directive(static) pre_type(double) ident(b2d)operator(()ident(Bigint) operator(*)ident(a)operator(,) pre_type(int) operator(*)ident(e)operator(\)) operator({) ident(ULong) operator(*)ident(xa)operator(,) operator(*)ident(xa0)operator(,) ident(w)operator(,) ident(y)operator(,) ident(z)operator(;) pre_type(int) ident(k)operator(;) pre_type(double) ident(d)operator(;) preprocessor(#ifdef) ident(VAX) ident(ULong) ident(d0)operator(,) ident(d1)operator(;) preprocessor(#else) preprocessor(#define) ident(d0) ident(word0)operator(()ident(d)operator(\)) preprocessor(#define) ident(d1) ident(word1)operator(()ident(d)operator(\)) preprocessor(#endif) ident(xa0) operator(=) ident(a)operator(->)ident(x)operator(;) ident(xa) operator(=) ident(xa0) operator(+) ident(a)operator(->)ident(wds)operator(;) ident(y) operator(=) operator(*--)ident(xa)operator(;) preprocessor(#ifdef) ident(DEBUG) reserved(if) operator((!)ident(y)operator(\)) ident(Bug)operator(()stringoperator(\);) preprocessor(#endif) ident(k) operator(=) ident(hi0bits)operator(()ident(y)operator(\);) operator(*)ident(e) operator(=) integer(32) operator(-) ident(k)operator(;) preprocessor(#ifdef) ident(Pack_32) reserved(if) operator(()ident(k) operator(<) ident(Ebits)operator(\)) operator({) ident(d0) operator(=) ident(Exp_1) operator(|) ident(y) operator(>>) operator(()ident(Ebits) operator(-) ident(k)operator(\);) ident(w) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(d1) operator(=) ident(y) operator(<<) operator((()integer(32)operator(-)ident(Ebits)operator(\)) operator(+) ident(k)operator(\)) operator(|) ident(w) operator(>>) operator(()ident(Ebits) operator(-) ident(k)operator(\);) reserved(goto) ident(ret_d)operator(;) operator(}) ident(z) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) reserved(if) operator(()ident(k) operator(-=) ident(Ebits)operator(\)) operator({) ident(d0) operator(=) ident(Exp_1) operator(|) ident(y) operator(<<) ident(k) operator(|) ident(z) operator(>>) operator(()integer(32) operator(-) ident(k)operator(\);) ident(y) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(d1) operator(=) ident(z) operator(<<) ident(k) operator(|) ident(y) operator(>>) operator(()integer(32) operator(-) ident(k)operator(\);) operator(}) reserved(else) operator({) ident(d0) operator(=) ident(Exp_1) operator(|) ident(y)operator(;) ident(d1) operator(=) ident(z)operator(;) operator(}) preprocessor(#else) reserved(if) operator(()ident(k) operator(<) ident(Ebits) operator(+) integer(16)operator(\)) operator({) ident(z) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(d0) operator(=) ident(Exp_1) operator(|) ident(y) operator(<<) ident(k) operator(-) ident(Ebits) operator(|) ident(z) operator(>>) ident(Ebits) operator(+) integer(16) operator(-) ident(k)operator(;) ident(w) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(y) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(d1) operator(=) ident(z) operator(<<) ident(k) operator(+) integer(16) operator(-) ident(Ebits) operator(|) ident(w) operator(<<) ident(k) operator(-) ident(Ebits) operator(|) ident(y) operator(>>) integer(16) operator(+) ident(Ebits) operator(-) ident(k)operator(;) reserved(goto) ident(ret_d)operator(;) operator(}) ident(z) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(w) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(k) operator(-=) ident(Ebits) operator(+) integer(16)operator(;) ident(d0) operator(=) ident(Exp_1) operator(|) ident(y) operator(<<) ident(k) operator(+) integer(16) operator(|) ident(z) operator(<<) ident(k) operator(|) ident(w) operator(>>) integer(16) operator(-) ident(k)operator(;) ident(y) operator(=) ident(xa) operator(>) ident(xa0) operator(?) operator(*--)ident(xa) operator(:) integer(0)operator(;) ident(d1) operator(=) ident(w) operator(<<) ident(k) operator(+) integer(16) operator(|) ident(y) operator(<<) ident(k)operator(;) preprocessor(#endif) label(ret_d:) preprocessor(#ifdef) ident(VAX) ident(word0)operator(()ident(d)operator(\)) operator(=) ident(d0) operator(>>) integer(16) operator(|) ident(d0) operator(<<) integer(16)operator(;) ident(word1)operator(()ident(d)operator(\)) operator(=) ident(d1) operator(>>) integer(16) operator(|) ident(d1) operator(<<) integer(16)operator(;) preprocessor(#else) preprocessor(#undef) ident(d0) preprocessor(#undef) ident(d1) preprocessor(#endif) reserved(return) ident(dval)operator(()ident(d)operator(\);) operator(}) directive(static) ident(Bigint) operator(*) ident(d2b)operator(()pre_type(double) ident(d)operator(,) pre_type(int) operator(*)ident(e)operator(,) pre_type(int) operator(*)ident(bits)operator(\)) operator({) ident(Bigint) operator(*)ident(b)operator(;) pre_type(int) ident(de)operator(,) ident(k)operator(;) ident(ULong) operator(*)ident(x)operator(,) ident(y)operator(,) ident(z)operator(;) preprocessor(#ifndef) ident(Sudden_Underflow) pre_type(int) ident(i)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(VAX) ident(ULong) ident(d0)operator(,) ident(d1)operator(;) ident(d0) operator(=) ident(word0)operator(()ident(d)operator(\)) operator(>>) integer(16) operator(|) ident(word0)operator(()ident(d)operator(\)) operator(<<) integer(16)operator(;) ident(d1) operator(=) ident(word1)operator(()ident(d)operator(\)) operator(>>) integer(16) operator(|) ident(word1)operator(()ident(d)operator(\)) operator(<<) integer(16)operator(;) preprocessor(#else) preprocessor(#define) ident(d0) ident(word0)operator(()ident(d)operator(\)) preprocessor(#define) ident(d1) ident(word1)operator(()ident(d)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(Pack_32) ident(b) operator(=) ident(Balloc)operator(()integer(1)operator(\);) preprocessor(#else) ident(b) operator(=) ident(Balloc)operator(()integer(2)operator(\);) preprocessor(#endif) ident(x) operator(=) ident(b)operator(->)ident(x)operator(;) ident(z) operator(=) ident(d0) operator(&) ident(Frac_mask)operator(;) ident(d0) operator(&=) hex(0x7fffffff)operator(;) comment(/* clear sign bit, which we ignore */) preprocessor(#ifdef) ident(Sudden_Underflow) ident(de) operator(=) operator(()pre_type(int)operator(\)()ident(d0) operator(>>) ident(Exp_shift)operator(\);) preprocessor(#ifndef) ident(IBM) ident(z) operator(|=) ident(Exp_msk11)operator(;) preprocessor(#endif) preprocessor(#else) reserved(if) operator((()ident(de) operator(=) operator(()pre_type(int)operator(\)()ident(d0) operator(>>) ident(Exp_shift)operator(\)\)) operator(!=) integer(0)operator(\)) ident(z) operator(|=) ident(Exp_msk1)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(Pack_32) reserved(if) operator((()ident(y) operator(=) ident(d1)operator(\)) operator(!=) integer(0)operator(\)) operator({) reserved(if) operator((()ident(k) operator(=) ident(lo0bits)operator((&)ident(y)operator(\)\)) operator(!=) integer(0)operator(\)) operator({) ident(x)operator([)integer(0)operator(]) operator(=) ident(y) operator(|) ident(z) operator(<<) operator(()integer(32) operator(-) ident(k)operator(\);) ident(z) operator(>>=) ident(k)operator(;) operator(}) reserved(else) ident(x)operator([)integer(0)operator(]) operator(=) ident(y)operator(;) preprocessor(#ifndef) ident(Sudden_Underflow) ident(i) operator(=) preprocessor(#endif) ident(b)operator(->)ident(wds) operator(=) operator(()ident(x)operator([)integer(1)operator(]) operator(=) ident(z)operator(\)) operator(?) integer(2) operator(:) integer(1)operator(;) operator(}) reserved(else) operator({) preprocessor(#ifdef) ident(DEBUG) reserved(if) operator((!)ident(z)operator(\)) ident(Bug)operator(()stringoperator(\);) preprocessor(#endif) ident(k) operator(=) ident(lo0bits)operator((&)ident(z)operator(\);) ident(x)operator([)integer(0)operator(]) operator(=) ident(z)operator(;) preprocessor(#ifndef) ident(Sudden_Underflow) ident(i) operator(=) preprocessor(#endif) ident(b)operator(->)ident(wds) operator(=) integer(1)operator(;) ident(k) operator(+=) integer(32)operator(;) operator(}) preprocessor(#else) reserved(if) operator(()ident(y) operator(=) ident(d1)operator(\)) operator({) reserved(if) operator(()ident(k) operator(=) ident(lo0bits)operator((&)ident(y)operator(\)\)) reserved(if) operator(()ident(k) operator(>=) integer(16)operator(\)) operator({) ident(x)operator([)integer(0)operator(]) operator(=) ident(y) operator(|) ident(z) operator(<<) integer(32) operator(-) ident(k) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(1)operator(]) operator(=) ident(z) operator(>>) ident(k) operator(-) integer(16) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(2)operator(]) operator(=) ident(z) operator(>>) ident(k)operator(;) ident(i) operator(=) integer(2)operator(;) operator(}) reserved(else) operator({) ident(x)operator([)integer(0)operator(]) operator(=) ident(y) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(1)operator(]) operator(=) ident(y) operator(>>) integer(16) operator(|) ident(z) operator(<<) integer(16) operator(-) ident(k) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(2)operator(]) operator(=) ident(z) operator(>>) ident(k) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(3)operator(]) operator(=) ident(z) operator(>>) ident(k)operator(+)integer(16)operator(;) ident(i) operator(=) integer(3)operator(;) operator(}) reserved(else) operator({) ident(x)operator([)integer(0)operator(]) operator(=) ident(y) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(1)operator(]) operator(=) ident(y) operator(>>) integer(16)operator(;) ident(x)operator([)integer(2)operator(]) operator(=) ident(z) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(3)operator(]) operator(=) ident(z) operator(>>) integer(16)operator(;) ident(i) operator(=) integer(3)operator(;) operator(}) operator(}) reserved(else) operator({) preprocessor(#ifdef) ident(DEBUG) reserved(if) operator((!)ident(z)operator(\)) ident(Bug)operator(()stringoperator(\);) preprocessor(#endif) ident(k) operator(=) ident(lo0bits)operator((&)ident(z)operator(\);) reserved(if) operator(()ident(k) operator(>=) integer(16)operator(\)) operator({) ident(x)operator([)integer(0)operator(]) operator(=) ident(z)operator(;) ident(i) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) ident(x)operator([)integer(0)operator(]) operator(=) ident(z) operator(&) hex(0xffff)operator(;) ident(x)operator([)integer(1)operator(]) operator(=) ident(z) operator(>>) integer(16)operator(;) ident(i) operator(=) integer(1)operator(;) operator(}) ident(k) operator(+=) integer(32)operator(;) operator(}) reserved(while) operator((!)ident(x)operator([)ident(i)operator(]\)) operator(--)ident(i)operator(;) ident(b)operator(->)ident(wds) operator(=) ident(i) operator(+) integer(1)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(Sudden_Underflow) reserved(if) operator(()ident(de)operator(\)) operator({) preprocessor(#endif) preprocessor(#ifdef) ident(IBM) operator(*)ident(e) operator(=) operator(()ident(de) operator(-) ident(Bias) operator(-) operator(()ident(P)operator(-)integer(1)operator(\)) operator(<<) integer(2)operator(\)) operator(+) ident(k)operator(;) operator(*)ident(bits) operator(=) integer(4)operator(*)ident(P) operator(+) integer(8) operator(-) ident(k) operator(-) ident(hi0bits)operator(()ident(word0)operator(()ident(d)operator(\)) operator(&) ident(Frac_mask)operator(\);) preprocessor(#else) operator(*)ident(e) operator(=) ident(de) operator(-) ident(Bias) operator(-) operator(()ident(P)operator(-)integer(1)operator(\)) operator(+) ident(k)operator(;) operator(*)ident(bits) operator(=) ident(P) operator(-) ident(k)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(Sudden_Underflow) operator(}) reserved(else) operator({) operator(*)ident(e) operator(=) ident(de) operator(-) ident(Bias) operator(-) operator(()ident(P)operator(-)integer(1)operator(\)) operator(+) integer(1) operator(+) ident(k)operator(;) preprocessor(#ifdef) ident(Pack_32) operator(*)ident(bits) operator(=) integer(32)operator(*)ident(i) operator(-) ident(hi0bits)operator(()ident(x)operator([)ident(i)operator(-)integer(1)operator(]\);) preprocessor(#else) operator(*)ident(bits) operator(=) operator(()ident(i)operator(+)integer(2)operator(\)*)integer(16) operator(-) ident(hi0bits)operator(()ident(x)operator([)ident(i)operator(]\);) preprocessor(#endif) operator(}) preprocessor(#endif) reserved(return) ident(b)operator(;) operator(}) preprocessor(#undef) ident(d0) preprocessor(#undef) ident(d1) directive(static) pre_type(double) ident(ratio)operator(()ident(Bigint) operator(*)ident(a)operator(,) ident(Bigint) operator(*)ident(b)operator(\)) operator({) pre_type(double) ident(da)operator(,) ident(db)operator(;) pre_type(int) ident(k)operator(,) ident(ka)operator(,) ident(kb)operator(;) ident(dval)operator(()ident(da)operator(\)) operator(=) ident(b2d)operator(()ident(a)operator(,) operator(&)ident(ka)operator(\);) ident(dval)operator(()ident(db)operator(\)) operator(=) ident(b2d)operator(()ident(b)operator(,) operator(&)ident(kb)operator(\);) preprocessor(#ifdef) ident(Pack_32) ident(k) operator(=) ident(ka) operator(-) ident(kb) operator(+) integer(32)operator(*()ident(a)operator(->)ident(wds) operator(-) ident(b)operator(->)ident(wds)operator(\);) preprocessor(#else) ident(k) operator(=) ident(ka) operator(-) ident(kb) operator(+) integer(16)operator(*()ident(a)operator(->)ident(wds) operator(-) ident(b)operator(->)ident(wds)operator(\);) preprocessor(#endif) preprocessor(#ifdef) ident(IBM) reserved(if) operator(()ident(k) operator(>) integer(0)operator(\)) operator({) ident(word0)operator(()ident(da)operator(\)) operator(+=) operator(()ident(k) operator(>>) integer(2)operator(\)*)ident(Exp_msk1)operator(;) reserved(if) operator(()ident(k) operator(&=) integer(3)operator(\)) ident(dval)operator(()ident(da)operator(\)) operator(*=) integer(1) operator(<<) ident(k)operator(;) operator(}) reserved(else) operator({) ident(k) operator(=) operator(-)ident(k)operator(;) ident(word0)operator(()ident(db)operator(\)) operator(+=) operator(()ident(k) operator(>>) integer(2)operator(\)*)ident(Exp_msk1)operator(;) reserved(if) operator(()ident(k) operator(&=) integer(3)operator(\)) ident(dval)operator(()ident(db)operator(\)) operator(*=) integer(1) operator(<<) ident(k)operator(;) operator(}) preprocessor(#else) reserved(if) operator(()ident(k) operator(>) integer(0)operator(\)) ident(word0)operator(()ident(da)operator(\)) operator(+=) ident(k)operator(*)ident(Exp_msk1)operator(;) reserved(else) operator({) ident(k) operator(=) operator(-)ident(k)operator(;) ident(word0)operator(()ident(db)operator(\)) operator(+=) ident(k)operator(*)ident(Exp_msk1)operator(;) operator(}) preprocessor(#endif) reserved(return) ident(dval)operator(()ident(da)operator(\)) operator(/) ident(dval)operator(()ident(db)operator(\);) operator(}) directive(static) directive(const) pre_type(double) ident(tens)operator([]) operator(=) operator({) float(1)ident(e0)operator(,) float(1)ident(e1)operator(,) float(1)ident(e2)operator(,) float(1)ident(e3)operator(,) float(1)ident(e4)operator(,) float(1)ident(e5)operator(,) float(1)ident(e6)operator(,) float(1)ident(e7)operator(,) float(1)ident(e8)operator(,) float(1)ident(e9)operator(,) float(1)ident(e10)operator(,) float(1)ident(e11)operator(,) float(1)ident(e12)operator(,) float(1)ident(e13)operator(,) float(1)ident(e14)operator(,) float(1)ident(e15)operator(,) float(1)ident(e16)operator(,) float(1)ident(e17)operator(,) float(1)ident(e18)operator(,) float(1)ident(e19)operator(,) float(1)ident(e20)operator(,) float(1)ident(e21)operator(,) float(1)ident(e22) preprocessor(#ifdef) ident(VAX) operator(,) float(1)ident(e23)operator(,) float(1)ident(e24) preprocessor(#endif) operator(};) directive(static) directive(const) pre_type(double) preprocessor(#ifdef) ident(IEEE_Arith) ident(bigtens)operator([]) operator(=) operator({) float(1)ident(e16)operator(,) float(1)ident(e32)operator(,) float(1)ident(e64)operator(,) float(1)ident(e128)operator(,) float(1)ident(e256) operator(};) directive(static) directive(const) pre_type(double) ident(tinytens)operator([]) operator(=) operator({) float(1)ident(e)operator(-)integer(16)operator(,) float(1)ident(e)operator(-)integer(32)operator(,) float(1)ident(e)operator(-)integer(64)operator(,) float(1)ident(e)operator(-)integer(128)operator(,) preprocessor(#ifdef) ident(Avoid_Underflow) integer(900719925474099)float(2)operator(.)operator(*)integer(900719925474099)float(2)operator(.)ident(e)operator(-)integer(256) comment(/* = 2^106 * 1e-53 */) preprocessor(#else) float(1)ident(e)operator(-)integer(256) preprocessor(#endif) operator(};) comment(/* The factor of 2^53 in tinytens[4] helps us avoid setting the underflow */) comment(/* flag unnecessarily. It leads to a song and dance at the end of strtod. */) preprocessor(#define) ident(Scale_Bit) hex(0x10) preprocessor(#define) ident(n_bigtens) integer(5) preprocessor(#else) preprocessor(#ifdef) ident(IBM) ident(bigtens)operator([]) operator(=) operator({) float(1)ident(e16)operator(,) float(1)ident(e32)operator(,) float(1)ident(e64) operator(};) directive(static) directive(const) pre_type(double) ident(tinytens)operator([]) operator(=) operator({) float(1)ident(e)operator(-)integer(16)operator(,) float(1)ident(e)operator(-)integer(32)operator(,) float(1)ident(e)operator(-)integer(64) operator(};) preprocessor(#define) ident(n_bigtens) integer(3) preprocessor(#else) ident(bigtens)operator([]) operator(=) operator({) float(1)ident(e16)operator(,) float(1)ident(e32) operator(};) directive(static) directive(const) pre_type(double) ident(tinytens)operator([]) operator(=) operator({) float(1)ident(e)operator(-)integer(16)operator(,) float(1)ident(e)operator(-)integer(32) operator(};) preprocessor(#define) ident(n_bigtens) integer(2) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifndef) ident(IEEE_Arith) preprocessor(#undef) ident(INFNAN_CHECK) preprocessor(#endif) preprocessor(#ifdef) ident(INFNAN_CHECK) preprocessor(#ifndef) ident(NAN_WORD0) preprocessor(#define) ident(NAN_WORD0) hex(0x7ff80000) preprocessor(#endif) preprocessor(#ifndef) ident(NAN_WORD1) preprocessor(#define) ident(NAN_WORD1) integer(0) preprocessor(#endif) directive(static) pre_type(int) ident(match)operator(()directive(const) pre_type(char) operator(**)ident(sp)operator(,) pre_type(char) operator(*)ident(t)operator(\)) operator({) pre_type(int) ident(c)operator(,) ident(d)operator(;) directive(const) pre_type(char) operator(*)ident(s) operator(=) operator(*)ident(sp)operator(;) reserved(while) operator(()ident(d) operator(=) operator(*)ident(t)operator(++\)) operator({) reserved(if) operator((()ident(c) operator(=) operator(*++)ident(s)operator(\)) operator(>=) char('A') operator(&&) ident(c) operator(<=) char('Z')operator(\)) ident(c) operator(+=) char('a') operator(-) char('A')operator(;) reserved(if) operator(()ident(c) operator(!=) ident(d)operator(\)) reserved(return) integer(0)operator(;) operator(}) operator(*)ident(sp) operator(=) ident(s) operator(+) integer(1)operator(;) reserved(return) integer(1)operator(;) operator(}) preprocessor(#ifndef) ident(No_Hex_NaN) directive(static) directive(void) ident(hexnan)operator(()pre_type(double) operator(*)ident(rvp)operator(,) directive(const) pre_type(char) operator(**)ident(sp)operator(\)) operator({) ident(ULong) ident(c)operator(,) ident(x)operator([)integer(2)operator(];) directive(const) pre_type(char) operator(*)ident(s)operator(;) pre_type(int) ident(havedig)operator(,) ident(udx0)operator(,) ident(xshift)operator(;) ident(x)operator([)integer(0)operator(]) operator(=) ident(x)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) ident(havedig) operator(=) ident(xshift) operator(=) integer(0)operator(;) ident(udx0) operator(=) integer(1)operator(;) ident(s) operator(=) operator(*)ident(sp)operator(;) reserved(while) operator(()ident(c) operator(=) operator(*()directive(const) pre_type(unsigned) pre_type(char)operator(*\)++)ident(s)operator(\)) operator({) reserved(if) operator(()ident(c) operator(>=) char('0') operator(&&) ident(c) operator(<=) char('9')operator(\)) ident(c) operator(-=) char('0')operator(;) reserved(else) reserved(if) operator(()ident(c) operator(>=) char('a') operator(&&) ident(c) operator(<=) char('f')operator(\)) ident(c) operator(+=) integer(10) operator(-) char('a')operator(;) reserved(else) reserved(if) operator(()ident(c) operator(>=) char('A') operator(&&) ident(c) operator(<=) char('F')operator(\)) ident(c) operator(+=) integer(10) operator(-) char('A')operator(;) reserved(else) reserved(if) operator(()ident(c) operator(<=) char(' ')operator(\)) operator({) reserved(if) operator(()ident(udx0) operator(&&) ident(havedig)operator(\)) operator({) ident(udx0) operator(=) integer(0)operator(;) ident(xshift) operator(=) integer(1)operator(;) operator(}) reserved(continue)operator(;) operator(}) reserved(else) reserved(if) operator(()comment(/*(*/) ident(c) operator(==) char('\)') operator(&&) ident(havedig)operator(\)) operator({) operator(*)ident(sp) operator(=) ident(s) operator(+) integer(1)operator(;) reserved(break)operator(;) operator(}) reserved(else) reserved(return)operator(;) comment(/* invalid form: don't change *sp */) ident(havedig) operator(=) integer(1)operator(;) reserved(if) operator(()ident(xshift)operator(\)) operator({) ident(xshift) operator(=) integer(0)operator(;) ident(x)operator([)integer(0)operator(]) operator(=) ident(x)operator([)integer(1)operator(];) ident(x)operator([)integer(1)operator(]) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(udx0)operator(\)) ident(x)operator([)integer(0)operator(]) operator(=) operator(()ident(x)operator([)integer(0)operator(]) operator(<<) integer(4)operator(\)) operator(|) operator(()ident(x)operator([)integer(1)operator(]) operator(>>) integer(28)operator(\);) ident(x)operator([)integer(1)operator(]) operator(=) operator(()ident(x)operator([)integer(1)operator(]) operator(<<) integer(4)operator(\)) operator(|) ident(c)operator(;) operator(}) reserved(if) operator((()ident(x)operator([)integer(0)operator(]) operator(&=) hex(0xfffff)operator(\)) operator(||) ident(x)operator([)integer(1)operator(]\)) operator({) ident(word0)operator((*)ident(rvp)operator(\)) operator(=) ident(Exp_mask) operator(|) ident(x)operator([)integer(0)operator(];) ident(word1)operator((*)ident(rvp)operator(\)) operator(=) ident(x)operator([)integer(1)operator(];) operator(}) operator(}) preprocessor(#endif) comment(/*No_Hex_NaN*/) preprocessor(#endif) comment(/* INFNAN_CHECK */) pre_type(double) ident(ruby_strtod)operator(()directive(const) pre_type(char) operator(*)ident(s00)operator(,) pre_type(char) operator(**)ident(se)operator(\)) operator({) preprocessor(#ifdef) ident(Avoid_Underflow) pre_type(int) ident(scale)operator(;) preprocessor(#endif) pre_type(int) ident(bb2)operator(,) ident(bb5)operator(,) ident(bbe)operator(,) ident(bd2)operator(,) ident(bd5)operator(,) ident(bbbits)operator(,) ident(bs2)operator(,) ident(c)operator(,) ident(dsign)operator(,) ident(e)operator(,) ident(e1)operator(,) ident(esign)operator(,) ident(i)operator(,) ident(j)operator(,) ident(k)operator(,) ident(nd)operator(,) ident(nd0)operator(,) ident(nf)operator(,) ident(nz)operator(,) ident(nz0)operator(,) ident(sign)operator(;) directive(const) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(s0)operator(,) operator(*)ident(s1)operator(;) pre_type(double) ident(aadj)operator(,) ident(aadj1)operator(,) ident(adj)operator(,) ident(rv)operator(,) ident(rv0)operator(;) ident(Long) ident(L)operator(;) ident(ULong) ident(y)operator(,) ident(z)operator(;) ident(Bigint) operator(*)ident(bb)operator(,) operator(*)ident(bb1)operator(,) operator(*)ident(bd)operator(,) operator(*)ident(bd0)operator(,) operator(*)ident(bs)operator(,) operator(*)ident(delta)operator(;) preprocessor(#ifdef) ident(SET_INEXACT) pre_type(int) ident(inexact)operator(,) ident(oldinexact)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) pre_type(int) ident(rounding)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(USE_LOCALE) directive(const) pre_type(char) operator(*)ident(s2)operator(;) preprocessor(#endif) ident(sign) operator(=) ident(nz0) operator(=) ident(nz) operator(=) integer(0)operator(;) ident(dval)operator(()ident(rv)operator(\)) operator(=) float(0)operator(.)operator(;) reserved(for) operator(()ident(s) operator(=) ident(s00)operator(;;)ident(s)operator(++\)) reserved(switch) operator((*)ident(s)operator(\)) operator({) reserved(case) char('-')operator(:) ident(sign) operator(=) integer(1)operator(;) comment(/* no break */) reserved(case) char('+')operator(:) reserved(if) operator((*++)ident(s)operator(\)) reserved(goto) ident(break2)operator(;) comment(/* no break */) reserved(case) integer(0)operator(:) reserved(goto) ident(ret0)operator(;) reserved(case) char('\\t')operator(:) reserved(case) char('\\n')operator(:) reserved(case) char('\\v')operator(:) reserved(case) char('\\f')operator(:) reserved(case) char('\\r')operator(:) reserved(case) char(' ')operator(:) reserved(continue)operator(;) reserved(default)operator(:) reserved(goto) ident(break2)operator(;) operator(}) label(break2:) reserved(if) operator((*)ident(s) operator(==) char('0')operator(\)) operator({) ident(nz0) operator(=) integer(1)operator(;) reserved(while) operator((*++)ident(s) operator(==) char('0')operator(\)) operator(;) reserved(if) operator((!*)ident(s)operator(\)) reserved(goto) ident(ret)operator(;) operator(}) ident(s0) operator(=) ident(s)operator(;) ident(y) operator(=) ident(z) operator(=) integer(0)operator(;) reserved(for) operator(()ident(nd) operator(=) ident(nf) operator(=) integer(0)operator(;) operator(()ident(c) operator(=) operator(*)ident(s)operator(\)) operator(>=) char('0') operator(&&) ident(c) operator(<=) char('9')operator(;) ident(nd)operator(++,) ident(s)operator(++\)) reserved(if) operator(()ident(nd) operator(<) integer(9)operator(\)) ident(y) operator(=) integer(10)operator(*)ident(y) operator(+) ident(c) operator(-) char('0')operator(;) reserved(else) reserved(if) operator(()ident(nd) operator(<) integer(16)operator(\)) ident(z) operator(=) integer(10)operator(*)ident(z) operator(+) ident(c) operator(-) char('0')operator(;) ident(nd0) operator(=) ident(nd)operator(;) preprocessor(#ifdef) ident(USE_LOCALE) ident(s1) operator(=) ident(localeconv)operator((\)->)ident(decimal_point)operator(;) reserved(if) operator(()ident(c) operator(==) operator(*)ident(s1)operator(\)) operator({) ident(c) operator(=) char('.')operator(;) reserved(if) operator((*++)ident(s1)operator(\)) operator({) ident(s2) operator(=) ident(s)operator(;) reserved(for) operator((;;\)) operator({) reserved(if) operator((*++)ident(s2) operator(!=) operator(*)ident(s1)operator(\)) operator({) ident(c) operator(=) integer(0)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator((!*++)ident(s1)operator(\)) operator({) ident(s) operator(=) ident(s2)operator(;) reserved(break)operator(;) operator(}) operator(}) operator(}) operator(}) preprocessor(#endif) reserved(if) operator(()ident(c) operator(==) char('.')operator(\)) operator({) reserved(if) operator((!)ident(ISDIGIT)operator(()ident(s)operator([)integer(1)operator(]\)\)) reserved(goto) ident(dig_done)operator(;) ident(c) operator(=) operator(*++)ident(s)operator(;) reserved(if) operator((!)ident(nd)operator(\)) operator({) reserved(for) operator((;) ident(c) operator(==) char('0')operator(;) ident(c) operator(=) operator(*++)ident(s)operator(\)) ident(nz)operator(++;) reserved(if) operator(()ident(c) operator(>) char('0') operator(&&) ident(c) operator(<=) char('9')operator(\)) operator({) ident(s0) operator(=) ident(s)operator(;) ident(nf) operator(+=) ident(nz)operator(;) ident(nz) operator(=) integer(0)operator(;) reserved(goto) ident(have_dig)operator(;) operator(}) reserved(goto) ident(dig_done)operator(;) operator(}) reserved(for) operator((;) ident(c) operator(>=) char('0') operator(&&) ident(c) operator(<=) char('9')operator(;) ident(c) operator(=) operator(*++)ident(s)operator(\)) operator({) label(have_dig:) ident(nz)operator(++;) reserved(if) operator(()ident(c) operator(-=) char('0')operator(\)) operator({) ident(nf) operator(+=) ident(nz)operator(;) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;) ident(i) operator(<) ident(nz)operator(;) ident(i)operator(++\)) reserved(if) operator(()ident(nd)operator(++) operator(<) integer(9)operator(\)) ident(y) operator(*=) integer(10)operator(;) reserved(else) reserved(if) operator(()ident(nd) operator(<=) ident(DBL_DIG) operator(+) integer(1)operator(\)) ident(z) operator(*=) integer(10)operator(;) reserved(if) operator(()ident(nd)operator(++) operator(<) integer(9)operator(\)) ident(y) operator(=) integer(10)operator(*)ident(y) operator(+) ident(c)operator(;) reserved(else) reserved(if) operator(()ident(nd) operator(<=) ident(DBL_DIG) operator(+) integer(1)operator(\)) ident(z) operator(=) integer(10)operator(*)ident(z) operator(+) ident(c)operator(;) ident(nz) operator(=) integer(0)operator(;) operator(}) operator(}) operator(}) label(dig_done:) ident(e) operator(=) integer(0)operator(;) reserved(if) operator(()ident(c) operator(==) char('e') operator(||) ident(c) operator(==) char('E')operator(\)) operator({) reserved(if) operator((!)ident(nd) operator(&&) operator(!)ident(nz) operator(&&) operator(!)ident(nz0)operator(\)) operator({) reserved(goto) ident(ret0)operator(;) operator(}) ident(s00) operator(=) ident(s)operator(;) ident(esign) operator(=) integer(0)operator(;) reserved(switch) operator(()ident(c) operator(=) operator(*++)ident(s)operator(\)) operator({) reserved(case) char('-')operator(:) ident(esign) operator(=) integer(1)operator(;) reserved(case) char('+')operator(:) ident(c) operator(=) operator(*++)ident(s)operator(;) operator(}) reserved(if) operator(()ident(c) operator(>=) char('0') operator(&&) ident(c) operator(<=) char('9')operator(\)) operator({) reserved(while) operator(()ident(c) operator(==) char('0')operator(\)) ident(c) operator(=) operator(*++)ident(s)operator(;) reserved(if) operator(()ident(c) operator(>) char('0') operator(&&) ident(c) operator(<=) char('9')operator(\)) operator({) ident(L) operator(=) ident(c) operator(-) char('0')operator(;) ident(s1) operator(=) ident(s)operator(;) reserved(while) operator((()ident(c) operator(=) operator(*++)ident(s)operator(\)) operator(>=) char('0') operator(&&) ident(c) operator(<=) char('9')operator(\)) ident(L) operator(=) integer(10)operator(*)ident(L) operator(+) ident(c) operator(-) char('0')operator(;) reserved(if) operator(()ident(s) operator(-) ident(s1) operator(>) integer(8) operator(||) ident(L) operator(>) integer(19999)operator(\)) comment(/* Avoid confusion from exponents * so large that e might overflow. */) ident(e) operator(=) integer(19999)operator(;) comment(/* safe for 16 bit ints */) reserved(else) ident(e) operator(=) operator(()pre_type(int)operator(\))ident(L)operator(;) reserved(if) operator(()ident(esign)operator(\)) ident(e) operator(=) operator(-)ident(e)operator(;) operator(}) reserved(else) ident(e) operator(=) integer(0)operator(;) operator(}) reserved(else) ident(s) operator(=) ident(s00)operator(;) operator(}) reserved(if) operator((!)ident(nd)operator(\)) operator({) reserved(if) operator((!)ident(nz) operator(&&) operator(!)ident(nz0)operator(\)) operator({) preprocessor(#ifdef) ident(INFNAN_CHECK) comment(/* Check for Nan and Infinity */) reserved(switch) operator(()ident(c)operator(\)) operator({) reserved(case) char('i')operator(:) reserved(case) char('I')operator(:) reserved(if) operator(()ident(match)operator((&)ident(s)operator(,)stringoperator(\)\)) operator({) operator(--)ident(s)operator(;) reserved(if) operator((!)ident(match)operator((&)ident(s)operator(,)stringoperator(\)\)) operator(++)ident(s)operator(;) ident(word0)operator(()ident(rv)operator(\)) operator(=) hex(0x7ff00000)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) integer(0)operator(;) reserved(goto) ident(ret)operator(;) operator(}) reserved(break)operator(;) reserved(case) char('n')operator(:) reserved(case) char('N')operator(:) reserved(if) operator(()ident(match)operator((&)ident(s)operator(,) stringoperator(\)\)) operator({) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(NAN_WORD0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(NAN_WORD1)operator(;) preprocessor(#ifndef) ident(No_Hex_NaN) reserved(if) operator((*)ident(s) operator(==) char('(')operator(\)) comment(/*\)*/) ident(hexnan)operator((&)ident(rv)operator(,) operator(&)ident(s)operator(\);) preprocessor(#endif) reserved(goto) ident(ret)operator(;) operator(}) operator(}) preprocessor(#endif) comment(/* INFNAN_CHECK */) label(ret0:) ident(s) operator(=) ident(s00)operator(;) ident(sign) operator(=) integer(0)operator(;) operator(}) reserved(goto) ident(ret)operator(;) operator(}) ident(e1) operator(=) ident(e) operator(-=) ident(nf)operator(;) comment(/* Now we have nd0 digits, starting at s0, followed by a * decimal point, followed by nd-nd0 digits. The number we're * after is the integer represented by those digits times * 10**e */) reserved(if) operator((!)ident(nd0)operator(\)) ident(nd0) operator(=) ident(nd)operator(;) ident(k) operator(=) ident(nd) operator(<) ident(DBL_DIG) operator(+) integer(1) operator(?) ident(nd) operator(:) ident(DBL_DIG) operator(+) integer(1)operator(;) ident(dval)operator(()ident(rv)operator(\)) operator(=) ident(y)operator(;) reserved(if) operator(()ident(k) operator(>) integer(9)operator(\)) operator({) preprocessor(#ifdef) ident(SET_INEXACT) reserved(if) operator(()ident(k) operator(>) ident(DBL_DIG)operator(\)) ident(oldinexact) operator(=) ident(get_inexact)operator((\);) preprocessor(#endif) ident(dval)operator(()ident(rv)operator(\)) operator(=) ident(tens)operator([)ident(k) operator(-) integer(9)operator(]) operator(*) ident(dval)operator(()ident(rv)operator(\)) operator(+) ident(z)operator(;) operator(}) ident(bd0) operator(=) integer(0)operator(;) reserved(if) operator(()ident(nd) operator(<=) ident(DBL_DIG) preprocessor(#ifndef) ident(RND_PRODQUOT) preprocessor(#ifndef) ident(Honor_FLT_ROUNDS) operator(&&) ident(Flt_Rounds) operator(==) integer(1) preprocessor(#endif) preprocessor(#endif) operator(\)) operator({) reserved(if) operator((!)ident(e)operator(\)) reserved(goto) ident(ret)operator(;) reserved(if) operator(()ident(e) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(e) operator(<=) ident(Ten_pmax)operator(\)) operator({) preprocessor(#ifdef) ident(VAX) reserved(goto) ident(vax_ovfl_check)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) comment(/* round correctly FLT_ROUNDS = 2 or 3 */) reserved(if) operator(()ident(sign)operator(\)) operator({) ident(rv) operator(=) operator(-)ident(rv)operator(;) ident(sign) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) comment(/* rv = */) ident(rounded_product)operator(()ident(dval)operator(()ident(rv)operator(\),) ident(tens)operator([)ident(e)operator(]\);) reserved(goto) ident(ret)operator(;) preprocessor(#endif) operator(}) ident(i) operator(=) ident(DBL_DIG) operator(-) ident(nd)operator(;) reserved(if) operator(()ident(e) operator(<=) ident(Ten_pmax) operator(+) ident(i)operator(\)) operator({) comment(/* A fancier test would sometimes let us do * this for larger i values. */) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) comment(/* round correctly FLT_ROUNDS = 2 or 3 */) reserved(if) operator(()ident(sign)operator(\)) operator({) ident(rv) operator(=) operator(-)ident(rv)operator(;) ident(sign) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) ident(e) operator(-=) ident(i)operator(;) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(tens)operator([)ident(i)operator(];) preprocessor(#ifdef) ident(VAX) comment(/* VAX exponent range is so narrow we must * worry about overflow here... */) label(vax_ovfl_check:) ident(word0)operator(()ident(rv)operator(\)) operator(-=) ident(P)operator(*)ident(Exp_msk1)operator(;) comment(/* rv = */) ident(rounded_product)operator(()ident(dval)operator(()ident(rv)operator(\),) ident(tens)operator([)ident(e)operator(]\);) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(>) ident(Exp_msk1)operator(*()ident(DBL_MAX_EXP)operator(+)ident(Bias)operator(-)integer(1)operator(-)ident(P)operator(\)\)) reserved(goto) ident(ovfl)operator(;) ident(word0)operator(()ident(rv)operator(\)) operator(+=) ident(P)operator(*)ident(Exp_msk1)operator(;) preprocessor(#else) comment(/* rv = */) ident(rounded_product)operator(()ident(dval)operator(()ident(rv)operator(\),) ident(tens)operator([)ident(e)operator(]\);) preprocessor(#endif) reserved(goto) ident(ret)operator(;) operator(}) operator(}) preprocessor(#ifndef) ident(Inaccurate_Divide) reserved(else) reserved(if) operator(()ident(e) operator(>=) operator(-)ident(Ten_pmax)operator(\)) operator({) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) comment(/* round correctly FLT_ROUNDS = 2 or 3 */) reserved(if) operator(()ident(sign)operator(\)) operator({) ident(rv) operator(=) operator(-)ident(rv)operator(;) ident(sign) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) comment(/* rv = */) ident(rounded_quotient)operator(()ident(dval)operator(()ident(rv)operator(\),) ident(tens)operator([-)ident(e)operator(]\);) reserved(goto) ident(ret)operator(;) operator(}) preprocessor(#endif) operator(}) ident(e1) operator(+=) ident(nd) operator(-) ident(k)operator(;) preprocessor(#ifdef) ident(IEEE_Arith) preprocessor(#ifdef) ident(SET_INEXACT) ident(inexact) operator(=) integer(1)operator(;) reserved(if) operator(()ident(k) operator(<=) ident(DBL_DIG)operator(\)) ident(oldinexact) operator(=) ident(get_inexact)operator((\);) preprocessor(#endif) preprocessor(#ifdef) ident(Avoid_Underflow) ident(scale) operator(=) integer(0)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator((()ident(rounding) operator(=) ident(Flt_Rounds)operator(\)) operator(>=) integer(2)operator(\)) operator({) reserved(if) operator(()ident(sign)operator(\)) ident(rounding) operator(=) ident(rounding) operator(==) integer(2) operator(?) integer(0) operator(:) integer(2)operator(;) reserved(else) reserved(if) operator(()ident(rounding) operator(!=) integer(2)operator(\)) ident(rounding) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) preprocessor(#endif) comment(/*IEEE_Arith*/) comment(/* Get starting approximation = rv * 10**e1 */) reserved(if) operator(()ident(e1) operator(>) integer(0)operator(\)) operator({) reserved(if) operator((()ident(i) operator(=) ident(e1) operator(&) integer(15)operator(\)) operator(!=) integer(0)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(tens)operator([)ident(i)operator(];) reserved(if) operator(()ident(e1) operator(&=) operator(~)integer(15)operator(\)) operator({) reserved(if) operator(()ident(e1) operator(>) ident(DBL_MAX_10_EXP)operator(\)) operator({) label(ovfl:) preprocessor(#ifndef) ident(NO_ERRNO) ident(errno) operator(=) ident(ERANGE)operator(;) preprocessor(#endif) comment(/* Can't trust HUGE_VAL */) preprocessor(#ifdef) ident(IEEE_Arith) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(switch) operator(()ident(rounding)operator(\)) operator({) reserved(case) integer(0)operator(:) comment(/* toward 0 */) reserved(case) integer(3)operator(:) comment(/* toward -infinity */) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Big0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(Big1)operator(;) reserved(break)operator(;) reserved(default)operator(:) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Exp_mask)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) integer(0)operator(;) operator(}) preprocessor(#else) comment(/*Honor_FLT_ROUNDS*/) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Exp_mask)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) integer(0)operator(;) preprocessor(#endif) comment(/*Honor_FLT_ROUNDS*/) preprocessor(#ifdef) ident(SET_INEXACT) comment(/* set overflow bit */) ident(dval)operator(()ident(rv0)operator(\)) operator(=) float(1)ident(e300)operator(;) ident(dval)operator(()ident(rv0)operator(\)) operator(*=) ident(dval)operator(()ident(rv0)operator(\);) preprocessor(#endif) preprocessor(#else) comment(/*IEEE_Arith*/) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Big0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(Big1)operator(;) preprocessor(#endif) comment(/*IEEE_Arith*/) reserved(if) operator(()ident(bd0)operator(\)) reserved(goto) ident(retfree)operator(;) reserved(goto) ident(ret)operator(;) operator(}) ident(e1) operator(>>=) integer(4)operator(;) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(e1) operator(>) integer(1)operator(;) ident(j)operator(++,) ident(e1) operator(>>=) integer(1)operator(\)) reserved(if) operator(()ident(e1) operator(&) integer(1)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(bigtens)operator([)ident(j)operator(];) comment(/* The last multiplication could overflow. */) ident(word0)operator(()ident(rv)operator(\)) operator(-=) ident(P)operator(*)ident(Exp_msk1)operator(;) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(bigtens)operator([)ident(j)operator(];) reserved(if) operator((()ident(z) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(>) ident(Exp_msk1)operator(*()ident(DBL_MAX_EXP)operator(+)ident(Bias)operator(-)ident(P)operator(\)\)) reserved(goto) ident(ovfl)operator(;) reserved(if) operator(()ident(z) operator(>) ident(Exp_msk1)operator(*()ident(DBL_MAX_EXP)operator(+)ident(Bias)operator(-)integer(1)operator(-)ident(P)operator(\)\)) operator({) comment(/* set to largest number */) comment(/* (Can't trust DBL_MAX\) */) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Big0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(Big1)operator(;) operator(}) reserved(else) ident(word0)operator(()ident(rv)operator(\)) operator(+=) ident(P)operator(*)ident(Exp_msk1)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator(()ident(e1) operator(<) integer(0)operator(\)) operator({) ident(e1) operator(=) operator(-)ident(e1)operator(;) reserved(if) operator((()ident(i) operator(=) ident(e1) operator(&) integer(15)operator(\)) operator(!=) integer(0)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(/=) ident(tens)operator([)ident(i)operator(];) reserved(if) operator(()ident(e1) operator(>>=) integer(4)operator(\)) operator({) reserved(if) operator(()ident(e1) operator(>=) integer(1) operator(<<) ident(n_bigtens)operator(\)) reserved(goto) ident(undfl)operator(;) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(e1) operator(&) ident(Scale_Bit)operator(\)) ident(scale) operator(=) integer(2)operator(*)ident(P)operator(;) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(e1) operator(>) integer(0)operator(;) ident(j)operator(++,) ident(e1) operator(>>=) integer(1)operator(\)) reserved(if) operator(()ident(e1) operator(&) integer(1)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(tinytens)operator([)ident(j)operator(];) reserved(if) operator(()ident(scale) operator(&&) operator(()ident(j) operator(=) integer(2)operator(*)ident(P) operator(+) integer(1) operator(-) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(>>) ident(Exp_shift)operator(\)\)) operator(>) integer(0)operator(\)) operator({) comment(/* scaled rv is denormal; zap j low bits */) reserved(if) operator(()ident(j) operator(>=) integer(32)operator(\)) operator({) ident(word1)operator(()ident(rv)operator(\)) operator(=) integer(0)operator(;) reserved(if) operator(()ident(j) operator(>=) integer(53)operator(\)) ident(word0)operator(()ident(rv)operator(\)) operator(=) operator(()ident(P)operator(+)integer(2)operator(\)*)ident(Exp_msk1)operator(;) reserved(else) ident(word0)operator(()ident(rv)operator(\)) operator(&=) hex(0xffffffff) operator(<<) operator(()ident(j)operator(-)integer(32)operator(\);) operator(}) reserved(else) ident(word1)operator(()ident(rv)operator(\)) operator(&=) hex(0xffffffff) operator(<<) ident(j)operator(;) operator(}) preprocessor(#else) reserved(for) operator(()ident(j) operator(=) integer(0)operator(;) ident(e1) operator(>) integer(1)operator(;) ident(j)operator(++,) ident(e1) operator(>>=) integer(1)operator(\)) reserved(if) operator(()ident(e1) operator(&) integer(1)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(tinytens)operator([)ident(j)operator(];) comment(/* The last multiplication could underflow. */) ident(dval)operator(()ident(rv0)operator(\)) operator(=) ident(dval)operator(()ident(rv)operator(\);) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(tinytens)operator([)ident(j)operator(];) reserved(if) operator((!)ident(dval)operator(()ident(rv)operator(\)\)) operator({) ident(dval)operator(()ident(rv)operator(\)) operator(=) float(2)operator(.)operator(*)ident(dval)operator(()ident(rv0)operator(\);) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(tinytens)operator([)ident(j)operator(];) preprocessor(#endif) reserved(if) operator((!)ident(dval)operator(()ident(rv)operator(\)\)) operator({) label(undfl:) ident(dval)operator(()ident(rv)operator(\)) operator(=) float(0)operator(.)operator(;) preprocessor(#ifndef) ident(NO_ERRNO) ident(errno) operator(=) ident(ERANGE)operator(;) preprocessor(#endif) reserved(if) operator(()ident(bd0)operator(\)) reserved(goto) ident(retfree)operator(;) reserved(goto) ident(ret)operator(;) operator(}) preprocessor(#ifndef) ident(Avoid_Underflow) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Tiny0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(Tiny1)operator(;) comment(/* The refinement below will clean * this approximation up. */) operator(}) preprocessor(#endif) operator(}) operator(}) comment(/* Now the hard part -- adjusting rv to the correct value.*/) comment(/* Put digits into bd: true value = bd * 10^e */) ident(bd0) operator(=) ident(s2b)operator(()ident(s0)operator(,) ident(nd0)operator(,) ident(nd)operator(,) ident(y)operator(\);) reserved(for) operator((;;\)) operator({) ident(bd) operator(=) ident(Balloc)operator(()ident(bd0)operator(->)ident(k)operator(\);) ident(Bcopy)operator(()ident(bd)operator(,) ident(bd0)operator(\);) ident(bb) operator(=) ident(d2b)operator(()ident(dval)operator(()ident(rv)operator(\),) operator(&)ident(bbe)operator(,) operator(&)ident(bbbits)operator(\);) comment(/* rv = bb * 2^bbe */) ident(bs) operator(=) ident(i2b)operator(()integer(1)operator(\);) reserved(if) operator(()ident(e) operator(>=) integer(0)operator(\)) operator({) ident(bb2) operator(=) ident(bb5) operator(=) integer(0)operator(;) ident(bd2) operator(=) ident(bd5) operator(=) ident(e)operator(;) operator(}) reserved(else) operator({) ident(bb2) operator(=) ident(bb5) operator(=) operator(-)ident(e)operator(;) ident(bd2) operator(=) ident(bd5) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(bbe) operator(>=) integer(0)operator(\)) ident(bb2) operator(+=) ident(bbe)operator(;) reserved(else) ident(bd2) operator(-=) ident(bbe)operator(;) ident(bs2) operator(=) ident(bb2)operator(;) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator(()ident(rounding) operator(!=) integer(1)operator(\)) ident(bs2)operator(++;) preprocessor(#endif) preprocessor(#ifdef) ident(Avoid_Underflow) ident(j) operator(=) ident(bbe) operator(-) ident(scale)operator(;) ident(i) operator(=) ident(j) operator(+) ident(bbbits) operator(-) integer(1)operator(;) comment(/* logb(rv\) */) reserved(if) operator(()ident(i) operator(<) ident(Emin)operator(\)) comment(/* denormal */) ident(j) operator(+=) ident(P) operator(-) ident(Emin)operator(;) reserved(else) ident(j) operator(=) ident(P) operator(+) integer(1) operator(-) ident(bbbits)operator(;) preprocessor(#else) comment(/*Avoid_Underflow*/) preprocessor(#ifdef) ident(Sudden_Underflow) preprocessor(#ifdef) ident(IBM) ident(j) operator(=) integer(1) operator(+) integer(4)operator(*)ident(P) operator(-) integer(3) operator(-) ident(bbbits) operator(+) operator((()ident(bbe) operator(+) ident(bbbits) operator(-) integer(1)operator(\)) operator(&) integer(3)operator(\);) preprocessor(#else) ident(j) operator(=) ident(P) operator(+) integer(1) operator(-) ident(bbbits)operator(;) preprocessor(#endif) preprocessor(#else) comment(/*Sudden_Underflow*/) ident(j) operator(=) ident(bbe)operator(;) ident(i) operator(=) ident(j) operator(+) ident(bbbits) operator(-) integer(1)operator(;) comment(/* logb(rv\) */) reserved(if) operator(()ident(i) operator(<) ident(Emin)operator(\)) comment(/* denormal */) ident(j) operator(+=) ident(P) operator(-) ident(Emin)operator(;) reserved(else) ident(j) operator(=) ident(P) operator(+) integer(1) operator(-) ident(bbbits)operator(;) preprocessor(#endif) comment(/*Sudden_Underflow*/) preprocessor(#endif) comment(/*Avoid_Underflow*/) ident(bb2) operator(+=) ident(j)operator(;) ident(bd2) operator(+=) ident(j)operator(;) preprocessor(#ifdef) ident(Avoid_Underflow) ident(bd2) operator(+=) ident(scale)operator(;) preprocessor(#endif) ident(i) operator(=) ident(bb2) operator(<) ident(bd2) operator(?) ident(bb2) operator(:) ident(bd2)operator(;) reserved(if) operator(()ident(i) operator(>) ident(bs2)operator(\)) ident(i) operator(=) ident(bs2)operator(;) reserved(if) operator(()ident(i) operator(>) integer(0)operator(\)) operator({) ident(bb2) operator(-=) ident(i)operator(;) ident(bd2) operator(-=) ident(i)operator(;) ident(bs2) operator(-=) ident(i)operator(;) operator(}) reserved(if) operator(()ident(bb5) operator(>) integer(0)operator(\)) operator({) ident(bs) operator(=) ident(pow5mult)operator(()ident(bs)operator(,) ident(bb5)operator(\);) ident(bb1) operator(=) ident(mult)operator(()ident(bs)operator(,) ident(bb)operator(\);) ident(Bfree)operator(()ident(bb)operator(\);) ident(bb) operator(=) ident(bb1)operator(;) operator(}) reserved(if) operator(()ident(bb2) operator(>) integer(0)operator(\)) ident(bb) operator(=) ident(lshift)operator(()ident(bb)operator(,) ident(bb2)operator(\);) reserved(if) operator(()ident(bd5) operator(>) integer(0)operator(\)) ident(bd) operator(=) ident(pow5mult)operator(()ident(bd)operator(,) ident(bd5)operator(\);) reserved(if) operator(()ident(bd2) operator(>) integer(0)operator(\)) ident(bd) operator(=) ident(lshift)operator(()ident(bd)operator(,) ident(bd2)operator(\);) reserved(if) operator(()ident(bs2) operator(>) integer(0)operator(\)) ident(bs) operator(=) ident(lshift)operator(()ident(bs)operator(,) ident(bs2)operator(\);) ident(delta) operator(=) ident(diff)operator(()ident(bb)operator(,) ident(bd)operator(\);) ident(dsign) operator(=) ident(delta)operator(->)ident(sign)operator(;) ident(delta)operator(->)ident(sign) operator(=) integer(0)operator(;) ident(i) operator(=) ident(cmp)operator(()ident(delta)operator(,) ident(bs)operator(\);) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator(()ident(rounding) operator(!=) integer(1)operator(\)) operator({) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) operator({) comment(/* Error is less than an ulp */) reserved(if) operator((!)ident(delta)operator(->)ident(x)operator([)integer(0)operator(]) operator(&&) ident(delta)operator(->)ident(wds) operator(<=) integer(1)operator(\)) operator({) comment(/* exact */) preprocessor(#ifdef) ident(SET_INEXACT) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(rounding)operator(\)) operator({) reserved(if) operator(()ident(dsign)operator(\)) operator({) ident(adj) operator(=) float(1)operator(.)operator(;) reserved(goto) ident(apply_adj)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!)ident(dsign)operator(\)) operator({) ident(adj) operator(=) operator(-)float(1)operator(.)operator(;) reserved(if) operator((!)ident(word1)operator(()ident(rv)operator(\)) operator(&&) operator(!()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Frac_mask)operator(\)\)) operator({) ident(y) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(;) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator((!)ident(scale) operator(||) ident(y) operator(>) integer(2)operator(*)ident(P)operator(*)ident(Exp_msk1)operator(\)) preprocessor(#else) reserved(if) operator(()ident(y)operator(\)) preprocessor(#endif) operator({) ident(delta) operator(=) ident(lshift)operator(()ident(delta)operator(,)ident(Log2P)operator(\);) reserved(if) operator(()ident(cmp)operator(()ident(delta)operator(,) ident(bs)operator(\)) operator(<=) integer(0)operator(\)) ident(adj) operator(=) operator(-)float(0)float(.5)operator(;) operator(}) operator(}) label(apply_adj:) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(scale) operator(&&) operator(()ident(y) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) integer(2)operator(*)ident(P)operator(*)ident(Exp_msk1)operator(\)) ident(word0)operator(()ident(adj)operator(\)) operator(+=) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(\)*)ident(Exp_msk1) operator(-) ident(y)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Sudden_Underflow) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) ident(P)operator(*)ident(Exp_msk1)operator(\)) operator({) ident(word0)operator(()ident(rv)operator(\)) operator(+=) ident(P)operator(*)ident(Exp_msk1)operator(;) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(*)ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) ident(word0)operator(()ident(rv)operator(\)) operator(-=) ident(P)operator(*)ident(Exp_msk1)operator(;) operator(}) reserved(else) preprocessor(#endif) comment(/*Sudden_Underflow*/) preprocessor(#endif) comment(/*Avoid_Underflow*/) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(*)ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) operator(}) reserved(break)operator(;) operator(}) ident(adj) operator(=) ident(ratio)operator(()ident(delta)operator(,) ident(bs)operator(\);) reserved(if) operator(()ident(adj) operator(<) float(1)operator(.)operator(\)) ident(adj) operator(=) float(1)operator(.)operator(;) reserved(if) operator(()ident(adj) operator(<=) hex(0x7ffffffe)operator(\)) operator({) comment(/* adj = rounding ? ceil(adj\) : floor(adj\); */) ident(y) operator(=) ident(adj)operator(;) reserved(if) operator(()ident(y) operator(!=) ident(adj)operator(\)) operator({) reserved(if) operator((!(()ident(rounding)operator(>>)integer(1)operator(\)) operator(^) ident(dsign)operator(\)\)) ident(y)operator(++;) ident(adj) operator(=) ident(y)operator(;) operator(}) operator(}) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(scale) operator(&&) operator(()ident(y) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) integer(2)operator(*)ident(P)operator(*)ident(Exp_msk1)operator(\)) ident(word0)operator(()ident(adj)operator(\)) operator(+=) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(\)*)ident(Exp_msk1) operator(-) ident(y)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Sudden_Underflow) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) ident(P)operator(*)ident(Exp_msk1)operator(\)) operator({) ident(word0)operator(()ident(rv)operator(\)) operator(+=) ident(P)operator(*)ident(Exp_msk1)operator(;) ident(adj) operator(*=) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) reserved(if) operator(()ident(dsign)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) reserved(else) ident(dval)operator(()ident(rv)operator(\)) operator(-=) ident(adj)operator(;) ident(word0)operator(()ident(rv)operator(\)) operator(-=) ident(P)operator(*)ident(Exp_msk1)operator(;) reserved(goto) ident(cont)operator(;) operator(}) preprocessor(#endif) comment(/*Sudden_Underflow*/) preprocessor(#endif) comment(/*Avoid_Underflow*/) ident(adj) operator(*=) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) reserved(if) operator(()ident(dsign)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) reserved(else) ident(dval)operator(()ident(rv)operator(\)) operator(-=) ident(adj)operator(;) reserved(goto) ident(cont)operator(;) operator(}) preprocessor(#endif) comment(/*Honor_FLT_ROUNDS*/) reserved(if) operator(()ident(i) operator(<) integer(0)operator(\)) operator({) comment(/* Error is less than half an ulp -- check for * special case of mantissa a power of two. */) reserved(if) operator(()ident(dsign) operator(||) ident(word1)operator(()ident(rv)operator(\)) operator(||) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Bndry_mask) preprocessor(#ifdef) ident(IEEE_Arith) preprocessor(#ifdef) ident(Avoid_Underflow) operator(||) operator(()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(\)*)ident(Exp_msk1) preprocessor(#else) operator(||) operator(()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) ident(Exp_msk1) preprocessor(#endif) preprocessor(#endif) operator(\)) operator({) preprocessor(#ifdef) ident(SET_INEXACT) reserved(if) operator((!)ident(delta)operator(->)ident(x)operator([)integer(0)operator(]) operator(&&) ident(delta)operator(->)ident(wds) operator(<=) integer(1)operator(\)) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(break)operator(;) operator(}) reserved(if) operator((!)ident(delta)operator(->)ident(x)operator([)integer(0)operator(]) operator(&&) ident(delta)operator(->)ident(wds) operator(<=) integer(1)operator(\)) operator({) comment(/* exact result */) preprocessor(#ifdef) ident(SET_INEXACT) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(break)operator(;) operator(}) ident(delta) operator(=) ident(lshift)operator(()ident(delta)operator(,)ident(Log2P)operator(\);) reserved(if) operator(()ident(cmp)operator(()ident(delta)operator(,) ident(bs)operator(\)) operator(>) integer(0)operator(\)) reserved(goto) ident(drop_down)operator(;) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(i) operator(==) integer(0)operator(\)) operator({) comment(/* exactly half-way between */) reserved(if) operator(()ident(dsign)operator(\)) operator({) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Bndry_mask1)operator(\)) operator(==) ident(Bndry_mask1) operator(&&) ident(word1)operator(()ident(rv)operator(\)) operator(==) operator(() preprocessor(#ifdef) ident(Avoid_Underflow) operator(()ident(scale) operator(&&) operator(()ident(y) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) integer(2)operator(*)ident(P)operator(*)ident(Exp_msk1)operator(\)) operator(?) operator(()hex(0xffffffff) operator(&) operator(()hex(0xffffffff) operator(<<) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(-()ident(y)operator(>>)ident(Exp_shift)operator(\)\)\)\)) operator(:) preprocessor(#endif) hex(0xffffffff)operator(\)\)) operator({) comment(/*boundary case -- increment exponent*/) ident(word0)operator(()ident(rv)operator(\)) operator(=) operator(()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(+) ident(Exp_msk1) preprocessor(#ifdef) ident(IBM) operator(|) ident(Exp_msk1) operator(>>) integer(4) preprocessor(#endif) operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) integer(0)operator(;) preprocessor(#ifdef) ident(Avoid_Underflow) ident(dsign) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(break)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Bndry_mask)operator(\)) operator(&&) operator(!)ident(word1)operator(()ident(rv)operator(\)\)) operator({) label(drop_down:) comment(/* boundary case -- decrement exponent */) preprocessor(#ifdef) ident(Sudden_Underflow) comment(/*{{*/) ident(L) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(;) preprocessor(#ifdef) ident(IBM) reserved(if) operator(()ident(L) operator(<) ident(Exp_msk1)operator(\)) preprocessor(#else) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(L) operator(<=) operator(()ident(scale) operator(?) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(\)*)ident(Exp_msk1) operator(:) ident(Exp_msk1)operator(\)\)) preprocessor(#else) reserved(if) operator(()ident(L) operator(<=) ident(Exp_msk1)operator(\)) preprocessor(#endif) comment(/*Avoid_Underflow*/) preprocessor(#endif) comment(/*IBM*/) reserved(goto) ident(undfl)operator(;) ident(L) operator(-=) ident(Exp_msk1)operator(;) preprocessor(#else) comment(/*Sudden_Underflow}{*/) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(scale)operator(\)) operator({) ident(L) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(;) reserved(if) operator(()ident(L) operator(<=) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(\)*)ident(Exp_msk1)operator(\)) operator({) reserved(if) operator(()ident(L) operator(>) operator(()ident(P)operator(+)integer(2)operator(\)*)ident(Exp_msk1)operator(\)) comment(/* round even ==> */) comment(/* accept rv */) reserved(break)operator(;) comment(/* rv = smallest denormal */) reserved(goto) ident(undfl)operator(;) operator(}) operator(}) preprocessor(#endif) comment(/*Avoid_Underflow*/) ident(L) operator(=) operator(()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(-) ident(Exp_msk1)operator(;) preprocessor(#endif) comment(/*Sudden_Underflow}}*/) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(L) operator(|) ident(Bndry_mask1)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) hex(0xffffffff)operator(;) preprocessor(#ifdef) ident(IBM) reserved(goto) ident(cont)operator(;) preprocessor(#else) reserved(break)operator(;) preprocessor(#endif) operator(}) preprocessor(#ifndef) ident(ROUND_BIASED) reserved(if) operator((!()ident(word1)operator(()ident(rv)operator(\)) operator(&) ident(LSB)operator(\)\)) reserved(break)operator(;) preprocessor(#endif) reserved(if) operator(()ident(dsign)operator(\)) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) preprocessor(#ifndef) ident(ROUND_BIASED) reserved(else) operator({) ident(dval)operator(()ident(rv)operator(\)) operator(-=) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) preprocessor(#ifndef) ident(Sudden_Underflow) reserved(if) operator((!)ident(dval)operator(()ident(rv)operator(\)\)) reserved(goto) ident(undfl)operator(;) preprocessor(#endif) operator(}) preprocessor(#ifdef) ident(Avoid_Underflow) ident(dsign) operator(=) integer(1) operator(-) ident(dsign)operator(;) preprocessor(#endif) preprocessor(#endif) reserved(break)operator(;) operator(}) reserved(if) operator((()ident(aadj) operator(=) ident(ratio)operator(()ident(delta)operator(,) ident(bs)operator(\)\)) operator(<=) float(2)operator(.)operator(\)) operator({) reserved(if) operator(()ident(dsign)operator(\)) ident(aadj) operator(=) ident(aadj1) operator(=) float(1)operator(.)operator(;) reserved(else) reserved(if) operator(()ident(word1)operator(()ident(rv)operator(\)) operator(||) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Bndry_mask)operator(\)) operator({) preprocessor(#ifndef) ident(Sudden_Underflow) reserved(if) operator(()ident(word1)operator(()ident(rv)operator(\)) operator(==) ident(Tiny1) operator(&&) operator(!)ident(word0)operator(()ident(rv)operator(\)\)) reserved(goto) ident(undfl)operator(;) preprocessor(#endif) ident(aadj) operator(=) float(1)operator(.)operator(;) ident(aadj1) operator(=) operator(-)float(1)operator(.)operator(;) operator(}) reserved(else) operator({) comment(/* special case -- power of FLT_RADIX to be */) comment(/* rounded down... */) reserved(if) operator(()ident(aadj) operator(<) float(2)operator(.)operator(/)ident(FLT_RADIX)operator(\)) ident(aadj) operator(=) float(1)operator(.)operator(/)ident(FLT_RADIX)operator(;) reserved(else) ident(aadj) operator(*=) float(0)float(.5)operator(;) ident(aadj1) operator(=) operator(-)ident(aadj)operator(;) operator(}) operator(}) reserved(else) operator({) ident(aadj) operator(*=) float(0)float(.5)operator(;) ident(aadj1) operator(=) ident(dsign) operator(?) ident(aadj) operator(:) operator(-)ident(aadj)operator(;) preprocessor(#ifdef) ident(Check_FLT_ROUNDS) reserved(switch) operator(()ident(Rounding)operator(\)) operator({) reserved(case) integer(2)operator(:) comment(/* towards +infinity */) ident(aadj1) operator(-=) float(0)float(.5)operator(;) reserved(break)operator(;) reserved(case) integer(0)operator(:) comment(/* towards 0 */) reserved(case) integer(3)operator(:) comment(/* towards -infinity */) ident(aadj1) operator(+=) float(0)float(.5)operator(;) operator(}) preprocessor(#else) reserved(if) operator(()ident(Flt_Rounds) operator(==) integer(0)operator(\)) ident(aadj1) operator(+=) float(0)float(.5)operator(;) preprocessor(#endif) comment(/*Check_FLT_ROUNDS*/) operator(}) ident(y) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(;) comment(/* Check for overflow */) reserved(if) operator(()ident(y) operator(==) ident(Exp_msk1)operator(*()ident(DBL_MAX_EXP)operator(+)ident(Bias)operator(-)integer(1)operator(\)\)) operator({) ident(dval)operator(()ident(rv0)operator(\)) operator(=) ident(dval)operator(()ident(rv)operator(\);) ident(word0)operator(()ident(rv)operator(\)) operator(-=) ident(P)operator(*)ident(Exp_msk1)operator(;) ident(adj) operator(=) ident(aadj1) operator(*) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(>=) ident(Exp_msk1)operator(*()ident(DBL_MAX_EXP)operator(+)ident(Bias)operator(-)ident(P)operator(\)\)) operator({) reserved(if) operator(()ident(word0)operator(()ident(rv0)operator(\)) operator(==) ident(Big0) operator(&&) ident(word1)operator(()ident(rv0)operator(\)) operator(==) ident(Big1)operator(\)) reserved(goto) ident(ovfl)operator(;) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Big0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(Big1)operator(;) reserved(goto) ident(cont)operator(;) operator(}) reserved(else) ident(word0)operator(()ident(rv)operator(\)) operator(+=) ident(P)operator(*)ident(Exp_msk1)operator(;) operator(}) reserved(else) operator({) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(scale) operator(&&) ident(y) operator(<=) integer(2)operator(*)ident(P)operator(*)ident(Exp_msk1)operator(\)) operator({) reserved(if) operator(()ident(aadj) operator(<=) hex(0x7fffffff)operator(\)) operator({) reserved(if) operator((()ident(z) operator(=) ident(aadj)operator(\)) operator(<=) integer(0)operator(\)) ident(z) operator(=) integer(1)operator(;) ident(aadj) operator(=) ident(z)operator(;) ident(aadj1) operator(=) ident(dsign) operator(?) ident(aadj) operator(:) operator(-)ident(aadj)operator(;) operator(}) ident(word0)operator(()ident(aadj1)operator(\)) operator(+=) operator(()integer(2)operator(*)ident(P)operator(+)integer(1)operator(\)*)ident(Exp_msk1) operator(-) ident(y)operator(;) operator(}) ident(adj) operator(=) ident(aadj1) operator(*) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Sudden_Underflow) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) ident(P)operator(*)ident(Exp_msk1)operator(\)) operator({) ident(dval)operator(()ident(rv0)operator(\)) operator(=) ident(dval)operator(()ident(rv)operator(\);) ident(word0)operator(()ident(rv)operator(\)) operator(+=) ident(P)operator(*)ident(Exp_msk1)operator(;) ident(adj) operator(=) ident(aadj1) operator(*) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) preprocessor(#ifdef) ident(IBM) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<) ident(P)operator(*)ident(Exp_msk1)operator(\)) preprocessor(#else) reserved(if) operator((()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(<=) ident(P)operator(*)ident(Exp_msk1)operator(\)) preprocessor(#endif) operator({) reserved(if) operator(()ident(word0)operator(()ident(rv0)operator(\)) operator(==) ident(Tiny0) operator(&&) ident(word1)operator(()ident(rv0)operator(\)) operator(==) ident(Tiny1)operator(\)) reserved(goto) ident(undfl)operator(;) ident(word0)operator(()ident(rv)operator(\)) operator(=) ident(Tiny0)operator(;) ident(word1)operator(()ident(rv)operator(\)) operator(=) ident(Tiny1)operator(;) reserved(goto) ident(cont)operator(;) operator(}) reserved(else) ident(word0)operator(()ident(rv)operator(\)) operator(-=) ident(P)operator(*)ident(Exp_msk1)operator(;) operator(}) reserved(else) operator({) ident(adj) operator(=) ident(aadj1) operator(*) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) operator(}) preprocessor(#else) comment(/*Sudden_Underflow*/) comment(/* Compute adj so that the IEEE rounding rules will * correctly round rv + adj in some half-way cases. * If rv * ulp(rv\) is denormalized (i.e., * y <= (P-1\)*Exp_msk1\), we must adjust aadj to avoid * trouble from bits lost to denormalization; * example: 1.2e-307 . */) reserved(if) operator(()ident(y) operator(<=) operator(()ident(P)operator(-)integer(1)operator(\)*)ident(Exp_msk1) operator(&&) ident(aadj) operator(>) float(1)operator(.)operator(\)) operator({) ident(aadj1) operator(=) operator(()pre_type(double)operator(\)()pre_type(int)operator(\)()ident(aadj) operator(+) float(0)float(.5)operator(\);) reserved(if) operator((!)ident(dsign)operator(\)) ident(aadj1) operator(=) operator(-)ident(aadj1)operator(;) operator(}) ident(adj) operator(=) ident(aadj1) operator(*) ident(ulp)operator(()ident(dval)operator(()ident(rv)operator(\)\);) ident(dval)operator(()ident(rv)operator(\)) operator(+=) ident(adj)operator(;) preprocessor(#endif) comment(/*Sudden_Underflow*/) preprocessor(#endif) comment(/*Avoid_Underflow*/) operator(}) ident(z) operator(=) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(;) preprocessor(#ifndef) ident(SET_INEXACT) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator((!)ident(scale)operator(\)) preprocessor(#endif) reserved(if) operator(()ident(y) operator(==) ident(z)operator(\)) operator({) comment(/* Can we stop now? */) ident(L) operator(=) operator(()ident(Long)operator(\))ident(aadj)operator(;) ident(aadj) operator(-=) ident(L)operator(;) comment(/* The tolerances below are conservative. */) reserved(if) operator(()ident(dsign) operator(||) ident(word1)operator(()ident(rv)operator(\)) operator(||) ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Bndry_mask)operator(\)) operator({) reserved(if) operator(()ident(aadj) operator(<) float(.4999999) operator(||) ident(aadj) operator(>) float(.5000001)operator(\)) reserved(break)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(aadj) operator(<) float(.4999999)operator(/)ident(FLT_RADIX)operator(\)) reserved(break)operator(;) operator(}) preprocessor(#endif) label(cont:) ident(Bfree)operator(()ident(bb)operator(\);) ident(Bfree)operator(()ident(bd)operator(\);) ident(Bfree)operator(()ident(bs)operator(\);) ident(Bfree)operator(()ident(delta)operator(\);) operator(}) preprocessor(#ifdef) ident(SET_INEXACT) reserved(if) operator(()ident(inexact)operator(\)) operator({) reserved(if) operator((!)ident(oldinexact)operator(\)) operator({) ident(word0)operator(()ident(rv0)operator(\)) operator(=) ident(Exp_1) operator(+) operator(()integer(70) operator(<<) ident(Exp_shift)operator(\);) ident(word1)operator(()ident(rv0)operator(\)) operator(=) integer(0)operator(;) ident(dval)operator(()ident(rv0)operator(\)) operator(+=) float(1)operator(.)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!)ident(oldinexact)operator(\)) ident(clear_inexact)operator((\);) preprocessor(#endif) preprocessor(#ifdef) ident(Avoid_Underflow) reserved(if) operator(()ident(scale)operator(\)) operator({) ident(word0)operator(()ident(rv0)operator(\)) operator(=) ident(Exp_1) operator(-) integer(2)operator(*)ident(P)operator(*)ident(Exp_msk1)operator(;) ident(word1)operator(()ident(rv0)operator(\)) operator(=) integer(0)operator(;) ident(dval)operator(()ident(rv)operator(\)) operator(*=) ident(dval)operator(()ident(rv0)operator(\);) preprocessor(#ifndef) ident(NO_ERRNO) comment(/* try to avoid the bug of testing an 8087 register value */) reserved(if) operator(()ident(word0)operator(()ident(rv)operator(\)) operator(==) integer(0) operator(&&) ident(word1)operator(()ident(rv)operator(\)) operator(==) integer(0)operator(\)) ident(errno) operator(=) ident(ERANGE)operator(;) preprocessor(#endif) operator(}) preprocessor(#endif) comment(/* Avoid_Underflow */) preprocessor(#ifdef) ident(SET_INEXACT) reserved(if) operator(()ident(inexact) operator(&&) operator(!()ident(word0)operator(()ident(rv)operator(\)) operator(&) ident(Exp_mask)operator(\)\)) operator({) comment(/* set underflow bit */) ident(dval)operator(()ident(rv0)operator(\)) operator(=) float(1)ident(e)operator(-)integer(300)operator(;) ident(dval)operator(()ident(rv0)operator(\)) operator(*=) ident(dval)operator(()ident(rv0)operator(\);) operator(}) preprocessor(#endif) label(retfree:) ident(Bfree)operator(()ident(bb)operator(\);) ident(Bfree)operator(()ident(bd)operator(\);) ident(Bfree)operator(()ident(bs)operator(\);) ident(Bfree)operator(()ident(bd0)operator(\);) ident(Bfree)operator(()ident(delta)operator(\);) label(ret:) reserved(if) operator(()ident(se)operator(\)) operator(*)ident(se) operator(=) operator(()pre_type(char) operator(*\))ident(s)operator(;) reserved(return) ident(sign) operator(?) operator(-)ident(dval)operator(()ident(rv)operator(\)) operator(:) ident(dval)operator(()ident(rv)operator(\);) operator(}) directive(static) pre_type(int) ident(quorem)operator(()ident(Bigint) operator(*)ident(b)operator(,) ident(Bigint) operator(*)ident(S)operator(\)) operator({) pre_type(int) ident(n)operator(;) ident(ULong) operator(*)ident(bx)operator(,) operator(*)ident(bxe)operator(,) ident(q)operator(,) operator(*)ident(sx)operator(,) operator(*)ident(sxe)operator(;) preprocessor(#ifdef) ident(ULLong) ident(ULLong) ident(borrow)operator(,) ident(carry)operator(,) ident(y)operator(,) ident(ys)operator(;) preprocessor(#else) ident(ULong) ident(borrow)operator(,) ident(carry)operator(,) ident(y)operator(,) ident(ys)operator(;) preprocessor(#ifdef) ident(Pack_32) ident(ULong) ident(si)operator(,) ident(z)operator(,) ident(zs)operator(;) preprocessor(#endif) preprocessor(#endif) ident(n) operator(=) ident(S)operator(->)ident(wds)operator(;) preprocessor(#ifdef) ident(DEBUG) comment(/*debug*/) reserved(if) operator(()ident(b)operator(->)ident(wds) operator(>) ident(n)operator(\)) comment(/*debug*/) ident(Bug)operator(()stringoperator(\);) preprocessor(#endif) reserved(if) operator(()ident(b)operator(->)ident(wds) operator(<) ident(n)operator(\)) reserved(return) integer(0)operator(;) ident(sx) operator(=) ident(S)operator(->)ident(x)operator(;) ident(sxe) operator(=) ident(sx) operator(+) operator(--)ident(n)operator(;) ident(bx) operator(=) ident(b)operator(->)ident(x)operator(;) ident(bxe) operator(=) ident(bx) operator(+) ident(n)operator(;) ident(q) operator(=) operator(*)ident(bxe) operator(/) operator((*)ident(sxe) operator(+) integer(1)operator(\);) comment(/* ensure q <= true quotient */) preprocessor(#ifdef) ident(DEBUG) comment(/*debug*/) reserved(if) operator(()ident(q) operator(>) integer(9)operator(\)) comment(/*debug*/) ident(Bug)operator(()stringoperator(\);) preprocessor(#endif) reserved(if) operator(()ident(q)operator(\)) operator({) ident(borrow) operator(=) integer(0)operator(;) ident(carry) operator(=) integer(0)operator(;) reserved(do) operator({) preprocessor(#ifdef) ident(ULLong) ident(ys) operator(=) operator(*)ident(sx)operator(++) operator(*) operator(()ident(ULLong)operator(\))ident(q) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(ys) operator(>>) integer(32)operator(;) ident(y) operator(=) operator(*)ident(bx) operator(-) operator(()ident(ys) operator(&) ident(FFFFFFFF)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) ident(y) operator(>>) integer(32) operator(&) operator(()ident(ULong)operator(\))integer(1)operator(;) operator(*)ident(bx)operator(++) operator(=) ident(y) operator(&) ident(FFFFFFFF)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Pack_32) ident(si) operator(=) operator(*)ident(sx)operator(++;) ident(ys) operator(=) operator(()ident(si) operator(&) hex(0xffff)operator(\)) operator(*) ident(q) operator(+) ident(carry)operator(;) ident(zs) operator(=) operator(()ident(si) operator(>>) integer(16)operator(\)) operator(*) ident(q) operator(+) operator(()ident(ys) operator(>>) integer(16)operator(\);) ident(carry) operator(=) ident(zs) operator(>>) integer(16)operator(;) ident(y) operator(=) operator((*)ident(bx) operator(&) hex(0xffff)operator(\)) operator(-) operator(()ident(ys) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(z) operator(=) operator((*)ident(bx) operator(>>) integer(16)operator(\)) operator(-) operator(()ident(zs) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(z) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(Storeinc)operator(()ident(bx)operator(,) ident(z)operator(,) ident(y)operator(\);) preprocessor(#else) ident(ys) operator(=) operator(*)ident(sx)operator(++) operator(*) ident(q) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(ys) operator(>>) integer(16)operator(;) ident(y) operator(=) operator(*)ident(bx) operator(-) operator(()ident(ys) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) operator(*)ident(bx)operator(++) operator(=) ident(y) operator(&) hex(0xffff)operator(;) preprocessor(#endif) preprocessor(#endif) operator(}) reserved(while) operator(()ident(sx) operator(<=) ident(sxe)operator(\);) reserved(if) operator((!*)ident(bxe)operator(\)) operator({) ident(bx) operator(=) ident(b)operator(->)ident(x)operator(;) reserved(while) operator((--)ident(bxe) operator(>) ident(bx) operator(&&) operator(!*)ident(bxe)operator(\)) operator(--)ident(n)operator(;) ident(b)operator(->)ident(wds) operator(=) ident(n)operator(;) operator(}) operator(}) reserved(if) operator(()ident(cmp)operator(()ident(b)operator(,) ident(S)operator(\)) operator(>=) integer(0)operator(\)) operator({) ident(q)operator(++;) ident(borrow) operator(=) integer(0)operator(;) ident(carry) operator(=) integer(0)operator(;) ident(bx) operator(=) ident(b)operator(->)ident(x)operator(;) ident(sx) operator(=) ident(S)operator(->)ident(x)operator(;) reserved(do) operator({) preprocessor(#ifdef) ident(ULLong) ident(ys) operator(=) operator(*)ident(sx)operator(++) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(ys) operator(>>) integer(32)operator(;) ident(y) operator(=) operator(*)ident(bx) operator(-) operator(()ident(ys) operator(&) ident(FFFFFFFF)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) ident(y) operator(>>) integer(32) operator(&) operator(()ident(ULong)operator(\))integer(1)operator(;) operator(*)ident(bx)operator(++) operator(=) ident(y) operator(&) ident(FFFFFFFF)operator(;) preprocessor(#else) preprocessor(#ifdef) ident(Pack_32) ident(si) operator(=) operator(*)ident(sx)operator(++;) ident(ys) operator(=) operator(()ident(si) operator(&) hex(0xffff)operator(\)) operator(+) ident(carry)operator(;) ident(zs) operator(=) operator(()ident(si) operator(>>) integer(16)operator(\)) operator(+) operator(()ident(ys) operator(>>) integer(16)operator(\);) ident(carry) operator(=) ident(zs) operator(>>) integer(16)operator(;) ident(y) operator(=) operator((*)ident(bx) operator(&) hex(0xffff)operator(\)) operator(-) operator(()ident(ys) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(z) operator(=) operator((*)ident(bx) operator(>>) integer(16)operator(\)) operator(-) operator(()ident(zs) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(z) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) ident(Storeinc)operator(()ident(bx)operator(,) ident(z)operator(,) ident(y)operator(\);) preprocessor(#else) ident(ys) operator(=) operator(*)ident(sx)operator(++) operator(+) ident(carry)operator(;) ident(carry) operator(=) ident(ys) operator(>>) integer(16)operator(;) ident(y) operator(=) operator(*)ident(bx) operator(-) operator(()ident(ys) operator(&) hex(0xffff)operator(\)) operator(-) ident(borrow)operator(;) ident(borrow) operator(=) operator(()ident(y) operator(&) hex(0x10000)operator(\)) operator(>>) integer(16)operator(;) operator(*)ident(bx)operator(++) operator(=) ident(y) operator(&) hex(0xffff)operator(;) preprocessor(#endif) preprocessor(#endif) operator(}) reserved(while) operator(()ident(sx) operator(<=) ident(sxe)operator(\);) ident(bx) operator(=) ident(b)operator(->)ident(x)operator(;) ident(bxe) operator(=) ident(bx) operator(+) ident(n)operator(;) reserved(if) operator((!*)ident(bxe)operator(\)) operator({) reserved(while) operator((--)ident(bxe) operator(>) ident(bx) operator(&&) operator(!*)ident(bxe)operator(\)) operator(--)ident(n)operator(;) ident(b)operator(->)ident(wds) operator(=) ident(n)operator(;) operator(}) operator(}) reserved(return) ident(q)operator(;) operator(}) preprocessor(#ifndef) ident(MULTIPLE_THREADS) directive(static) pre_type(char) operator(*)ident(dtoa_result)operator(;) preprocessor(#endif) directive(static) pre_type(char) operator(*) ident(rv_alloc)operator(()pre_type(int) ident(i)operator(\)) operator({) pre_type(int) ident(j)operator(,) ident(k)operator(,) operator(*)ident(r)operator(;) ident(j) operator(=) reserved(sizeof)operator(()ident(ULong)operator(\);) reserved(for) operator(()ident(k) operator(=) integer(0)operator(;) reserved(sizeof)operator(()ident(Bigint)operator(\)) operator(-) reserved(sizeof)operator(()ident(ULong)operator(\)) operator(-) reserved(sizeof)operator(()pre_type(int)operator(\)) operator(+) ident(j) operator(<=) ident(i)operator(;) ident(j) operator(<<=) integer(1)operator(\)) ident(k)operator(++;) ident(r) operator(=) operator(()pre_type(int)operator(*\))ident(Balloc)operator(()ident(k)operator(\);) operator(*)ident(r) operator(=) ident(k)operator(;) reserved(return) preprocessor(#ifndef) ident(MULTIPLE_THREADS) ident(dtoa_result) operator(=) preprocessor(#endif) operator(()pre_type(char) operator(*\)()ident(r)operator(+)integer(1)operator(\);) operator(}) directive(static) pre_type(char) operator(*) ident(nrv_alloc)operator(()pre_type(char) operator(*)ident(s)operator(,) pre_type(char) operator(**)ident(rve)operator(,) pre_type(int) ident(n)operator(\)) operator({) pre_type(char) operator(*)ident(rv)operator(,) operator(*)ident(t)operator(;) ident(t) operator(=) ident(rv) operator(=) ident(rv_alloc)operator(()ident(n)operator(\);) reserved(while) operator(((*)ident(t) operator(=) operator(*)ident(s)operator(++\)) operator(!=) integer(0)operator(\)) ident(t)operator(++;) reserved(if) operator(()ident(rve)operator(\)) operator(*)ident(rve) operator(=) ident(t)operator(;) reserved(return) ident(rv)operator(;) operator(}) comment(/* freedtoa(s\) must be used to free values s returned by dtoa * when MULTIPLE_THREADS is #defined. It should be used in all cases, * but for consistency with earlier versions of dtoa, it is optional * when MULTIPLE_THREADS is not defined. */) directive(void) ident(freedtoa)operator(()pre_type(char) operator(*)ident(s)operator(\)) operator({) ident(Bigint) operator(*)ident(b) operator(=) operator(()ident(Bigint) operator(*\)(()pre_type(int) operator(*\))ident(s) operator(-) integer(1)operator(\);) ident(b)operator(->)ident(maxwds) operator(=) integer(1) operator(<<) operator(()ident(b)operator(->)ident(k) operator(=) operator(*()pre_type(int)operator(*\))ident(b)operator(\);) ident(Bfree)operator(()ident(b)operator(\);) preprocessor(#ifndef) ident(MULTIPLE_THREADS) reserved(if) operator(()ident(s) operator(==) ident(dtoa_result)operator(\)) ident(dtoa_result) operator(=) integer(0)operator(;) preprocessor(#endif) operator(}) comment(/* dtoa for IEEE arithmetic (dmg\): convert double to ASCII string. * * Inspired by "How to Print Floating-Point Numbers Accurately" by * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 112-126]. * * Modifications: * 1. Rather than iterating, we use a simple numeric overestimate * to determine k = floor(log10(d\)\). We scale relevant * quantities using O(log2(k\)\) rather than O(k\) multiplications. * 2. For some modes > 2 (corresponding to ecvt and fcvt\), we don't * try to generate digits strictly left to right. Instead, we * compute with fewer bits and propagate the carry if necessary * when rounding the final digit up. This is often faster. * 3. Under the assumption that input will be rounded nearest, * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22. * That is, we allow equality in stopping tests when the * round-nearest rule will give the same floating-point value * as would satisfaction of the stopping test with strict * inequality. * 4. We remove common factors of powers of 2 from relevant * quantities. * 5. When converting floating-point integers less than 1e16, * we use floating-point arithmetic rather than resorting * to multiple-precision integers. * 6. When asked to produce fewer than 15 digits, we first try * to get by with floating-point arithmetic; we resort to * multiple-precision integer arithmetic only if we cannot * guarantee that the floating-point calculation has given * the correctly rounded result. For k requested digits and * "uniformly" distributed input, the probability is * something like 10^(k-15\) that we must resort to the Long * calculation. */) pre_type(char) operator(*) ident(dtoa)operator(()pre_type(double) ident(d)operator(,) pre_type(int) ident(mode)operator(,) pre_type(int) ident(ndigits)operator(,) pre_type(int) operator(*)ident(decpt)operator(,) pre_type(int) operator(*)ident(sign)operator(,) pre_type(char) operator(**)ident(rve)operator(\)) operator({) comment(/* Arguments ndigits, decpt, sign are similar to those of ecvt and fcvt; trailing zeros are suppressed from the returned string. If not null, *rve is set to point to the end of the return value. If d is +-Infinity or NaN, then *decpt is set to 9999. mode: 0 ==> shortest string that yields d when read in and rounded to nearest. 1 ==> like 0, but with Steele & White stopping rule; e.g. with IEEE P754 arithmetic , mode 0 gives 1e23 whereas mode 1 gives 9.999999999999999e22. 2 ==> max(1,ndigits\) significant digits. This gives a return value similar to that of ecvt, except that trailing zeros are suppressed. 3 ==> through ndigits past the decimal point. This gives a return value similar to that from fcvt, except that trailing zeros are suppressed, and ndigits can be negative. 4,5 ==> similar to 2 and 3, respectively, but (in round-nearest mode\) with the tests of mode 0 to possibly return a shorter string that rounds to d. With IEEE arithmetic and compilation with -DHonor_FLT_ROUNDS, modes 4 and 5 behave the same as modes 2 and 3 when FLT_ROUNDS != 1. 6-9 ==> Debugging modes similar to mode - 4: don't try fast floating-point estimate (if applicable\). Values of mode other than 0-9 are treated as mode 0. Sufficient space is allocated to the return value to hold the suppressed trailing zeros. */) pre_type(int) ident(bbits)operator(,) ident(b2)operator(,) ident(b5)operator(,) ident(be)operator(,) ident(dig)operator(,) ident(i)operator(,) ident(ieps)operator(,) ident(ilim)operator(,) ident(ilim0)operator(,) ident(ilim1)operator(,) ident(j)operator(,) ident(j1)operator(,) ident(k)operator(,) ident(k0)operator(,) ident(k_check)operator(,) ident(leftright)operator(,) ident(m2)operator(,) ident(m5)operator(,) ident(s2)operator(,) ident(s5)operator(,) ident(spec_case)operator(,) ident(try_quick)operator(;) ident(Long) ident(L)operator(;) preprocessor(#ifndef) ident(Sudden_Underflow) pre_type(int) ident(denorm)operator(;) ident(ULong) ident(x)operator(;) preprocessor(#endif) ident(Bigint) operator(*)ident(b)operator(,) operator(*)ident(b1)operator(,) operator(*)ident(delta)operator(,) operator(*)ident(mlo)operator(,) operator(*)ident(mhi)operator(,) operator(*)ident(S)operator(;) pre_type(double) ident(d2)operator(,) ident(ds)operator(,) ident(eps)operator(;) pre_type(char) operator(*)ident(s)operator(,) operator(*)ident(s0)operator(;) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) pre_type(int) ident(rounding)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(SET_INEXACT) pre_type(int) ident(inexact)operator(,) ident(oldinexact)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(MULTIPLE_THREADS) reserved(if) operator(()ident(dtoa_result)operator(\)) operator({) ident(freedtoa)operator(()ident(dtoa_result)operator(\);) ident(dtoa_result) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(word0)operator(()ident(d)operator(\)) operator(&) ident(Sign_bit)operator(\)) operator({) comment(/* set sign for everything, including 0's and NaNs */) operator(*)ident(sign) operator(=) integer(1)operator(;) ident(word0)operator(()ident(d)operator(\)) operator(&=) operator(~)ident(Sign_bit)operator(;) comment(/* clear sign bit */) operator(}) reserved(else) operator(*)ident(sign) operator(=) integer(0)operator(;) preprocessor(#if) ident(defined)operator(()ident(IEEE_Arith)operator(\)) operator(+) ident(defined)operator(()ident(VAX)operator(\)) preprocessor(#ifdef) ident(IEEE_Arith) reserved(if) operator((()ident(word0)operator(()ident(d)operator(\)) operator(&) ident(Exp_mask)operator(\)) operator(==) ident(Exp_mask)operator(\)) preprocessor(#else) reserved(if) operator(()ident(word0)operator(()ident(d)operator(\)) operator(==) hex(0x8000)operator(\)) preprocessor(#endif) operator({) comment(/* Infinity or NaN */) operator(*)ident(decpt) operator(=) integer(9999)operator(;) preprocessor(#ifdef) ident(IEEE_Arith) reserved(if) operator((!)ident(word1)operator(()ident(d)operator(\)) operator(&&) operator(!()ident(word0)operator(()ident(d)operator(\)) operator(&) hex(0xfffff)operator(\)\)) reserved(return) ident(nrv_alloc)operator(()stringoperator(,) ident(rve)operator(,) integer(8)operator(\);) preprocessor(#endif) reserved(return) ident(nrv_alloc)operator(()stringoperator(,) ident(rve)operator(,) integer(3)operator(\);) operator(}) preprocessor(#endif) preprocessor(#ifdef) ident(IBM) ident(dval)operator(()ident(d)operator(\)) operator(+=) integer(0)operator(;) comment(/* normalize */) preprocessor(#endif) reserved(if) operator((!)ident(dval)operator(()ident(d)operator(\)\)) operator({) operator(*)ident(decpt) operator(=) integer(1)operator(;) reserved(return) ident(nrv_alloc)operator(()stringoperator(,) ident(rve)operator(,) integer(1)operator(\);) operator(}) preprocessor(#ifdef) ident(SET_INEXACT) ident(try_quick) operator(=) ident(oldinexact) operator(=) ident(get_inexact)operator((\);) ident(inexact) operator(=) integer(1)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator((()ident(rounding) operator(=) ident(Flt_Rounds)operator(\)) operator(>=) integer(2)operator(\)) operator({) reserved(if) operator((*)ident(sign)operator(\)) ident(rounding) operator(=) ident(rounding) operator(==) integer(2) operator(?) integer(0) operator(:) integer(2)operator(;) reserved(else) reserved(if) operator(()ident(rounding) operator(!=) integer(2)operator(\)) ident(rounding) operator(=) integer(0)operator(;) operator(}) preprocessor(#endif) ident(b) operator(=) ident(d2b)operator(()ident(dval)operator(()ident(d)operator(\),) operator(&)ident(be)operator(,) operator(&)ident(bbits)operator(\);) preprocessor(#ifdef) ident(Sudden_Underflow) ident(i) operator(=) operator(()pre_type(int)operator(\)()ident(word0)operator(()ident(d)operator(\)) operator(>>) ident(Exp_shift1) operator(&) operator(()ident(Exp_mask)operator(>>)ident(Exp_shift1)operator(\)\);) preprocessor(#else) reserved(if) operator((()ident(i) operator(=) operator(()pre_type(int)operator(\)()ident(word0)operator(()ident(d)operator(\)) operator(>>) ident(Exp_shift1) operator(&) operator(()ident(Exp_mask)operator(>>)ident(Exp_shift1)operator(\)\)\)) operator(!=) integer(0)operator(\)) operator({) preprocessor(#endif) ident(dval)operator(()ident(d2)operator(\)) operator(=) ident(dval)operator(()ident(d)operator(\);) ident(word0)operator(()ident(d2)operator(\)) operator(&=) ident(Frac_mask1)operator(;) ident(word0)operator(()ident(d2)operator(\)) operator(|=) ident(Exp_11)operator(;) preprocessor(#ifdef) ident(IBM) reserved(if) operator(()ident(j) operator(=) integer(11) operator(-) ident(hi0bits)operator(()ident(word0)operator(()ident(d2)operator(\)) operator(&) ident(Frac_mask)operator(\)\)) ident(dval)operator(()ident(d2)operator(\)) operator(/=) integer(1) operator(<<) ident(j)operator(;) preprocessor(#endif) comment(/* log(x\) ~=~ log(1.5\) + (x-1.5\)/1.5 * log10(x\) = log(x\) / log(10\) * ~=~ log(1.5\)/log(10\) + (x-1.5\)/(1.5*log(10\)\) * log10(d\) = (i-Bias\)*log(2\)/log(10\) + log10(d2\) * * This suggests computing an approximation k to log10(d\) by * * k = (i - Bias\)*0.301029995663981 * + ( (d2-1.5\)*0.289529654602168 + 0.176091259055681 \); * * We want k to be too large rather than too small. * The error in the first-order Taylor series approximation * is in our favor, so we just round up the constant enough * to compensate for any error in the multiplication of * (i - Bias\) by 0.301029995663981; since |i - Bias| <= 1077, * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14, * adding 1e-13 to the constant term more than suffices. * Hence we adjust the constant term to 0.1760912590558. * (We could get a more accurate k by invoking log10, * but this is probably not worthwhile.\) */) ident(i) operator(-=) ident(Bias)operator(;) preprocessor(#ifdef) ident(IBM) ident(i) operator(<<=) integer(2)operator(;) ident(i) operator(+=) ident(j)operator(;) preprocessor(#endif) preprocessor(#ifndef) ident(Sudden_Underflow) ident(denorm) operator(=) integer(0)operator(;) operator(}) reserved(else) operator({) comment(/* d is denormalized */) ident(i) operator(=) ident(bbits) operator(+) ident(be) operator(+) operator(()ident(Bias) operator(+) operator(()ident(P)operator(-)integer(1)operator(\)) operator(-) integer(1)operator(\);) ident(x) operator(=) ident(i) operator(>) integer(32) operator(?) ident(word0)operator(()ident(d)operator(\)) operator(<<) operator(()integer(64) operator(-) ident(i)operator(\)) operator(|) ident(word1)operator(()ident(d)operator(\)) operator(>>) operator(()ident(i) operator(-) integer(32)operator(\)) operator(:) ident(word1)operator(()ident(d)operator(\)) operator(<<) operator(()integer(32) operator(-) ident(i)operator(\);) ident(dval)operator(()ident(d2)operator(\)) operator(=) ident(x)operator(;) ident(word0)operator(()ident(d2)operator(\)) operator(-=) integer(31)operator(*)ident(Exp_msk1)operator(;) comment(/* adjust exponent */) ident(i) operator(-=) operator(()ident(Bias) operator(+) operator(()ident(P)operator(-)integer(1)operator(\)) operator(-) integer(1)operator(\)) operator(+) integer(1)operator(;) ident(denorm) operator(=) integer(1)operator(;) operator(}) preprocessor(#endif) ident(ds) operator(=) operator(()ident(dval)operator(()ident(d2)operator(\)-)float(1)float(.5)operator(\)*)float(0)float(.289529654602168) operator(+) float(0)float(.1760912590558) operator(+) ident(i)operator(*)float(0)float(.301029995663981)operator(;) ident(k) operator(=) operator(()pre_type(int)operator(\))ident(ds)operator(;) reserved(if) operator(()ident(ds) operator(<) float(0)operator(.) operator(&&) ident(ds) operator(!=) ident(k)operator(\)) ident(k)operator(--;) comment(/* want k = floor(ds\) */) ident(k_check) operator(=) integer(1)operator(;) reserved(if) operator(()ident(k) operator(>=) integer(0) operator(&&) ident(k) operator(<=) ident(Ten_pmax)operator(\)) operator({) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(<) ident(tens)operator([)ident(k)operator(]\)) ident(k)operator(--;) ident(k_check) operator(=) integer(0)operator(;) operator(}) ident(j) operator(=) ident(bbits) operator(-) ident(i) operator(-) integer(1)operator(;) reserved(if) operator(()ident(j) operator(>=) integer(0)operator(\)) operator({) ident(b2) operator(=) integer(0)operator(;) ident(s2) operator(=) ident(j)operator(;) operator(}) reserved(else) operator({) ident(b2) operator(=) operator(-)ident(j)operator(;) ident(s2) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(k) operator(>=) integer(0)operator(\)) operator({) ident(b5) operator(=) integer(0)operator(;) ident(s5) operator(=) ident(k)operator(;) ident(s2) operator(+=) ident(k)operator(;) operator(}) reserved(else) operator({) ident(b2) operator(-=) ident(k)operator(;) ident(b5) operator(=) operator(-)ident(k)operator(;) ident(s5) operator(=) integer(0)operator(;) operator(}) reserved(if) operator(()ident(mode) operator(<) integer(0) operator(||) ident(mode) operator(>) integer(9)operator(\)) ident(mode) operator(=) integer(0)operator(;) preprocessor(#ifndef) ident(SET_INEXACT) preprocessor(#ifdef) ident(Check_FLT_ROUNDS) ident(try_quick) operator(=) ident(Rounding) operator(==) integer(1)operator(;) preprocessor(#else) ident(try_quick) operator(=) integer(1)operator(;) preprocessor(#endif) preprocessor(#endif) comment(/*SET_INEXACT*/) reserved(if) operator(()ident(mode) operator(>) integer(5)operator(\)) operator({) ident(mode) operator(-=) integer(4)operator(;) ident(try_quick) operator(=) integer(0)operator(;) operator(}) ident(leftright) operator(=) integer(1)operator(;) ident(ilim) operator(=) ident(ilim1) operator(=) operator(-)integer(1)operator(;) reserved(switch) operator(()ident(mode)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(case) integer(1)operator(:) ident(i) operator(=) integer(18)operator(;) ident(ndigits) operator(=) integer(0)operator(;) reserved(break)operator(;) reserved(case) integer(2)operator(:) ident(leftright) operator(=) integer(0)operator(;) comment(/* no break */) reserved(case) integer(4)operator(:) reserved(if) operator(()ident(ndigits) operator(<=) integer(0)operator(\)) ident(ndigits) operator(=) integer(1)operator(;) ident(ilim) operator(=) ident(ilim1) operator(=) ident(i) operator(=) ident(ndigits)operator(;) reserved(break)operator(;) reserved(case) integer(3)operator(:) ident(leftright) operator(=) integer(0)operator(;) comment(/* no break */) reserved(case) integer(5)operator(:) ident(i) operator(=) ident(ndigits) operator(+) ident(k) operator(+) integer(1)operator(;) ident(ilim) operator(=) ident(i)operator(;) ident(ilim1) operator(=) ident(i) operator(-) integer(1)operator(;) reserved(if) operator(()ident(i) operator(<=) integer(0)operator(\)) ident(i) operator(=) integer(1)operator(;) operator(}) ident(s) operator(=) ident(s0) operator(=) ident(rv_alloc)operator(()ident(i)operator(+)integer(1)operator(\);) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator(()ident(mode) operator(>) integer(1) operator(&&) ident(rounding) operator(!=) integer(1)operator(\)) ident(leftright) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(if) operator(()ident(ilim) operator(>=) integer(0) operator(&&) ident(ilim) operator(<=) ident(Quick_max) operator(&&) ident(try_quick)operator(\)) operator({) comment(/* Try to get by with floating-point arithmetic. */) ident(i) operator(=) integer(0)operator(;) ident(dval)operator(()ident(d2)operator(\)) operator(=) ident(dval)operator(()ident(d)operator(\);) ident(k0) operator(=) ident(k)operator(;) ident(ilim0) operator(=) ident(ilim)operator(;) ident(ieps) operator(=) integer(2)operator(;) comment(/* conservative */) reserved(if) operator(()ident(k) operator(>) integer(0)operator(\)) operator({) ident(ds) operator(=) ident(tens)operator([)ident(k)operator(&)hex(0xf)operator(];) ident(j) operator(=) ident(k) operator(>>) integer(4)operator(;) reserved(if) operator(()ident(j) operator(&) ident(Bletch)operator(\)) operator({) comment(/* prevent overflows */) ident(j) operator(&=) ident(Bletch) operator(-) integer(1)operator(;) ident(dval)operator(()ident(d)operator(\)) operator(/=) ident(bigtens)operator([)ident(n_bigtens)operator(-)integer(1)operator(];) ident(ieps)operator(++;) operator(}) reserved(for) operator((;) ident(j)operator(;) ident(j) operator(>>=) integer(1)operator(,) ident(i)operator(++\)) reserved(if) operator(()ident(j) operator(&) integer(1)operator(\)) operator({) ident(ieps)operator(++;) ident(ds) operator(*=) ident(bigtens)operator([)ident(i)operator(];) operator(}) ident(dval)operator(()ident(d)operator(\)) operator(/=) ident(ds)operator(;) operator(}) reserved(else) reserved(if) operator((()ident(j1) operator(=) operator(-)ident(k)operator(\)) operator(!=) integer(0)operator(\)) operator({) ident(dval)operator(()ident(d)operator(\)) operator(*=) ident(tens)operator([)ident(j1) operator(&) hex(0xf)operator(];) reserved(for) operator(()ident(j) operator(=) ident(j1) operator(>>) integer(4)operator(;) ident(j)operator(;) ident(j) operator(>>=) integer(1)operator(,) ident(i)operator(++\)) reserved(if) operator(()ident(j) operator(&) integer(1)operator(\)) operator({) ident(ieps)operator(++;) ident(dval)operator(()ident(d)operator(\)) operator(*=) ident(bigtens)operator([)ident(i)operator(];) operator(}) operator(}) reserved(if) operator(()ident(k_check) operator(&&) ident(dval)operator(()ident(d)operator(\)) operator(<) float(1)operator(.) operator(&&) ident(ilim) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(ilim1) operator(<=) integer(0)operator(\)) reserved(goto) ident(fast_failed)operator(;) ident(ilim) operator(=) ident(ilim1)operator(;) ident(k)operator(--;) ident(dval)operator(()ident(d)operator(\)) operator(*=) integer(1)float(0)operator(.)operator(;) ident(ieps)operator(++;) operator(}) ident(dval)operator(()ident(eps)operator(\)) operator(=) ident(ieps)operator(*)ident(dval)operator(()ident(d)operator(\)) operator(+) float(7)operator(.)operator(;) ident(word0)operator(()ident(eps)operator(\)) operator(-=) operator(()ident(P)operator(-)integer(1)operator(\)*)ident(Exp_msk1)operator(;) reserved(if) operator(()ident(ilim) operator(==) integer(0)operator(\)) operator({) ident(S) operator(=) ident(mhi) operator(=) integer(0)operator(;) ident(dval)operator(()ident(d)operator(\)) operator(-=) float(5)operator(.)operator(;) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(>) ident(dval)operator(()ident(eps)operator(\)\)) reserved(goto) ident(one_digit)operator(;) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(<) operator(-)ident(dval)operator(()ident(eps)operator(\)\)) reserved(goto) ident(no_digits)operator(;) reserved(goto) ident(fast_failed)operator(;) operator(}) preprocessor(#ifndef) ident(No_leftright) reserved(if) operator(()ident(leftright)operator(\)) operator({) comment(/* Use Steele & White method of only * generating digits needed. */) ident(dval)operator(()ident(eps)operator(\)) operator(=) float(0)float(.5)operator(/)ident(tens)operator([)ident(ilim)operator(-)integer(1)operator(]) operator(-) ident(dval)operator(()ident(eps)operator(\);) reserved(for) operator(()ident(i) operator(=) integer(0)operator(;;\)) operator({) ident(L) operator(=) ident(dval)operator(()ident(d)operator(\);) ident(dval)operator(()ident(d)operator(\)) operator(-=) ident(L)operator(;) operator(*)ident(s)operator(++) operator(=) char('0') operator(+) operator(()pre_type(int)operator(\))ident(L)operator(;) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(<) ident(dval)operator(()ident(eps)operator(\)\)) reserved(goto) ident(ret1)operator(;) reserved(if) operator(()float(1)operator(.) operator(-) ident(dval)operator(()ident(d)operator(\)) operator(<) ident(dval)operator(()ident(eps)operator(\)\)) reserved(goto) ident(bump_up)operator(;) reserved(if) operator((++)ident(i) operator(>=) ident(ilim)operator(\)) reserved(break)operator(;) ident(dval)operator(()ident(eps)operator(\)) operator(*=) integer(1)float(0)operator(.)operator(;) ident(dval)operator(()ident(d)operator(\)) operator(*=) integer(1)float(0)operator(.)operator(;) operator(}) operator(}) reserved(else) operator({) preprocessor(#endif) comment(/* Generate ilim digits, then fix them up. */) ident(dval)operator(()ident(eps)operator(\)) operator(*=) ident(tens)operator([)ident(ilim)operator(-)integer(1)operator(];) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;;) ident(i)operator(++,) ident(dval)operator(()ident(d)operator(\)) operator(*=) integer(1)float(0)operator(.)operator(\)) operator({) ident(L) operator(=) operator(()ident(Long)operator(\)()ident(dval)operator(()ident(d)operator(\)\);) reserved(if) operator((!()ident(dval)operator(()ident(d)operator(\)) operator(-=) ident(L)operator(\)\)) ident(ilim) operator(=) ident(i)operator(;) operator(*)ident(s)operator(++) operator(=) char('0') operator(+) operator(()pre_type(int)operator(\))ident(L)operator(;) reserved(if) operator(()ident(i) operator(==) ident(ilim)operator(\)) operator({) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(>) float(0)float(.5) operator(+) ident(dval)operator(()ident(eps)operator(\)\)) reserved(goto) ident(bump_up)operator(;) reserved(else) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(<) float(0)float(.5) operator(-) ident(dval)operator(()ident(eps)operator(\)\)) operator({) reserved(while) operator((*--)ident(s) operator(==) char('0')operator(\)) operator(;) ident(s)operator(++;) reserved(goto) ident(ret1)operator(;) operator(}) reserved(break)operator(;) operator(}) operator(}) preprocessor(#ifndef) ident(No_leftright) operator(}) preprocessor(#endif) label(fast_failed:) ident(s) operator(=) ident(s0)operator(;) ident(dval)operator(()ident(d)operator(\)) operator(=) ident(dval)operator(()ident(d2)operator(\);) ident(k) operator(=) ident(k0)operator(;) ident(ilim) operator(=) ident(ilim0)operator(;) operator(}) comment(/* Do we have a "small" integer? */) reserved(if) operator(()ident(be) operator(>=) integer(0) operator(&&) ident(k) operator(<=) ident(Int_max)operator(\)) operator({) comment(/* Yes. */) ident(ds) operator(=) ident(tens)operator([)ident(k)operator(];) reserved(if) operator(()ident(ndigits) operator(<) integer(0) operator(&&) ident(ilim) operator(<=) integer(0)operator(\)) operator({) ident(S) operator(=) ident(mhi) operator(=) integer(0)operator(;) reserved(if) operator(()ident(ilim) operator(<) integer(0) operator(||) ident(dval)operator(()ident(d)operator(\)) operator(<=) integer(5)operator(*)ident(ds)operator(\)) reserved(goto) ident(no_digits)operator(;) reserved(goto) ident(one_digit)operator(;) operator(}) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;;) ident(i)operator(++,) ident(dval)operator(()ident(d)operator(\)) operator(*=) integer(1)float(0)operator(.)operator(\)) operator({) ident(L) operator(=) operator(()ident(Long)operator(\)()ident(dval)operator(()ident(d)operator(\)) operator(/) ident(ds)operator(\);) ident(dval)operator(()ident(d)operator(\)) operator(-=) ident(L)operator(*)ident(ds)operator(;) preprocessor(#ifdef) ident(Check_FLT_ROUNDS) comment(/* If FLT_ROUNDS == 2, L will usually be high by 1 */) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(L)operator(--;) ident(dval)operator(()ident(d)operator(\)) operator(+=) ident(ds)operator(;) operator(}) preprocessor(#endif) operator(*)ident(s)operator(++) operator(=) char('0') operator(+) operator(()pre_type(int)operator(\))ident(L)operator(;) reserved(if) operator((!)ident(dval)operator(()ident(d)operator(\)\)) operator({) preprocessor(#ifdef) ident(SET_INEXACT) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(i) operator(==) ident(ilim)operator(\)) operator({) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator(()ident(mode) operator(>) integer(1)operator(\)) reserved(switch) operator(()ident(rounding)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(goto) ident(ret1)operator(;) reserved(case) integer(2)operator(:) reserved(goto) ident(bump_up)operator(;) operator(}) preprocessor(#endif) ident(dval)operator(()ident(d)operator(\)) operator(+=) ident(dval)operator(()ident(d)operator(\);) reserved(if) operator(()ident(dval)operator(()ident(d)operator(\)) operator(>) ident(ds) operator(||) operator(()ident(dval)operator(()ident(d)operator(\)) operator(==) ident(ds) operator(&&) operator(()ident(L) operator(&) integer(1)operator(\)\)\)) operator({) label(bump_up:) reserved(while) operator((*--)ident(s) operator(==) char('9')operator(\)) reserved(if) operator(()ident(s) operator(==) ident(s0)operator(\)) operator({) ident(k)operator(++;) operator(*)ident(s) operator(=) char('0')operator(;) reserved(break)operator(;) operator(}) operator(++*)ident(s)operator(++;) operator(}) reserved(break)operator(;) operator(}) operator(}) reserved(goto) ident(ret1)operator(;) operator(}) ident(m2) operator(=) ident(b2)operator(;) ident(m5) operator(=) ident(b5)operator(;) ident(mhi) operator(=) ident(mlo) operator(=) integer(0)operator(;) reserved(if) operator(()ident(leftright)operator(\)) operator({) ident(i) operator(=) preprocessor(#ifndef) ident(Sudden_Underflow) ident(denorm) operator(?) ident(be) operator(+) operator(()ident(Bias) operator(+) operator(()ident(P)operator(-)integer(1)operator(\)) operator(-) integer(1) operator(+) integer(1)operator(\)) operator(:) preprocessor(#endif) preprocessor(#ifdef) ident(IBM) integer(1) operator(+) integer(4)operator(*)ident(P) operator(-) integer(3) operator(-) ident(bbits) operator(+) operator((()ident(bbits) operator(+) ident(be) operator(-) integer(1)operator(\)) operator(&) integer(3)operator(\);) preprocessor(#else) integer(1) operator(+) ident(P) operator(-) ident(bbits)operator(;) preprocessor(#endif) ident(b2) operator(+=) ident(i)operator(;) ident(s2) operator(+=) ident(i)operator(;) ident(mhi) operator(=) ident(i2b)operator(()integer(1)operator(\);) operator(}) reserved(if) operator(()ident(m2) operator(>) integer(0) operator(&&) ident(s2) operator(>) integer(0)operator(\)) operator({) ident(i) operator(=) ident(m2) operator(<) ident(s2) operator(?) ident(m2) operator(:) ident(s2)operator(;) ident(b2) operator(-=) ident(i)operator(;) ident(m2) operator(-=) ident(i)operator(;) ident(s2) operator(-=) ident(i)operator(;) operator(}) reserved(if) operator(()ident(b5) operator(>) integer(0)operator(\)) operator({) reserved(if) operator(()ident(leftright)operator(\)) operator({) reserved(if) operator(()ident(m5) operator(>) integer(0)operator(\)) operator({) ident(mhi) operator(=) ident(pow5mult)operator(()ident(mhi)operator(,) ident(m5)operator(\);) ident(b1) operator(=) ident(mult)operator(()ident(mhi)operator(,) ident(b)operator(\);) ident(Bfree)operator(()ident(b)operator(\);) ident(b) operator(=) ident(b1)operator(;) operator(}) reserved(if) operator((()ident(j) operator(=) ident(b5) operator(-) ident(m5)operator(\)) operator(!=) integer(0)operator(\)) ident(b) operator(=) ident(pow5mult)operator(()ident(b)operator(,) ident(j)operator(\);) operator(}) reserved(else) ident(b) operator(=) ident(pow5mult)operator(()ident(b)operator(,) ident(b5)operator(\);) operator(}) ident(S) operator(=) ident(i2b)operator(()integer(1)operator(\);) reserved(if) operator(()ident(s5) operator(>) integer(0)operator(\)) ident(S) operator(=) ident(pow5mult)operator(()ident(S)operator(,) ident(s5)operator(\);) comment(/* Check for special case that d is a normalized power of 2. */) ident(spec_case) operator(=) integer(0)operator(;) reserved(if) operator((()ident(mode) operator(<) integer(2) operator(||) ident(leftright)operator(\)) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) operator(&&) ident(rounding) operator(==) integer(1) preprocessor(#endif) operator(\)) operator({) reserved(if) operator((!)ident(word1)operator(()ident(d)operator(\)) operator(&&) operator(!()ident(word0)operator(()ident(d)operator(\)) operator(&) ident(Bndry_mask)operator(\)) preprocessor(#ifndef) ident(Sudden_Underflow) operator(&&) ident(word0)operator(()ident(d)operator(\)) operator(&) operator(()ident(Exp_mask) operator(&) operator(~)ident(Exp_msk1)operator(\)) preprocessor(#endif) operator(\)) operator({) comment(/* The special case */) ident(b2) operator(+=) ident(Log2P)operator(;) ident(s2) operator(+=) ident(Log2P)operator(;) ident(spec_case) operator(=) integer(1)operator(;) operator(}) operator(}) comment(/* Arrange for convenient computation of quotients: * shift left if necessary so divisor has 4 leading 0 bits. * * Perhaps we should just compute leading 28 bits of S once * and for all and pass them and a shift to quorem, so it * can do shifts and ors to compute the numerator for q. */) preprocessor(#ifdef) ident(Pack_32) reserved(if) operator((()ident(i) operator(=) operator((()ident(s5) operator(?) integer(32) operator(-) ident(hi0bits)operator(()ident(S)operator(->)ident(x)operator([)ident(S)operator(->)ident(wds)operator(-)integer(1)operator(]\)) operator(:) integer(1)operator(\)) operator(+) ident(s2)operator(\)) operator(&) hex(0x1f)operator(\)) operator(!=) integer(0)operator(\)) ident(i) operator(=) integer(32) operator(-) ident(i)operator(;) preprocessor(#else) reserved(if) operator((()ident(i) operator(=) operator((()ident(s5) operator(?) integer(32) operator(-) ident(hi0bits)operator(()ident(S)operator(->)ident(x)operator([)ident(S)operator(->)ident(wds)operator(-)integer(1)operator(]\)) operator(:) integer(1)operator(\)) operator(+) ident(s2)operator(\)) operator(&) hex(0xf)operator(\)) operator(!=) integer(0)operator(\)) ident(i) operator(=) integer(16) operator(-) ident(i)operator(;) preprocessor(#endif) reserved(if) operator(()ident(i) operator(>) integer(4)operator(\)) operator({) ident(i) operator(-=) integer(4)operator(;) ident(b2) operator(+=) ident(i)operator(;) ident(m2) operator(+=) ident(i)operator(;) ident(s2) operator(+=) ident(i)operator(;) operator(}) reserved(else) reserved(if) operator(()ident(i) operator(<) integer(4)operator(\)) operator({) ident(i) operator(+=) integer(28)operator(;) ident(b2) operator(+=) ident(i)operator(;) ident(m2) operator(+=) ident(i)operator(;) ident(s2) operator(+=) ident(i)operator(;) operator(}) reserved(if) operator(()ident(b2) operator(>) integer(0)operator(\)) ident(b) operator(=) ident(lshift)operator(()ident(b)operator(,) ident(b2)operator(\);) reserved(if) operator(()ident(s2) operator(>) integer(0)operator(\)) ident(S) operator(=) ident(lshift)operator(()ident(S)operator(,) ident(s2)operator(\);) reserved(if) operator(()ident(k_check)operator(\)) operator({) reserved(if) operator(()ident(cmp)operator(()ident(b)operator(,)ident(S)operator(\)) operator(<) integer(0)operator(\)) operator({) ident(k)operator(--;) ident(b) operator(=) ident(multadd)operator(()ident(b)operator(,) integer(10)operator(,) integer(0)operator(\);) comment(/* we botched the k estimate */) reserved(if) operator(()ident(leftright)operator(\)) ident(mhi) operator(=) ident(multadd)operator(()ident(mhi)operator(,) integer(10)operator(,) integer(0)operator(\);) ident(ilim) operator(=) ident(ilim1)operator(;) operator(}) operator(}) reserved(if) operator(()ident(ilim) operator(<=) integer(0) operator(&&) operator(()ident(mode) operator(==) integer(3) operator(||) ident(mode) operator(==) integer(5)operator(\)\)) operator({) reserved(if) operator(()ident(ilim) operator(<) integer(0) operator(||) ident(cmp)operator(()ident(b)operator(,)ident(S) operator(=) ident(multadd)operator(()ident(S)operator(,)integer(5)operator(,)integer(0)operator(\)\)) operator(<=) integer(0)operator(\)) operator({) comment(/* no digits, fcvt style */) label(no_digits:) ident(k) operator(=) operator(-)integer(1) operator(-) ident(ndigits)operator(;) reserved(goto) ident(ret)operator(;) operator(}) label(one_digit:) operator(*)ident(s)operator(++) operator(=) char('1')operator(;) ident(k)operator(++;) reserved(goto) ident(ret)operator(;) operator(}) reserved(if) operator(()ident(leftright)operator(\)) operator({) reserved(if) operator(()ident(m2) operator(>) integer(0)operator(\)) ident(mhi) operator(=) ident(lshift)operator(()ident(mhi)operator(,) ident(m2)operator(\);) comment(/* Compute mlo -- check for special case * that d is a normalized power of 2. */) ident(mlo) operator(=) ident(mhi)operator(;) reserved(if) operator(()ident(spec_case)operator(\)) operator({) ident(mhi) operator(=) ident(Balloc)operator(()ident(mhi)operator(->)ident(k)operator(\);) ident(Bcopy)operator(()ident(mhi)operator(,) ident(mlo)operator(\);) ident(mhi) operator(=) ident(lshift)operator(()ident(mhi)operator(,) ident(Log2P)operator(\);) operator(}) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;;)ident(i)operator(++\)) operator({) ident(dig) operator(=) ident(quorem)operator(()ident(b)operator(,)ident(S)operator(\)) operator(+) char('0')operator(;) comment(/* Do we yet have the shortest decimal string * that will round to d? */) ident(j) operator(=) ident(cmp)operator(()ident(b)operator(,) ident(mlo)operator(\);) ident(delta) operator(=) ident(diff)operator(()ident(S)operator(,) ident(mhi)operator(\);) ident(j1) operator(=) ident(delta)operator(->)ident(sign) operator(?) integer(1) operator(:) ident(cmp)operator(()ident(b)operator(,) ident(delta)operator(\);) ident(Bfree)operator(()ident(delta)operator(\);) preprocessor(#ifndef) ident(ROUND_BIASED) reserved(if) operator(()ident(j1) operator(==) integer(0) operator(&&) ident(mode) operator(!=) integer(1) operator(&&) operator(!()ident(word1)operator(()ident(d)operator(\)) operator(&) integer(1)operator(\)) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) operator(&&) ident(rounding) operator(>=) integer(1) preprocessor(#endif) operator(\)) operator({) reserved(if) operator(()ident(dig) operator(==) char('9')operator(\)) reserved(goto) ident(round_9_up)operator(;) reserved(if) operator(()ident(j) operator(>) integer(0)operator(\)) ident(dig)operator(++;) preprocessor(#ifdef) ident(SET_INEXACT) reserved(else) reserved(if) operator((!)ident(b)operator(->)ident(x)operator([)integer(0)operator(]) operator(&&) ident(b)operator(->)ident(wds) operator(<=) integer(1)operator(\)) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) operator(*)ident(s)operator(++) operator(=) ident(dig)operator(;) reserved(goto) ident(ret)operator(;) operator(}) preprocessor(#endif) reserved(if) operator(()ident(j) operator(<) integer(0) operator(||) operator(()ident(j) operator(==) integer(0) operator(&&) ident(mode) operator(!=) integer(1) preprocessor(#ifndef) ident(ROUND_BIASED) operator(&&) operator(!()ident(word1)operator(()ident(d)operator(\)) operator(&) integer(1)operator(\)) preprocessor(#endif) operator(\)\)) operator({) reserved(if) operator((!)ident(b)operator(->)ident(x)operator([)integer(0)operator(]) operator(&&) ident(b)operator(->)ident(wds) operator(<=) integer(1)operator(\)) operator({) preprocessor(#ifdef) ident(SET_INEXACT) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(goto) ident(accept_dig)operator(;) operator(}) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator(()ident(mode) operator(>) integer(1)operator(\)) reserved(switch) operator(()ident(rounding)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(goto) ident(accept_dig)operator(;) reserved(case) integer(2)operator(:) reserved(goto) ident(keep_dig)operator(;) operator(}) preprocessor(#endif) comment(/*Honor_FLT_ROUNDS*/) reserved(if) operator(()ident(j1) operator(>) integer(0)operator(\)) operator({) ident(b) operator(=) ident(lshift)operator(()ident(b)operator(,) integer(1)operator(\);) ident(j1) operator(=) ident(cmp)operator(()ident(b)operator(,) ident(S)operator(\);) reserved(if) operator((()ident(j1) operator(>) integer(0) operator(||) operator(()ident(j1) operator(==) integer(0) operator(&&) operator(()ident(dig) operator(&) integer(1)operator(\)\)\)) operator(&&) ident(dig)operator(++) operator(==) char('9')operator(\)) reserved(goto) ident(round_9_up)operator(;) operator(}) label(accept_dig:) operator(*)ident(s)operator(++) operator(=) ident(dig)operator(;) reserved(goto) ident(ret)operator(;) operator(}) reserved(if) operator(()ident(j1) operator(>) integer(0)operator(\)) operator({) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(if) operator((!)ident(rounding)operator(\)) reserved(goto) ident(accept_dig)operator(;) preprocessor(#endif) reserved(if) operator(()ident(dig) operator(==) char('9')operator(\)) operator({) comment(/* possible if i == 1 */) label(round_9_up:) operator(*)ident(s)operator(++) operator(=) char('9')operator(;) reserved(goto) ident(roundoff)operator(;) operator(}) operator(*)ident(s)operator(++) operator(=) ident(dig) operator(+) integer(1)operator(;) reserved(goto) ident(ret)operator(;) operator(}) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) label(keep_dig:) preprocessor(#endif) operator(*)ident(s)operator(++) operator(=) ident(dig)operator(;) reserved(if) operator(()ident(i) operator(==) ident(ilim)operator(\)) reserved(break)operator(;) ident(b) operator(=) ident(multadd)operator(()ident(b)operator(,) integer(10)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(mlo) operator(==) ident(mhi)operator(\)) ident(mlo) operator(=) ident(mhi) operator(=) ident(multadd)operator(()ident(mhi)operator(,) integer(10)operator(,) integer(0)operator(\);) reserved(else) operator({) ident(mlo) operator(=) ident(multadd)operator(()ident(mlo)operator(,) integer(10)operator(,) integer(0)operator(\);) ident(mhi) operator(=) ident(multadd)operator(()ident(mhi)operator(,) integer(10)operator(,) integer(0)operator(\);) operator(}) operator(}) operator(}) reserved(else) reserved(for) operator(()ident(i) operator(=) integer(1)operator(;;) ident(i)operator(++\)) operator({) operator(*)ident(s)operator(++) operator(=) ident(dig) operator(=) ident(quorem)operator(()ident(b)operator(,)ident(S)operator(\)) operator(+) char('0')operator(;) reserved(if) operator((!)ident(b)operator(->)ident(x)operator([)integer(0)operator(]) operator(&&) ident(b)operator(->)ident(wds) operator(<=) integer(1)operator(\)) operator({) preprocessor(#ifdef) ident(SET_INEXACT) ident(inexact) operator(=) integer(0)operator(;) preprocessor(#endif) reserved(goto) ident(ret)operator(;) operator(}) reserved(if) operator(()ident(i) operator(>=) ident(ilim)operator(\)) reserved(break)operator(;) ident(b) operator(=) ident(multadd)operator(()ident(b)operator(,) integer(10)operator(,) integer(0)operator(\);) operator(}) comment(/* Round off last digit */) preprocessor(#ifdef) ident(Honor_FLT_ROUNDS) reserved(switch) operator(()ident(rounding)operator(\)) operator({) reserved(case) integer(0)operator(:) reserved(goto) ident(trimzeros)operator(;) reserved(case) integer(2)operator(:) reserved(goto) ident(roundoff)operator(;) operator(}) preprocessor(#endif) ident(b) operator(=) ident(lshift)operator(()ident(b)operator(,) integer(1)operator(\);) ident(j) operator(=) ident(cmp)operator(()ident(b)operator(,) ident(S)operator(\);) reserved(if) operator(()ident(j) operator(>) integer(0) operator(||) operator(()ident(j) operator(==) integer(0) operator(&&) operator(()ident(dig) operator(&) integer(1)operator(\)\)\)) operator({) label(roundoff:) reserved(while) operator((*--)ident(s) operator(==) char('9')operator(\)) reserved(if) operator(()ident(s) operator(==) ident(s0)operator(\)) operator({) ident(k)operator(++;) operator(*)ident(s)operator(++) operator(=) char('1')operator(;) reserved(goto) ident(ret)operator(;) operator(}) operator(++*)ident(s)operator(++;) operator(}) reserved(else) operator({) reserved(while) operator((*--)ident(s) operator(==) char('0')operator(\)) operator(;) ident(s)operator(++;) operator(}) label(ret:) ident(Bfree)operator(()ident(S)operator(\);) reserved(if) operator(()ident(mhi)operator(\)) operator({) reserved(if) operator(()ident(mlo) operator(&&) ident(mlo) operator(!=) ident(mhi)operator(\)) ident(Bfree)operator(()ident(mlo)operator(\);) ident(Bfree)operator(()ident(mhi)operator(\);) operator(}) label(ret1:) preprocessor(#ifdef) ident(SET_INEXACT) reserved(if) operator(()ident(inexact)operator(\)) operator({) reserved(if) operator((!)ident(oldinexact)operator(\)) operator({) ident(word0)operator(()ident(d)operator(\)) operator(=) ident(Exp_1) operator(+) operator(()integer(70) operator(<<) ident(Exp_shift)operator(\);) ident(word1)operator(()ident(d)operator(\)) operator(=) integer(0)operator(;) ident(dval)operator(()ident(d)operator(\)) operator(+=) float(1)operator(.)operator(;) operator(}) operator(}) reserved(else) reserved(if) operator((!)ident(oldinexact)operator(\)) ident(clear_inexact)operator((\);) preprocessor(#endif) ident(Bfree)operator(()ident(b)operator(\);) operator(*)ident(s) operator(=) integer(0)operator(;) operator(*)ident(decpt) operator(=) ident(k) operator(+) integer(1)operator(;) reserved(if) operator(()ident(rve)operator(\)) operator(*)ident(rve) operator(=) ident(s)operator(;) reserved(return) ident(s0)operator(;) operator(}) directive(void) ident(ruby_each_words)operator(()directive(const) pre_type(char) operator(*)ident(str)operator(,) directive(void) operator((*)ident(func)operator(\)()directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) directive(void)operator(*\),) directive(void) operator(*)ident(arg)operator(\)) operator({) directive(const) pre_type(char) operator(*)ident(end)operator(;) pre_type(int) ident(len)operator(;) reserved(if) operator((!)ident(str)operator(\)) reserved(return)operator(;) reserved(for) operator((;) operator(*)ident(str)operator(;) ident(str) operator(=) ident(end)operator(\)) operator({) reserved(while) operator(()ident(ISSPACE)operator((*)ident(str)operator(\)) operator(||) operator(*)ident(str) operator(==) char(',')operator(\)) ident(str)operator(++;) reserved(if) operator((!*)ident(str)operator(\)) reserved(break)operator(;) ident(end) operator(=) ident(str)operator(;) reserved(while) operator((*)ident(end) operator(&&) operator(!)ident(ISSPACE)operator((*)ident(end)operator(\)) operator(&&) operator(*)ident(end) operator(!=) char(',')operator(\)) ident(end)operator(++;) ident(len) operator(=) ident(end) operator(-) ident(str)operator(;) operator((*)ident(func)operator(\)()ident(str)operator(,) ident(len)operator(,) ident(arg)operator(\);) operator(}) operator(}) preprocessor(#ifdef) ident(__cplusplus) operator(}) preprocessor(#endif) comment(/********************************************************************** variable.c - $Author: shyouhei $ $Date: 2009-02-02 03:34:12 +0100 (Mon, 02 Feb 2009\) $ created at: Tue Apr 19 23:55:15 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("env.h") preprocessor(#include) include("node.h") preprocessor(#include) include("st.h") preprocessor(#include) include("util.h") ident(st_table) operator(*)ident(rb_global_tbl)operator(;) ident(st_table) operator(*)ident(rb_class_tbl)operator(;) directive(static) ident(ID) ident(autoload)operator(,) ident(classpath)operator(,) ident(tmp_classpath)operator(;) directive(void) ident(Init_var_tables)operator((\)) operator({) ident(rb_global_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(rb_class_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(autoload) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(classpath) operator(=) ident(rb_intern)operator(()stringoperator(\);) ident(tmp_classpath) operator(=) ident(rb_intern)operator(()stringoperator(\);) operator(}) reserved(struct) ident(fc_result) operator({) ident(ID) ident(name)operator(;) ident(VALUE) ident(klass)operator(;) ident(VALUE) ident(path)operator(;) ident(VALUE) ident(track)operator(;) reserved(struct) ident(fc_result) operator(*)ident(prev)operator(;) operator(};) directive(static) ident(VALUE) ident(fc_path)operator(()ident(fc)operator(,) ident(name)operator(\)) reserved(struct) ident(fc_result) operator(*)ident(fc)operator(;) ident(ID) ident(name)operator(;) operator({) ident(VALUE) ident(path)operator(,) ident(tmp)operator(;) ident(path) operator(=) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(name)operator(\)\);) reserved(while) operator(()ident(fc)operator(\)) operator({) reserved(if) operator(()ident(fc)operator(->)ident(track) operator(==) ident(rb_cObject)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(ROBJECT)operator(()ident(fc)operator(->)ident(track)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(ROBJECT)operator(()ident(fc)operator(->)ident(track)operator(\)->)ident(iv_tbl)operator(,) ident(classpath)operator(,) operator(&)ident(tmp)operator(\)\)) operator({) ident(tmp) operator(=) ident(rb_str_dup)operator(()ident(tmp)operator(\);) ident(rb_str_cat2)operator(()ident(tmp)operator(,) stringoperator(\);) ident(rb_str_append)operator(()ident(tmp)operator(,) ident(path)operator(\);) reserved(return) ident(tmp)operator(;) operator(}) ident(tmp) operator(=) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(fc)operator(->)ident(name)operator(\)\);) ident(rb_str_cat2)operator(()ident(tmp)operator(,) stringoperator(\);) ident(rb_str_append)operator(()ident(tmp)operator(,) ident(path)operator(\);) ident(path) operator(=) ident(tmp)operator(;) ident(fc) operator(=) ident(fc)operator(->)ident(prev)operator(;) operator(}) reserved(return) ident(path)operator(;) operator(}) directive(static) pre_type(int) ident(fc_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(res)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(;) reserved(struct) ident(fc_result) operator(*)ident(res)operator(;) operator({) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(key)operator(\)\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(if) operator(()ident(value) operator(==) ident(res)operator(->)ident(klass)operator(\)) operator({) ident(res)operator(->)ident(path) operator(=) ident(fc_path)operator(()ident(res)operator(,) ident(key)operator(\);) reserved(return) ident(ST_STOP)operator(;) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(value)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(if) operator((!)ident(RCLASS)operator(()ident(value)operator(\)->)ident(iv_tbl)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) reserved(else) operator({) reserved(struct) ident(fc_result) ident(arg)operator(;) reserved(struct) ident(fc_result) operator(*)ident(list)operator(;) ident(list) operator(=) ident(res)operator(;) reserved(while) operator(()ident(list)operator(\)) operator({) reserved(if) operator(()ident(list)operator(->)ident(track) operator(==) ident(value)operator(\)) reserved(return) ident(ST_CONTINUE)operator(;) ident(list) operator(=) ident(list)operator(->)ident(prev)operator(;) operator(}) ident(arg)operator(.)ident(name) operator(=) ident(key)operator(;) ident(arg)operator(.)ident(path) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(klass) operator(=) ident(res)operator(->)ident(klass)operator(;) ident(arg)operator(.)ident(track) operator(=) ident(value)operator(;) ident(arg)operator(.)ident(prev) operator(=) ident(res)operator(;) ident(st_foreach_safe)operator(()ident(RCLASS)operator(()ident(value)operator(\)->)ident(iv_tbl)operator(,) ident(fc_i)operator(,) operator(()ident(st_data_t)operator(\)&)ident(arg)operator(\);) reserved(if) operator(()ident(arg)operator(.)ident(path)operator(\)) operator({) ident(res)operator(->)ident(path) operator(=) ident(arg)operator(.)ident(path)operator(;) reserved(return) ident(ST_STOP)operator(;) operator(}) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(break)operator(;) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) ident(VALUE) ident(find_class_path)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(struct) ident(fc_result) ident(arg)operator(;) ident(arg)operator(.)ident(name) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(path) operator(=) integer(0)operator(;) ident(arg)operator(.)ident(klass) operator(=) ident(klass)operator(;) ident(arg)operator(.)ident(track) operator(=) ident(rb_cObject)operator(;) ident(arg)operator(.)ident(prev) operator(=) integer(0)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(rb_cObject)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(st_foreach_safe)operator(()ident(RCLASS)operator(()ident(rb_cObject)operator(\)->)ident(iv_tbl)operator(,) ident(fc_i)operator(,) operator(()ident(st_data_t)operator(\)&)ident(arg)operator(\);) operator(}) reserved(if) operator(()ident(arg)operator(.)ident(path) operator(==) integer(0)operator(\)) operator({) ident(st_foreach)operator(()ident(rb_class_tbl)operator(,) ident(fc_i)operator(,) operator(()ident(st_data_t)operator(\)&)ident(arg)operator(\);) operator(}) reserved(if) operator(()ident(arg)operator(.)ident(path)operator(\)) operator({) reserved(if) operator((!)ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) ident(st_insert)operator(()ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(classpath)operator(,) ident(arg)operator(.)ident(path)operator(\);) ident(st_delete)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) operator(&)ident(tmp_classpath)operator(,) integer(0)operator(\);) reserved(return) ident(arg)operator(.)ident(path)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) ident(VALUE) ident(classname)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(path) operator(=) ident(Qnil)operator(;) reserved(if) operator((!)ident(klass)operator(\)) ident(klass) operator(=) ident(rb_cObject)operator(;) reserved(if) operator(()ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(\)) operator({) reserved(if) operator((!)ident(st_lookup)operator(()ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(classpath)operator(,) operator(&)ident(path)operator(\)\)) operator({) ident(ID) ident(classid) operator(=) ident(rb_intern)operator(()stringoperator(\);) reserved(if) operator((!)ident(st_lookup)operator(()ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(classid)operator(,) operator(&)ident(path)operator(\)\)) operator({) reserved(return) ident(find_class_path)operator(()ident(klass)operator(\);) operator(}) ident(path) operator(=) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(SYM2ID)operator(()ident(path)operator(\)\)\);) ident(st_insert)operator(()ident(ROBJECT)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(classpath)operator(,) ident(path)operator(\);) ident(st_delete)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(classid)operator(,) integer(0)operator(\);) operator(}) reserved(if) operator(()ident(TYPE)operator(()ident(path)operator(\)) operator(!=) ident(T_STRING)operator(\)) operator({) ident(rb_bug)operator(()stringoperator(\);) operator(}) reserved(return) ident(path)operator(;) operator(}) reserved(return) ident(find_class_path)operator(()ident(klass)operator(\);) operator(}) comment(/* * call-seq: * mod.name => string * * Returns the name of the module mod. */) ident(VALUE) ident(rb_mod_name)operator(()ident(mod)operator(\)) ident(VALUE) ident(mod)operator(;) operator({) ident(VALUE) ident(path) operator(=) ident(classname)operator(()ident(mod)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(path)operator(\)\)) reserved(return) ident(rb_str_dup)operator(()ident(path)operator(\);) reserved(return) ident(rb_str_new)operator(()integer(0)operator(,)integer(0)operator(\);) operator(}) ident(VALUE) ident(rb_class_path)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) ident(VALUE) ident(path) operator(=) ident(classname)operator(()ident(klass)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(path)operator(\)\)) reserved(return) ident(path)operator(;) reserved(if) operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(tmp_classpath)operator(,) operator(&)ident(path)operator(\)\)) operator({) reserved(return) ident(path)operator(;) operator(}) reserved(else) operator({) pre_type(char) operator(*)ident(s) operator(=) stringoperator(;) ident(size_t) ident(len)operator(;) reserved(if) operator(()ident(TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) reserved(if) operator(()ident(rb_obj_class)operator(()ident(klass)operator(\)) operator(==) ident(rb_cModule)operator(\)) operator({) ident(s) operator(=) stringoperator(;) operator(}) reserved(else) operator({) ident(s) operator(=) ident(rb_class2name)operator(()ident(RBASIC)operator(()ident(klass)operator(\)->)ident(klass)operator(\);) operator(}) operator(}) ident(len) operator(=) integer(2) operator(+) ident(strlen)operator(()ident(s)operator(\)) operator(+) integer(3) operator(+) integer(2) operator(*) ident(SIZEOF_LONG) operator(+) integer(1)operator(;) ident(path) operator(=) ident(rb_str_new)operator(()integer(0)operator(,) ident(len)operator(\);) ident(snprintf)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(,) ident(len)operator(+)integer(1)operator(,) string)delimiter(")>operator(,) ident(s)operator(,) ident(klass)operator(\);) ident(RSTRING)operator(()ident(path)operator(\)->)ident(len) operator(=) ident(strlen)operator(()ident(RSTRING)operator(()ident(path)operator(\)->)ident(ptr)operator(\);) ident(rb_ivar_set)operator(()ident(klass)operator(,) ident(tmp_classpath)operator(,) ident(path)operator(\);) reserved(return) ident(path)operator(;) operator(}) operator(}) directive(void) ident(rb_set_class_path)operator(()ident(klass)operator(,) ident(under)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(,) ident(under)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(VALUE) ident(str)operator(;) reserved(if) operator(()ident(under) operator(==) ident(rb_cObject)operator(\)) operator({) ident(str) operator(=) ident(rb_str_new2)operator(()ident(name)operator(\);) operator(}) reserved(else) operator({) ident(str) operator(=) ident(rb_str_dup)operator(()ident(rb_class_path)operator(()ident(under)operator(\)\);) ident(rb_str_cat2)operator(()ident(str)operator(,) stringoperator(\);) ident(rb_str_cat2)operator(()ident(str)operator(,) ident(name)operator(\);) operator(}) ident(rb_ivar_set)operator(()ident(klass)operator(,) ident(classpath)operator(,) ident(str)operator(\);) operator(}) ident(VALUE) ident(rb_path2class)operator(()ident(path)operator(\)) directive(const) pre_type(char) operator(*)ident(path)operator(;) operator({) directive(const) pre_type(char) operator(*)ident(pbeg)operator(,) operator(*)ident(p)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(c) operator(=) ident(rb_cObject)operator(;) ident(VALUE) ident(str) operator(=) integer(0)operator(;) reserved(if) operator(()ident(path)operator([)integer(0)operator(]) operator(==) char('#')operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(path)operator(\);) operator(}) ident(pbeg) operator(=) ident(p) operator(=) ident(path)operator(;) reserved(while) operator((*)ident(p)operator(\)) operator({) reserved(while) operator((*)ident(p) operator(&&) operator(*)ident(p) operator(!=) char(':')operator(\)) ident(p)operator(++;) reserved(if) operator(()ident(str)operator(\)) operator({) ident(RSTRING)operator(()ident(str)operator(\)->)ident(len) operator(=) integer(0)operator(;) ident(rb_str_cat)operator(()ident(str)operator(,) ident(pbeg)operator(,) ident(p)operator(-)ident(pbeg)operator(\);) operator(}) reserved(else) operator({) ident(str) operator(=) ident(rb_str_new)operator(()ident(pbeg)operator(,) ident(p)operator(-)ident(pbeg)operator(\);) operator(}) ident(id) operator(=) ident(rb_intern)operator(()ident(RSTRING)operator(()ident(str)operator(\)->)ident(ptr)operator(\);) reserved(if) operator(()ident(p)operator([)integer(0)operator(]) operator(==) char(':')operator(\)) operator({) reserved(if) operator(()ident(p)operator([)integer(1)operator(]) operator(!=) char(':')operator(\)) reserved(goto) ident(undefined_class)operator(;) ident(p) operator(+=) integer(2)operator(;) ident(pbeg) operator(=) ident(p)operator(;) operator(}) reserved(if) operator((!)ident(rb_const_defined)operator(()ident(c)operator(,) ident(id)operator(\)\)) operator({) label(undefined_class:) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(,) ident(p)operator(-)ident(path)operator(,) ident(path)operator(\);) operator(}) ident(c) operator(=) ident(rb_const_get_at)operator(()ident(c)operator(,) ident(id)operator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(c)operator(\)\)) operator({) reserved(case) ident(T_MODULE)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(break)operator(;) reserved(default)operator(:) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(path)operator(\);) operator(}) operator(}) reserved(return) ident(c)operator(;) operator(}) directive(void) ident(rb_name_class)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(rb_iv_set)operator(()ident(klass)operator(,) stringoperator(,) ident(ID2SYM)operator(()ident(id)operator(\)\);) operator(}) ident(VALUE) ident(rb_class_name)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(return) ident(rb_class_path)operator(()ident(rb_class_real)operator(()ident(klass)operator(\)\);) operator(}) pre_type(char) operator(*) ident(rb_class2name)operator(()ident(klass)operator(\)) ident(VALUE) ident(klass)operator(;) operator({) reserved(return) ident(RSTRING)operator(()ident(rb_class_name)operator(()ident(klass)operator(\)\)->)ident(ptr)operator(;) operator(}) pre_type(char) operator(*) ident(rb_obj_classname)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) reserved(return) ident(rb_class2name)operator(()ident(CLASS_OF)operator(()ident(obj)operator(\)\);) operator(}) reserved(struct) ident(trace_var) operator({) pre_type(int) ident(removed)operator(;) directive(void) operator((*)ident(func)operator(\)(\);) ident(VALUE) ident(data)operator(;) reserved(struct) ident(trace_var) operator(*)ident(next)operator(;) operator(};) reserved(struct) ident(global_variable) operator({) pre_type(int) ident(counter)operator(;) directive(void) operator(*)ident(data)operator(;) ident(VALUE) operator((*)ident(getter)operator(\)(\);) directive(void) operator((*)ident(setter)operator(\)(\);) directive(void) operator((*)ident(marker)operator(\)(\);) pre_type(int) ident(block_trace)operator(;) reserved(struct) ident(trace_var) operator(*)ident(trace)operator(;) operator(};) reserved(struct) ident(global_entry) operator({) reserved(struct) ident(global_variable) operator(*)ident(var)operator(;) ident(ID) ident(id)operator(;) operator(};) directive(static) ident(VALUE) ident(undef_getter)operator((\);) directive(static) directive(void) ident(undef_setter)operator((\);) directive(static) directive(void) ident(undef_marker)operator((\);) directive(static) ident(VALUE) ident(val_getter)operator((\);) directive(static) directive(void) ident(val_setter)operator((\);) directive(static) directive(void) ident(val_marker)operator((\);) directive(static) ident(VALUE) ident(var_getter)operator((\);) directive(static) directive(void) ident(var_setter)operator((\);) directive(static) directive(void) ident(var_marker)operator((\);) reserved(struct) ident(global_entry)operator(*) ident(rb_global_entry)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(rb_global_tbl)operator(,) ident(id)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(entry)operator(\)\)) operator({) reserved(struct) ident(global_variable) operator(*)ident(var)operator(;) ident(entry) operator(=) ident(ALLOC)operator(()reserved(struct) ident(global_entry)operator(\);) ident(var) operator(=) ident(ALLOC)operator(()reserved(struct) ident(global_variable)operator(\);) ident(entry)operator(->)ident(id) operator(=) ident(id)operator(;) ident(entry)operator(->)ident(var) operator(=) ident(var)operator(;) ident(var)operator(->)ident(counter) operator(=) integer(1)operator(;) ident(var)operator(->)ident(data) operator(=) integer(0)operator(;) ident(var)operator(->)ident(getter) operator(=) ident(undef_getter)operator(;) ident(var)operator(->)ident(setter) operator(=) ident(undef_setter)operator(;) ident(var)operator(->)ident(marker) operator(=) ident(undef_marker)operator(;) ident(var)operator(->)ident(block_trace) operator(=) integer(0)operator(;) ident(var)operator(->)ident(trace) operator(=) integer(0)operator(;) ident(st_add_direct)operator(()ident(rb_global_tbl)operator(,) ident(id)operator(,) operator(()ident(st_data_t)operator(\))ident(entry)operator(\);) operator(}) reserved(return) ident(entry)operator(;) operator(}) directive(static) ident(VALUE) ident(undef_getter)operator(()ident(id)operator(\)) ident(ID) ident(id)operator(;) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) directive(void) ident(undef_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(data)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) directive(void) operator(*)ident(data)operator(;) reserved(struct) ident(global_variable) operator(*)ident(var)operator(;) operator({) ident(var)operator(->)ident(getter) operator(=) ident(val_getter)operator(;) ident(var)operator(->)ident(setter) operator(=) ident(val_setter)operator(;) ident(var)operator(->)ident(marker) operator(=) ident(val_marker)operator(;) ident(var)operator(->)ident(data) operator(=) operator(()directive(void)operator(*\))ident(val)operator(;) operator(}) directive(static) directive(void) ident(undef_marker)operator((\)) operator({) operator(}) directive(static) ident(VALUE) ident(val_getter)operator(()ident(id)operator(,) ident(val)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(return) ident(val)operator(;) operator(}) directive(static) directive(void) ident(val_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(data)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) directive(void) operator(*)ident(data)operator(;) reserved(struct) ident(global_variable) operator(*)ident(var)operator(;) operator({) ident(var)operator(->)ident(data) operator(=) operator(()directive(void)operator(*\))ident(val)operator(;) operator(}) directive(static) directive(void) ident(val_marker)operator(()ident(data)operator(\)) ident(VALUE) ident(data)operator(;) operator({) reserved(if) operator(()ident(data)operator(\)) ident(rb_gc_mark_maybe)operator(()ident(data)operator(\);) operator(}) directive(static) ident(VALUE) ident(var_getter)operator(()ident(id)operator(,) ident(var)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) reserved(if) operator((!)ident(var)operator(\)) reserved(return) ident(Qnil)operator(;) reserved(return) operator(*)ident(var)operator(;) operator(}) directive(static) directive(void) ident(var_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) operator(*)ident(var) operator(=) ident(val)operator(;) operator(}) directive(static) directive(void) ident(var_marker)operator(()ident(var)operator(\)) ident(VALUE) operator(*)ident(var)operator(;) operator({) reserved(if) operator(()ident(var)operator(\)) ident(rb_gc_mark_maybe)operator((*)ident(var)operator(\);) operator(}) directive(static) directive(void) ident(readonly_setter)operator(()ident(val)operator(,) ident(id)operator(,) ident(var)operator(\)) ident(VALUE) ident(val)operator(;) ident(ID) ident(id)operator(;) directive(void) operator(*)ident(var)operator(;) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) directive(static) pre_type(int) ident(mark_global_entry)operator(()ident(key)operator(,) ident(entry)operator(\)) ident(ID) ident(key)operator(;) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) operator({) reserved(struct) ident(trace_var) operator(*)ident(trace)operator(;) reserved(struct) ident(global_variable) operator(*)ident(var) operator(=) ident(entry)operator(->)ident(var)operator(;) operator((*)ident(var)operator(->)ident(marker)operator(\)()ident(var)operator(->)ident(data)operator(\);) ident(trace) operator(=) ident(var)operator(->)ident(trace)operator(;) reserved(while) operator(()ident(trace)operator(\)) operator({) reserved(if) operator(()ident(trace)operator(->)ident(data)operator(\)) ident(rb_gc_mark_maybe)operator(()ident(trace)operator(->)ident(data)operator(\);) ident(trace) operator(=) ident(trace)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(void) ident(rb_gc_mark_global_tbl)operator((\)) operator({) reserved(if) operator(()ident(rb_global_tbl)operator(\)) operator({) ident(st_foreach)operator(()ident(rb_global_tbl)operator(,) ident(mark_global_entry)operator(,) integer(0)operator(\);) operator(}) operator(}) directive(static) ident(ID) ident(global_id)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(ID) ident(id)operator(;) reserved(if) operator(()ident(name)operator([)integer(0)operator(]) operator(==) char('$')operator(\)) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(else) operator({) pre_type(char) operator(*)ident(buf) operator(=) ident(ALLOCA_N)operator(()pre_type(char)operator(,) ident(strlen)operator(()ident(name)operator(\)+)integer(2)operator(\);) ident(buf)operator([)integer(0)operator(]) operator(=) char('$')operator(;) ident(strcpy)operator(()ident(buf)operator(+)integer(1)operator(,) ident(name)operator(\);) ident(id) operator(=) ident(rb_intern)operator(()ident(buf)operator(\);) operator(}) reserved(return) ident(id)operator(;) operator(}) directive(void) ident(rb_define_hooked_variable)operator(()ident(name)operator(,) ident(var)operator(,) ident(getter)operator(,) ident(setter)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator(*)ident(var)operator(;) ident(VALUE) operator((*)ident(getter)operator(\)(\);) directive(void) operator((*)ident(setter)operator(\)(\);) operator({) reserved(struct) ident(global_variable) operator(*)ident(gvar)operator(;) ident(ID) ident(id) operator(=) ident(global_id)operator(()ident(name)operator(\);) ident(gvar) operator(=) ident(rb_global_entry)operator(()ident(id)operator(\)->)ident(var)operator(;) ident(gvar)operator(->)ident(data) operator(=) operator(()directive(void)operator(*\))ident(var)operator(;) ident(gvar)operator(->)ident(getter) operator(=) ident(getter)operator(?)ident(getter)operator(:)ident(var_getter)operator(;) ident(gvar)operator(->)ident(setter) operator(=) ident(setter)operator(?)ident(setter)operator(:)ident(var_setter)operator(;) ident(gvar)operator(->)ident(marker) operator(=) ident(var_marker)operator(;) operator(}) directive(void) ident(rb_define_variable)operator(()ident(name)operator(,) ident(var)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) ident(rb_define_hooked_variable)operator(()ident(name)operator(,) ident(var)operator(,) integer(0)operator(,) integer(0)operator(\);) operator(}) directive(void) ident(rb_define_readonly_variable)operator(()ident(name)operator(,) ident(var)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator(*)ident(var)operator(;) operator({) ident(rb_define_hooked_variable)operator(()ident(name)operator(,) ident(var)operator(,) integer(0)operator(,) ident(readonly_setter)operator(\);) operator(}) directive(void) ident(rb_define_virtual_variable)operator(()ident(name)operator(,) ident(getter)operator(,) ident(setter)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) operator((*)ident(getter)operator(\)(\);) directive(void) operator((*)ident(setter)operator(\)(\);) operator({) reserved(if) operator((!)ident(getter)operator(\)) ident(getter) operator(=) ident(val_getter)operator(;) reserved(if) operator((!)ident(setter)operator(\)) ident(setter) operator(=) ident(readonly_setter)operator(;) ident(rb_define_hooked_variable)operator(()ident(name)operator(,) integer(0)operator(,) ident(getter)operator(,) ident(setter)operator(\);) operator(}) directive(static) directive(void) ident(rb_trace_eval)operator(()ident(cmd)operator(,) ident(val)operator(\)) ident(VALUE) ident(cmd)operator(,) ident(val)operator(;) operator({) ident(rb_eval_cmd)operator(()ident(cmd)operator(,) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(val)operator(\),) integer(0)operator(\);) operator(}) comment(/* * call-seq: * trace_var(symbol, cmd \) => nil * trace_var(symbol\) {|val| block } => nil * * Controls tracing of assignments to global variables. The parameter * +symbol_ identifies the variable (as either a string name or a * symbol identifier\). _cmd_ (which may be a string or a * +Proc+ object\) or block is executed whenever the variable * is assigned. The block or +Proc+ object receives the * variable's new value as a parameter. Also see * Kernel::untrace_var. * * trace_var :$_, proc {|v| puts "$_ is now '#{v}'" } * $_ = "hello" * $_ = ' there' * * produces: * * $_ is now 'hello' * $_ is now ' there' */) ident(VALUE) ident(rb_f_trace_var)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(var)operator(,) ident(cmd)operator(;) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) reserved(struct) ident(trace_var) operator(*)ident(trace)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) reserved(if) operator(()ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(var)operator(,) operator(&)ident(cmd)operator(\)) operator(==) integer(1)operator(\)) operator({) ident(cmd) operator(=) ident(rb_block_proc)operator((\);) operator(}) reserved(if) operator(()ident(NIL_P)operator(()ident(cmd)operator(\)\)) operator({) reserved(return) ident(rb_f_untrace_var)operator(()ident(argc)operator(,) ident(argv)operator(\);) operator(}) ident(entry) operator(=) ident(rb_global_entry)operator(()ident(rb_to_id)operator(()ident(var)operator(\)\);) reserved(if) operator(()ident(OBJ_TAINTED)operator(()ident(cmd)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator(}) ident(trace) operator(=) ident(ALLOC)operator(()reserved(struct) ident(trace_var)operator(\);) ident(trace)operator(->)ident(next) operator(=) ident(entry)operator(->)ident(var)operator(->)ident(trace)operator(;) ident(trace)operator(->)ident(func) operator(=) ident(rb_trace_eval)operator(;) ident(trace)operator(->)ident(data) operator(=) ident(cmd)operator(;) ident(trace)operator(->)ident(removed) operator(=) integer(0)operator(;) ident(entry)operator(->)ident(var)operator(->)ident(trace) operator(=) ident(trace)operator(;) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) directive(void) ident(remove_trace)operator(()ident(var)operator(\)) reserved(struct) ident(global_variable) operator(*)ident(var)operator(;) operator({) reserved(struct) ident(trace_var) operator(*)ident(trace) operator(=) ident(var)operator(->)ident(trace)operator(;) reserved(struct) ident(trace_var) ident(t)operator(;) reserved(struct) ident(trace_var) operator(*)ident(next)operator(;) ident(t)operator(.)ident(next) operator(=) ident(trace)operator(;) ident(trace) operator(=) operator(&)ident(t)operator(;) reserved(while) operator(()ident(trace)operator(->)ident(next)operator(\)) operator({) ident(next) operator(=) ident(trace)operator(->)ident(next)operator(;) reserved(if) operator(()ident(next)operator(->)ident(removed)operator(\)) operator({) ident(trace)operator(->)ident(next) operator(=) ident(next)operator(->)ident(next)operator(;) ident(free)operator(()ident(next)operator(\);) operator(}) reserved(else) operator({) ident(trace) operator(=) ident(next)operator(;) operator(}) operator(}) ident(var)operator(->)ident(trace) operator(=) ident(t)operator(.)ident(next)operator(;) operator(}) comment(/* * call-seq: * untrace_var(symbol [, cmd] \) => array or nil * * Removes tracing for the specified command on the given global * variable and returns +nil+. If no command is specified, * removes all tracing for that variable and returns an array * containing the commands actually removed. */) ident(VALUE) ident(rb_f_untrace_var)operator(()ident(argc)operator(,) ident(argv)operator(\)) pre_type(int) ident(argc)operator(;) ident(VALUE) operator(*)ident(argv)operator(;) operator({) ident(VALUE) ident(var)operator(,) ident(cmd)operator(;) ident(ID) ident(id)operator(;) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) reserved(struct) ident(trace_var) operator(*)ident(trace)operator(;) ident(rb_secure)operator(()integer(4)operator(\);) ident(rb_scan_args)operator(()ident(argc)operator(,) ident(argv)operator(,) stringoperator(,) operator(&)ident(var)operator(,) operator(&)ident(cmd)operator(\);) ident(id) operator(=) ident(rb_to_id)operator(()ident(var)operator(\);) reserved(if) operator((!)ident(st_lookup)operator(()ident(rb_global_tbl)operator(,) ident(id)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(entry)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(trace) operator(=) ident(entry)operator(->)ident(var)operator(->)ident(trace)operator(;) reserved(if) operator(()ident(NIL_P)operator(()ident(cmd)operator(\)\)) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(while) operator(()ident(trace)operator(\)) operator({) reserved(struct) ident(trace_var) operator(*)ident(next) operator(=) ident(trace)operator(->)ident(next)operator(;) ident(rb_ary_push)operator(()ident(ary)operator(,) operator(()ident(VALUE)operator(\))ident(trace)operator(->)ident(data)operator(\);) ident(trace)operator(->)ident(removed) operator(=) integer(1)operator(;) ident(trace) operator(=) ident(next)operator(;) operator(}) reserved(if) operator((!)ident(entry)operator(->)ident(var)operator(->)ident(block_trace)operator(\)) ident(remove_trace)operator(()ident(entry)operator(->)ident(var)operator(\);) reserved(return) ident(ary)operator(;) operator(}) reserved(else) operator({) reserved(while) operator(()ident(trace)operator(\)) operator({) reserved(if) operator(()ident(trace)operator(->)ident(data) operator(==) ident(cmd)operator(\)) operator({) ident(trace)operator(->)ident(removed) operator(=) integer(1)operator(;) reserved(if) operator((!)ident(entry)operator(->)ident(var)operator(->)ident(block_trace)operator(\)) ident(remove_trace)operator(()ident(entry)operator(->)ident(var)operator(\);) reserved(return) ident(rb_ary_new3)operator(()integer(1)operator(,) ident(cmd)operator(\);) operator(}) ident(trace) operator(=) ident(trace)operator(->)ident(next)operator(;) operator(}) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) ident(VALUE) ident(rb_gvar_get)operator(()ident(entry)operator(\)) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) operator({) reserved(struct) ident(global_variable) operator(*)ident(var) operator(=) ident(entry)operator(->)ident(var)operator(;) reserved(return) operator((*)ident(var)operator(->)ident(getter)operator(\)()ident(entry)operator(->)ident(id)operator(,) ident(var)operator(->)ident(data)operator(,) ident(var)operator(\);) operator(}) reserved(struct) ident(trace_data) operator({) reserved(struct) ident(trace_var) operator(*)ident(trace)operator(;) ident(VALUE) ident(val)operator(;) operator(};) directive(static) ident(VALUE) ident(trace_ev)operator(()ident(data)operator(\)) reserved(struct) ident(trace_data) operator(*)ident(data)operator(;) operator({) reserved(struct) ident(trace_var) operator(*)ident(trace) operator(=) ident(data)operator(->)ident(trace)operator(;) reserved(while) operator(()ident(trace)operator(\)) operator({) operator((*)ident(trace)operator(->)ident(func)operator(\)()ident(trace)operator(->)ident(data)operator(,) ident(data)operator(->)ident(val)operator(\);) ident(trace) operator(=) ident(trace)operator(->)ident(next)operator(;) operator(}) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) ident(VALUE) ident(trace_en)operator(()ident(var)operator(\)) reserved(struct) ident(global_variable) operator(*)ident(var)operator(;) operator({) ident(var)operator(->)ident(block_trace) operator(=) integer(0)operator(;) ident(remove_trace)operator(()ident(var)operator(\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) ident(VALUE) ident(rb_gvar_set)operator(()ident(entry)operator(,) ident(val)operator(\)) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(struct) ident(trace_data) ident(trace)operator(;) reserved(struct) ident(global_variable) operator(*)ident(var) operator(=) ident(entry)operator(->)ident(var)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) operator((*)ident(var)operator(->)ident(setter)operator(\)()ident(val)operator(,) ident(entry)operator(->)ident(id)operator(,) ident(var)operator(->)ident(data)operator(,) ident(var)operator(\);) reserved(if) operator(()ident(var)operator(->)ident(trace) operator(&&) operator(!)ident(var)operator(->)ident(block_trace)operator(\)) operator({) ident(var)operator(->)ident(block_trace) operator(=) integer(1)operator(;) ident(trace)operator(.)ident(trace) operator(=) ident(var)operator(->)ident(trace)operator(;) ident(trace)operator(.)ident(val) operator(=) ident(val)operator(;) ident(rb_ensure)operator(()ident(trace_ev)operator(,) operator(()ident(VALUE)operator(\)&)ident(trace)operator(,) ident(trace_en)operator(,) operator(()ident(VALUE)operator(\))ident(var)operator(\);) operator(}) reserved(return) ident(val)operator(;) operator(}) ident(VALUE) ident(rb_gv_set)operator(()ident(name)operator(,) ident(val)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) ident(entry) operator(=) ident(rb_global_entry)operator(()ident(global_id)operator(()ident(name)operator(\)\);) reserved(return) ident(rb_gvar_set)operator(()ident(entry)operator(,) ident(val)operator(\);) operator(}) ident(VALUE) ident(rb_gv_get)operator(()ident(name)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) ident(entry) operator(=) ident(rb_global_entry)operator(()ident(global_id)operator(()ident(name)operator(\)\);) reserved(return) ident(rb_gvar_get)operator(()ident(entry)operator(\);) operator(}) ident(VALUE) ident(rb_gvar_defined)operator(()ident(entry)operator(\)) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) operator({) reserved(if) operator(()ident(entry)operator(->)ident(var)operator(->)ident(getter) operator(==) ident(undef_getter)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) directive(static) pre_type(int) ident(gvar_i)operator(()ident(key)operator(,) ident(entry)operator(,) ident(ary)operator(\)) ident(ID) ident(key)operator(;) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(key)operator(\)\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * global_variables => array * * Returns an array of the names of global variables. * * global_variables.grep /std/ #=> ["$stderr", "$stdout", "$stdin"] */) ident(VALUE) ident(rb_f_global_variables)operator((\)) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) pre_type(char) ident(buf)operator([)integer(4)operator(];) pre_type(char) operator(*)ident(s) operator(=) stringoperator(;) ident(st_foreach)operator(()ident(rb_global_tbl)operator(,) ident(gvar_i)operator(,) ident(ary)operator(\);) reserved(if) operator((!)ident(NIL_P)operator(()ident(rb_backref_get)operator((\)\)\)) operator({) reserved(while) operator((*)ident(s)operator(\)) operator({) ident(sprintf)operator(()ident(buf)operator(,) stringoperator(,) operator(*)ident(s)operator(++\);) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(buf)operator(\)\);) operator(}) operator(}) reserved(return) ident(ary)operator(;) operator(}) directive(void) ident(rb_alias_variable)operator(()ident(name1)operator(,) ident(name2)operator(\)) ident(ID) ident(name1)operator(;) ident(ID) ident(name2)operator(;) operator({) reserved(struct) ident(global_entry) operator(*)ident(entry1)operator(,) operator(*)ident(entry2)operator(;) reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) ident(entry2) operator(=) ident(rb_global_entry)operator(()ident(name2)operator(\);) reserved(if) operator((!)ident(st_lookup)operator(()ident(rb_global_tbl)operator(,) ident(name1)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(entry1)operator(\)\)) operator({) ident(entry1) operator(=) ident(ALLOC)operator(()reserved(struct) ident(global_entry)operator(\);) ident(entry1)operator(->)ident(id) operator(=) ident(name1)operator(;) ident(st_add_direct)operator(()ident(rb_global_tbl)operator(,) ident(name1)operator(,) operator(()ident(st_data_t)operator(\))ident(entry1)operator(\);) operator(}) reserved(else) reserved(if) operator(()ident(entry1)operator(->)ident(var) operator(!=) ident(entry2)operator(->)ident(var)operator(\)) operator({) reserved(struct) ident(global_variable) operator(*)ident(var) operator(=) ident(entry1)operator(->)ident(var)operator(;) reserved(if) operator(()ident(var)operator(->)ident(block_trace)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eRuntimeError)operator(,) stringoperator(\);) operator(}) ident(var)operator(->)ident(counter)operator(--;) reserved(if) operator(()ident(var)operator(->)ident(counter) operator(==) integer(0)operator(\)) operator({) reserved(struct) ident(trace_var) operator(*)ident(trace) operator(=) ident(var)operator(->)ident(trace)operator(;) reserved(while) operator(()ident(trace)operator(\)) operator({) reserved(struct) ident(trace_var) operator(*)ident(next) operator(=) ident(trace)operator(->)ident(next)operator(;) ident(free)operator(()ident(trace)operator(\);) ident(trace) operator(=) ident(next)operator(;) operator(}) ident(free)operator(()ident(var)operator(\);) operator(}) operator(}) reserved(else) operator({) reserved(return)operator(;) operator(}) ident(entry2)operator(->)ident(var)operator(->)ident(counter)operator(++;) ident(entry1)operator(->)ident(var) operator(=) ident(entry2)operator(->)ident(var)operator(;) operator(}) directive(static) pre_type(int) ident(special_generic_ivar) operator(=) integer(0)operator(;) directive(static) ident(st_table) operator(*)ident(generic_iv_tbl)operator(;) ident(st_table)operator(*) ident(rb_generic_ivar_table)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator((!)ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)\)) reserved(return) integer(0)operator(;) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) reserved(return) integer(0)operator(;) reserved(return) ident(tbl)operator(;) operator(}) directive(static) ident(VALUE) ident(generic_ivar_get)operator(()ident(obj)operator(,) ident(id)operator(,) ident(warn)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(warn)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) ident(VALUE) ident(val)operator(;) reserved(if) operator(()ident(generic_iv_tbl)operator(\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(tbl)operator(,) ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(val)operator(;) operator(}) operator(}) operator(}) reserved(if) operator(()ident(warn)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) directive(static) directive(void) ident(generic_ivar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) ident(special_generic_ivar) operator(=) integer(1)operator(;) operator(}) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) operator({) ident(generic_iv_tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) reserved(if) operator((!)ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) operator({) ident(FL_SET)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\);) ident(tbl) operator(=) ident(st_init_numtable)operator((\);) ident(st_add_direct)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t)operator(\))ident(tbl)operator(\);) ident(st_add_direct)operator(()ident(tbl)operator(,) ident(id)operator(,) ident(val)operator(\);) reserved(return)operator(;) operator(}) ident(st_insert)operator(()ident(tbl)operator(,) ident(id)operator(,) ident(val)operator(\);) operator(}) directive(static) ident(VALUE) ident(generic_ivar_defined)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) ident(VALUE) ident(val)operator(;) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) reserved(return) ident(Qfalse)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(tbl)operator(,) ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(generic_ivar_remove)operator(()ident(obj)operator(,) ident(id)operator(,) ident(valp)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) operator(*)ident(valp)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) pre_type(int) ident(status)operator(;) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(return) integer(0)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) reserved(return) integer(0)operator(;) ident(status) operator(=) ident(st_delete)operator(()ident(tbl)operator(,) operator(&)ident(id)operator(,) ident(valp)operator(\);) reserved(if) operator(()ident(tbl)operator(->)ident(num_entries) operator(==) integer(0)operator(\)) operator({) ident(st_delete)operator(()ident(generic_iv_tbl)operator(,) operator(&)ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\);) ident(st_free_table)operator(()ident(tbl)operator(\);) operator(}) reserved(return) ident(status)operator(;) operator(}) directive(void) ident(rb_mark_generic_ivar)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) operator({) ident(rb_mark_tbl)operator(()ident(tbl)operator(\);) operator(}) operator(}) directive(static) pre_type(int) ident(givar_mark_i)operator(()ident(key)operator(,) ident(value)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(;) operator({) ident(rb_gc_mark)operator(()ident(value)operator(\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(static) pre_type(int) ident(givar_i)operator(()ident(obj)operator(,) ident(tbl)operator(\)) ident(VALUE) ident(obj)operator(;) ident(st_table) operator(*)ident(tbl)operator(;) operator({) reserved(if) operator(()ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) ident(st_foreach)operator(()ident(tbl)operator(,) ident(givar_mark_i)operator(,) integer(0)operator(\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(void) ident(rb_mark_generic_ivar_tbl)operator((\)) operator({) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(special_generic_ivar) operator(==) integer(0)operator(\)) reserved(return)operator(;) ident(st_foreach_safe)operator(()ident(generic_iv_tbl)operator(,) ident(givar_i)operator(,) integer(0)operator(\);) operator(}) directive(void) ident(rb_free_generic_ivar)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator(()ident(st_delete)operator(()ident(generic_iv_tbl)operator(,) operator(&)ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) ident(st_free_table)operator(()ident(tbl)operator(\);) operator(}) directive(void) ident(rb_copy_generic_ivar)operator(()ident(clone)operator(,) ident(obj)operator(\)) ident(VALUE) ident(clone)operator(,) ident(obj)operator(;) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(return)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) operator({) ident(st_table) operator(*)ident(old)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(clone)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(old)operator(\)\)) operator({) ident(st_free_table)operator(()ident(old)operator(\);) ident(st_insert)operator(()ident(generic_iv_tbl)operator(,) ident(clone)operator(,) operator(()ident(st_data_t)operator(\))ident(st_copy)operator(()ident(tbl)operator(\)\);) operator(}) reserved(else) operator({) ident(st_add_direct)operator(()ident(generic_iv_tbl)operator(,) ident(clone)operator(,) operator(()ident(st_data_t)operator(\))ident(st_copy)operator(()ident(tbl)operator(\)\);) operator(}) operator(}) operator(}) directive(static) ident(VALUE) ident(ivar_get)operator(()ident(obj)operator(,) ident(id)operator(,) ident(warn)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(warn)operator(;) operator({) ident(VALUE) ident(val)operator(;) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) operator(&)ident(val)operator(\)\)) reserved(return) ident(val)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)) operator(||) ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) reserved(return) ident(generic_ivar_get)operator(()ident(obj)operator(,) ident(id)operator(,) ident(warn)operator(\);) reserved(break)operator(;) operator(}) reserved(if) operator(()ident(warn)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) ident(VALUE) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(ivar_get)operator(()ident(obj)operator(,) ident(id)operator(,) ident(Qtrue)operator(\);) operator(}) ident(VALUE) ident(rb_attr_get)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(ivar_get)operator(()ident(obj)operator(,) ident(id)operator(,) ident(Qfalse)operator(\);) operator(}) ident(VALUE) ident(rb_ivar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(obj)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator((!)ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(\)) ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl) operator(=) ident(st_init_numtable)operator((\);) ident(st_insert)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) ident(val)operator(\);) reserved(break)operator(;) reserved(default)operator(:) ident(generic_ivar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(val)operator(;) operator(}) ident(VALUE) ident(rb_ivar_defined)operator(()ident(obj)operator(,) ident(id)operator(\)) ident(VALUE) ident(obj)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) integer(0)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)) operator(||) ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) reserved(return) ident(generic_ivar_defined)operator(()ident(obj)operator(,) ident(id)operator(\);) reserved(break)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(static) pre_type(int) ident(ivar_i)operator(()ident(key)operator(,) ident(entry)operator(,) ident(ary)operator(\)) ident(ID) ident(key)operator(;) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(rb_is_instance_id)operator(()ident(key)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(key)operator(\)\)\);) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * obj.instance_variables => array * * Returns an array of instance variable names for the receiver. Note * that simply defining an accessor does not create the corresponding * instance variable. * * class Fred * attr_accessor :a1 * def initialize * @iv = 3 * end * end * Fred.new.instance_variables #=> ["@iv"] */) ident(VALUE) ident(rb_obj_instance_variables)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary)operator(;) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(st_foreach_safe)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) ident(ivar_i)operator(,) ident(ary)operator(\);) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator((!)ident(generic_iv_tbl)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)) operator(||) ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(generic_iv_tbl)operator(,) ident(obj)operator(,) operator(()ident(st_data_t) operator(*\)&)ident(tbl)operator(\)\)) operator({) ident(st_foreach_safe)operator(()ident(tbl)operator(,) ident(ivar_i)operator(,) ident(ary)operator(\);) operator(}) operator(}) reserved(break)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * obj.remove_instance_variable(symbol\) => obj * * Removes the named instance variable from obj, returning that * variable's value. * * class Dummy * attr_reader :var * def initialize * @var = 99 * end * def remove * remove_instance_variable(:@var\) * end * end * d = Dummy.new * d.var #=> 99 * d.remove #=> 99 * d.var #=> nil */) ident(VALUE) ident(rb_obj_remove_instance_variable)operator(()ident(obj)operator(,) ident(name)operator(\)) ident(VALUE) ident(obj)operator(,) ident(name)operator(;) operator({) ident(VALUE) ident(val) operator(=) ident(Qnil)operator(;) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(obj)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(obj)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator((!)ident(rb_is_instance_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(switch) operator(()ident(TYPE)operator(()ident(obj)operator(\)\)) operator({) reserved(case) ident(T_OBJECT)operator(:) reserved(case) ident(T_CLASS)operator(:) reserved(case) ident(T_MODULE)operator(:) reserved(if) operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl) operator(&&) ident(st_delete)operator(()ident(ROBJECT)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(val)operator(;) operator(}) reserved(break)operator(;) reserved(default)operator(:) reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)) operator(||) ident(rb_special_const_p)operator(()ident(obj)operator(\)\)) operator({) reserved(if) operator(()ident(generic_ivar_remove)operator(()ident(obj)operator(,) ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(val)operator(;) operator(}) operator(}) reserved(break)operator(;) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) ident(NORETURN)operator(()directive(static) directive(void) ident(uninitialized_constant) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\)\);) directive(static) directive(void) ident(uninitialized_constant)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(if) operator(()ident(klass) operator(&&) ident(klass) operator(!=) ident(rb_cObject)operator(\)) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(klass)operator(\),) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(else) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) operator(}) directive(static) ident(VALUE) ident(const_missing)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_funcall)operator(()ident(klass)operator(,) ident(rb_intern)operator(()stringoperator(\),) integer(1)operator(,) ident(ID2SYM)operator(()ident(id)operator(\)\);) operator(}) comment(/* * call-seq: * mod.const_missing(sym\) => obj * * Invoked when a reference is made to an undefined constant in * mod. It is passed a symbol for the undefined constant, and * returns a value to be used for that constant. The * following code is a (very bad\) example: if reference is made to * an undefined constant, it attempts to load a file whose name is * the lowercase version of the constant (thus class Fred is * assumed to be in file fred.rb\). If found, it returns the * value of the loaded class. It therefore implements a perverse * kind of autoload facility. * * def Object.const_missing(name\) * @looked_for ||= {} * str_name = name.to_s * raise "Class not found: #{name}" if @looked_for[str_name] * @looked_for[str_name] = 1 * file = str_name.downcase * require file * klass = const_get(name\) * return klass if klass * raise "Class not found: #{name}" * end * */) ident(VALUE) ident(rb_mod_const_missing)operator(()ident(klass)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(,) ident(name)operator(;) operator({) ident(ruby_frame) operator(=) ident(ruby_frame)operator(->)ident(prev)operator(;) comment(/* pop frame for "const_missing" */) ident(uninitialized_constant)operator(()ident(klass)operator(,) ident(rb_to_id)operator(()ident(name)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) reserved(struct) ident(st_table) operator(*) ident(check_autoload_table)operator(()ident(av)operator(\)) ident(VALUE) ident(av)operator(;) operator({) ident(Check_Type)operator(()ident(av)operator(,) ident(T_DATA)operator(\);) reserved(if) operator(()ident(RDATA)operator(()ident(av)operator(\)->)ident(dmark) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(rb_mark_tbl) operator(||) ident(RDATA)operator(()ident(av)operator(\)->)ident(dfree) operator(!=) operator(()ident(RUBY_DATA_FUNC)operator(\))ident(st_free_table)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(RSTRING)operator(()ident(rb_inspect)operator(()ident(av)operator(\)\)->)ident(ptr)operator(\);) operator(}) reserved(return) operator(()reserved(struct) ident(st_table) operator(*\))ident(DATA_PTR)operator(()ident(av)operator(\);) operator(}) directive(void) ident(rb_autoload)operator(()ident(mod)operator(,) ident(id)operator(,) ident(file)operator(\)) ident(VALUE) ident(mod)operator(;) ident(ID) ident(id)operator(;) directive(const) pre_type(char) operator(*)ident(file)operator(;) operator({) ident(VALUE) ident(av)operator(,) ident(fn)operator(;) reserved(struct) ident(st_table) operator(*)ident(tbl)operator(;) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eNameError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(if) operator((!)ident(file) operator(||) operator(!*)ident(file)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((()ident(tbl) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(\)) operator(&&) ident(st_lookup)operator(()ident(tbl)operator(,) ident(id)operator(,) operator(&)ident(av)operator(\)) operator(&&) ident(av) operator(!=) ident(Qundef)operator(\)) reserved(return)operator(;) ident(rb_const_set)operator(()ident(mod)operator(,) ident(id)operator(,) ident(Qundef)operator(\);) ident(tbl) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(tbl)operator(,) ident(autoload)operator(,) operator(&)ident(av)operator(\)\)) operator({) ident(tbl) operator(=) ident(check_autoload_table)operator(()ident(av)operator(\);) operator(}) reserved(else) operator({) ident(av) operator(=) ident(Data_Wrap_Struct)operator(()integer(0) operator(,) ident(rb_mark_tbl)operator(,) ident(st_free_table)operator(,) integer(0)operator(\);) ident(st_add_direct)operator(()ident(tbl)operator(,) ident(autoload)operator(,) ident(av)operator(\);) ident(DATA_PTR)operator(()ident(av)operator(\)) operator(=) ident(tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) ident(fn) operator(=) ident(rb_str_new2)operator(()ident(file)operator(\);) ident(FL_UNSET)operator(()ident(fn)operator(,) ident(FL_TAINT)operator(\);) ident(OBJ_FREEZE)operator(()ident(fn)operator(\);) ident(st_insert)operator(()ident(tbl)operator(,) ident(id)operator(,) operator(()ident(st_data_t)operator(\))ident(rb_node_newnode)operator(()ident(NODE_MEMO)operator(,) ident(fn)operator(,) ident(ruby_safe_level)operator(,) integer(0)operator(\)\);) operator(}) directive(static) ident(NODE)operator(*) ident(autoload_delete)operator(()ident(mod)operator(,) ident(id)operator(\)) ident(VALUE) ident(mod)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(val)operator(;) ident(st_data_t) ident(load) operator(=) integer(0)operator(;) ident(st_delete)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) integer(0)operator(\);) reserved(if) operator(()ident(st_lookup)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) ident(autoload)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(struct) ident(st_table) operator(*)ident(tbl) operator(=) ident(check_autoload_table)operator(()ident(val)operator(\);) ident(st_delete)operator(()ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) operator(&)ident(load)operator(\);) reserved(if) operator(()ident(tbl)operator(->)ident(num_entries) operator(==) integer(0)operator(\)) operator({) ident(id) operator(=) ident(autoload)operator(;) ident(st_delete)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) operator(&)ident(val)operator(\);) operator(}) operator(}) reserved(return) operator(()ident(NODE) operator(*\))ident(load)operator(;) operator(}) ident(VALUE) ident(rb_autoload_load)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(file)operator(;) ident(NODE) operator(*)ident(load) operator(=) ident(autoload_delete)operator(()ident(klass)operator(,) ident(id)operator(\);) reserved(if) operator((!)ident(load) operator(||) operator(!()ident(file) operator(=) ident(load)operator(->)ident(nd_lit)operator(\)) operator(||) ident(rb_provided)operator(()ident(RSTRING)operator(()ident(file)operator(\)->)ident(ptr)operator(\)\)) operator({) reserved(return) ident(Qfalse)operator(;) operator(}) reserved(return) ident(rb_require_safe)operator(()ident(file)operator(,) ident(load)operator(->)ident(nd_nth)operator(\);) operator(}) directive(static) ident(VALUE) ident(autoload_file)operator(()ident(mod)operator(,) ident(id)operator(\)) ident(VALUE) ident(mod)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(val)operator(,) ident(file)operator(;) reserved(struct) ident(st_table) operator(*)ident(tbl)operator(;) ident(st_data_t) ident(load)operator(;) reserved(if) operator((!)ident(st_lookup)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) ident(autoload)operator(,) operator(&)ident(val)operator(\)) operator(||) operator(!()ident(tbl) operator(=) ident(check_autoload_table)operator(()ident(val)operator(\)\)) operator(||) operator(!)ident(st_lookup)operator(()ident(tbl)operator(,) ident(id)operator(,) operator(&)ident(load)operator(\)\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) ident(file) operator(=) operator((()ident(NODE) operator(*\))ident(load)operator(\)->)ident(nd_lit)operator(;) ident(Check_Type)operator(()ident(file)operator(,) ident(T_STRING)operator(\);) reserved(if) operator((!)ident(RSTRING)operator(()ident(file)operator(\)->)ident(ptr) operator(||) operator(!*)ident(RSTRING)operator(()ident(file)operator(\)->)ident(ptr)operator(\)) operator({) ident(rb_raise)operator(()ident(rb_eArgError)operator(,) stringoperator(\);) operator(}) reserved(if) operator((!)ident(rb_provided)operator(()ident(RSTRING)operator(()ident(file)operator(\)->)ident(ptr)operator(\)\)) operator({) reserved(return) ident(file)operator(;) operator(}) comment(/* already loaded but not defined */) ident(st_delete)operator(()ident(tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) integer(0)operator(\);) reserved(if) operator((!)ident(tbl)operator(->)ident(num_entries)operator(\)) operator({) ident(id) operator(=) ident(autoload)operator(;) ident(st_delete)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) operator(&)ident(val)operator(\);) operator(}) reserved(return) ident(Qnil)operator(;) operator(}) ident(VALUE) ident(rb_autoload_p)operator(()ident(mod)operator(,) ident(id)operator(\)) ident(VALUE) ident(mod)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(struct) ident(st_table) operator(*)ident(tbl) operator(=) ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(;) ident(VALUE) ident(val)operator(;) reserved(if) operator((!)ident(tbl) operator(||) operator(!)ident(st_lookup)operator(()ident(tbl)operator(,) ident(id)operator(,) operator(&)ident(val)operator(\)) operator(||) ident(val) operator(!=) ident(Qundef)operator(\)) operator({) reserved(return) ident(Qnil)operator(;) operator(}) reserved(return) ident(autoload_file)operator(()ident(mod)operator(,) ident(id)operator(\);) operator(}) directive(static) ident(VALUE) ident(rb_const_get_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(exclude)operator(,) ident(recurse)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(exclude)operator(,) ident(recurse)operator(;) operator({) ident(VALUE) ident(value)operator(,) ident(tmp)operator(;) pre_type(int) ident(mod_retry) operator(=) integer(0)operator(;) ident(tmp) operator(=) ident(klass)operator(;) label(retry:) reserved(while) operator(()ident(tmp)operator(\)) operator({) reserved(while) operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(,)ident(id)operator(,&)ident(value)operator(\)\)) operator({) reserved(if) operator(()ident(value) operator(==) ident(Qundef)operator(\)) operator({) reserved(if) operator((!)ident(RTEST)operator(()ident(rb_autoload_load)operator(()ident(tmp)operator(,) ident(id)operator(\)\)\)) reserved(break)operator(;) reserved(continue)operator(;) operator(}) reserved(if) operator(()ident(exclude) operator(&&) ident(tmp) operator(==) ident(rb_cObject) operator(&&) ident(klass) operator(!=) ident(rb_cObject)operator(\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(rb_class2name)operator(()ident(klass)operator(\),) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(return) ident(value)operator(;) operator(}) reserved(if) operator((!)ident(recurse) operator(&&) ident(klass) operator(!=) ident(rb_cObject)operator(\)) reserved(break)operator(;) ident(tmp) operator(=) ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(super)operator(;) operator(}) reserved(if) operator((!)ident(exclude) operator(&&) operator(!)ident(mod_retry) operator(&&) ident(BUILTIN_TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(mod_retry) operator(=) integer(1)operator(;) ident(tmp) operator(=) ident(rb_cObject)operator(;) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) ident(const_missing)operator(()ident(klass)operator(,) ident(id)operator(\);) operator(}) ident(VALUE) ident(rb_const_get_from)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_const_get_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(Qtrue)operator(,) ident(Qtrue)operator(\);) operator(}) ident(VALUE) ident(rb_const_get)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_const_get_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(Qfalse)operator(,) ident(Qtrue)operator(\);) operator(}) ident(VALUE) ident(rb_const_get_at)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_const_get_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(Qtrue)operator(,) ident(Qfalse)operator(\);) operator(}) comment(/* * call-seq: * remove_const(sym\) => obj * * Removes the definition of the given constant, returning that * constant's value. Predefined classes and singleton objects (such as * true\) cannot be removed. */) ident(VALUE) ident(rb_mod_remove_const)operator(()ident(mod)operator(,) ident(name)operator(\)) ident(VALUE) ident(mod)operator(,) ident(name)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(name)operator(\);) ident(VALUE) ident(val)operator(;) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(mod)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(mod)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl) operator(&&) ident(st_delete)operator(()ident(ROBJECT)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(if) operator(()ident(val) operator(==) ident(Qundef)operator(\)) operator({) ident(autoload_delete)operator(()ident(mod)operator(,) ident(id)operator(\);) ident(val) operator(=) ident(Qnil)operator(;) operator(}) reserved(return) ident(val)operator(;) operator(}) reserved(if) operator(()ident(rb_const_defined_at)operator(()ident(mod)operator(,) ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(mod)operator(\),) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_class2name)operator(()ident(mod)operator(\),) ident(rb_id2name)operator(()ident(id)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) directive(static) pre_type(int) ident(sv_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(tbl)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(;) ident(st_table) operator(*)ident(tbl)operator(;) operator({) reserved(if) operator(()ident(rb_is_const_id)operator(()ident(key)operator(\)\)) operator({) reserved(if) operator((!)ident(st_lookup)operator(()ident(tbl)operator(,) ident(key)operator(,) integer(0)operator(\)\)) operator({) ident(st_insert)operator(()ident(tbl)operator(,) ident(key)operator(,) ident(key)operator(\);) operator(}) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) directive(void)operator(*) ident(rb_mod_const_at)operator(()ident(mod)operator(,) ident(data)operator(\)) ident(VALUE) ident(mod)operator(;) directive(void) operator(*)ident(data)operator(;) operator({) ident(st_table) operator(*)ident(tbl) operator(=) ident(data)operator(;) reserved(if) operator((!)ident(tbl)operator(\)) operator({) ident(tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) reserved(if) operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(st_foreach_safe)operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) ident(sv_i)operator(,) operator(()ident(st_data_t)operator(\))ident(tbl)operator(\);) operator(}) reserved(return) ident(tbl)operator(;) operator(}) directive(void)operator(*) ident(rb_mod_const_of)operator(()ident(mod)operator(,) ident(data)operator(\)) ident(VALUE) ident(mod)operator(;) directive(void) operator(*)ident(data)operator(;) operator({) ident(VALUE) ident(tmp) operator(=) ident(mod)operator(;) reserved(for) operator((;;\)) operator({) ident(data) operator(=) ident(rb_mod_const_at)operator(()ident(tmp)operator(,) ident(data)operator(\);) ident(tmp) operator(=) ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(super)operator(;) reserved(if) operator((!)ident(tmp)operator(\)) reserved(break)operator(;) reserved(if) operator(()ident(tmp) operator(==) ident(rb_cObject) operator(&&) ident(mod) operator(!=) ident(rb_cObject)operator(\)) reserved(break)operator(;) operator(}) reserved(return) ident(data)operator(;) operator(}) directive(static) pre_type(int) ident(list_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) ident(ID) ident(key)operator(,) ident(value)operator(;) ident(VALUE) ident(ary)operator(;) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(key)operator(\)\)\);) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) ident(VALUE) ident(rb_const_list)operator(()ident(data)operator(\)) directive(void) operator(*)ident(data)operator(;) operator({) ident(st_table) operator(*)ident(tbl) operator(=) ident(data)operator(;) ident(VALUE) ident(ary)operator(;) reserved(if) operator((!)ident(tbl)operator(\)) reserved(return) ident(rb_ary_new2)operator(()integer(0)operator(\);) ident(ary) operator(=) ident(rb_ary_new2)operator(()ident(tbl)operator(->)ident(num_entries)operator(\);) ident(st_foreach)operator(()ident(tbl)operator(,) ident(list_i)operator(,) ident(ary)operator(\);) ident(st_free_table)operator(()ident(tbl)operator(\);) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * mod.constants => array * * Returns an array of the names of the constants accessible in * mod. This includes the names of constants in any included * modules (example at start of section\). */) ident(VALUE) ident(rb_mod_constants)operator(()ident(mod)operator(\)) ident(VALUE) ident(mod)operator(;) operator({) reserved(return) ident(rb_const_list)operator(()ident(rb_mod_const_of)operator(()ident(mod)operator(,) integer(0)operator(\)\);) operator(}) directive(static) pre_type(int) ident(rb_const_defined_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(exclude)operator(,) ident(recurse)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) pre_type(int) ident(exclude)operator(,) ident(recurse)operator(;) operator({) ident(VALUE) ident(value)operator(,) ident(tmp)operator(;) pre_type(int) ident(mod_retry) operator(=) integer(0)operator(;) ident(tmp) operator(=) ident(klass)operator(;) label(retry:) reserved(while) operator(()ident(tmp)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) operator(&)ident(value)operator(\)\)) operator({) reserved(if) operator(()ident(value) operator(==) ident(Qundef) operator(&&) ident(NIL_P)operator(()ident(autoload_file)operator(()ident(klass)operator(,) ident(id)operator(\)\)\)) reserved(return) ident(Qfalse)operator(;) reserved(return) ident(Qtrue)operator(;) operator(}) reserved(if) operator((!)ident(recurse) operator(&&) ident(klass) operator(!=) ident(rb_cObject)operator(\)) reserved(break)operator(;) ident(tmp) operator(=) ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(super)operator(;) operator(}) reserved(if) operator((!)ident(exclude) operator(&&) operator(!)ident(mod_retry) operator(&&) ident(BUILTIN_TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(mod_retry) operator(=) integer(1)operator(;) ident(tmp) operator(=) ident(rb_cObject)operator(;) reserved(goto) ident(retry)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) pre_type(int) ident(rb_const_defined_from)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_const_defined_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(Qtrue)operator(,) ident(Qtrue)operator(\);) operator(}) pre_type(int) ident(rb_const_defined)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_const_defined_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(Qfalse)operator(,) ident(Qtrue)operator(\);) operator(}) pre_type(int) ident(rb_const_defined_at)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) reserved(return) ident(rb_const_defined_0)operator(()ident(klass)operator(,) ident(id)operator(,) ident(Qtrue)operator(,) ident(Qfalse)operator(\);) operator(}) directive(static) directive(void) ident(mod_av_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(,) ident(isconst)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) pre_type(int) ident(isconst)operator(;) operator({) pre_type(char) operator(*)ident(dest) operator(=) ident(isconst) operator(?) string operator(:) stringoperator(;) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(klass)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(,) ident(dest)operator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(klass)operator(\)\)) operator({) reserved(if) operator(()ident(BUILTIN_TYPE)operator(()ident(klass)operator(\)) operator(==) ident(T_MODULE)operator(\)) operator({) ident(rb_error_frozen)operator(()stringoperator(\);) operator(}) reserved(else) operator({) ident(rb_error_frozen)operator(()stringoperator(\);) operator(}) operator(}) reserved(if) operator((!)ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl) operator(=) ident(st_init_numtable)operator((\);) operator(}) reserved(else) reserved(if) operator(()ident(isconst)operator(\)) operator({) ident(VALUE) ident(value) operator(=) ident(Qfalse)operator(;) reserved(if) operator(()ident(st_lookup)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) operator(&)ident(value)operator(\)\)) operator({) reserved(if) operator(()ident(value) operator(==) ident(Qundef)operator(\)) ident(autoload_delete)operator(()ident(klass)operator(,) ident(id)operator(\);) reserved(else) ident(rb_warn)operator(()stringoperator(,) ident(dest)operator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) operator(}) ident(st_insert)operator(()ident(RCLASS)operator(()ident(klass)operator(\)->)ident(iv_tbl)operator(,) ident(id)operator(,) ident(val)operator(\);) operator(}) directive(void) ident(rb_const_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) operator({) reserved(if) operator(()ident(NIL_P)operator(()ident(klass)operator(\)\)) operator({) ident(rb_raise)operator(()ident(rb_eTypeError)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(mod_av_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(,) ident(Qtrue)operator(\);) operator(}) directive(void) ident(rb_define_const)operator(()ident(klass)operator(,) ident(name)operator(,) ident(val)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_const_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_warn)operator(()stringoperator(,) ident(name)operator(\);) operator(}) reserved(if) operator(()ident(klass) operator(==) ident(rb_cObject)operator(\)) operator({) ident(rb_secure)operator(()integer(4)operator(\);) operator(}) ident(rb_const_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(\);) operator(}) directive(void) ident(rb_define_global_const)operator(()ident(name)operator(,) ident(val)operator(\)) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(rb_define_const)operator(()ident(rb_cObject)operator(,) ident(name)operator(,) ident(val)operator(\);) operator(}) directive(static) ident(VALUE) ident(original_module)operator(()ident(c)operator(\)) ident(VALUE) ident(c)operator(;) operator({) reserved(if) operator(()ident(TYPE)operator(()ident(c)operator(\)) operator(==) ident(T_ICLASS)operator(\)) reserved(return) ident(RBASIC)operator(()ident(c)operator(\)->)ident(klass)operator(;) reserved(return) ident(c)operator(;) operator(}) directive(static) directive(void) ident(cvar_override_check)operator(()ident(id)operator(,) ident(a)operator(\)) ident(ID) ident(id)operator(;) ident(VALUE) ident(a)operator(;) operator({) ident(VALUE) ident(base) operator(=) ident(original_module)operator(()ident(a)operator(\);) ident(a) operator(=) ident(RCLASS)operator(()ident(a)operator(\)->)ident(super)operator(;) reserved(while) operator(()ident(a)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(a)operator(\)->)ident(iv_tbl)operator(\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(RCLASS)operator(()ident(a)operator(\)->)ident(iv_tbl)operator(,)ident(id)operator(,)integer(0)operator(\)\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(rb_class2name)operator(()ident(original_module)operator(()ident(a)operator(\)\),) ident(rb_class2name)operator(()ident(base)operator(\)\);) operator(}) operator(}) ident(a) operator(=) ident(RCLASS)operator(()ident(a)operator(\)->)ident(super)operator(;) operator(}) operator(}) directive(void) ident(rb_cvar_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(,) ident(warn)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) pre_type(int) ident(warn)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(klass)operator(;) reserved(while) operator(()ident(tmp)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(,)ident(id)operator(,)integer(0)operator(\)\)) operator({) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(tmp)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(tmp)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(warn) operator(&&) ident(RTEST)operator(()ident(ruby_verbose)operator(\)) operator(&&) ident(klass) operator(!=) ident(tmp)operator(\)) operator({) ident(rb_warning)operator(()stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) ident(st_insert)operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(,)ident(id)operator(,)ident(val)operator(\);) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) operator({) ident(cvar_override_check)operator(()ident(id)operator(,) ident(tmp)operator(\);) operator(}) reserved(return)operator(;) operator(}) ident(tmp) operator(=) ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(super)operator(;) operator(}) ident(mod_av_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(,) ident(Qfalse)operator(\);) operator(}) ident(VALUE) ident(rb_cvar_get)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(value)operator(;) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(klass)operator(;) reserved(while) operator(()ident(tmp)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(\)) operator({) reserved(if) operator(()ident(st_lookup)operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(,)ident(id)operator(,&)ident(value)operator(\)\)) operator({) reserved(if) operator(()ident(RTEST)operator(()ident(ruby_verbose)operator(\)\)) operator({) ident(cvar_override_check)operator(()ident(id)operator(,) ident(tmp)operator(\);) operator(}) reserved(return) ident(value)operator(;) operator(}) operator(}) ident(tmp) operator(=) ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(super)operator(;) operator(}) ident(rb_name_error)operator(()ident(id)operator(,)stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(rb_class2name)operator(()ident(klass)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) ident(VALUE) ident(rb_cvar_defined)operator(()ident(klass)operator(,) ident(id)operator(\)) ident(VALUE) ident(klass)operator(;) ident(ID) ident(id)operator(;) operator({) ident(VALUE) ident(tmp)operator(;) ident(tmp) operator(=) ident(klass)operator(;) reserved(while) operator(()ident(tmp)operator(\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl) operator(&&) ident(st_lookup)operator(()ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(iv_tbl)operator(,)ident(id)operator(,)integer(0)operator(\)\)) operator({) reserved(return) ident(Qtrue)operator(;) operator(}) ident(tmp) operator(=) ident(RCLASS)operator(()ident(tmp)operator(\)->)ident(super)operator(;) operator(}) reserved(return) ident(Qfalse)operator(;) operator(}) directive(void) ident(rb_cv_set)operator(()ident(klass)operator(,) ident(name)operator(,) ident(val)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) ident(rb_cvar_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(,) ident(Qfalse)operator(\);) operator(}) ident(VALUE) ident(rb_cv_get)operator(()ident(klass)operator(,) ident(name)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) reserved(return) ident(rb_cvar_get)operator(()ident(klass)operator(,) ident(id)operator(\);) operator(}) directive(void) ident(rb_define_class_variable)operator(()ident(klass)operator(,) ident(name)operator(,) ident(val)operator(\)) ident(VALUE) ident(klass)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(name)operator(\);) operator(}) ident(rb_cvar_set)operator(()ident(klass)operator(,) ident(id)operator(,) ident(val)operator(,) ident(Qtrue)operator(\);) operator(}) directive(static) pre_type(int) ident(cv_i)operator(()ident(key)operator(,) ident(value)operator(,) ident(ary)operator(\)) ident(ID) ident(key)operator(;) ident(VALUE) ident(value)operator(;) ident(VALUE) ident(ary)operator(;) operator({) reserved(if) operator(()ident(rb_is_class_id)operator(()ident(key)operator(\)\)) operator({) ident(VALUE) ident(kval) operator(=) ident(rb_str_new2)operator(()ident(rb_id2name)operator(()ident(key)operator(\)\);) reserved(if) operator((!)ident(rb_ary_includes)operator(()ident(ary)operator(,) ident(kval)operator(\)\)) operator({) ident(rb_ary_push)operator(()ident(ary)operator(,) ident(kval)operator(\);) operator(}) operator(}) reserved(return) ident(ST_CONTINUE)operator(;) operator(}) comment(/* * call-seq: * mod.class_variables => array * * Returns an array of the names of class variables in mod and * the ancestors of mod. * * class One * @@var1 = 1 * end * class Two < One * @@var2 = 2 * end * One.class_variables #=> ["@@var1"] * Two.class_variables #=> ["@@var2", "@@var1"] */) ident(VALUE) ident(rb_mod_class_variables)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) operator({) ident(VALUE) ident(ary) operator(=) ident(rb_ary_new)operator((\);) reserved(for) operator((;;\)) operator({) reserved(if) operator(()ident(RCLASS)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(\)) operator({) ident(st_foreach_safe)operator(()ident(RCLASS)operator(()ident(obj)operator(\)->)ident(iv_tbl)operator(,) ident(cv_i)operator(,) ident(ary)operator(\);) operator(}) ident(obj) operator(=) ident(RCLASS)operator(()ident(obj)operator(\)->)ident(super)operator(;) reserved(if) operator((!)ident(obj)operator(\)) reserved(break)operator(;) operator(}) reserved(return) ident(ary)operator(;) operator(}) comment(/* * call-seq: * remove_class_variable(sym\) => obj * * Removes the definition of the sym, returning that * constant's value. * * class Dummy * @@var = 99 * puts @@var * remove_class_variable(:@@var\) * puts(defined? @@var\) * end * * produces: * * 99 * nil */) ident(VALUE) ident(rb_mod_remove_cvar)operator(()ident(mod)operator(,) ident(name)operator(\)) ident(VALUE) ident(mod)operator(,) ident(name)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_to_id)operator(()ident(name)operator(\);) ident(VALUE) ident(val)operator(;) reserved(if) operator((!)ident(rb_is_class_id)operator(()ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\)\);) operator(}) reserved(if) operator((!)ident(OBJ_TAINTED)operator(()ident(mod)operator(\)) operator(&&) ident(rb_safe_level)operator((\)) operator(>=) integer(4)operator(\)) ident(rb_raise)operator(()ident(rb_eSecurityError)operator(,) stringoperator(\);) reserved(if) operator(()ident(OBJ_FROZEN)operator(()ident(mod)operator(\)\)) ident(rb_error_frozen)operator(()stringoperator(\);) reserved(if) operator(()ident(RCLASS)operator(()ident(mod)operator(\)->)ident(iv_tbl) operator(&&) ident(st_delete)operator(()ident(ROBJECT)operator(()ident(mod)operator(\)->)ident(iv_tbl)operator(,) operator(()ident(st_data_t)operator(*\)&)ident(id)operator(,) operator(&)ident(val)operator(\)\)) operator({) reserved(return) ident(val)operator(;) operator(}) reserved(if) operator(()ident(rb_cvar_defined)operator(()ident(mod)operator(,) ident(id)operator(\)\)) operator({) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(rb_class2name)operator(()ident(mod)operator(\)\);) operator(}) ident(rb_name_error)operator(()ident(id)operator(,) stringoperator(,) ident(rb_id2name)operator(()ident(id)operator(\),) ident(rb_class2name)operator(()ident(mod)operator(\)\);) reserved(return) ident(Qnil)operator(;) comment(/* not reached */) operator(}) ident(VALUE) ident(rb_iv_get)operator(()ident(obj)operator(,) ident(name)operator(\)) ident(VALUE) ident(obj)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(return) ident(rb_ivar_get)operator(()ident(obj)operator(,) ident(id)operator(\);) operator(}) ident(VALUE) ident(rb_iv_set)operator(()ident(obj)operator(,) ident(name)operator(,) ident(val)operator(\)) ident(VALUE) ident(obj)operator(;) directive(const) pre_type(char) operator(*)ident(name)operator(;) ident(VALUE) ident(val)operator(;) operator({) ident(ID) ident(id) operator(=) ident(rb_intern)operator(()ident(name)operator(\);) reserved(return) ident(rb_ivar_set)operator(()ident(obj)operator(,) ident(id)operator(,) ident(val)operator(\);) operator(}) comment(/********************************************************************** version.c - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Thu Sep 30 20:08:01 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#include) include("ruby.h") preprocessor(#include) include("version.h") preprocessor(#include) include() directive(const) pre_type(char) ident(ruby_version)operator([]) operator(=) ident(RUBY_VERSION)operator(;) directive(const) pre_type(char) ident(ruby_release_date)operator([]) operator(=) ident(RUBY_RELEASE_DATE)operator(;) directive(const) pre_type(char) ident(ruby_platform)operator([]) operator(=) ident(RUBY_PLATFORM)operator(;) directive(const) pre_type(int) ident(ruby_patchlevel) operator(=) ident(RUBY_PATCHLEVEL)operator(;) directive(void) ident(Init_version)operator((\)) operator({) ident(VALUE) ident(v) operator(=) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()ident(ruby_version)operator(\)\);) ident(VALUE) ident(d) operator(=) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()ident(ruby_release_date)operator(\)\);) ident(VALUE) ident(p) operator(=) ident(rb_obj_freeze)operator(()ident(rb_str_new2)operator(()ident(ruby_platform)operator(\)\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(v)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(d)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(p)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(INT2FIX)operator(()ident(RUBY_PATCHLEVEL)operator(\)\);) comment(/* obsolete constants */) ident(rb_define_global_const)operator(()stringoperator(,) ident(v)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(d)operator(\);) ident(rb_define_global_const)operator(()stringoperator(,) ident(p)operator(\);) operator(}) directive(void) ident(ruby_show_version)operator((\)) operator({) ident(printf)operator(()stringoperator(,) ident(RUBY_VERSION)operator(,) ident(RUBY_RELEASE_DATE)operator(,) ident(RUBY_PATCHLEVEL)operator(,) ident(RUBY_PLATFORM)operator(\);) ident(fflush)operator(()ident(stdout)operator(\);) operator(}) directive(void) ident(ruby_show_copyright)operator((\)) operator({) ident(printf)operator(()stringoperator(,) ident(RUBY_RELEASE_YEAR)operator(\);) ident(exit)operator(()integer(0)operator(\);) operator(}) preprocessor(#define) ident(PACKAGE_NAME) string preprocessor(#define) ident(PACKAGE_TARNAME) string preprocessor(#define) ident(PACKAGE_VERSION) string preprocessor(#define) ident(PACKAGE_STRING) string preprocessor(#define) ident(PACKAGE_BUGREPORT) string preprocessor(#define) ident(USE_BUILTIN_FRAME_ADDRESS) integer(1) preprocessor(#define) ident(STDC_HEADERS) integer(1) preprocessor(#define) ident(HAVE_SYS_TYPES_H) integer(1) preprocessor(#define) ident(HAVE_SYS_STAT_H) integer(1) preprocessor(#define) ident(HAVE_STDLIB_H) integer(1) preprocessor(#define) ident(HAVE_STRING_H) integer(1) preprocessor(#define) ident(HAVE_MEMORY_H) integer(1) preprocessor(#define) ident(HAVE_STRINGS_H) integer(1) preprocessor(#define) ident(HAVE_INTTYPES_H) integer(1) preprocessor(#define) ident(HAVE_STDINT_H) integer(1) preprocessor(#define) ident(HAVE_UNISTD_H) integer(1) preprocessor(#define) ident(HAVE_LONG_LONG) integer(1) preprocessor(#define) ident(HAVE_OFF_T) integer(1) preprocessor(#define) ident(SIZEOF_INT) integer(4) preprocessor(#define) ident(SIZEOF_SHORT) integer(2) preprocessor(#define) ident(SIZEOF_LONG) integer(4) preprocessor(#define) ident(SIZEOF_LONG_LONG) integer(8) preprocessor(#define) ident(SIZEOF___INT64) integer(0) preprocessor(#define) ident(SIZEOF_OFF_T) integer(8) preprocessor(#define) ident(SIZEOF_VOIDP) integer(4) preprocessor(#define) ident(SIZEOF_FLOAT) integer(4) preprocessor(#define) ident(SIZEOF_DOUBLE) integer(8) preprocessor(#define) ident(SIZEOF_TIME_T) integer(4) preprocessor(#define) ident(rb_pid_t) ident(pid_t) preprocessor(#define) ident(rb_gid_t) ident(gid_t) preprocessor(#define) ident(rb_uid_t) ident(uid_t) preprocessor(#define) ident(HAVE_PROTOTYPES) integer(1) preprocessor(#define) ident(TOKEN_PASTE)operator(()ident(x)operator(,)ident(y)operator(\)) ident(x)preprocessor(#)preprocessor(#y) preprocessor(#define) ident(HAVE_STDARG_PROTOTYPES) integer(1) preprocessor(#define) ident(NORETURN)operator(()ident(x)operator(\)) ident(__attribute__) operator((()ident(noreturn)operator(\)\)) ident(x) preprocessor(#define) ident(NOINLINE)operator(()ident(x)operator(\)) ident(__attribute__) operator((()ident(noinline)operator(\)\)) ident(x) preprocessor(#define) ident(HAVE_DECL_SYS_NERR) integer(1) preprocessor(#define) ident(HAVE_LIBDL) integer(1) preprocessor(#define) ident(HAVE_DIRENT_H) integer(1) preprocessor(#define) ident(STDC_HEADERS) integer(1) preprocessor(#define) ident(HAVE_SYS_WAIT_H) integer(1) preprocessor(#define) ident(HAVE_STDLIB_H) integer(1) preprocessor(#define) ident(HAVE_STRING_H) integer(1) preprocessor(#define) ident(HAVE_UNISTD_H) integer(1) preprocessor(#define) ident(HAVE_LIMITS_H) integer(1) preprocessor(#define) ident(HAVE_SYS_FILE_H) integer(1) preprocessor(#define) ident(HAVE_SYS_IOCTL_H) integer(1) preprocessor(#define) ident(HAVE_SYS_SYSCALL_H) integer(1) preprocessor(#define) ident(HAVE_FCNTL_H) integer(1) preprocessor(#define) ident(HAVE_SYS_FCNTL_H) integer(1) preprocessor(#define) ident(HAVE_SYS_SELECT_H) integer(1) preprocessor(#define) ident(HAVE_SYS_TIME_H) integer(1) preprocessor(#define) ident(HAVE_SYS_TIMES_H) integer(1) preprocessor(#define) ident(HAVE_SYS_PARAM_H) integer(1) preprocessor(#define) ident(HAVE_PWD_H) integer(1) preprocessor(#define) ident(HAVE_GRP_H) integer(1) preprocessor(#define) ident(HAVE_UTIME_H) integer(1) preprocessor(#define) ident(HAVE_MEMORY_H) integer(1) preprocessor(#define) ident(HAVE_SYS_RESOURCE_H) integer(1) preprocessor(#define) ident(HAVE_NETINET_IN_SYSTM_H) integer(1) preprocessor(#define) ident(HAVE_FLOAT_H) integer(1) preprocessor(#define) ident(HAVE_PTHREAD_H) integer(1) preprocessor(#define) ident(HAVE_UCONTEXT_H) integer(1) preprocessor(#define) ident(SIZEOF_RLIM_T) integer(8) preprocessor(#define) ident(HAVE_STRUCT_STAT_ST_BLKSIZE) integer(1) preprocessor(#define) ident(HAVE_ST_BLKSIZE) integer(1) preprocessor(#define) ident(HAVE_STRUCT_STAT_ST_BLOCKS) integer(1) preprocessor(#define) ident(HAVE_ST_BLOCKS) integer(1) preprocessor(#define) ident(HAVE_STRUCT_STAT_ST_RDEV) integer(1) preprocessor(#define) ident(HAVE_ST_RDEV) integer(1) preprocessor(#define) ident(GETGROUPS_T) ident(gid_t) preprocessor(#define) ident(RETSIGTYPE) directive(void) preprocessor(#define) ident(HAVE_ALLOCA_H) integer(1) preprocessor(#define) ident(HAVE_ALLOCA) integer(1) preprocessor(#define) ident(HAVE_FSEEKO) integer(1) preprocessor(#define) ident(HAVE_FTELLO) integer(1) preprocessor(#define) ident(HAVE_DUP2) integer(1) preprocessor(#define) ident(HAVE_MEMMOVE) integer(1) preprocessor(#define) ident(HAVE_STRCASECMP) integer(1) preprocessor(#define) ident(HAVE_STRNCASECMP) integer(1) preprocessor(#define) ident(HAVE_STRERROR) integer(1) preprocessor(#define) ident(HAVE_STRFTIME) integer(1) preprocessor(#define) ident(HAVE_STRCHR) integer(1) preprocessor(#define) ident(HAVE_STRSTR) integer(1) preprocessor(#define) ident(HAVE_STRTOUL) integer(1) preprocessor(#define) ident(HAVE_CRYPT) integer(1) preprocessor(#define) ident(HAVE_FLOCK) integer(1) preprocessor(#define) ident(HAVE_VSNPRINTF) integer(1) preprocessor(#define) ident(HAVE_ISNAN) integer(1) preprocessor(#define) ident(HAVE_FINITE) integer(1) preprocessor(#define) ident(HAVE_ISINF) integer(1) preprocessor(#define) ident(HAVE_HYPOT) integer(1) preprocessor(#define) ident(HAVE_ACOSH) integer(1) preprocessor(#define) ident(HAVE_ERF) integer(1) preprocessor(#define) ident(HAVE_FMOD) integer(1) preprocessor(#define) ident(HAVE_KILLPG) integer(1) preprocessor(#define) ident(HAVE_WAIT4) integer(1) preprocessor(#define) ident(HAVE_WAITPID) integer(1) preprocessor(#define) ident(HAVE_SYSCALL) integer(1) preprocessor(#define) ident(HAVE_CHROOT) integer(1) preprocessor(#define) ident(HAVE_FSYNC) integer(1) preprocessor(#define) ident(HAVE_GETCWD) integer(1) preprocessor(#define) ident(HAVE_TRUNCATE) integer(1) preprocessor(#define) ident(HAVE_FTRUNCATE) integer(1) preprocessor(#define) ident(HAVE_TIMES) integer(1) preprocessor(#define) ident(HAVE_UTIMES) integer(1) preprocessor(#define) ident(HAVE_FCNTL) integer(1) preprocessor(#define) ident(HAVE_LOCKF) integer(1) preprocessor(#define) ident(HAVE_LSTAT) integer(1) preprocessor(#define) ident(HAVE_SYMLINK) integer(1) preprocessor(#define) ident(HAVE_LINK) integer(1) preprocessor(#define) ident(HAVE_READLINK) integer(1) preprocessor(#define) ident(HAVE_SETITIMER) integer(1) preprocessor(#define) ident(HAVE_SETRUID) integer(1) preprocessor(#define) ident(HAVE_SETEUID) integer(1) preprocessor(#define) ident(HAVE_SETREUID) integer(1) preprocessor(#define) ident(HAVE_SETRGID) integer(1) preprocessor(#define) ident(HAVE_SETEGID) integer(1) preprocessor(#define) ident(HAVE_SETREGID) integer(1) preprocessor(#define) ident(HAVE_ISSETUGID) integer(1) preprocessor(#define) ident(HAVE_PAUSE) integer(1) preprocessor(#define) ident(HAVE_LCHOWN) integer(1) preprocessor(#define) ident(HAVE_LCHMOD) integer(1) preprocessor(#define) ident(HAVE_GETPGRP) integer(1) preprocessor(#define) ident(HAVE_SETPGRP) integer(1) preprocessor(#define) ident(HAVE_GETPGID) integer(1) preprocessor(#define) ident(HAVE_SETPGID) integer(1) preprocessor(#define) ident(HAVE_INITGROUPS) integer(1) preprocessor(#define) ident(HAVE_GETGROUPS) integer(1) preprocessor(#define) ident(HAVE_SETGROUPS) integer(1) preprocessor(#define) ident(HAVE_GETPRIORITY) integer(1) preprocessor(#define) ident(HAVE_GETRLIMIT) integer(1) preprocessor(#define) ident(HAVE_SETRLIMIT) integer(1) preprocessor(#define) ident(HAVE_SYSCONF) integer(1) preprocessor(#define) ident(HAVE_DLOPEN) integer(1) preprocessor(#define) ident(HAVE_SIGPROCMASK) integer(1) preprocessor(#define) ident(HAVE_SIGACTION) integer(1) preprocessor(#define) ident(HAVE__SETJMP) integer(1) preprocessor(#define) ident(HAVE_SETSID) integer(1) preprocessor(#define) ident(HAVE_TELLDIR) integer(1) preprocessor(#define) ident(HAVE_SEEKDIR) integer(1) preprocessor(#define) ident(HAVE_FCHMOD) integer(1) preprocessor(#define) ident(HAVE_MKTIME) integer(1) preprocessor(#define) ident(HAVE_TIMEGM) integer(1) preprocessor(#define) ident(HAVE_GETTIMEOFDAY) integer(1) preprocessor(#define) ident(HAVE_COSH) integer(1) preprocessor(#define) ident(HAVE_SINH) integer(1) preprocessor(#define) ident(HAVE_TANH) integer(1) preprocessor(#define) ident(HAVE_ROUND) integer(1) preprocessor(#define) ident(HAVE_SETUID) integer(1) preprocessor(#define) ident(HAVE_SETGID) integer(1) preprocessor(#define) ident(HAVE_SETENV) integer(1) preprocessor(#define) ident(HAVE_UNSETENV) integer(1) preprocessor(#define) ident(HAVE_STRUCT_TM_TM_ZONE) integer(1) preprocessor(#define) ident(HAVE_TM_ZONE) integer(1) preprocessor(#define) ident(HAVE_STRUCT_TM_TM_GMTOFF) integer(1) preprocessor(#define) ident(HAVE_DAYLIGHT) integer(1) preprocessor(#define) ident(HAVE_VAR_TIMEZONE) integer(1) preprocessor(#define) ident(TYPEOF_VAR_TIMEZONE) pre_type(long) preprocessor(#define) ident(NEGATIVE_TIME_T) integer(1) preprocessor(#define) ident(POSIX_SIGNAL) integer(1) preprocessor(#define) ident(GETPGRP_VOID) integer(1) preprocessor(#define) ident(SETPGRP_VOID) integer(1) preprocessor(#define) ident(RSHIFT)operator(()ident(x)operator(,)ident(y)operator(\)) operator((()ident(x)operator(\)>>()pre_type(int)operator(\))ident(y)operator(\)) preprocessor(#define) ident(FILE_COUNT) ident(_r) preprocessor(#define) ident(FILE_READPTR) ident(_p) preprocessor(#define) ident(NEED_IO_SEEK_BETWEEN_RW) integer(1) preprocessor(#define) ident(HAVE__SC_CLK_TCK) integer(1) preprocessor(#define) ident(STACK_GROW_DIRECTION) operator(-)integer(1) preprocessor(#define) ident(DEFAULT_KCODE) ident(KCODE_NONE) preprocessor(#define) ident(DLEXT_MAXLEN) integer(7) preprocessor(#define) ident(DLEXT) string preprocessor(#define) ident(RUBY_LIB) string preprocessor(#define) ident(RUBY_SITE_LIB) string preprocessor(#define) ident(RUBY_SITE_LIB2) string preprocessor(#define) ident(RUBY_PLATFORM) string preprocessor(#define) ident(RUBY_ARCHLIB) string preprocessor(#define) ident(RUBY_SITE_ARCHLIB) string comment(/************************************************ defines.h - $Author: shyouhei $ $Date: 2008-06-15 16:06:16 +0200 (Sun, 15 Jun 2008\) $ created at: Wed May 18 00:21:44 JST 1994 ************************************************/) preprocessor(#ifndef) ident(DEFINES_H) preprocessor(#define) ident(DEFINES_H) preprocessor(#define) ident(RUBY) preprocessor(#ifdef) ident(__cplusplus) preprocessor(# ifndef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(HAVE_PROTOTYPES) integer(1) preprocessor(# endif) preprocessor(# ifndef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(# define) ident(HAVE_STDARG_PROTOTYPES) integer(1) preprocessor(# endif) preprocessor(#endif) preprocessor(#undef) ident(_) preprocessor(#ifdef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) ident(args) preprocessor(#else) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) operator((\)) preprocessor(#endif) preprocessor(#undef) ident(__) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(# define) ident(__)operator(()ident(args)operator(\)) ident(args) preprocessor(#else) preprocessor(# define) ident(__)operator(()ident(args)operator(\)) operator((\)) preprocessor(#endif) preprocessor(#ifdef) ident(__cplusplus) preprocessor(#define) ident(ANYARGS) operator(.)operator(.)operator(.) preprocessor(#else) preprocessor(#define) ident(ANYARGS) preprocessor(#endif) preprocessor(#define) ident(xmalloc) ident(ruby_xmalloc) preprocessor(#define) ident(xcalloc) ident(ruby_xcalloc) preprocessor(#define) ident(xrealloc) ident(ruby_xrealloc) preprocessor(#define) ident(xfree) ident(ruby_xfree) directive(void) operator(*)ident(xmalloc) ident(_)operator((()pre_type(long)operator(\)\);) directive(void) operator(*)ident(xcalloc) ident(_)operator((()pre_type(long)operator(,)pre_type(long)operator(\)\);) directive(void) operator(*)ident(xrealloc) ident(_)operator((()directive(void)operator(*,)pre_type(long)operator(\)\);) directive(void) ident(xfree) ident(_)operator((()directive(void)operator(*\)\);) preprocessor(#if) ident(SIZEOF_LONG_LONG) operator(>) integer(0) preprocessor(# define) ident(LONG_LONG) pre_type(long) pre_type(long) preprocessor(#elif) ident(SIZEOF___INT64) operator(>) integer(0) preprocessor(# define) ident(HAVE_LONG_LONG) integer(1) preprocessor(# define) ident(LONG_LONG) ident(__int64) preprocessor(# undef) ident(SIZEOF_LONG_LONG) preprocessor(# define) ident(SIZEOF_LONG_LONG) ident(SIZEOF___INT64) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_INT)operator(*)integer(2) operator(<=) ident(SIZEOF_LONG_LONG) preprocessor(# define) ident(BDIGIT) pre_type(unsigned) pre_type(int) preprocessor(# define) ident(SIZEOF_BDIGITS) ident(SIZEOF_INT) preprocessor(# define) ident(BDIGIT_DBL) pre_type(unsigned) ident(LONG_LONG) preprocessor(# define) ident(BDIGIT_DBL_SIGNED) ident(LONG_LONG) preprocessor(#elif) ident(SIZEOF_INT)operator(*)integer(2) operator(<=) ident(SIZEOF_LONG) preprocessor(# define) ident(BDIGIT) pre_type(unsigned) pre_type(int) preprocessor(# define) ident(SIZEOF_BDIGITS) ident(SIZEOF_INT) preprocessor(# define) ident(BDIGIT_DBL) pre_type(unsigned) pre_type(long) preprocessor(# define) ident(BDIGIT_DBL_SIGNED) pre_type(long) preprocessor(#elif) ident(SIZEOF_SHORT)operator(*)integer(2) operator(<=) ident(SIZEOF_LONG) preprocessor(# define) ident(BDIGIT) pre_type(unsigned) pre_type(short) preprocessor(# define) ident(SIZEOF_BDIGITS) ident(SIZEOF_SHORT) preprocessor(# define) ident(BDIGIT_DBL) pre_type(unsigned) pre_type(long) preprocessor(# define) ident(BDIGIT_DBL_SIGNED) pre_type(long) preprocessor(#else) preprocessor(# define) ident(BDIGIT) pre_type(unsigned) pre_type(short) preprocessor(# define) ident(SIZEOF_BDIGITS) operator(()ident(SIZEOF_LONG)operator(/)integer(2)operator(\)) preprocessor(# define) ident(BDIGIT_DBL) pre_type(unsigned) pre_type(long) preprocessor(# define) ident(BDIGIT_DBL_SIGNED) pre_type(long) preprocessor(#endif) preprocessor(#ifdef) ident(__CYGWIN__) preprocessor(#undef) ident(_WIN32) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(__human68k__)operator(\)) operator(||) ident(defined)operator(()ident(__EMX__)operator(\)) preprocessor(#define) ident(DOSISH) integer(1) preprocessor(#ifndef) ident(_WIN32_WCE) preprocessor(# define) ident(DOSISH_DRIVE_LETTER) preprocessor(#endif) preprocessor(#endif) comment(/* define RUBY_USE_EUC/SJIS for default kanji-code */) preprocessor(#ifndef) ident(DEFAULT_KCODE) preprocessor(#if) ident(defined)operator(()ident(DOSISH)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN__)operator(\)) operator(||) ident(defined)operator(()ident(__MACOS__)operator(\)) operator(||) ident(defined)operator(()ident(OS2)operator(\)) preprocessor(#define) ident(DEFAULT_KCODE) ident(KCODE_SJIS) preprocessor(#else) preprocessor(#define) ident(DEFAULT_KCODE) ident(KCODE_EUC) preprocessor(#endif) preprocessor(#endif) preprocessor(#ifdef) ident(__NeXT__) comment(/* NextStep, OpenStep, Rhapsody */) preprocessor(#ifndef) ident(S_IRUSR) preprocessor(#define) ident(S_IRUSR) oct(0000400) comment(/* read permission, owner */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IRGRP) preprocessor(#define) ident(S_IRGRP) oct(0000040) comment(/* read permission, group */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IROTH) preprocessor(#define) ident(S_IROTH) oct(0000004) comment(/* read permission, other */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IWUSR) preprocessor(#define) ident(S_IWUSR) oct(0000200) comment(/* write permission, owner */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IWGRP) preprocessor(#define) ident(S_IWGRP) oct(0000020) comment(/* write permission, group */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IWOTH) preprocessor(#define) ident(S_IWOTH) oct(0000002) comment(/* write permission, other */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IXUSR) preprocessor(#define) ident(S_IXUSR) oct(0000100) comment(/* execute/search permission, owner */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IXGRP) preprocessor(#define) ident(S_IXGRP) oct(0000010) comment(/* execute/search permission, group */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IXOTH) preprocessor(#define) ident(S_IXOTH) oct(0000001) comment(/* execute/search permission, other */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IRWXU) preprocessor(#define) ident(S_IRWXU) oct(0000700) comment(/* read, write, execute permissions, owner */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IRWXG) preprocessor(#define) ident(S_IRWXG) oct(0000070) comment(/* read, write, execute permissions, group */) preprocessor(#endif) preprocessor(#ifndef) ident(S_IRWXO) preprocessor(#define) ident(S_IRWXO) oct(0000007) comment(/* read, write, execute permissions, other */) preprocessor(#endif) preprocessor(#ifndef) ident(S_ISBLK) preprocessor(#define) ident(S_ISBLK)operator(()ident(mode)operator(\)) operator(((()ident(mode)operator(\)) operator(&) operator(()oct(0170000)operator(\)\)) operator(==) operator(()oct(0060000)operator(\)\)) preprocessor(#endif) preprocessor(#ifndef) ident(S_ISCHR) preprocessor(#define) ident(S_ISCHR)operator(()ident(mode)operator(\)) operator(((()ident(mode)operator(\)) operator(&) operator(()oct(0170000)operator(\)\)) operator(==) operator(()oct(0020000)operator(\)\)) preprocessor(#endif) preprocessor(#ifndef) ident(S_ISDIR) preprocessor(#define) ident(S_ISDIR)operator(()ident(mode)operator(\)) operator(((()ident(mode)operator(\)) operator(&) operator(()oct(0170000)operator(\)\)) operator(==) operator(()oct(0040000)operator(\)\)) preprocessor(#endif) preprocessor(#ifndef) ident(S_ISFIFO) preprocessor(#define) ident(S_ISFIFO)operator(()ident(mode)operator(\)) operator(((()ident(mode)operator(\)) operator(&) operator(()oct(0170000)operator(\)\)) operator(==) operator(()oct(0010000)operator(\)\)) preprocessor(#endif) preprocessor(#ifndef) ident(S_ISREG) preprocessor(#define) ident(S_ISREG)operator(()ident(mode)operator(\)) operator(((()ident(mode)operator(\)) operator(&) operator(()oct(0170000)operator(\)\)) operator(==) operator(()oct(0100000)operator(\)\)) preprocessor(#endif) comment(/* Do not trust WORDS_BIGENDIAN from configure since -arch compiler flag may result in a different endian. Instead trust __BIG_ENDIAN__ and __LITTLE_ENDIAN__ which are set correctly by -arch. */) preprocessor(#undef) ident(WORDS_BIGENDIAN) preprocessor(#ifdef) ident(__BIG_ENDIAN__) preprocessor(#define) ident(WORDS_BIGENDIAN) preprocessor(#endif) preprocessor(#ifndef) ident(__APPLE__) comment(/* NextStep, OpenStep (but not Rhapsody\) */) preprocessor(#ifndef) ident(GETPGRP_VOID) preprocessor(#define) ident(GETPGRP_VOID) integer(1) preprocessor(#endif) preprocessor(#ifndef) ident(WNOHANG) preprocessor(#define) ident(WNOHANG) oct(01) preprocessor(#endif) preprocessor(#ifndef) ident(WUNTRACED) preprocessor(#define) ident(WUNTRACED) oct(02) preprocessor(#endif) preprocessor(#ifndef) ident(X_OK) preprocessor(#define) ident(X_OK) integer(1) preprocessor(#endif) preprocessor(#endif) comment(/* __APPLE__ */) preprocessor(#endif) comment(/* NeXT */) preprocessor(#ifdef) ident(_WIN32) preprocessor(#include) include("win32/win32.h") preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(#include) include("vms.h") preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__BEOS__)operator(\)) preprocessor(#include) include() comment(/* intern.h needs fd_set definition */) preprocessor(#endif) preprocessor(#ifdef) ident(RUBY_EXPORT) preprocessor(#undef) ident(RUBY_EXTERN) preprocessor(#endif) preprocessor(#ifndef) ident(RUBY_EXTERN) preprocessor(#define) ident(RUBY_EXTERN) directive(extern) preprocessor(#endif) preprocessor(#ifndef) ident(EXTERN) preprocessor(#define) ident(EXTERN) ident(RUBY_EXTERN) comment(/* deprecated */) preprocessor(#endif) preprocessor(#ifndef) ident(RUBY_MBCHAR_MAXSIZE) preprocessor(#define) ident(RUBY_MBCHAR_MAXSIZE) ident(INT_MAX) comment(/* MB_CUR_MAX will not work well in C locale */) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(sparc)operator(\)) operator(||) ident(defined)operator(()ident(__sparc__)operator(\)) directive(static) directive(inline) directive(void) ident(flush_register_windows)operator(()directive(void)operator(\)) operator({) reserved(asm) preprocessor(#ifdef) ident(__GNUC__) directive(volatile) preprocessor(#endif) preprocessor(# if) ident(defined)operator(()ident(__sparc_v9__)operator(\)) operator(||) ident(defined)operator(()ident(__sparcv9)operator(\)) operator(||) ident(defined)operator(()ident(__arch64__)operator(\)) operator(()stringoperator(\)) preprocessor(# else) operator(()stringoperator(\)) preprocessor(# endif) comment(/* trap always to flush register windows if we are on a Sparc system */) operator(;) operator(}) preprocessor(# define) ident(FLUSH_REGISTER_WINDOWS) ident(flush_register_windows)operator((\)) preprocessor(#elif) ident(defined)operator(()ident(__ia64)operator(\)) directive(void) operator(*)ident(rb_ia64_bsp)operator(()directive(void)operator(\);) directive(void) ident(rb_ia64_flushrs)operator(()directive(void)operator(\);) preprocessor(# define) ident(FLUSH_REGISTER_WINDOWS) ident(rb_ia64_flushrs)operator((\)) preprocessor(#else) preprocessor(# define) ident(FLUSH_REGISTER_WINDOWS) operator((()directive(void)operator(\))integer(0)operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(DOSISH)operator(\)) preprocessor(#define) ident(PATH_SEP) string preprocessor(#elif) ident(defined)operator(()ident(riscos)operator(\)) preprocessor(#define) ident(PATH_SEP) string preprocessor(#else) preprocessor(#define) ident(PATH_SEP) string preprocessor(#endif) preprocessor(#define) ident(PATH_SEP_CHAR) ident(PATH_SEP)operator([)integer(0)operator(]) preprocessor(#if) ident(defined)operator(()ident(__human68k__)operator(\)) preprocessor(#define) ident(PATH_ENV) string preprocessor(#else) preprocessor(#define) ident(PATH_ENV) string preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(DOSISH)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__human68k__)operator(\)) operator(&&) operator(!)ident(defined)operator(()ident(__EMX__)operator(\)) preprocessor(#define) ident(ENV_IGNORECASE) preprocessor(#endif) preprocessor(#ifndef) ident(CASEFOLD_FILESYSTEM) preprocessor(# if) ident(defined) ident(DOSISH) operator(||) ident(defined) ident(__VMS) preprocessor(# define) ident(CASEFOLD_FILESYSTEM) integer(1) preprocessor(# else) preprocessor(# define) ident(CASEFOLD_FILESYSTEM) integer(0) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifndef) ident(DLEXT_MAXLEN) preprocessor(#define) ident(DLEXT_MAXLEN) integer(4) preprocessor(#endif) preprocessor(#ifndef) ident(RUBY_PLATFORM) preprocessor(#define) ident(RUBY_PLATFORM) string preprocessor(#endif) preprocessor(#endif) comment(/********************************************************************** dln.h - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Wed Jan 19 16:53:09 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(DLN_H) preprocessor(#define) ident(DLN_H) preprocessor(#ifdef) ident(__cplusplus) preprocessor(# ifndef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(HAVE_PROTOTYPES) integer(1) preprocessor(# endif) preprocessor(# ifndef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(# define) ident(HAVE_STDARG_PROTOTYPES) integer(1) preprocessor(# endif) preprocessor(#endif) preprocessor(#undef) ident(_) preprocessor(#ifdef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) ident(args) preprocessor(#else) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) operator((\)) preprocessor(#endif) pre_type(char) operator(*)ident(dln_find_exe) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(*\)\);) pre_type(char) operator(*)ident(dln_find_file) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(*\)\);) preprocessor(#ifdef) ident(USE_DLN_A_OUT) directive(extern) pre_type(char) operator(*)ident(dln_argv0)operator(;) preprocessor(#endif) directive(void) operator(*)ident(dln_load) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) preprocessor(#endif) comment(/********************************************************************** env.h - $Author: knu $ $Date: 2007-03-03 08:30:46 +0100 (Sat, 03 Mar 2007\) $ created at: Mon Jul 11 11:53:03 JST 1994 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(ENV_H) preprocessor(#define) ident(ENV_H) directive(extern) reserved(struct) ident(FRAME) operator({) ident(VALUE) ident(self)operator(;) pre_type(int) ident(argc)operator(;) ident(ID) ident(last_func)operator(;) ident(ID) ident(orig_func)operator(;) ident(VALUE) ident(last_class)operator(;) reserved(struct) ident(FRAME) operator(*)ident(prev)operator(;) reserved(struct) ident(FRAME) operator(*)ident(tmp)operator(;) reserved(struct) ident(RNode) operator(*)ident(node)operator(;) pre_type(int) ident(iter)operator(;) pre_type(int) ident(flags)operator(;) pre_type(unsigned) pre_type(long) ident(uniq)operator(;) operator(}) operator(*)ident(ruby_frame)operator(;) directive(void) ident(rb_gc_mark_frame) ident(_)operator((()reserved(struct) ident(FRAME) operator(*\)\);) preprocessor(#define) ident(FRAME_DMETH) integer(1) preprocessor(#define) ident(FRAME_FUNC) integer(2) directive(extern) reserved(struct) ident(SCOPE) operator({) reserved(struct) ident(RBasic) ident(super)operator(;) ident(ID) operator(*)ident(local_tbl)operator(;) ident(VALUE) operator(*)ident(local_vars)operator(;) pre_type(int) ident(flags)operator(;) operator(}) operator(*)ident(ruby_scope)operator(;) preprocessor(#define) ident(SCOPE_ALLOCA) integer(0) preprocessor(#define) ident(SCOPE_MALLOC) integer(1) preprocessor(#define) ident(SCOPE_NOSTACK) integer(2) preprocessor(#define) ident(SCOPE_DONT_RECYCLE) integer(4) preprocessor(#define) ident(SCOPE_CLONE) integer(8) directive(extern) pre_type(int) ident(ruby_in_eval)operator(;) directive(extern) ident(VALUE) ident(ruby_class)operator(;) reserved(struct) ident(RVarmap) operator({) reserved(struct) ident(RBasic) ident(super)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(val)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(next)operator(;) operator(};) directive(extern) reserved(struct) ident(RVarmap) operator(*)ident(ruby_dyna_vars)operator(;) preprocessor(#endif) comment(/* ENV_H */) comment(/********************************************************************** intern.h - $Author: shyouhei $ $Date: 2009-01-22 07:18:48 +0100 (Thu, 22 Jan 2009\) $ created at: Thu Jun 10 14:22:17 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) comment(/* * Functions and variables that are used by more than one source file of * the kernel. */) preprocessor(#define) ident(ID_ALLOCATOR) integer(1) comment(/* array.c */) directive(void) ident(rb_mem_clear) ident(_)operator((()directive(register) ident(VALUE)operator(*,) directive(register) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_assoc_new) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_check_array_type) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_new) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_ary_new2) ident(_)operator((()pre_type(long)operator(\)\);) ident(VALUE) ident(rb_ary_new3) ident(__)operator((()pre_type(long)operator(,)operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_ary_new4) ident(_)operator((()pre_type(long)operator(,) directive(const) ident(VALUE) operator(*\)\);) ident(VALUE) ident(rb_ary_freeze) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_aref) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) directive(void) ident(rb_ary_store) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_dup) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_to_ary) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_to_s) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_push) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_pop) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_shift) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_unshift) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_entry) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_ary_each) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_join) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_print_on) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_reverse) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_sort) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_sort_bang) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_delete) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_delete_at) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_ary_clear) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_plus) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_concat) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_assoc) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_rassoc) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_includes) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ary_cmp) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_protect_inspect) ident(_)operator((()ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_inspecting_p) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_check_array_value) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_values_at) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(,) pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator((*\)) ident(_)operator((()ident(VALUE)operator(,)pre_type(long)operator(\)\)\)\);) comment(/* bignum.c */) ident(VALUE) ident(rb_big_clone) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_big_2comp) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_norm) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_uint2big) ident(_)operator((()pre_type(unsigned) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_int2big) ident(_)operator((()pre_type(long)operator(\)\);) ident(VALUE) ident(rb_uint2inum) ident(_)operator((()pre_type(unsigned) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_int2inum) ident(_)operator((()pre_type(long)operator(\)\);) ident(VALUE) ident(rb_cstr_to_inum) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_str_to_inum) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_cstr2inum) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_str2inum) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_big2str) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_big2str0) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(,) pre_type(int)operator(\)\);) pre_type(long) ident(rb_big2long) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(rb_big2int)operator(()ident(x)operator(\)) ident(rb_big2long)operator(()ident(x)operator(\)) pre_type(unsigned) pre_type(long) ident(rb_big2ulong) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(rb_big2uint)operator(()ident(x)operator(\)) ident(rb_big2ulong)operator(()ident(x)operator(\)) preprocessor(#if) ident(HAVE_LONG_LONG) ident(VALUE) ident(rb_ll2inum) ident(_)operator((()ident(LONG_LONG)operator(\)\);) ident(VALUE) ident(rb_ull2inum) ident(_)operator((()pre_type(unsigned) ident(LONG_LONG)operator(\)\);) ident(LONG_LONG) ident(rb_big2ll) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(unsigned) ident(LONG_LONG) ident(rb_big2ull) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#endif) comment(/* HAVE_LONG_LONG */) directive(void) ident(rb_quad_pack) ident(_)operator((()pre_type(char)operator(*,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_quad_unpack) ident(_)operator((()directive(const) pre_type(char)operator(*,)pre_type(int)operator(\)\);) ident(VALUE) ident(rb_dbl2big) ident(_)operator((()pre_type(double)operator(\)\);) pre_type(double) ident(rb_big2dbl) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_plus) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_minus) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_mul) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_divmod) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_pow) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_and) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_or) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_xor) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_lshift) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_rand) ident(_)operator((()ident(VALUE)operator(,) pre_type(double)operator(*\)\);) comment(/* class.c */) ident(VALUE) ident(rb_class_boot) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_new) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_init_copy) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_init_copy) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_singleton_class_clone) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_singleton_class_attached) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_make_metaclass) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) directive(void) ident(rb_check_inheritable) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_inherited) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_define_class_id) ident(_)operator((()ident(ID)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_module_new) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_define_module_id) ident(_)operator((()ident(ID)operator(\)\);) ident(VALUE) ident(rb_mod_included_modules) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_include_p) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_ancestors) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_instance_methods) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_public_instance_methods) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_protected_instance_methods) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_big_rshift)operator(()ident(VALUE)operator(,) ident(VALUE)operator(\);) ident(VALUE) ident(rb_class_private_instance_methods) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_singleton_methods) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) directive(void) ident(rb_define_method_id) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE) operator((*\)()ident(ANYARGS)operator(\),) pre_type(int)operator(\)\);) directive(void) ident(rb_frozen_class_p) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_undef) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) directive(void) ident(rb_define_protected_method) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE) operator((*\)()ident(ANYARGS)operator(\),) pre_type(int)operator(\)\);) directive(void) ident(rb_define_private_method) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE) operator((*\)()ident(ANYARGS)operator(\),) pre_type(int)operator(\)\);) directive(void) ident(rb_define_singleton_method) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_singleton_class) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* compar.c */) pre_type(int) ident(rb_cmpint) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(rb_cmperr) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\)\);) comment(/* enum.c */) comment(/* error.c */) ident(RUBY_EXTERN) pre_type(int) ident(ruby_nerrs)operator(;) ident(VALUE) ident(rb_exc_new) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_exc_new2) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_exc_new3) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(rb_loaderror) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_name_error) ident(__)operator((()ident(ID)operator(,) directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_invalid_str) ident(_)operator((()directive(const) pre_type(char)operator(*,) directive(const) pre_type(char)operator(*\)\)\);) directive(void) ident(rb_compile_error) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) directive(void) ident(rb_compile_error_append) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(rb_load_fail) ident(_)operator((()directive(const) pre_type(char)operator(*\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_error_frozen) ident(_)operator((()directive(const) pre_type(char)operator(*\)\)\);) directive(void) ident(rb_check_frozen) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* eval.c */) ident(RUBY_EXTERN) reserved(struct) ident(RNode) operator(*)ident(ruby_current_node)operator(;) directive(void) ident(ruby_set_current_source) ident(_)operator((()directive(void)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(rb_exc_raise) ident(_)operator((()ident(VALUE)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_exc_fatal) ident(_)operator((()ident(VALUE)operator(\)\)\);) ident(VALUE) ident(rb_f_exit) ident(_)operator((()pre_type(int)operator(,)ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_f_abort) ident(_)operator((()pre_type(int)operator(,)ident(VALUE)operator(*\)\);) directive(void) ident(rb_remove_method) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) preprocessor(#define) ident(rb_disable_super)operator(()ident(klass)operator(,) ident(name)operator(\)) operator((()directive(void)operator(\))integer(0)operator(\)) preprocessor(#define) ident(rb_enable_super)operator(()ident(klass)operator(,) ident(name)operator(\)) operator((()directive(void)operator(\))integer(0)operator(\)) preprocessor(#define) ident(HAVE_RB_DEFINE_ALLOC_FUNC) integer(1) directive(void) ident(rb_define_alloc_func) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE) operator((*\)()ident(VALUE)operator(\)\)\);) directive(void) ident(rb_undef_alloc_func) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_clear_cache) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_clear_cache_by_class) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_alias) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(ID)operator(\)\);) directive(void) ident(rb_attr) ident(_)operator((()ident(VALUE)operator(,)ident(ID)operator(,)pre_type(int)operator(,)pre_type(int)operator(,)pre_type(int)operator(\)\);) pre_type(int) ident(rb_method_boundp) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_dvar_defined) ident(_)operator((()ident(ID)operator(\)\);) ident(VALUE) ident(rb_dvar_curr) ident(_)operator((()ident(ID)operator(\)\);) ident(VALUE) ident(rb_dvar_ref) ident(_)operator((()ident(ID)operator(\)\);) directive(void) ident(rb_dvar_asgn) ident(_)operator((()ident(ID)operator(,) ident(VALUE)operator(\)\);) directive(void) ident(rb_dvar_push) ident(_)operator((()ident(ID)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) operator(*)ident(rb_svar) ident(_)operator((()pre_type(int)operator(\)\);) ident(VALUE) ident(rb_eval_cmd) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) pre_type(int) ident(rb_obj_respond_to) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) pre_type(int)operator(\)\);) pre_type(int) ident(rb_respond_to) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) directive(void) ident(rb_interrupt) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_apply) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE)operator(\)\);) directive(void) ident(rb_backtrace) ident(_)operator((()directive(void)operator(\)\);) ident(ID) ident(rb_frame_last_func) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_obj_instance_eval) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_module_eval) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) directive(void) ident(rb_load) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) directive(void) ident(rb_load_protect) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(,) pre_type(int)operator(*\)\);) ident(NORETURN)operator(()directive(void) ident(rb_jump_tag) ident(_)operator((()pre_type(int)operator(\)\)\);) pre_type(int) ident(rb_provided) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_provide) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_f_require) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_require_safe) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) directive(void) ident(rb_obj_call_init) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(,) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_class_new_instance) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_block_proc) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_f_lambda) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_proc_new) ident(_)operator((()ident(VALUE) operator((*\)()ident(ANYARGS)comment(/* VALUE yieldarg[, VALUE procarg] */)operator(\),) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_protect) ident(_)operator((()ident(VALUE) operator((*\)()ident(VALUE)operator(\),) ident(VALUE)operator(,) pre_type(int)operator(*\)\);) directive(void) ident(rb_set_end_proc) ident(_)operator((()directive(void) operator((*\)()ident(VALUE)operator(\),) ident(VALUE)operator(\)\);) directive(void) ident(rb_mark_end_proc) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_exec_end_proc) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(ruby_finalize) ident(_)operator((()directive(void)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(ruby_stop) ident(_)operator((()pre_type(int)operator(\)\)\);) pre_type(int) ident(ruby_cleanup) ident(_)operator((()pre_type(int)operator(\)\);) pre_type(int) ident(ruby_exec) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_gc_mark_threads) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_start_timer) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_stop_timer) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_schedule) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_wait_fd) ident(_)operator((()pre_type(int)operator(\)\);) pre_type(int) ident(rb_thread_fd_writable) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(rb_thread_fd_close) ident(_)operator((()pre_type(int)operator(\)\);) pre_type(int) ident(rb_thread_alone) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_polling) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_sleep) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(rb_thread_sleep_forever) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_thread_stop) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_thread_wakeup) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_thread_wakeup_alive) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_thread_run) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_thread_kill) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_thread_alive_p) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_thread_create) ident(_)operator((()ident(VALUE) operator((*\)()ident(ANYARGS)operator(\),) directive(void)operator(*\)\);) directive(void) ident(rb_thread_interrupt) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_thread_trap_eval) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(,) pre_type(int)operator(\)\);) directive(void) ident(rb_thread_signal_raise) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(rb_thread_signal_exit) ident(_)operator((()directive(void)operator(\)\);) pre_type(int) ident(rb_thread_select) ident(_)operator((()pre_type(int)operator(,) ident(fd_set) operator(*,) ident(fd_set) operator(*,) ident(fd_set) operator(*,) reserved(struct) ident(timeval) operator(*\)\);) directive(void) ident(rb_thread_wait_for) ident(_)operator((()reserved(struct) ident(timeval)operator(\)\);) ident(VALUE) ident(rb_thread_current) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_thread_main) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_thread_local_aref) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_thread_local_aset) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE)operator(\)\);) directive(void) ident(rb_thread_atfork) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_funcall_rescue) ident(__)operator((()ident(VALUE)operator(,) ident(ID)operator(,) pre_type(int)operator(,) operator(.)operator(.)operator(.)operator(\)\);) comment(/* file.c */) ident(VALUE) ident(rb_file_s_expand_path) ident(_)operator((()pre_type(int)operator(,) ident(VALUE) operator(*\)\);) ident(VALUE) ident(rb_file_expand_path) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) directive(void) ident(rb_file_const) ident(_)operator((()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) pre_type(int) ident(rb_find_file_ext) ident(_)operator((()ident(VALUE)operator(*,) directive(const) pre_type(char)operator(*) directive(const)operator(*\)\);) ident(VALUE) ident(rb_find_file) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(char) operator(*)ident(rb_path_next) ident(_)operator((()directive(const) pre_type(char) operator(*\)\);) pre_type(char) operator(*)ident(rb_path_skip_prefix) ident(_)operator((()directive(const) pre_type(char) operator(*\)\);) pre_type(char) operator(*)ident(rb_path_last_separator) ident(_)operator((()directive(const) pre_type(char) operator(*\)\);) pre_type(char) operator(*)ident(rb_path_end) ident(_)operator((()directive(const) pre_type(char) operator(*\)\);) ident(VALUE) ident(rb_file_directory_p) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) comment(/* gc.c */) ident(NORETURN)operator(()directive(void) ident(rb_memerror) ident(__)operator((()directive(void)operator(\)\)\);) pre_type(int) ident(ruby_stack_check) ident(_)operator((()directive(void)operator(\)\);) ident(size_t) ident(ruby_stack_length) ident(_)operator((()ident(VALUE)operator(**\)\);) pre_type(int) ident(rb_during_gc) ident(_)operator((()directive(void)operator(\)\);) pre_type(char) operator(*)ident(rb_source_filename) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_gc_mark_locations) ident(_)operator((()ident(VALUE)operator(*,) ident(VALUE)operator(*\)\);) directive(void) ident(rb_mark_tbl) ident(_)operator((()reserved(struct) ident(st_table)operator(*\)\);) directive(void) ident(rb_mark_set) ident(_)operator((()reserved(struct) ident(st_table)operator(*\)\);) directive(void) ident(rb_mark_hash) ident(_)operator((()reserved(struct) ident(st_table)operator(*\)\);) directive(void) ident(rb_gc_mark_maybe) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_gc_mark) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_gc_force_recycle) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_gc) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_gc_copy_finalizer) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) directive(void) ident(rb_gc_finalize_deferred) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_gc_call_finalizer_at_exit) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_gc_enable) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_gc_disable) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_gc_start) ident(_)operator((()directive(void)operator(\)\);) comment(/* hash.c */) directive(void) ident(st_foreach_safe) ident(_)operator((()reserved(struct) ident(st_table) operator(*,) pre_type(int) operator((*\)()ident(ANYARGS)operator(\),) pre_type(unsigned) pre_type(long)operator(\)\);) directive(void) ident(rb_hash_foreach) ident(_)operator((()ident(VALUE)operator(,) pre_type(int) operator((*\)()ident(ANYARGS)operator(\),) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_hash) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_hash_new) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_hash_freeze) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_hash_aref) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_hash_aset) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_hash_delete_if) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_hash_delete) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) pre_type(int) ident(rb_path_check) ident(_)operator((()pre_type(char)operator(*\)\);) pre_type(int) ident(rb_env_path_tainted) ident(_)operator((()directive(void)operator(\)\);) comment(/* io.c */) preprocessor(#define) ident(rb_defout) ident(rb_stdout) ident(RUBY_EXTERN) ident(VALUE) ident(rb_fs)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_output_fs)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_rs)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_default_rs)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_output_rs)operator(;) ident(VALUE) ident(rb_io_write) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_gets) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_getc) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_ungetc) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_close) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_eof) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_binmode) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_addstr) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_printf) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_print) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_io_puts) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_file_open) ident(_)operator((()directive(const) pre_type(char)operator(*,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_gets) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_write_error) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_write_error2) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) comment(/* marshal.c */) ident(VALUE) ident(rb_marshal_dump) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_marshal_load) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* numeric.c */) directive(void) ident(rb_num_zerodiv) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_num_coerce_bin) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_num_coerce_cmp) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_num_coerce_relop) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_float_new) ident(_)operator((()pre_type(double)operator(\)\);) ident(VALUE) ident(rb_num2fix) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_fix2str) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_dbl_cmp) ident(_)operator((()pre_type(double)operator(,) pre_type(double)operator(\)\);) comment(/* object.c */) pre_type(int) ident(rb_eql) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_any_to_s) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_inspect) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_is_instance_of) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_is_kind_of) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_alloc) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_clone) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_dup) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_init_copy) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_taint) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_tainted) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_untaint) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_freeze) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_id) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_class) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_real) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_inherited_p) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_convert_type) ident(_)operator((()ident(VALUE)operator(,)pre_type(int)operator(,)directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_check_convert_type) ident(_)operator((()ident(VALUE)operator(,)pre_type(int)operator(,)directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_to_int) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_Integer) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_Float) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_String) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_Array) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(double) ident(rb_cstr_to_dbl) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(\)\);) pre_type(double) ident(rb_str_to_dbl) ident(_)operator((()ident(VALUE)operator(,) pre_type(int)operator(\)\);) comment(/* parse.y */) ident(RUBY_EXTERN) pre_type(int) ident(ruby_sourceline)operator(;) ident(RUBY_EXTERN) pre_type(char) operator(*)ident(ruby_sourcefile)operator(;) pre_type(int) ident(ruby_yyparse) ident(_)operator((()directive(void)operator(\)\);) ident(ID) ident(rb_id_attrset) ident(_)operator((()ident(ID)operator(\)\);) directive(void) ident(rb_parser_append_print) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_parser_while_loop) ident(_)operator((()pre_type(int)operator(,) pre_type(int)operator(\)\);) pre_type(int) ident(ruby_parser_stack_on_heap) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_gc_mark_parser) ident(_)operator((()directive(void)operator(\)\);) pre_type(int) ident(rb_is_const_id) ident(_)operator((()ident(ID)operator(\)\);) pre_type(int) ident(rb_is_instance_id) ident(_)operator((()ident(ID)operator(\)\);) pre_type(int) ident(rb_is_class_id) ident(_)operator((()ident(ID)operator(\)\);) pre_type(int) ident(rb_is_local_id) ident(_)operator((()ident(ID)operator(\)\);) pre_type(int) ident(rb_is_junk_id) ident(_)operator((()ident(ID)operator(\)\);) pre_type(int) ident(rb_symname_p) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) pre_type(int) ident(rb_sym_interned_p) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_backref_get) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_backref_set) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_lastline_get) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_lastline_set) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_sym_all_symbols) ident(_)operator((()directive(void)operator(\)\);) comment(/* process.c */) pre_type(int) ident(rb_proc_exec) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_f_exec) ident(_)operator((()pre_type(int)operator(,)ident(VALUE)operator(*\)\);) pre_type(int) ident(rb_waitpid) ident(_)operator((()pre_type(int)operator(,)pre_type(int)operator(*,)pre_type(int)operator(\)\);) directive(void) ident(rb_syswait) ident(_)operator((()pre_type(int)operator(\)\);) ident(VALUE) ident(rb_proc_times) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_detach_process) ident(_)operator((()pre_type(int)operator(\)\);) comment(/* range.c */) ident(VALUE) ident(rb_range_new) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_range_beg_len) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(*,) pre_type(long)operator(*,) pre_type(long)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_length_by_each) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* re.c */) pre_type(int) ident(rb_memcmp) ident(_)operator((()directive(const) directive(void)operator(*,)directive(const) directive(void)operator(*,)pre_type(long)operator(\)\);) pre_type(int) ident(rb_memcicmp) ident(_)operator((()directive(const) directive(void)operator(*,)directive(const) directive(void)operator(*,)pre_type(long)operator(\)\);) pre_type(long) ident(rb_memsearch) ident(_)operator((()directive(const) directive(void)operator(*,)pre_type(long)operator(,)directive(const) directive(void)operator(*,)pre_type(long)operator(\)\);) ident(VALUE) ident(rb_reg_nth_defined) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_nth_match) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_last_match) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_match_pre) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_match_post) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_match_last) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_new) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(long)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_reg_match) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_match2) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(int) ident(rb_reg_options) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_set_kcode) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(const) pre_type(char)operator(*) ident(rb_get_kcode) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_kcode_set_option) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_kcode_reset_option) ident(_)operator((()directive(void)operator(\)\);) comment(/* ruby.c */) ident(RUBY_EXTERN) ident(VALUE) ident(rb_argv)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_argv0)operator(;) directive(void) ident(rb_load_file) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(void) ident(ruby_script) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(void) ident(ruby_prog_init) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(ruby_set_argv) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(**\)\);) directive(void) ident(ruby_process_options) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(**\)\);) directive(void) ident(ruby_load_script) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(ruby_init_loadpath) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(ruby_incpush) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) comment(/* signal.c */) ident(VALUE) ident(rb_f_kill) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*\)\);) directive(void) ident(rb_gc_mark_trap_list) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#ifdef) ident(POSIX_SIGNAL) preprocessor(#define) ident(posix_signal) ident(ruby_posix_signal) directive(void) ident(posix_signal) ident(_)operator((()pre_type(int)operator(,) ident(RETSIGTYPE) operator((*\)()pre_type(int)operator(\)\)\);) preprocessor(#endif) directive(void) ident(rb_trap_exit) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_trap_exec) ident(_)operator((()directive(void)operator(\)\);) directive(const) pre_type(char) operator(*)ident(ruby_signal_name) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(ruby_default_signal) ident(_)operator((()pre_type(int)operator(\)\);) comment(/* sprintf.c */) ident(VALUE) ident(rb_f_sprintf) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_str_format) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*,) ident(VALUE)operator(\)\);) comment(/* string.c */) ident(VALUE) ident(rb_str_new) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_str_new2) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_str_new3) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_new4) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_new5) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_tainted_str_new) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_tainted_str_new2) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_str_buf_new) ident(_)operator((()pre_type(long)operator(\)\);) ident(VALUE) ident(rb_str_buf_new2) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_str_buf_append) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_buf_cat) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_str_buf_cat2) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_obj_as_string) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_check_string_type) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_dup) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_locktmp) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_unlocktmp) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_dup_frozen) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_plus) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_times) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_substr) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(,) pre_type(long)operator(\)\);) directive(void) ident(rb_str_modify) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_freeze) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_resize) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_str_cat) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_str_cat2) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_str_append) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_concat) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) pre_type(int) ident(rb_str_hash) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(int) ident(rb_str_cmp) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_upto) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) directive(void) ident(rb_str_update) ident(_)operator((()ident(VALUE)operator(,) pre_type(long)operator(,) pre_type(long)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_inspect) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_dump) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_split) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_str_associate) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_str_associated) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_str_setter) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_str_intern) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* struct.c */) ident(VALUE) ident(rb_struct_new) ident(__)operator((()ident(VALUE)operator(,) operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_struct_define) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_struct_alloc) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_struct_aref) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_struct_aset) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_struct_getmember) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_struct_iv_get) ident(_)operator((()ident(VALUE)operator(,) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_struct_s_members) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_struct_members) ident(_)operator((()ident(VALUE)operator(\)\);) comment(/* time.c */) ident(VALUE) ident(rb_time_new) ident(_)operator((()ident(time_t)operator(,) ident(time_t)operator(\)\);) comment(/* variable.c */) ident(VALUE) ident(rb_mod_name) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_class_path) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_set_class_path) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_path2class) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_name_class) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_class_name) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_autoload) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_autoload_load) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_autoload_p) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) directive(void) ident(rb_gc_mark_global_tbl) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_f_trace_var) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_f_untrace_var) ident(_)operator((()pre_type(int)operator(,) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_f_global_variables) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_alias_variable) ident(_)operator((()ident(ID)operator(,) ident(ID)operator(\)\);) reserved(struct) ident(st_table)operator(*) ident(rb_generic_ivar_table) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_copy_generic_ivar) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) directive(void) ident(rb_mark_generic_ivar) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_mark_generic_ivar_tbl) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_free_generic_ivar) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ivar_get) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_ivar_set) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_ivar_defined) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_iv_set) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_iv_get) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_attr_get) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_obj_instance_variables) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_obj_remove_instance_variable) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) directive(void) operator(*)ident(rb_mod_const_at) ident(_)operator((()ident(VALUE)operator(,) directive(void)operator(*\)\);) directive(void) operator(*)ident(rb_mod_const_of) ident(_)operator((()ident(VALUE)operator(,) directive(void)operator(*\)\);) ident(VALUE) ident(rb_const_list) ident(_)operator((()directive(void)operator(*\)\);) ident(VALUE) ident(rb_mod_constants) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_remove_const) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) pre_type(int) ident(rb_const_defined) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) pre_type(int) ident(rb_const_defined_at) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) pre_type(int) ident(rb_const_defined_from) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_const_get) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_const_get_at) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) ident(VALUE) ident(rb_const_get_from) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) directive(void) ident(rb_const_set) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_constants) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_const_missing) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_cvar_defined) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) preprocessor(#define) ident(RB_CVAR_SET_4ARGS) integer(1) directive(void) ident(rb_cvar_set) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) ident(VALUE) ident(rb_cvar_get) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(\)\);) directive(void) ident(rb_cv_set) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_cv_get) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_define_class_variable) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_class_variables) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_mod_remove_cvar) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(\)\);) comment(/* version.c */) directive(void) ident(ruby_show_version) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(ruby_show_copyright) ident(_)operator((()directive(void)operator(\)\);) comment(/************************************************ missing.h - prototype for *.c in ./missing, and for missing timeval struct $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Sat May 11 23:46:03 JST 2002 ************************************************/) preprocessor(#ifndef) ident(MISSING_H) preprocessor(#define) ident(MISSING_H) preprocessor(#if) ident(defined)operator(()ident(HAVE_SYS_TIME_H)operator(\)) preprocessor(# include) include() preprocessor(#elif) operator(!)ident(defined)operator(()ident(_WIN32)operator(\)) preprocessor(# define) ident(time_t) pre_type(long) reserved(struct) ident(timeval) operator({) ident(time_t) ident(tv_sec)operator(;) comment(/* seconds */) ident(time_t) ident(tv_usec)operator(;) comment(/* microseconds */) operator(};) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_SYS_TYPES_H)operator(\)) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_ACOSH) directive(extern) pre_type(double) ident(acosh) ident(_)operator((()pre_type(double)operator(\)\);) directive(extern) pre_type(double) ident(asinh) ident(_)operator((()pre_type(double)operator(\)\);) directive(extern) pre_type(double) ident(atanh) ident(_)operator((()pre_type(double)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_CRYPT) directive(extern) pre_type(char) operator(*)ident(crypt) ident(_)operator((()pre_type(char) operator(*,) pre_type(char) operator(*\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_DUP2) directive(extern) pre_type(int) ident(dup2) ident(_)operator((()pre_type(int)operator(,) pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_EACCESS) directive(extern) pre_type(int) ident(eaccess) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_FINITE) directive(extern) pre_type(int) ident(finite) ident(_)operator((()pre_type(double)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_FLOCK) directive(extern) pre_type(int) ident(flock) ident(_)operator((()pre_type(int)operator(,) pre_type(int)operator(\)\);) preprocessor(#endif) comment(/* #ifndef HAVE_FREXP extern double frexp _((double, int *\)\); #endif */) preprocessor(#ifndef) ident(HAVE_HYPOT) directive(extern) pre_type(double) ident(hypot) ident(_)operator((()pre_type(double)operator(,) pre_type(double)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_ERF) directive(extern) pre_type(double) ident(erf) ident(_)operator((()pre_type(double)operator(\)\);) directive(extern) pre_type(double) ident(erfc) ident(_)operator((()pre_type(double)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_ISINF) preprocessor(# if) ident(defined)operator(()ident(HAVE_FINITE)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_ISNAN)operator(\)) preprocessor(# define) ident(isinf)operator(()ident(x)operator(\)) operator((!)ident(finite)operator(()ident(x)operator(\)) operator(&&) operator(!)ident(isnan)operator(()ident(x)operator(\)\)) preprocessor(# else) directive(extern) pre_type(int) ident(isinf) ident(_)operator((()pre_type(double)operator(\)\);) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_ISNAN) directive(extern) pre_type(int) ident(isnan) ident(_)operator((()pre_type(double)operator(\)\);) preprocessor(#endif) comment(/* #ifndef HAVE_MEMCMP extern int memcmp _((char *, char *, int\)\); #endif */) preprocessor(#ifndef) ident(HAVE_MEMMOVE) directive(extern) directive(void) operator(*)ident(memmove) ident(_)operator((()directive(void) operator(*,) directive(void) operator(*,) pre_type(int)operator(\)\);) preprocessor(#endif) comment(/* #ifndef HAVE_MODF extern double modf _((double, double *\)\); #endif */) preprocessor(#ifndef) ident(HAVE_STRCASECMP) directive(extern) pre_type(int) ident(strcasecmp) ident(_)operator((()pre_type(char) operator(*,) pre_type(char) operator(*\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRNCASECMP) directive(extern) pre_type(int) ident(strncasecmp) ident(_)operator((()pre_type(char) operator(*,) pre_type(char) operator(*,) pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRCHR) directive(extern) pre_type(char) operator(*)ident(strchr) ident(_)operator((()pre_type(char) operator(*,) pre_type(int)operator(\)\);) directive(extern) pre_type(char) operator(*)ident(strrchr) ident(_)operator((()pre_type(char) operator(*,) pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRERROR) directive(extern) pre_type(char) operator(*)ident(strerror) ident(_)operator((()pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRFTIME) directive(extern) ident(size_t) ident(strftime) ident(_)operator((()pre_type(char) operator(*,) ident(size_t)operator(,) directive(const) pre_type(char) operator(*,) directive(const) reserved(struct) ident(tm) operator(*\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_STRSTR) directive(extern) pre_type(char) operator(*)ident(strstr) ident(_)operator((()pre_type(char) operator(*,) pre_type(char) operator(*\)\);) preprocessor(#endif) comment(/* #ifndef HAVE_STRTOL extern long strtol _((char *, char **, int\)\); #endif */) preprocessor(#ifndef) ident(HAVE_STRTOUL) directive(extern) pre_type(unsigned) pre_type(long) ident(strtoul) ident(_)operator((()pre_type(char) operator(*,) pre_type(char) operator(**,) pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#ifndef) ident(HAVE_VSNPRINTF) preprocessor(# ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(# include) include() preprocessor(# else) preprocessor(# include) include() preprocessor(# endif) directive(extern) pre_type(int) ident(snprintf) ident(__)operator((()pre_type(char) operator(*,) ident(size_t) ident(n)operator(,) pre_type(char) directive(const) operator(*,) operator(.)operator(.)operator(.)operator(\)\);) directive(extern) pre_type(int) ident(vsnprintf) ident(_)operator((()pre_type(char) operator(*,) ident(size_t) ident(n)operator(,) pre_type(char) directive(const) operator(*,) ident(va_list)operator(\)\);) preprocessor(#endif) preprocessor(#endif) comment(/* MISSING_H */) comment(/********************************************************************** node.h - $Author: wyhaines $ $Date: 2009-07-09 20:16:38 +0200 (Thu, 09 Jul 2009\) $ created at: Fri May 28 15:14:02 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(NODE_H) preprocessor(#define) ident(NODE_H) preprocessor(#if) ident(defined)operator(()ident(__cplusplus)operator(\)) directive(extern) string operator({) preprocessor(#endif) reserved(enum) ident(node_type) operator({) ident(NODE_METHOD)operator(,) ident(NODE_FBODY)operator(,) ident(NODE_CFUNC)operator(,) ident(NODE_SCOPE)operator(,) ident(NODE_BLOCK)operator(,) ident(NODE_IF)operator(,) ident(NODE_CASE)operator(,) ident(NODE_WHEN)operator(,) ident(NODE_OPT_N)operator(,) ident(NODE_WHILE)operator(,) ident(NODE_UNTIL)operator(,) ident(NODE_ITER)operator(,) ident(NODE_FOR)operator(,) ident(NODE_BREAK)operator(,) ident(NODE_NEXT)operator(,) ident(NODE_REDO)operator(,) ident(NODE_RETRY)operator(,) ident(NODE_BEGIN)operator(,) ident(NODE_RESCUE)operator(,) ident(NODE_RESBODY)operator(,) ident(NODE_ENSURE)operator(,) ident(NODE_AND)operator(,) ident(NODE_OR)operator(,) ident(NODE_NOT)operator(,) ident(NODE_MASGN)operator(,) ident(NODE_LASGN)operator(,) ident(NODE_DASGN)operator(,) ident(NODE_DASGN_CURR)operator(,) ident(NODE_GASGN)operator(,) ident(NODE_IASGN)operator(,) ident(NODE_CDECL)operator(,) ident(NODE_CVASGN)operator(,) ident(NODE_CVDECL)operator(,) ident(NODE_OP_ASGN1)operator(,) ident(NODE_OP_ASGN2)operator(,) ident(NODE_OP_ASGN_AND)operator(,) ident(NODE_OP_ASGN_OR)operator(,) ident(NODE_CALL)operator(,) ident(NODE_FCALL)operator(,) ident(NODE_VCALL)operator(,) ident(NODE_SUPER)operator(,) ident(NODE_ZSUPER)operator(,) ident(NODE_ARRAY)operator(,) ident(NODE_ZARRAY)operator(,) ident(NODE_HASH)operator(,) ident(NODE_RETURN)operator(,) ident(NODE_YIELD)operator(,) ident(NODE_LVAR)operator(,) ident(NODE_DVAR)operator(,) ident(NODE_GVAR)operator(,) ident(NODE_IVAR)operator(,) ident(NODE_CONST)operator(,) ident(NODE_CVAR)operator(,) ident(NODE_NTH_REF)operator(,) ident(NODE_BACK_REF)operator(,) ident(NODE_MATCH)operator(,) ident(NODE_MATCH2)operator(,) ident(NODE_MATCH3)operator(,) ident(NODE_LIT)operator(,) ident(NODE_STR)operator(,) ident(NODE_DSTR)operator(,) ident(NODE_XSTR)operator(,) ident(NODE_DXSTR)operator(,) ident(NODE_EVSTR)operator(,) ident(NODE_DREGX)operator(,) ident(NODE_DREGX_ONCE)operator(,) ident(NODE_ARGS)operator(,) ident(NODE_ARGSCAT)operator(,) ident(NODE_ARGSPUSH)operator(,) ident(NODE_SPLAT)operator(,) ident(NODE_TO_ARY)operator(,) ident(NODE_SVALUE)operator(,) ident(NODE_BLOCK_ARG)operator(,) ident(NODE_BLOCK_PASS)operator(,) ident(NODE_DEFN)operator(,) ident(NODE_DEFS)operator(,) ident(NODE_ALIAS)operator(,) ident(NODE_VALIAS)operator(,) ident(NODE_UNDEF)operator(,) ident(NODE_CLASS)operator(,) ident(NODE_MODULE)operator(,) ident(NODE_SCLASS)operator(,) ident(NODE_COLON2)operator(,) ident(NODE_COLON3)operator(,) ident(NODE_CREF)operator(,) ident(NODE_DOT2)operator(,) ident(NODE_DOT3)operator(,) ident(NODE_FLIP2)operator(,) ident(NODE_FLIP3)operator(,) ident(NODE_ATTRSET)operator(,) ident(NODE_SELF)operator(,) ident(NODE_NIL)operator(,) ident(NODE_TRUE)operator(,) ident(NODE_FALSE)operator(,) ident(NODE_DEFINED)operator(,) ident(NODE_NEWLINE)operator(,) ident(NODE_POSTEXE)operator(,) ident(NODE_ALLOCA)operator(,) ident(NODE_DMETHOD)operator(,) ident(NODE_BMETHOD)operator(,) ident(NODE_MEMO)operator(,) ident(NODE_IFUNC)operator(,) ident(NODE_DSYM)operator(,) ident(NODE_ATTRASGN)operator(,) ident(NODE_LAST) operator(};) reserved(typedef) reserved(struct) ident(RNode) operator({) pre_type(unsigned) pre_type(long) ident(flags)operator(;) pre_type(char) operator(*)ident(nd_file)operator(;) reserved(union) operator({) reserved(struct) ident(RNode) operator(*)ident(node)operator(;) ident(ID) ident(id)operator(;) ident(VALUE) ident(value)operator(;) ident(VALUE) operator((*)ident(cfunc)operator(\)()ident(ANYARGS)operator(\);) ident(ID) operator(*)ident(tbl)operator(;) operator(}) ident(u1)operator(;) reserved(union) operator({) reserved(struct) ident(RNode) operator(*)ident(node)operator(;) ident(ID) ident(id)operator(;) pre_type(long) ident(argc)operator(;) ident(VALUE) ident(value)operator(;) operator(}) ident(u2)operator(;) reserved(union) operator({) reserved(struct) ident(RNode) operator(*)ident(node)operator(;) ident(ID) ident(id)operator(;) pre_type(long) ident(state)operator(;) reserved(struct) ident(global_entry) operator(*)ident(entry)operator(;) pre_type(long) ident(cnt)operator(;) ident(VALUE) ident(value)operator(;) operator(}) ident(u3)operator(;) operator(}) ident(NODE)operator(;) directive(extern) ident(NODE) operator(*)ident(ruby_cref)operator(;) directive(extern) ident(NODE) operator(*)ident(ruby_top_cref)operator(;) preprocessor(#define) ident(RNODE)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RNode)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(nd_type)operator(()ident(n)operator(\)) operator((()pre_type(int)operator(\)((()ident(RNODE)operator(()ident(n)operator(\)\)->)ident(flags)operator(>>)ident(FL_USHIFT)operator(\)&)hex(0xff)operator(\)\)) preprocessor(#define) ident(nd_set_type)operator(()ident(n)operator(,)ident(t)operator(\)) \ ident(RNODE)operator(()ident(n)operator(\)->)ident(flags)operator(=(()ident(RNODE)operator(()ident(n)operator(\)->)ident(flags)operator(&~)ident(FL_UMASK)operator(\)|((()ident(t)operator(\)<<)ident(FL_USHIFT)operator(\)&)ident(FL_UMASK)operator(\)\)) preprocessor(#define) ident(NODE_LSHIFT) operator(()ident(FL_USHIFT)operator(+)integer(8)operator(\)) preprocessor(#define) ident(NODE_LMASK) operator(((()pre_type(long)operator(\))integer(1)operator(<<()reserved(sizeof)operator(()ident(NODE)operator(*\)*)ident(CHAR_BIT)operator(-)ident(NODE_LSHIFT)operator(\)\)-)integer(1)operator(\)) preprocessor(#define) ident(nd_line)operator(()ident(n)operator(\)) operator((()pre_type(unsigned) pre_type(int)operator(\)((()ident(RNODE)operator(()ident(n)operator(\)\)->)ident(flags)operator(>>)ident(NODE_LSHIFT)operator(\)&)ident(NODE_LMASK)operator(\)\)) preprocessor(#define) ident(nd_set_line)operator(()ident(n)operator(,)ident(l)operator(\)) \ ident(RNODE)operator(()ident(n)operator(\)->)ident(flags)operator(=(()ident(RNODE)operator(()ident(n)operator(\)->)ident(flags)operator(&~(-)integer(1)operator(<<)ident(NODE_LSHIFT)operator(\)\)|((()ident(l)operator(\)&)ident(NODE_LMASK)operator(\)<<)ident(NODE_LSHIFT)operator(\)\)) preprocessor(#define) ident(nd_head) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_alen) ident(u2)operator(.)ident(argc) preprocessor(#define) ident(nd_next) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_cond) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_body) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_else) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_orig) ident(u3)operator(.)ident(value) preprocessor(#define) ident(nd_resq) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_ensr) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_1st) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_2nd) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_stts) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_entry) ident(u3)operator(.)ident(entry) preprocessor(#define) ident(nd_vid) ident(u1)operator(.)ident(id) preprocessor(#define) ident(nd_cflag) ident(u2)operator(.)ident(id) preprocessor(#define) ident(nd_cval) ident(u3)operator(.)ident(value) preprocessor(#define) ident(nd_cnt) ident(u3)operator(.)ident(cnt) preprocessor(#define) ident(nd_tbl) ident(u1)operator(.)ident(tbl) preprocessor(#define) ident(nd_var) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_ibdy) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_iter) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_value) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_aid) ident(u3)operator(.)ident(id) preprocessor(#define) ident(nd_lit) ident(u1)operator(.)ident(value) preprocessor(#define) ident(nd_frml) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_rest) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_opt) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_recv) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_mid) ident(u2)operator(.)ident(id) preprocessor(#define) ident(nd_args) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_noex) ident(u1)operator(.)ident(id) preprocessor(#define) ident(nd_defn) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_cfnc) ident(u1)operator(.)ident(cfunc) preprocessor(#define) ident(nd_argc) ident(u2)operator(.)ident(argc) preprocessor(#define) ident(nd_cpath) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_super) ident(u3)operator(.)ident(node) preprocessor(#define) ident(nd_modl) ident(u1)operator(.)ident(id) preprocessor(#define) ident(nd_clss) ident(u1)operator(.)ident(value) preprocessor(#define) ident(nd_beg) ident(u1)operator(.)ident(node) preprocessor(#define) ident(nd_end) ident(u2)operator(.)ident(node) preprocessor(#define) ident(nd_state) ident(u3)operator(.)ident(state) preprocessor(#define) ident(nd_rval) ident(u2)operator(.)ident(value) preprocessor(#define) ident(nd_nth) ident(u2)operator(.)ident(argc) preprocessor(#define) ident(nd_tag) ident(u1)operator(.)ident(id) preprocessor(#define) ident(nd_tval) ident(u2)operator(.)ident(value) preprocessor(#define) ident(NEW_NODE)operator(()ident(t)operator(,)ident(a0)operator(,)ident(a1)operator(,)ident(a2)operator(\)) ident(rb_node_newnode)operator((()ident(t)operator(\),()ident(VALUE)operator(\)()ident(a0)operator(\),()ident(VALUE)operator(\)()ident(a1)operator(\),()ident(VALUE)operator(\)()ident(a2)operator(\)\)) preprocessor(#define) ident(NEW_METHOD)operator(()ident(n)operator(,)ident(x)operator(\)) ident(NEW_NODE)operator(()ident(NODE_METHOD)operator(,)ident(x)operator(,)ident(n)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_FBODY)operator(()ident(n)operator(,)ident(i)operator(,)ident(o)operator(\)) ident(NEW_NODE)operator(()ident(NODE_FBODY)operator(,)ident(n)operator(,)ident(i)operator(,)ident(o)operator(\)) preprocessor(#define) ident(NEW_DEFN)operator(()ident(i)operator(,)ident(a)operator(,)ident(d)operator(,)ident(p)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DEFN)operator(,)ident(p)operator(,)ident(i)operator(,)ident(NEW_RFUNC)operator(()ident(a)operator(,)ident(d)operator(\)\)) preprocessor(#define) ident(NEW_DEFS)operator(()ident(r)operator(,)ident(i)operator(,)ident(a)operator(,)ident(d)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DEFS)operator(,)ident(r)operator(,)ident(i)operator(,)ident(NEW_RFUNC)operator(()ident(a)operator(,)ident(d)operator(\)\)) preprocessor(#define) ident(NEW_CFUNC)operator(()ident(f)operator(,)ident(c)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CFUNC)operator(,)ident(f)operator(,)ident(c)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_IFUNC)operator(()ident(f)operator(,)ident(c)operator(\)) ident(NEW_NODE)operator(()ident(NODE_IFUNC)operator(,)ident(f)operator(,)ident(c)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_RFUNC)operator(()ident(b1)operator(,)ident(b2)operator(\)) ident(NEW_SCOPE)operator(()ident(block_append)operator(()ident(b1)operator(,)ident(b2)operator(\)\)) preprocessor(#define) ident(NEW_SCOPE)operator(()ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_SCOPE)operator(,)ident(local_tbl)operator((\),)integer(0)operator(,()ident(b)operator(\)\)) preprocessor(#define) ident(NEW_BLOCK)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BLOCK)operator(,)ident(a)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_IF)operator(()ident(c)operator(,)ident(t)operator(,)ident(e)operator(\)) ident(NEW_NODE)operator(()ident(NODE_IF)operator(,)ident(c)operator(,)ident(t)operator(,)ident(e)operator(\)) preprocessor(#define) ident(NEW_UNLESS)operator(()ident(c)operator(,)ident(t)operator(,)ident(e)operator(\)) ident(NEW_IF)operator(()ident(c)operator(,)ident(e)operator(,)ident(t)operator(\)) preprocessor(#define) ident(NEW_CASE)operator(()ident(h)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CASE)operator(,)ident(h)operator(,)ident(b)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_WHEN)operator(()ident(c)operator(,)ident(t)operator(,)ident(e)operator(\)) ident(NEW_NODE)operator(()ident(NODE_WHEN)operator(,)ident(c)operator(,)ident(t)operator(,)ident(e)operator(\)) preprocessor(#define) ident(NEW_OPT_N)operator(()ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_OPT_N)operator(,)integer(0)operator(,)ident(b)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_WHILE)operator(()ident(c)operator(,)ident(b)operator(,)ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_WHILE)operator(,)ident(c)operator(,)ident(b)operator(,)ident(n)operator(\)) preprocessor(#define) ident(NEW_UNTIL)operator(()ident(c)operator(,)ident(b)operator(,)ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_UNTIL)operator(,)ident(c)operator(,)ident(b)operator(,)ident(n)operator(\)) preprocessor(#define) ident(NEW_FOR)operator(()ident(v)operator(,)ident(i)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_FOR)operator(,)ident(v)operator(,)ident(b)operator(,)ident(i)operator(\)) preprocessor(#define) ident(NEW_ITER)operator(()ident(v)operator(,)ident(i)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ITER)operator(,)ident(v)operator(,)ident(b)operator(,)ident(i)operator(\)) preprocessor(#define) ident(NEW_BREAK)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BREAK)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_NEXT)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_NEXT)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_REDO)operator((\)) ident(NEW_NODE)operator(()ident(NODE_REDO)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_RETRY)operator((\)) ident(NEW_NODE)operator(()ident(NODE_RETRY)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_BEGIN)operator(()ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BEGIN)operator(,)integer(0)operator(,)ident(b)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_RESCUE)operator(()ident(b)operator(,)ident(res)operator(,)ident(e)operator(\)) ident(NEW_NODE)operator(()ident(NODE_RESCUE)operator(,)ident(b)operator(,)ident(res)operator(,)ident(e)operator(\)) preprocessor(#define) ident(NEW_RESBODY)operator(()ident(a)operator(,)ident(ex)operator(,)ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_RESBODY)operator(,)ident(n)operator(,)ident(ex)operator(,)ident(a)operator(\)) preprocessor(#define) ident(NEW_ENSURE)operator(()ident(b)operator(,)ident(en)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ENSURE)operator(,)ident(b)operator(,)integer(0)operator(,)ident(en)operator(\)) preprocessor(#define) ident(NEW_RETURN)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_RETURN)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_YIELD)operator(()ident(a)operator(,)ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_YIELD)operator(,)ident(a)operator(,)integer(0)operator(,)ident(s)operator(\)) preprocessor(#define) ident(NEW_LIST)operator(()ident(a)operator(\)) ident(NEW_ARRAY)operator(()ident(a)operator(\)) preprocessor(#define) ident(NEW_ARRAY)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ARRAY)operator(,)ident(a)operator(,)integer(1)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_ZARRAY)operator((\)) ident(NEW_NODE)operator(()ident(NODE_ZARRAY)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_HASH)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_HASH)operator(,)ident(a)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_NOT)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_NOT)operator(,)integer(0)operator(,)ident(a)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_MASGN)operator(()ident(l)operator(,)ident(r)operator(\)) ident(NEW_NODE)operator(()ident(NODE_MASGN)operator(,)ident(l)operator(,)integer(0)operator(,)ident(r)operator(\)) preprocessor(#define) ident(NEW_GASGN)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_GASGN)operator(,)ident(v)operator(,)ident(val)operator(,)ident(rb_global_entry)operator(()ident(v)operator(\)\)) preprocessor(#define) ident(NEW_LASGN)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_LASGN)operator(,)ident(v)operator(,)ident(val)operator(,)ident(local_cnt)operator(()ident(v)operator(\)\)) preprocessor(#define) ident(NEW_DASGN)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DASGN)operator(,)ident(v)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DASGN_CURR)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DASGN_CURR)operator(,)ident(v)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_IASGN)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_IASGN)operator(,)ident(v)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_CDECL)operator(()ident(v)operator(,)ident(val)operator(,)ident(path)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CDECL)operator(,)ident(v)operator(,)ident(val)operator(,)ident(path)operator(\)) preprocessor(#define) ident(NEW_CVASGN)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CVASGN)operator(,)ident(v)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_CVDECL)operator(()ident(v)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CVDECL)operator(,)ident(v)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_OP_ASGN1)operator(()ident(p)operator(,)ident(id)operator(,)ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_OP_ASGN1)operator(,)ident(p)operator(,)ident(id)operator(,)ident(a)operator(\)) preprocessor(#define) ident(NEW_OP_ASGN2)operator(()ident(r)operator(,)ident(i)operator(,)ident(o)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_OP_ASGN2)operator(,)ident(r)operator(,)ident(val)operator(,)ident(NEW_OP_ASGN22)operator(()ident(i)operator(,)ident(o)operator(\)\)) preprocessor(#define) ident(NEW_OP_ASGN22)operator(()ident(i)operator(,)ident(o)operator(\)) ident(NEW_NODE)operator(()ident(NODE_OP_ASGN2)operator(,)ident(i)operator(,)ident(o)operator(,)ident(rb_id_attrset)operator(()ident(i)operator(\)\)) preprocessor(#define) ident(NEW_OP_ASGN_OR)operator(()ident(i)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_OP_ASGN_OR)operator(,)ident(i)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_OP_ASGN_AND)operator(()ident(i)operator(,)ident(val)operator(\)) ident(NEW_NODE)operator(()ident(NODE_OP_ASGN_AND)operator(,)ident(i)operator(,)ident(val)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_GVAR)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_GVAR)operator(,)ident(v)operator(,)integer(0)operator(,)ident(rb_global_entry)operator(()ident(v)operator(\)\)) preprocessor(#define) ident(NEW_LVAR)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_LVAR)operator(,)ident(v)operator(,)integer(0)operator(,)ident(local_cnt)operator(()ident(v)operator(\)\)) preprocessor(#define) ident(NEW_DVAR)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DVAR)operator(,)ident(v)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_IVAR)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_IVAR)operator(,)ident(v)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_CONST)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CONST)operator(,)ident(v)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_CVAR)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CVAR)operator(,)ident(v)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_NTH_REF)operator(()ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_NTH_REF)operator(,)integer(0)operator(,)ident(n)operator(,)ident(local_cnt)operator(()char('~')operator(\)\)) preprocessor(#define) ident(NEW_BACK_REF)operator(()ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BACK_REF)operator(,)integer(0)operator(,)ident(n)operator(,)ident(local_cnt)operator(()char('~')operator(\)\)) preprocessor(#define) ident(NEW_MATCH)operator(()ident(c)operator(\)) ident(NEW_NODE)operator(()ident(NODE_MATCH)operator(,)ident(c)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_MATCH2)operator(()ident(n1)operator(,)ident(n2)operator(\)) ident(NEW_NODE)operator(()ident(NODE_MATCH2)operator(,)ident(n1)operator(,)ident(n2)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_MATCH3)operator(()ident(r)operator(,)ident(n2)operator(\)) ident(NEW_NODE)operator(()ident(NODE_MATCH3)operator(,)ident(r)operator(,)ident(n2)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_LIT)operator(()ident(l)operator(\)) ident(NEW_NODE)operator(()ident(NODE_LIT)operator(,)ident(l)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_STR)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_STR)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DSTR)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DSTR)operator(,)ident(s)operator(,)integer(1)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_XSTR)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_XSTR)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DXSTR)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DXSTR)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DSYM)operator(()ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DSYM)operator(,)ident(s)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_EVSTR)operator(()ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_EVSTR)operator(,)integer(0)operator(,()ident(n)operator(\),)integer(0)operator(\)) preprocessor(#define) ident(NEW_CALL)operator(()ident(r)operator(,)ident(m)operator(,)ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CALL)operator(,)ident(r)operator(,)ident(m)operator(,)ident(a)operator(\)) preprocessor(#define) ident(NEW_FCALL)operator(()ident(m)operator(,)ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_FCALL)operator(,)integer(0)operator(,)ident(m)operator(,)ident(a)operator(\)) preprocessor(#define) ident(NEW_VCALL)operator(()ident(m)operator(\)) ident(NEW_NODE)operator(()ident(NODE_VCALL)operator(,)integer(0)operator(,)ident(m)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_SUPER)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_SUPER)operator(,)integer(0)operator(,)integer(0)operator(,)ident(a)operator(\)) preprocessor(#define) ident(NEW_ZSUPER)operator((\)) ident(NEW_NODE)operator(()ident(NODE_ZSUPER)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_ARGS)operator(()ident(f)operator(,)ident(o)operator(,)ident(r)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ARGS)operator(,)ident(o)operator(,)ident(r)operator(,)ident(f)operator(\)) preprocessor(#define) ident(NEW_ARGSCAT)operator(()ident(a)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ARGSCAT)operator(,)ident(a)operator(,)ident(b)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_ARGSPUSH)operator(()ident(a)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ARGSPUSH)operator(,)ident(a)operator(,)ident(b)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_SPLAT)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_SPLAT)operator(,)ident(a)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_TO_ARY)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_TO_ARY)operator(,)ident(a)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_SVALUE)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_SVALUE)operator(,)ident(a)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_BLOCK_ARG)operator(()ident(v)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BLOCK_ARG)operator(,)ident(v)operator(,)integer(0)operator(,)ident(local_cnt)operator(()ident(v)operator(\)\)) preprocessor(#define) ident(NEW_BLOCK_PASS)operator(()ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BLOCK_PASS)operator(,)integer(0)operator(,)ident(b)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_ALIAS)operator(()ident(n)operator(,)ident(o)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ALIAS)operator(,)ident(n)operator(,)ident(o)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_VALIAS)operator(()ident(n)operator(,)ident(o)operator(\)) ident(NEW_NODE)operator(()ident(NODE_VALIAS)operator(,)ident(n)operator(,)ident(o)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_UNDEF)operator(()ident(i)operator(\)) ident(NEW_NODE)operator(()ident(NODE_UNDEF)operator(,)integer(0)operator(,)ident(i)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_CLASS)operator(()ident(n)operator(,)ident(b)operator(,)ident(s)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CLASS)operator(,)ident(n)operator(,)ident(NEW_SCOPE)operator(()ident(b)operator(\),()ident(s)operator(\)\)) preprocessor(#define) ident(NEW_SCLASS)operator(()ident(r)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_SCLASS)operator(,)ident(r)operator(,)ident(NEW_SCOPE)operator(()ident(b)operator(\),)integer(0)operator(\)) preprocessor(#define) ident(NEW_MODULE)operator(()ident(n)operator(,)ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_MODULE)operator(,)ident(n)operator(,)ident(NEW_SCOPE)operator(()ident(b)operator(\),)integer(0)operator(\)) preprocessor(#define) ident(NEW_COLON2)operator(()ident(c)operator(,)ident(i)operator(\)) ident(NEW_NODE)operator(()ident(NODE_COLON2)operator(,)ident(c)operator(,)ident(i)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_COLON3)operator(()ident(i)operator(\)) ident(NEW_NODE)operator(()ident(NODE_COLON3)operator(,)integer(0)operator(,)ident(i)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_CREF)operator(()ident(c)operator(,)ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_CREF)operator(,)ident(c)operator(,)integer(0)operator(,)ident(n)operator(\)) preprocessor(#define) ident(NEW_DOT2)operator(()ident(b)operator(,)ident(e)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DOT2)operator(,)ident(b)operator(,)ident(e)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DOT3)operator(()ident(b)operator(,)ident(e)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DOT3)operator(,)ident(b)operator(,)ident(e)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_ATTRSET)operator(()ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ATTRSET)operator(,)ident(a)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_SELF)operator((\)) ident(NEW_NODE)operator(()ident(NODE_SELF)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_NIL)operator((\)) ident(NEW_NODE)operator(()ident(NODE_NIL)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_TRUE)operator((\)) ident(NEW_NODE)operator(()ident(NODE_TRUE)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_FALSE)operator((\)) ident(NEW_NODE)operator(()ident(NODE_FALSE)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DEFINED)operator(()ident(e)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DEFINED)operator(,)ident(e)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_NEWLINE)operator(()ident(n)operator(\)) ident(NEW_NODE)operator(()ident(NODE_NEWLINE)operator(,)integer(0)operator(,)integer(0)operator(,)ident(n)operator(\)) preprocessor(#define) ident(NEW_PREEXE)operator(()ident(b)operator(\)) ident(NEW_SCOPE)operator(()ident(b)operator(\)) preprocessor(#define) ident(NEW_POSTEXE)operator((\)) ident(NEW_NODE)operator(()ident(NODE_POSTEXE)operator(,)integer(0)operator(,)integer(0)operator(,)integer(0)operator(\)) preprocessor(#define) ident(NEW_DMETHOD)operator(()ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_DMETHOD)operator(,)integer(0)operator(,)integer(0)operator(,)ident(b)operator(\)) preprocessor(#define) ident(NEW_BMETHOD)operator(()ident(b)operator(\)) ident(NEW_NODE)operator(()ident(NODE_BMETHOD)operator(,)integer(0)operator(,)integer(0)operator(,)ident(b)operator(\)) preprocessor(#define) ident(NEW_ATTRASGN)operator(()ident(r)operator(,)ident(m)operator(,)ident(a)operator(\)) ident(NEW_NODE)operator(()ident(NODE_ATTRASGN)operator(,)ident(r)operator(,)ident(m)operator(,)ident(a)operator(\)) preprocessor(#define) ident(NOEX_PUBLIC) integer(0) preprocessor(#define) ident(NOEX_NOSUPER) integer(1) preprocessor(#define) ident(NOEX_PRIVATE) integer(2) preprocessor(#define) ident(NOEX_PROTECTED) integer(4) preprocessor(#define) ident(NOEX_MASK) integer(6) preprocessor(#define) ident(NOEX_UNDEF) ident(NOEX_NOSUPER) ident(NODE) operator(*)ident(rb_compile_cstr) ident(_)operator((()directive(const) pre_type(char)operator(*,) directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(\)\);) ident(NODE) operator(*)ident(rb_compile_string) ident(_)operator((()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) ident(NODE) operator(*)ident(rb_compile_file) ident(_)operator((()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(,) pre_type(int)operator(\)\);) directive(void) ident(rb_add_method) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) ident(NODE) operator(*,) pre_type(int)operator(\)\);) ident(NODE) operator(*)ident(rb_node_newnode) ident(_)operator((()reserved(enum) ident(node_type)operator(,)ident(VALUE)operator(,)ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(NODE)operator(*) ident(rb_method_node) ident(_)operator((()ident(VALUE) ident(klass)operator(,) ident(ID) ident(id)operator(\)\);) reserved(struct) ident(global_entry) operator(*)ident(rb_global_entry) ident(_)operator((()ident(ID)operator(\)\);) ident(VALUE) ident(rb_gvar_get) ident(_)operator((()reserved(struct) ident(global_entry) operator(*\)\);) ident(VALUE) ident(rb_gvar_set) ident(_)operator((()reserved(struct) ident(global_entry) operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_gvar_defined) ident(_)operator((()reserved(struct) ident(global_entry) operator(*\)\);) reserved(typedef) pre_type(unsigned) pre_type(int) ident(rb_event_t)operator(;) preprocessor(#define) ident(RUBY_EVENT_NONE) hex(0x00) preprocessor(#define) ident(RUBY_EVENT_LINE) hex(0x01) preprocessor(#define) ident(RUBY_EVENT_CLASS) hex(0x02) preprocessor(#define) ident(RUBY_EVENT_END) hex(0x04) preprocessor(#define) ident(RUBY_EVENT_CALL) hex(0x08) preprocessor(#define) ident(RUBY_EVENT_RETURN) hex(0x10) preprocessor(#define) ident(RUBY_EVENT_C_CALL) hex(0x20) preprocessor(#define) ident(RUBY_EVENT_C_RETURN) hex(0x40) preprocessor(#define) ident(RUBY_EVENT_RAISE) hex(0x80) preprocessor(#define) ident(RUBY_EVENT_ALL) hex(0xff) reserved(typedef) directive(void) operator((*)ident(rb_event_hook_func_t)operator(\)) ident(_)operator((()ident(rb_event_t)operator(,)ident(NODE)operator(*,)ident(VALUE)operator(,)ident(ID)operator(,)ident(VALUE)operator(\)\);) ident(NODE) operator(*)ident(rb_copy_node_scope) ident(_)operator((()ident(NODE) operator(*,) ident(NODE) operator(*\)\);) directive(void) ident(rb_add_event_hook) ident(_)operator((()ident(rb_event_hook_func_t)operator(,)ident(rb_event_t)operator(\)\);) pre_type(int) ident(rb_remove_event_hook) ident(_)operator((()ident(rb_event_hook_func_t)operator(\)\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_GETCONTEXT)operator(\)) operator(&&) ident(defined)operator(()ident(HAVE_SETCONTEXT)operator(\)) preprocessor(#include) include() preprocessor(#define) ident(USE_CONTEXT) preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include("st.h") preprocessor(#ifdef) ident(USE_CONTEXT) reserved(typedef) reserved(struct) operator({) ident(ucontext_t) ident(context)operator(;) directive(volatile) pre_type(int) ident(status)operator(;) operator(}) ident(rb_jmpbuf_t)operator([)integer(1)operator(];) preprocessor(#else) reserved(typedef) ident(jmp_buf) ident(rb_jmpbuf_t)operator(;) preprocessor(#endif) reserved(enum) ident(rb_thread_status) operator({) ident(THREAD_TO_KILL)operator(,) ident(THREAD_RUNNABLE)operator(,) ident(THREAD_STOPPED)operator(,) ident(THREAD_KILLED) operator(};) reserved(typedef) reserved(struct) ident(rb_thread) operator(*)ident(rb_thread_t)operator(;) reserved(struct) ident(rb_thread) operator({) ident(rb_thread_t) ident(next)operator(,) ident(prev)operator(;) ident(rb_jmpbuf_t) ident(context)operator(;) preprocessor(#if) operator(()ident(defined) ident(_WIN32) operator(&&) operator(!)ident(defined) ident(_WIN32_WCE)operator(\)) operator(||) ident(defined) ident(__CYGWIN__) pre_type(unsigned) pre_type(long) ident(win32_exception_list)operator(;) preprocessor(#endif) ident(VALUE) ident(result)operator(;) ident(size_t) ident(stk_len)operator(;) ident(size_t) ident(stk_max)operator(;) ident(VALUE) operator(*)ident(stk_ptr)operator(;) ident(VALUE) operator(*)ident(stk_pos)operator(;) preprocessor(#ifdef) ident(__ia64) ident(size_t) ident(bstr_len)operator(;) ident(size_t) ident(bstr_max)operator(;) ident(VALUE) operator(*)ident(bstr_ptr)operator(;) ident(VALUE) operator(*)ident(bstr_pos)operator(;) preprocessor(#endif) reserved(struct) ident(FRAME) operator(*)ident(frame)operator(;) reserved(struct) ident(SCOPE) operator(*)ident(scope)operator(;) reserved(struct) ident(RVarmap) operator(*)ident(dyna_vars)operator(;) reserved(struct) ident(BLOCK) operator(*)ident(block)operator(;) reserved(struct) ident(iter) operator(*)ident(iter)operator(;) reserved(struct) ident(tag) operator(*)ident(tag)operator(;) ident(VALUE) ident(klass)operator(;) ident(VALUE) ident(wrapper)operator(;) ident(NODE) operator(*)ident(cref)operator(;) pre_type(int) ident(flags)operator(;) comment(/* misc. states (vmode/rb_trap_immediate/raised\) */) ident(NODE) operator(*)ident(node)operator(;) pre_type(int) ident(tracing)operator(;) ident(VALUE) ident(errinfo)operator(;) ident(VALUE) ident(last_status)operator(;) ident(VALUE) ident(last_line)operator(;) ident(VALUE) ident(last_match)operator(;) pre_type(int) ident(safe)operator(;) reserved(enum) ident(rb_thread_status) ident(status)operator(;) pre_type(int) ident(wait_for)operator(;) pre_type(int) ident(fd)operator(;) ident(fd_set) ident(readfds)operator(;) ident(fd_set) ident(writefds)operator(;) ident(fd_set) ident(exceptfds)operator(;) pre_type(int) ident(select_value)operator(;) pre_type(double) ident(delay)operator(;) ident(rb_thread_t) ident(join)operator(;) pre_type(int) ident(abort)operator(;) pre_type(int) ident(priority)operator(;) ident(VALUE) ident(thgroup)operator(;) reserved(struct) ident(st_table) operator(*)ident(locals)operator(;) ident(VALUE) ident(thread)operator(;) ident(VALUE) ident(sandbox)operator(;) operator(};) directive(extern) ident(VALUE) operator((*)ident(ruby_sandbox_save)operator(\))ident(_)operator((()ident(rb_thread_t)operator(\)\);) directive(extern) ident(VALUE) operator((*)ident(ruby_sandbox_restore)operator(\))ident(_)operator((()ident(rb_thread_t)operator(\)\);) directive(extern) ident(rb_thread_t) ident(rb_curr_thread)operator(;) directive(extern) ident(rb_thread_t) ident(rb_main_thread)operator(;) reserved(enum) operator({) ident(RAISED_EXCEPTION) operator(=) hex(0x1000)operator(,) ident(RAISED_STACKOVERFLOW) operator(=) hex(0x2000)operator(,) ident(RAISED_NOMEMORY) operator(=) hex(0x4000)operator(,) ident(RAISED_MASK) operator(=) hex(0xf000) operator(};) pre_type(int) ident(rb_thread_set_raised)operator(()ident(rb_thread_t) ident(th)operator(\);) pre_type(int) ident(rb_thread_reset_raised)operator(()ident(rb_thread_t) ident(th)operator(\);) preprocessor(#define) ident(rb_thread_raised_set)operator(()ident(th)operator(,) ident(f)operator(\)) operator((()ident(th)operator(\)->)ident(flags) operator(|=) operator(()ident(f)operator(\)\)) preprocessor(#define) ident(rb_thread_raised_reset)operator(()ident(th)operator(,) ident(f)operator(\)) operator((()ident(th)operator(\)->)ident(flags) operator(&=) operator(~()ident(f)operator(\)\)) preprocessor(#define) ident(rb_thread_raised_p)operator(()ident(th)operator(,) ident(f)operator(\)) operator(((()ident(th)operator(\)->)ident(flags) operator(&) operator(()ident(f)operator(\)\)) operator(!=) integer(0)operator(\)) preprocessor(#define) ident(rb_thread_raised_clear)operator(()ident(th)operator(\)) operator(()ident(rb_thread_raised_reset)operator(()ident(th)operator(,) ident(RAISED_MASK)operator(\)\)) preprocessor(#if) ident(defined)operator(()ident(__cplusplus)operator(\)) operator(}) comment(/* extern "C" { */) preprocessor(#endif) preprocessor(#endif) comment(/********************************************************************** re.h - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Thu Sep 30 14:18:32 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(RE_H) preprocessor(#define) ident(RE_H) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#include) include("regex.h") reserved(typedef) reserved(struct) ident(re_pattern_buffer) ident(Regexp)operator(;) reserved(struct) ident(RMatch) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) ident(VALUE) ident(str)operator(;) reserved(struct) ident(re_registers) operator(*)ident(regs)operator(;) operator(};) preprocessor(#define) ident(RMATCH)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RMatch)operator(\)()ident(obj)operator(\)\)) ident(VALUE) ident(rb_reg_regcomp) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(long) ident(rb_reg_search) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) pre_type(long)operator(,) pre_type(long)operator(\)\);) ident(VALUE) ident(rb_reg_regsub) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) reserved(struct) ident(re_registers) operator(*\)\);) pre_type(long) ident(rb_reg_adjust_startpos) ident(_)operator((()ident(VALUE)operator(,) ident(VALUE)operator(,) pre_type(long)operator(,) pre_type(long)operator(\)\);) directive(void) ident(rb_match_busy) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_reg_quote) ident(_)operator((()ident(VALUE)operator(\)\);) ident(RUBY_EXTERN) pre_type(int) ident(ruby_ignorecase)operator(;) pre_type(int) ident(rb_reg_mbclen2) ident(_)operator((()pre_type(unsigned) pre_type(int)operator(,) ident(VALUE)operator(\)\);) preprocessor(#define) ident(mbclen2)operator(()ident(c)operator(,)ident(re)operator(\)) ident(rb_reg_mbclen2)operator((()ident(c)operator(\),()ident(re)operator(\)\)) preprocessor(#endif) comment(/* Definitions for data structures and routines for the regular expression library, version 0.12. Copyright (C\) 1985,89,90,91,92,93,95,96,97,98 Free Software Foundation, Inc. This file is part of the GNU C Library. Its master source is NOT part of the C library, however. The master source lives in /gd/gnu/lib. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option\) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file LGPL. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */) comment(/* Multi-byte extension added May, 1993 by t^2 (Takahiro Tanimoto\) Last change: May 21, 1993 by t^2 */) comment(/* modified for Ruby by matz@netlab.co.jp */) preprocessor(#ifndef) ident(REGEX_H) preprocessor(#define) ident(REGEX_H) comment(/* symbol mangling for ruby */) preprocessor(#ifdef) ident(RUBY) preprocessor(# define) ident(re_adjust_startpos) ident(ruby_re_adjust_startpos) preprocessor(# define) ident(re_compile_fastmap) ident(ruby_re_compile_fastmap) preprocessor(# define) ident(re_compile_pattern) ident(ruby_re_compile_pattern) preprocessor(# define) ident(re_copy_registers) ident(ruby_re_copy_registers) preprocessor(# define) ident(re_free_pattern) ident(ruby_re_free_pattern) preprocessor(# define) ident(re_free_registers) ident(ruby_re_free_registers) preprocessor(# define) ident(re_match) ident(ruby_re_match) preprocessor(# define) ident(re_mbcinit) ident(ruby_re_mbcinit) preprocessor(# define) ident(re_search) ident(ruby_re_search) preprocessor(# define) ident(re_set_casetable) ident(ruby_re_set_casetable) preprocessor(# define) ident(register_info_type) ident(ruby_register_info_type) preprocessor(#endif) preprocessor(#include) include() comment(/* Define number of parens for which we record the beginnings and ends. This affects how much space the `struct re_registers' type takes up. */) preprocessor(#ifndef) ident(RE_NREGS) preprocessor(#define) ident(RE_NREGS) integer(10) preprocessor(#endif) preprocessor(#define) ident(BYTEWIDTH) integer(8) preprocessor(#define) ident(RE_REG_MAX) operator((()integer(1)operator(<<)ident(BYTEWIDTH)operator(\)-)integer(1)operator(\)) comment(/* Maximum number of duplicates an interval can allow. */) preprocessor(#ifndef) ident(RE_DUP_MAX) preprocessor(#define) ident(RE_DUP_MAX) operator((()integer(1) operator(<<) integer(15)operator(\)) operator(-) integer(1)operator(\)) preprocessor(#endif) comment(/* If this bit is set, then character classes are supported; they are: [:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:], [:space:], [:print:], [:punct:], [:graph:], and [:cntrl:]. If not set, then character classes are not supported. */) preprocessor(#define) ident(RE_CHAR_CLASSES) operator(()integer(1L) operator(<<) integer(9)operator(\)) comment(/* match will be done case insensetively */) preprocessor(#define) ident(RE_OPTION_IGNORECASE) operator(()integer(1L)operator(\)) comment(/* perl-style extended pattern available */) preprocessor(#define) ident(RE_OPTION_EXTENDED) operator(()ident(RE_OPTION_IGNORECASE)operator(<<)integer(1)operator(\)) comment(/* newline will be included for . */) preprocessor(#define) ident(RE_OPTION_MULTILINE) operator(()ident(RE_OPTION_EXTENDED)operator(<<)integer(1)operator(\)) comment(/* ^ and $ ignore newline */) preprocessor(#define) ident(RE_OPTION_SINGLELINE) operator(()ident(RE_OPTION_MULTILINE)operator(<<)integer(1)operator(\)) comment(/* search for longest match, in accord with POSIX regexp */) preprocessor(#define) ident(RE_OPTION_LONGEST) operator(()ident(RE_OPTION_SINGLELINE)operator(<<)integer(1)operator(\)) preprocessor(#define) ident(RE_MAY_IGNORECASE) operator(()ident(RE_OPTION_LONGEST)operator(<<)integer(1)operator(\)) preprocessor(#define) ident(RE_OPTIMIZE_ANCHOR) operator(()ident(RE_MAY_IGNORECASE)operator(<<)integer(1)operator(\)) preprocessor(#define) ident(RE_OPTIMIZE_EXACTN) operator(()ident(RE_OPTIMIZE_ANCHOR)operator(<<)integer(1)operator(\)) preprocessor(#define) ident(RE_OPTIMIZE_NO_BM) operator(()ident(RE_OPTIMIZE_EXACTN)operator(<<)integer(1)operator(\)) preprocessor(#define) ident(RE_OPTIMIZE_BMATCH) operator(()ident(RE_OPTIMIZE_NO_BM)operator(<<)integer(1)operator(\)) comment(/* For multi-byte char support */) preprocessor(#define) ident(MBCTYPE_ASCII) integer(0) preprocessor(#define) ident(MBCTYPE_EUC) integer(1) preprocessor(#define) ident(MBCTYPE_SJIS) integer(2) preprocessor(#define) ident(MBCTYPE_UTF8) integer(3) directive(extern) preprocessor(#if) ident(defined) ident(_WIN32) operator(&&) operator(!)ident(defined) ident(__GNUC__) operator(&&) operator(!)ident(defined) ident(RUBY_EXPORT) ident(__declspec)operator(()ident(dllimport)operator(\)) preprocessor(# endif) directive(const) pre_type(unsigned) pre_type(char) operator(*)ident(re_mbctab)operator(;) preprocessor(#if) ident(defined)operator(()ident(__STDC__)operator(\)) directive(void) ident(re_mbcinit) operator(()pre_type(int)operator(\);) preprocessor(#else) directive(void) ident(re_mbcinit) operator((\);) preprocessor(#endif) preprocessor(#undef) ident(ismbchar) preprocessor(#define) ident(ismbchar)operator(()ident(c)operator(\)) ident(re_mbctab)operator([()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)]) preprocessor(#define) ident(mbclen)operator(()ident(c)operator(\)) operator(()ident(re_mbctab)operator([()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)]+)integer(1)operator(\)) comment(/* Structure used in re_match(\) */) reserved(typedef) reserved(union) operator({) pre_type(unsigned) pre_type(char) operator(*)ident(word)operator(;) reserved(struct) operator({) pre_type(unsigned) ident(is_active) operator(:) integer(1)operator(;) pre_type(unsigned) ident(matched_something) operator(:) integer(1)operator(;) operator(}) ident(bits)operator(;) operator(}) ident(register_info_type)operator(;) comment(/* This data structure is used to represent a compiled pattern. */) reserved(struct) ident(re_pattern_buffer) operator({) pre_type(char) operator(*)ident(buffer)operator(;) comment(/* Space holding the compiled pattern commands. */) pre_type(int) ident(allocated)operator(;) comment(/* Size of space that `buffer' points to. */) pre_type(int) ident(used)operator(;) comment(/* Length of portion of buffer actually occupied */) pre_type(char) operator(*)ident(fastmap)operator(;) comment(/* Pointer to fastmap, if any, or zero if none. */) comment(/* re_search uses the fastmap, if there is one, to skip over totally implausible characters. */) pre_type(char) operator(*)ident(must)operator(;) comment(/* Pointer to exact pattern which strings should have to be matched. */) pre_type(int) operator(*)ident(must_skip)operator(;) comment(/* Pointer to exact pattern skip table for bm_search */) pre_type(long) ident(options)operator(;) comment(/* Flags for options such as extended_pattern. */) pre_type(long) ident(re_nsub)operator(;) comment(/* Number of subexpressions found by the compiler. */) pre_type(char) ident(fastmap_accurate)operator(;) comment(/* Set to zero when a new pattern is stored, set to one when the fastmap is updated from it. */) pre_type(char) ident(can_be_null)operator(;) comment(/* Set to one by compiling fastmap if this pattern might match the null string. It does not necessarily match the null string in that case, but if this is zero, it cannot. 2 as value means can match null string but at end of range or before a character listed in the fastmap. */) comment(/* stack & working area for re_match(\) */) pre_type(unsigned) pre_type(char) operator(**)ident(regstart)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(regend)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(old_regstart)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(old_regend)operator(;) ident(register_info_type) operator(*)ident(reg_info)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(best_regstart)operator(;) pre_type(unsigned) pre_type(char) operator(**)ident(best_regend)operator(;) operator(};) reserved(typedef) reserved(struct) ident(re_pattern_buffer) ident(regex_t)operator(;) comment(/* Structure to store register contents data in. Pass the address of such a structure as an argument to re_match, etc., if you want this information back. For i from 1 to RE_NREGS - 1, start[i] records the starting index in the string of where the ith subexpression matched, and end[i] records one after the ending index. start[0] and end[0] are analogous, for the entire pattern. */) reserved(struct) ident(re_registers) operator({) pre_type(int) ident(allocated)operator(;) pre_type(int) ident(num_regs)operator(;) pre_type(int) operator(*)ident(beg)operator(;) pre_type(int) operator(*)ident(end)operator(;) operator(};) comment(/* Type for byte offsets within the string. POSIX mandates this. */) reserved(typedef) ident(size_t) ident(regoff_t)operator(;) comment(/* POSIX specification for registers. Aside from the different names than `re_registers', POSIX uses an array of structures, instead of a structure of arrays. */) reserved(typedef) reserved(struct) operator({) ident(regoff_t) ident(rm_so)operator(;) comment(/* Byte offset from string's start to substring's start. */) ident(regoff_t) ident(rm_eo)operator(;) comment(/* Byte offset from string's start to substring's end. */) operator(}) ident(regmatch_t)operator(;) preprocessor(#ifdef) ident(__STDC__) directive(extern) pre_type(char) operator(*)ident(re_compile_pattern) operator(()directive(const) pre_type(char) operator(*,) pre_type(int)operator(,) reserved(struct) ident(re_pattern_buffer) operator(*\);) directive(void) ident(re_free_pattern) operator(()reserved(struct) ident(re_pattern_buffer) operator(*\);) comment(/* Is this really advertised? */) directive(extern) pre_type(int) ident(re_adjust_startpos) operator(()reserved(struct) ident(re_pattern_buffer) operator(*,) directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(,) pre_type(int)operator(\);) directive(extern) directive(void) ident(re_compile_fastmap) operator(()reserved(struct) ident(re_pattern_buffer) operator(*\);) directive(extern) pre_type(int) ident(re_search) operator(()reserved(struct) ident(re_pattern_buffer) operator(*,) directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(,) pre_type(int)operator(,) reserved(struct) ident(re_registers) operator(*\);) directive(extern) pre_type(int) ident(re_match) operator(()reserved(struct) ident(re_pattern_buffer) operator(*,) directive(const) pre_type(char) operator(*,) pre_type(int)operator(,) pre_type(int)operator(,) reserved(struct) ident(re_registers) operator(*\);) directive(extern) directive(void) ident(re_set_casetable) operator(()directive(const) pre_type(char) operator(*)ident(table)operator(\);) directive(extern) directive(void) ident(re_copy_registers) operator(()reserved(struct) ident(re_registers)operator(*,) reserved(struct) ident(re_registers)operator(*\);) directive(extern) directive(void) ident(re_free_registers) operator(()reserved(struct) ident(re_registers)operator(*\);) preprocessor(#ifndef) ident(RUBY) comment(/* 4.2 bsd compatibility. */) directive(extern) pre_type(char) operator(*)ident(re_comp) operator(()directive(const) pre_type(char) operator(*\);) directive(extern) pre_type(int) ident(re_exec) operator(()directive(const) pre_type(char) operator(*\);) preprocessor(#endif) preprocessor(#else) comment(/* !__STDC__ */) directive(extern) pre_type(char) operator(*)ident(re_compile_pattern) operator((\);) directive(void) ident(re_free_regexp) operator((\);) comment(/* Is this really advertised? */) directive(extern) pre_type(int) ident(re_adjust_startpos) operator((\);) directive(extern) directive(void) ident(re_compile_fastmap) operator((\);) directive(extern) pre_type(int) ident(re_search) operator((\);) directive(extern) pre_type(int) ident(re_match) operator((\);) directive(extern) directive(void) ident(re_set_casetable) operator((\);) directive(extern) directive(void) ident(re_copy_registers) operator((\);) directive(extern) directive(void) ident(re_free_registers) operator((\);) preprocessor(#endif) comment(/* __STDC__ */) preprocessor(#endif) comment(/* !REGEX_H */) comment(/********************************************************************** ruby.h - $Author: shyouhei $ created at: Thu Jun 10 14:26:32 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto Copyright (C\) 2000 Network Applied Communication Laboratory, Inc. Copyright (C\) 2000 Information-technology Promotion Agency, Japan **********************************************************************/) preprocessor(#ifndef) ident(RUBY_H) preprocessor(#define) ident(RUBY_H) preprocessor(#if) ident(defined)operator(()ident(__cplusplus)operator(\)) directive(extern) string operator({) comment(#if 0 } /* satisfy cc-mode */ #endif) preprocessor(#endif) preprocessor(#include) include("config.h") preprocessor(#ifdef) ident(RUBY_EXTCONF_H) preprocessor(#include) ident(RUBY_EXTCONF_H) preprocessor(#endif) preprocessor(#define) ident(NORETURN_STYLE_NEW) integer(1) preprocessor(#ifndef) ident(NORETURN) preprocessor(# define) ident(NORETURN)operator(()ident(x)operator(\)) ident(x) preprocessor(#endif) preprocessor(#ifndef) ident(NOINLINE) preprocessor(# define) ident(NOINLINE)operator(()ident(x)operator(\)) ident(x) preprocessor(#endif) preprocessor(#include) include("defines.h") preprocessor(#ifdef) ident(HAVE_STDLIB_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_STRING_H) preprocessor(# include) include() preprocessor(#else) preprocessor(# include) include() preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_INTRINSICS_H) preprocessor(# include) include() preprocessor(#endif) preprocessor(#include) include() preprocessor(#include) include() comment(/* need to include to use these macros */) preprocessor(#ifndef) ident(ISPRINT) preprocessor(#define) ident(ISASCII)operator(()ident(c)operator(\)) ident(isascii)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)) preprocessor(#undef) ident(ISPRINT) preprocessor(#define) ident(ISPRINT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isprint)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISSPACE)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isspace)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISUPPER)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isupper)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISLOWER)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(islower)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISALNUM)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isalnum)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISALPHA)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isalpha)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISDIGIT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isdigit)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#define) ident(ISXDIGIT)operator(()ident(c)operator(\)) operator(()ident(ISASCII)operator(()ident(c)operator(\)) operator(&&) ident(isxdigit)operator((()pre_type(int)operator(\)()pre_type(unsigned) pre_type(char)operator(\)()ident(c)operator(\)\)\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_ALLOCA_H)operator(\)) preprocessor(#include) include() preprocessor(#else) preprocessor(# ifdef) ident(_AIX) preprocessor(#pragma) ident(alloca) preprocessor(# endif) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__VMS)operator(\)) preprocessor(# pragma) ident(builtins) preprocessor(# define) ident(alloca) ident(__alloca) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_LONG) operator(!=) ident(SIZEOF_VOIDP) preprocessor(# error) operator(---->>) ident(ruby) ident(requires) reserved(sizeof)operator(()directive(void)operator(*\)) operator(==) reserved(sizeof)operator(()pre_type(long)operator(\)) ident(to) ident(be) ident(compiled)operator(.) operator(<<----) preprocessor(#else) reserved(typedef) pre_type(unsigned) pre_type(long) ident(VALUE)operator(;) reserved(typedef) pre_type(unsigned) pre_type(long) ident(ID)operator(;) preprocessor(#endif) preprocessor(#ifdef) ident(__STDC__) preprocessor(# include) include() preprocessor(#else) preprocessor(# ifndef) ident(LONG_MAX) preprocessor(# ifdef) ident(HAVE_LIMITS_H) preprocessor(# include) include() preprocessor(# else) comment(/* assuming 32bit(2's compliment\) long */) preprocessor(# define) ident(LONG_MAX) integer(2147483647) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(LONG_MIN) preprocessor(# define) ident(LONG_MIN) operator((-)ident(LONG_MAX)operator(-)integer(1)operator(\)) preprocessor(# endif) preprocessor(# ifndef) ident(CHAR_BIT) preprocessor(# define) ident(CHAR_BIT) integer(8) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_LONG_LONG) preprocessor(# ifndef) ident(LLONG_MAX) preprocessor(# ifdef) ident(LONG_LONG_MAX) preprocessor(# define) ident(LLONG_MAX) ident(LONG_LONG_MAX) preprocessor(# else) preprocessor(# ifdef) ident(_I64_MAX) preprocessor(# define) ident(LLONG_MAX) ident(_I64_MAX) preprocessor(# else) comment(/* assuming 64bit(2's complement\) long long */) preprocessor(# define) ident(LLONG_MAX) integer(9223372036854775807LL) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(# ifndef) ident(LLONG_MIN) preprocessor(# ifdef) ident(LONG_LONG_MIN) preprocessor(# define) ident(LLONG_MIN) ident(LONG_LONG_MIN) preprocessor(# else) preprocessor(# ifdef) ident(_I64_MIN) preprocessor(# define) ident(LLONG_MIN) ident(_I64_MIN) preprocessor(# else) preprocessor(# define) ident(LLONG_MIN) operator((-)ident(LLONG_MAX)operator(-)integer(1)operator(\)) preprocessor(# endif) preprocessor(# endif) preprocessor(# endif) preprocessor(#endif) preprocessor(#define) ident(FIXNUM_MAX) operator(()ident(LONG_MAX)operator(>>)integer(1)operator(\)) preprocessor(#define) ident(FIXNUM_MIN) ident(RSHIFT)operator((()pre_type(long)operator(\))ident(LONG_MIN)operator(,)integer(1)operator(\)) preprocessor(#define) ident(FIXNUM_FLAG) hex(0x01) preprocessor(#define) ident(INT2FIX)operator(()ident(i)operator(\)) operator((()ident(VALUE)operator(\)((()pre_type(long)operator(\)()ident(i)operator(\)\)<<)integer(1) operator(|) ident(FIXNUM_FLAG)operator(\)\)) preprocessor(#define) ident(LONG2FIX)operator(()ident(i)operator(\)) ident(INT2FIX)operator(()ident(i)operator(\)) preprocessor(#define) ident(rb_fix_new)operator(()ident(v)operator(\)) ident(INT2FIX)operator(()ident(v)operator(\)) ident(VALUE) ident(rb_int2inum) ident(_)operator((()pre_type(long)operator(\)\);) preprocessor(#define) ident(INT2NUM)operator(()ident(v)operator(\)) ident(rb_int2inum)operator(()ident(v)operator(\)) preprocessor(#define) ident(LONG2NUM)operator(()ident(v)operator(\)) ident(INT2NUM)operator(()ident(v)operator(\)) preprocessor(#define) ident(rb_int_new)operator(()ident(v)operator(\)) ident(rb_int2inum)operator(()ident(v)operator(\)) ident(VALUE) ident(rb_uint2inum) ident(_)operator((()pre_type(unsigned) pre_type(long)operator(\)\);) preprocessor(#define) ident(UINT2NUM)operator(()ident(v)operator(\)) ident(rb_uint2inum)operator(()ident(v)operator(\)) preprocessor(#define) ident(ULONG2NUM)operator(()ident(v)operator(\)) ident(UINT2NUM)operator(()ident(v)operator(\)) preprocessor(#define) ident(rb_uint_new)operator(()ident(v)operator(\)) ident(rb_uint2inum)operator(()ident(v)operator(\)) preprocessor(#ifdef) ident(HAVE_LONG_LONG) ident(VALUE) ident(rb_ll2inum) ident(_)operator((()ident(LONG_LONG)operator(\)\);) preprocessor(#define) ident(LL2NUM)operator(()ident(v)operator(\)) ident(rb_ll2inum)operator(()ident(v)operator(\)) ident(VALUE) ident(rb_ull2inum) ident(_)operator((()pre_type(unsigned) ident(LONG_LONG)operator(\)\);) preprocessor(#define) ident(ULL2NUM)operator(()ident(v)operator(\)) ident(rb_ull2inum)operator(()ident(v)operator(\)) preprocessor(#endif) preprocessor(#if) ident(SIZEOF_OFF_T) operator(>) ident(SIZEOF_LONG) operator(&&) ident(defined)operator(()ident(HAVE_LONG_LONG)operator(\)) preprocessor(# define) ident(OFFT2NUM)operator(()ident(v)operator(\)) ident(LL2NUM)operator(()ident(v)operator(\)) preprocessor(#elif) ident(SIZEOF_OFF_T) operator(==) ident(SIZEOF_LONG) preprocessor(# define) ident(OFFT2NUM)operator(()ident(v)operator(\)) ident(LONG2NUM)operator(()ident(v)operator(\)) preprocessor(#else) preprocessor(# define) ident(OFFT2NUM)operator(()ident(v)operator(\)) ident(INT2NUM)operator(()ident(v)operator(\)) preprocessor(#endif) preprocessor(#define) ident(FIX2LONG)operator(()ident(x)operator(\)) ident(RSHIFT)operator((()pre_type(long)operator(\))ident(x)operator(,)integer(1)operator(\)) preprocessor(#define) ident(FIX2ULONG)operator(()ident(x)operator(\)) operator(((()pre_type(unsigned) pre_type(long)operator(\)()ident(x)operator(\)\)>>)integer(1)operator(\)) preprocessor(#define) ident(FIXNUM_P)operator(()ident(f)operator(\)) operator(((()pre_type(long)operator(\)()ident(f)operator(\)\)&)ident(FIXNUM_FLAG)operator(\)) preprocessor(#define) ident(POSFIXABLE)operator(()ident(f)operator(\)) operator((()ident(f)operator(\)) operator(<) ident(FIXNUM_MAX)operator(+)integer(1)operator(\)) preprocessor(#define) ident(NEGFIXABLE)operator(()ident(f)operator(\)) operator((()ident(f)operator(\)) operator(>=) ident(FIXNUM_MIN)operator(\)) preprocessor(#define) ident(FIXABLE)operator(()ident(f)operator(\)) operator(()ident(POSFIXABLE)operator(()ident(f)operator(\)) operator(&&) ident(NEGFIXABLE)operator(()ident(f)operator(\)\)) preprocessor(#define) ident(IMMEDIATE_MASK) hex(0x03) preprocessor(#define) ident(IMMEDIATE_P)operator(()ident(x)operator(\)) operator((()ident(VALUE)operator(\)()ident(x)operator(\)) operator(&) ident(IMMEDIATE_MASK)operator(\)) preprocessor(#define) ident(SYMBOL_FLAG) hex(0x0e) preprocessor(#define) ident(SYMBOL_P)operator(()ident(x)operator(\)) operator(((()ident(VALUE)operator(\)()ident(x)operator(\)&)hex(0xff)operator(\)==)ident(SYMBOL_FLAG)operator(\)) preprocessor(#define) ident(ID2SYM)operator(()ident(x)operator(\)) operator((()ident(VALUE)operator(\)((()pre_type(long)operator(\)()ident(x)operator(\)\)<<)integer(8)operator(|)ident(SYMBOL_FLAG)operator(\)\)) preprocessor(#define) ident(SYM2ID)operator(()ident(x)operator(\)) ident(RSHIFT)operator((()pre_type(unsigned) pre_type(long)operator(\))ident(x)operator(,)integer(8)operator(\)) comment(/* special contants - i.e. non-zero and non-fixnum constants */) preprocessor(#define) ident(Qfalse) operator((()ident(VALUE)operator(\))integer(0)operator(\)) preprocessor(#define) ident(Qtrue) operator((()ident(VALUE)operator(\))integer(2)operator(\)) preprocessor(#define) ident(Qnil) operator((()ident(VALUE)operator(\))integer(4)operator(\)) preprocessor(#define) ident(Qundef) operator((()ident(VALUE)operator(\))integer(6)operator(\)) comment(/* undefined value for placeholder */) preprocessor(#define) ident(RTEST)operator(()ident(v)operator(\)) operator(((()ident(VALUE)operator(\)()ident(v)operator(\)) operator(&) operator(~)ident(Qnil)operator(\)) operator(!=) integer(0)operator(\)) preprocessor(#define) ident(NIL_P)operator(()ident(v)operator(\)) operator((()ident(VALUE)operator(\)()ident(v)operator(\)) operator(==) ident(Qnil)operator(\)) preprocessor(#define) ident(CLASS_OF)operator(()ident(v)operator(\)) ident(rb_class_of)operator((()ident(VALUE)operator(\)()ident(v)operator(\)\)) preprocessor(#define) ident(T_NONE) hex(0x00) preprocessor(#define) ident(T_NIL) hex(0x01) preprocessor(#define) ident(T_OBJECT) hex(0x02) preprocessor(#define) ident(T_CLASS) hex(0x03) preprocessor(#define) ident(T_ICLASS) hex(0x04) preprocessor(#define) ident(T_MODULE) hex(0x05) preprocessor(#define) ident(T_FLOAT) hex(0x06) preprocessor(#define) ident(T_STRING) hex(0x07) preprocessor(#define) ident(T_REGEXP) hex(0x08) preprocessor(#define) ident(T_ARRAY) hex(0x09) preprocessor(#define) ident(T_FIXNUM) hex(0x0a) preprocessor(#define) ident(T_HASH) hex(0x0b) preprocessor(#define) ident(T_STRUCT) hex(0x0c) preprocessor(#define) ident(T_BIGNUM) hex(0x0d) preprocessor(#define) ident(T_FILE) hex(0x0e) preprocessor(#define) ident(T_TRUE) hex(0x20) preprocessor(#define) ident(T_FALSE) hex(0x21) preprocessor(#define) ident(T_DATA) hex(0x22) preprocessor(#define) ident(T_MATCH) hex(0x23) preprocessor(#define) ident(T_SYMBOL) hex(0x24) preprocessor(#define) ident(T_BLKTAG) hex(0x3b) preprocessor(#define) ident(T_UNDEF) hex(0x3c) preprocessor(#define) ident(T_VARMAP) hex(0x3d) preprocessor(#define) ident(T_SCOPE) hex(0x3e) preprocessor(#define) ident(T_NODE) hex(0x3f) preprocessor(#define) ident(T_MASK) hex(0x3f) preprocessor(#define) ident(BUILTIN_TYPE)operator(()ident(x)operator(\)) operator(((()reserved(struct) ident(RBasic)operator(*\)()ident(x)operator(\)\)->)ident(flags) operator(&) ident(T_MASK)operator(\)) preprocessor(#define) ident(TYPE)operator(()ident(x)operator(\)) ident(rb_type)operator((()ident(VALUE)operator(\)()ident(x)operator(\)\)) directive(void) ident(rb_check_type) ident(_)operator((()ident(VALUE)operator(,)pre_type(int)operator(\)\);) preprocessor(#define) ident(Check_Type)operator(()ident(v)operator(,)ident(t)operator(\)) ident(rb_check_type)operator((()ident(VALUE)operator(\)()ident(v)operator(\),)ident(t)operator(\)) ident(VALUE) ident(rb_str_to_str) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_string_value) ident(_)operator((()directive(volatile) ident(VALUE)operator(*\)\);) pre_type(char) operator(*)ident(rb_string_value_ptr) ident(_)operator((()directive(volatile) ident(VALUE)operator(*\)\);) pre_type(char) operator(*)ident(rb_string_value_cstr) ident(_)operator((()directive(volatile) ident(VALUE)operator(*\)\);) preprocessor(#define) ident(StringValue)operator(()ident(v)operator(\)) ident(rb_string_value)operator((&()ident(v)operator(\)\)) preprocessor(#define) ident(StringValuePtr)operator(()ident(v)operator(\)) ident(rb_string_value_ptr)operator((&()ident(v)operator(\)\)) preprocessor(#define) ident(StringValueCStr)operator(()ident(v)operator(\)) ident(rb_string_value_cstr)operator((&()ident(v)operator(\)\)) directive(void) ident(rb_check_safe_obj) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_check_safe_str) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(SafeStringValue)operator(()ident(v)operator(\)) reserved(do) operator({)\ ident(StringValue)operator(()ident(v)operator(\);)\ ident(rb_check_safe_obj)operator(()ident(v)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) comment(/* obsolete macro - use SafeStringValue(v\) */) preprocessor(#define) ident(Check_SafeStr)operator(()ident(v)operator(\)) ident(rb_check_safe_str)operator((()ident(VALUE)operator(\)()ident(v)operator(\)\)) directive(void) ident(rb_secure) ident(_)operator((()pre_type(int)operator(\)\);) ident(RUBY_EXTERN) pre_type(int) ident(ruby_safe_level)operator(;) preprocessor(#define) ident(rb_safe_level)operator((\)) operator(()ident(ruby_safe_level)operator(\)) directive(void) ident(rb_set_safe_level) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(rb_secure_update) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(long) ident(rb_num2long) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(unsigned) pre_type(long) ident(rb_num2ulong) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(NUM2LONG)operator(()ident(x)operator(\)) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)?)ident(FIX2LONG)operator(()ident(x)operator(\):)ident(rb_num2long)operator((()ident(VALUE)operator(\))ident(x)operator(\)\)) preprocessor(#define) ident(NUM2ULONG)operator(()ident(x)operator(\)) ident(rb_num2ulong)operator((()ident(VALUE)operator(\))ident(x)operator(\)) preprocessor(#if) ident(SIZEOF_INT) operator(<) ident(SIZEOF_LONG) pre_type(long) ident(rb_num2int) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(NUM2INT)operator(()ident(x)operator(\)) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)?)ident(FIX2INT)operator(()ident(x)operator(\):)ident(rb_num2int)operator((()ident(VALUE)operator(\))ident(x)operator(\)\)) pre_type(long) ident(rb_fix2int) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(FIX2INT)operator(()ident(x)operator(\)) ident(rb_fix2int)operator((()ident(VALUE)operator(\))ident(x)operator(\)) pre_type(unsigned) pre_type(long) ident(rb_num2uint) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(NUM2UINT)operator(()ident(x)operator(\)) ident(rb_num2uint)operator(()ident(x)operator(\)) pre_type(unsigned) pre_type(long) ident(rb_fix2uint) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(FIX2UINT)operator(()ident(x)operator(\)) ident(rb_fix2uint)operator(()ident(x)operator(\)) preprocessor(#else) preprocessor(#define) ident(NUM2INT)operator(()ident(x)operator(\)) operator((()pre_type(int)operator(\))ident(NUM2LONG)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(NUM2UINT)operator(()ident(x)operator(\)) operator((()pre_type(unsigned) pre_type(int)operator(\))ident(NUM2ULONG)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(FIX2INT)operator(()ident(x)operator(\)) operator((()pre_type(int)operator(\))ident(FIX2LONG)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(FIX2UINT)operator(()ident(x)operator(\)) operator((()pre_type(unsigned) pre_type(int)operator(\))ident(FIX2ULONG)operator(()ident(x)operator(\)\)) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_LONG_LONG) ident(LONG_LONG) ident(rb_num2ll) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(unsigned) ident(LONG_LONG) ident(rb_num2ull) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(# define) ident(NUM2LL)operator(()ident(x)operator(\)) operator(()ident(FIXNUM_P)operator(()ident(x)operator(\)?)ident(FIX2LONG)operator(()ident(x)operator(\):)ident(rb_num2ll)operator((()ident(VALUE)operator(\))ident(x)operator(\)\)) preprocessor(# define) ident(NUM2ULL)operator(()ident(x)operator(\)) ident(rb_num2ull)operator((()ident(VALUE)operator(\))ident(x)operator(\)) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_LONG_LONG)operator(\)) operator(&&) ident(SIZEOF_OFF_T) operator(>) ident(SIZEOF_LONG) preprocessor(# define) ident(NUM2OFFT)operator(()ident(x)operator(\)) operator((()ident(off_t)operator(\))ident(NUM2LL)operator(()ident(x)operator(\)\)) preprocessor(#else) preprocessor(# define) ident(NUM2OFFT)operator(()ident(x)operator(\)) ident(NUM2LONG)operator(()ident(x)operator(\)) preprocessor(#endif) pre_type(double) ident(rb_num2dbl) ident(_)operator((()ident(VALUE)operator(\)\);) preprocessor(#define) ident(NUM2DBL)operator(()ident(x)operator(\)) ident(rb_num2dbl)operator((()ident(VALUE)operator(\)()ident(x)operator(\)\)) comment(/* obsolete API - use StringValue(\) */) pre_type(char) operator(*)ident(rb_str2cstr) ident(_)operator((()ident(VALUE)operator(,)pre_type(long)operator(*\)\);) comment(/* obsolete API - use StringValuePtr(\) */) preprocessor(#define) ident(STR2CSTR)operator(()ident(x)operator(\)) ident(rb_str2cstr)operator((()ident(VALUE)operator(\)()ident(x)operator(\),)integer(0)operator(\)) preprocessor(#define) ident(NUM2CHR)operator(()ident(x)operator(\)) operator(((()ident(TYPE)operator(()ident(x)operator(\)) operator(==) ident(T_STRING)operator(\)&&()ident(RSTRING)operator(()ident(x)operator(\)->)ident(len)operator(>=)integer(1)operator(\)\)?)\ ident(RSTRING)operator(()ident(x)operator(\)->)ident(ptr)operator([)integer(0)operator(]:()pre_type(char)operator(\)()ident(NUM2INT)operator(()ident(x)operator(\)&)hex(0xff)operator(\)\)) preprocessor(#define) ident(CHR2FIX)operator(()ident(x)operator(\)) ident(INT2FIX)operator((()pre_type(long)operator(\)(()ident(x)operator(\)&)hex(0xff)operator(\)\)) ident(VALUE) ident(rb_newobj) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#define) ident(NEWOBJ)operator(()ident(obj)operator(,)ident(type)operator(\)) ident(type) operator(*)ident(obj) operator(=) operator(()ident(type)operator(*\))ident(rb_newobj)operator((\)) preprocessor(#define) ident(OBJSETUP)operator(()ident(obj)operator(,)ident(c)operator(,)ident(t)operator(\)) reserved(do) operator({)\ ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags) operator(=) operator(()ident(t)operator(\);)\ ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass) operator(=) operator(()ident(c)operator(\);)\ reserved(if) operator(()ident(rb_safe_level)operator((\)) operator(>=) integer(3)operator(\)) ident(FL_SET)operator(()ident(obj)operator(,) ident(FL_TAINT)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(CLONESETUP)operator(()ident(clone)operator(,)ident(obj)operator(\)) reserved(do) operator({)\ ident(OBJSETUP)operator(()ident(clone)operator(,)ident(rb_singleton_class_clone)operator((()ident(VALUE)operator(\))ident(obj)operator(\),)ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags)operator(\);)\ ident(rb_singleton_class_attached)operator(()ident(RBASIC)operator(()ident(clone)operator(\)->)ident(klass)operator(,) operator(()ident(VALUE)operator(\))ident(clone)operator(\);)\ reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)\)) ident(rb_copy_generic_ivar)operator((()ident(VALUE)operator(\))ident(clone)operator(,()ident(VALUE)operator(\))ident(obj)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(DUPSETUP)operator(()ident(dup)operator(,)ident(obj)operator(\)) reserved(do) operator({)\ ident(OBJSETUP)operator(()ident(dup)operator(,)ident(rb_obj_class)operator(()ident(obj)operator(\),()ident(RBASIC)operator(()ident(obj)operator(\)->)ident(flags)operator(\)&()ident(T_MASK)operator(|)ident(FL_EXIVAR)operator(|)ident(FL_TAINT)operator(\)\);)\ reserved(if) operator(()ident(FL_TEST)operator(()ident(obj)operator(,) ident(FL_EXIVAR)operator(\)\)) ident(rb_copy_generic_ivar)operator((()ident(VALUE)operator(\))ident(dup)operator(,()ident(VALUE)operator(\))ident(obj)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) reserved(struct) ident(RBasic) operator({) pre_type(unsigned) pre_type(long) ident(flags)operator(;) ident(VALUE) ident(klass)operator(;) operator(};) reserved(struct) ident(RObject) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) reserved(struct) ident(st_table) operator(*)ident(iv_tbl)operator(;) operator(};) reserved(struct) ident(RClass) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) reserved(struct) ident(st_table) operator(*)ident(iv_tbl)operator(;) reserved(struct) ident(st_table) operator(*)ident(m_tbl)operator(;) ident(VALUE) ident(super)operator(;) operator(};) reserved(struct) ident(RFloat) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) pre_type(double) ident(value)operator(;) operator(};) preprocessor(#define) ident(ELTS_SHARED) ident(FL_USER2) reserved(struct) ident(RString) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) pre_type(long) ident(len)operator(;) pre_type(char) operator(*)ident(ptr)operator(;) reserved(union) operator({) pre_type(long) ident(capa)operator(;) ident(VALUE) ident(shared)operator(;) operator(}) ident(aux)operator(;) operator(};) preprocessor(#define) ident(RSTRING_PTR)operator(()ident(s)operator(\)) operator(()ident(RSTRING)operator(()ident(s)operator(\)->)ident(ptr)operator(\)) preprocessor(#define) ident(RSTRING_LEN)operator(()ident(s)operator(\)) operator(()ident(RSTRING)operator(()ident(s)operator(\)->)ident(len)operator(\)) reserved(struct) ident(RArray) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) pre_type(long) ident(len)operator(;) reserved(union) operator({) pre_type(long) ident(capa)operator(;) ident(VALUE) ident(shared)operator(;) operator(}) ident(aux)operator(;) ident(VALUE) operator(*)ident(ptr)operator(;) operator(};) preprocessor(#define) ident(RARRAY_PTR)operator(()ident(s)operator(\)) operator(()ident(RARRAY)operator(()ident(s)operator(\)->)ident(ptr)operator(\)) preprocessor(#define) ident(RARRAY_LEN)operator(()ident(s)operator(\)) operator(()ident(RARRAY)operator(()ident(s)operator(\)->)ident(len)operator(\)) reserved(struct) ident(RRegexp) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) reserved(struct) ident(re_pattern_buffer) operator(*)ident(ptr)operator(;) pre_type(long) ident(len)operator(;) pre_type(char) operator(*)ident(str)operator(;) operator(};) reserved(struct) ident(RHash) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) reserved(struct) ident(st_table) operator(*)ident(tbl)operator(;) pre_type(int) ident(iter_lev)operator(;) ident(VALUE) ident(ifnone)operator(;) operator(};) reserved(struct) ident(RFile) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) reserved(struct) ident(OpenFile) operator(*)ident(fptr)operator(;) operator(};) reserved(struct) ident(RData) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) directive(void) operator((*)ident(dmark)operator(\)) ident(_)operator((()directive(void)operator(*\)\);) directive(void) operator((*)ident(dfree)operator(\)) ident(_)operator((()directive(void)operator(*\)\);) directive(void) operator(*)ident(data)operator(;) operator(};) preprocessor(#define) ident(DATA_PTR)operator(()ident(dta)operator(\)) operator(()ident(RDATA)operator(()ident(dta)operator(\)->)ident(data)operator(\)) comment(/* #define RUBY_DATA_FUNC(func\) ((void (*\)_((void*\)\)\)func\) */) reserved(typedef) directive(void) operator((*)ident(RUBY_DATA_FUNC)operator(\)) ident(_)operator((()directive(void)operator(*\)\);) ident(VALUE) ident(rb_data_object_alloc) ident(_)operator((()ident(VALUE)operator(,)directive(void)operator(*,)ident(RUBY_DATA_FUNC)operator(,)ident(RUBY_DATA_FUNC)operator(\)\);) preprocessor(#define) ident(Data_Wrap_Struct)operator(()ident(klass)operator(,)ident(mark)operator(,)ident(free)operator(,)ident(sval)operator(\))\ ident(rb_data_object_alloc)operator(()ident(klass)operator(,)ident(sval)operator(,()ident(RUBY_DATA_FUNC)operator(\))ident(mark)operator(,()ident(RUBY_DATA_FUNC)operator(\))ident(free)operator(\)) preprocessor(#define) ident(Data_Make_Struct)operator(()ident(klass)operator(,)ident(type)operator(,)ident(mark)operator(,)ident(free)operator(,)ident(sval)operator(\)) operator(()\ ident(sval) operator(=) ident(ALLOC)operator(()ident(type)operator(\),)\ ident(memset)operator(()ident(sval)operator(,) integer(0)operator(,) reserved(sizeof)operator(()ident(type)operator(\)\),)\ ident(Data_Wrap_Struct)operator(()ident(klass)operator(,)ident(mark)operator(,)ident(free)operator(,)ident(sval)operator(\))\ operator(\)) preprocessor(#define) ident(Data_Get_Struct)operator(()ident(obj)operator(,)ident(type)operator(,)ident(sval)operator(\)) reserved(do) operator({)\ ident(Check_Type)operator(()ident(obj)operator(,) ident(T_DATA)operator(\);) \ ident(sval) operator(=) operator(()ident(type)operator(*\))ident(DATA_PTR)operator(()ident(obj)operator(\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) reserved(struct) ident(RStruct) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) pre_type(long) ident(len)operator(;) ident(VALUE) operator(*)ident(ptr)operator(;) operator(};) preprocessor(#define) ident(RSTRUCT_LEN)operator(()ident(st)operator(\)) operator(()ident(RSTRUCT)operator(()ident(st)operator(\)->)ident(len)operator(\)) preprocessor(#define) ident(RSTRUCT_PTR)operator(()ident(st)operator(\)) operator(()ident(RSTRUCT)operator(()ident(st)operator(\)->)ident(ptr)operator(\)) reserved(struct) ident(RBignum) operator({) reserved(struct) ident(RBasic) ident(basic)operator(;) pre_type(char) ident(sign)operator(;) pre_type(long) ident(len)operator(;) directive(void) operator(*)ident(digits)operator(;) operator(};) preprocessor(#define) ident(R_CAST)operator(()ident(st)operator(\)) operator(()reserved(struct) ident(st)operator(*\)) preprocessor(#define) ident(RBASIC)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RBasic)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(ROBJECT)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RObject)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RCLASS)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RClass)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RMODULE)operator(()ident(obj)operator(\)) ident(RCLASS)operator(()ident(obj)operator(\)) preprocessor(#define) ident(RFLOAT)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RFloat)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RSTRING)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RString)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RREGEXP)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RRegexp)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RARRAY)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RArray)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RHASH)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RHash)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RDATA)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RData)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RSTRUCT)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RStruct)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RBIGNUM)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RBignum)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(RFILE)operator(()ident(obj)operator(\)) operator(()ident(R_CAST)operator(()ident(RFile)operator(\)()ident(obj)operator(\)\)) preprocessor(#define) ident(FL_SINGLETON) ident(FL_USER0) preprocessor(#define) ident(FL_MARK) operator(()integer(1)operator(<<)integer(6)operator(\)) preprocessor(#define) ident(FL_FINALIZE) operator(()integer(1)operator(<<)integer(7)operator(\)) preprocessor(#define) ident(FL_TAINT) operator(()integer(1)operator(<<)integer(8)operator(\)) preprocessor(#define) ident(FL_EXIVAR) operator(()integer(1)operator(<<)integer(9)operator(\)) preprocessor(#define) ident(FL_FREEZE) operator(()integer(1)operator(<<)integer(10)operator(\)) preprocessor(#define) ident(FL_USHIFT) integer(11) preprocessor(#define) ident(FL_USER0) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(0)operator(\)\)) preprocessor(#define) ident(FL_USER1) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(1)operator(\)\)) preprocessor(#define) ident(FL_USER2) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(2)operator(\)\)) preprocessor(#define) ident(FL_USER3) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(3)operator(\)\)) preprocessor(#define) ident(FL_USER4) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(4)operator(\)\)) preprocessor(#define) ident(FL_USER5) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(5)operator(\)\)) preprocessor(#define) ident(FL_USER6) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(6)operator(\)\)) preprocessor(#define) ident(FL_USER7) operator(()integer(1)operator(<<()ident(FL_USHIFT)operator(+)integer(7)operator(\)\)) preprocessor(#define) ident(FL_UMASK) operator(()hex(0xff)operator(<<)ident(FL_USHIFT)operator(\)) preprocessor(#define) ident(SPECIAL_CONST_P)operator(()ident(x)operator(\)) operator(()ident(IMMEDIATE_P)operator(()ident(x)operator(\)) operator(||) operator(!)ident(RTEST)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(FL_ABLE)operator(()ident(x)operator(\)) operator((!)ident(SPECIAL_CONST_P)operator(()ident(x)operator(\)\)) preprocessor(#define) ident(FL_TEST)operator(()ident(x)operator(,)ident(f)operator(\)) operator(()ident(FL_ABLE)operator(()ident(x)operator(\)?()ident(RBASIC)operator(()ident(x)operator(\)->)ident(flags)operator(&()ident(f)operator(\)\):)integer(0)operator(\)) preprocessor(#define) ident(FL_SET)operator(()ident(x)operator(,)ident(f)operator(\)) reserved(do) operator({)reserved(if) operator(()ident(FL_ABLE)operator(()ident(x)operator(\)\)) ident(RBASIC)operator(()ident(x)operator(\)->)ident(flags) operator(|=) operator(()ident(f)operator(\);}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(FL_UNSET)operator(()ident(x)operator(,)ident(f)operator(\)) reserved(do) operator({)reserved(if) operator(()ident(FL_ABLE)operator(()ident(x)operator(\)\)) ident(RBASIC)operator(()ident(x)operator(\)->)ident(flags) operator(&=) operator(~()ident(f)operator(\);}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(FL_REVERSE)operator(()ident(x)operator(,)ident(f)operator(\)) reserved(do) operator({)reserved(if) operator(()ident(FL_ABLE)operator(()ident(x)operator(\)\)) ident(RBASIC)operator(()ident(x)operator(\)->)ident(flags) operator(^=) operator(()ident(f)operator(\);}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(OBJ_TAINTED)operator(()ident(x)operator(\)) ident(FL_TEST)operator((()ident(x)operator(\),) ident(FL_TAINT)operator(\)) preprocessor(#define) ident(OBJ_TAINT)operator(()ident(x)operator(\)) ident(FL_SET)operator((()ident(x)operator(\),) ident(FL_TAINT)operator(\)) preprocessor(#define) ident(OBJ_INFECT)operator(()ident(x)operator(,)ident(s)operator(\)) reserved(do) operator({)reserved(if) operator(()ident(FL_ABLE)operator(()ident(x)operator(\)) operator(&&) ident(FL_ABLE)operator(()ident(s)operator(\)\)) ident(RBASIC)operator(()ident(x)operator(\)->)ident(flags) operator(|=) ident(RBASIC)operator(()ident(s)operator(\)->)ident(flags) operator(&) ident(FL_TAINT)operator(;}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(OBJ_FROZEN)operator(()ident(x)operator(\)) ident(FL_TEST)operator((()ident(x)operator(\),) ident(FL_FREEZE)operator(\)) preprocessor(#define) ident(OBJ_FREEZE)operator(()ident(x)operator(\)) ident(FL_SET)operator((()ident(x)operator(\),) ident(FL_FREEZE)operator(\)) preprocessor(#define) ident(ALLOC_N)operator(()ident(type)operator(,)ident(n)operator(\)) operator(()ident(type)operator(*\))ident(xmalloc)operator(()reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) preprocessor(#define) ident(ALLOC)operator(()ident(type)operator(\)) operator(()ident(type)operator(*\))ident(xmalloc)operator(()reserved(sizeof)operator(()ident(type)operator(\)\)) preprocessor(#define) ident(REALLOC_N)operator(()ident(var)operator(,)ident(type)operator(,)ident(n)operator(\)) operator(()ident(var)operator(\)=()ident(type)operator(*\))ident(xrealloc)operator((()pre_type(char)operator(*\)()ident(var)operator(\),)reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) preprocessor(#define) ident(ALLOCA_N)operator(()ident(type)operator(,)ident(n)operator(\)) operator(()ident(type)operator(*\))ident(alloca)operator(()reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) preprocessor(#define) ident(MEMZERO)operator(()ident(p)operator(,)ident(type)operator(,)ident(n)operator(\)) ident(memset)operator((()ident(p)operator(\),) integer(0)operator(,) reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) preprocessor(#define) ident(MEMCPY)operator(()ident(p1)operator(,)ident(p2)operator(,)ident(type)operator(,)ident(n)operator(\)) ident(memcpy)operator((()ident(p1)operator(\),) operator(()ident(p2)operator(\),) reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) preprocessor(#define) ident(MEMMOVE)operator(()ident(p1)operator(,)ident(p2)operator(,)ident(type)operator(,)ident(n)operator(\)) ident(memmove)operator((()ident(p1)operator(\),) operator(()ident(p2)operator(\),) reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) preprocessor(#define) ident(MEMCMP)operator(()ident(p1)operator(,)ident(p2)operator(,)ident(type)operator(,)ident(n)operator(\)) ident(memcmp)operator((()ident(p1)operator(\),) operator(()ident(p2)operator(\),) reserved(sizeof)operator(()ident(type)operator(\)*()ident(n)operator(\)\)) directive(void) ident(rb_obj_infect) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) reserved(typedef) pre_type(int) ident(ruby_glob_func)operator(()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\);) directive(void) ident(rb_glob) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(void)operator((*\)()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\),)ident(VALUE)operator(\)\);) directive(void) ident(rb_globi) ident(_)operator((()directive(const) pre_type(char)operator(*,)directive(void)operator((*\)()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\),)ident(VALUE)operator(\)\);) pre_type(int) ident(ruby_brace_expand) ident(_)operator((()directive(const) pre_type(char)operator(*,)pre_type(int)operator(,)ident(ruby_glob_func)operator(*,)ident(VALUE)operator(\)\);) pre_type(int) ident(ruby_brace_glob) ident(_)operator((()directive(const) pre_type(char)operator(*,)pre_type(int)operator(,)ident(ruby_glob_func)operator(*,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_define_class) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_define_module) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_define_class_under) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_define_module_under) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_include_module) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) directive(void) ident(rb_extend_object) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) directive(void) ident(rb_define_variable) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(*\)\);) directive(void) ident(rb_define_virtual_variable) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)directive(void)operator((*\)()ident(ANYARGS)operator(\)\)\);) directive(void) ident(rb_define_hooked_variable) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(*,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)directive(void)operator((*\)()ident(ANYARGS)operator(\)\)\);) pre_type(int) ident(ruby_glob) ident(_)operator((()directive(const) pre_type(char)operator(*,)pre_type(int)operator(,)pre_type(int)operator((*\)()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\),)ident(VALUE)operator(\)\);) pre_type(int) ident(ruby_globi) ident(_)operator((()directive(const) pre_type(char)operator(*,)pre_type(int)operator(,)pre_type(int)operator((*\)()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\),)ident(VALUE)operator(\)\);) directive(void) ident(rb_define_readonly_variable) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(*\)\);) directive(void) ident(rb_define_const) ident(_)operator((()ident(VALUE)operator(,)directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\)\);) directive(void) ident(rb_define_global_const) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\)\);) preprocessor(#define) ident(RUBY_METHOD_FUNC)operator(()ident(func)operator(\)) operator((()ident(VALUE) operator((*\)()ident(ANYARGS)operator(\)\))ident(func)operator(\)) directive(void) ident(rb_define_method) ident(_)operator((()ident(VALUE)operator(,)directive(const) pre_type(char)operator(*,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)pre_type(int)operator(\)\);) directive(void) ident(rb_define_module_function) ident(_)operator((()ident(VALUE)operator(,)directive(const) pre_type(char)operator(*,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)pre_type(int)operator(\)\);) directive(void) ident(rb_define_global_function) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)pre_type(int)operator(\)\);) directive(void) ident(rb_undef_method) ident(_)operator((()ident(VALUE)operator(,)directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_define_alias) ident(_)operator((()ident(VALUE)operator(,)directive(const) pre_type(char)operator(*,)directive(const) pre_type(char)operator(*\)\);) directive(void) ident(rb_define_attr) ident(_)operator((()ident(VALUE)operator(,)directive(const) pre_type(char)operator(*,)pre_type(int)operator(,)pre_type(int)operator(\)\);) directive(void) ident(rb_global_variable) ident(_)operator((()ident(VALUE)operator(*\)\);) directive(void) ident(rb_gc_register_address) ident(_)operator((()ident(VALUE)operator(*\)\);) directive(void) ident(rb_gc_unregister_address) ident(_)operator((()ident(VALUE)operator(*\)\);) ident(ID) ident(rb_intern) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) pre_type(char) operator(*)ident(rb_id2name) ident(_)operator((()ident(ID)operator(\)\);) ident(ID) ident(rb_to_id) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(char) operator(*)ident(rb_class2name) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(char) operator(*)ident(rb_obj_classname) ident(_)operator((()ident(VALUE)operator(\)\);) directive(void) ident(rb_p) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_eval_string) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_eval_string_protect) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(*\)\);) ident(VALUE) ident(rb_eval_string_wrap) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(*\)\);) ident(VALUE) ident(rb_funcall) ident(__)operator((()ident(VALUE)operator(,) ident(ID)operator(,) pre_type(int)operator(,) operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_funcall2) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) pre_type(int)operator(,) directive(const) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_funcall3) ident(_)operator((()ident(VALUE)operator(,) ident(ID)operator(,) pre_type(int)operator(,) directive(const) ident(VALUE)operator(*\)\);) pre_type(int) ident(rb_scan_args) ident(__)operator((()pre_type(int)operator(,) directive(const) ident(VALUE)operator(*,) directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_call_super) ident(_)operator((()pre_type(int)operator(,) directive(const) ident(VALUE)operator(*\)\);) ident(VALUE) ident(rb_gv_set) ident(_)operator((()directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_gv_get) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_iv_get) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*\)\);) ident(VALUE) ident(rb_iv_set) ident(_)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_equal) ident(_)operator((()ident(VALUE)operator(,)ident(VALUE)operator(\)\);) ident(RUBY_EXTERN) ident(VALUE) ident(ruby_verbose)operator(,) ident(ruby_debug)operator(;) ident(NORETURN)operator(()directive(void) ident(rb_raise) ident(__)operator((()ident(VALUE)operator(,) directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_fatal) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_bug) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_sys_fail) ident(_)operator((()directive(const) pre_type(char)operator(*\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_iter_break) ident(_)operator((()directive(void)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_exit) ident(_)operator((()pre_type(int)operator(\)\)\);) ident(NORETURN)operator(()directive(void) ident(rb_notimplement) ident(_)operator((()directive(void)operator(\)\)\);) directive(void) ident(rb_warning) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) comment(/* reports if `-w' specified */) directive(void) ident(rb_sys_warning) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) comment(/* reports if `-w' specified */) directive(void) ident(rb_warn) ident(__)operator((()directive(const) pre_type(char)operator(*,) operator(.)operator(.)operator(.)operator(\)\);) comment(/* reports always */) ident(VALUE) ident(rb_each) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_yield) ident(_)operator((()ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_yield_values) ident(__)operator((()pre_type(int) ident(n)operator(,) operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_yield_splat) ident(_)operator((()ident(VALUE)operator(\)\);) pre_type(int) ident(rb_block_given_p) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(rb_need_block) ident(_)operator((()directive(void)operator(\)\);) ident(VALUE) ident(rb_iterate) ident(_)operator((()ident(VALUE)operator((*\)()ident(VALUE)operator(\),)ident(VALUE)operator(,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_rescue) ident(_)operator((()ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_rescue2) ident(__)operator((()ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(,)operator(.)operator(.)operator(.)operator(\)\);) ident(VALUE) ident(rb_ensure) ident(_)operator((()ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(\)\);) ident(VALUE) ident(rb_catch) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(rb_throw) ident(_)operator((()directive(const) pre_type(char)operator(*,)ident(VALUE)operator(\)\)\);) ident(VALUE) ident(rb_require) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) preprocessor(#ifdef) ident(__ia64) directive(void) ident(ruby_init_stack)operator(()ident(VALUE)operator(*,) directive(void)operator(*\);) preprocessor(#define) ident(RUBY_INIT_STACK) \ ident(VALUE) ident(variable_in_this_stack_frame)operator(;) \ ident(ruby_init_stack)operator((&)ident(variable_in_this_stack_frame)operator(,) ident(rb_ia64_bsp)operator((\)\);) preprocessor(#else) directive(void) ident(ruby_init_stack)operator(()ident(VALUE)operator(*\);) preprocessor(#define) ident(RUBY_INIT_STACK) \ ident(VALUE) ident(variable_in_this_stack_frame)operator(;) \ ident(ruby_init_stack)operator((&)ident(variable_in_this_stack_frame)operator(\);) preprocessor(#endif) directive(void) ident(ruby_init) ident(_)operator((()directive(void)operator(\)\);) directive(void) ident(ruby_options) ident(_)operator((()pre_type(int)operator(,) pre_type(char)operator(**\)\);) ident(NORETURN)operator(()directive(void) ident(ruby_run) ident(_)operator((()directive(void)operator(\)\)\);) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mKernel)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mComparable)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mEnumerable)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mPrecision)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mErrno)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mFileTest)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mGC)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mMath)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_mProcess)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cObject)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cArray)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cBignum)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cBinding)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cClass)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cCont)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cDir)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cData)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cFalseClass)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cFile)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cFixnum)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cFloat)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cHash)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cInteger)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cIO)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cMatch)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cMethod)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cModule)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cNameErrorMesg)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cNilClass)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cNumeric)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cProc)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cRange)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cRegexp)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cStat)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cString)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cStruct)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cSymbol)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cThread)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cTime)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cTrueClass)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_cUnboundMethod)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eException)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eStandardError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eSystemExit)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eInterrupt)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eSignal)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eFatal)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eArgError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eEOFError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eIndexError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eRangeError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eIOError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eRuntimeError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eSecurityError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eSystemCallError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eThreadError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eTypeError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eZeroDivError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eNotImpError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eNoMemError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eNoMethodError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eFloatDomainError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eLocalJumpError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eSysStackError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eRegexpError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eScriptError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eNameError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eSyntaxError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_eLoadError)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(rb_stdin)operator(,) ident(rb_stdout)operator(,) ident(rb_stderr)operator(;) ident(RUBY_EXTERN) ident(VALUE) ident(ruby_errinfo)operator(;) directive(static) directive(inline) ident(VALUE) preprocessor(#if) ident(defined)operator(()ident(HAVE_PROTOTYPES)operator(\)) ident(rb_class_of)operator(()ident(VALUE) ident(obj)operator(\)) preprocessor(#else) ident(rb_class_of)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) preprocessor(#endif) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(obj)operator(\)\)) reserved(return) ident(rb_cFixnum)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qnil)operator(\)) reserved(return) ident(rb_cNilClass)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qfalse)operator(\)) reserved(return) ident(rb_cFalseClass)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qtrue)operator(\)) reserved(return) ident(rb_cTrueClass)operator(;) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(obj)operator(\)\)) reserved(return) ident(rb_cSymbol)operator(;) reserved(return) ident(RBASIC)operator(()ident(obj)operator(\)->)ident(klass)operator(;) operator(}) directive(static) directive(inline) pre_type(int) preprocessor(#if) ident(defined)operator(()ident(HAVE_PROTOTYPES)operator(\)) ident(rb_type)operator(()ident(VALUE) ident(obj)operator(\)) preprocessor(#else) ident(rb_type)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) preprocessor(#endif) operator({) reserved(if) operator(()ident(FIXNUM_P)operator(()ident(obj)operator(\)\)) reserved(return) ident(T_FIXNUM)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qnil)operator(\)) reserved(return) ident(T_NIL)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qfalse)operator(\)) reserved(return) ident(T_FALSE)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qtrue)operator(\)) reserved(return) ident(T_TRUE)operator(;) reserved(if) operator(()ident(obj) operator(==) ident(Qundef)operator(\)) reserved(return) ident(T_UNDEF)operator(;) reserved(if) operator(()ident(SYMBOL_P)operator(()ident(obj)operator(\)\)) reserved(return) ident(T_SYMBOL)operator(;) reserved(return) ident(BUILTIN_TYPE)operator(()ident(obj)operator(\);) operator(}) directive(static) directive(inline) pre_type(int) preprocessor(#if) ident(defined)operator(()ident(HAVE_PROTOTYPES)operator(\)) ident(rb_special_const_p)operator(()ident(VALUE) ident(obj)operator(\)) preprocessor(#else) ident(rb_special_const_p)operator(()ident(obj)operator(\)) ident(VALUE) ident(obj)operator(;) preprocessor(#endif) operator({) reserved(if) operator(()ident(SPECIAL_CONST_P)operator(()ident(obj)operator(\)\)) reserved(return) ident(Qtrue)operator(;) reserved(return) ident(Qfalse)operator(;) operator(}) preprocessor(#include) include("missing.h") preprocessor(#include) include("intern.h") preprocessor(#if) ident(defined)operator(()ident(EXTLIB)operator(\)) operator(&&) ident(defined)operator(()ident(USE_DLN_A_OUT)operator(\)) comment(/* hook for external modules */) directive(static) pre_type(char) operator(*)ident(dln_libs_to_be_linked)operator([]) operator(=) operator({) ident(EXTLIB)operator(,) integer(0) operator(};) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(HAVE_LIBPTHREAD)operator(\)) preprocessor(#ifdef) ident(HAVE_PTHREAD_H) preprocessor(#include) include() preprocessor(#endif) reserved(typedef) ident(pthread_t) ident(rb_nativethread_t)operator(;) preprocessor(# define) ident(NATIVETHREAD_CURRENT)operator((\)) ident(pthread_self)operator((\)) preprocessor(# define) ident(NATIVETHREAD_EQUAL)operator(()ident(t1)operator(,)ident(t2)operator(\)) ident(pthread_equal)operator((()ident(t1)operator(\),()ident(t2)operator(\)\)) preprocessor(# define) ident(HAVE_NATIVETHREAD) preprocessor(# define) ident(NATIVETHREAD_KILL)operator(()ident(th)operator(,)ident(sig)operator(\)) ident(pthread_kill)operator((()ident(th)operator(\),()ident(sig)operator(\)\)) preprocessor(# define) ident(HAVE_NATIVETHREAD_KILL) preprocessor(#elif) ident(defined)operator(()ident(_WIN32)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32_WCE)operator(\)) reserved(typedef) ident(DWORD) ident(rb_nativethread_t)operator(;) preprocessor(# define) ident(NATIVETHREAD_CURRENT)operator((\)) ident(GetCurrentThreadId)operator((\)) preprocessor(# define) ident(NATIVETHREAD_EQUAL)operator(()ident(t1)operator(,)ident(t2)operator(\)) operator((()ident(t1)operator(\)) operator(==) operator(()ident(t2)operator(\)\)) preprocessor(# define) ident(HAVE_NATIVETHREAD) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_NATIVETHREAD) pre_type(int) ident(is_ruby_native_thread) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#else) preprocessor(#define) ident(is_ruby_native_thread)operator((\)) operator(()integer(1)operator(\)) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_NATIVETHREAD_KILL) directive(void) ident(ruby_native_thread_kill) ident(_)operator((()pre_type(int)operator(\)\);) preprocessor(#endif) preprocessor(#if) ident(defined)operator(()ident(__cplusplus)operator(\)) comment(#if 0 { /* satisfy cc-mode */ #endif) operator(}) comment(/* extern "C" { */) preprocessor(#endif) preprocessor(#endif) comment(/* ifndef RUBY_H */) comment(/********************************************************************** rubyio.h - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Fri Nov 12 16:47:09 JST 1993 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(RUBYIO_H) preprocessor(#define) ident(RUBYIO_H) preprocessor(#include) include() preprocessor(#include) include() preprocessor(#if) ident(defined)operator(()ident(HAVE_STDIO_EXT_H)operator(\)) preprocessor(#include) include() preprocessor(#endif) reserved(typedef) reserved(struct) ident(OpenFile) operator({) ident(FILE) operator(*)ident(f)operator(;) comment(/* stdio ptr for read/write */) ident(FILE) operator(*)ident(f2)operator(;) comment(/* additional ptr for rw pipes */) pre_type(int) ident(mode)operator(;) comment(/* mode flags */) pre_type(int) ident(pid)operator(;) comment(/* child's pid (for pipes\) */) pre_type(int) ident(lineno)operator(;) comment(/* number of lines read */) pre_type(char) operator(*)ident(path)operator(;) comment(/* pathname for file */) directive(void) operator((*)ident(finalize)operator(\)) ident(_)operator((()reserved(struct) ident(OpenFile)operator(*,)pre_type(int)operator(\)\);) comment(/* finalize proc */) operator(}) ident(OpenFile)operator(;) preprocessor(#define) ident(FMODE_READABLE) integer(1) preprocessor(#define) ident(FMODE_WRITABLE) integer(2) preprocessor(#define) ident(FMODE_READWRITE) integer(3) preprocessor(#define) ident(FMODE_APPEND) integer(64) preprocessor(#define) ident(FMODE_CREATE) integer(128) preprocessor(#define) ident(FMODE_BINMODE) integer(4) preprocessor(#define) ident(FMODE_SYNC) integer(8) preprocessor(#define) ident(FMODE_WBUF) integer(16) preprocessor(#define) ident(FMODE_RBUF) integer(32) preprocessor(#define) ident(FMODE_WSPLIT) hex(0x200) preprocessor(#define) ident(FMODE_WSPLIT_INITIALIZED) hex(0x400) preprocessor(#define) ident(GetOpenFile)operator(()ident(obj)operator(,)ident(fp)operator(\)) ident(rb_io_check_closed)operator((()ident(fp)operator(\)) operator(=) ident(RFILE)operator(()ident(rb_io_taint_check)operator(()ident(obj)operator(\)\)->)ident(fptr)operator(\)) preprocessor(#define) ident(MakeOpenFile)operator(()ident(obj)operator(,) ident(fp)operator(\)) reserved(do) operator({)\ reserved(if) operator(()ident(RFILE)operator(()ident(obj)operator(\)->)ident(fptr)operator(\)) operator({)\ ident(rb_io_close)operator(()ident(obj)operator(\);)\ ident(free)operator(()ident(RFILE)operator(()ident(obj)operator(\)->)ident(fptr)operator(\);)\ ident(RFILE)operator(()ident(obj)operator(\)->)ident(fptr) operator(=) integer(0)operator(;)\ operator(})\ ident(fp) operator(=) integer(0)operator(;)\ ident(fp) operator(=) ident(RFILE)operator(()ident(obj)operator(\)->)ident(fptr) operator(=) ident(ALLOC)operator(()ident(OpenFile)operator(\);)\ ident(fp)operator(->)ident(f) operator(=) ident(fp)operator(->)ident(f2) operator(=) pre_constant(NULL)operator(;)\ ident(fp)operator(->)ident(mode) operator(=) integer(0)operator(;)\ ident(fp)operator(->)ident(pid) operator(=) integer(0)operator(;)\ ident(fp)operator(->)ident(lineno) operator(=) integer(0)operator(;)\ ident(fp)operator(->)ident(path) operator(=) pre_constant(NULL)operator(;)\ ident(fp)operator(->)ident(finalize) operator(=) integer(0)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(GetReadFile)operator(()ident(fptr)operator(\)) operator((()ident(fptr)operator(\)->)ident(f)operator(\)) preprocessor(#define) ident(GetWriteFile)operator(()ident(fptr)operator(\)) operator(((()ident(fptr)operator(\)->)ident(f2)operator(\)) operator(?) operator(()ident(fptr)operator(\)->)ident(f2) operator(:) operator(()ident(fptr)operator(\)->)ident(f)operator(\)) ident(FILE) operator(*)ident(rb_fopen) ident(_)operator((()directive(const) pre_type(char)operator(*,) directive(const) pre_type(char)operator(*\)\);) ident(FILE) operator(*)ident(rb_fdopen) ident(_)operator((()pre_type(int)operator(,) directive(const) pre_type(char)operator(*\)\);) pre_type(int) ident(rb_getc) ident(_)operator((()ident(FILE)operator(*\)\);) pre_type(long) ident(rb_io_fread) ident(_)operator((()pre_type(char) operator(*,) pre_type(long)operator(,) ident(FILE) operator(*\)\);) pre_type(long) ident(rb_io_fwrite) ident(_)operator((()directive(const) pre_type(char) operator(*,) pre_type(long)operator(,) ident(FILE) operator(*\)\);) pre_type(int) ident(rb_io_mode_flags) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) pre_type(int) ident(rb_io_modenum_flags) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(rb_io_check_writable) ident(_)operator((()ident(OpenFile)operator(*\)\);) directive(void) ident(rb_io_check_readable) ident(_)operator((()ident(OpenFile)operator(*\)\);) directive(void) ident(rb_io_fptr_finalize) ident(_)operator((()ident(OpenFile)operator(*\)\);) directive(void) ident(rb_io_synchronized) ident(_)operator((()ident(OpenFile)operator(*\)\);) directive(void) ident(rb_io_check_initialized) ident(_)operator((()ident(OpenFile)operator(*\)\);) directive(void) ident(rb_io_check_closed) ident(_)operator((()ident(OpenFile)operator(*\)\);) pre_type(int) ident(rb_io_wait_readable) ident(_)operator((()pre_type(int)operator(\)\);) pre_type(int) ident(rb_io_wait_writable) ident(_)operator((()pre_type(int)operator(\)\);) directive(void) ident(rb_io_set_nonblock)operator(()ident(OpenFile) operator(*)ident(fptr)operator(\);) ident(VALUE) ident(rb_io_taint_check) ident(_)operator((()ident(VALUE)operator(\)\);) ident(NORETURN)operator(()directive(void) ident(rb_eof_error) ident(_)operator((()directive(void)operator(\)\)\);) directive(void) ident(rb_read_check) ident(_)operator((()ident(FILE)operator(*\)\);) pre_type(int) ident(rb_read_pending) ident(_)operator((()ident(FILE)operator(*\)\);) preprocessor(#endif) comment(/********************************************************************** rubysig.h - $Author: shyouhei $ $Date: 2009-01-05 03:13:40 +0100 (Mon, 05 Jan 2009\) $ created at: Wed Aug 16 01:15:38 JST 1995 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(SIG_H) preprocessor(#define) ident(SIG_H) preprocessor(#include) include() preprocessor(#ifdef) ident(_WIN32) reserved(typedef) ident(LONG) ident(rb_atomic_t)operator(;) preprocessor(# define) ident(ATOMIC_TEST)operator(()ident(var)operator(\)) ident(InterlockedExchange)operator((&()ident(var)operator(\),) integer(0)operator(\)) preprocessor(# define) ident(ATOMIC_SET)operator(()ident(var)operator(,) ident(val)operator(\)) ident(InterlockedExchange)operator((&()ident(var)operator(\),) operator(()ident(val)operator(\)\)) preprocessor(# define) ident(ATOMIC_INC)operator(()ident(var)operator(\)) ident(InterlockedIncrement)operator((&()ident(var)operator(\)\)) preprocessor(# define) ident(ATOMIC_DEC)operator(()ident(var)operator(\)) ident(InterlockedDecrement)operator((&()ident(var)operator(\)\)) comment(/* Windows doesn't allow interrupt while system calls */) preprocessor(# define) ident(TRAP_BEG) reserved(do) operator({)\ pre_type(int) ident(saved_errno) operator(=) integer(0)operator(;)\ ident(rb_atomic_t) ident(trap_immediate) operator(=) ident(ATOMIC_SET)operator(()ident(rb_trap_immediate)operator(,) integer(1)operator(\)) preprocessor(# define) ident(TRAP_END)\ ident(ATOMIC_SET)operator(()ident(rb_trap_immediate)operator(,) ident(trap_immediate)operator(\);)\ ident(saved_errno) operator(=) ident(errno)operator(;)\ ident(CHECK_INTS)operator(;)\ ident(errno) operator(=) ident(saved_errno)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(# define) ident(RUBY_CRITICAL)operator(()ident(statements)operator(\)) reserved(do) operator({)\ ident(rb_w32_enter_critical)operator((\);)\ ident(statements)operator(;)\ ident(rb_w32_leave_critical)operator((\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#else) reserved(typedef) pre_type(int) ident(rb_atomic_t)operator(;) preprocessor(# define) ident(ATOMIC_TEST)operator(()ident(var)operator(\)) operator((()ident(var)operator(\)) operator(?) operator((()ident(var)operator(\)) operator(=) integer(0)operator(,) integer(1)operator(\)) operator(:) integer(0)operator(\)) preprocessor(# define) ident(ATOMIC_SET)operator(()ident(var)operator(,) ident(val)operator(\)) operator((()ident(var)operator(\)) operator(=) operator(()ident(val)operator(\)\)) preprocessor(# define) ident(ATOMIC_INC)operator(()ident(var)operator(\)) operator((++()ident(var)operator(\)\)) preprocessor(# define) ident(ATOMIC_DEC)operator(()ident(var)operator(\)) operator((--()ident(var)operator(\)\)) preprocessor(# define) ident(TRAP_BEG) reserved(do) operator({)\ pre_type(int) ident(saved_errno) operator(=) integer(0)operator(;)\ pre_type(int) ident(trap_immediate) operator(=) ident(rb_trap_immediate)operator(;)\ ident(rb_trap_immediate) operator(=) integer(1) preprocessor(# define) ident(TRAP_END) ident(rb_trap_immediate) operator(=) ident(trap_immediate)operator(;)\ ident(saved_errno) operator(=) ident(errno)operator(;)\ ident(CHECK_INTS)operator(;)\ ident(errno) operator(=) ident(saved_errno)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(# define) ident(RUBY_CRITICAL)operator(()ident(statements)operator(\)) reserved(do) operator({)\ pre_type(int) ident(trap_immediate) operator(=) ident(rb_trap_immediate)operator(;)\ ident(rb_trap_immediate) operator(=) integer(0)operator(;)\ ident(statements)operator(;)\ ident(rb_trap_immediate) operator(=) ident(trap_immediate)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#endif) ident(RUBY_EXTERN) ident(rb_atomic_t) ident(rb_trap_immediate)operator(;) ident(RUBY_EXTERN) pre_type(int) ident(rb_prohibit_interrupt)operator(;) preprocessor(#define) ident(DEFER_INTS) operator(()ident(rb_prohibit_interrupt)operator(++\)) preprocessor(#define) ident(ALLOW_INTS) reserved(do) operator({)\ ident(rb_prohibit_interrupt)operator(--;)\ ident(CHECK_INTS)operator(;)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#define) ident(ENABLE_INTS) operator(()ident(rb_prohibit_interrupt)operator(--\)) ident(VALUE) ident(rb_with_disable_interrupt) ident(_)operator((()ident(VALUE)operator((*\)()ident(ANYARGS)operator(\),)ident(VALUE)operator(\)\);) ident(RUBY_EXTERN) ident(rb_atomic_t) ident(rb_trap_pending)operator(;) directive(void) ident(rb_trap_restore_mask) ident(_)operator((()directive(void)operator(\)\);) ident(RUBY_EXTERN) pre_type(int) ident(rb_thread_critical)operator(;) ident(RUBY_EXTERN) pre_type(int) ident(rb_thread_pending)operator(;) directive(void) ident(rb_thread_schedule) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#if) ident(defined)operator(()ident(HAVE_SETITIMER)operator(\)) operator(||) ident(defined)operator(()ident(_THREAD_SAFE)operator(\)) preprocessor(# define) ident(CHECK_INTS) reserved(do) operator({)\ reserved(if) operator((!()ident(rb_prohibit_interrupt) operator(||) ident(rb_thread_critical)operator(\)\)) operator({)\ reserved(if) operator(()ident(rb_thread_pending)operator(\)) ident(rb_thread_schedule)operator((\);)\ reserved(if) operator(()ident(rb_trap_pending)operator(\)) ident(rb_trap_exec)operator((\);)\ operator(})\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#else) comment(/* pseudo preemptive thread switching */) ident(RUBY_EXTERN) pre_type(int) ident(rb_thread_tick)operator(;) preprocessor(#define) ident(THREAD_TICK) integer(500) preprocessor(#define) ident(CHECK_INTS) reserved(do) operator({)\ reserved(if) operator((!()ident(rb_prohibit_interrupt) operator(||) ident(rb_thread_critical)operator(\)\)) operator({)\ reserved(if) operator(()ident(rb_thread_pending) operator(||) ident(rb_thread_tick)operator(--) operator(<=) integer(0)operator(\)) operator({)\ ident(rb_thread_tick) operator(=) ident(THREAD_TICK)operator(;)\ ident(rb_thread_schedule)operator((\);)\ operator(})\ operator(})\ reserved(if) operator(()ident(rb_trap_pending)operator(\)) ident(rb_trap_exec)operator((\);)\ operator(}) reserved(while) operator(()integer(0)operator(\)) preprocessor(#endif) preprocessor(#endif) comment(/* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */) comment(/* @(#\) st.h 5.1 89/12/14 */) preprocessor(#ifndef) ident(ST_INCLUDED) preprocessor(#define) ident(ST_INCLUDED) preprocessor(#if) ident(SIZEOF_LONG) operator(==) ident(SIZEOF_VOIDP) reserved(typedef) pre_type(unsigned) pre_type(long) ident(st_data_t)operator(;) preprocessor(#elif) ident(SIZEOF_LONG_LONG) operator(==) ident(SIZEOF_VOIDP) reserved(typedef) pre_type(unsigned) ident(LONG_LONG) ident(st_data_t)operator(;) preprocessor(#else) preprocessor(# error) operator(---->>) ident(st)operator(.)ident(c) ident(requires) reserved(sizeof)operator(()directive(void)operator(*\)) operator(==) reserved(sizeof)operator(()pre_type(long)operator(\)) ident(to) ident(be) ident(compiled)operator(.) operator(<<---) operator(-) preprocessor(#endif) preprocessor(#define) ident(ST_DATA_T_DEFINED) reserved(typedef) reserved(struct) ident(st_table) ident(st_table)operator(;) reserved(struct) ident(st_hash_type) operator({) pre_type(int) operator((*)ident(compare)operator(\)(\);) pre_type(int) operator((*)ident(hash)operator(\)(\);) operator(};) reserved(struct) ident(st_table) operator({) reserved(struct) ident(st_hash_type) operator(*)ident(type)operator(;) pre_type(int) ident(num_bins)operator(;) pre_type(int) ident(num_entries)operator(;) reserved(struct) ident(st_table_entry) operator(**)ident(bins)operator(;) operator(};) preprocessor(#define) ident(st_is_member)operator(()ident(table)operator(,)ident(key)operator(\)) ident(st_lookup)operator(()ident(table)operator(,)ident(key)operator(,()ident(st_data_t) operator(*\))integer(0)operator(\)) reserved(enum) ident(st_retval) operator({)ident(ST_CONTINUE)operator(,) ident(ST_STOP)operator(,) ident(ST_DELETE)operator(,) ident(ST_CHECK)operator(};) preprocessor(#ifndef) ident(_) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) ident(args) preprocessor(#endif) preprocessor(#ifndef) ident(ANYARGS) preprocessor(# ifdef) ident(__cplusplus) preprocessor(# define) ident(ANYARGS) operator(.)operator(.)operator(.) preprocessor(# else) preprocessor(# define) ident(ANYARGS) preprocessor(# endif) preprocessor(#endif) ident(st_table) operator(*)ident(st_init_table) ident(_)operator((()reserved(struct) ident(st_hash_type) operator(*\)\);) ident(st_table) operator(*)ident(st_init_table_with_size) ident(_)operator((()reserved(struct) ident(st_hash_type) operator(*,) pre_type(int)operator(\)\);) ident(st_table) operator(*)ident(st_init_numtable) ident(_)operator((()directive(void)operator(\)\);) ident(st_table) operator(*)ident(st_init_numtable_with_size) ident(_)operator((()pre_type(int)operator(\)\);) ident(st_table) operator(*)ident(st_init_strtable) ident(_)operator((()directive(void)operator(\)\);) ident(st_table) operator(*)ident(st_init_strtable_with_size) ident(_)operator((()pre_type(int)operator(\)\);) pre_type(int) ident(st_delete) ident(_)operator((()ident(st_table) operator(*,) ident(st_data_t) operator(*,) ident(st_data_t) operator(*\)\);) pre_type(int) ident(st_delete_safe) ident(_)operator((()ident(st_table) operator(*,) ident(st_data_t) operator(*,) ident(st_data_t) operator(*,) ident(st_data_t)operator(\)\);) pre_type(int) ident(st_insert) ident(_)operator((()ident(st_table) operator(*,) ident(st_data_t)operator(,) ident(st_data_t)operator(\)\);) pre_type(int) ident(st_lookup) ident(_)operator((()ident(st_table) operator(*,) ident(st_data_t)operator(,) ident(st_data_t) operator(*\)\);) pre_type(int) ident(st_foreach) ident(_)operator((()ident(st_table) operator(*,) pre_type(int) operator((*\)()ident(ANYARGS)operator(\),) ident(st_data_t)operator(\)\);) directive(void) ident(st_add_direct) ident(_)operator((()ident(st_table) operator(*,) ident(st_data_t)operator(,) ident(st_data_t)operator(\)\);) directive(void) ident(st_free_table) ident(_)operator((()ident(st_table) operator(*\)\);) directive(void) ident(st_cleanup_safe) ident(_)operator((()ident(st_table) operator(*,) ident(st_data_t)operator(\)\);) ident(st_table) operator(*)ident(st_copy) ident(_)operator((()ident(st_table) operator(*\)\);) preprocessor(#define) ident(ST_NUMCMP) operator((()pre_type(int) operator((*\)(\)\)) integer(0)operator(\)) preprocessor(#define) ident(ST_NUMHASH) operator((()pre_type(int) operator((*\)(\)\)) operator(-)integer(2)operator(\)) preprocessor(#define) ident(st_numcmp) ident(ST_NUMCMP) preprocessor(#define) ident(st_numhash) ident(ST_NUMHASH) pre_type(int) ident(st_strhash)operator((\);) preprocessor(#endif) comment(/* ST_INCLUDED */) comment(/********************************************************************** util.h - $Author: shyouhei $ $Date: 2007-02-13 00:01:19 +0100 (Tue, 13 Feb 2007\) $ created at: Thu Mar 9 11:55:53 JST 1995 Copyright (C\) 1993-2003 Yukihiro Matsumoto **********************************************************************/) preprocessor(#ifndef) ident(UTIL_H) preprocessor(#define) ident(UTIL_H) preprocessor(#ifndef) ident(_) preprocessor(#ifdef) ident(__cplusplus) preprocessor(# ifndef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(HAVE_PROTOTYPES) integer(1) preprocessor(# endif) preprocessor(# ifndef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(# define) ident(HAVE_STDARG_PROTOTYPES) integer(1) preprocessor(# endif) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_PROTOTYPES) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) ident(args) preprocessor(#else) preprocessor(# define) ident(_)operator(()ident(args)operator(\)) operator((\)) preprocessor(#endif) preprocessor(#ifdef) ident(HAVE_STDARG_PROTOTYPES) preprocessor(# define) ident(__)operator(()ident(args)operator(\)) ident(args) preprocessor(#else) preprocessor(# define) ident(__)operator(()ident(args)operator(\)) operator((\)) preprocessor(#endif) preprocessor(#endif) preprocessor(#define) ident(scan_oct) ident(ruby_scan_oct) pre_type(unsigned) pre_type(long) ident(scan_oct) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(*\)\);) preprocessor(#define) ident(scan_hex) ident(ruby_scan_hex) pre_type(unsigned) pre_type(long) ident(scan_hex) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(int)operator(,) pre_type(int)operator(*\)\);) preprocessor(#if) ident(defined)operator(()ident(MSDOS)operator(\)) operator(||) ident(defined)operator(()ident(__CYGWIN32__)operator(\)) operator(||) ident(defined)operator(()ident(_WIN32)operator(\)) directive(void) ident(ruby_add_suffix)operator((\);) preprocessor(#endif) directive(void) ident(ruby_qsort) ident(_)operator((()directive(void)operator(*,) directive(const) pre_type(int)operator(,) directive(const) pre_type(int)operator(,) pre_type(int) operator((*\)(\),) directive(void)operator(*\)\);) preprocessor(#define) ident(qsort)operator(()ident(b)operator(,)ident(n)operator(,)ident(s)operator(,)ident(c)operator(,)ident(d)operator(\)) ident(ruby_qsort)operator(()ident(b)operator(,)ident(n)operator(,)ident(s)operator(,)ident(c)operator(,)ident(d)operator(\)) directive(void) ident(ruby_setenv) ident(_)operator((()directive(const) pre_type(char)operator(*,) directive(const) pre_type(char)operator(*\)\);) directive(void) ident(ruby_unsetenv) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) preprocessor(#undef) ident(setenv) preprocessor(#undef) ident(unsetenv) preprocessor(#define) ident(setenv)operator(()ident(name)operator(,)ident(val)operator(\)) ident(ruby_setenv)operator(()ident(name)operator(,)ident(val)operator(\)) preprocessor(#define) ident(unsetenv)operator(()ident(name)operator(,)ident(val)operator(\)) ident(ruby_unsetenv)operator(()ident(name)operator(\);) pre_type(char) operator(*)ident(ruby_strdup) ident(_)operator((()directive(const) pre_type(char)operator(*\)\);) preprocessor(#undef) ident(strdup) preprocessor(#define) ident(strdup)operator(()ident(s)operator(\)) ident(ruby_strdup)operator(()ident(s)operator(\)) pre_type(char) operator(*)ident(ruby_getcwd) ident(_)operator((()directive(void)operator(\)\);) preprocessor(#define) ident(my_getcwd)operator((\)) ident(ruby_getcwd)operator((\)) pre_type(double) ident(ruby_strtod) ident(_)operator((()directive(const) pre_type(char)operator(*,) pre_type(char) operator(**\)\);) preprocessor(#undef) ident(strtod) preprocessor(#define) ident(strtod)operator(()ident(s)operator(,)ident(e)operator(\)) ident(ruby_strtod)operator(()ident(s)operator(,)ident(e)operator(\)) preprocessor(#endif) comment(/* UTIL_H */) preprocessor(#define) ident(RUBY_VERSION) string preprocessor(#define) ident(RUBY_RELEASE_DATE) string preprocessor(#define) ident(RUBY_VERSION_CODE) integer(186) preprocessor(#define) ident(RUBY_RELEASE_CODE) integer(20090909) preprocessor(#define) ident(RUBY_PATCHLEVEL) integer(388) preprocessor(#define) ident(RUBY_VERSION_MAJOR) integer(1) preprocessor(#define) ident(RUBY_VERSION_MINOR) integer(8) preprocessor(#define) ident(RUBY_VERSION_TEENY) integer(6) preprocessor(#define) ident(RUBY_RELEASE_YEAR) integer(2009) preprocessor(#define) ident(RUBY_RELEASE_MONTH) integer(9) preprocessor(#define) ident(RUBY_RELEASE_DAY) integer(9) preprocessor(#ifdef) ident(RUBY_EXTERN) ident(RUBY_EXTERN) directive(const) pre_type(char) ident(ruby_version)operator([];) ident(RUBY_EXTERN) directive(const) pre_type(char) ident(ruby_release_date)operator([];) ident(RUBY_EXTERN) directive(const) pre_type(char) ident(ruby_platform)operator([];) ident(RUBY_EXTERN) directive(const) pre_type(int) ident(ruby_patchlevel)operator(;) preprocessor(#endif)