# $Id: C-exprcode.def,v 1.6 2001/11/15 09:32:38 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 LONG_CONSTANT T FLOAT_CONSTANT T LONGLONG_CONSTANT T BASIC_TYPE_NODE T STORAGE_CLASS_NODE T TYPE_QUAL_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 PARAM_ADDR T LVAR_ADDR T PARAM_VAR T LVAR T VAR T LARRAY_ADDR T ARRAY_ADDR T FUNC_ADDR T ID_LIST L VAR_DECL L EXT_DECL L MEMBER_REF L MEMBER_ADDR L MEMBER_ARRAY_ADDR L ARRAY_AREF T MOE_CONSTANT # for pargma extension L PRAGMA_LINE L OMP_PRAGMA L TEA_PRAGMA L OGR_PRAGMA # EOF