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>
|