class SimpleLogic::PrecedenceTable::Operator
Attributes
associativity[RW]
precedence[RW]
symbol[RW]
Public Class Methods
new(precedence, associativity, symbol)
click to toggle source
# File lib/simple_logic/precedence_table.rb, line 5 def initialize(precedence, associativity, symbol) @precedence = precedence @associativity = associativity @symbol = symbol end
Public Instance Methods
apply(l, r)
click to toggle source
# File lib/simple_logic/precedence_table.rb, line 15 def apply(l, r) if @symbol == "&&" l && r elsif @symbol == "||" l || r else raise "Invalid operator: #{@symbol}" end end
left_associative?()
click to toggle source
# File lib/simple_logic/precedence_table.rb, line 11 def left_associative? @associativity == :left end