Commit dfe10b6f authored by Garcia's avatar Garcia
Browse files

Remove common TTCN-3 libraries

parent 6d543c95
Loading
Loading
Loading
Loading
+0 −137
Original line number Diff line number Diff line
/** 
 *  @author   ETSI
 *  @version  $URL: https://oldforge.etsi.org/svn/LibCommon/tags/v1.4.0/ttcn/LibCommon_AbstractData.ttcn $
 *            $Id: LibCommon_AbstractData.ttcn 64 2016-12-14 15:09:43Z berge $
 *  @desc     A collection of functions for abstract data types which may be
 *            useful in the implementation of any TTCN-3 test suite.
 *  @remark   End users should be aware that any changes made to the  in
 *            definitions this module may be overwritten in future releases.
 *            End users are encouraged to contact the distributers of this
 *            module regarding their modifications or additions so that future
 *            updates will include your changes.
 *  @copyright  ETSI Copyright Notification
 *                No part may be reproduced except as authorized by written permission.
 *                The copyright and the foregoing restriction extend to reproduction in all media.
 *                All rights reserved.
 *
 */
 module LibCommon_AbstractData {

  import from LibCommon_BasicTypesAndValues { type UInt } ;

  group stringStack {

    type record StringStack {
      UInt        stackSize,
      StringItems stringItems
    }

    type record of charstring StringItems;

    /**
     * @desc    Constant which can be used to initialize a
     *          string stack. A string stack can be intialized by
     *          assigning this value in the variable declariation.
     *          An alternative is to call the initlialization function.
     * @see     LibCommon_AbstractData.f_initStringStack
     * @remark  Note that an initlialized stack stack is not
     *          necessarily the same as an empty string stack.
     *          An empty tring stack as 0 zero elements but may
     *          have a non empty list of (empty) items.
     */
    const StringStack c_initStringStack := { 0, {} }

    /**
     * @desc    The invocation of this function will initialize
     *          a string stack to an empty string stack.
     *          An alternative is to initlialize a stack using a
     *          constant value.
     * @see     LibCommon_AbstractData.c_initStringStack
     * @param   p_stack String stack to be initialized.
     */
    function f_initStringStack ( inout StringStack p_stack ) {
      p_stack := c_initStringStack
    }

    /**
     * @desc    This function checks if a string stack is empty.
     * @param   p_stack String stack to be checked.
     * @return  true if empty, false if not empty
     */
    function f_isStringStackEmpty ( inout StringStack p_stack )
    return boolean {
      if ( p_stack.stackSize == 0 ) {return true}
      else {return false}
    }

    /**
     * @desc    This function checks if a given string is on the
     *          string stack.
     * @param   p_stack String stack where the string item
     *          is to be looked for.
     * @param   p_item  String to be checked for.
     * @return  true if found, false if not found
     */
    function f_isItemOnStringStack ( inout StringStack p_stack,
                       in    charstring  p_item )
    return boolean {
      var integer i;
      for (i := 0; i < p_stack.stackSize; i := i+1 ) {
        if ( p_stack.stringItems[i] == p_item ) {
          return true;
        }
      }
      return false;
    }

    /**
     * @desc    This function checks if a given string is on the
     *          string stack.
     * @param   p_stack String stack where the string item
     *          is to be looked for.
     * @param   p_item  String item on top of the stack.
     * @return  false if stack is empty, true otherwise
     */
    function f_peekStringStackTop ( inout StringStack p_stack,
                    out   charstring  p_item)
    return boolean {
      if (p_stack.stackSize == 0) {
        p_item := "f_peekTopStringStack: String stack is empty!";
        return false;
      }
      p_item := valueof(p_stack.stringItems[p_stack.stackSize-1]);
      return true;
    }


    /**
     * @desc    This function puts a string to the top of a
     *          string stack.
     * @param   p_stack String stack to which the string item
     *          is to be added.
     * @param   p_item  String to be added.
     */
    function f_pushStringStack ( inout StringStack p_stack,
                   in    charstring  p_item ) {
      p_stack.stringItems[p_stack.stackSize] := p_item;
      p_stack.stackSize := p_stack.stackSize + 1;
    }

    /**
     * @desc    This function removes the string from the top of a
     *          string stack. If the stack is empty nothing is done
     * @param   p_stack String stack from which the top string item
     *          is to be removed.
     */
    function f_popStringStack ( inout StringStack p_stack ) {
            if ( p_stack.stackSize > 0 ) {
        p_stack.stackSize := p_stack.stackSize-1;
        // "delete" top stack item to be safe
        // Note: due to record of index the "old top" is size-1!
        p_stack.stringItems[p_stack.stackSize] := "";
      }
    }

  } // end group stringStack

} // end module LibCommon_AbstractData
+0 −247
Original line number Diff line number Diff line
/**
 *  @author   ETSI
 *  @version  $URL: https://oldforge.etsi.org/svn/LibCommon/tags/v1.4.0/ttcn/LibCommon_BasicTypesAndValues.ttcn $
 *            $Id: LibCommon_BasicTypesAndValues.ttcn 64 2016-12-14 15:09:43Z berge $
 *  @desc     A collection of basic type and value definitions which may be 
 *            useful in the implementation of any TTCN-3 test suite. <br><br>
 *  @remark   End users should be aware that any changes made to the  in
 *            definitions this module may be overwritten in future releases.
 *            End users are encouraged to contact the distributers of this  
 *            module regarding their modifications or additions so that future 
 *            updates will include your changes.
 *  @copyright  ETSI Copyright Notification
 *                No part may be reproduced except as authorized by written permission.
 *                The copyright and the foregoing restriction extend to reproduction in all media.
 *                All rights reserved.
 *
 */
 module LibCommon_BasicTypesAndValues {
  
  /** 
   *  @remark Number in subtype name always indicates encoding length 
   *          in _bits_
   */
  group unsignedIntegerDefintions {

    const integer c_uInt1Max := 1;
    const integer c_uInt2Max := 3;
    const integer c_uInt3Max := 7;
    const integer c_uInt4Max := 15;
    const integer c_uInt5Max := 31;
    const integer c_uInt6Max := 63;
    const integer c_uInt7Max := 127;
    const integer c_uInt8Max := 255;
    const integer c_uInt9Max := 511;
    const integer c_uInt10Max := 1023;
    const integer c_uInt11Max := 2047;
    const integer c_uInt12Max := 4095;
    const integer c_uInt13Max := 8191;
    const integer c_uInt14Max := 16383;
    const integer c_uInt15Max := 32767;
    const integer c_uInt16Max := 65535;
    const integer c_uInt17Max := 131071;
    const integer c_uInt18Max := 262143;
    const integer c_uInt19Max := 524287;
    const integer c_uInt20Max := 1048575;
    const integer c_uInt21Max := 2097151;
    const integer c_uInt22Max := 4194303;
    const integer c_uInt23Max := 8388607;
    const integer c_uInt24Max := 16777215;
    const integer c_uInt25Max := 33554431;
    const integer c_uInt26Max := 67108863;
    const integer c_uInt27Max := 134217727;
    const integer c_uInt28Max := 268435456;
    const integer c_uInt29Max := 536870911;
    const integer c_uInt30Max := 1073741823;
    const integer c_uInt31Max := 2147483647;
    const integer c_uInt32Max := 4294967295;
    const integer c_uInt36Max := 68719476735;
    const integer c_uInt48Max := 281474976710655;
    const integer c_uInt52Max := 4503599627370495;
    const integer c_uInt64Max := 18446744073709551615;

    type integer  UInt  (0 .. infinity);
    type integer  UInt1 (0 .. c_uInt1Max) with {variant "unsigned 1 bit"};
    type integer  UInt2 (0 .. c_uInt2Max) with {variant "unsigned 2 bit"};
    type integer  UInt3 (0 .. c_uInt3Max) with {variant "unsigned 3 bit"};
    type integer  UInt4 (0 .. c_uInt4Max) with {variant "unsigned 4 bit"};
    type integer  UInt5 (0 .. c_uInt5Max) with {variant "unsigned 5 bit"};
    type integer  UInt6 (0 .. c_uInt6Max) with {variant "unsigned 6 bit"};
    type integer  UInt7 (0 .. c_uInt7Max) with {variant "unsigned 7 bit"};
    type integer  UInt8 (0 .. c_uInt8Max) with {variant "unsigned 8 bit"};
    type integer  UInt9 (0 .. c_uInt9Max) with {variant "unsigned 9 bit"};
    type integer  UInt10 (0 .. c_uInt10Max) with {variant "unsigned 10 bit"};
    type integer  UInt11 (0 .. c_uInt11Max) with {variant "unsigned 11 bit"};
    type integer  UInt12 (0 .. c_uInt12Max) with {variant "unsigned 12 bit"};
    type integer  UInt13 (0 .. c_uInt13Max) with {variant "unsigned 13 bit"};
    type integer  UInt14 (0 .. c_uInt14Max) with {variant "unsigned 14 bit"};
    type integer  UInt15 (0 .. c_uInt15Max) with {variant "unsigned 15 bit"};
    type integer  UInt16 (0 .. c_uInt16Max) with {variant "unsigned 16 bit"};
    type integer  UInt17 (0 .. c_uInt17Max) with {variant "unsigned 17 bit"};
    type integer  UInt18 (0 .. c_uInt18Max) with {variant "unsigned 18 bit"};
    type integer  UInt19 (0 .. c_uInt19Max) with {variant "unsigned 19 bit"};
    type integer  UInt20 (0 .. c_uInt20Max) with {variant "unsigned 20 bit"};
    type integer  UInt21 (0 .. c_uInt21Max) with {variant "unsigned 21 bit"};
    type integer  UInt22 (0 .. c_uInt22Max) with {variant "unsigned 22 bit"};
    type integer  UInt23 (0 .. c_uInt23Max) with {variant "unsigned 23 bit"};
    type integer  UInt24 (0 .. c_uInt24Max) with {variant "unsigned 24 bit"};
    type integer  UInt25 (0 .. c_uInt25Max) with {variant "unsigned 25 bit"};
    type integer  UInt26 (0 .. c_uInt26Max) with {variant "unsigned 26 bit"};
    type integer  UInt27 (0 .. c_uInt27Max) with {variant "unsigned 27 bit"};
    type integer  UInt28 (0 .. c_uInt28Max) with {variant "unsigned 28 bit"};
    type integer  UInt29 (0 .. c_uInt29Max) with {variant "unsigned 29 bit"};
    type integer  UInt30 (0 .. c_uInt30Max) with {variant "unsigned 30 bit"};
    type integer  UInt31 (0 .. c_uInt31Max) with {variant "unsigned 31 bit"};
    type integer  UInt32 (0 .. c_uInt32Max) with {variant "unsigned 32 bit"};
    type integer  UInt36 (0 .. c_uInt36Max) with {variant "unsigned 36 bit"};
    type integer  UInt48 (0 .. c_uInt48Max) with {variant "unsigned 48 bit"};
    type integer  UInt52 (0 .. c_uInt52Max) with {variant "unsigned 52 bit"};
    type integer  UInt64 (0 .. c_uInt64Max) with {variant "unsigned 64 bit"};
    
  } // end group unsignedIntegerDefintions
    
  /** 
   * @remark Number in subtype name always indicates encoding length 
   *         in _bits_
   */
  group signedIntegerDefintions {

    const integer c_int1Min := -1;
    const integer c_int1Max := 0;
    const integer c_int2Min := -2;
    const integer c_int2Max := 1;
    const integer c_int3Min := -4;
    const integer c_int3Max := 3;
    const integer c_int4Min := -8;
    const integer c_int4Max := 7;
    const integer c_int5Min := -16;
    const integer c_int5Max := 15;
    const integer c_int6Min := -32;
    const integer c_int6Max := 31;
    const integer c_int7Min := -64;
    const integer c_int7Max := 63;
    const integer c_int8Min := -128;
    const integer c_int8Max := 127;
    const integer c_int9Min := -256;
    const integer c_int9Max := 255;
    const integer c_int10Min := -512;
    const integer c_int10Max := 511;
    const integer c_int11Min := -1024;
    const integer c_int11Max := 1023;
    const integer c_int12Min := -2048;
    const integer c_int12Max := 2047;
    const integer c_int13Min := -4096;
    const integer c_int13Max := 4095;
    const integer c_int14Min := -8192;
    const integer c_int14Max := 8191;
    const integer c_int15Min := -16384;
    const integer c_int15Max := 16383;
    const integer c_int16Min := -32768;
    const integer c_int16Max := 32767;
    const integer c_int17Min := -65536;
    const integer c_int17Max := 65535;
    const integer c_int18Min := -131072;
    const integer c_int18Max := 131071;
    const integer c_int19Min := -262144;
    const integer c_int19Max := 262143;
    const integer c_int20Min := -524288;
    const integer c_int20Max := 524287;
    const integer c_int21Min := -1048576;
    const integer c_int21Max := 1048575;
    const integer c_int22Min := -2097152;
    const integer c_int22Max := 2097151;
    const integer c_int23Min := -4194304;
    const integer c_int23Max := 4194303;
    const integer c_int24Min := -8388608;
    const integer c_int24Max := 8388607;
    const integer c_int25Min := -16777216;
    const integer c_int25Max := 16777215;
    const integer c_int26Min := -33554432;
    const integer c_int26Max := 33554431;
    const integer c_int27Min := -67108864;
    const integer c_int27Max := 67108863;
    const integer c_int28Min := -134217728;
    const integer c_int28Max := 134217727;
    const integer c_int29Min := -268435456;
    const integer c_int29Max := 268435456;
    const integer c_int30Min := -536870912;
    const integer c_int30Max := 536870911;
    const integer c_int31Min := -1073741824;
    const integer c_int31Max := 1073741823;
    const integer c_int32Min := -2147483648;
    const integer c_int32Max := 2147483647;

    type integer  Int;
    type integer  Int1  (c_int1Min .. c_int1Max) with { variant "1 bit"};
    type integer  Int2  (c_int2Min .. c_int2Max) with { variant "2 bit"};
    type integer  Int3  (c_int3Min .. c_int3Max) with { variant "3 bit"};
    type integer  Int4  (c_int4Min .. c_int4Max) with { variant "4 bit"};
    type integer  Int5  (c_int5Min .. c_int5Max) with { variant "5 bit"};
    type integer  Int6  (c_int6Min .. c_int6Max) with { variant "6 bit"};
    type integer  Int7  (c_int7Min .. c_int7Max) with { variant "7 bit"};
    type integer  Int8  (c_int8Min .. c_int8Max) with { variant "8 bit"};
    type integer  Int9  (c_int9Min .. c_int9Max) with { variant "9 bit"};
    type integer  Int10  (c_int10Min .. c_int10Max) with { variant "10 bit"};
    type integer  Int11  (c_int11Min .. c_int11Max) with { variant "11 bit"};
    type integer  Int12  (c_int12Min .. c_int12Max) with { variant "12 bit"};
    type integer  Int13  (c_int13Min .. c_int13Max) with { variant "13 bit"};
    type integer  Int14  (c_int14Min .. c_int14Max) with { variant "14 bit"};
    type integer  Int15  (c_int15Min .. c_int15Max) with { variant "15 bit"};
    type integer  Int16  (c_int16Min .. c_int16Max) with { variant "16 bit"};
    type integer  Int17  (c_int17Min .. c_int17Max) with { variant "17 bit"};
    type integer  Int18  (c_int18Min .. c_int18Max) with { variant "18 bit"};
    type integer  Int19  (c_int19Min .. c_int19Max) with { variant "19 bit"};
    type integer  Int20  (c_int20Min .. c_int20Max) with { variant "20 bit"};
    type integer  Int21  (c_int21Min .. c_int21Max) with { variant "21 bit"};
    type integer  Int22  (c_int22Min .. c_int22Max) with { variant "22 bit"};
    type integer  Int23  (c_int23Min .. c_int23Max) with { variant "23 bit"};
    type integer  Int24  (c_int24Min .. c_int24Max) with { variant "24 bit"};
    type integer  Int25  (c_int25Min .. c_int25Max) with { variant "25 bit"};
    type integer  Int26  (c_int26Min .. c_int26Max) with { variant "26 bit"};
    type integer  Int27  (c_int27Min .. c_int27Max) with { variant "27 bit"};
    type integer  Int28  (c_int28Min .. c_int28Max) with { variant "28 bit"};
    type integer  Int29  (c_int29Min .. c_int29Max) with { variant "29 bit"};
    type integer  Int30  (c_int30Min .. c_int30Max) with { variant "30 bit"};
    type integer  Int31  (c_int31Min .. c_int31Max) with { variant "31 bit"};
    type integer  Int32  (c_int32Min .. c_int32Max) with { variant "32 bit"};

  } // end group signedIntegerDefintions

  group zeroedIntegers {

    const UInt1   c_uInt1Zero := 0;
    const UInt2   c_uInt2Zero := 0;
    const UInt3   c_uInt3Zero := 0;
    const UInt4   c_uInt4Zero := 0;
    const UInt5   c_uInt5Zero := 0;
    const UInt6   c_uInt6Zero := 0;
    const UInt7   c_uInt7Zero := 0;
    const UInt8   c_uInt8Zero := 0;
    const UInt10  c_uInt10Zero := 0;
    const UInt12  c_uInt12Zero := 0;
    const UInt14  c_uInt14Zero := 0;
    const UInt16  c_uInt16Zero := 0;
    const UInt24  c_uInt24Zero := 0;
    const UInt32  c_uInt32Zero := 0;
    const UInt48  c_uInt48Zero := 0;
    
  }//end group zeroedInt

  /** 
   * @remark Number in subtype name always indicates encoding length 
   *       in _bits_
   */
  group booleanDefintions {

    type boolean  Bool1 with { variant "1 bit" };
    type boolean  Bool2 with { variant "2 bit" };
    type boolean  Bool3 with { variant "3 bit" };
    type boolean  Bool4 with { variant "4 bit" };
    type boolean  Bool5 with { variant "5 bit" };
    type boolean  Bool6 with { variant "6 bit" };
    type boolean  Bool7 with { variant "7 bit" };
    type boolean  Bool8 with { variant "8 bit" };
  
  } // end group booleanDefintions

} // end module LibCommon_BasicTypesAndValues
+0 −167

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −1358

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −128
Original line number Diff line number Diff line
/**
 *  @author   ETSI
 *  @version  $URL: https://oldforge.etsi.org/svn/LibCommon/tags/v1.4.0/ttcn/LibCommon_TextStrings.ttcn $
 *            $Id: LibCommon_TextStrings.ttcn 64 2016-12-14 15:09:43Z berge $
 *  @desc     A collection of text string type and value definitions which
 *            may be useful in the implementation of any TTCN-3 test
 *            suite. "Text string" refers to TTCN-3 charstring and universal
 *            charstring types.
 *  @remark   End users should be aware that any changes made to the  in
 *            definitions this module may be overwritten in future releases.
 *            End users are encouraged to contact the distributers of this
 *            module regarding their modifications or additions so that future
 *            updates will include your changes.
 *  @copyright  ETSI Copyright Notification
 *                No part may be reproduced except as authorized by written permission.
 *                The copyright and the foregoing restriction extend to reproduction in all media.
 *                All rights reserved.
 *
 */
