1<?php
2/*************************************************************************************
3 * falcon.php
4 * ---------------------------------
5 * Author: billykater (billykater+geshi@gmail.com)
6 * Copyright: (c) 2010 billykater (http://falconpl.org/)
7 * Release Version: 1.0.9.1
8 * Date Started: 2010/06/07
9 *
10 * Falcon language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * <2010/8/1> (1.0.8.10)
15 *  -  First Release
16 *
17 *************************************************************************************
18 *
19 *     This file is part of GeSHi.
20 *
21 *   GeSHi is free software; you can redistribute it and/or modify
22 *   it under the terms of the GNU General Public License as published by
23 *   the Free Software Foundation; either version 2 of the License, or
24 *   (at your option) any later version.
25 *
26 *   GeSHi is distributed in the hope that it will be useful,
27 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
28 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
29 *   GNU General Public License for more details.
30 *
31 *   You should have received a copy of the GNU General Public License
32 *   along with GeSHi; if not, write to the Free Software
33 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
34 * ************************************************************************************/
35
36$language_data = array (
37    'LANG_NAME' => 'Falcon',
38    'COMMENT_SINGLE' => array( 1 => '//' ),
39    'COMMENT_MULTI' => array( '/*' => '*/' ),
40    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
41    'QUOTEMARKS' => array( "'", '"' ),
42    'ESCAPE_CHAR' => '\\',
43    'KEYWORDS' => array(
44        1 => array(
45            'break','case','catch','class','const','continue','def','default',
46            'dropping','elif','else','end','enum','for','forfirst','forlast',
47            'formiddle','from','function','global','if','init','innerfunc',
48            'launch','loop','object','raise','return','select','state','static',
49            'switch','try','while'
50        ),
51        2 => array(
52            'false','nil','true',
53        ),
54        3 => array(
55            'and','as','eq','fself','in','not','notin','or','provides','self','to'
56        ),
57        4 => array(
58            'directive','export','import','load','macro'
59        ),
60        5 => array(
61            'ArrayType','BooleanType','ClassMethodType','ClassType','DictionaryType',
62            'FunctionType','MemBufType','MethodType','NilType','NumericType','ObjectType',
63            'RangeType','StringType','LBindType'
64        ),
65        6 => array(
66            "CurrentTime","IOStream","InputStream","MemBufFromPtr","OutputStream",
67            "PageDict","ParseRFC2822","abs","acos","all",
68            "allp","any","anyp","argd","argv",
69            "arrayAdd","arrayBuffer","arrayCompact","arrayDel","arrayDelAll",
70            "arrayFill","arrayFind","arrayHead","arrayIns","arrayMerge",
71            "arrayNM","arrayRemove","arrayResize","arrayScan","arraySort",
72            "arrayTail","asin","assert","atan","atan2",
73            "attributes","baseClass","beginCritical","bless","brigade",
74            "broadcast","cascade","ceil","choice","chr",
75            "className","clone","combinations","compare","consume",
76            "cos","deg2rad","deoob","derivedFrom","describe",
77            "deserialize","dictBack","dictBest","dictClear","dictFill",
78            "dictFind","dictFront","dictGet","dictKeys","dictMerge",
79            "dictRemove","dictSet","dictValues","dirChange","dirCurrent",
80            "dirMake","dirMakeLink","dirReadLink","dirRemove","dolist",
81            "endCritical","epoch","eval","exit","exp",
82            "factorial","fileChgroup","fileChmod","fileChown","fileCopy",
83            "fileExt","fileMove","fileName","fileNameMerge","filePath",
84            "fileRemove","fileType","fileUnit","filter","fint",
85            "firstOf","floop","floor","fract","getAssert",
86            "getEnviron","getProperty","getSlot","getSystemEncoding","getenv",
87            "iff","include","input","inspect","int",
88            "isBound","isCallable","isoob","lbind","len",
89            "let","lit","log","map","max",
90            "metaclass","min","numeric","oob","ord",
91            "paramCount","paramIsRef","paramSet","parameter","passvp",
92            "permutations","pow","print","printl","properties",
93            "rad2deg","random","randomChoice","randomDice","randomGrab",
94            "randomPick","randomSeed","randomWalk","readURI","reduce",
95            "retract","round","seconds","serialize","set",
96            "setProperty","setenv","sin","sleep","stdErr",
97            "stdErrRaw","stdIn","stdInRaw","stdOut","stdOutRaw",
98            "strBack","strBackFind","strBackTrim","strBuffer","strCmpIgnoreCase",
99            "strEndsWith","strEscape","strEsq","strFill","strFind",
100            "strFromMemBuf","strFront","strFrontTrim","strLower","strMerge",
101            "strReplace","strReplicate","strSplit","strSplitTrimmed","strStartsWith",
102            "strToMemBuf","strTrim","strUnescape","strUnesq","strUpper",
103            "strWildcardMatch","subscribe","systemErrorDescription","tan","times",
104            "toString","transcodeFrom","transcodeTo","typeOf","unsetenv",
105            "unsubscribe","valof","vmFalconPath","vmIsMain","vmModuleName",
106            "vmModuleVersionInfo","vmSearchPath","vmSystemType","vmVersionInfo","vmVersionName",
107            "writeURI","xmap","yield","yieldOut"
108        ),
109        7 => array(
110            "AccessError","Array","BOM","Base64","Class",
111            "ClassMethod","CloneError","CmdlineParser","CodeError","Continuation",
112            "Dictionary","Directory","Error","FileStat","Format",
113            "Function","GarbagePointer","GenericError","Integer","InterruptedError",
114            "IoError","Iterator","LateBinding","List","MathError",
115            "MemoryBuffer","MessageError","Method","Numeric","Object",
116            "ParamError","ParseError","Path","Range","Semaphore",
117            "Sequence","Set","Stream","String","StringStream",
118            "SyntaxError","Table","TableError","TimeStamp","TimeZone",
119            "Tokenizer","TypeError","URI","VMSlot"
120        ),
121        8 => array(
122            "args","scriptName","scriptPath"
123        ),
124        9 => array(
125            "GC"
126        ),
127    ),
128    'URLS' => array(
129        1 => '',
130        2 => '',
131        3 => '',
132        4 => '',
133        5 => 'http://falconpl.org/project_docs/core/functions.html#typeOf',
134        6 => 'http://falconpl.org/project_docs/core/functions.html#{FNAME}',
135        7 => 'http://falconpl.org/project_docs/core/class_{FNAME}.html',
136        8 => 'http://falconpl.org/project_docs/core/globals.html#{FNAME}',
137        9 => 'http://falconpl.org/project_docs/core/object_{FNAME}.html)'
138    ),
139    'CASE_SENSITIVE' => array(
140        GESHI_COMMENTS => false,
141        1 => true,
142        2 => true,
143        3 => true,
144        4 => true,
145        5 => true,
146        6 => true,
147        7 => true,
148        8 => true,
149        9 => true
150    ),
151    'SYMBOLS' => array(
152        '(',')','$','%','&','/','{','[',']','=','}','?','+','-','#','*','@',
153        '<','>','|',',',':',';','\\','^'
154    ),
155    'REGEXPS' => array(
156        0 => array(
157            GESHI_SEARCH => '(\[)([a-zA-Z_]|\c{C})(?:[a-zA-Z0-9_]|\p{C})*(\])',
158            GESHI_REPLACE => '\\2',
159            GESHI_MODIFIERS => '',
160            GESHI_BEFORE => '\\1',
161            GESHI_AFTER => '\\3',
162
163        ),
164    ),
165    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
166    'SCRIPT_DELIMITERS' => array(
167        0 => array( '<?' => '?>' )
168    ),
169    'HIGHLIGHT_STRICT_BLOCK' => array(
170        0 => true
171    ),
172    'STYLES' => array(
173        'KEYWORDS' => array(
174            1 => 'color: #000080;font-weight:bold;',
175            2 => 'color: #800000;font-weight:bold;',
176            3 => 'color: #800000;font-weight:bold;',
177            4 => 'color: #000080;font-weight:bold;',
178            5 => 'color: #000000;font-weight:bold;',
179            6 => 'font-weight:bold;',
180            7 => 'font-weight:bold;',
181            8 => 'font-weight:bold;'
182        ),
183        'COMMENTS' => array(
184            1 => 'color: #29B900;',
185            'MULTI' => 'color: #008080'
186        ),
187        'STRINGS' => array(
188            0 => 'color: #800000'
189        ),
190        'BRACKETS' => array(
191            0 => 'color: #000000'
192        ),
193        'ESCAPE_CHAR' => array(
194            0 => 'color: #800000'
195        ),
196        'NUMBERS' => array(
197            0 => 'color: #000000'
198        ),
199        'METHODS' => array(
200            0 => 'color: #000000'
201        ),
202        'SYMBOLS' => array(
203            0 => 'color: #8B0513'
204        ),
205        'SCRIPT' => array(
206            0 => ''
207        ),
208        'REGEXPS' => array(
209            0 => 'color: #FF00FF'
210        )
211    ),
212
213    'OOLANG' => true,
214    'OBJECT_SPLITTERS' => array(
215        '.'
216    )
217);
218