aboutsummaryrefslogtreecommitdiff
path: root/custom_mutators/grammatron/grammars/ruby/source.json
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-07-08 20:13:50 +0200
committervanhauser-thc <vh@thc.org>2021-07-08 20:13:50 +0200
commit19b01d763ac11ea865589fc73cbbb1806f0f5f2a (patch)
tree2d200b747b8dddb2aa9d7d3bc1ed8bbdd6f757f8 /custom_mutators/grammatron/grammars/ruby/source.json
parenta09ab9953419cc06ae88e100c934198ed6ee1802 (diff)
downloadafl++-19b01d763ac11ea865589fc73cbbb1806f0f5f2a.tar.gz
add grammatron custom mutator
Diffstat (limited to 'custom_mutators/grammatron/grammars/ruby/source.json')
-rw-r--r--custom_mutators/grammatron/grammars/ruby/source.json1195
1 files changed, 1195 insertions, 0 deletions
diff --git a/custom_mutators/grammatron/grammars/ruby/source.json b/custom_mutators/grammatron/grammars/ruby/source.json
new file mode 100644
index 00000000..df969f5f
--- /dev/null
+++ b/custom_mutators/grammatron/grammars/ruby/source.json
@@ -0,0 +1,1195 @@
+{
+ "ARGS": [
+ "VAR",
+ "VAR ',' ARGS",
+ "' '"
+ ],
+ "IDENTIFIER": [
+ "'abcdef0123456789ABCDEF'",
+ "'abcdefghijklmnopqrstuvwxyz'",
+ "'abort'",
+ "'abs'",
+ "'accept'",
+ "'acos'",
+ "'acosh'",
+ "'address'",
+ "'alias'",
+ "'alias_method'",
+ "'allocation'",
+ "'all_symbols'",
+ "'ancestors'",
+ "'and'",
+ "'anum'",
+ "'append'",
+ "'append_features'",
+ "'Apr'",
+ "'aref_args'",
+ "'arg'",
+ "'arg0'",
+ "'arg1'",
+ "'arg2'",
+ "'arg_rhs'",
+ "'args'",
+ "'argument'",
+ "'ArgumentError'",
+ "'arguments'",
+ "'argv'",
+ "'ARGV'",
+ "'arity'",
+ "'array'",
+ "'Array'",
+ "'ary'",
+ "'__ary_cmp'",
+ "'ary_concat'",
+ "'__ary_eq'",
+ "'ary_F'",
+ "'__ary_index'",
+ "'ary_replace'",
+ "'ary_T'",
+ "'asctime'",
+ "'asin'",
+ "'asinh'",
+ "'__assert_fail'",
+ "'assignment'",
+ "'assoc'",
+ "'assoc_list'",
+ "'assocs'",
+ "'assumed'",
+ "'at'",
+ "'atan'",
+ "'atan2'",
+ "'atanh'",
+ "'__attached__'",
+ "'attr'",
+ "'attr_accessor'",
+ "'attr_reader'",
+ "'attrsym'",
+ "'attr_writer'",
+ "'available'",
+ "'backref'",
+ "'backtrace'",
+ "'Backtrace'",
+ "'BasicObject'",
+ "'basic_symbol'",
+ "'beg'",
+ "'begin'",
+ "'BEGIN'",
+ "'big'",
+ "'BIT'",
+ "'blkarg_mark'",
+ "'block'",
+ "'block_arg'",
+ "'block_call'",
+ "'block_command'",
+ "'block_param'",
+ "'block_param_def'",
+ "'BMATZ0000IREP'",
+ "'body'",
+ "'bodystmt'",
+ "'boundary'",
+ "'brace_block'",
+ "'break'",
+ "'bsearch'",
+ "'bsearch_index'",
+ "'buf'",
+ "'bvar'",
+ "'bv_decls'",
+ "'byte'",
+ "'bytes'",
+ "'bytesize'",
+ "'byteslice'",
+ "'call'",
+ "'call_args'",
+ "'caller'",
+ "'call_op'",
+ "'call_op2'",
+ "'capitalize'",
+ "'case'",
+ "'case_body'",
+ "'casecmp'",
+ "'__case_eqq'",
+ "'cases'",
+ "'cbrt'",
+ "'cdr'",
+ "'ceil'",
+ "'change_gen_gc_mode'",
+ "'character'",
+ "'chars'",
+ "'chomp'",
+ "'chop'",
+ "'chr'",
+ "'clamp'",
+ "'Class'",
+ "'class_eval'",
+ "'__classname__'",
+ "'class_variable_get'",
+ "'class_variables'",
+ "'class_variable_set'",
+ "'clause'",
+ "'clear_all_old'",
+ "'clone'",
+ "'closure'",
+ "'cLVAR'",
+ "'cmd_brace_block'",
+ "'cmp'",
+ "'cname'",
+ "'codegen'",
+ "'codepoints'",
+ "'collect'",
+ "'collect_concat'",
+ "'color'",
+ "'column_count'",
+ "'column_index'",
+ "'combination'",
+ "'comma'",
+ "'command'",
+ "'command_args'",
+ "'command_asgn'",
+ "'command_call'",
+ "'command_rhs'",
+ "'compact'",
+ "'Comparable'",
+ "'compile'",
+ "'compstmt'",
+ "'concat'",
+ "'constant'",
+ "'CONSTANT'",
+ "'constants'",
+ "'const_get'",
+ "'const_missing'",
+ "'const_set'",
+ "'cont'",
+ "'context'",
+ "'copyright'",
+ "'corrupted'",
+ "'cos'",
+ "'cosh'",
+ "'count'",
+ "'count_objects'",
+ "'cpath'",
+ "'ctime'",
+ "'__ctype_b_loc'",
+ "'curr'",
+ "'current'",
+ "'curry'",
+ "'cycle'",
+ "'Data'",
+ "'day'",
+ "'debug_info'",
+ "'Dec'",
+ "'deep'",
+ "'def'",
+ "'default'",
+ "'DEFAULT'",
+ "'default_proc'",
+ "'defined'",
+ "'define_method'",
+ "'define_singleton_method'",
+ "'__delete'",
+ "'delete'",
+ "'delete_at'",
+ "'delete_if'",
+ "'delete_prefix'",
+ "'delete_suffix'",
+ "'Deleting'",
+ "'depth'",
+ "'detect'",
+ "'detected'",
+ "'developers'",
+ "'differs'",
+ "'digit'",
+ "'digits'",
+ "'disable'",
+ "'disabled'",
+ "'discarding'",
+ "'div'",
+ "'divmod'",
+ "'do'",
+ "'do_block'",
+ "'DomainError'",
+ "'dot'",
+ "'dot_or_colon'",
+ "'downcase'",
+ "'downto'",
+ "'drop'",
+ "'dropped'",
+ "'dropping'",
+ "'drop_while'",
+ "'dump'",
+ "'dup'",
+ "'each'",
+ "'each_byte'",
+ "'each_char'",
+ "'each_codepoint'",
+ "'each_cons'",
+ "'each_index'",
+ "'each_key'",
+ "'each_line'",
+ "'each_object'",
+ "'each_pair'",
+ "'each_slice'",
+ "'each_value'",
+ "'each_with_index'",
+ "'each_with_object'",
+ "'ecall'",
+ "'elem'",
+ "'else'",
+ "'elsif'",
+ "'en'",
+ "'enable'",
+ "'__ENCODING__'",
+ "'end'",
+ "'__END__'",
+ "'END'",
+ "'ensure'",
+ "'entries'",
+ "'Enumerable'",
+ "'enumerator'",
+ "'Enumerator'",
+ "'enumerator_block_call'",
+ "'enum_for'",
+ "'enums'",
+ "'env'",
+ "'erf'",
+ "'erfc'",
+ "'__errno_location'",
+ "'error'",
+ "'escape'",
+ "'ETIR'",
+ "'ETIR0004Ci'",
+ "'exception'",
+ "'Exception'",
+ "'exc_list'",
+ "'exc_var'",
+ "'exhausted'",
+ "'exp'",
+ "'expected'",
+ "'expr'",
+ "'expression'",
+ "'expr_value'",
+ "'extend'",
+ "'extended'",
+ "'extend_object'",
+ "'fail'",
+ "'failed'",
+ "'failure'",
+ "'false'",
+ "'FalseClass'",
+ "'f_arg'",
+ "'f_arg_item'",
+ "'f_arglist'",
+ "'f_args'",
+ "'f_bad_arg'",
+ "'f_block_arg'",
+ "'f_block_opt'",
+ "'f_block_optarg'",
+ "'fclose'",
+ "'Feb'",
+ "'feed'",
+ "'feedvalue'",
+ "'feof'",
+ "'fetch'",
+ "'fetch_values'",
+ "'fflush'",
+ "'fgetc'",
+ "'fib'",
+ "'fiber'",
+ "'Fiber'",
+ "'fiber_check'",
+ "'FiberError'",
+ "'field'",
+ "'file'",
+ "'File'",
+ "'__FILE__'",
+ "'filename'",
+ "'filenames_len'",
+ "'fill'",
+ "'final_marking_phase'",
+ "'find'",
+ "'find_all'",
+ "'find_index'",
+ "'first'",
+ "'fish'",
+ "'Fixnum'",
+ "'flag'",
+ "'f_larglist'",
+ "'flat_map'",
+ "'flatten'",
+ "'Float'",
+ "'FloatDomainError'",
+ "'floor'",
+ "'f_marg'",
+ "'f_marg_list'",
+ "'f_margs'",
+ "'fmod'",
+ "'fn'",
+ "'Fn'",
+ "'fname'",
+ "'f_norm_arg'",
+ "'fopen'",
+ "'f_opt'",
+ "'f_optarg'",
+ "'f_opt_asgn'",
+ "'for'",
+ "'force'",
+ "'format'",
+ "'for_var'",
+ "'found'",
+ "'fprintf'",
+ "'fputc'",
+ "'fread'",
+ "'free'",
+ "'FREE'",
+ "'freeze'",
+ "'f_rest_arg'",
+ "'frexp'",
+ "'Fri'",
+ "'FrozenError'",
+ "'FsC'",
+ "'fsym'",
+ "'fwrite'",
+ "'games'",
+ "'GB'",
+ "'GC'",
+ "'gc_mark_children'",
+ "'_gc_root_'",
+ "'generational_mode'",
+ "'Generator'",
+ "'getbyte'",
+ "'get_file'",
+ "'getgm'",
+ "'getlocal'",
+ "'gettimeofday'",
+ "'getutc'",
+ "'given'",
+ "'given_args'",
+ "'global_variables'",
+ "'__gmon_start__'",
+ "'gmtime'",
+ "'gmtime_r'",
+ "'gn'",
+ "'gnu'",
+ "'GNU'",
+ "'go'",
+ "'grep'",
+ "'group_by'",
+ "'gsub'",
+ "'h0'",
+ "'h2'",
+ "'H3'",
+ "'h4'",
+ "'h5'",
+ "'H5'",
+ "'h6'",
+ "'H6'",
+ "'h7'",
+ "'h8'",
+ "'hA'",
+ "'hash'",
+ "'Hash'",
+ "'head'",
+ "'heredoc'",
+ "'heredoc_bodies'",
+ "'heredoc_body'",
+ "'heredoc_string_interp'",
+ "'heredoc_string_rep'",
+ "'heredoc_treat_nextline'",
+ "'hex'",
+ "'high'",
+ "'hour'",
+ "'hypot'",
+ "'i2'",
+ "'iClass'",
+ "'__id__'",
+ "'id2name'",
+ "'identifier'",
+ "'idx'",
+ "'idx2'",
+ "'if'",
+ "'ifnone'",
+ "'if_tail'",
+ "'implemented'",
+ "'in'",
+ "'include'",
+ "'included'",
+ "'included_modules'",
+ "'incremental_gc'",
+ "'index'",
+ "'IndexError'",
+ "'inf'",
+ "'Inf'",
+ "'INF'",
+ "'Infinity'",
+ "'INFINITY'",
+ "'inherited'",
+ "'initialize'",
+ "'initialize_copy'",
+ "'inject'",
+ "'in_lower_half'",
+ "'input'",
+ "'insert'",
+ "'_inspect'",
+ "'inspect'",
+ "'instance_eval'",
+ "'instance_exec'",
+ "'instance_methods'",
+ "'instance_variable_get'",
+ "'instance_variables'",
+ "'instance_variable_set'",
+ "'int'",
+ "'integer'",
+ "'Integer'",
+ "'Integral'",
+ "'intern'",
+ "'interval_ratio'",
+ "'invert'",
+ "'io'",
+ "'Io'",
+ "'_IO_putc'",
+ "'ip'",
+ "'Ip'",
+ "'irep'",
+ "'IREP'",
+ "'isz'",
+ "'iterate'",
+ "'_ITM_deregisterTMCloneTable'",
+ "'_ITM_registerTMCloneTable'",
+ "'itself'",
+ "'Jan'",
+ "'join'",
+ "'_Jv_RegisterClasses'",
+ "'keep_if'",
+ "'Kernel'",
+ "'key'",
+ "'KeyError'",
+ "'keys'",
+ "'keyword_alias'",
+ "'keyword_and'",
+ "'keyword_begin'",
+ "'keyword_BEGIN'",
+ "'keyword_break'",
+ "'keyword_case'",
+ "'keyword_class'",
+ "'keyword_def'",
+ "'keyword_do'",
+ "'keyword_do_block'",
+ "'keyword_do_cond'",
+ "'keyword_do_LAMBDA'",
+ "'keyword_else'",
+ "'keyword_elsif'",
+ "'keyword__ENCODING__'",
+ "'keyword_end'",
+ "'keyword_END'",
+ "'keyword_ensure'",
+ "'keyword_false'",
+ "'keyword__FILE__'",
+ "'keyword_for'",
+ "'keyword_if'",
+ "'keyword_in'",
+ "'keyword__LINE__'",
+ "'keyword_module'",
+ "'keyword_next'",
+ "'keyword_nil'",
+ "'keyword_not'",
+ "'keyword_or'",
+ "'keyword_redo'",
+ "'keyword_rescue'",
+ "'keyword_retry'",
+ "'keyword_return'",
+ "'keyword_self'",
+ "'keyword_super'",
+ "'keyword_then'",
+ "'keyword_true'",
+ "'keyword_undef'",
+ "'keyword_unless'",
+ "'keyword_until'",
+ "'keyword_when'",
+ "'keyword_while'",
+ "'keyword_yield'",
+ "'kh_del_ht'",
+ "'kh_del_iv'",
+ "'kh_del_mt'",
+ "'kh_del_n2s'",
+ "'kh_del_st'",
+ "'KLVAR'",
+ "'lambda'",
+ "'lambda_body'",
+ "'last'",
+ "'lazy'",
+ "'Lazy'",
+ "'LC'",
+ "'ld'",
+ "'LD'",
+ "'ldexp'",
+ "'left'",
+ "'len'",
+ "'length'",
+ "'level'",
+ "'lfD'",
+ "'lhs'",
+ "'__libc_start_main'",
+ "'LII'",
+ "'lIJ'",
+ "'lim'",
+ "'line'",
+ "'__LINE__'",
+ "'LINE'",
+ "'lines'",
+ "'literal'",
+ "'literals'",
+ "'live_after_mark'",
+ "'ljust'",
+ "'ln'",
+ "'Ln'",
+ "'lo'",
+ "'local'",
+ "'LOCAL'",
+ "'LocalJumpError'",
+ "'localtime'",
+ "'localtime_r'",
+ "'local_variables'",
+ "'log'",
+ "'log10'",
+ "'log2'",
+ "'long'",
+ "'longjmp'",
+ "'lookahead'",
+ "'loop'",
+ "'low'",
+ "'lround'",
+ "'LS'",
+ "'lstrip'",
+ "'LVAR'",
+ "'machine'",
+ "'main'",
+ "'make_curry'",
+ "'map'",
+ "'match'",
+ "'matched'",
+ "'Math'",
+ "'max'",
+ "'max_by'",
+ "'max_cmp'",
+ "'May'",
+ "'mday'",
+ "'member'",
+ "'__members__'",
+ "'members'",
+ "'memchr'",
+ "'memcmp'",
+ "'memcpy'",
+ "'memmove'",
+ "'memory'",
+ "'memset'",
+ "'merge'",
+ "'mesg'",
+ "'message'",
+ "'meth'",
+ "'__method__'",
+ "'method'",
+ "'method_call'",
+ "'method_missing'",
+ "'method_removed'",
+ "'methods'",
+ "'mid'",
+ "'min'",
+ "'min_by'",
+ "'min_cmp'",
+ "'minmax'",
+ "'minmax_by'",
+ "'mktime'",
+ "'mlhs_basic'",
+ "'mlhs_inner'",
+ "'mlhs_item'",
+ "'mlhs_list'",
+ "'mlhs_node'",
+ "'mlhs_post'",
+ "'mode'",
+ "'modified'",
+ "'modifier_if'",
+ "'modifier_rescue'",
+ "'modifier_unless'",
+ "'modifier_until'",
+ "'modifier_while'",
+ "'module'",
+ "'Module'",
+ "'module_eval'",
+ "'module_function'",
+ "'modules'",
+ "'mon'",
+ "'Mon'",
+ "'month'",
+ "'mrb_ary_delete_at'",
+ "'mrb_ary_new_from_values'",
+ "'mrb_ary_plus'",
+ "'mrb_ary_pop'",
+ "'mrb_ary_push'",
+ "'mrb_ary_push_m'",
+ "'mrb_ary_resize'",
+ "'mrb_ary_reverse'",
+ "'mrb_ary_set'",
+ "'mrb_ary_shift'",
+ "'mrb_ary_splice'",
+ "'mrb_ary_times'",
+ "'mrb_ary_unshift'",
+ "'mrb_ary_unshift_m'",
+ "'mrb_assoc_new'",
+ "'mrb_data_init'",
+ "'mrb_debug_get_line'",
+ "'mrb_debug_info_alloc'",
+ "'mrb_debug_info_append_file'",
+ "'mrb_debug_info_free'",
+ "'mrb_field_write_barrier'",
+ "'mrb_gc_mark'",
+ "'MRB_GC_STATE_ROOT'",
+ "'MRB_GC_STATE_SWEEP'",
+ "'mrb_gc_unregister'",
+ "'mrb_i_mt_state'",
+ "'mrb_incremental_gc'",
+ "'mrb_malloc'",
+ "'mrb_mod_s_nesting'",
+ "'mrb_obj_value'",
+ "'mrb_random_init'",
+ "'mrb_random_srand'",
+ "'mrb_realloc'",
+ "'mrb_str_format'",
+ "'MRB_TT_DATA'",
+ "'MRB_TT_FIBER'",
+ "'MRB_TT_FREE'",
+ "'mrb_vm_const_get'",
+ "'mrb_vm_exec'",
+ "'mrb_write_barrier'",
+ "'mrhs'",
+ "'mruby'",
+ "'MRUBY_COPYRIGHT'",
+ "'MRUBY_DESCRIPTION'",
+ "'MRUBY_RELEASE_DATE'",
+ "'MRUBY_RELEASE_NO'",
+ "'MRUBY_VERSION'",
+ "'name'",
+ "'named'",
+ "'NameError'",
+ "'names'",
+ "'nan'",
+ "'NaN'",
+ "'NAN'",
+ "'nesting'",
+ "'new'",
+ "'new_args'",
+ "'new_key'",
+ "'new_msym'",
+ "'next'",
+ "'next_values'",
+ "'nil'",
+ "'NilClass'",
+ "'nl'",
+ "'nlocals'",
+ "'nLVAR'",
+ "'nMATZ0000IREP'",
+ "'NODE_DREGX'",
+ "'NODE_DSTR'",
+ "'NODE_DXSTR'",
+ "'NODE_FALSE'",
+ "'NODE_NEGATE'",
+ "'NODE_NIL'",
+ "'NODE_REDO'",
+ "'NODE_RETRY'",
+ "'NODE_SELF'",
+ "'NODE_TRUE'",
+ "'NODE_UNDEF'",
+ "'NODE_ZSUPER'",
+ "'NoMemoryError'",
+ "'NoMethodError'",
+ "'none'",
+ "'NONE'",
+ "'norm'",
+ "'not'",
+ "'NotImplementedError'",
+ "'Nov'",
+ "'now'",
+ "'Np'",
+ "'nregs'",
+ "'num'",
+ "'number'",
+ "'numbered'",
+ "'numeric'",
+ "'Numeric'",
+ "'obj'",
+ "'object'",
+ "'Object'",
+ "'object_id'",
+ "'ObjectSpace'",
+ "'oct'",
+ "'Oct'",
+ "'offset'",
+ "'on'",
+ "'On'",
+ "'only'",
+ "'Oo'",
+ "'op'",
+ "'Op'",
+ "'operation'",
+ "'operation2'",
+ "'operation3'",
+ "'OP_NOP'",
+ "'OP_STOP'",
+ "'opt_block_arg'",
+ "'opt_block_param'",
+ "'opt_bv_decl'",
+ "'opt_call_args'",
+ "'opt_else'",
+ "'opt_ensure'",
+ "'opt_f_block_arg'",
+ "'opt_nl'",
+ "'opt_paren_args'",
+ "'opt_rescue'",
+ "'opt_terms'",
+ "'or'",
+ "'ord'",
+ "'orig'",
+ "'other'",
+ "'__outer__'",
+ "'P9o'",
+ "'padding'",
+ "'pad_repetitions'",
+ "'padstr'",
+ "'parameters'",
+ "'paren_args'",
+ "'partition'",
+ "'pattern'",
+ "'PC'",
+ "'peek'",
+ "'peek_values'",
+ "'permutation'",
+ "'plen'",
+ "'point'",
+ "'pop'",
+ "'popping'",
+ "'pos'",
+ "'posnum'",
+ "'post'",
+ "'pow'",
+ "'pp'",
+ "'pproc'",
+ "'pre'",
+ "'precision'",
+ "'prefix'",
+ "'prepend'",
+ "'prepended'",
+ "'prepend_features'",
+ "'primary'",
+ "'primary_value'",
+ "'print'",
+ "'printf'",
+ "'__printstr__'",
+ "'private'",
+ "'private_methods'",
+ "'prl'",
+ "'proc'",
+ "'Proc'",
+ "'program'",
+ "'protected'",
+ "'protected_methods'",
+ "'ps'",
+ "'public'",
+ "'public_methods'",
+ "'push'",
+ "'putchar'",
+ "'puts'",
+ "'quo'",
+ "'raise'",
+ "'rand'",
+ "'Random'",
+ "'range'",
+ "'Range'",
+ "'RangeError'",
+ "'rassoc'",
+ "'rb'",
+ "'RB'",
+ "'rbracket'",
+ "'RC'",
+ "'read_debug_record'",
+ "'readint_mrb_int'",
+ "'read_irep_record_1'",
+ "'read_lv_record'",
+ "'read_section_debug'",
+ "'read_section_lv'",
+ "'realloc'",
+ "'redo'",
+ "'reduce'",
+ "'reg'",
+ "'regexp'",
+ "'Regexp'",
+ "'RegexpError'",
+ "'rehash'",
+ "'reject'",
+ "'remove_class_variable'",
+ "'remove_const'",
+ "'remove_instance_variable'",
+ "'remove_method'",
+ "'replace'",
+ "'req'",
+ "'required'",
+ "'res'",
+ "'rescue'",
+ "'resize_capa'",
+ "'rest'",
+ "'restarg_mark'",
+ "'result'",
+ "'resume'",
+ "'reswords'",
+ "'ret'",
+ "'retry'",
+ "'return'",
+ "'reverse'",
+ "'reverse_each'",
+ "'rewind'",
+ "'right'",
+ "'rindex'",
+ "'rjust'",
+ "'rotate'",
+ "'round'",
+ "'row'",
+ "'rparen'",
+ "'rpartition'",
+ "'rs_len'",
+ "'rstrip'",
+ "'RUBY_ENGINE'",
+ "'RUBY_ENGINE_VERSION'",
+ "'RUBY_VERSION'",
+ "'RuntimeError'",
+ "'sample'",
+ "'Sat'",
+ "'satisfied'",
+ "'scan'",
+ "'SClass'",
+ "'scope'",
+ "'scope_new'",
+ "'script'",
+ "'ScriptError'",
+ "'sec'",
+ "'select'",
+ "'self'",
+ "'self_arity'",
+ "'__send__'",
+ "'send'",
+ "'sep'",
+ "'Sep'",
+ "'sequence'",
+ "'set'",
+ "'set_backtrace'",
+ "'setbyte'",
+ "'_setjmp'",
+ "'shift'",
+ "'shuffle'",
+ "'sin'",
+ "'singleton'",
+ "'singleton_class'",
+ "'singleton_methods'",
+ "'sinh'",
+ "'size'",
+ "'sl'",
+ "'slice'",
+ "'snprintf'",
+ "'so'",
+ "'So'",
+ "'sort'",
+ "'sort_by'",
+ "'__sort_sub__'",
+ "'source_location'",
+ "'Sp'",
+ "'spaces'",
+ "'specifier'",
+ "'splice'",
+ "'split'",
+ "'sprintf'",
+ "'sqrt'",
+ "'srand'",
+ "'__stack_chk_fail'",
+ "'StandardError'",
+ "'start'",
+ "'state'",
+ "'stderr'",
+ "'stdin'",
+ "'stdout'",
+ "'step'",
+ "'step_ratio'",
+ "'stmt'",
+ "'stmts'",
+ "'stop_exc'",
+ "'StopIteration'",
+ "'store'",
+ "'str'",
+ "'str2'",
+ "'strchr'",
+ "'strcmp'",
+ "'str_each'",
+ "'string'",
+ "'String'",
+ "'string_interp'",
+ "'string_rep'",
+ "'strip'",
+ "'strlen'",
+ "'str_make_shared'",
+ "'strncmp'",
+ "'strncpy'",
+ "'strtoul'",
+ "'struct'",
+ "'Struct'",
+ "'sub'",
+ "'__sub_replace'",
+ "'succ'",
+ "'Sun'",
+ "'super'",
+ "'superclass'",
+ "'supported'",
+ "'__svalue'",
+ "'SVD'",
+ "'swapcase'",
+ "'sym'",
+ "'symbol'",
+ "'Symbol'",
+ "'symbols'",
+ "'sym_inspect'",
+ "'syntax'",
+ "'SyntaxError'",
+ "'_sys_fail'",
+ "'SystemCallError'",
+ "'SystemStackError'",
+ "'TA'",
+ "'tail'",
+ "'take'",
+ "'taken'",
+ "'take_while'",
+ "'tAMPER'",
+ "'tan'",
+ "'tANDDOT'",
+ "'tANDOP'",
+ "'tanh'",
+ "'tap'",
+ "'tAREF'",
+ "'T_ARRAY'",
+ "'tASET'",
+ "'tASSOC'",
+ "'TB'",
+ "'tBACK_REF'",
+ "'TbG'",
+ "'T_CLASS'",
+ "'tCMP'",
+ "'tCOLON2'",
+ "'tCOLON3'",
+ "'tCONSTANT'",
+ "'T_CPTR'",
+ "'tCVAR'",
+ "'T_DATA'",
+ "'tDOT2'",
+ "'tDOT3'",
+ "'TeD'",
+ "'T_ENV'",
+ "'tEQ'",
+ "'tEQQ'",
+ "'term'",
+ "'terms'",
+ "'T_EXCEPTION'",
+ "'T_FALSE'",
+ "'T_FIBER'",
+ "'tFID'",
+ "'T_FILE'",
+ "'T_FIXNUM'",
+ "'tFLOAT'",
+ "'T_FLOAT'",
+ "'T_FREE'",
+ "'tGEQ'",
+ "'tGVAR'",
+ "'T_HASH'",
+ "'tHD_LITERAL_DELIM'",
+ "'tHD_STRING_MID'",
+ "'tHD_STRING_PART'",
+ "'then'",
+ "'tHEREDOC_BEG'",
+ "'tHEREDOC_END'",
+ "'this'",
+ "'T_ICLASS'",
+ "'tIDENTIFIER'",
+ "'time'",
+ "'Time'",
+ "'times'",
+ "'tINTEGER'",
+ "'tIVAR'",
+ "'tLABEL'",
+ "'tLABEL_END'",
+ "'tLAMBDA'",
+ "'tLAMBEG'",
+ "'tLAST_TOKEN'",
+ "'tLBRACE'",
+ "'tLBRACE_ARG'",
+ "'tLBRACK'",
+ "'tLEQ'",
+ "'tLITERAL_DELIM'",
+ "'tLOWEST'",
+ "'tLPAREN'",
+ "'tLPAREN_ARG'",
+ "'tLSHFT'",
+ "'tMATCH'",
+ "'T_MODULE'",
+ "'tmp'",
+ "'tNEQ'",
+ "'tNMATCH'",
+ "'tNTH_REF'",
+ "'to_ary'",
+ "'T_OBJECT'",
+ "'to_enum'",
+ "'to_h'",
+ "'to_hash'",
+ "'to_i'",
+ "'to_int'",
+ "'TOJ'",
+ "'TOLERANCE'",
+ "'tolower'",
+ "'tOP_ASGN'",
+ "'top_compstmt'",
+ "'to_proc'",
+ "'top_stmt'",
+ "'top_stmts'",
+ "'tOROP'",
+ "'to_s'",
+ "'to_str'",
+ "'to_sym'",
+ "'TOTAL'",
+ "'toupper'",
+ "'tPOW'",
+ "'T_PROC'",
+ "'trailer'",
+ "'T_RANGE'",
+ "'transfer'",
+ "'transform_keys'",
+ "'transform_values'",
+ "'transpose'",
+ "'tREGEXP'",
+ "'tREGEXP_BEG'",
+ "'tREGEXP_END'",
+ "'tRPAREN'",
+ "'tRSHFT'",
+ "'true'",
+ "'TrueClass'",
+ "'truncate'",
+ "'try_convert'",
+ "'T_SCLASS'",
+ "'tSTAR'",
+ "'tSTRING'",
+ "'T_STRING'",
+ "'tSTRING_BEG'",
+ "'tSTRING_DVAR'",
+ "'tSTRING_MID'",
+ "'tSTRING_PART'",
+ "'tSYMBEG'",
+ "'T_SYMBOL'",
+ "'tSYMBOLS_BEG'",
+ "'tt'",
+ "'T_TRUE'",
+ "'Tue'",
+ "'tUMINUS'",
+ "'tUMINUS_NUM'",
+ "'T_UNDEF'",
+ "'tUPLUS'",
+ "'twice'",
+ "'tWORDS_BEG'",
+ "'tXSTRING'",
+ "'tXSTRING_BEG'",
+ "'type'",
+ "'TypeError'",
+ "'umrb_obj_value'",
+ "'undef'",
+ "'undefined'",
+ "'undef_list'",
+ "'undef_method'",
+ "'uniq'",
+ "'unless'",
+ "'unshift'",
+ "'until'",
+ "'upcase'",
+ "'__update'",
+ "'update'",
+ "'upto'",
+ "'usec'",
+ "'useless'",
+ "'utc'",
+ "'v0000'",
+ "'val'",
+ "'validated'",
+ "'vals'",
+ "'value'",
+ "'values'",
+ "'values_at'",
+ "'variable'",
+ "'var_lhs'",
+ "'var_ref'",
+ "'verbose'",
+ "'version'",
+ "'vm'",
+ "'Vm'",
+ "'warn'",
+ "'wday'",
+ "'Wed'",
+ "'when'",
+ "'while'",
+ "'width'",
+ "'with_index'",
+ "'with_object'",
+ "'words'",
+ "'x86_64'",
+ "'xstring'",
+ "'yday'",
+ "'year'",
+ "'yield'",
+ "'yielder'",
+ "'Yielder'",
+ "'yield_self'",
+ "'zip'",
+ "'zone'"
+ ],
+ "SP": [
+ "' '"
+ ],
+ "PROGRAM": [
+ "RUBYBLOCK"
+ ],
+ "RUBYBLOCK": [
+ "STATEMENT NEWLINE RUBYBLOCK",
+ "' '"
+ ],
+ "NEWLINE": [
+ "'\\n'"
+ ],
+ "STATEMENT": [
+ "VAR '=' VAR '.' IDENTIFIER '(' ARGS ')'",
+ "VAR '=' IDENTIFIER '.' IDENTIFIER '(' ARGS ')'",
+ "VAR '=' VAL '.' IDENTIFIER '(' ARGS ')'",
+ "VAR '=' VAL",
+ "'return' SP VAR",
+ "'yield' SP VAR",
+ "'continue' SP VAR",
+ "'break' SP VAR",
+ "'next' SP VAR"
+ ],
+ "VAL": [
+ "'1'",
+ "'0'",
+ "'0.0'",
+ "'\"foo\"'",
+ "'\"asdfasdf\"'",
+ "'\"o\"'",
+ "'nil'",
+ "'true'",
+ "'false'",
+ "'/foo/'",
+ "'[]'",
+ "'[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,nil]'"
+ ],
+ "VAR": [
+ "'a'",
+ "'b'",
+ "'c'",
+ "'d'"
+ ]
+}