class FifthedSim::Compiler
Public Class Methods
compile(str)
click to toggle source
# File lib/fifthed_sim/compiler.rb, line 12 def self.compile(str) tree = self.parse(str) transformed = Transform.new.apply(tree) if transformed.is_a? DiceExpression transformed else raise TransformError.new(transformed) end end
parse(str)
click to toggle source
# File lib/fifthed_sim/compiler.rb, line 3 def self.parse(str) begin Parser.new.parse(str) rescue Parslet::ParseFailed => e msg = e.message raise CompileError.new(e) end end