From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/tool/id2token.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 jni/ruby/tool/id2token.rb (limited to 'jni/ruby/tool/id2token.rb') diff --git a/jni/ruby/tool/id2token.rb b/jni/ruby/tool/id2token.rb new file mode 100755 index 0000000..191b872 --- /dev/null +++ b/jni/ruby/tool/id2token.rb @@ -0,0 +1,24 @@ +#! /usr/bin/ruby -p +# -*- coding: us-ascii -*- +BEGIN { + require 'optparse' + $:.unshift(File.dirname(__FILE__)) + require 'vpath' + vpath = VPath.new + header = nil + + opt = OptionParser.new do |o| + vpath.def_options(o) + header = o.order!(ARGV).shift + end or abort opt.opt_s + + TOKENS = {} + h = vpath.read(header) rescue abort("#{header} not found in #{vpath.inspect}") + h.scan(/^#define\s+RUBY_TOKEN_(\w+)\s+(\d+)/) do |token, id| + TOKENS[token] = id + end + + TOKENS_RE = /\bRUBY_TOKEN\((#{TOKENS.keys.join('|')})\)\s*(?=\s)/ +} + +$_.gsub!(TOKENS_RE) {TOKENS[$1]} if /^%token/ =~ $_ -- cgit v1.2.3