ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ÿØÿà JFIF    ÿÛ „  ( %!1!%)+//.383,7(-.+  -%%-////---/-.+/--+------/------/--0+--/-/-----.-----ÿÀ  ¥2" ÿÄ     ÿÄ J    ! 1AQ"aq2‘#BR‚¡ÁÑ3br’¢±Âð$CSƒ²á4c“%DsÓñÿÄ   ÿÄ *  !1AQa‘"2q3±ð#b¡ÿÚ   ? ¼QxJQaÍuò¸Zö Úü8,ÐÚú "SSn<rçù–´âE—^ªBÖ9À\†¸ÔÁT­ÃÛ5 ëd´³Í#Ý;Þ38œî ¶H£M:wÎ3…³…âpÔF&‚FK¸9„â4àGEõªfÿ ‘ñ(ßw­pŽF|È¥ù®häðÍѶ¹‘[ÒinÙW¶ùñY˜Q{›K"išÒ[Ú8žë\F¹@-?v"ÔU”,ìöžkÿ {I‡£šÍ?e ríV ?> ......................................... ............................................................................. ???????????????????????????????????? ???????????????????????????????????? U:RDoc::NormalClass[iI" Compiler:ETI"Prism::Compiler;TI" Visitor;To:RDoc::Markup::Document: @parts[o;;[o:RDoc::Markup::Paragraph;[I"A compiler is a visitor that returns the value of each node as it visits. This is as opposed to a visitor which will only walk the tree. This can be useful when you are trying to compile a tree into a different format.;To; ;[I"ZFor example, to build a representation of the tree as s-expressions, you could write:;To:RDoc::Markup::Verbatim;[I"*class SExpressions < Prism::Compiler ;TI"< def visit_arguments_node(node) = [:arguments, super] ;TI"2 def visit_call_node(node) = [:call, super] ;TI"1 def visit_integer_node(node) = [:integer] ;TI"8 def visit_program_node(node) = [:program, super] ;TI" end ;TI" ;TI"9Prism.parse("1 + 2").value.accept(SExpressions.new) ;TI"L# => [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]] ;T: @format0: @fileI"lib/prism/compiler.rb;T:0@omit_headings_from_table_of_contents_below0; 0; 0[[[[[I" class;T[[: public[[:protected[[: private[[I" instance;T[[;[[I" visit;TI"lib/prism/compiler.rb;T[I"%visit_alias_global_variable_node;T@4[I"visit_alias_method_node;T@4[I"visit_all;T@4[I"#visit_alternation_pattern_node;T@4[I"visit_and_node;T@4[I"visit_arguments_node;T@4[I"visit_array_node;T@4[I"visit_array_pattern_node;T@4[I"visit_assoc_node;T@4[I"visit_assoc_splat_node;T@4[I"#visit_back_reference_read_node;T@4[I"visit_begin_node;T@4[I"visit_block_argument_node;T@4[I"$visit_block_local_variable_node;T@4[I"visit_block_node;T@4[I"visit_block_parameter_node;T@4[I" visit_block_parameters_node;T@4[I"visit_break_node;T@4[I"visit_call_and_write_node;T@4[I"visit_call_node;T@4[I"#visit_call_operator_write_node;T@4[I"visit_call_or_write_node;T@4[I"visit_call_target_node;T@4[I"visit_capture_pattern_node;T@4[I"visit_case_match_node;T@4[I"visit_case_node;T@4[I"visit_child_nodes;T@4[I"visit_class_node;T@4[I"(visit_class_variable_and_write_node;T@4[I"-visit_class_variable_operator_write_node;T@4[I"'visit_class_variable_or_write_node;T@4[I"#visit_class_variable_read_node;T@4[I"%visit_class_variable_target_node;T@4[I"$visit_class_variable_write_node;T@4[I""visit_constant_and_write_node;T@4[I"'visit_constant_operator_write_node;T@4[I"!visit_constant_or_write_node;T@4[I"'visit_constant_path_and_write_node;T@4[I"visit_constant_path_node;T@4[I",visit_constant_path_operator_write_node;T@4[I"&visit_constant_path_or_write_node;T@4[I"$visit_constant_path_target_node;T@4[I"#visit_constant_path_write_node;T@4[I"visit_constant_read_node;T@4[I"visit_constant_target_node;T@4[I"visit_constant_write_node;T@4[I"visit_def_node;T@4[I"visit_defined_node;T@4[I"visit_else_node;T@4[I"#visit_embedded_statements_node;T@4[I"!visit_embedded_variable_node;T@4[I"visit_ensure_node;T@4[I"visit_false_node;T@4[I"visit_find_pattern_node;T@4[I"visit_flip_flop_node;T@4[I"visit_float_node;T@4[I"visit_for_node;T@4[I"$visit_forwarding_arguments_node;T@4[I"$visit_forwarding_parameter_node;T@4[I" visit_forwarding_super_node;T@4[I")visit_global_variable_and_write_node;T@4[I".visit_global_variable_operator_write_node;T@4[I"(visit_global_variable_or_write_node;T@4[I"$visit_global_variable_read_node;T@4[I"&visit_global_variable_target_node;T@4[I"%visit_global_variable_write_node;T@4[I"visit_hash_node;T@4[I"visit_hash_pattern_node;T@4[I"visit_if_node;T@4[I"visit_imaginary_node;T@4[I"visit_implicit_node;T@4[I"visit_implicit_rest_node;T@4[I"visit_in_node;T@4[I"visit_index_and_write_node;T@4[I"$visit_index_operator_write_node;T@4[I"visit_index_or_write_node;T@4[I"visit_index_target_node;T@4[I"+visit_instance_variable_and_write_node;T@4[I"0visit_instance_variable_operator_write_node;T@4[I"*visit_instance_variable_or_write_node;T@4[I"&visit_instance_variable_read_node;T@4[I"(visit_instance_variable_target_node;T@4[I"'visit_instance_variable_write_node;T@4[I"visit_integer_node;T@4[I",visit_interpolated_match_last_line_node;T@4[I"/visit_interpolated_regular_expression_node;T@4[I"#visit_interpolated_string_node;T@4[I"#visit_interpolated_symbol_node;T@4[I"%visit_interpolated_x_string_node;T@4[I"&visit_it_local_variable_read_node;T@4[I"visit_it_parameters_node;T@4[I"visit_keyword_hash_node;T@4[I"&visit_keyword_rest_parameter_node;T@4[I"visit_lambda_node;T@4[I"(visit_local_variable_and_write_node;T@4[I"-visit_local_variable_operator_write_node;T@4[I"'visit_local_variable_or_write_node;T@4[I"#visit_local_variable_read_node;T@4[I"%visit_local_variable_target_node;T@4[I"$visit_local_variable_write_node;T@4[I"visit_match_last_line_node;T@4[I"visit_match_predicate_node;T@4[I"visit_match_required_node;T@4[I"visit_match_write_node;T@4[I"visit_missing_node;T@4[I"visit_module_node;T@4[I"visit_multi_target_node;T@4[I"visit_multi_write_node;T@4[I"visit_next_node;T@4[I"visit_nil_node;T@4[I"%visit_no_keywords_parameter_node;T@4[I"#visit_numbered_parameters_node;T@4[I"'visit_numbered_reference_read_node;T@4[I"*visit_optional_keyword_parameter_node;T@4[I""visit_optional_parameter_node;T@4[I"visit_or_node;T@4[I"visit_parameters_node;T@4[I"visit_parentheses_node;T@4[I"!visit_pinned_expression_node;T@4[I"visit_pinned_variable_node;T@4[I"visit_post_execution_node;T@4[I"visit_pre_execution_node;T@4[I"visit_program_node;T@4[I"visit_range_node;T@4[I"visit_rational_node;T@4[I"visit_redo_node;T@4[I""visit_regular_expression_node;T@4[I"*visit_required_keyword_parameter_node;T@4[I""visit_required_parameter_node;T@4[I"visit_rescue_modifier_node;T@4[I"visit_rescue_node;T@4[I"visit_rest_parameter_node;T@4[I"visit_retry_node;T@4[I"visit_return_node;T@4[I"visit_self_node;T@4[I""visit_shareable_constant_node;T@4[I"visit_singleton_class_node;T@4[I"visit_source_encoding_node;T@4[I"visit_source_file_node;T@4[I"visit_source_line_node;T@4[I"visit_splat_node;T@4[I"visit_statements_node;T@4[I"visit_string_node;T@4[I"visit_super_node;T@4[I"visit_symbol_node;T@4[I"visit_true_node;T@4[I"visit_undef_node;T@4[I"visit_unless_node;T@4[I"visit_until_node;T@4[I"visit_when_node;T@4[I"visit_while_node;T@4[I"visit_x_string_node;T@4[I"visit_yield_node;T@4[;[[;[[[U:RDoc::Context::Section[i0o;;[; 0; 0[@I" Prism;TcRDoc::NormalModule