# $Id: C-exprcode.def,v 1.23 2000/12/11 05:46:01 m-hirano Exp $ # $RWC_Release: Omni-1.6 $ # $RWC_Copyright: # Omni Compiler Software Version 1.5-1.6 # Copyright (C) 2002 PC Cluster Consortium # # This software is free software; you can redistribute it and/or modify # it under the terms of the GNU Lesser General Public License version # 2.1 published by the Free Software Foundation. # # Omni Compiler Software Version 1.0-1.4 # Copyright (C) 1999, 2000, 2001. # Tsukuba Research Center, Real World Computing Partnership, Japan. # # Please check the Copyright and License information in the files named # COPYRIGHT and LICENSE under the top directory of the Omni Compiler # Software release kit. # # # $ # # Expression code definition # # The following codes are terminal node. Don't change T ERROR_NODE T IDENT T TYPENAME_IDENT T STRING_CONSTANT T INT_CONSTANT T FLOAT_CONSTANT T QREAL_CONSTANT T LONGLONG_CONSTANT T BASIC_TYPE_NODE T STORAGE_CLASS_NODE T TYPE_QUAL_NODE L COMPLEX_CONSTANT L COMPLEX_NODE # In the following codes values must be in list. # FOR any list L LIST # FOR declaration L FUNCTION_DEFINITION L TYPE_DEFINITION L ENUM_TYPE L STRUCT_TYPE L UNION_TYPE L FUNCTION_DECL L FUNCTION_PROTO_DECL L ARRAY_DECL L POINTER_DECL # For statement L COMPOUND_STATEMENT L IF_STATEMENT L WHILE_STATEMENT L DO_STATEMENT L FOR_STATEMENT L SWITCH_STATEMENT L BREAK_STATEMENT L RETURN_STATEMENT L GOTO_STATEMENT L CONTINUE_STATEMENT L STATEMENT_LABEL L CASE_LABEL L DEFAULT_LABEL # For expression L CONDITIONAL_EXPR ? B COMMA_EXPR , B ASSIGN_EXPR = B PLUS_EXPR + B ASG_PLUS_EXPR += B MINUS_EXPR - B ASG_MINUS_EXPR -= U UNARY_MINUS_EXPR - B MUL_EXPR * B ASG_MUL_EXPR *= B DIV_EXPR / B ASG_DIV_EXPR /= B MOD_EXPR % B ASG_MOD_EXPR %= B LSHIFT_EXPR << B ASG_LSHIFT_EXPR <<= B RSHIFT_EXPR >> B ASG_RSHIFT_EXPR >>= B BIT_AND_EXPR & B ASG_BIT_AND_EXPR &= B BIT_OR_EXPR | B ASG_BIT_OR_EXPR |= B BIT_XOR_EXPR ^ B ASG_BIT_XOR_EXPR ^= U BIT_NOT_EXPR ~ # logical expression B LOG_EQ_EXPR == B LOG_NEQ_EXPR != B LOG_GE_EXPR >= B LOG_GT_EXPR > B LOG_LE_EXPR <= B LOG_LT_EXPR < B LOG_AND_EXPR && B LOG_OR_EXPR || U LOG_NOT_EXPR ! # /* primary expr */ U POINTER_REF B ARRAY_REF B STRUCT_REF U ADDR_OF L FUNCTION_CALL U SIZE_OF_EXPR U CAST_EXPR U POST_INCR_EXPR U POST_DECR_EXPR # for internal use L EXPR_STATEMENT T VAR_ADDR T LVAR_ADDR T PARAM_VAR T PARAM_ADDR T LVAR T VAR T LARRAY_ADDR T ARRAY_ADDR T FUNC_ADDR T ID_LIST L VAR_DECL L EXT_DECL L ARRAY_AREF L MEMBER_REF # T MOE_CONSTANT # L MEMBER_ADDR # L MEMBER_ARRAY_ADDR # for FORTRAN Xcode T FPARAM_ARRAY_ADDR T FPARAM_VAR_ADDR L FCOMM_ARRAY_ADDR L FCOMM_VAR_ADDR L CRAY_POINTER_REF L UNRESOLVED_FORMAT L FIRST_EXECUTION_POINT # for Assign checking L ASSIGN_EXPR_WITH_CHECK # for FORTRAN L F_PROGRAM_STATEMENT L F_BLOCK_STATEMENT L F_SUBROUNTINE_STATEMENT L F_FUNCTION_STATEMENT L F_ENTRY_STATEMENT L F_INCLUDE_STATEMENT L F_END_STATEMENT L F_TYPE_DECL L F_COMMON_DECL L F_EXTERNAL_DECL L F_INTRINSIC_DECL L F_EQUIV_DECL L F_DATA_DECL L F_IMPLICIT_DECL L F_NAMELIST_DECL L F_SAVE_DECL L F_PARAM_DECL L F_FORMAT_DECL L F_DUP_DECL L F_UNARY_MINUS L F_DO_STATEMENT L F_ENDDO_STATEMENT L F_DOWHILE_STATEMENT L F_IF_STATEMENT L F_ELSEIF_STATEMENT L F_ELSE_STATEMENT L F_ENDIF_STATEMENT L F_LET_STATEMENT L F_ASSIGN_STATEMENT L F_CONTINUE_STATEMENT L F_GOTO_STATEMENT L F_ASGOTO_STATEMENT L F_COMPGOTO_STATEMENT L F_ARITHIF_STATEMENT L F_CALL_STATEMENT L F_RETURN_STATEMENT L F_PAUSE_STATEMENT L F_STOP_STATEMENT L F_COMPLEX_CONSTANT L F_PRINT_STATEMENT L F_WRITE_STATEMENT L F_READ_STATEMENT L F_READ1_STATEMENT L F_OPEN_STATEMENT L F_CLOSE_STATEMENT L F_INQUIRE_STATEMENT L F_BACKSPACE_STATEMENT L F_ENDFILE_STATEMENT L F_REWIND_STATEMENT L F_POINTER_DECL F F_SET_EXPR U F_LABEL_REF B F_PLUS_EXPR B F_MINUS_EXPR B F_MUL_EXPR B F_DIV_EXPR B F_POWER_EXPR U F_UNARY_MINUS_EXPR B F_EQ_EXPR B F_GT_EXPR B F_GE_EXPR B F_LT_EXPR B F_LE_EXPR B F_NE_EXPR B F_EQV_EXPR B F_NEQV_EXPR B F_OR_EXPR B F_AND_EXPR U F_NOT_EXPR B F_CONCAT_EXPR B F_SUBSTR_REF U F_ARRAY_REF L F_STARSTAR T F_TRUE_CONSTANT T F_FALSE_CONSTANT T F_TYPE_NODE T F_FLOAT_CONSTANT T F_DOUBLE_CONSTANT T F_QREAL_CONSTANT L F_IMPLIED_DO L OMP_PRAGMA L TEA_PRAGMA L ALLOCA # EOF