module LibCommon_TextStrings {

  /**
   * @desc  These constants can be used to add special characters into
   *        TTCN-3 text strings by using the concatenation operator.
   *        Example use:
   *        var charstring v_text := "Hi!" & c_CRLF & "Hello!";
   */
  group usefulConstants {

    const charstring c_NUL := oct2char('00'O);
    const charstring c_SOH := oct2char('01'O);
    const charstring c_STX := oct2char('02'O);
    const charstring c_ETX := oct2char('03'O);
    const charstring c_EOT := oct2char('04'O);
    const charstring c_ENQ := oct2char('05'O);
    const charstring c_ACK := oct2char('06'O);
    const charstring c_BEL := oct2char('07'O);
    const charstring c_BS  := oct2char('08'O);
    const charstring c_TAB := oct2char('09'O);
    const charstring c_LF  := oct2char('0A'O);
    const charstring c_VT  := oct2char('0B'O);
    const charstring c_FF  := oct2char('0C'O);
    const charstring c_CR  := oct2char('0D'O);
    const charstring c_SO  := oct2char('0E'O);
    const charstring c_SI  := oct2char('0F'O);
    const charstring c_DLE := oct2char('10'O);
    const charstring c_DC1 := oct2char('11'O);
    const charstring c_DC2 := oct2char('12'O);
    const charstring c_DC3 := oct2char('13'O);
    const charstring c_DC4 := oct2char('14'O);
    const charstring c_NAK := oct2char('15'O);
    const charstring c_SYN := oct2char('16'O);
    const charstring c_ETB := oct2char('17'O);
    const charstring c_CAN := oct2char('18'O);
    const charstring c_EM  := oct2char('19'O);
    const charstring c_SUB := oct2char('1A'O);
    const charstring c_ESC := oct2char('1B'O);
    const charstring c_FS  := oct2char('1C'O);
    const charstring c_GS  := oct2char('1D'O);
    const charstring c_RS  := oct2char('1E'O);
    const charstring c_US  := oct2char('1F'O);
    const charstring c_DEL := oct2char('7F'O);

    const charstring c_CRLF := oct2char('0D'O) & oct2char('0A'O);

  } // end group usefulConstants

