From 03b2e871863cbeeb01bdae9489fd57333c53f074 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 6 Jun 2021 10:09:53 -0400 Subject: [PATCH] Grammar takes in input string instead of file name --- lib/imbecile.rb | 2 +- lib/imbecile/grammar.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/imbecile.rb b/lib/imbecile.rb index 2099602..f25d22e 100644 --- a/lib/imbecile.rb +++ b/lib/imbecile.rb @@ -21,7 +21,7 @@ module Imbecile def run(input_file, output_file) begin - grammar = Grammar.new(input_file) + grammar = Grammar.new(File.read(input_file)) rescue Error => e $stderr.puts e.message return 2 diff --git a/lib/imbecile/grammar.rb b/lib/imbecile/grammar.rb index 7c7c9cc..3d4ebff 100644 --- a/lib/imbecile/grammar.rb +++ b/lib/imbecile/grammar.rb @@ -7,10 +7,10 @@ module Imbecile # @return [String, nil] Class name. attr_reader :classname - def initialize(input_file) + def initialize(input) @tokens = {} @rules = {} - File.read(input_file).each_line.each_with_index do |line, line_index| + input.each_line.each_with_index do |line, line_index| line = line.chomp line_number = line_index + 1 if line =~ /^\s*#/