class DeepAlgo::IL::Backend::Latex
Public Class Methods
new()
click to toggle source
# File lib/backend_manager.rb, line 131 def initialize @curr_backend = nil end
Public Instance Methods
add_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 145 def add_expr(tree) tree.elements[0].value(@curr_backend) end
args(tree)
click to toggle source
# File lib/backend_manager.rb, line 237 def args(tree) # parse arg, arg, arg, ... to_return = '' tree .elements[1] &.elements &.each do |arg| to_return = "#{to_return}, \ #{arg.elements[3].value(@curr_backend)}" end "#{tree.elements[0].value(@curr_backend)}#{to_return}" end
assignment(tree)
click to toggle source
# File lib/backend_manager.rb, line 149 def assignment(tree) left = tree.elements[0].value(@curr_backend) right = tree.elements[4].value(@curr_backend) "#{left} \\text{equals} #{right}" end
atom(tree)
click to toggle source
# File lib/backend_manager.rb, line 192 def atom(tree) tree.text_value end
call(tree)
click to toggle source
# File lib/backend_manager.rb, line 225 def call(tree) caller_name = tree.elements[0].value(@curr_backend) params = tree.elements[4].value(@curr_backend) "#{caller_name} \\left( #{params} \\right)" end
color(tree)
click to toggle source
# File lib/backend_manager.rb, line 183 def color(tree) tree.elements[1].value(@curr_backend) # tree.text_value end
colorcode(tree)
click to toggle source
# File lib/backend_manager.rb, line 188 def colorcode(tree) tree.text_value end
colored(tree)
click to toggle source
# File lib/backend_manager.rb, line 177 def colored(tree) color = "##{tree.elements[0].value(@curr_backend)}" expr = tree.elements[4].value(@curr_backend) "\\color{ #{color} }{ #{expr} }" end
descriptor(tree)
click to toggle source
# File lib/backend_manager.rb, line 256 def descriptor(tree) label = tree.elements[2].value(@curr_backend) items = tree.elements[8].value(@curr_backend) "\\text{ #{label} } \ \\left\\{\\begin{array}{l} #{items} \\\\ \\end{array}\\right." end
descriptor_item(tree)
click to toggle source
# File lib/backend_manager.rb, line 275 def descriptor_item(tree) label = tree.elements[4].value(@curr_backend) assignee = tree .elements[10] .elements[0] .value(@curr_backend) "\\text{ #{label} } = #{assignee}" end
descriptor_items(tree)
click to toggle source
# File lib/backend_manager.rb, line 263 def descriptor_items(tree) to_return = '' tree .elements[1] &.elements &.each do |arg| to_return = "#{to_return} \\\\ \ #{arg.elements[1].value(@curr_backend)} " end "#{tree.elements[0].value(@curr_backend)} #{to_return}" end
div_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 284 def div_expr(tree) numerator = tree.elements[6].value(@curr_backend) denominator = tree.elements[14].value(@curr_backend) "\\dfrac{ #{numerator} }{ #{denominator} }" end
document(tree)
click to toggle source
# File lib/backend_manager.rb, line 141 def document(tree) tree.elements[0].value(@curr_backend) end
dotted_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 210 def dotted_expr(tree) to_return = '' if !tree.elements[1].nil? && tree.elements[1] != '' tree .elements[1] .elements .each do |son_expr| to_return = "#{to_return}. \ #{son_expr.elements[2].value(@curr_backend)}" end end "#{tree.elements[0].value(@curr_backend)}#{to_return}" end
dotted_terminal(tree)
click to toggle source
# File lib/backend_manager.rb, line 231 def dotted_terminal(tree) first_expr = tree.elements[0].value(@curr_backend) second_expr = tree.elements[2].value(@curr_backend) "#{first_expr}.#{second_expr}" end
generate(tree, curr_backend)
click to toggle source
# File lib/backend_manager.rb, line 135 def generate(tree, curr_backend) @curr_backend = curr_backend latex = tree.value(@curr_backend) latex end
identifier(tree)
click to toggle source
# File lib/backend_manager.rb, line 294 def identifier(tree) tree.text_value end
minus_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 161 def minus_expr(tree) left = tree.elements[0].value(@curr_backend) right = tree.elements[4].value(@curr_backend) "#{left} - #{right}" end
parenthesed(tree)
click to toggle source
# File lib/backend_manager.rb, line 173 def parenthesed(tree) "\\left( #{tree.elements[2].value(@curr_backend)} \\right)" end
plus_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 155 def plus_expr(tree) left = tree.elements[0].value(@curr_backend) right = tree.elements[4].value(@curr_backend) "#{left} + #{right}" end
tab_ref(tree)
click to toggle source
# File lib/backend_manager.rb, line 250 def tab_ref(tree) tab = tree.elements[0].value(@curr_backend) index = tree.elements[6].value(@curr_backend) "#{tab}_{ #{index} }" end
text(tree)
click to toggle source
# File lib/backend_manager.rb, line 206 def text(tree) tree.text_value end
time_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 167 def time_expr(tree) left = tree.elements[0].value(@curr_backend) right = tree.elements[4].value(@curr_backend) "#{left} \\times #{right}" end
unary_minus(tree)
click to toggle source
# File lib/backend_manager.rb, line 290 def unary_minus(tree) "-#{tree.elements[2].value(@curr_backend)}" end
while_cond_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 202 def while_cond_expr(tree) "_{ \\text{ while #{tree.elements[4].value(@curr_backend)} } }" end
while_expr(tree)
click to toggle source
# File lib/backend_manager.rb, line 196 def while_expr(tree) statements = tree.elements[4].value(@curr_backend) cond = tree.elements[8].value(@curr_backend) "\\text{repeat} \\left[ #{statements} \\right]#{cond}" end