From 4d1cadd4f6d4e9e5f7f5fa4f7b283abb1cd953cc Mon Sep 17 00:00:00 2001 From: "Glenn Y. Rolland" Date: Tue, 12 Sep 2017 16:23:44 +0200 Subject: [PATCH] Various little fixes --- exe/mm2ep-depend | 3 ++- lib/mm2ep_depend/parser.rb | 30 ++++++++---------------------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/exe/mm2ep-depend b/exe/mm2ep-depend index db4e1f4..bfd2d21 100755 --- a/exe/mm2ep-depend +++ b/exe/mm2ep-depend @@ -6,6 +6,7 @@ require 'thor' require 'rly' require 'pry' require 'mm2ep_depend' +require 'pp' module Mm2ep module Depend @@ -17,7 +18,7 @@ module Mm2ep parser = Parser.new(Lexer.new) puts line.inspect token = parser.parse(line.chomp, true) - puts token + pp token # puts false && true # puts false || false # binding.pry diff --git a/lib/mm2ep_depend/parser.rb b/lib/mm2ep_depend/parser.rb index 349d76a..5c24187 100755 --- a/lib/mm2ep_depend/parser.rb +++ b/lib/mm2ep_depend/parser.rb @@ -40,7 +40,6 @@ module Mm2ep end class AndOp < TreeExpr - attr_reader :expr1, :expr2 def initialize expr1, expr2 @expr1 = expr1 @expr2 = expr2 @@ -53,47 +52,34 @@ module Mm2ep end class OrOp - attr_reader :expr1, :expr2 def initialize expr1, expr2 - unless expr1.value.to_s.match(/true/).nil? - @expr1 = true - else - @expr1 = false - end - unless expr2.value.to_s.match(/true/).nil? - @expr2 = true - else - @expr2 = false - end + @expr1 = expr1 + @expr2 = expr2 end def compute - return @expr1 || @expr2 + return @expr1.compute || @expr2.compute end end class NotOp - attr_reader :expr def initialize expr @expr = expr end def compute - # binding.pry - return true unless @expr.value.to_s.eql? 'true' - return false + return ! @expr.compute end end class EqOp - attr_reader :val, :other - def initialize var, value - @var = var - @value = value + def initialize lval, rval + @lval = lval + @rval = rval end def compute - return if @val.value == @other.value + return if @lval.value == @rval.value end end