| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | <!doctype html><title>CodeMirror: TTCN mode</title><meta charset="utf-8"/><link rel=stylesheet href="../../doc/docs.css"><link rel="stylesheet" href="../../lib/codemirror.css"><script src="../../lib/codemirror.js"></script><script src="ttcn.js"></script><style type="text/css">    .CodeMirror {        border-top: 1px solid black;        border-bottom: 1px solid black;    }</style><div id=nav>    <a href="http://codemirror.net"><h1>CodeMirror</h1>        <img id=logo src="../../doc/logo.png">    </a>    <ul>        <li><a href="../../index.html">Home</a>        <li><a href="../../doc/manual.html">Manual</a>        <li><a href="https://github.com/codemirror/codemirror">Code</a>    </ul>    <ul>        <li><a href="../index.html">Language modes</a>        <li><a class=active href="http://en.wikipedia.org/wiki/TTCN">TTCN</a>    </ul></div><article>    <h2>TTCN example</h2>    <div>        <textarea id="ttcn-code">module Templates {  /* import types from ASN.1 */  import from Types language "ASN.1:1997" all;  /* During the conversion phase from ASN.1 to TTCN-3 */  /* - the minus sign (Message-Type) within the identifiers will be replaced by underscore (Message_Type)*/  /* - the ASN.1 identifiers matching a TTCN-3 keyword (objid) will be postfixed with an underscore (objid_)*/  // simple types  template SenderID localObjid := objid {itu_t(0) identified_organization(4) etsi(0)};  // complex types  /* ASN.1 Message-Type mapped to TTCN-3 Message_Type */  template Message receiveMsg(template (present) Message_Type p_messageType) := {    header := p_messageType,    body := ?  }  /* ASN.1 objid mapped to TTCN-3 objid_ */  template Message sendInviteMsg := {      header := inviteType,      body := {        /* optional fields may be assigned by omit or may be ignored/skipped */        description := "Invite Message",        data := 'FF'O,        objid_ := localObjid      }  }  template Message sendAcceptMsg modifies sendInviteMsg := {      header := acceptType,      body := {        description := "Accept Message"      }    };  template Message sendErrorMsg modifies sendInviteMsg := {      header := errorType,      body := {        description := "Error Message"      }    };  template Message expectedErrorMsg := {      header := errorType,      body := ?    };  template Message expectedInviteMsg modifies expectedErrorMsg := {      header := inviteType    };  template Message expectedAcceptMsg modifies expectedErrorMsg := {      header := acceptType    };} with { encode "BER:1997" }        </textarea>    </div>    <script>       var ttcnEditor = CodeMirror.fromTextArea(document.getElementById("ttcn-code"), {        lineNumbers: true,        matchBrackets: true,        mode: "text/x-ttcn"      });      ttcnEditor.setSize(600, 860);      var mac = CodeMirror.keyMap.default == CodeMirror.keyMap.macDefault;      CodeMirror.keyMap.default[(mac ? "Cmd" : "Ctrl") + "-Space"] = "autocomplete";    </script>    <br/>    <p><strong>Language:</strong> Testing and Test Control Notation        (<a href="http://en.wikipedia.org/wiki/TTCN">TTCN</a>)    </p>    <p><strong>MIME types defined:</strong> <code>text/x-ttcn,        text/x-ttcn3, text/x-ttcnpp</code>.</p>    <br/>    <p>The development of this mode has been sponsored by <a href="http://www.ericsson.com/">Ericsson    </a>.</p>    <p>Coded by Asmelash Tsegay Gebretsadkan </p></article>
 |