//#pragma prefix "omg.org"

interface TESTINC
{
};


module basetypes
{
  // definitions
  typedef short AccessMode;

  const AccessMode READ_ONLY = 0;
  const AccessMode READ_WRITE = 1;

  const long LEN = 5;

  const float FF = 0.0;

  typedef float myFloat;

  const myFloat mFF = 0.0;


  typedef string<LEN> ls;

  const octet BYTE = 0x4;

  typedef short myShort;

  interface Test
    {
      const octet MYBYTE = 0xff;
      const short SS = 3;
      const myShort mSS= 3;

      void op();
    };

  typedef char _CHAR;
  const _CHAR X = ' ' ;

  const string ashort = "short";
  typedef unsigned long myType;
  const myType myVar = 35;

  const myType plus = myVar  + 7;

  // test cases by Martin Both

  const double cd01= 1.4;
  const double cd01b= 1.4e-3;
  const double cd01c= 1.4E-3;
  // incorrect, must not be accepted:
  // const double cd02= 14;
  const double cd03= 14e-3;
  const double cd04= 14E+1;
  const double cd05= 14E2;
  const double cd06= 14.;
  const double cd07= .14;
  const double cd08= 14.E3;
  const double cd10= -14.E3;
  const double cd11= +14.E3;
  // incorrect, must not be accepted:
  // const double cd12= 14e;

  // incorrect, must not be accepted: (scale > digits )
  // typedef fixed<2,3> f23;
  typedef fixed<4,3> f23;
  const f23 cb2= 2.4d;
  // incorrect, must not be accepted (missing d):
  //  const fixed cb= 2.4;
  // incorrect, must not be accepted (missing d):
  // const fixed fxp01= 1.4;
  const fixed fxp03= 14d;
  const fixed fxp04= 14D;
  const fixed fxp05= 14.2D;
  const fixed fxp06= 14.D;
  const fixed fxp07= .14d;
  const fixed fxp10= -14.d;
  const fixed fxp11= +14.d;

  const boolean B1 = FALSE;
//    const string S1="H\0127H C&A H\xAH\xag";
//    const string<5> S2="\xA" "B";
//    const string S3="\rB\n";
  const string S4="\rB";
  const string S5="B\r\n";
  const string S6="B\rC";
  const string S7="";
  //  const string S8="\"";
  const string S9="A";
  const char C0 = 'X';
//    const wchar L = L'X';
//    const wchar C1 = L;
  const wchar C2 = '\xa';
//    const wstring WS1 = L"Hello\u002e";




};
