1<?php
2/*************************************************************************************
3 * fo.php
4 * --------
5 * Author: Tan-Vinh Nguyen (tvnguyen@web.de)
6 * Copyright: (c) 2009 Tan-Vinh Nguyen
7 * Release Version: 1.0.9.1
8 * Date Started: 2009/03/23
9 *
10 * fo language file for GeSHi.
11 *
12 * FO stands for "Flexible Oberflaechen" (Flexible Surfaces) and
13 * is part of the abas-ERP.
14 *
15 * CHANGES
16 * -------
17 * 2009/03/23 (1.0.0)
18 *   -  First Release
19 *      Basic commands in German and English
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
41$language_data = array (
42    'LANG_NAME' => 'FO (abas-ERP)',
43    'COMMENT_SINGLE' => array(1 => '..'),
44    'COMMENT_MULTI' => array(),
45    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
46    'QUOTEMARKS' => array("'", '"'),
47    'ESCAPE_CHAR' => '\\',
48    'KEYWORDS' => array(
49        //Control Flow
50        1 => array(
51            /* see http://www.abas.de/sub_de/kunden/help/hd/html/9.html */
52
53            /* fo keywords, part 1: control flow */
54            '.weiter', '.continue'
55
56            /* this language works with goto's only*/
57            ),
58
59        //FO Keywords
60        2 => array(
61            /* fo keywords, part 2 */
62            '.fo', '.formel', '.formula',
63            '.zuweisen', '.assign',
64            '.fehler', '.error',
65            '.ende', '.end'
66            ),
67
68        //Java Keywords
69        3 => array(
70            /* Java keywords, part 3: primitive data types */
71            '.art', '.type',
72            'integer', 'real', 'bool', 'text', 'datum', 'woche', 'termin', 'zeit',
73            'mehr', 'MEHR'
74            ),
75
76        //Reserved words in fo literals
77        4 => array(
78            /* other reserved words in fo literals */
79            /* should be styled to look similar to numbers and Strings */
80            'false', 'null', 'true',
81            'OBJEKT',
82            'VORGANG', 'PROCESS',
83            'OFFEN', 'OPEN',
84            'ABORT',
85            'AN', 'ADDEDTO',
86            'AUF', 'NEW',
87            'BILDSCHIRM', 'TERMINAL',
88            'PC',
89            'MASKE', 'SCREEN',
90            'ZEILE', 'LINE'
91            ),
92
93        // interpreter settings
94        5 => array (
95            '..!INTERPRETER', 'DEBUG'
96            ),
97
98        // database commands
99        6 => array (
100            '.hole', '.hol', '.select',
101            '.lade', '.load',
102            '.aktion', '.action',
103            '.belegen', '.occupy',
104            '.bringe', '.rewrite',
105            '.dazu', '.add',
106            '.löschen', '.delete',
107            '.mache', '.make',
108            '.merke', '.reserve',
109            '.setze', '.set',
110            'SPERREN', 'LOCK',
111            'TEIL', 'PART',
112            'KEINESPERRE',
113            'AMASKE', 'ASCREEN',
114            'BETRIEB', 'WORK-ORDER',
115            'NUMERISCH', 'NUMERICAL',
116            'VORSCHLAG', 'SUGGESTION',
117            'OBLIGO', 'OUTSTANDING',
118            'LISTE', 'LIST',
119            'DRUCK', 'PRINT',
120            'ÜBERNAHME', 'TAGEOVER',
121            'ABLAGE', 'FILINGSYSTEM',
122            'BDE', 'PDC',
123            'BINDUNG', 'ALLOCATION',
124            'BUCHUNG', 'ENTRY',
125            'COLLI', 'SERIAL',
126            'DATEI', 'FILE',
127            'VERKAUF', 'SALES',
128            'EINKAUF', 'PURCHASING',
129            'EXEMPLAR', 'EXAMPLE',
130            'FERTIGUNG', 'PRODUCTION',
131            'FIFO',
132            'GRUPPE', 'GROUP',
133            'JAHR', 'YEAR',
134            'JOURNAL',
135            'KOPF', 'HEADER',
136            'KOSTEN',
137            'LIFO',
138            'LMENGE', 'SQUANTITY',
139            'LOHNFERTIGUNG', 'SUBCONTRACTING',
140            'LPLATZ', 'LOCATION',
141            'MBELEGUNG', 'MACHLOADING',
142            'MONAT', 'MONTH', 'MZ',
143            'NACHRICHT', 'MESSAGE',
144            'PLAN', 'TARGET',
145            'REGIONEN', 'REGIONS',
146            'SERVICEANFRAGE', 'SERVICEREQUEST',
147            'VERWENDUNG', 'APPLICATION',
148            'WEITER', 'CONTINUE',
149            'ABBRUCH', 'CANCEL',
150            'ABLAGEKENNZEICHEN', 'FILLINGCODE',
151            'ALLEIN', 'SINGLEUSER',
152            'AUFZAEHLTYP', 'ENUMERATION-TYPE',
153            'AUSGABE', 'OUTPUT',
154            'DEZPUNKT', 'DECPOINT'
155            ),
156
157        // output settings
158        7 => array (
159            '.absatz', '.para',
160            '.blocksatz', '.justified',
161            '.flattersatz', '.unjustified',
162            '.format',
163            '.box',
164            '.drucken', '.print',
165            '.gedruckt', '.printed',
166            '.länge', '.length',
167            '.links', '.left',
168            '.rechts', '.right',
169            '.oben', '.up',
170            '.unten', '.down',
171            '.seite', '.page',
172            '.tabellensatz', '.tablerecord',
173            '.trenner', '.separator',
174            'ARCHIV'
175            ),
176
177        // text commands
178        8 => array (
179            '.text',
180            '.atext',
181            '.println',
182            '.uebersetzen', '.translate'
183            ),
184
185        // I/O commands
186        9 => array (
187            '.aus', '.ausgabe', '.output',
188            '.ein', '.eingabe', '.input',
189            '.datei', '.file',
190            '.lesen', '.read',
191            '.sortiere', '.sort',
192            '-ÖFFNEN', '-OPEN',
193            '-TEST',
194            '-LESEN', '-READ',
195            'VON', 'FROM'
196            ),
197
198        //system
199        10 => array (
200            '.browser',
201            '.kommando', '.command',
202            '.system', '.dde',
203            '.editiere', '.edit',
204            '.hilfe', '.help',
205            '.kopieren', '.copy',
206            '.pc.clip',
207            '.pc.copy',
208            '.pc.dll',
209            '.pc.exec',
210            '.pc.open',
211            'DIAGNOSE', 'ERRORREPORT',
212            'DOPPELPUNKT', 'COLON',
213            'ERSETZUNG', 'REPLACEMENT',
214            'WARTEN', 'PARALLEL'
215            ),
216
217        //fibu/accounting specific commands
218        11 => array (
219            '.budget',
220            '.chart',
221            'VKZ',
222            'KONTO', 'ACCOUNT',
223            'AUSZUG', 'STATEMENT',
224            'WAEHRUNG', 'CURRENCY',
225            'WAEHRUNGSKURS', 'EXCHANGERATE',
226            'AUSWAEHR', 'FORCURR',
227            'BUCHUNGSKREIS', 'SET OF BOOKS'
228            ),
229
230        // efop - extended flexible surface
231        12 => array (
232            '.cursor',
233            '.farbe', '.colour',
234            '.fenster', '.window',
235            '.hinweis', '.note',
236            '.menue', '.menu',
237            '.schutz', '.protection',
238            '.zeigen', '.view',
239            '.zeile', '.line',
240            'VORDERGRUND', 'FOREGROUND',
241            'HINTERGRUND', 'BACKGROUND',
242            'SOFORT', 'IMMEDIATELY',
243            'AKTUALISIEREN', 'UPDATE',
244            'FENSTERSCHLIESSEN', 'CLOSEWINDOWS'
245            ),
246        ),
247    'SYMBOLS' => array(
248        0 => array('(', ')', '[', ']', '{', '}', '*', '&', '%', ';', '<', '>'),
249        1 => array('?', '!')
250        ),
251    'CASE_SENSITIVE' => array(
252        GESHI_COMMENTS => false,
253        /* all fo keywords are case sensitive, don't have to but I like this type of coding */
254        1 => true, 2 => true, 3 => true, 4 => true,
255        5 => true, 6 => true, 7 => true, 8 => true, 9 => true,
256        10 => true, 11 => true, 12 => true
257        ),
258    'STYLES' => array(
259        'KEYWORDS' => array(
260            1 => 'color: #000000; font-weight: bold;',
261            2 => 'color: #000000; font-weight: bold;',
262            3 => 'color: #006600; font-weight: bold;',
263            4 => 'color: #006600; font-weight: bold;',
264            5 => 'color: #003399; font-weight: bold;',
265            6 => 'color: #003399; font-weight: bold;',
266            7 => 'color: #003399; font-weight: bold;',
267            8 => 'color: #003399; font-weight: bold;',
268            9 => 'color: #003399; font-weight: bold;',
269            10 => 'color: #003399; font-weight: bold;',
270            11 => 'color: #003399; font-weight: bold;',
271            12 => 'color: #003399; font-weight: bold;'
272            ),
273        'COMMENTS' => array(
274            1 => 'color: #666666; font-style: italic;',
275            //2 => 'color: #006699;',
276            'MULTI' => 'color: #666666; font-style: italic;'
277            ),
278        'ESCAPE_CHAR' => array(
279            0 => 'color: #000099; font-weight: bold;'
280            ),
281        'BRACKETS' => array(
282            0 => 'color: #009900;'
283            ),
284        'STRINGS' => array(
285            0 => 'color: #0000ff;'
286            ),
287        'NUMBERS' => array(
288            0 => 'color: #cc66cc;'
289            ),
290        'METHODS' => array(
291            1 => 'color: #006633;',
292            2 => 'color: #006633;'
293            ),
294        'SYMBOLS' => array(
295            0 => 'color: #339933;',
296            1 => 'color: #000000; font-weight: bold;'
297            ),
298        'SCRIPT' => array(
299            ),
300        'REGEXPS' => array(
301            )
302        ),
303    'URLS' => array(
304        1 => '',
305        2 => '',
306        3 => '',
307        4 => '',
308        5 => '',
309        6 => '',
310        7 => '',
311        8 => '',
312        9 => '',
313        10 => '',
314        11 => '',
315        12 => ''
316        ),
317    'OOLANG' => false,
318    'OBJECT_SPLITTERS' => array(),
319    'REGEXPS' => array(
320        ),
321    'STRICT_MODE_APPLIES' => GESHI_NEVER,
322    'SCRIPT_DELIMITERS' => array(
323        ),
324    'HIGHLIGHT_STRICT_BLOCK' => array(
325        )
326);
327