Module: Purple::Infix::PrecedenceTable
- Defined in:
- lib/purple/infix.rb
Defined Under Namespace
Classes: Operator
Class Method Summary collapse
- .infix_operator?(operator) ⇒ Boolean
- .lookup(operator) ⇒ Object
- .op(associativity, *operators) ⇒ Object
Class Method Details
.infix_operator?(operator) ⇒ Boolean
17 18 19 |
# File 'lib/purple/infix.rb', line 17 def self.infix_operator?(operator) !lookup(operator).nil? end |
.lookup(operator) ⇒ Object
21 22 23 |
# File 'lib/purple/infix.rb', line 21 def self.lookup(operator) @operators[operator] end |
.op(associativity, *operators) ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'lib/purple/infix.rb', line 25 def self.op(associativity, *operators) @precedence ||= 0 @operators ||= {} operators.each do |operator| @operators[operator] = Operator.new(@precedence, associativity) end @precedence += 1 end |