Current Path : /usr/local/share/examples/ruby18/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //usr/local/share/examples/ruby18/exyacc.rb |
#! /usr/local/bin/ruby -Kn # usage: exyacc.rb [yaccfiles] # this is coverted from exyacc.pl in the camel book $/ = nil while gets() sbeg = $_.index("\n%%") + 1 send = $_.rindex("\n%%") + 1 $_ = $_[sbeg, send-sbeg] sub!(/.*\n/, "") gsub!(/'\{'/, "'\001'") gsub!(/'\}'/, "'\002'") gsub!(%r{\*/}, "\003\003") gsub!(%r{/\*[^\003]*\003\003}, '') while gsub!(/\{[^{}]*\}/, ''); end gsub!(/'\001'/, "'{'") gsub!(/'\002'/, "'}'") while gsub!(/^[ \t]*\n(\s)/, '\1'); end gsub!(/([:|])[ \t\n]+(\w)/, '\1 \2') print $_ end