about summary refs log tree commit diff
path: root/custom_mutators/gramatron/grammars/ruby/source.json
diff options
context:
space:
mode:
authorvanhauser-thc <vh@thc.org>2021-07-09 10:32:14 +0200
committervanhauser-thc <vh@thc.org>2021-07-09 10:32:14 +0200
commite1d5009229fb5cea5845cd08e0abdc8fe440ee86 (patch)
tree5855fd6e27d83b5d7eb2c455a8bb3bc7b43403a4 /custom_mutators/gramatron/grammars/ruby/source.json
parentfd4acc935efe78a340395ca386b856930f7e6b22 (diff)
downloadafl++-e1d5009229fb5cea5845cd08e0abdc8fe440ee86.tar.gz
fixes
Diffstat (limited to 'custom_mutators/gramatron/grammars/ruby/source.json')
-rw-r--r--custom_mutators/gramatron/grammars/ruby/source.json1195
1 files changed, 1195 insertions, 0 deletions
diff --git a/custom_mutators/gramatron/grammars/ruby/source.json b/custom_mutators/gramatron/grammars/ruby/source.json
new file mode 100644
index 00000000..df969f5f
--- /dev/null
+++ b/custom_mutators/gramatron/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'"
+    ]
+}