<s> from pseudo . api_translator import ApiTranslator , to_op <EOL> from pseudo . pseudo_tree import Node , to_node , method_call , typename , local <EOL> from pseudo . api_translators . ruby_api_handlers import expand_slice , to_method_rb_block , display <EOL> class RubyTranslator ( ApiTranslator ) : <EOL> '''<STR_LIT>''' <EOL> methods = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT:#pop>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : expand_slice , <EOL> '<STR_LIT>' : expand_slice , <EOL> '<STR_LIT>' : lambda receiver , to , pseudo_type : expand_slice ( receiver , to_node ( <NUM_LIT:0> ) , to , pseudo_type ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : to_method_rb_block ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : to_method_rb_block ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : to_method_rb_block ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : to_method_rb_block ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : to_method_rb_block ( '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : lambda receiver , _ : Node ( '<STR_LIT>' , <EOL> op = '<STR_LIT>' , <EOL> value = method_call ( receiver , '<STR_LIT>' , [ ] , '<STR_LIT>' ) , <EOL> pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : lambda receiver , _ : Node ( '<STR_LIT>' , <EOL> op = '<STR_LIT>' , <EOL> value = method_call ( receiver , '<STR_LIT>' , [ ] , '<STR_LIT>' ) , <EOL> pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : to_op ( '<STR_LIT:|>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : lambda receiver , _ : Node ( '<STR_LIT>' , <EOL> op = '<STR_LIT>' , <EOL> value = method_call ( receiver , '<STR_LIT>' , [ ] , '<STR_LIT>' ) , <EOL> pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : expand_slice , <EOL> '<STR_LIT>' : expand_slice , <EOL> '<STR_LIT>' : lambda receiver , to , _ : expand_slice ( receiver , None , to , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : to_op ( '<STR_LIT:+>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:count>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : lambda receiver , _ : Node ( '<STR_LIT>' , <EOL> op = '<STR_LIT>' , <EOL> value = method_call ( receiver , '<STR_LIT>' , [ ] , '<STR_LIT>' ) , <EOL> pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : { '<STR_LIT>' : '<STR_LIT>' } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : lambda receiver , index , _ : Node ( '<STR_LIT:index>' , <EOL> sequence = Node ( '<STR_LIT:index>' , sequence = receiver , index = index , pseudo_type = [ '<STR_LIT>' , '<STR_LIT>' ] ) , <EOL> index = to_node ( <NUM_LIT:0> ) , <EOL> pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT>' : lambda receiver , _ : Node ( '<STR_LIT>' , <EOL> op = '<STR_LIT>' , <EOL> value = method_call ( receiver , '<STR_LIT>' , [ ] , '<STR_LIT>' ) , <EOL> pseudo_type = '<STR_LIT>' ) <EOL> } <EOL> } <EOL> functions = { <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : lambda _ : Node ( '<STR_LIT>' , block = [ ] ) , <EOL> '<STR_LIT>' : lambda status , _ : call ( '<STR_LIT>' , [ status ] ) <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : display , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : lambda left , right , pseudo_type : Node ( '<STR_LIT>' , <EOL> op = '<STR_LIT>' , left = left , right = right , pseudo_type = pseudo_type ) <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : lambda value , _ : Node ( '<STR_LIT>' , value = value , pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:args>' : lambda _ : typename ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) , <EOL> '<STR_LIT>' : lambda _ : Node ( '<STR_LIT>' , op = '<STR_LIT:+>' , left = method_call ( local ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) , '<STR_LIT>' , [ ] , '<STR_LIT>' ) , right = to_node ( <NUM_LIT:1> ) , pseudo_type = '<STR_LIT>' ) , <EOL> '<STR_LIT:index>' : lambda value , _ : Node ( '<STR_LIT:index>' , <EOL> sequence = local ( '<STR_LIT>' , [ '<STR_LIT>' , '<STR_LIT>' ] ) , <EOL> index = to_node ( value . value - <NUM_LIT:1> ) if value . type == '<STR_LIT:int>' else Node ( '<STR_LIT>' , op = '<STR_LIT:->' , left = value , right = to_node ( <NUM_LIT:1> ) , pseudo_type = '<STR_LIT>' ) , <EOL> pseudo_type = '<STR_LIT>' ) <EOL> } <EOL> } <EOL> dependencies = { <EOL> '<STR_LIT:http>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT>' : '<STR_LIT>' <EOL> } <EOL> } </s>
