1<?php 2/************************************************************************************* 3 * e.php 4 * -------- 5 * Author: Kevin Reid (kpreid@switchb.org) 6 * Copyright: (c) 2010 Kevin Reid (http://switchb.org/kpreid/) 7 * Release Version: 1.0.9.1 8 * Date Started: 2010/04/16 9 * 10 * E language file for GeSHi. 11 * 12 * CHANGES 13 * ------- 14 * 2010-04-21 (1.0.8.8) 15 * - Fixing langcheck-reported bugs. 16 * 2010-04-14 (0.1) 17 * - First Release 18 * 19 * TODO (updated 2010-04-21) 20 * ------------------------- 21 * - Do something useful with the keyword groups. Since RC uses CSS classes named 22 * by the group numbers, either 23 * - change the numbering to match conventional uses by other languages, 24 * - or find or create some way to produce usefully named classes. 25 * 26 ************************************************************************************* 27 * 28 * This file is part of GeSHi. 29 * 30 * GeSHi is free software; you can redistribute it and/or modify 31 * it under the terms of the GNU General Public License as published by 32 * the Free Software Foundation; either version 2 of the License, or 33 * (at your option) any later version. 34 * 35 * GeSHi is distributed in the hope that it will be useful, 36 * but WITHOUT ANY WARRANTY; without even the implied warranty of 37 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 38 * GNU General Public License for more details. 39 * 40 * You should have received a copy of the GNU General Public License 41 * along with GeSHi; if not, write to the Free Software 42 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 43 * 44 ************************************************************************************/ 45 46$language_data = array( 47 'LANG_NAME' => 'E', 48 'COMMENT_SINGLE' => array(1 => '#'), 49 'COMMENT_MULTI' => array('/**' => '*/'), // Note: This is method doc, not a general comment syntax. 50 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 51 52 // FIXME: The escaping inside ` is actually doubling of any interior `, $, or @ -- backslash is NOT special 53 'QUOTEMARKS' => array('\'', '"', '`'), 54 'ESCAPE_CHAR' => '\\', 55 56 'KEYWORDS' => array( 57 // builtin control structures 58 1 => array( 59 'accum', 'break', 'try', 'continue', 'if', 'while', 'for', 'switch' 60 ), 61 62 // control structures subsidiary keywords 63 2 => array( 64 'catch', 'else', 'finally', 'in', 'exit' 65 ), 66 67 // named operators 68 3 => array( 69 'fn', 'via' 70 ), 71 72 // variable/function/object definers 73 4 => array( 74 'def', 'bind', 'var' 75 ), 76 77 // object definition subsidiary keywords 78 5 => array( 79 'extends', 'as', 'implements', 'guards', 'match', 'to', 'method' 80 ), 81 82 // builtin nouns in safeEnv 83 6 => array( 84 'null', 'false', 'true', 'throw', '__loop', '__makeList', 85 '__makeMap', '__makeProtocolDesc', '__makeMessageDesc', 86 '__makeParamDesc', 'any', 'void', 'boolean', '__makeOrderedSpace', 87 'ValueGuard', '__MatchContext', 'require', '__makeVerbFacet', 'NaN', 88 'Infinity', '__identityFunc', '__makeInt', '__makeFinalSlot', 89 '__makeVarSlot', '__makeGuardedSlot', '__makeGuard', '__makeTwine', 90 '__makeSourceSpan', '__auditedBy', 'Guard', 'near', 'pbc', 91 'PassByCopy', 'DeepPassByCopy', 'Data', 'Persistent', 'DeepFrozen', 92 'int', 'float64', 'char', 'String', 'Twine', 'TextWriter', 'List', 93 'Map', 'nullOk', 'Tuple', '__Portrayal', 'notNull', 'vow', 'rcvr', 94 'SturdyRef', 'simple__quasiParser', 'twine__quasiParser', 95 'rx__quasiParser', 'e__quasiParser', 'epatt__quasiParser', 96 'sml__quasiParser', 'term__quasiParser', 'traceln', '__equalizer', 97 '__comparer', 'Ref', 'E', 'promiseAllFulfilled', 'EIO', 'help', 98 'safeScope', '__eval', 'resource__uriGetter', 'type__uriGetter', 99 'import__uriGetter', 'elib__uriGetter', 'elang__uriGetter', 100 'opaque__uriGetter' 101 ), 102 103 // builtin nouns in privilegedEnv 104 7 => array( 105 'file__uriGetter', 'fileURL__uriGetter', 'jar__uriGetter', 106 'http__uriGetter', 'ftp__uriGetter', 'gopher__uriGetter', 107 'news__uriGetter', 'cap__uriGetter', 'makeCommand', 'stdout', 108 'stderr', 'stdin', 'print', 'println', 'interp', 'entropy', 'timer', 109 'introducer', 'identityMgr', 'makeSturdyRef', 'timeMachine', 110 'unsafe__uriGetter', 'currentVat', 'rune', 'awt__uriGetter', 111 'swing__uriGetter', 'JPanel__quasiParser', 'swt__uriGetter', 112 'currentDisplay', 'swtGrid__quasiParser', 'swtGrid`', 113 'privilegedScope' 114 ), 115 116 // reserved keywords 117 8 => array( 118 'abstract', 'an', 'assert', 'attribute', 'be', 'begin', 'behalf', 119 'belief', 'believe', 'believes', 'case', 'class', 'const', 120 'constructor', 'declare', 'default', 'define', 'defmacro', 121 'delicate', 'deprecated', 'dispatch', 'do', 'encapsulate', 122 'encapsulated', 'encapsulates', 'end', 'ensure', 'enum', 'eventual', 123 'eventually', 'export', 'facet', 'forall', 'function', 'given', 124 'hidden', 'hides', 'inline', 'is', 'know', 'knows', 'lambda', 'let', 125 'methods', 'module', 'namespace', 'native', 'obeys', 'octet', 126 'oneway', 'operator', 'package', 'private', 'protected', 'public', 127 'raises', 'reliance', 'reliant', 'relies', 'rely', 'reveal', 'sake', 128 'signed', 'static', 'struct', 'suchthat', 'supports', 'suspect', 129 'suspects', 'synchronized', 'this', 'transient', 'truncatable', 130 'typedef', 'unsigned', 'unum', 'uses', 'using', 'utf8', 'utf16', 131 'virtual', 'volatile', 'wstring' 132 ) 133 ), 134 'SYMBOLS' => array( 135 1 => array( 136 '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '%', '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ',' 137 ) 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 ), 150 'STYLES' => array( 151 'KEYWORDS' => array( 152 1 => 'color: #b1b100;', 153 2 => 'color: #b1b100;', 154 3 => 'color: #b1b100;', 155 4 => 'color: #b1b100;', 156 5 => 'color: #b1b100;', 157 6 => 'color: #b1b100;', 158 7 => 'color: #b1b100;', 159 8 => 'color: #b1b100;' 160 ), 161 'COMMENTS' => array( 162 1 => 'color: #666666; font-style: italic;', 163 'MULTI' => 'color: #666666; font-style: italic;' 164 ), 165 'ESCAPE_CHAR' => array( 166 0 => 'color: #000099; font-weight: bold;' 167 ), 168 'BRACKETS' => array( 169 0 => 'color: #009900;' 170 ), 171 'STRINGS' => array( 172 0 => 'color: #0000ff;' 173 ), 174 'NUMBERS' => array( 175 0 => 'color: #cc66cc;', 176 ), 177 'METHODS' => array( 178 0 => 'color: #004000;' 179 ), 180 'SYMBOLS' => array( 181 1 => 'color: #339933;' 182 ), 183 'REGEXPS' => array(), 184 'SCRIPT' => array() 185 ), 186 'URLS' => array( 187 1 => 'http://wiki.erights.org/wiki/{FNAME}', 188 2 => 'http://wiki.erights.org/wiki/{FNAME}', 189 3 => 'http://wiki.erights.org/wiki/{FNAME}', 190 4 => 'http://wiki.erights.org/wiki/{FNAME}', 191 5 => 'http://wiki.erights.org/wiki/{FNAME}', 192 6 => 'http://wiki.erights.org/wiki/{FNAME}', 193 7 => 'http://wiki.erights.org/wiki/{FNAME}', 194 8 => 'http://wiki.erights.org/wiki/{FNAME}' 195 ), 196 'OOLANG' => true, 197 'OBJECT_SPLITTERS' => array( 198 1 => '.', 199 2 => '<-', 200 3 => '::' 201 ), 202 'REGEXPS' => array(), 203 'STRICT_MODE_APPLIES' => GESHI_NEVER, 204 'SCRIPT_DELIMITERS' => array(), 205 'HIGHLIGHT_STRICT_BLOCK' => array() 206); 207