1<?php
2/*************************************************************************************
3 * asymptote.php
4 * -------------
5 * Author: Manuel Yguel (manuel.yguel.robotics@gmail.com)
6 * Copyright: (c) 2012 Manuel Yguel (http://manuelyguel.eu)
7 * Release Version: 1.0.9.1
8 * Date Started: 2012/05/24
9 *
10 * asymptote language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2012/05/24 (1.0.0.0)
15 *  -  First Release
16 *
17 * TODO (updated 2012/05/24)
18 * -------------------------
19 * * Split to several files - php4, php5 etc
20 *
21 *************************************************************************************
22 *
23 *     This file is part of GeSHi.
24 *
25 *   GeSHi is free software; you can redistribute it and/or modify
26 *   it under the terms of the GNU General Public License as published by
27 *   the Free Software Foundation; either version 2 of the License, or
28 *   (at your option) any later version.
29 *
30 *   GeSHi is distributed in the hope that it will be useful,
31 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
32 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33 *   GNU General Public License for more details.
34 *
35 *   You should have received a copy of the GNU General Public License
36 *   along with GeSHi; if not, write to the Free Software
37 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
38 * ************************************************************************************/
39
40$language_data = array(
41    'LANG_NAME' => 'asymptote',
42    'COMMENT_SINGLE' => array(1 => '//'),
43    'COMMENT_MULTI' => array('/*' => '*/'),
44    'COMMENT_REGEXP' => array(
45        //Multiline-continued single-line comments
46        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
47        //Multiline-continued preprocessor define
48        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m'
49    ),
50    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
51    'QUOTEMARKS' => array("'", '"'),
52    'ESCAPE_CHAR' => '',
53    'ESCAPE_REGEXP' => array(
54        //Simple Single Char Escapes
55        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
56        //Hexadecimal Char Specs
57        2 => "#\\\\x[\da-fA-F]{2}#",
58        //Hexadecimal Char Specs
59        3 => "#\\\\u[\da-fA-F]{4}#",
60        //Hexadecimal Char Specs
61        4 => "#\\\\U[\da-fA-F]{8}#",
62        //Octal Char Specs
63        5 => "#\\\\[0-7]{1,3}#"
64    ),
65    'NUMBERS' =>
66        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
67        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
68        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
69    'KEYWORDS' => array(
70        1 => array(
71            'and',
72            'controls',
73            'tension',
74            'atleast',
75            'curl',
76            'if',
77            'else',
78            'while',
79            'for',
80            'do',
81            'return',
82            'break',
83            'continue',
84            'struct',
85            'typedef',
86            'new',
87            'access',
88            'import',
89            'unravel',
90            'from',
91            'include',
92            'quote',
93            'static',
94            'public',
95            'private',
96            'restricted',
97            'this',
98            'explicit',
99            'true',
100            'false',
101            'null',
102            'cycle',
103            'newframe',
104            'operator'
105        ),
106        2 => array(
107            'Braid',
108            'FitResult',
109            'Label',
110            'Legend',
111            'Segment',
112            'Solution',
113            'TreeNode',
114            'abscissa',
115            'arrowhead',
116            'binarytree',
117            'binarytreeNode',
118            'block',
119            'bool',
120            'bool3',
121            'bounds',
122            'bqe',
123            'circle',
124            'conic',
125            'coord',
126            'coordsys',
127            'cputime',
128            'ellipse',
129            'file',
130            'filltype',
131            'frame',
132            'grid3',
133            'guide',
134            'horner',
135            'hsv',
136            'hyperbola',
137            'indexedTransform',
138            'int',
139            'inversion',
140            'key',
141            'light',
142            'line',
143            'linefit',
144            'marginT',
145            'marker',
146            'mass',
147            'object',
148            'pair',
149            'parabola',
150            'path',
151            'path3',
152            'pen',
153            'picture',
154            'point',
155            'position',
156            'projection',
157            'real',
158            'revolution',
159            'scaleT',
160            'scientific',
161            'segment',
162            'side',
163            'slice',
164            'solution',
165            'splitface',
166            'string',
167            'surface',
168            'tensionSpecifier',
169            'ticklocate',
170            'ticksgridT',
171            'tickvalues',
172            'transform',
173            'transformation',
174            'tree',
175            'triangle',
176            'trilinear',
177            'triple',
178            'vector',
179            'vertex',
180            'void'),
181
182        3 => array(
183            'AND',
184            'Arc',
185            'ArcArrow',
186            'ArcArrows',
187            'Arrow',
188            'Arrows',
189            'Automatic',
190            'AvantGarde',
191            'BBox',
192            'BWRainbow',
193            'BWRainbow2',
194            'Bar',
195            'Bars',
196            'BeginArcArrow',
197            'BeginArrow',
198            'BeginBar',
199            'BeginDotMargin',
200            'BeginMargin',
201            'BeginPenMargin',
202            'Blank',
203            'Bookman',
204            'Bottom',
205            'BottomTop',
206            'Bounds',
207            'Break',
208            'Broken',
209            'BrokenLog',
210            'CLZ',
211            'CTZ',
212            'Ceil',
213            'Circle',
214            'CircleBarIntervalMarker',
215            'Cos',
216            'Courier',
217            'CrossIntervalMarker',
218            'DOSendl',
219            'DOSnewl',
220            'DefaultFormat',
221            'DefaultLogFormat',
222            'Degrees',
223            'Dir',
224            'DotMargin',
225            'DotMargins',
226            'Dotted',
227            'Draw',
228            'Drawline',
229            'Embed',
230            'EndArcArrow',
231            'EndArrow',
232            'EndBar',
233            'EndDotMargin',
234            'EndMargin',
235            'EndPenMargin',
236            'Fill',
237            'FillDraw',
238            'Floor',
239            'Format',
240            'Full',
241            'Gaussian',
242            'Gaussrand',
243            'Gaussrandpair',
244            'Gradient',
245            'Grayscale',
246            'Helvetica',
247            'Hermite',
248            'HookHead',
249            'InOutTicks',
250            'InTicks',
251            'Jn',
252            'Landscape',
253            'Left',
254            'LeftRight',
255            'LeftTicks',
256            'Linear',
257            'Link',
258            'Log',
259            'LogFormat',
260            'Margin',
261            'Margins',
262            'Mark',
263            'MidArcArrow',
264            'MidArrow',
265            'NOT',
266            'NewCenturySchoolBook',
267            'NoBox',
268            'NoMargin',
269            'NoModifier',
270            'NoTicks',
271            'NoTicks3',
272            'NoZero',
273            'NoZeroFormat',
274            'None',
275            'OR',
276            'OmitFormat',
277            'OmitTick',
278            'OmitTickInterval',
279            'OmitTickIntervals',
280            'OutTicks',
281            'Ox',
282            'Oy',
283            'Palatino',
284            'PaletteTicks',
285            'Pen',
286            'PenMargin',
287            'PenMargins',
288            'Pentype',
289            'Portrait',
290            'RadialShade',
291            'RadialShadeDraw',
292            'Rainbow',
293            'Range',
294            'Relative',
295            'Right',
296            'RightTicks',
297            'Rotate',
298            'Round',
299            'SQR',
300            'Scale',
301            'ScaleX',
302            'ScaleY',
303            'ScaleZ',
304            'Seascape',
305            'Shift',
306            'Sin',
307            'Slant',
308            'Spline',
309            'StickIntervalMarker',
310            'Straight',
311            'Symbol',
312            'Tan',
313            'TeXify',
314            'Ticks',
315            'Ticks3',
316            'TildeIntervalMarker',
317            'TimesRoman',
318            'Top',
319            'TrueMargin',
320            'UnFill',
321            'UpsideDown',
322            'Wheel',
323            'X',
324            'XEquals',
325            'XOR',
326            'XY',
327            'XYEquals',
328            'XYZero',
329            'XYgrid',
330            'XZEquals',
331            'XZZero',
332            'XZero',
333            'XZgrid',
334            'Y',
335            'YEquals',
336            'YXgrid',
337            'YZ',
338            'YZEquals',
339            'YZZero',
340            'YZero',
341            'YZgrid',
342            'Yn',
343            'Z',
344            'ZX',
345            'ZXgrid',
346            'ZYgrid',
347            'ZapfChancery',
348            'ZapfDingbats',
349            '_begingroup3',
350            '_cputime',
351            '_draw',
352            '_eval',
353            '_image',
354            '_labelpath',
355            '_projection',
356            '_strokepath',
357            '_texpath',
358            'aCos',
359            'aSin',
360            'aTan',
361            'abort',
362            'abs',
363            'accel',
364            'acos',
365            'acosh',
366            'acot',
367            'acsc',
368            'activatequote',
369            'add',
370            'addArrow',
371            'addMargins',
372            'addSaveFunction',
373            'addpenarc',
374            'addpenline',
375            'adjust',
376            'alias',
377            'align',
378            'all',
379            'altitude',
380            'angabscissa',
381            'angle',
382            'angpoint',
383            'animate',
384            'annotate',
385            'anticomplementary',
386            'antipedal',
387            'apply',
388            'approximate',
389            'arc',
390            'arcarrowsize',
391            'arccircle',
392            'arcdir',
393            'arcfromcenter',
394            'arcfromfocus',
395            'arclength',
396            'arcnodesnumber',
397            'arcpoint',
398            'arcsubtended',
399            'arcsubtendedcenter',
400            'arctime',
401            'arctopath',
402            'array',
403            'arrow',
404            'arrow2',
405            'arrowbase',
406            'arrowbasepoints',
407            'arrowsize',
408            'asec',
409            'asin',
410            'asinh',
411            'ask',
412            'assert',
413            'asy',
414            'asycode',
415            'asydir',
416            'asyfigure',
417            'asyfilecode',
418            'asyinclude',
419            'asywrite',
420            'atan',
421            'atan2',
422            'atanh',
423            'atbreakpoint',
424            'atexit',
425            'attach',
426            'attract',
427            'atupdate',
428            'autoformat',
429            'autoscale',
430            'autoscale3',
431            'axes',
432            'axes3',
433            'axialshade',
434            'axis',
435            'axiscoverage',
436            'azimuth',
437            'babel',
438            'bangles',
439            'bar',
440            'barmarksize',
441            'barsize',
442            'baseline',
443            'bbox',
444            'beep',
445            'begin',
446            'beginclip',
447            'begingroup',
448            'beginpoint',
449            'between',
450            'bevel',
451            'bezier',
452            'bezierP',
453            'bezierPP',
454            'bezierPPP',
455            'bezulate',
456            'bibliography',
457            'bibliographystyle',
458            'binomial',
459            'binput',
460            'bins',
461            'bisector',
462            'bisectorpoint',
463            'bispline',
464            'blend',
465            'blockconnector',
466            'boutput',
467            'box',
468            'breakpoint',
469            'breakpoints',
470            'brick',
471            'buildRestoreDefaults',
472            'buildRestoreThunk',
473            'buildcycle',
474            'bulletcolor',
475            'byte',
476            'calculateScaling',
477            'canonical',
478            'canonicalcartesiansystem',
479            'cartesiansystem',
480            'case1',
481            'case2',
482            'case3',
483            'case4',
484            'cbrt',
485            'cd',
486            'ceil',
487            'center',
488            'centerToFocus',
489            'centroid',
490            'cevian',
491            'change2',
492            'changecoordsys',
493            'checkSegment',
494            'checkconditionlength',
495            'checker',
496            'checkincreasing',
497            'checklengths',
498            'checkposition',
499            'checktriangle',
500            'choose',
501            'circlebarframe',
502            'circlemarkradius',
503            'circlenodesnumber',
504            'circumcenter',
505            'circumcircle',
506            'clamped',
507            'clear',
508            'clip',
509            'clipdraw',
510            'close',
511            'cmyk',
512            'code',
513            'colatitude',
514            'collect',
515            'collinear',
516            'color',
517            'colorless',
518            'colors',
519            'colorspace',
520            'comma',
521            'compassmark',
522            'complement',
523            'complementary',
524            'concat',
525            'concurrent',
526            'cone',
527            'conicnodesnumber',
528            'conictype',
529            'conj',
530            'connect',
531            'connected',
532            'connectedindex',
533            'containmentTree',
534            'contains',
535            'contour',
536            'contour3',
537            'contouredges',
538            'controlSpecifier',
539            'convert',
540            'coordinates',
541            'copy',
542            'copyPairOrTriple',
543            'cos',
544            'cosh',
545            'cot',
546            'countIntersections',
547            'crop',
548            'cropcode',
549            'cross',
550            'crossframe',
551            'crosshatch',
552            'crossmarksize',
553            'csc',
554            'cubicroots',
555            'curabscissa',
556            'curlSpecifier',
557            'curpoint',
558            'currentarrow',
559            'currentexitfunction',
560            'currentmomarrow',
561            'currentpolarconicroutine',
562            'curve',
563            'cut',
564            'cutafter',
565            'cutbefore',
566            'cyclic',
567            'cylinder',
568            'deactivatequote',
569            'debugger',
570            'deconstruct',
571            'defaultdir',
572            'defined',
573            'degenerate',
574            'degrees',
575            'delete',
576            'deletepreamble',
577            'determinant',
578            'diagonal',
579            'diamond',
580            'diffdiv',
581            'dir',
582            'dirSpecifier',
583            'dirtime',
584            'display',
585            'distance',
586            'divisors',
587            'do_overpaint',
588            'dotsize',
589            'downcase',
590            'draw',
591            'drawAll',
592            'drawDoubleLine',
593            'drawFermion',
594            'drawGhost',
595            'drawGluon',
596            'drawMomArrow',
597            'drawPRCcylinder',
598            'drawPRCdisk',
599            'drawPRCsphere',
600            'drawPRCtube',
601            'drawPhoton',
602            'drawScalar',
603            'drawVertex',
604            'drawVertexBox',
605            'drawVertexBoxO',
606            'drawVertexBoxX',
607            'drawVertexO',
608            'drawVertexOX',
609            'drawVertexTriangle',
610            'drawVertexTriangleO',
611            'drawVertexX',
612            'drawarrow',
613            'drawarrow2',
614            'drawline',
615            'drawpixel',
616            'drawtick',
617            'duplicate',
618            'elle',
619            'ellipsenodesnumber',
620            'embed',
621            'embed3',
622            'empty',
623            'enclose',
624            'end',
625            'endScript',
626            'endclip',
627            'endgroup',
628            'endgroup3',
629            'endl',
630            'endpoint',
631            'endpoints',
632            'eof',
633            'eol',
634            'equation',
635            'equations',
636            'erase',
637            'erasestep',
638            'erf',
639            'erfc',
640            'error',
641            'errorbar',
642            'errorbars',
643            'eval',
644            'excenter',
645            'excircle',
646            'exit',
647            'exitXasyMode',
648            'exitfunction',
649            'exp',
650            'expfactors',
651            'expi',
652            'expm1',
653            'exradius',
654            'extend',
655            'extension',
656            'extouch',
657            'fabs',
658            'factorial',
659            'fermat',
660            'fft',
661            'fhorner',
662            'figure',
663            'filecode',
664            'fill',
665            'filldraw',
666            'filloutside',
667            'fillrule',
668            'find',
669            'finite',
670            'finiteDifferenceJacobian',
671            'firstcut',
672            'firstframe',
673            'fit',
674            'fit2',
675            'fixedscaling',
676            'floor',
677            'flush',
678            'fmdefaults',
679            'fmod',
680            'focusToCenter',
681            'font',
682            'fontcommand',
683            'fontsize',
684            'foot',
685            'format',
686            'frac',
687            'frequency',
688            'fromCenter',
689            'fromFocus',
690            'fspline',
691            'functionshade',
692            'gamma',
693            'generate_random_backtrace',
694            'generateticks',
695            'gergonne',
696            'getc',
697            'getint',
698            'getpair',
699            'getreal',
700            'getstring',
701            'gettriple',
702            'gluon',
703            'gouraudshade',
704            'graph',
705            'graphic',
706            'gray',
707            'grestore',
708            'grid',
709            'gsave',
710            'halfbox',
711            'hatch',
712            'hdiffdiv',
713            'hermite',
714            'hex',
715            'histogram',
716            'history',
717            'hline',
718            'hprojection',
719            'hyperbolanodesnumber',
720            'hyperlink',
721            'hypot',
722            'identity',
723            'image',
724            'incenter',
725            'incentral',
726            'incircle',
727            'increasing',
728            'incrementposition',
729            'indexedfigure',
730            'initXasyMode',
731            'initdefaults',
732            'input',
733            'inradius',
734            'insert',
735            'inside',
736            'integrate',
737            'interactive',
738            'interior',
739            'interp',
740            'interpolate',
741            'intersect',
742            'intersection',
743            'intersectionpoint',
744            'intersectionpoints',
745            'intersections',
746            'intouch',
747            'inverse',
748            'invisible',
749            'is3D',
750            'isCCW',
751            'isDuplicate',
752            'isogonal',
753            'isogonalconjugate',
754            'isotomic',
755            'isotomicconjugate',
756            'isparabola',
757            'italic',
758            'item',
759            'jobname',
760            'kurtosis',
761            'kurtosisexcess',
762            'label',
763            'labelaxis',
764            'labelmargin',
765            'labelpath',
766            'labels',
767            'labeltick',
768            'labelx',
769            'labelx3',
770            'labely',
771            'labely3',
772            'labelz',
773            'labelz3',
774            'lastcut',
775            'latex',
776            'latitude',
777            'latticeshade',
778            'layer',
779            'layout',
780            'ldexp',
781            'leastsquares',
782            'legend',
783            'legenditem',
784            'length',
785            'lexorder',
786            'lift',
787            'limits',
788            'linear',
789            'linecap',
790            'lineinversion',
791            'linejoin',
792            'linemargin',
793            'lineskip',
794            'linetype',
795            'linewidth',
796            'link',
797            'list',
798            'lm_enorm',
799            'lm_evaluate_default',
800            'lm_lmdif',
801            'lm_lmpar',
802            'lm_minimize',
803            'lm_print_default',
804            'lm_print_quiet',
805            'lm_qrfac',
806            'lm_qrsolv',
807            'locale',
808            'locate',
809            'locatefile',
810            'location',
811            'log',
812            'log10',
813            'log1p',
814            'logaxiscoverage',
815            'longitude',
816            'lookup',
817            'makeNode',
818            'makedraw',
819            'makepen',
820            'map',
821            'margin',
822            'markangle',
823            'markarc',
824            'markinterval',
825            'marknodes',
826            'markrightangle',
827            'markuniform',
828            'masscenter',
829            'massformat',
830            'math',
831            'max',
832            'max3',
833            'maxAfterTransform',
834            'maxbezier',
835            'maxbound',
836            'maxcoords',
837            'maxlength',
838            'maxratio',
839            'maxtimes',
840            'mean',
841            'medial',
842            'median',
843            'midpoint',
844            'min',
845            'min3',
846            'minAfterTransform',
847            'minbezier',
848            'minbound',
849            'minipage',
850            'minratio',
851            'mintimes',
852            'miterlimit',
853            'mktemp',
854            'momArrowPath',
855            'momarrowsize',
856            'monotonic',
857            'multifigure',
858            'nativeformat',
859            'natural',
860            'needshipout',
861            'newl',
862            'newpage',
863            'newslide',
864            'newton',
865            'newtree',
866            'nextframe',
867            'nextnormal',
868            'nextpage',
869            'nib',
870            'nodabscissa',
871            'none',
872            'norm',
873            'normalvideo',
874            'notaknot',
875            'nowarn',
876            'numberpage',
877            'nurb',
878            'offset',
879            'onpath',
880            'opacity',
881            'opposite',
882            'orientation',
883            'origin',
884            'orthic',
885            'orthocentercenter',
886            'outformat',
887            'outline',
888            'outname',
889            'outprefix',
890            'output',
891            'overloadedMessage',
892            'overwrite',
893            'pack',
894            'pad',
895            'pairs',
896            'palette',
897            'parabolanodesnumber',
898            'parallel',
899            'parallelogram',
900            'partialsum',
901            'pattern',
902            'pause',
903            'pdf',
904            'pedal',
905            'periodic',
906            'perp',
907            'perpendicular',
908            'perpendicularmark',
909            'phantom',
910            'phi1',
911            'phi2',
912            'phi3',
913            'photon',
914            'piecewisestraight',
915            'polar',
916            'polarconicroutine',
917            'polargraph',
918            'polygon',
919            'postcontrol',
920            'postscript',
921            'pow10',
922            'ppoint',
923            'prc',
924            'prc0',
925            'precision',
926            'precontrol',
927            'prepend',
928            'printBytecode',
929            'print_random_addresses',
930            'project',
931            'purge',
932            'pwhermite',
933            'quadrant',
934            'quadraticroots',
935            'quantize',
936            'quarticroots',
937            'quotient',
938            'radialshade',
939            'radians',
940            'radicalcenter',
941            'radicalline',
942            'radius',
943            'rand',
944            'randompath',
945            'rd',
946            'readline',
947            'realmult',
948            'realquarticroots',
949            'rectangle',
950            'rectangular',
951            'rectify',
952            'reflect',
953            'relabscissa',
954            'relative',
955            'relativedistance',
956            'reldir',
957            'relpoint',
958            'reltime',
959            'remainder',
960            'remark',
961            'removeDuplicates',
962            'rename',
963            'replace',
964            'report',
965            'resetdefaultpen',
966            'restore',
967            'restoredefaults',
968            'reverse',
969            'reversevideo',
970            'rf',
971            'rfind',
972            'rgb',
973            'rgba',
974            'rgbint',
975            'rms',
976            'rotate',
977            'rotateO',
978            'rotation',
979            'round',
980            'roundbox',
981            'roundedpath',
982            'roundrectangle',
983            'same',
984            'samecoordsys',
985            'sameside',
986            'sample',
987            'save',
988            'savedefaults',
989            'saveline',
990            'scale',
991            'scale3',
992            'scaleO',
993            'scaleless',
994            'search',
995            'searchindex',
996            'searchtree',
997            'sec',
998            'secondaryX',
999            'secondaryY',
1000            'seconds',
1001            'section',
1002            'sector',
1003            'seek',
1004            'seekeof',
1005            'sequence',
1006            'setcontour',
1007            'setpens',
1008            'sgn',
1009            'sgnd',
1010            'sharpangle',
1011            'sharpdegrees',
1012            'shift',
1013            'shiftless',
1014            'shipout',
1015            'shipout3',
1016            'show',
1017            'simeq',
1018            'simpson',
1019            'sin',
1020            'sinh',
1021            'size',
1022            'size3',
1023            'skewness',
1024            'skip',
1025            'slant',
1026            'sleep',
1027            'slope',
1028            'slopefield',
1029            'solve',
1030            'solveBVP',
1031            'sort',
1032            'sourceline',
1033            'sphere',
1034            'split',
1035            'sqrt',
1036            'square',
1037            'srand',
1038            'standardizecoordsys',
1039            'startScript',
1040            'stdev',
1041            'step',
1042            'stickframe',
1043            'stickmarksize',
1044            'stickmarkspace',
1045            'stop',
1046            'straight',
1047            'straightness',
1048            'stripdirectory',
1049            'stripextension',
1050            'stripfile',
1051            'stripsuffix',
1052            'strokepath',
1053            'subdivide',
1054            'subitem',
1055            'subpath',
1056            'substr',
1057            'sum',
1058            'symmedial',
1059            'symmedian',
1060            'system',
1061            'tab',
1062            'tableau',
1063            'tan',
1064            'tangent',
1065            'tangential',
1066            'tangents',
1067            'tanh',
1068            'tell',
1069            'tensorshade',
1070            'tex',
1071            'texcolor',
1072            'texify',
1073            'texpath',
1074            'texpreamble',
1075            'texreset',
1076            'texshipout',
1077            'texsize',
1078            'textpath',
1079            'thick',
1080            'thin',
1081            'tick',
1082            'tickMax',
1083            'tickMax3',
1084            'tickMin',
1085            'tickMin3',
1086            'ticklabelshift',
1087            'tildeframe',
1088            'tildemarksize',
1089            'tile',
1090            'tiling',
1091            'time',
1092            'times',
1093            'title',
1094            'titlepage',
1095            'topbox',
1096            'transpose',
1097            'trembleFuzz',
1098            'triangleAbc',
1099            'triangleabc',
1100            'triangulate',
1101            'tricoef',
1102            'tridiagonal',
1103            'trim',
1104            'truepoint',
1105            'tube',
1106            'uncycle',
1107            'unfill',
1108            'uniform',
1109            'unique',
1110            'unit',
1111            'unitrand',
1112            'unitsize',
1113            'unityroot',
1114            'unstraighten',
1115            'upcase',
1116            'updatefunction',
1117            'uperiodic',
1118            'upscale',
1119            'uptodate',
1120            'usepackage',
1121            'usersetting',
1122            'usetypescript',
1123            'usleep',
1124            'value',
1125            'variance',
1126            'variancebiased',
1127            'vbox',
1128            'vectorfield',
1129            'verbatim',
1130            'view',
1131            'vperiodic',
1132            'vprojection',
1133            'warn',
1134            'warning',
1135            'windingnumber',
1136            'write',
1137            'xaxis',
1138            'xaxis3',
1139            'xaxis3At',
1140            'xaxisAt',
1141            'xequals',
1142            'xinput',
1143            'xlimits',
1144            'xoutput',
1145            'xpart',
1146            'xscale',
1147            'xscaleO',
1148            'xtick',
1149            'xtick3',
1150            'xtrans',
1151            'yaxis',
1152            'yaxis3',
1153            'yaxis3At',
1154            'yaxisAt',
1155            'yequals',
1156            'ylimits',
1157            'ypart',
1158            'yscale',
1159            'yscaleO',
1160            'ytick',
1161            'ytick3',
1162            'ytrans',
1163            'zaxis3',
1164            'zaxis3At',
1165            'zero',
1166            'zero3',
1167            'zlimits',
1168            'zpart',
1169            'ztick',
1170            'ztick3',
1171            'ztrans'
1172        ),
1173
1174        4 => array(
1175            'AliceBlue',
1176            'Align',
1177            'Allow',
1178            'AntiqueWhite',
1179            'Apricot',
1180            'Aqua',
1181            'Aquamarine',
1182            'Aspect',
1183            'Azure',
1184            'BeginPoint',
1185            'Beige',
1186            'Bisque',
1187            'Bittersweet',
1188            'Black',
1189            'BlanchedAlmond',
1190            'Blue',
1191            'BlueGreen',
1192            'BlueViolet',
1193            'Both',
1194            'BrickRed',
1195            'Brown',
1196            'BurlyWood',
1197            'BurntOrange',
1198            'CCW',
1199            'CW',
1200            'CadetBlue',
1201            'CarnationPink',
1202            'Center',
1203            'Centered',
1204            'Cerulean',
1205            'Chartreuse',
1206            'Chocolate',
1207            'Coeff',
1208            'Coral',
1209            'CornflowerBlue',
1210            'Cornsilk',
1211            'Crimson',
1212            'Crop',
1213            'Cyan',
1214            'Dandelion',
1215            'DarkBlue',
1216            'DarkCyan',
1217            'DarkGoldenrod',
1218            'DarkGray',
1219            'DarkGreen',
1220            'DarkKhaki',
1221            'DarkMagenta',
1222            'DarkOliveGreen',
1223            'DarkOrange',
1224            'DarkOrchid',
1225            'DarkRed',
1226            'DarkSalmon',
1227            'DarkSeaGreen',
1228            'DarkSlateBlue',
1229            'DarkSlateGray',
1230            'DarkTurquoise',
1231            'DarkViolet',
1232            'DeepPink',
1233            'DeepSkyBlue',
1234            'DefaultHead',
1235            'DimGray',
1236            'DodgerBlue',
1237            'Down',
1238            'E',
1239            'ENE',
1240            'EPS',
1241            'ESE',
1242            'E_Euler',
1243            'E_PC',
1244            'E_RK2',
1245            'E_RK3BS',
1246            'Emerald',
1247            'EndPoint',
1248            'Euler',
1249            'FireBrick',
1250            'FloralWhite',
1251            'ForestGreen',
1252            'Fuchsia',
1253            'Gainsboro',
1254            'GhostWhite',
1255            'Gold',
1256            'Goldenrod',
1257            'Gray',
1258            'Green',
1259            'GreenYellow',
1260            'Honeydew',
1261            'Horizontal',
1262            'HotPink',
1263            'I',
1264            'IgnoreAspect',
1265            'IndianRed',
1266            'Indigo',
1267            'Ivory',
1268            'JOIN_IN',
1269            'JOIN_OUT',
1270            'JungleGreen',
1271            'Khaki',
1272            'LM_DWARF',
1273            'LM_MACHEP',
1274            'LM_SQRT_DWARF',
1275            'LM_SQRT_GIANT',
1276            'LM_USERTOL',
1277            'Lavender',
1278            'LavenderBlush',
1279            'LawnGreen',
1280            'LeftJustified',
1281            'LeftSide',
1282            'LemonChiffon',
1283            'LightBlue',
1284            'LightCoral',
1285            'LightCyan',
1286            'LightGoldenrodYellow',
1287            'LightGreen',
1288            'LightGrey',
1289            'LightPink',
1290            'LightSalmon',
1291            'LightSeaGreen',
1292            'LightSkyBlue',
1293            'LightSlateGray',
1294            'LightSteelBlue',
1295            'LightYellow',
1296            'Lime',
1297            'LimeGreen',
1298            'Linen',
1299            'Logarithmic',
1300            'Magenta',
1301            'Mahogany',
1302            'MarkFill',
1303            'Maroon',
1304            'Max',
1305            'MediumAquamarine',
1306            'MediumBlue',
1307            'MediumOrchid',
1308            'MediumPurple',
1309            'MediumSeaGreen',
1310            'MediumSlateBlue',
1311            'MediumSpringGreen',
1312            'MediumTurquoise',
1313            'MediumVioletRed',
1314            'Melon',
1315            'MidPoint',
1316            'MidnightBlue',
1317            'Min',
1318            'MintCream',
1319            'MistyRose',
1320            'Moccasin',
1321            'Move',
1322            'MoveQuiet',
1323            'Mulberry',
1324            'N',
1325            'NE',
1326            'NNE',
1327            'NNW',
1328            'NW',
1329            'NavajoWhite',
1330            'Navy',
1331            'NavyBlue',
1332            'NoAlign',
1333            'NoCrop',
1334            'NoFill',
1335            'NoSide',
1336            'OldLace',
1337            'Olive',
1338            'OliveDrab',
1339            'OliveGreen',
1340            'Orange',
1341            'OrangeRed',
1342            'Orchid',
1343            'PC',
1344            'PaleGoldenrod',
1345            'PaleGreen',
1346            'PaleTurquoise',
1347            'PaleVioletRed',
1348            'PapayaWhip',
1349            'Peach',
1350            'PeachPuff',
1351            'Periwinkle',
1352            'Peru',
1353            'PineGreen',
1354            'Pink',
1355            'Plum',
1356            'PowderBlue',
1357            'ProcessBlue',
1358            'Purple',
1359            'RK2',
1360            'RK3',
1361            'RK3BS',
1362            'RK4',
1363            'RK5',
1364            'RK5DP',
1365            'RK5F',
1366            'RawSienna',
1367            'Red',
1368            'RedOrange',
1369            'RedViolet',
1370            'Rhodamine',
1371            'RightJustified',
1372            'RightSide',
1373            'RosyBrown',
1374            'RoyalBlue',
1375            'RoyalPurple',
1376            'RubineRed',
1377            'S',
1378            'SE',
1379            'SSE',
1380            'SSW',
1381            'SW',
1382            'SaddleBrown',
1383            'Salmon',
1384            'SandyBrown',
1385            'SeaGreen',
1386            'Seashell',
1387            'Sepia',
1388            'Sienna',
1389            'Silver',
1390            'SimpleHead',
1391            'SkyBlue',
1392            'SlateBlue',
1393            'SlateGray',
1394            'Snow',
1395            'SpringGreen',
1396            'SteelBlue',
1397            'Suppress',
1398            'SuppressQuiet',
1399            'TeXHead',
1400            'Teal',
1401            'TealBlue',
1402            'Thistle',
1403            'Ticksize',
1404            'Tomato',
1405            'Turquoise',
1406            'Up',
1407            'VERSION',
1408            'Value',
1409            'Vertical',
1410            'Violet',
1411            'VioletRed',
1412            'W',
1413            'WNW',
1414            'WSW',
1415            'Wheat',
1416            'White',
1417            'WhiteSmoke',
1418            'WildStrawberry',
1419            'XYAlign',
1420            'YAlign',
1421            'Yellow',
1422            'YellowGreen',
1423            'YellowOrange',
1424            'allowstepping',
1425            'angularsystem',
1426            'animationdelay',
1427            'appendsuffix',
1428            'arcarrowangle',
1429            'arcarrowfactor',
1430            'arrow2sizelimit',
1431            'arrowangle',
1432            'arrowbarb',
1433            'arrowdir',
1434            'arrowfactor',
1435            'arrowhookfactor',
1436            'arrowlength',
1437            'arrowsizelimit',
1438            'arrowtexfactor',
1439            'authorpen',
1440            'axislabelfactor',
1441            'background',
1442            'backgroundcolor',
1443            'backgroundpen',
1444            'barfactor',
1445            'barmarksizefactor',
1446            'basealign',
1447            'baselinetemplate',
1448            'beveljoin',
1449            'bigvertexpen',
1450            'bigvertexsize',
1451            'black',
1452            'blue',
1453            'bm',
1454            'bottom',
1455            'bp',
1456            'brown',
1457            'bullet',
1458            'byfoci',
1459            'byvertices',
1460            'camerafactor',
1461            'chartreuse',
1462            'circlemarkradiusfactor',
1463            'circlenodesnumberfactor',
1464            'circleprecision',
1465            'circlescale',
1466            'cm',
1467            'codefile',
1468            'codepen',
1469            'codeskip',
1470            'colorPen',
1471            'coloredNodes',
1472            'coloredSegments',
1473            'conditionlength',
1474            'conicnodesfactor',
1475            'count',
1476            'cputimeformat',
1477            'crossmarksizefactor',
1478            'currentcoordsys',
1479            'currentlight',
1480            'currentpatterns',
1481            'currentpen',
1482            'currentpicture',
1483            'currentposition',
1484            'currentprojection',
1485            'curvilinearsystem',
1486            'cuttings',
1487            'cyan',
1488            'darkblue',
1489            'darkbrown',
1490            'darkcyan',
1491            'darkgray',
1492            'darkgreen',
1493            'darkgrey',
1494            'darkmagenta',
1495            'darkolive',
1496            'darkred',
1497            'dashdotted',
1498            'dashed',
1499            'datepen',
1500            'dateskip',
1501            'debuggerlines',
1502            'debugging',
1503            'deepblue',
1504            'deepcyan',
1505            'deepgray',
1506            'deepgreen',
1507            'deepgrey',
1508            'deepmagenta',
1509            'deepred',
1510            'default',
1511            'defaultControl',
1512            'defaultS',
1513            'defaultbackpen',
1514            'defaultcoordsys',
1515            'defaultexcursion',
1516            'defaultfilename',
1517            'defaultformat',
1518            'defaultmassformat',
1519            'defaultpen',
1520            'diagnostics',
1521            'differentlengths',
1522            'dot',
1523            'dotfactor',
1524            'dotframe',
1525            'dotted',
1526            'doublelinepen',
1527            'doublelinespacing',
1528            'down',
1529            'duplicateFuzz',
1530            'edge',
1531            'ellipsenodesnumberfactor',
1532            'eps',
1533            'epsgeo',
1534            'epsilon',
1535            'evenodd',
1536            'expansionfactor',
1537            'extendcap',
1538            'exterior',
1539            'fermionpen',
1540            'figureborder',
1541            'figuremattpen',
1542            'file3',
1543            'firstnode',
1544            'firststep',
1545            'foregroundcolor',
1546            'fuchsia',
1547            'fuzz',
1548            'gapfactor',
1549            'ghostpen',
1550            'gluonamplitude',
1551            'gluonpen',
1552            'gluonratio',
1553            'green',
1554            'grey',
1555            'hatchepsilon',
1556            'havepagenumber',
1557            'heavyblue',
1558            'heavycyan',
1559            'heavygray',
1560            'heavygreen',
1561            'heavygrey',
1562            'heavymagenta',
1563            'heavyred',
1564            'hwratio',
1565            'hyperbolanodesnumberfactor',
1566            'identity4',
1567            'ignore',
1568            'inXasyMode',
1569            'inch',
1570            'inches',
1571            'includegraphicscommand',
1572            'inf',
1573            'infinity',
1574            'institutionpen',
1575            'intMax',
1576            'intMin',
1577            'invert',
1578            'itempen',
1579            'itemskip',
1580            'itemstep',
1581            'landscape',
1582            'lastnode',
1583            'left',
1584            'legendhskip',
1585            'legendlinelength',
1586            'legendmargin',
1587            'legendmarkersize',
1588            'legendmaxrelativewidth',
1589            'legendvskip',
1590            'lightblue',
1591            'lightcyan',
1592            'lightgray',
1593            'lightgreen',
1594            'lightgrey',
1595            'lightmagenta',
1596            'lightolive',
1597            'lightred',
1598            'lightyellow',
1599            'lm_infmsg',
1600            'lm_shortmsg',
1601            'longdashdotted',
1602            'longdashed',
1603            'magenta',
1604            'magneticRadius',
1605            'mantissaBits',
1606            'markangleradius',
1607            'markangleradiusfactor',
1608            'markanglespace',
1609            'markanglespacefactor',
1610            'mediumblue',
1611            'mediumcyan',
1612            'mediumgray',
1613            'mediumgreen',
1614            'mediumgrey',
1615            'mediummagenta',
1616            'mediumred',
1617            'mediumyellow',
1618            'middle',
1619            'minDistDefault',
1620            'minblockheight',
1621            'minblockwidth',
1622            'mincirclediameter',
1623            'minipagemargin',
1624            'minipagewidth',
1625            'minvertexangle',
1626            'miterjoin',
1627            'mm',
1628            'momarrowfactor',
1629            'momarrowlength',
1630            'momarrowmargin',
1631            'momarrowoffset',
1632            'momarrowpen',
1633            'monoPen',
1634            'morepoints',
1635            'nCircle',
1636            'newbulletcolor',
1637            'ngraph',
1638            'nil',
1639            'nmesh',
1640            'nobasealign',
1641            'nodeMarginDefault',
1642            'nodesystem',
1643            'nomarker',
1644            'nopoint',
1645            'noprimary',
1646            'nullpath',
1647            'nullpen',
1648            'numarray',
1649            'ocgindex',
1650            'oldbulletcolor',
1651            'olive',
1652            'orange',
1653            'overpaint',
1654            'page',
1655            'pageheight',
1656            'pagemargin',
1657            'pagenumberalign',
1658            'pagenumberpen',
1659            'pagenumberposition',
1660            'pagewidth',
1661            'paleblue',
1662            'palecyan',
1663            'palegray',
1664            'palegreen',
1665            'palegrey',
1666
1667            'palemagenta',
1668            'palered',
1669            'paleyellow',
1670            'parabolanodesnumberfactor',
1671            'perpfactor',
1672            'phi',
1673            'photonamplitude',
1674            'photonpen',
1675            'photonratio',
1676            'pi',
1677            'pink',
1678            'plain',
1679            'plain_bounds',
1680            'plain_scaling',
1681            'plus',
1682            'preamblenodes',
1683            'pt',
1684            'purple',
1685            'r3',
1686            'r4a',
1687            'r4b',
1688            'randMax',
1689            'realDigits',
1690            'realEpsilon',
1691            'realMax',
1692            'realMin',
1693            'red',
1694            'relativesystem',
1695            'right',
1696            'roundcap',
1697            'roundjoin',
1698            'royalblue',
1699            'salmon',
1700            'saveFunctions',
1701            'scalarpen',
1702            'sequencereal',
1703            'settings',
1704            'shipped',
1705            'signedtrailingzero',
1706            'solid',
1707            'springgreen',
1708            'sqrtEpsilon',
1709            'squarecap',
1710            'squarepen',
1711            'startposition',
1712            'stdin',
1713            'stdout',
1714            'stepfactor',
1715            'stepfraction',
1716            'steppagenumberpen',
1717            'stepping',
1718            'stickmarksizefactor',
1719            'stickmarkspacefactor',
1720            'swap',
1721            'textpen',
1722            'ticksize',
1723            'tildemarksizefactor',
1724            'tinv',
1725            'titlealign',
1726            'titlepagepen',
1727            'titlepageposition',
1728            'titlepen',
1729            'titleskip',
1730            'top',
1731            'trailingzero',
1732            'treeLevelStep',
1733            'treeMinNodeWidth',
1734            'treeNodeStep',
1735            'trembleAngle',
1736            'trembleFrequency',
1737            'trembleRandom',
1738            'undefined',
1739            'unitcircle',
1740            'unitsquare',
1741            'up',
1742            'urlpen',
1743            'urlskip',
1744            'version',
1745            'vertexpen',
1746            'vertexsize',
1747            'viewportmargin',
1748            'viewportsize',
1749            'vline',
1750            'white',
1751            'wye',
1752            'xformStack',
1753            'yellow',
1754            'ylabelwidth',
1755            'zerotickfuzz',
1756            'zerowinding'
1757        )
1758    ),
1759    'SYMBOLS' => array(
1760        0 => array(
1761            '(', ')', '{', '}', '[', ']'
1762        ),
1763        1 => array('<', '>', '='),
1764        2 => array('+', '-', '*', '/', '%'),
1765        3 => array('!', '^', '&', '|'),
1766        4 => array('?', ':', ';'),
1767        5 => array('..')
1768    ),
1769    'CASE_SENSITIVE' => array(
1770        GESHI_COMMENTS => false,
1771        1 => true,
1772        2 => true,
1773        3 => true,
1774        4 => true
1775    ),
1776    'STYLES' => array(
1777        'KEYWORDS' => array(
1778            1 => 'color: #b1b100;',
1779            2 => 'color: #000000; font-weight: bold;',
1780            3 => 'color: #990000;',
1781            4 => 'color: #009900; font-weight: bold;'
1782        ),
1783        'COMMENTS' => array(
1784            1 => 'color: #666666;',
1785            2 => 'color: #339900;',
1786            'MULTI' => 'color: #ff0000; font-style: italic;'
1787        ),
1788        'ESCAPE_CHAR' => array(
1789            0 => 'color: #000099; font-weight: bold;',
1790            1 => 'color: #000099; font-weight: bold;',
1791            2 => 'color: #660099; font-weight: bold;',
1792            3 => 'color: #660099; font-weight: bold;',
1793            4 => 'color: #660099; font-weight: bold;',
1794            5 => 'color: #006699; font-weight: bold;',
1795            'HARD' => '',
1796        ),
1797        'BRACKETS' => array(
1798            0 => 'color: #008000;'
1799        ),
1800        'STRINGS' => array(
1801            0 => 'color: #FF0000;'
1802        ),
1803        'NUMBERS' => array(
1804            0 => 'color: #0000dd;',
1805            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
1806            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
1807            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
1808            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
1809            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
1810            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
1811            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
1812        ),
1813        'METHODS' => array(
1814            1 => 'color: #007788;',
1815            2 => 'color: #007788;'
1816        ),
1817        'SYMBOLS' => array(
1818            0 => 'color: #008000;',
1819            1 => 'color: #000080;',
1820            2 => 'color: #000040;',
1821            3 => 'color: #000040;',
1822            4 => 'color: #008080;',
1823            5 => 'color: #009080;'
1824        ),
1825        'REGEXPS' => array(),
1826        'SCRIPT' => array()
1827    ),
1828    'URLS' => array(
1829        1 => '',
1830        2 => '',
1831        3 => '',
1832        4 => ''
1833    ),
1834    'OOLANG' => true,
1835    'OBJECT_SPLITTERS' => array(
1836        1 => '.',
1837        2 => '::'
1838    ),
1839    'REGEXPS' => array(),
1840    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
1841    'SCRIPT_DELIMITERS' => array(),
1842    'HIGHLIGHT_STRICT_BLOCK' => array(),
1843    'TAB_WIDTH' => 4,
1844    'PARSER_CONTROL' => array(
1845        'KEYWORDS' => array(
1846            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#])",
1847            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\|%\\-])"
1848        )
1849    )
1850);
1851