mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.4 KiB
118 lines
3.4 KiB
<!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> |
|
|
|
|