/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1999 by Sun Microsystems, Inc.
* All rights reserved.
*/
#pragma ident "%Z%%M% %I% %E% SMI"
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <fcntl.h>
#include <unistd.h>
#include <libintl.h>
#include <errno.h>
#include <stdarg.h>
#include <string.h>
#include "iconv_tm.h"
#include "itm_util.h"
/*
* function prototype
*/
static itm_hdr_t *itm_attach(const char *);
static void printi(int, char *, ...);
/*
* macro definition
*/
((char *)(&((n)->place))) :\
((itm_place2_t)(place2))))
#if defined(RESERVED_NAME_PREFIX)
#else /* !defined(RESERVED_NAME_PREFIX) */
#endif /* !defined(RESERVED_NAME_PREFIX) */
void
{
exit(3);
}
exit(4);
}
} else {
}
#if defined(ENABLE_TRACE)
#endif
}
}
#if defined(ENABLE_TRACE)
void
{
char *str_type_id;
char *str_interpreter;
}
}
TRACE_MESSAGE('D',
("\n"
"------\n"
"Sizeof Data Structures \n"
" sizeof(int) = %ld\n"
" sizeof(long) = %ld\n"
" sizeof(uintptr_t) = %ld\n"
" sizeof(struct itm_place_t) = %ld\n"
" sizeof(struct itm_data_t) = %ld\n"
" sizeof(struct itm_hdr_t) = %ld\n"
" sizeof(struct itm_place_tbl_info_t) = %ld\n"
" sizeof(struct itm_section_info_t) = %ld\n"
" sizeof(struct itm_action_type_t) = %ld\n"
" sizeof(struct itm_direct_t) = %ld\n"
" sizeof(struct itm_cond_t) = %ld\n"
" sizeof(struct itm_range_hdr_t) = %ld\n"
" sizeof(struct itm_escapeseq_hdr_t) = %ld\n"
" sizeof(struct itm_map_idx_fix_hdr_t) = %ld\n"
" sizeof(struct itm_map_lookup_hdr_t) = %ld\n"
" sizeof(struct itm_map_hash_hdr_t) = %ld\n"
" sizeof(struct itm_map_dense_enc_hdr_t) = %ld\n"
" sizeof(struct itm_expr_t) = %ld\n"
" sizeof(enum itm_op_type_t) = %ld\n"
" sizeof(struct itm_op_t) u= %ld\n"
" sizeof(enum itm_expr_type_t)= %ld\n"
"\n",
sizeof (int),
sizeof (long),
sizeof (uintptr_t),
sizeof (itm_place_t),
sizeof (itm_data_t),
sizeof (itm_hdr_t),
sizeof (itm_place_tbl_info_t),
sizeof (itm_section_info_t),
sizeof (itm_action_type_t),
sizeof (itm_direc_t),
sizeof (itm_cond_t),
sizeof (itm_range_hdr_t),
sizeof (itm_escapeseq_hdr_t),
sizeof (itm_map_idx_fix_hdr_t),
sizeof (itm_map_lookup_hdr_t),
sizeof (itm_map_hash_hdr_t),
sizeof (itm_map_dense_enc_hdr_t),
sizeof (itm_expr_t),
sizeof (itm_op_type_t),
sizeof (itm_op_t),
sizeof (itm_expr_type_t)));
TRACE_MESSAGE('H',
("ident = %c%c%c\n"
"spec = %02x%02x%02x%02x\n"
"version = %02x%02x%02x%02x\n"
"itm_size = %ld\n"
"type_id = %s\n"
"interpreter = %s\n"
"op_init_tbl = %ld\n"
"op_reset_tbl = %ld\n"
"direc_init_tbl = %ld\n"
"reg_num = %ld\n"
"itm_hdr_size = %ld\n"
"info_hdr = %ld\n"
"info_hdr_size = %ld\n",
itm_header->ident[0],
itm_header->ident[1],
itm_header->ident[2],
/* itm_header->ident[3], */
itm_header->spec[0],
itm_header->version[0],
(sizeof (itm_info_hdr_t))));
TRACE_MESSAGE('H',
(" str_sec = (%4ld %4ld %4ld) "
" str_plc_tbl = (%4ld %4ld %4ld)\n"
"direc_sec_tbl = (%4ld %4ld %4ld) "
"direc_plc_tbl = (%4ld %4ld %4ld)\n"
" cond_sec_tbl = (%4ld %4ld %4ld) "
" cond_plc_tbl = (%4ld %4ld %4ld)\n"
" map_sec_tbl = (%4ld %4ld %4ld) "
" map_plc_tbl = (%4ld %4ld %4ld)\n"
" op_sec_tbl = (%4ld %4ld %4ld) "
" op_plc_tbl = (%4ld %4ld %4ld)\n"
"range_sec_tbl = (%4ld %4ld %4ld) "
"range_plc_tbl = (%4ld %4ld %4ld)\n"
"escsq_sec_tbl = (%4ld %4ld %4ld) "
"escsq_plc_tbl = (%4ld %4ld %4ld)\n"
" data_sec = (%4ld %4ld %4ld) "
" data_plc_tbl = (%4ld %4ld %4ld)\n"
" name_sec = (%4ld %4ld %4ld) "
" name_plc_tbl = (%4ld %4ld %4ld)\n"
" "
" reg_plc_tbl = (%4ld %4ld %4ld)\n"
"%s\n",
"--------"));
}
#endif
/*
* Dump tables
*/
static void
{
itm_num_t n;
itm_data_t d;
d = *(data);
if ((sizeof (itm_place_t)) < d.size) {
}
}
d = *(data);
if ((sizeof (itm_place_t)) < d.size) {
}
((sizeof (itm_place_t)) < d.size) ?
}
}
n++, place += 1) {
}
n++, place += 1) {
}
}
}
/*
* Dump direction
*/
static void
{
long i;
char *name;
}
}
printi(0, " {\n");
printi(0, "\t");
type = (ITM_TBL_MASK &
if (ITM_TBL_OP == type) {
} else if (ITM_TBL_DIREC == type) {
printi(0, "direction: action: %ld\n",
} else if (ITM_TBL_MAP == type) {
} else {
"error ELIBBAD // unknown operation (%lx)\n",
type);
}
}
}
static void
{
case ITM_TBL_MAP_INDEX_FIXED:
break;
case ITM_TBL_MAP_LOOKUP:
break;
case ITM_TBL_MAP_HASH:
break;
case ITM_TBL_MAP_DENSE_ENC:
break;
default:
break;
}
}
/*
* Dump map-indexed-fixed
*/
static void
{
itm_num_t i;
itm_num_t j;
unsigned char *p;
unsigned char *map_error;
char *name;
int error_flag;
p = (unsigned char *)(map_hdr + 1);
if (0 == map_hdr->default_error) {
}
p = (unsigned char *)(map_hdr + 1);
} else {
}
if ((standalone) &&
return;
}
} else {
}
} else {
}
return;
} else {
}
printi(0, " {\n");
}
printi(0, "// simple indexed map\n");
printi(0, "// source_len=%ld result_len=%ld\n",
printi(0, "// error_num=%ld\n",
}
if (0 == map_hdr->default_error) {
p = (((unsigned char *)(map_hdr + 1)) +
(map_hdr->result_len *
for (j = 0; j < map_hdr->result_len; j++) {
printi(0, "%02x", *(p + j));
}
printi(0, "\n");
}
error_flag = 0;
p = (((unsigned char *)(map_hdr + 1)) +
(map_hdr->result_len * i));
(0 == *(map_error + i))) {
printi(0, "0x%0*p\t",
printi(0, "0x");
for (j = 0; j < map_hdr->result_len; j++) {
printi(0, "%02x", *(p + j));
}
error_flag = 0;
printi(0, "\n");
} else if (0 >= map_hdr->default_error) {
if (0 == error_flag) {
printi(0, "0x%0*p\t",
printi(0, "error\n");
error_flag = 1;
} else if (error_flag == 1) {
printi(0, " :\t:\n");
error_flag = 2;
}
}
}
}
/*
* Dump map-lookup-fixed
*/
static void
{
itm_num_t i;
itm_num_t j;
unsigned char *p;
char *name;
if ((standalone) &&
return;
}
} else {
}
} else {
}
return;
} else {
}
printi(0, " {\n");
}
printi(0, "// binary search map\n");
printi(0, "// source_len=%ld result_len=%ld\n",
printi(0, "// error_num=%ld\n",
}
if (0 == map_hdr->default_error) {
p = ((unsigned char *)(map_hdr + 1) +
for (j = 0; j < map_hdr->result_len; j++, p++) {
printi(0, "%02x", *p);
}
printi(0, "\n");
}
p = (unsigned char *)(map_hdr + 1);
printi(0, "0x");
for (j = 0; j < map_hdr->source_len; j++, p++) {
printi(0, "%02x", *p);
}
if (0 != (*p)) {
printi(0, "\terror");
} else {
p++;
printi(0, "\t0x");
for (j = 0; j < map_hdr->result_len; j++, p++) {
printi(0, "%02x", *p);
}
}
printi(0, "\n");
}
}
/*
* Dump map-hash
*/
static void
{
itm_num_t i;
itm_num_t j;
unsigned char *p;
unsigned char *map_hash;
unsigned char *map_error;
char *name;
if ((standalone) &&
return;
}
} else {
}
} else {
}
return;
} else {
}
printi(0, " {\n");
}
printi(0, "// hashed map\n");
printi(0, "// number=%ld\n",
printi(0, "// source_len=%ld result_len=%ld\n",
printi(0, "// hash_tbl_size=%ld hash_of_size=%ld hash_of_num=%ld\n",
printi(0, "// error_num=%ld\n",
}
if (0 == map_hdr->default_error) {
for (j = 0; j < map_hdr->result_len; j++, p++) {
printi(0, "%02x", *p);
}
printi(0, "\n");
}
p = map_hash;
for (i = 0; i < map_hdr->hash_tbl_num; i++) {
if (0 == *(map_error + i)) {
continue;
}
printi(0, "0x");
for (j = 0; j < map_hdr->source_len; j++, p++) {
printi(0, "%02x", *p);
}
if (0 != (*p)) {
printi(0, "\terror");
} else {
p++;
printi(0, "\t0x");
for (j = 0; j < map_hdr->result_len; j++, p++) {
printi(0, "%02x", *p);
}
}
printi(0, "\n");
}
printi(0, "// of table\n");
for (i = 0; i < map_hdr->hash_of_num; i++) {
printi(0, "0x");
for (j = 0; j < map_hdr->source_len; j++, p++) {
printi(0, "%02x", *p);
}
if (0 != (*p)) {
printi(0, "\terror\n");
} else {
p++;
printi(0, "\t0x");
for (j = 0; j < map_hdr->result_len; j++, p++) {
printi(0, "%02x", *p);
}
printi(0, "\n");
}
}
}
/*
* Dump map-dense-encoding
*/
static void
{
itm_num_t i;
itm_num_t j;
unsigned char *p;
unsigned char *map_ptr;
unsigned char *map_error;
unsigned char *byte_seq_min;
unsigned char *byte_seq_max;
char *name;
int error_flag;
if (0 == map_hdr->default_error) {
}
} else {
}
if ((standalone) &&
return;
}
} else {
}
} else {
}
return;
} else {
}
printi(0, " {\n");
}
printi(0, "// dense encoded map\n");
printi(0, "// source_len=%ld result_len=%ld\n",
printi(0, "// byte_seq_min=0x");
p = byte_seq_min;
for (i = 0; i < map_hdr->source_len; i++, p++) {
printi(0, "%02x", *p);
}
printi(0, "\n");
printi(0, "// byte_seq_max=0x");
p = byte_seq_max;
for (i = 0; i < map_hdr->source_len; i++, p++) {
printi(0, "%02x", *p);
}
printi(0, "\n");
printi(0, "// error_num=%ld\n",
}
if (0 == map_hdr->default_error) {
for (j = 0; j < map_hdr->result_len; j++) {
printi(0, "%02x", *(p + j));
}
printi(0, "\n");
}
error_flag = 0;
i++, p += map_hdr->result_len) {
printi(0, "%s\t",
i, map_hdr->source_len,
printi(0, "0x");
for (j = 0; j < map_hdr->result_len; j++) {
printi(0, "%02x", *(p + j));
}
printi(0, "\n");
error_flag = 0;
} else if (0 >= map_hdr->default_error) {
if (0 == error_flag) {
printi(0, "%s\t",
i, map_hdr->source_len,
printi(0, "error\n");
error_flag = 1;
} else if (error_flag == 1) {
printi(0, " :\t:\n");
error_flag = 2;
}
}
}
}
/*
* Evaluate condition table
*/
static void
{
long i;
char *name;
return;
}
if (0 == cond_place.itm_ptr) {
return;
}
} else {
}
} else {
}
return;
} else {
}
printi(0, " {\n");
}
case ITM_COND_BETWEEN:
break;
case ITM_COND_EXPR:
printi(0, ";\n");
break;
case ITM_COND_ESCAPESEQ:
break;
default:
break;
}
}
if (standalone) {
} else {
}
}
/*
* Dump operation table
*/
static void
{
long i;
char *name;
static int op_tbl_level;
return;
if (0 == op_tbl_level) {
} else {
}
return;
} else {
}
printi(0, " {\n");
}
}
op_tbl_level += 1;
}
op_tbl_level -= 1;
if (0 == op_tbl_level) {
}
}
/*
* Evaluate single operation
*/
static void
{
case ITM_OP_EXPR:
printi(0, ";\n");
break;
case ITM_OP_ERROR:
printi(0, ";\n");
break;
case ITM_OP_ERROR_D:
printi(0, "\n");
break;
case ITM_OP_DISCARD:
printi(0, ";\n");
break;
case ITM_OP_DISCARD_D:
break;
case ITM_OP_OUT:
case ITM_OP_OUT_D:
case ITM_OP_OUT_R:
case ITM_OP_OUT_S:
case ITM_OP_OUT_INVD:
printi(0, ";\n");
break;
case ITM_OP_IF:
break;
case ITM_OP_IF_ELSE:
} else {
}
break;
case ITM_OP_DIRECTION: /* switch direction */
break;
case ITM_OP_MAP: /* use map */
printi(0, " ");
}
printi(0, ";\n");
break;
case ITM_OP_OPERATION: /* invoke operation */
break;
case ITM_OP_INIT: /* invoke init operation */
break;
case ITM_OP_RESET: /* invoke reset operation */
break;
case ITM_OP_BREAK: /* break */
break;
case ITM_OP_RETURN: /* return */
break;
case ITM_OP_PRINTCHR:
printi(0, ";\n");
break;
case ITM_OP_PRINTHD:
printi(0, ";\n");
break;
case ITM_OP_PRINTINT:
printi(0, ";\n");
break;
default:
break;
}
}
/*
* Dump expression
*/
static void
{
case ITM_EXPR_NONE: /* not used */
printi(0, "none");
break;
case ITM_EXPR_NOP: /* not used */
printi(0, "NOP");
break;
case ITM_EXPR_NAME: /* not used */
printi(0, "NAME");
break;
case ITM_EXPR_INT: /* integer */
break;
case ITM_EXPR_SEQ: /* byte sequence */
}
break;
case ITM_EXPR_REG: /* register */
break;
case ITM_EXPR_IN_VECTOR: /* in[expr] */
printi(0, "]");
break;
case ITM_EXPR_IN_VECTOR_D: /* in[num] */
printi(0, " // inputsize");
}
break;
case ITM_EXPR_OUT: /* out */
break;
case ITM_EXPR_TRUE: /* true */
break;
case ITM_EXPR_FALSE: /* false */
break;
case ITM_EXPR_UMINUS: /* unary minus */
printi(0, "-");
break;
case ITM_EXPR_PLUS: /* A + B */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_E_D: /* exprA + B */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_E_R: /* exprA + varB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_E_INVD: /* exprA + in[B] */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_D_E: /* intA + exprB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_D_D: /* intA + B */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_D_R: /* intA + varB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_D_INVD: /* intA + in[B] */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_R_E: /* varA + exprB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_R_D: /* varA + B */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_R_R: /* varA + varB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_R_INVD: /* varA + in[B] */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_INVD_E: /* in[A] + exprB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_INVD_D: /* in[A] + B */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_INVD_R: /* in[A] + varB */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_PLUS_INVD_INVD: /* in[A] + in[B] */
printi(0, "(");
printi(0, " + ");
printi(0, ")");
break;
case ITM_EXPR_MINUS: /* A - B */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_E_D: /* exprA - B */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_E_R: /* exprA - varB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_E_INVD: /* exprA - in[B] */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_D_E: /* intA - exprB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_D_D: /* intA - B */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_D_R: /* intA - varB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_D_INVD: /* intA - in[B] */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_R_E: /* varA - exprB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_R_D: /* varA - B */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_R_R: /* varA - varB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_R_INVD: /* varA - in[B] */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_INVD_E: /* in[A] - exprB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_INVD_D: /* in[A] - B */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_INVD_R: /* in[A] - varB */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MINUS_INVD_INVD: /* in[A] - in[B] */
printi(0, "(");
printi(0, " - ");
printi(0, ")");
break;
case ITM_EXPR_MUL: /* A * B */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_E_D: /* exprA * B */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_E_R: /* exprA * varB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_E_INVD: /* exprA * in[B] */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_D_E: /* intA * exprB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_D_D: /* intA * B */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_D_R: /* intA * varB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_D_INVD: /* intA * in[B] */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_R_E: /* varA * exprB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_R_D: /* varA * B */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_R_R: /* varA * varB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_R_INVD: /* varA * in[B] */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_INVD_E: /* in[A] * exprB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_INVD_D: /* in[A] * B */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_INVD_R: /* in[A] * varB */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_MUL_INVD_INVD: /* in[A] * in[B] */
printi(0, "(");
printi(0, " * ");
printi(0, ")");
break;
case ITM_EXPR_DIV: /* A / B */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_E_D: /* exprA / B */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_E_R: /* exprA / varB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_E_INVD: /* exprA / in[B] */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_D_E: /* intA / exprB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_D_D: /* intA / B */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_D_R: /* intA / varB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_D_INVD: /* intA / in[B] */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_R_E: /* varA / exprB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_R_D: /* varA / B */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_R_R: /* varA / varB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_R_INVD: /* varA / in[B] */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_INVD_E: /* in[A] / exprB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_INVD_D: /* in[A] / B */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_INVD_R: /* in[A] / varB */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_DIV_INVD_INVD: /* in[A] / in[B] */
printi(0, "(");
printi(0, " / ");
printi(0, ")");
break;
case ITM_EXPR_MOD: /* A % B */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_E_D: /* exprA % B */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_E_R: /* exprA % varB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_E_INVD: /* exprA % in[B] */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_D_E: /* intA % exprB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_D_D: /* intA % B */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_D_R: /* intA % varB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_D_INVD: /* intA % in[B] */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_R_E: /* varA % exprB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_R_D: /* varA % B */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_R_R: /* varA % varB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_R_INVD: /* varA % in[B] */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_INVD_E: /* in[A] % exprB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_INVD_D: /* in[A] % B */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_INVD_R: /* in[A] % varB */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_MOD_INVD_INVD: /* in[A] % in[B] */
printi(0, "(");
printi(0, " %% ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L: /* A << B */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_E_D: /* exprA << B */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_E_R: /* exprA << varB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_E_INVD: /* exprA << in[B] */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_D_E: /* intA << exprB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_D_D: /* intA << B */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_D_R: /* intA << varB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_D_INVD: /* intA << in[B] */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_R_E: /* varA << exprB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_R_D: /* varA << B */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_R_R: /* varA << varB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_R_INVD: /* varA << in[B] */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_INVD_E: /* in[A] << exprB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_INVD_D: /* in[A] << B */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_INVD_R: /* in[A] << varB */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_L_INVD_INVD: /* in[A] << in[B] */
printi(0, "(");
printi(0, " << ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R: /* A >> B */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_E_D: /* exprA >> B */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_E_R: /* exprA >> varB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_E_INVD: /* exprA >> in[B] */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_D_E: /* intA >> exprB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_D_D: /* intA >> B */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_D_R: /* intA >> varB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_D_INVD: /* intA >> in[B] */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_R_E: /* varA >> exprB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_R_D: /* varA >> B */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_R_R: /* varA >> varB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_R_INVD: /* varA >> in[B] */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_INVD_E: /* in[A] >> exprB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_INVD_D: /* in[A] >> B */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_INVD_R: /* in[A] >> varB */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_SHIFT_R_INVD_INVD: /* in[A] >> in[B] */
printi(0, "(");
printi(0, " >> ");
printi(0, ")");
break;
case ITM_EXPR_OR: /* A | B */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_E_D: /* exprA | B */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_E_R: /* exprA | varB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_E_INVD: /* exprA | in[B] */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_D_E: /* intA | exprB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_D_D: /* intA | B */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_D_R: /* intA | varB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_D_INVD: /* intA | in[B] */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_R_E: /* varA | exprB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_R_D: /* varA | B */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_R_R: /* varA | varB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_R_INVD: /* varA | in[B] */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_INVD_E: /* in[A] | exprB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_INVD_D: /* in[A] | B */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_INVD_R: /* in[A] | varB */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_OR_INVD_INVD: /* in[A] | in[B] */
printi(0, "(");
printi(0, " | ");
printi(0, ")");
break;
case ITM_EXPR_XOR: /* A ^ B */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_E_D: /* exprA ^ B */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_E_R: /* exprA ^ varB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_E_INVD: /* exprA ^ in[B] */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_D_E: /* intA ^ exprB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_D_D: /* intA ^ B */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_D_R: /* intA ^ varB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_D_INVD: /* intA ^ in[B] */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_R_E: /* varA ^ exprB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_R_D: /* varA ^ B */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_R_R: /* varA ^ varB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_R_INVD: /* varA ^ in[B] */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_INVD_E: /* in[A] ^ exprB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_INVD_D: /* in[A] ^ B */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_INVD_R: /* in[A] ^ varB */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_XOR_INVD_INVD: /* in[A] ^ in[B] */
printi(0, "(");
printi(0, " ^ ");
printi(0, ")");
break;
case ITM_EXPR_AND: /* A & B */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_E_D: /* exprA & B */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_E_R: /* exprA & varB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_E_INVD: /* exprA & in[B] */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_D_E: /* intA & exprB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_D_D: /* intA & B */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_D_R: /* intA & varB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_D_INVD: /* intA & in[B] */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_R_E: /* varA & exprB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_R_D: /* varA & B */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_R_R: /* varA & varB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_R_INVD: /* varA & in[B] */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_INVD_E: /* in[A] & exprB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_INVD_D: /* in[A] & B */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_INVD_R: /* in[A] & varB */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_AND_INVD_INVD: /* in[A] & in[B] */
printi(0, "(");
printi(0, " & ");
printi(0, ")");
break;
case ITM_EXPR_EQ: /* A == B */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_E_D: /* exprA == B */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_E_R: /* exprA == varB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_E_INVD: /* exprA == in[B] */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_D_E: /* intA == exprB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_D_D: /* intA == B */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_D_R: /* intA == varB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_D_INVD: /* intA == in[B] */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_R_E: /* varA == exprB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_R_D: /* varA == B */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_R_R: /* varA == varB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_R_INVD: /* varA == in[B] */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_INVD_E: /* in[A] == exprB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_INVD_D: /* in[A] == B */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_INVD_R: /* in[A] == varB */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_EQ_INVD_INVD: /* in[A] == in[B] */
printi(0, "(");
printi(0, " == ");
printi(0, ")");
break;
case ITM_EXPR_NE: /* A != B */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_E_D: /* exprA != B */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_E_R: /* exprA != varB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_E_INVD: /* exprA != in[B] */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_D_E: /* intA != exprB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_D_D: /* intA != B */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_D_R: /* intA != varB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_D_INVD: /* intA != in[B] */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_R_E: /* varA != exprB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_R_D: /* varA != B */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_R_R: /* varA != varB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_R_INVD: /* varA != in[B] */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_INVD_E: /* in[A] != exprB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_INVD_D: /* in[A] != B */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_INVD_R: /* in[A] != varB */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_NE_INVD_INVD: /* in[A] != in[B] */
printi(0, "(");
printi(0, " != ");
printi(0, ")");
break;
case ITM_EXPR_GT: /* A > B */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_E_D: /* exprA > B */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_E_R: /* exprA > varB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_E_INVD: /* exprA > in[B] */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_D_E: /* intA > exprB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_D_D: /* intA > B */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_D_R: /* intA > varB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_D_INVD: /* intA > in[B] */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_R_E: /* varA > exprB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_R_D: /* varA > B */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_R_R: /* varA > varB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_R_INVD: /* varA > in[B] */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_INVD_E: /* in[A] > exprB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_INVD_D: /* in[A] > B */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_INVD_R: /* in[A] > varB */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GT_INVD_INVD: /* in[A] > in[B] */
printi(0, "(");
printi(0, " > ");
printi(0, ")");
break;
case ITM_EXPR_GE: /* A >= B */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_E_D: /* exprA >= B */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_E_R: /* exprA >= varB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_E_INVD: /* exprA >= in[B] */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_D_E: /* intA >= exprB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_D_D: /* intA >= B */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_D_R: /* intA >= varB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_D_INVD: /* intA >= in[B] */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_R_E: /* varA >= exprB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_R_D: /* varA >= B */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_R_R: /* varA >= varB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_R_INVD: /* varA >= in[B] */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_INVD_E: /* in[A] >= exprB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_INVD_D: /* in[A] >= B */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_INVD_R: /* in[A] >= varB */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_GE_INVD_INVD: /* in[A] >= in[B] */
printi(0, "(");
printi(0, " >= ");
printi(0, ")");
break;
case ITM_EXPR_LT: /* A < B */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_E_D: /* exprA < B */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_E_R: /* exprA < varB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_E_INVD: /* exprA < in[B] */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_D_E: /* intA < exprB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_D_D: /* intA < B */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_D_R: /* intA < varB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_D_INVD: /* intA < in[B] */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_R_E: /* varA < exprB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_R_D: /* varA < B */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_R_R: /* varA < varB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_R_INVD: /* varA < in[B] */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_INVD_E: /* in[A] < exprB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_INVD_D: /* in[A] < B */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_INVD_R: /* in[A] < varB */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LT_INVD_INVD: /* in[A] < in[B] */
printi(0, "(");
printi(0, " < ");
printi(0, ")");
break;
case ITM_EXPR_LE: /* A <= B */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_E_D: /* exprA <= B */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_E_R: /* exprA <= varB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_E_INVD: /* exprA <= in[B] */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_D_E: /* intA <= exprB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_D_D: /* intA <= B */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_D_R: /* intA <= varB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_D_INVD: /* intA <= in[B] */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_R_E: /* varA <= exprB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_R_D: /* varA <= B */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_R_R: /* varA <= varB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_R_INVD: /* varA <= in[B] */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_INVD_E: /* in[A] <= exprB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_INVD_D: /* in[A] <= B */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_INVD_R: /* in[A] <= varB */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_LE_INVD_INVD: /* in[A] <= in[B] */
printi(0, "(");
printi(0, " <= ");
printi(0, ")");
break;
case ITM_EXPR_NOT: /* !A */
printi(0, "(");
printi(0, "!");
printi(0, ")");
break;
case ITM_EXPR_NEG: /* ~A */
printi(0, "(");
printi(0, " ~");
printi(0, ")");
break;
case ITM_EXPR_LOR: /* A || B */
printi(0, "(");
printi(0, " || ");
printi(0, ")");
break;
case ITM_EXPR_LAND: /* A && B */
printi(0, "(");
printi(0, " && ");
printi(0, ")");
break;
case ITM_EXPR_ASSIGN: /* A = B */
break;
case ITM_EXPR_IN_EQ: /* in == A */
printi(0, ")");
break;
default:
break;
}
}
/*
* Dump range (between)
*/
static void
{
unsigned char *p;
long i;
long j;
p = (unsigned char *)(rtsh + 1);
if (0 != i) printi(0, "\t ");
printi(0, "0x");
printi(0, "%02x", *(p++));
}
printi(0, " - ");
printi(0, "0x");
printi(0, "%02x", *(p++));
}
printi(0, ",\n");
} else {
printi(0, ";\n");
}
}
}
/*
* Dump escape sequence
*/
static void
{
itm_data_t *d;
long i;
if (0 != i) printi(0, " ");
data = *d;
}
}
}
static void
{
static int indent_level;
int i;
if (c < 0) {
indent_level += c;
if (indent_level < 0) {
indent_level = 0;
}
}
if (new_line) {
for (i = indent_level; 0 < i; i -= 1) {
(void) putchar('\t');
}
}
if (0 < c) {
indent_level += c;
if (indent_level < 0) {
indent_level = 0;
}
}
new_line = 0;
} else {
new_line = 1;
}
}
static char *
{
itm_data_t d;
if (0 != place) {
if ((sizeof (itm_place_t)) < d.size) {
}
} else {
d.size = 0;
}
return (name_to_str(&d));
}
static char *
{
return (RNPREF "init");
return (RNPREF "reset");
} else {
return (NULL);
}
}
static char *
{
return (sbuf);
} else {
return (name_place_to_str(
(reg_num *sizeof (itm_data_t))));
}
}
static itm_hdr_t *
{
int fd;
if (fd == -1) {
return (NULL);
}
return (NULL);
}
if (MAP_FAILED == itm_hdr) {
return (NULL);
}
if ((itm_hdr->ident[0] != ITM_IDENT_0) ||
return (NULL);
}
#if defined(_LITTLE_ENDIAN)
#if defined(_LP64)
#else
#endif
#else
#if defined(_LP64)
#else
#endif
#endif
return (NULL);
}
"size error: expected=%1$d current=%2$d\n"),
return (NULL);
}
return (itm_hdr);
}