MFParserUtils.java
/******************************************************************************
* Copyright (c) 2005, 2006 Los Alamos National Security, LLC. This
* material was produced under U.S. Government contract
* DE-AC52-06NA25396 for Los Alamos National Laboratory (LANL), which
* is operated by the Los Alamos National Security, LLC (LANS) for the
* U.S. Department of Energy. The U.S. Government has rights to use,
* reproduce, and distribute this software. NEITHER THE GOVERNMENT NOR
* LANS MAKES ANY WARRANTY, EXPRESS OR IMPLIED, OR ASSUMES ANY
* LIABILITY FOR THE USE OF THIS SOFTWARE. If software is modified to
* produce derivative works, such modified software should be clearly
* marked, so as not to confuse it with the version available from
* LANL.
*
* Additionally, this program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*****************************************************************************/
package edu.udel.cis.vsl.abc.front.fortran.parse;
/**
* This file replaces integers with enums. It was getting to be a problem
* passing enums from java to C.
*/
public class MFParserUtils {
// Here are the offsets.
//
static final public int LiteralConstantBase = 0;
static final public int KindParamBase = 100;
static final public int KindSelectorBase = 200;
static final public int KindLenParamBase = 300;
static final public int IntrinsicTypeSpecBase = 400;
static final public int DeclarationTypeSpecBase = 500;
static final public int IntentSpecBase = 600;
static final public int ArraySpecElementBase = 700;
static final public int AttrSpecBase = 800;
static final public int BindingStatementTypeBase = 900;
static final public int ComponentDefTypeBase = 1000;
static final public int TypeParamOrCompDefBase = 1100;
static final public int TypeAttrSpecBase = 1200;
static final public int ComponentAttrSpecBase = 1300;
static final public int ProcComponentAttrSpecBase = 1400;
static final public int GenericSpecBase = 1500;
static final public int DTIOGenericSpecBase = 1600;
static final public int DoConstructBase = 1700;
// And here are the "enums"
//
static final public int LiteralConstant_int_literal_constant = LiteralConstantBase
+ 0;
static final public int LiteralConstant_real_literal_constant = LiteralConstantBase
+ 1;
static final public int LiteralConstant_complex_literal_constant = LiteralConstantBase
+ 2;
static final public int LiteralConstant_logical_literal_constant = LiteralConstantBase
+ 3;
static final public int LiteralConstant_char_literal_constant = LiteralConstantBase
+ 4;
static final public int LiteralConstant_boz_literal_constant = LiteralConstantBase
+ 5;
static final public int KindParam_none = KindParamBase + 0;
static final public int KindParam_literal = KindParamBase + 1;
static final public int KindParam_id = KindParamBase + 2;
static final public int KindSelector_none = KindSelectorBase + 0;
static final public int KindSelector_expression = KindSelectorBase + 1;
static final public int KindLenParam_none = KindLenParamBase + 0;
static final public int KindLenParam_kind = KindLenParamBase + 1;
static final public int KindLenParam_len = KindLenParamBase + 2;
static final public int IntrinsicTypeSpec_INTEGER = IntrinsicTypeSpecBase
+ 0;
static final public int IntrinsicTypeSpec_REAL = IntrinsicTypeSpecBase + 1;
static final public int IntrinsicTypeSpec_DOUBLEPRECISION = IntrinsicTypeSpecBase
+ 2;
static final public int IntrinsicTypeSpec_DOUBLECOMPLEX = IntrinsicTypeSpecBase
+ 3;
static final public int IntrinsicTypeSpec_COMPLEX = IntrinsicTypeSpecBase
+ 4;
static final public int IntrinsicTypeSpec_CHARACTER = IntrinsicTypeSpecBase
+ 5;
static final public int IntrinsicTypeSpec_LOGICAL = IntrinsicTypeSpecBase
+ 6;
// ---------------------------------------------
// Rice intrinsic types
// ---------------------------------------------
static final public int IntrinsicTypeSpec_TEAM = IntrinsicTypeSpecBase + 7;
// (1/13/2010) for now CrayPointer is used for AST only
static final public int IntrinsicTypeSpec_CRAYPOINTER = IntrinsicTypeSpecBase
+ 8;
static final public int IntrinsicTypeSpec_EVENT = IntrinsicTypeSpecBase + 9;
static final public int IntrinsicTypeSpec_TOPOLOGY = IntrinsicTypeSpecBase
+ 10;
static final public int IntrinsicTypeSpec_LOCK = IntrinsicTypeSpecBase + 11;
static final public int IntrinsicTypeSpec_LOCKSET = IntrinsicTypeSpecBase
+ 12;
static final public int DeclarationTypeSpec_INTRINSIC = DeclarationTypeSpecBase
+ 0;
static final public int DeclarationTypeSpec_TYPE = DeclarationTypeSpecBase
+ 1;
static final public int DeclarationTypeSpec_CLASS = DeclarationTypeSpecBase
+ 2;
static final public int DeclarationTypeSpec_unlimited = DeclarationTypeSpecBase
+ 3;
static final public int IntentSpec_IN = IntentSpecBase + 0;
static final public int IntentSpec_OUT = IntentSpecBase + 1;
static final public int IntentSpec_INOUT = IntentSpecBase + 2;
static final public int ArraySpecElement_expr = ArraySpecElementBase + 0;
static final public int ArraySpecElement_expr_colon = ArraySpecElementBase
+ 1;
static final public int ArraySpecElement_expr_colon_expr = ArraySpecElementBase
+ 2;
static final public int ArraySpecElement_expr_colon_asterisk = ArraySpecElementBase
+ 3;
static final public int ArraySpecElement_asterisk = ArraySpecElementBase
+ 4;
static final public int ArraySpecElement_colon = ArraySpecElementBase + 5;
static final public int AttrSpec_none = AttrSpecBase + 0;
static final public int AttrSpec_access = AttrSpecBase + 1;
static final public int AttrSpec_language_binding = AttrSpecBase + 2;
static final public int AttrSpec_PUBLIC = AttrSpecBase + 3;
static final public int AttrSpec_PRIVATE = AttrSpecBase + 4;
static final public int AttrSpec_ALLOCATABLE = AttrSpecBase + 5;
static final public int AttrSpec_ASYNCHRONOUS = AttrSpecBase + 6;
static final public int AttrSpec_CODIMENSION = AttrSpecBase + 7;
static final public int AttrSpec_CONTIGUOUS = AttrSpecBase + 8;
static final public int AttrSpec_DIMENSION = AttrSpecBase + 9;
static final public int AttrSpec_EXTERNAL = AttrSpecBase + 10;
static final public int AttrSpec_INTENT = AttrSpecBase + 11;
static final public int AttrSpec_INTRINSIC = AttrSpecBase + 12;
static final public int AttrSpec_BINDC = AttrSpecBase + 13;
static final public int AttrSpec_OPTIONAL = AttrSpecBase + 14;
static final public int AttrSpec_PARAMETER = AttrSpecBase + 15;
static final public int AttrSpec_POINTER = AttrSpecBase + 16;
static final public int AttrSpec_PROTECTED = AttrSpecBase + 17;
static final public int AttrSpec_SAVE = AttrSpecBase + 18;
static final public int AttrSpec_TARGET = AttrSpecBase + 19;
static final public int AttrSpec_VALUE = AttrSpecBase + 20;
static final public int AttrSpec_VOLATILE = AttrSpecBase + 21;
static final public int AttrSpec_PASS = AttrSpecBase + 22;
static final public int AttrSpec_NOPASS = AttrSpecBase + 23;
static final public int AttrSpec_NON_OVERRIDABLE = AttrSpecBase + 24;
static final public int AttrSpec_DEFERRED = AttrSpecBase + 25;
// TODO are T_KIND and T_LEN correct?
static final public int AttrSpec_KIND = AttrSpecBase + 26;
static final public int AttrSpec_LEN = AttrSpecBase + 27;
// ---------------------------------------------
// Rice attributes
static final public int AttrSpec_COARRAY = AttrSpecBase + 28;
static final public int AttrSpec_COPOINTER = AttrSpecBase + 29;
static final public int AttrSpec_COTARGET = AttrSpecBase + 30;
// ---------------------------------------------
static final public int BindingStatementType_specific = BindingStatementTypeBase
+ 0;
static final public int BindingStatementType_generic = BindingStatementTypeBase
+ 1;
static final public int BindingStatementType_final = BindingStatementTypeBase
+ 2;
static final public int ComponentDefType_data = ComponentDefTypeBase + 0;
static final public int ComponentDefType_procedure = ComponentDefTypeBase
+ 1;
static final public int DoConstruct_concurrent = DoConstructBase + 0;
static final public int DoConstruct_variable = DoConstructBase + 1;
static final public int DoConstruct_while = DoConstructBase + 2;
static final public int TypeParamOrCompDef_typeParam = TypeParamOrCompDefBase
+ 0;
static final public int TypeParamOrCompDef_compDef = TypeParamOrCompDefBase
+ 1;
static final public int TypeAttrSpec_access_spec = TypeAttrSpecBase + 0;
static final public int TypeAttrSpec_extends = TypeAttrSpecBase + 1;
static final public int TypeAttrSpec_abstract = TypeAttrSpecBase + 2;
static final public int TypeAttrSpec_bind = TypeAttrSpecBase + 3;
static final public int ComponentAttrSpec_access_spec = ComponentAttrSpecBase
+ 0;
static final public int ComponentAttrSpec_allocatable = ComponentAttrSpecBase
+ 1;
static final public int ComponentAttrSpec_codimension = ComponentAttrSpecBase
+ 2;
static final public int ComponentAttrSpec_contiguous = ComponentAttrSpecBase
+ 3;
static final public int ComponentAttrSpec_dimension = ComponentAttrSpecBase
+ 4;
static final public int ComponentAttrSpec_pointer = ComponentAttrSpecBase
+ 5;
static final public int ComponentAttrSpec_kind = ComponentAttrSpecBase + 6;
static final public int ComponentAttrSpec_len = ComponentAttrSpecBase + 7;
static final public int ProcComponentAttrSpec_pointer = ProcComponentAttrSpecBase
+ 0;
static final public int ProcComponentAttrSpec_pass = ProcComponentAttrSpecBase
+ 1;
static final public int ProcComponentAttrSpec_nopass = ProcComponentAttrSpecBase
+ 2;
static final public int ProcComponentAttrSpec_access_spec = ProcComponentAttrSpecBase
+ 3;
static final public int GenericSpec_generic_name = GenericSpecBase + 0;
static final public int GenericSpec_OPERATOR = GenericSpecBase + 1;
static final public int GenericSpec_ASSIGNMENT = GenericSpecBase + 2;
static final public int GenericSpec_dtio_generic_spec = GenericSpecBase + 3;
static final public int DTIOGenericSpec_READ_FORMATTED = DTIOGenericSpecBase
+ 0;
static final public int DTIOGenericSpec_READ_UNFORMATTED = DTIOGenericSpecBase
+ 1;
static final public int DTIOGenericSpec_WRITE_FORMATTED = DTIOGenericSpecBase
+ 2;
static final public int DTIOGenericSpec_WRITE_UNFORMATTED = DTIOGenericSpecBase
+ 3;
}