1<?php
2/*************************************************************************************
3 * gdb.php
4 * --------
5 * Author: Milian Wolff (mail@milianw.de)
6 * Copyright: (c) 2009 Milian Wolff
7 * Release Version: 1.0.9.1
8 * Date Started: 2009/06/24
9 *
10 * GDB language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2009/06/24 (1.0.0)
15 *   -  First Release
16 *
17 * TODO (updated 2009/06/24)
18 * -------------------------
19 *
20 *************************************************************************************
21 *
22 *     This file is part of GeSHi.
23 *
24 *   GeSHi is free software; you can redistribute it and/or modify
25 *   it under the terms of the GNU General Public License as published by
26 *   the Free Software Foundation; either version 2 of the License, or
27 *   (at your option) any later version.
28 *
29 *   GeSHi is distributed in the hope that it will be useful,
30 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
31 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
32 *   GNU General Public License for more details.
33 *
34 *   You should have received a copy of the GNU General Public License
35 *   along with GeSHi; if not, write to the Free Software
36 *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
37 *
38 ************************************************************************************/
39
40$language_data = array (
41    'LANG_NAME' => 'GDB',
42    'COMMENT_SINGLE' => array(),
43    'COMMENT_MULTI' => array(),
44    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
45    'QUOTEMARKS' => array('"'),
46    'ESCAPE_CHAR' => '\\',
47    'KEYWORDS' => array(
48        0 => array(
49            'Application',
50            'signal',
51            ),
52        1 => array(
53            'Segmentation fault',
54            '[KCrash Handler]',
55            ),
56        ),
57    'NUMBERS' => false,
58    'SYMBOLS' => array(
59        ),
60    'CASE_SENSITIVE' => array(
61        0 => true,
62        1 => true
63        ),
64    'STYLES' => array(
65        'KEYWORDS' => array(
66            0 => 'font-weight:bold;',
67            1 => 'font-weight:bold; color: #ff0000;'
68            ),
69        'COMMENTS' => array(
70            ),
71        'ESCAPE_CHAR' => array(
72            0 => ''
73            ),
74        'BRACKETS' => array(
75            0 => 'font-weight:bold;'
76            ),
77        'STRINGS' => array(
78            0 => 'color: #933;'
79            ),
80        'NUMBERS' => array(
81            ),
82        'METHODS' => array(
83            ),
84        'SYMBOLS' => array(
85            ),
86        'REGEXPS' => array(
87            0 => 'color: #000066; font-weight:bold;',
88            1 => 'color: #006600;',
89            2 => 'color: #B07E00;',
90            3 => 'color: #0057AE; text-style:italic;',
91            4 => 'color: #0057AE; text-style:italic;',
92            5 => 'color: #442886;',
93            6 => 'color: #442886; font-weight:bold;',
94            7 => 'color: #FF0000; font-weight:bold;',
95            8 => 'color: #006E26;',
96            9 => 'color: #555;',
97            ),
98        'SCRIPT' => array(
99            )
100        ),
101    'URLS' => array(
102        0 => '',
103        1 => ''
104        ),
105    'OOLANG' => false,
106    'OBJECT_SPLITTERS' => array(
107        ),
108    'REGEXPS' => array(
109        //[Current Thread...], [KCrash Handler] etc.
110        0 => array(
111            GESHI_SEARCH => '^\[.+\]',
112            GESHI_REPLACE => '\\0',
113            GESHI_MODIFIERS => 'm',
114            GESHI_BEFORE => '',
115            GESHI_AFTER => ''
116            ),
117        //stack number
118        1 => array(
119            GESHI_SEARCH => '^#\d+',
120            GESHI_REPLACE => '\\0',
121            GESHI_MODIFIERS => 'm',
122            GESHI_BEFORE => '',
123            GESHI_AFTER => ''
124            ),
125        //Thread X (Thread...)
126        2 => array(
127            GESHI_SEARCH => '^Thread \d.+$',
128            GESHI_REPLACE => '\\0',
129            GESHI_MODIFIERS => 'm',
130            GESHI_BEFORE => '',
131            GESHI_AFTER => ''
132            ),
133        //Files with linenumbers
134        3 => array(
135            GESHI_SEARCH => '(at\s+)(.+)(:\d+\s*)$',
136            GESHI_REPLACE => '\\2',
137            GESHI_MODIFIERS => 'm',
138            GESHI_BEFORE => '\\1',
139            GESHI_AFTER => '\\3'
140            ),
141        //Libs without linenumbers
142        4 => array(
143            GESHI_SEARCH => '(from\s+)(.+)(\s*)$',
144            GESHI_REPLACE => '\\2',
145            GESHI_MODIFIERS => 'm',
146            GESHI_BEFORE => '\\1',
147            GESHI_AFTER => '\\3'
148            ),
149        //Line numbers
150        5 => array(
151            GESHI_SEARCH => '(:)(\d+)(\s*)$',
152            GESHI_REPLACE => '\\2',
153            GESHI_MODIFIERS => 'm',
154            GESHI_BEFORE => '\\1',
155            GESHI_AFTER => '\\3'
156            ),
157        //Location
158        6 => array(
159            GESHI_SEARCH => '(\s+)(in\s+)?([^ 0-9][^ ]*)([ \n]+\()',
160            GESHI_REPLACE => '\\3',
161            GESHI_MODIFIERS => '',
162            GESHI_BEFORE => '\\1\\2',
163            GESHI_AFTER => '\\4'
164            ),
165        // interesting parts: abort, qFatal, assertions, null ptrs, ...
166        7 => array(
167            GESHI_SEARCH => '\b((?:\*__GI_)?(?:__assert_fail|abort)|qFatal|0x0)\b([^\.]|$)',
168            GESHI_REPLACE => '\\1',
169            GESHI_MODIFIERS => '',
170            GESHI_BEFORE => '',
171            GESHI_AFTER => '\\2'
172            ),
173        // Namespace / Classes
174        8 => array(
175            GESHI_SEARCH => '\b(\w+)(::)',
176            GESHI_REPLACE => '\\1',
177            GESHI_MODIFIERS => 'U',
178            GESHI_BEFORE => '',
179            GESHI_AFTER => '\\2'
180            ),
181        // make ptr adresses and <value optimized out> uninteresting
182        9 => '\b(?:0x[a-f0-9]{2,}|value\s+optimized\s+out)\b'
183        ),
184    'STRICT_MODE_APPLIES' => GESHI_NEVER,
185    'SCRIPT_DELIMITERS' => array(
186        ),
187    'HIGHLIGHT_STRICT_BLOCK' => array(
188        ),
189    'PARSER_CONTROL' => array(
190        'ENABLE_FLAGS' => array(
191            'NUMBERS' => false
192            )
193        )
194);
195