summaryrefslogtreecommitdiff
path: root/public/vendor/codemirror/mode/mscgen
diff options
context:
space:
mode:
Diffstat (limited to 'public/vendor/codemirror/mode/mscgen')
-rw-r--r--public/vendor/codemirror/mode/mscgen/index.html151
-rw-r--r--public/vendor/codemirror/mode/mscgen/mscgen.js169
-rw-r--r--public/vendor/codemirror/mode/mscgen/mscgen_test.js75
-rw-r--r--public/vendor/codemirror/mode/mscgen/msgenny_test.js71
-rw-r--r--public/vendor/codemirror/mode/mscgen/xu_test.js75
5 files changed, 0 insertions, 541 deletions
diff --git a/public/vendor/codemirror/mode/mscgen/index.html b/public/vendor/codemirror/mode/mscgen/index.html
deleted file mode 100644
index 8c28ee62..00000000
--- a/public/vendor/codemirror/mode/mscgen/index.html
+++ /dev/null
@@ -1,151 +0,0 @@
-<!doctype html>
-
-<title>CodeMirror: MscGen 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="mscgen.js"></script>
-<style>.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="#">MscGen</a>
- </ul>
-</div>
-
-<article>
-<h2>MscGen mode</h2>
-
-<div><textarea id="mscgen-code">
-# Sample mscgen program
-# See http://www.mcternan.me.uk/mscgen or
-# https://sverweij.github.io/mscgen_js for more samples
-msc {
- # options
- hscale="1.2";
-
- # entities/ lifelines
- a [label="Entity A"],
- b [label="Entity B", linecolor="red", arclinecolor="red", textbgcolor="pink"],
- c [label="Entity C"];
-
- # arcs/ messages
- a => c [label="doSomething(args)"];
- b => c [label="doSomething(args)"];
- c >> * [label="everyone asked me", arcskip="1"];
- c =>> c [label="doing something"];
- c -x * [label="report back", arcskip="1"];
- |||;
- --- [label="shows's over, however ..."];
- b => a [label="did you see c doing something?"];
- a -> b [label="nope"];
- b :> a [label="shall we ask again?"];
- a => b [label="naah"];
- ...;
-}
-</textarea></div>
-
-<h2>Xù mode</h2>
-
-<div><textarea id="xu-code">
-# Xù - expansions to MscGen to support inline expressions
-# https://github.com/sverweij/mscgen_js/blob/master/wikum/xu.md
-# More samples: https://sverweij.github.io/mscgen_js
-msc {
- hscale="0.8",
- width="700";
-
- a,
- b [label="change store"],
- c,
- d [label="necro queue"],
- e [label="natalis queue"],
- f;
-
- a =>> b [label="get change list()"];
- a alt f [label="changes found"] { /* alt is a xu specific keyword*/
- b >> a [label="list of changes"];
- a =>> c [label="cull old stuff (list of changes)"];
- b loop e [label="for each change"] { // loop is xu specific as well...
- /*
- * Interesting stuff happens.
- */
- c =>> b [label="get change()"];
- b >> c [label="change"];
- c alt e [label="change too old"] {
- c =>> d [label="queue(change)"];
- --- [label="change newer than latest run"];
- c =>> e [label="queue(change)"];
- --- [label="all other cases"];
- ||| [label="leave well alone"];
- };
- };
-
- c >> a [label="done
- processing"];
-
- /* shucks! nothing found ...*/
- --- [label="nothing found"];
- b >> a [label="nothing"];
- a note a [label="silent exit"];
- };
-}
-</textarea></div>
-
-<h2>MsGenny mode</h2>
-<div><textarea id="msgenny-code">
-# MsGenny - simplified version of MscGen / Xù
-# https://github.com/sverweij/mscgen_js/blob/master/wikum/msgenny.md
-# More samples: https://sverweij.github.io/mscgen_js
-a -> b : a -> b (signal);
-a => b : a => b (method);
-b >> a : b >> a (return value);
-a =>> b : a =>> b (callback);
-a -x b : a -x b (lost);
-a :> b : a :> b (emphasis);
-a .. b : a .. b (dotted);
-a -- b : "a -- b straight line";
-a note a : a note a\n(note),
-b box b : b box b\n(action);
-a rbox a : a rbox a\n(reference),
-b abox b : b abox b\n(state/ condition);
-||| : ||| (empty row);
-... : ... (omitted row);
---- : --- (comment);
-</textarea></div>
-
- <p>
- Simple mode for highlighting MscGen and two derived sequence
- chart languages.
- </p>
-
- <script>
- var mscgenEditor = CodeMirror.fromTextArea(document.getElementById("mscgen-code"), {
- lineNumbers: true,
- mode: "text/x-mscgen",
- });
- var xuEditor = CodeMirror.fromTextArea(document.getElementById("xu-code"), {
- lineNumbers: true,
- mode: "text/x-xu",
- });
- var msgennyEditor = CodeMirror.fromTextArea(document.getElementById("msgenny-code"), {
- lineNumbers: true,
- mode: "text/x-msgenny",
- });
- </script>
-
- <p><strong>MIME types defined:</strong>
- <code>text/x-mscgen</code>
- <code>text/x-xu</code>
- <code>text/x-msgenny</code>
- </p>
-
-</article>
diff --git a/public/vendor/codemirror/mode/mscgen/mscgen.js b/public/vendor/codemirror/mode/mscgen/mscgen.js
deleted file mode 100644
index d61b4706..00000000
--- a/public/vendor/codemirror/mode/mscgen/mscgen.js
+++ /dev/null
@@ -1,169 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-// mode(s) for the sequence chart dsl's mscgen, xù and msgenny
-// For more information on mscgen, see the site of the original author:
-// http://www.mcternan.me.uk/mscgen
-//
-// This mode for mscgen and the two derivative languages were
-// originally made for use in the mscgen_js interpreter
-// (https://sverweij.github.io/mscgen_js)
-
-(function(mod) {
- if ( typeof exports == "object" && typeof module == "object")// CommonJS
- mod(require("../../lib/codemirror"));
- else if ( typeof define == "function" && define.amd)// AMD
- define(["../../lib/codemirror"], mod);
- else// Plain browser env
- mod(CodeMirror);
-})(function(CodeMirror) {
- "use strict";
-
- var languages = {
- mscgen: {
- "keywords" : ["msc"],
- "options" : ["hscale", "width", "arcgradient", "wordwraparcs"],
- "attributes" : ["label", "idurl", "id", "url", "linecolor", "linecolour", "textcolor", "textcolour", "textbgcolor", "textbgcolour", "arclinecolor", "arclinecolour", "arctextcolor", "arctextcolour", "arctextbgcolor", "arctextbgcolour", "arcskip"],
- "brackets" : ["\\{", "\\}"], // [ and ] are brackets too, but these get handled in with lists
- "arcsWords" : ["note", "abox", "rbox", "box"],
- "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"],
- "singlecomment" : ["//", "#"],
- "operators" : ["="]
- },
- xu: {
- "keywords" : ["msc"],
- "options" : ["hscale", "width", "arcgradient", "wordwraparcs", "watermark"],
- "attributes" : ["label", "idurl", "id", "url", "linecolor", "linecolour", "textcolor", "textcolour", "textbgcolor", "textbgcolour", "arclinecolor", "arclinecolour", "arctextcolor", "arctextcolour", "arctextbgcolor", "arctextbgcolour", "arcskip"],
- "brackets" : ["\\{", "\\}"], // [ and ] are brackets too, but these get handled in with lists
- "arcsWords" : ["note", "abox", "rbox", "box", "alt", "else", "opt", "break", "par", "seq", "strict", "neg", "critical", "ignore", "consider", "assert", "loop", "ref", "exc"],
- "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"],
- "singlecomment" : ["//", "#"],
- "operators" : ["="]
- },
- msgenny: {
- "keywords" : null,
- "options" : ["hscale", "width", "arcgradient", "wordwraparcs", "watermark"],
- "attributes" : null,
- "brackets" : ["\\{", "\\}"],
- "arcsWords" : ["note", "abox", "rbox", "box", "alt", "else", "opt", "break", "par", "seq", "strict", "neg", "critical", "ignore", "consider", "assert", "loop", "ref", "exc"],
- "arcsOthers" : ["\\|\\|\\|", "\\.\\.\\.", "---", "--", "<->", "==", "<<=>>", "<=>", "\\.\\.", "<<>>", "::", "<:>", "->", "=>>", "=>", ">>", ":>", "<-", "<<=", "<=", "<<", "<:", "x-", "-x"],
- "singlecomment" : ["//", "#"],
- "operators" : ["="]
- }
- }
-
- CodeMirror.defineMode("mscgen", function(_, modeConfig) {
- var language = languages[modeConfig && modeConfig.language || "mscgen"]
- return {
- startState: startStateFn,
- copyState: copyStateFn,
- token: produceTokenFunction(language),
- lineComment : "#",
- blockCommentStart : "/*",
- blockCommentEnd : "*/"
- };
- });
-
- CodeMirror.defineMIME("text/x-mscgen", "mscgen");
- CodeMirror.defineMIME("text/x-xu", {name: "mscgen", language: "xu"});
- CodeMirror.defineMIME("text/x-msgenny", {name: "mscgen", language: "msgenny"});
-
- function wordRegexpBoundary(pWords) {
- return new RegExp("\\b(" + pWords.join("|") + ")\\b", "i");
- }
-
- function wordRegexp(pWords) {
- return new RegExp("(" + pWords.join("|") + ")", "i");
- }
-
- function startStateFn() {
- return {
- inComment : false,
- inString : false,
- inAttributeList : false,
- inScript : false
- };
- }
-
- function copyStateFn(pState) {
- return {
- inComment : pState.inComment,
- inString : pState.inString,
- inAttributeList : pState.inAttributeList,
- inScript : pState.inScript
- };
- }
-
- function produceTokenFunction(pConfig) {
-
- return function(pStream, pState) {
- if (pStream.match(wordRegexp(pConfig.brackets), true, true)) {
- return "bracket";
- }
- /* comments */
- if (!pState.inComment) {
- if (pStream.match(/\/\*[^\*\/]*/, true, true)) {
- pState.inComment = true;
- return "comment";
- }
- if (pStream.match(wordRegexp(pConfig.singlecomment), true, true)) {
- pStream.skipToEnd();
- return "comment";
- }
- }
- if (pState.inComment) {
- if (pStream.match(/[^\*\/]*\*\//, true, true))
- pState.inComment = false;
- else
- pStream.skipToEnd();
- return "comment";
- }
- /* strings */
- if (!pState.inString && pStream.match(/\"(\\\"|[^\"])*/, true, true)) {
- pState.inString = true;
- return "string";
- }
- if (pState.inString) {
- if (pStream.match(/[^\"]*\"/, true, true))
- pState.inString = false;
- else
- pStream.skipToEnd();
- return "string";
- }
- /* keywords & operators */
- if (!!pConfig.keywords && pStream.match(wordRegexpBoundary(pConfig.keywords), true, true))
- return "keyword";
-
- if (pStream.match(wordRegexpBoundary(pConfig.options), true, true))
- return "keyword";
-
- if (pStream.match(wordRegexpBoundary(pConfig.arcsWords), true, true))
- return "keyword";
-
- if (pStream.match(wordRegexp(pConfig.arcsOthers), true, true))
- return "keyword";
-
- if (!!pConfig.operators && pStream.match(wordRegexp(pConfig.operators), true, true))
- return "operator";
-
- /* attribute lists */
- if (!pConfig.inAttributeList && !!pConfig.attributes && pStream.match(/\[/, true, true)) {
- pConfig.inAttributeList = true;
- return "bracket";
- }
- if (pConfig.inAttributeList) {
- if (pConfig.attributes !== null && pStream.match(wordRegexpBoundary(pConfig.attributes), true, true)) {
- return "attribute";
- }
- if (pStream.match(/]/, true, true)) {
- pConfig.inAttributeList = false;
- return "bracket";
- }
- }
-
- pStream.next();
- return "base";
- };
- }
-
-});
diff --git a/public/vendor/codemirror/mode/mscgen/mscgen_test.js b/public/vendor/codemirror/mode/mscgen/mscgen_test.js
deleted file mode 100644
index e319a399..00000000
--- a/public/vendor/codemirror/mode/mscgen/mscgen_test.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "mscgen");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
-
- MT("empty chart",
- "[keyword msc][bracket {]",
- "[base ]",
- "[bracket }]"
- );
-
- MT("comments",
- "[comment // a single line comment]",
- "[comment # another single line comment /* and */ ignored here]",
- "[comment /* A multi-line comment even though it contains]",
- "[comment msc keywords and \"quoted text\"*/]");
-
- MT("strings",
- "[string \"// a string\"]",
- "[string \"a string running over]",
- "[string two lines\"]",
- "[string \"with \\\"escaped quote\"]"
- );
-
- MT("xù/ msgenny keywords classify as 'base'",
- "[base watermark]",
- "[base alt loop opt ref else break par seq assert]"
- );
-
- MT("mscgen options classify as keyword",
- "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]"
- );
-
- MT("mscgen arcs classify as keyword",
- "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]",
- "[keyword |||...---]", "[keyword ..--==::]",
- "[keyword ->]", "[keyword <-]", "[keyword <->]",
- "[keyword =>]", "[keyword <=]", "[keyword <=>]",
- "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]",
- "[keyword >>]", "[keyword <<]", "[keyword <<>>]",
- "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]",
- "[keyword :>]", "[keyword <:]", "[keyword <:>]"
- );
-
- MT("within an attribute list, attributes classify as attribute",
- "[bracket [[][attribute label]",
- "[attribute id]","[attribute url]","[attribute idurl]",
- "[attribute linecolor]","[attribute linecolour]","[attribute textcolor]","[attribute textcolour]","[attribute textbgcolor]","[attribute textbgcolour]",
- "[attribute arclinecolor]","[attribute arclinecolour]","[attribute arctextcolor]","[attribute arctextcolour]","[attribute arctextbgcolor]","[attribute arctextbgcolour]",
- "[attribute arcskip][bracket ]]]"
- );
-
- MT("outside an attribute list, attributes classify as base",
- "[base label]",
- "[base id]","[base url]","[base idurl]",
- "[base linecolor]","[base linecolour]","[base textcolor]","[base textcolour]","[base textbgcolor]","[base textbgcolour]",
- "[base arclinecolor]","[base arclinecolour]","[base arctextcolor]","[base arctextcolour]","[base arctextbgcolor]","[base arctextbgcolour]",
- "[base arcskip]"
- );
-
- MT("a typical program",
- "[comment # typical mscgen program]",
- "[keyword msc][base ][bracket {]",
- "[keyword wordwraparcs][operator =][string \"true\"][base , ][keyword hscale][operator =][string \"0.8\"][keyword arcgradient][operator =][base 30;]",
- "[base a][bracket [[][attribute label][operator =][string \"Entity A\"][bracket ]]][base ,]",
- "[base b][bracket [[][attribute label][operator =][string \"Entity B\"][bracket ]]][base ,]",
- "[base c][bracket [[][attribute label][operator =][string \"Entity C\"][bracket ]]][base ;]",
- "[base a ][keyword =>>][base b][bracket [[][attribute label][operator =][string \"Hello entity B\"][bracket ]]][base ;]",
- "[base a ][keyword <<][base b][bracket [[][attribute label][operator =][string \"Here's an answer dude!\"][bracket ]]][base ;]",
- "[base c ][keyword :>][base *][bracket [[][attribute label][operator =][string \"What about me?\"][base , ][attribute textcolor][operator =][base red][bracket ]]][base ;]",
- "[bracket }]"
- );
-})();
diff --git a/public/vendor/codemirror/mode/mscgen/msgenny_test.js b/public/vendor/codemirror/mode/mscgen/msgenny_test.js
deleted file mode 100644
index 80173de0..00000000
--- a/public/vendor/codemirror/mode/mscgen/msgenny_test.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-msgenny");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "msgenny"); }
-
- MT("comments",
- "[comment // a single line comment]",
- "[comment # another single line comment /* and */ ignored here]",
- "[comment /* A multi-line comment even though it contains]",
- "[comment msc keywords and \"quoted text\"*/]");
-
- MT("strings",
- "[string \"// a string\"]",
- "[string \"a string running over]",
- "[string two lines\"]",
- "[string \"with \\\"escaped quote\"]"
- );
-
- MT("xù/ msgenny keywords classify as 'keyword'",
- "[keyword watermark]",
- "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]"
- );
-
- MT("mscgen options classify as keyword",
- "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]"
- );
-
- MT("mscgen arcs classify as keyword",
- "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]",
- "[keyword |||...---]", "[keyword ..--==::]",
- "[keyword ->]", "[keyword <-]", "[keyword <->]",
- "[keyword =>]", "[keyword <=]", "[keyword <=>]",
- "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]",
- "[keyword >>]", "[keyword <<]", "[keyword <<>>]",
- "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]",
- "[keyword :>]", "[keyword <:]", "[keyword <:>]"
- );
-
- MT("within an attribute list, mscgen/ xù attributes classify as base",
- "[base [[label]",
- "[base idurl id url]",
- "[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]",
- "[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]",
- "[base arcskip]]]"
- );
-
- MT("outside an attribute list, mscgen/ xù attributes classify as base",
- "[base label]",
- "[base idurl id url]",
- "[base linecolor linecolour textcolor textcolour textbgcolor textbgcolour]",
- "[base arclinecolor arclinecolour arctextcolor arctextcolour arctextbgcolor arctextbgcolour]",
- "[base arcskip]"
- );
-
- MT("a typical program",
- "[comment # typical msgenny program]",
- "[keyword wordwraparcs][operator =][string \"true\"][base , ][keyword hscale][operator =][string \"0.8\"][base , ][keyword arcgradient][operator =][base 30;]",
- "[base a : ][string \"Entity A\"][base ,]",
- "[base b : Entity B,]",
- "[base c : Entity C;]",
- "[base a ][keyword =>>][base b: ][string \"Hello entity B\"][base ;]",
- "[base a ][keyword alt][base c][bracket {]",
- "[base a ][keyword <<][base b: ][string \"Here's an answer dude!\"][base ;]",
- "[keyword ---][base : ][string \"sorry, won't march - comm glitch\"]",
- "[base a ][keyword x-][base b: ][string \"Here's an answer dude! (won't arrive...)\"][base ;]",
- "[bracket }]",
- "[base c ][keyword :>][base *: What about me?;]"
- );
-})();
diff --git a/public/vendor/codemirror/mode/mscgen/xu_test.js b/public/vendor/codemirror/mode/mscgen/xu_test.js
deleted file mode 100644
index f9a50f0a..00000000
--- a/public/vendor/codemirror/mode/mscgen/xu_test.js
+++ /dev/null
@@ -1,75 +0,0 @@
-// CodeMirror, copyright (c) by Marijn Haverbeke and others
-// Distributed under an MIT license: http://codemirror.net/LICENSE
-
-(function() {
- var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-xu");
- function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "xu"); }
-
- MT("empty chart",
- "[keyword msc][bracket {]",
- "[base ]",
- "[bracket }]"
- );
-
- MT("comments",
- "[comment // a single line comment]",
- "[comment # another single line comment /* and */ ignored here]",
- "[comment /* A multi-line comment even though it contains]",
- "[comment msc keywords and \"quoted text\"*/]");
-
- MT("strings",
- "[string \"// a string\"]",
- "[string \"a string running over]",
- "[string two lines\"]",
- "[string \"with \\\"escaped quote\"]"
- );
-
- MT("xù/ msgenny keywords classify as 'keyword'",
- "[keyword watermark]",
- "[keyword alt]","[keyword loop]","[keyword opt]","[keyword ref]","[keyword else]","[keyword break]","[keyword par]","[keyword seq]","[keyword assert]"
- );
-
- MT("mscgen options classify as keyword",
- "[keyword hscale]", "[keyword width]", "[keyword arcgradient]", "[keyword wordwraparcs]"
- );
-
- MT("mscgen arcs classify as keyword",
- "[keyword note]","[keyword abox]","[keyword rbox]","[keyword box]",
- "[keyword |||...---]", "[keyword ..--==::]",
- "[keyword ->]", "[keyword <-]", "[keyword <->]",
- "[keyword =>]", "[keyword <=]", "[keyword <=>]",
- "[keyword =>>]", "[keyword <<=]", "[keyword <<=>>]",
- "[keyword >>]", "[keyword <<]", "[keyword <<>>]",
- "[keyword -x]", "[keyword x-]", "[keyword -X]", "[keyword X-]",
- "[keyword :>]", "[keyword <:]", "[keyword <:>]"
- );
-
- MT("within an attribute list, attributes classify as attribute",
- "[bracket [[][attribute label]",
- "[attribute id]","[attribute url]","[attribute idurl]",
- "[attribute linecolor]","[attribute linecolour]","[attribute textcolor]","[attribute textcolour]","[attribute textbgcolor]","[attribute textbgcolour]",
- "[attribute arclinecolor]","[attribute arclinecolour]","[attribute arctextcolor]","[attribute arctextcolour]","[attribute arctextbgcolor]","[attribute arctextbgcolour]",
- "[attribute arcskip][bracket ]]]"
- );
-
- MT("outside an attribute list, attributes classify as base",
- "[base label]",
- "[base id]","[base url]","[base idurl]",
- "[base linecolor]","[base linecolour]","[base textcolor]","[base textcolour]","[base textbgcolor]","[base textbgcolour]",
- "[base arclinecolor]","[base arclinecolour]","[base arctextcolor]","[base arctextcolour]","[base arctextbgcolor]","[base arctextbgcolour]",
- "[base arcskip]"
- );
-
- MT("a typical program",
- "[comment # typical mscgen program]",
- "[keyword msc][base ][bracket {]",
- "[keyword wordwraparcs][operator =][string \"true\"][keyword hscale][operator =][string \"0.8\"][keyword arcgradient][operator =][base 30;]",
- "[base a][bracket [[][attribute label][operator =][string \"Entity A\"][bracket ]]][base ,]",
- "[base b][bracket [[][attribute label][operator =][string \"Entity B\"][bracket ]]][base ,]",
- "[base c][bracket [[][attribute label][operator =][string \"Entity C\"][bracket ]]][base ;]",
- "[base a ][keyword =>>][base b][bracket [[][attribute label][operator =][string \"Hello entity B\"][bracket ]]][base ;]",
- "[base a ][keyword <<][base b][bracket [[][attribute label][operator =][string \"Here's an answer dude!\"][bracket ]]][base ;]",
- "[base c ][keyword :>][base *][bracket [[][attribute label][operator =][string \"What about me?\"][base , ][attribute textcolor][operator =][base red][bracket ]]][base ;]",
- "[bracket }]"
- );
-})();