class BCDice::Arithmetic::Parser
Constants
- Racc_arg
- Racc_debug_parser
- Racc_token_to_s_table
Public Class Methods
parse(source)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 18 def self.parse(source) new.parse(source) end
Public Instance Methods
parse(source)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 22 def parse(source) @lexer = BCDice::CommonCommand::Lexer.new(source) do_parse() rescue ParseError nil end
Private Instance Methods
_reduce_1(val, _values, result)
click to toggle source
reduce 0 omitted
# File lib/bcdice/arithmetic/parser.rb, line 161 def _reduce_1(val, _values, result) result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2]) result end
_reduce_10(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 202 def _reduce_10(val, _values, result) result = Arithmetic::Node::DivideWithRound result end
_reduce_11(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 207 def _reduce_11(val, _values, result) result = Arithmetic::Node::DivideWithFloor result end
_reduce_12(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 212 def _reduce_12(val, _values, result) result = val[1] result end
_reduce_13(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 217 def _reduce_13(val, _values, result) result = Arithmetic::Node::Negative.new(val[1]) result end
_reduce_15(val, _values, result)
click to toggle source
reduce 14 omitted
# File lib/bcdice/arithmetic/parser.rb, line 224 def _reduce_15(val, _values, result) result = val[1] result end
_reduce_16(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 229 def _reduce_16(val, _values, result) result = Arithmetic::Node::Number.new(val[0]) result end
_reduce_2(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 166 def _reduce_2(val, _values, result) result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2]) result end
_reduce_4(val, _values, result)
click to toggle source
reduce 3 omitted
# File lib/bcdice/arithmetic/parser.rb, line 173 def _reduce_4(val, _values, result) result = Arithmetic::Node::BinaryOp.new(val[0], :*, val[2]) result end
_reduce_5(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 178 def _reduce_5(val, _values, result) divied_class = val[3] result = divied_class.new(val[0], val[2]) result end
_reduce_7(val, _values, result)
click to toggle source
reduce 6 omitted
# File lib/bcdice/arithmetic/parser.rb, line 187 def _reduce_7(val, _values, result) result = Arithmetic::Node::DivideWithGameSystemDefault result end
_reduce_8(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 192 def _reduce_8(val, _values, result) result = Arithmetic::Node::DivideWithCeil result end
_reduce_9(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 197 def _reduce_9(val, _values, result) result = Arithmetic::Node::DivideWithCeil result end
_reduce_none(val, _values, result)
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 234 def _reduce_none(val, _values, result) val[0] end
next_token()
click to toggle source
# File lib/bcdice/arithmetic/parser.rb, line 31 def next_token @lexer.next_token end