[前][次][番号順一覧][スレッド一覧]

ruby-changes:59590

From: Hiroshi <ko1@a...>
Date: Wed, 1 Jan 2020 07:47:08 +0900 (JST)
Subject: [ruby-changes:59590] a6864f6d2f (master): Removed the old executables of racc

https://git.ruby-lang.org/ruby.git/commit/?id=a6864f6d2f

From a6864f6d2f39bcd1ff04516591cc18d4027ab186 Mon Sep 17 00:00:00 2001
From: Hiroshi SHIBATA <hsbt@r...>
Date: Wed, 1 Jan 2020 07:42:42 +0900
Subject: Removed the old executables of racc

  [ruby-core:93516][Feature #15982]

  https://github.com/ruby/racc/pull/123

diff --git a/bin/racc2y b/bin/racc2y
deleted file mode 100755
index a1e4352..0000000
--- a/bin/racc2y
+++ /dev/null
@@ -1,27 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/#L0
-#!/usr/bin/env ruby
-#
-# This file was generated by RubyGems.
-#
-# The application 'racc' is installed as part of a gem, and
-# this file is here to facilitate running it.
-#
-
-require 'rubygems'
-
-version = ">= 0.a"
-
-if ARGV.first
-  str = ARGV.first
-  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
-  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
-    version = $1
-    ARGV.shift
-  end
-end
-
-if Gem.respond_to?(:activate_bin_path)
-load Gem.activate_bin_path('racc', 'racc2y', version)
-else
-gem "racc", version
-load Gem.bin_path("racc", "racc2y", version)
-end
diff --git a/bin/y2racc b/bin/y2racc
deleted file mode 100755
index 023615f..0000000
--- a/bin/y2racc
+++ /dev/null
@@ -1,27 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/#L0
-#!/usr/bin/env ruby
-#
-# This file was generated by RubyGems.
-#
-# The application 'racc' is installed as part of a gem, and
-# this file is here to facilitate running it.
-#
-
-require 'rubygems'
-
-version = ">= 0.a"
-
-if ARGV.first
-  str = ARGV.first
-  str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
-  if str =~ /\A_(.*)_\z/ and Gem::Version.correct?($1) then
-    version = $1
-    ARGV.shift
-  end
-end
-
-if Gem.respond_to?(:activate_bin_path)
-load Gem.activate_bin_path('racc', 'y2racc', version)
-else
-gem "racc", version
-load Gem.bin_path("racc", "y2racc", version)
-end
diff --git a/libexec/racc2y b/libexec/racc2y
deleted file mode 100755
index f88d73e..0000000
--- a/libexec/racc2y
+++ /dev/null
@@ -1,195 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/#L0
-#!/usr/local/bin/ruby
-#
-# $Id$
-#
-# Copyright (c) 1999-2006 Minero Aoki
-#
-# This program is feee software.
-# You can distribute/modify this program under the terms of
-# the GNU LGPL, Lesser General Public License version 2.1.
-# For details of the LGPL, see the file "COPYING".
-#
-
-require 'racc/grammarfileparser'
-require 'racc/info'
-require 'optparse'
-
-def main
-  @with_action = true
-  with_header = false
-  with_inner = false
-  with_footer = false
-  output = nil
-  parser = OptionParser.new
-  parser.banner = "Usage: #{File.basename($0)} [-AHIF] [-oFILENAME] GRAMMARFILE"
-  parser.on('-o', '--output=FILENAME', 'output file name [<input>.yacc]') {|name|
-    output = name
-  }
-  parser.on('-A', '--without-action', 'Does not include actions.') {
-    @with_action = false
-  }
-  parser.on('-H', '--with-header', 'Includes header part.') {
-    with_header = true
-  }
-  parser.on('-I', '--with-inner', 'Includes inner part.') {
-    with_inner = true
-  }
-  parser.on('-F', '--with-footer', 'Includes footer part.') {
-    with_footer = true
-  }
-  parser.on('--version', 'Prints version and quit.') {
-    puts "racc2y version #{Racc::Version}"
-    exit 0
-  }
-  parser.on('--copyright', 'Prints copyright and quit.') {
-    puts Racc::Copyright
-    exit 0
-  }
-  parser.on('--help', 'Prints this message and quit.') {
-    puts parser.help
-    exit 1
-  }
-  begin
-    parser.parse!
-  rescue OptionParser::ParseError => err
-    $stderr.puts err.message
-    $stderr.puts parser.help
-    exit 1
-  end
-  if ARGV.empty?
-    $stderr.puts "no input file"
-    exit 1
-  end
-  unless ARGV.size == 1
-    $stderr.puts "too many inputs"
-    exit 1
-  end
-  input = ARGV[0]
-
-  begin
-    result = Racc::GrammarFileParser.parse_file(input)
-    result.grammar.init
-    File.open(output || "#{input}.yacc", 'w') {|f|
-      f.puts "/* generated from #{input} */"
-      if with_header
-        f.puts
-        f.puts '%{'
-        print_user_codes f, result.params.header
-        f.puts '%}'
-      end
-      f.puts
-      print_terminals f, result.grammar
-      f.puts
-      print_precedence_table f, precedence_table(result.grammar)
-      f.puts
-      f.puts '%%'
-      print_grammar f, result.grammar
-      f.puts '%%'
-      if with_inner
-        f.puts '/*---- inner ----*/'
-        print_user_codes f, result.params.inner
-      end
-      if with_footer
-        f.puts '/*---- footer ----*/'
-        print_user_codes f, result.params.footer
-      end
-    }
-  rescue SystemCallError => err
-    $stderr.puts err.message
-    exit 1
-  end
-end
-
-def print_terminals(f, grammar)
-  init_indent = '%token'.size
-  f.print '%token'
-  columns = init_indent
-  grammar.symboltable.each_terminal do |t|
-    next unless t.terminal?
-    next if t.dummy?
-    next if t == grammar.symboltable.anchor
-    next if t == grammar.symboltable.error
-    unless t.value.kind_of?(String)
-      if columns > 60
-        f.puts
-        f.print ' ' * init_indent
-        columns = init_indent
-      end
-      columns += f.write(" #{yacc_symbol(t)}")
-    end
-  end
-  f.puts
-end
-
-def precedence_table(grammar)
-  table = []
-  grammar.symboltable.select {|sym| sym.precedence }.each do |sym|
-    (table[sym.prec] ||= [sym.assoc]).push sym
-  end
-  table.compact
-end
-
-def print_precedence_table(f, table)
-  return if table.empty?
-  f.puts '/* precedance table */'
-  table.each do |syms|
-    assoc = syms.shift
-    f.printf '%%%-8s ', assoc.to_s.downcase
-    f.puts syms.map {|s| yacc_symbol(s) }.join(' ')
-  end
-  f.puts
-end
-
-def print_grammar(f, grammar)
-  prev_target = nil
-  indent = 10
-  embactions = []
-  grammar.each do |rule|
-    if rule.target.dummy?
-      embactions.push rule.action  unless rule.action.empty?
-      next
-    end
-    if rule.target == prev_target
-      f.print ' ' * indent, '|'
-    else
-      prev_target = rule.target
-      f.printf "\n%-10s:", yacc_symbol(prev_target)
-    end
-    rule.symbols.each do |s|
-      if s.dummy?   # target of dummy rule for embedded action
-        f.puts
-        print_action f, embactions.shift, indent
-        f.print ' ' * (indent + 1)
-      else
-        f.print ' ', yacc_symbol(s)
-      end
-    end
-    if rule.specified_prec
-      f.print ' %prec ', yacc_symbol(rule.specified_prec)
-    end
-    f.puts
-    unless rule.action.empty?
-      print_action f, rule.action, indent
-    end
-  end
-end
-
-def print_action(f, action, indent)
-  return unless @with_action
-  f.print ' ' * (indent + 4), "{\n"
-  f.print ' ' * (indent + 6), action.source.text.strip, "\n"
-  f.print ' ' * (indent + 4) , "}\n"
-end
-
-def print_user_codes(f, srcs)
-  return if srcs.empty?
-  srcs.each do |src|
-    f.puts src.text
-  end
-end
-
-def yacc_symbol(s)
-  s.to_s.gsub('"', "'")
-end
-
-main
diff --git a/libexec/y2racc b/libexec/y2racc
deleted file mode 100755
index 7933f94..0000000
--- a/libexec/y2racc
+++ /dev/null
@@ -1,339 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/#L0
-#!/usr/local/bin/ruby
-#
-# $Id$
-#
-# Copyright (c) 1999-2006 Minero Aoki
-#
-# This program is free software.
-# You can distribute/modify this program under the terms of
-# the GNU LGPL, Lesser General Public License version 2.1.
-# For details of the GNU LGPL, see the file "COPYING".
-#
-
-require 'racc/info'
-require 'strscan'
-require 'forwardable'
-require 'optparse'
-
-def main
-  @with_action = true
-  @with_header = false
-  @with_usercode = false
-  cname = 'MyParser'
-  input = nil
-  output = nil
-  parser = OptionParser.new
-  parser.banner = "Usage: #{File.basename($0)} [-Ahu] [-c <classname>] [-o <filename>] <input>"
-  parser.on('-o', '--output=FILENAME', 'output file name [<input>.racc]') {|name|
-    output = name
-  }
-  parser.on('-c', '--classname=NAME', "Name of the parser class. [#{cname}]") {|name|
-    cname = name
-  }
-  parser.on('-A', '--without-action', 'Does not include actions.') {
-    @with_action = false
-  }
-  parser.on('-h', '--with-header', 'Includes header (%{...%}).') {
-    @with_header = true
-  }
-  parser.on('-u', '--with-user-code', 'Includes user code.') {
-    @with_usercode = true
-  }
-  parser.on('--version', 'Prints version and quit.') {
-    puts "y2racc version #{Racc::Version}"
-    exit 0
-  }
-  parser.on('--copyright', 'Prints copyright and quit.') {
-    puts Racc::Copyright
-    exit 0
-  }
-  parser.on('--help', 'Prints this message and quit.') {
-    puts parser.help
-    exit 1
-  }
-  begin
-    parser.parse!
-  rescue OptionParser::ParseError => err
-    $stderr.puts err.message
-    $stderr.puts parser.help
-    exit 1
-  end
-  if ARGV.empty?
-    $stderr.puts 'no input'
-    exit 1
-  end
-  if ARGV.size > 1
-    $stderr.puts 'too many input'
-    exit 1
-  end
-  input = ARGV[0]
-
-  begin
-    result = YaccFileParser.parse_file(input)
-    File.open(output || "#{input}.racc", 'w') {|f|
-      convert cname, result, f
-    }
-  rescue SystemCallError => err
-    $stderr.puts err.message
-    exit 1
-  end
-end
-
-def convert(classname, result, f)
-  init_indent = 'token'.size
-  f.puts %<# Converted from "#{result.filename}" by y2racc version #{Racc::Version}>
-  f.puts
-  f.puts "class #{classname}"
-  unless result.terminals.empty?
-    f.puts
-    f.print 'token'
-    columns = init_indent
-    result.terminals.each do |t|
-      if columns > 60
-        f.puts
-        f.print ' ' * init_indent
-        columns = init_indent
-      end
-      columns += f.write(" #{t}")
-    end
-    f.puts
-  end
-  unless result.precedence_table.empty?
-    f.puts
-    f.puts 'preclow'
-    result.precedence_table.each do |assoc, toks|
-      f.printf "  %-8s %s\n", assoc, toks.join(' ')  unless toks.empty?
-    end
-    f.puts 'prechigh'
-  end
-  if result.start
-    f.puts
-    f.puts "start #{@start}"
-  end
-
-  f.puts
-  f.puts 'rule'
-  texts = @with_action ? result.grammar : result.grammar_with (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]