• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2024 Huawei Device Co., Ltd.
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13require 'ostruct'
14
15abckit_scripts = File.dirname(__FILE__)
16abckit_root    = File.expand_path('../', abckit_scripts)
17opcodes_path = File.expand_path('include/c/isa/isa_dynamic.h', abckit_root)
18
19Opcodes = []
20File.open(opcodes_path, 'r').read.split()
21  .select{ |opcode|
22    opcode.start_with?('ABCKIT_ISA_API_DYNAMIC_OPCODE_')
23  }.each{ |opcode|
24    res = OpenStruct.new
25    res.abckit_opcode = opcode.chop!
26    res.bc_opcode = opcode.delete_prefix('ABCKIT_ISA_API_DYNAMIC_OPCODE_').split('_').map!{|str| str.downcase }.join('.')
27    Opcodes.append(res)
28  }
29