  /**
   * @remark Number in name indicates string length in number of
   *         _characters_
   */
  group textStringSubTypes {

    type charstring String1    length(1) with { encode "length(1)"};
    type charstring String2    length(2) with { encode "length(2)"};
    type charstring String3    length(3) with { encode "length(3)"};
    type charstring String4    length(4) with { encode "length(4)"};
    type charstring String5    length(5) with { encode "length(5)"};
    type charstring String6    length(6) with { encode "length(6)"};
    type charstring String7    length(7) with { encode "length(7)"};
    type charstring String8    length(8) with { encode "length(8)"};
    type charstring String9    length(9) with { encode "length(9)"};
    type charstring String10   length(10) with { encode "length(10)"};
    type charstring String11   length(11) with { encode "length(11)"};
    type charstring String12   length(12) with { encode "length(12)"};
    type charstring String13   length(13) with { encode "length(13)"};
    type charstring String14   length(14) with { encode "length(14)"};
    type charstring String15   length(15) with { encode "length(15)"};
    type charstring String16   length(16) with { encode "length(16)"};

	type charstring String1To13 length(1..13) with {encode "length(1..13)"};
    type charstring String1To63  length(1..63) with {encode "length(1..63)"};
    type charstring String1To64  length(1..64) with {encode "length(1..64)"};
    type charstring String1To127 length(1..127) with {encode "length(1..127)"};
    type charstring String1To128 length(1..128) with {encode "length(1..128)"};
    type charstring String1to255 length(1..255) with {encode "length(1..255)"};
	type charstring String5to253 length (5..253) with {encode "length(5..253)"};

  } // end stringSubTypes

  group usefulTextStringTypes {

    type universal charstring UnicodeText;

    type universal charstring UnicodeText1to255 length(1..255)
    with {encode "length(1..255)"};

    /**
     * @desc Subtyping can not be used in this type definition to ensure 
     *       values of this type are really alphanumeric. 
     *       Instead either codecs or a template have 
     *       to be used for this purpose. The type is kept here to ensure
     *       backward compatibility.
     * @see  LibCommon_TextStrings.mw_isAlphaNum
     */
    type charstring AlphaNum with { encode "alphanumeric"};
    type AlphaNum   AlphaNum2 length(2) with { encode "alphanumeric;length(2)"};
    type AlphaNum   AlphaNum1To32 length(1..32) with {encode "alphanumeric;length(1..32)"};

  } // end group usefulTextStringTypes

  group usefulTextStringTemplates {
    
	  template charstring mw_isAlphaNum := pattern "([0-9]|[a-z]|[A-Z])+";

  } // end group usefulTextStringTemplates

} // end module LibCommon_TextStrings
Loading