summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuichiro Kaneko <spiketeika@gmail.com>2023-05-15 19:01:07 +0900
committerGitHub <noreply@github.com>2023-05-15 19:01:07 +0900
commit41dccb6a7bebfa8c0e5c8f6e6331a41fa01f9169 (patch)
tree760b38602497574f9b9bc980a30b119280047958
parentc7067ed13d6cbe7fd8ba25418d2881f40fc4cbab (diff)
downloadruby-41dccb6a7bebfa8c0e5c8f6e6331a41fa01f9169.tar.gz
Lrama v0.5.0 (#7814)
-rw-r--r--tool/lrama/lib/lrama/command.rb10
-rw-r--r--tool/lrama/lib/lrama/output.rb4
-rw-r--r--tool/lrama/lib/lrama/version.rb2
3 files changed, 9 insertions, 7 deletions
diff --git a/tool/lrama/lib/lrama/command.rb b/tool/lrama/lib/lrama/command.rb
index 71369de8ef..b1485b73c5 100644
--- a/tool/lrama/lib/lrama/command.rb
+++ b/tool/lrama/lib/lrama/command.rb
@@ -57,14 +57,18 @@ module Lrama
end
if !grammar_file
- puts "File should be specified\n"
- exit 1
+ abort "File should be specified\n"
end
Report::Duration.enable if trace_opts[:time]
warning = Lrama::Warning.new
- y = File.read(grammar_file)
+ if grammar_file == '-'
+ grammar_file = argv.shift or abort "File name for STDIN should be specified\n"
+ y = STDIN.read
+ else
+ y = File.read(grammar_file)
+ end
grammar = Lrama::Parser.new(y).parse
states = Lrama::States.new(grammar, warning, trace_state: (trace_opts[:automaton] || trace_opts[:closure]))
states.compute
diff --git a/tool/lrama/lib/lrama/output.rb b/tool/lrama/lib/lrama/output.rb
index eaefbd04dc..696aa79feb 100644
--- a/tool/lrama/lib/lrama/output.rb
+++ b/tool/lrama/lib/lrama/output.rb
@@ -53,9 +53,7 @@ module Lrama
if @header_out
@header_out << tmp
else
- File.open(@header_file_path, "w+") do |f|
- f << tmp
- end
+ File.write(@header_file_path, tmp)
end
end
end
diff --git a/tool/lrama/lib/lrama/version.rb b/tool/lrama/lib/lrama/version.rb
index 2da384bf73..d928cdad45 100644
--- a/tool/lrama/lib/lrama/version.rb
+++ b/tool/lrama/lib/lrama/version.rb
@@ -1,3 +1,3 @@
module Lrama
- VERSION = "0.4.0".freeze
+ VERSION = "0.5.0".freeze
end