<?xml version="1.0"?>
<!DOCTYPE MODE SYSTEM "xmode.dtd">
<!-- Drawj2d/Hcl mode, by A. Vontobel [email protected]
Built upon Tcl mode by Michael Jacobson. -->
<MODE>
<PROPS>
<PROPERTY NAME="indentOpenBrackets" VALUE="{" />
<PROPERTY NAME="indentCloseBrackets" VALUE="}" />
<PROPERTY NAME="lineUpClosingBracket" VALUE="true" />
<PROPERTY NAME="lineComment" VALUE="#" />
</PROPS>
<RULES IGNORE_CASE="FALSE" HIGHLIGHT_DIGITS="FALSE"
DIGIT_RE="0x\p{XDigit}+|\d+">
<!-- Continuation line. Processed before anything else by Tcl. (Does not work)-->
<EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="\">\\$</EOL_SPAN_REGEXP>
<!-- Comments after a ; command separator -->
<!-- Note: The ; isn't bolded as other operators. Why?-->
<EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR=";" DELEGATE="TCL_COMMENT">;\s*(?=#)</EOL_SPAN_REGEXP>
<!-- Comments at the { opening of a block -->
<SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="{" DELEGATE="TCL_COMMENT">
<BEGIN>\{\s*(?=#)</BEGIN>
<END>}</END>
</SPAN_REGEXP>
<!-- Comments on a line of their own. -->
<EOL_SPAN TYPE="COMMENT1" AT_WHITESPACE_END="TRUE">#</EOL_SPAN>
<!-- Quoted strings -->
<SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE" AT_WORD_START="TRUE" DELEGATE="TCL_STRING">
<BEGIN>"
<END>"
</SPAN>
<!-- Avoid colouring substituted variables that are homonyms of a keyword -->
<!-- Indexed array variable. Delegate to MAIN, as the index string is evaluated by Tcl.-->
<SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">
<BEGIN>\$(\w|::)+\(</BEGIN>
<END>)</END>
</SPAN_REGEXP>
<!-- General scalar variable. Do not delegate, as the ${} block content is not evalutated by Tcl. -->
<SPAN TYPE="NULL">
<BEGIN>${</BEGIN>
<END>}</END>
</SPAN>
<!-- Plain scalar variable. -->
<SEQ_REGEXP TYPE="NULL" HASH_CHAR="$">\$(\w|::)+</SEQ_REGEXP>
<!-- Sub-block -->
<SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" AT_WORD_START="TRUE" DELEGATE="MAIN">
<BEGIN>{</BEGIN>
<END>}</END>
</SPAN>
<!-- Sub-commands to be substituted -->
<SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
<BEGIN>[</BEGIN>
<END>]</END>
</SPAN>
<!-- Escaped characters -->
<SEQ TYPE="KEYWORD3">\a</SEQ>
<SEQ TYPE="KEYWORD3">\b</SEQ>
<SEQ TYPE="KEYWORD3">\f</SEQ>
<SEQ TYPE="KEYWORD3">\n</SEQ>
<SEQ TYPE="KEYWORD3">\r</SEQ>
<SEQ TYPE="KEYWORD3">\t</SEQ>
<SEQ TYPE="KEYWORD3">\v</SEQ>
<!-- Tcl syntax operators. -->
<!-- Note that "{}[]" are already caught above.-->
<!-- Delegate to main, as a new command begins after the ; -->
<SEQ TYPE="OPERATOR" DELEGATE="MAIN">;</SEQ>
<SEQ TYPE="NULL">::</SEQ>
<!-- Math expression operators -->
<SEQ TYPE="OPERATOR">=</SEQ>
<SEQ TYPE="OPERATOR">!</SEQ>
<SEQ TYPE="OPERATOR">>=</SEQ>
<SEQ TYPE="OPERATOR"><=</SEQ>
<SEQ TYPE="OPERATOR">+</SEQ>
<SEQ TYPE="OPERATOR">-</SEQ>
<SEQ TYPE="OPERATOR">/</SEQ>
<SEQ TYPE="OPERATOR">*</SEQ>
<SEQ TYPE="OPERATOR">></SEQ>
<SEQ TYPE="OPERATOR"><</SEQ>
<SEQ TYPE="OPERATOR">%</SEQ>
<SEQ TYPE="OPERATOR">&</SEQ>
<SEQ TYPE="OPERATOR">|</SEQ>
<SEQ TYPE="OPERATOR">^</SEQ>
<SEQ TYPE="OPERATOR">~</SEQ>
<KEYWORDS>
<!-- Tcl keywords, common with Hecl -->
<KEYWORD1>after</KEYWORD1>
<KEYWORD1>append</KEYWORD1>
<KEYWORD1>break</KEYWORD1>
<KEYWORD1>catch</KEYWORD1>
<KEYWORD1>close</KEYWORD1>
<KEYWORD1>continue</KEYWORD1>
<KEYWORD1>else</KEYWORD1>
<KEYWORD1>elseif</KEYWORD1>
<KEYWORD1>eval</KEYWORD1>
<KEYWORD1>exit</KEYWORD1>
<KEYWORD1>for</KEYWORD1>
<KEYWORD1>foreach</KEYWORD1>
<KEYWORD1>global</KEYWORD1>
<KEYWORD1>if</KEYWORD1>
<KEYWORD1>incr</KEYWORD1>
<KEYWORD1>join</KEYWORD1>
<KEYWORD1>lappend</KEYWORD1>
<KEYWORD1>lindex</KEYWORD1>
<KEYWORD1>list</KEYWORD1>
<KEYWORD1>llength</KEYWORD1>
<KEYWORD1>lrange</KEYWORD1>
<KEYWORD1>lset</KEYWORD1>
<KEYWORD1>open</KEYWORD1>
<KEYWORD1>proc</KEYWORD1>
<KEYWORD1>puts</KEYWORD1>
<KEYWORD1>read</KEYWORD1>
<KEYWORD1>rename</KEYWORD1>
<KEYWORD1>return</KEYWORD1>
<KEYWORD1>set</KEYWORD1>
<KEYWORD1>source</KEYWORD1>
<KEYWORD1>split</KEYWORD1>
<KEYWORD1>time</KEYWORD1>
<KEYWORD1>unset</KEYWORD1>
<KEYWORD1>while</KEYWORD1>
<!-- Hecl keywords-->
<KEYWORD1>alias</KEYWORD1>
<KEYWORD1>and</KEYWORD1>
<KEYWORD1>bgerror</KEYWORD1>
<KEYWORD1>classof</KEYWORD1>
<KEYWORD1>clock</KEYWORD1>
<KEYWORD1>copy</KEYWORD1>
<KEYWORD1>eq</KEYWORD1>
<KEYWORD1>false</KEYWORD1>
<KEYWORD1>file.readable</KEYWORD1>
<KEYWORD1>filter</KEYWORD1>
<KEYWORD1>hasclass</KEYWORD1>
<KEYWORD1>hasnext</KEYWORD1>
<KEYWORD1>hash</KEYWORD1>
<KEYWORD1>hclear</KEYWORD1>
<KEYWORD1>hcontains</KEYWORD1>
<KEYWORD1>hget</KEYWORD1>
<KEYWORD1>hkeys</KEYWORD1>
<KEYWORD1>hremove</KEYWORD1>
<KEYWORD1>hset</KEYWORD1>
<KEYWORD1>intro</KEYWORD1>
<KEYWORD1>linsert</KEYWORD1>
<KEYWORD1>llen</KEYWORD1>
<KEYWORD1>max</KEYWORD1>
<KEYWORD1>min</KEYWORD1>
<KEYWORD1>ne</KEYWORD1>
<KEYWORD1>not</KEYWORD1>
<KEYWORD1>or</KEYWORD1>
<KEYWORD1>readln</KEYWORD1>
<KEYWORD1>runtime.freememory</KEYWORD1>
<KEYWORD1>runtime.totalmemory</KEYWORD1>
<KEYWORD1>search</KEYWORD1>
<KEYWORD1>sort</KEYWORD1>
<KEYWORD1>strbytelen</KEYWORD1>
<KEYWORD1>strcmp</KEYWORD1>
<KEYWORD1>strfind</KEYWORD1>
<KEYWORD1>strindex</KEYWORD1>
<KEYWORD1>strlast</KEYWORD1>
<KEYWORD1>strlen</KEYWORD1>
<KEYWORD1>strlower</KEYWORD1>
<KEYWORD1>strrange</KEYWORD1>
<KEYWORD1>strrep</KEYWORD1>
<KEYWORD1>strreplace</KEYWORD1>
<KEYWORD1>strtrim</KEYWORD1>
<KEYWORD1>strtriml</KEYWORD1>
<KEYWORD1>strtrimr</KEYWORD1>
<KEYWORD1>strupper</KEYWORD1>
<KEYWORD1>system.gc</KEYWORD1>
<KEYWORD1>system.getproperty</KEYWORD1>
<KEYWORD1>system.hasproperty</KEYWORD1>
<KEYWORD1>thisinterp</KEYWORD1>
<KEYWORD1>throw</KEYWORD1>
<KEYWORD1>tnotify</KEYWORD1>
<KEYWORD1>true</KEYWORD1>
<KEYWORD1>twait</KEYWORD1>
<KEYWORD1>upeval</KEYWORD1>
<!-- Hecl math keywords-->
<KEYWORD1>abs</KEYWORD1>
<KEYWORD1>acos</KEYWORD1>
<KEYWORD1>asin</KEYWORD1>
<KEYWORD1>atan</KEYWORD1>
<KEYWORD1>atan2</KEYWORD1>
<KEYWORD1>cbrt</KEYWORD1>
<KEYWORD1>ceil</KEYWORD1>
<KEYWORD1>cos</KEYWORD1>
<KEYWORD1>cosh</KEYWORD1>
<KEYWORD1>double</KEYWORD1>
<KEYWORD1>exp</KEYWORD1>
<KEYWORD1>expm1</KEYWORD1>
<KEYWORD1>float</KEYWORD1>
<KEYWORD1>floor</KEYWORD1>
<KEYWORD1>hypot</KEYWORD1>
<KEYWORD1>int</KEYWORD1>
<KEYWORD1>log</KEYWORD1>
<KEYWORD1>log10</KEYWORD1>
<KEYWORD1>log1p</KEYWORD1>
<KEYWORD1>long</KEYWORD1>
<KEYWORD1>pow</KEYWORD1>
<KEYWORD1>random</KEYWORD1>
<KEYWORD1>round</KEYWORD1>
<KEYWORD1>signum</KEYWORD1>
<KEYWORD1>sin</KEYWORD1>
<KEYWORD1>sinh</KEYWORD1>
<KEYWORD1>sqrt</KEYWORD1>
<KEYWORD1>tan</KEYWORD1>
<KEYWORD1>tanh</KEYWORD1>
<KEYWORD1>toDegrees</KEYWORD1>
<KEYWORD1>toRadians</KEYWORD1>
<!-- Drawj2d keywords -->
<KEYWORD2>unitlength</KEYWORD2>
<KEYWORD2>forceunitlength</KEYWORD2>
<KEYWORD2>offset</KEYWORD2>
<KEYWORD2>here</KEYWORD2>
<KEYWORD2>r</KEYWORD2>
<KEYWORD2>mm</KEYWORD2>
<KEYWORD2>fu</KEYWORD2>
<KEYWORD2>kN</KEYWORD2>
<KEYWORD2>X</KEYWORD2>
<KEYWORD2>Y</KEYWORD2>
<KEYWORD2>FX</KEYWORD2>
<KEYWORD2>FY</KEYWORD2>
<KEYWORD2>XY</KEYWORD2>
<KEYWORD2>FXY</KEYWORD2>
<KEYWORD2>pen</KEYWORD2>
<KEYWORD2>font</KEYWORD2>
<KEYWORD2>opacity</KEYWORD2>
<KEYWORD2>today</KEYWORD2>
<KEYWORD1>nf</KEYWORD1>
<KEYWORD1>expr</KEYWORD1>
<KEYWORD1>exprinput</KEYWORD1>
<KEYWORD1>assert</KEYWORD1>
<KEYWORD2>moveto</KEYWORD2>
<KEYWORD2>m</KEYWORD2>
<KEYWORD2>movetox</KEYWORD2>
<KEYWORD2>mx</KEYWORD2>
<KEYWORD2>movetoy</KEYWORD2>
<KEYWORD2>my</KEYWORD2>
<KEYWORD2>moverel</KEYWORD2>
<KEYWORD2>mr</KEYWORD2>
<KEYWORD2>movepolar</KEYWORD2>
<KEYWORD2>mp</KEYWORD2>
<KEYWORD2>point</KEYWORD2>
<KEYWORD2>pt</KEYWORD2>
<KEYWORD2>dot</KEYWORD2>
<KEYWORD2>line</KEYWORD2>
<KEYWORD2>lineto</KEYWORD2>
<KEYWORD2>l</KEYWORD2>
<KEYWORD2>linetox</KEYWORD2>
<KEYWORD2>lx</KEYWORD2>
<KEYWORD2>linetoy</KEYWORD2>
<KEYWORD2>ly</KEYWORD2>
<KEYWORD2>linerel</KEYWORD2>
<KEYWORD2>lr</KEYWORD2>
<KEYWORD2>linepolar</KEYWORD2>
<KEYWORD2>lp</KEYWORD2>
<KEYWORD2>linemid</KEYWORD2>
<KEYWORD2>lm</KEYWORD2>
<KEYWORD2>arc</KEYWORD2>
<KEYWORD2>quadcurve</KEYWORD2>
<KEYWORD2>parabola</KEYWORD2>
<KEYWORD2>cubiccurve</KEYWORD2>
<KEYWORD2>circle</KEYWORD2>
<KEYWORD2>fillcircle</KEYWORD2>
<KEYWORD2>ellipse</KEYWORD2>
<KEYWORD2>fillellipse</KEYWORD2>
<KEYWORD2>rectangle</KEYWORD2>
<KEYWORD2>rect</KEYWORD2>
<KEYWORD2>fillrectangle</KEYWORD2>
<KEYWORD2>fillrect</KEYWORD2>
<KEYWORD2>box</KEYWORD2>
<KEYWORD2>fillbox</KEYWORD2>
<KEYWORD2>rod</KEYWORD2>
<KEYWORD2>fillrod</KEYWORD2>
<KEYWORD2>polygon</KEYWORD2>
<KEYWORD2>fillpolygon</KEYWORD2>
<KEYWORD2>segment</KEYWORD2>
<KEYWORD2>fillsegment</KEYWORD2>
<KEYWORD2>sector</KEYWORD2>
<KEYWORD2>fillsector</KEYWORD2>
<KEYWORD2>image</KEYWORD2>
<KEYWORD2>dxf</KEYWORD2>
<KEYWORD2>label</KEYWORD2>
<KEYWORD2>lb</KEYWORD2>
<KEYWORD2>texlabel</KEYWORD2>
<KEYWORD2>tlb</KEYWORD2>
<KEYWORD2>text</KEYWORD2>
<KEYWORD2>arrow</KEYWORD2>
<KEYWORD2>arrowto</KEYWORD2>
<KEYWORD2>arrows</KEYWORD2>
<KEYWORD2>arrowsto</KEYWORD2>
<KEYWORD2>arrowrel</KEYWORD2>
<KEYWORD2>arrowsrel</KEYWORD2>
<KEYWORD2>force</KEYWORD2>
<KEYWORD2>texforce</KEYWORD2>
<KEYWORD2>force2</KEYWORD2>
<KEYWORD2>texforce2</KEYWORD2>
<KEYWORD2>dimline</KEYWORD2>
<KEYWORD2>dimlineto</KEYWORD2>
<KEYWORD2>texdimline</KEYWORD2>
<KEYWORD2>texdimlineto</KEYWORD2>
<KEYWORD2>dimlinerel</KEYWORD2>
<KEYWORD2>texdimlinerel</KEYWORD2>
<KEYWORD2>dimangle</KEYWORD2>
<KEYWORD2>texdimangle</KEYWORD2>
<KEYWORD2>endblock</KEYWORD2>
<KEYWORD2>block.rotate</KEYWORD2>
<KEYWORD2>block.flip</KEYWORD2>
<KEYWORD2>block.scale</KEYWORD2>
<KEYWORD2>block</KEYWORD2>
<KEYWORD2>geom.vector</KEYWORD2>
<KEYWORD2>geom.v</KEYWORD2>
<KEYWORD2>geom.azimuth</KEYWORD2>
<KEYWORD2>geom.azi</KEYWORD2>
<KEYWORD2>geom.add</KEYWORD2>
<KEYWORD2>geom.subtract</KEYWORD2>
<KEYWORD2>geom.multiply</KEYWORD2>
<KEYWORD2>geom.divide</KEYWORD2>
<KEYWORD2>geom.half</KEYWORD2>
<KEYWORD2>geom.tox</KEYWORD2>
<KEYWORD2>tx</KEYWORD2>
<KEYWORD2>geom.toy</KEYWORD2>
<KEYWORD2>ty</KEYWORD2>
<KEYWORD2>geom.intersect</KEYWORD2>
<KEYWORD2>geom.area</KEYWORD2>
<KEYWORD2>geom.centroid</KEYWORD2>
<KEYWORD2>geom.intersectlinepath</KEYWORD2>
<KEYWORD2>geom.intersectcircles</KEYWORD2>
<KEYWORD2>geom.online</KEYWORD2>
<KEYWORD2>geom.angle</KEYWORD2>
<KEYWORD2>geom.anglerad</KEYWORD2>
<KEYWORD2>geom.crossproduct</KEYWORD2>
<KEYWORD2>geom.dotproduct</KEYWORD2>
<KEYWORD2>geom.rotate</KEYWORD2>
<KEYWORD2>geom.polar</KEYWORD2>
<KEYWORD2>geom.length</KEYWORD2>
<KEYWORD2>geom.abs</KEYWORD2>
<KEYWORD2>geom.norm</KEYWORD2>
<KEYWORD2>geom.parallel</KEYWORD2>
<KEYWORD2>geom.extend</KEYWORD2>
<KEYWORD2>geom.distance</KEYWORD2>
<KEYWORD2>geom.dist</KEYWORD2>
<KEYWORD2>stat.add</KEYWORD2>
<KEYWORD2>stat.subtract</KEYWORD2>
<KEYWORD2>stat.multiply</KEYWORD2>
<KEYWORD2>stat.move</KEYWORD2>
<KEYWORD2>stat.move2</KEYWORD2>
<KEYWORD2>stat.actionline</KEYWORD2>
<KEYWORD2>stat.tip</KEYWORD2>
<KEYWORD2>stat.abs</KEYWORD2>
<KEYWORD2>stat.distance</KEYWORD2>
<KEYWORD2>stat.dist</KEYWORD2>
<KEYWORD2>stat.moment</KEYWORD2>
<KEYWORD2>stat.mequi</KEYWORD2>
<KEYWORD2>stat.equi</KEYWORD2>
<KEYWORD2>stat.fequi</KEYWORD2>
<!-- Global variables-->
<!-- Common arguments to Drawj2d -->
<KEYWORD3>black</KEYWORD3>
<KEYWORD3>blue</KEYWORD3>
<KEYWORD3>brown</KEYWORD3>
<KEYWORD3>cyan</KEYWORD3>
<KEYWORD3>darkgray</KEYWORD3>
<KEYWORD3>darkgreen</KEYWORD3>
<KEYWORD3>darkorange</KEYWORD3>
<KEYWORD3>gray</KEYWORD3>
<KEYWORD3>green</KEYWORD3>
<KEYWORD3>lightgray</KEYWORD3>
<KEYWORD3>magenta</KEYWORD3>
<KEYWORD3>orange</KEYWORD3>
<KEYWORD3>pink</KEYWORD3>
<KEYWORD3>purple</KEYWORD3>
<KEYWORD3>red</KEYWORD3>
<KEYWORD3>violet</KEYWORD3>
<KEYWORD3>white</KEYWORD3>
<KEYWORD3>yellow</KEYWORD3>
<KEYWORD3>dashed</KEYWORD3>
<KEYWORD3>dotted</KEYWORD3>
<KEYWORD3>dashdotted</KEYWORD3>
<KEYWORD3>solid</KEYWORD3>
<KEYWORD3>Serif</KEYWORD3>
<KEYWORD3>SansSerif</KEYWORD3>
<KEYWORD3>Monospaced</KEYWORD3>
<KEYWORD3>Tex</KEYWORD3>
<KEYWORD3>plain</KEYWORD3>
<KEYWORD3>bold</KEYWORD3>
<KEYWORD3>italic</KEYWORD3>
<KEYWORD3>left</KEYWORD3>
<KEYWORD3>justify</KEYWORD3>
<KEYWORD3>NE</KEYWORD3>
<KEYWORD3>E</KEYWORD3>
<KEYWORD3>SE</KEYWORD3>
<KEYWORD3>S</KEYWORD3>
<KEYWORD3>SW</KEYWORD3>
<KEYWORD3>W</KEYWORD3>
<KEYWORD3>NW</KEYWORD3>
<KEYWORD3>N</KEYWORD3>
<KEYWORD3>C</KEYWORD3>
<KEYWORD3>BW</KEYWORD3>
<KEYWORD3>BC</KEYWORD3>
<KEYWORD3>BL</KEYWORD3>
<KEYWORD3>BLC</KEYWORD3>
</KEYWORDS>
</RULES>
<RULES SET="TCL_COMMENT" DEFAULT="OPERATOR">
<!-- Allows catching blocks starting with a comment.
or comments following a ; -->
<SEQ_REGEXP TYPE="COMMENT1" HASH_CHAR="#" DELEGATE="MAIN">#.*</SEQ_REGEXP>
</RULES>
<RULES SET="TCL_STRING" DEFAULT="LITERAL1" ESCAPE="\">
<PROPS>
<PROPERTY NAME="indentOpenBrackets" VALUE="" />
<PROPERTY NAME="indentCloseBrackets" VALUE="" />
</PROPS>
<!-- Continuation line. Processed before anything else by Tcl.-->
<EOL_SPAN_REGEXP TYPE="OPERATOR" HASH_CHAR="\">\\$</EOL_SPAN_REGEXP>
<!-- Avoid colouring variables substituted inside strings -->
<SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">
<BEGIN>\$(\w|::)+\(</BEGIN>
<END>)</END>
</SPAN_REGEXP>
<SPAN_REGEXP TYPE="NULL" HASH_CHAR="$" DELEGATE="MAIN">
<BEGIN>\$\{</BEGIN>
<END>}</END>
</SPAN_REGEXP>
<SEQ_REGEXP TYPE="NULL" HASH_CHAR="$">\$(\w|::)+</SEQ_REGEXP>
<!-- Sub-commands to be substituted -->
<SPAN TYPE="OPERATOR" NO_LINE_BREAK="FALSE" DELEGATE="MAIN">
<BEGIN>[</BEGIN>
<END>]</END>
</SPAN>
<!-- Escaped characters -->
<SEQ TYPE="KEYWORD3">\a</SEQ>
<SEQ TYPE="KEYWORD3">\b</SEQ>
<SEQ TYPE="KEYWORD3">\f</SEQ>
<SEQ TYPE="KEYWORD3">\n</SEQ>
<SEQ TYPE="KEYWORD3">\r</SEQ>
<SEQ TYPE="KEYWORD3">\t</SEQ>
<SEQ TYPE="KEYWORD3">\v</SEQ>
</RULES>
</MODE>
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|