1<?php
2/*************************************************************************************
3 * sparql.php
4 * -------
5 * Author: Karima Rafes (karima.rafes@bordercloud.com)
6 * Copyright: (c) 2011 Bourdercloud.com
7 * Release Version: 1.0.9.1
8 * Date Started: 2011/11/05
9 *
10 * SPARQL language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2011/11/05 (1.0.0)
15 *  -  First Release
16 *
17 * TODO
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' => 'SPARQL',
42    'COMMENT_SINGLE' => array('#'),
43    'COMMENT_MULTI' => array('/*' => '*/' ),
44    'COMMENT_REGEXP' => array(
45        //IRI (it's not a comment ;)
46        1 => "/<[^> ]*>/i"
47        ),
48    'CASE_KEYWORDS' => 1,
49    'QUOTEMARKS' => array("'", '"', '`'),
50    'ESCAPE_CHAR' => '\\',
51    'KEYWORDS' => array(
52        1 => array(
53            'BASE','PREFIX','SELECT','DISTINCT','REDUCED','CONSTRUCT','DESCRIBE','ASK','FROM',
54            'NAMED','WHERE','ORDER','BY','ASC','DESC','LIMIT','OFFSET','OPTIONAL','GRAPH',
55            'UNION','FILTER','STR','LANG','LANGMATCHES','DATATYPE','BOUND','SAMETERM',
56            'ISIRI','ISURI','ISBLANK',
57            'ISLITERAL','REGEX','SUBSTR','TRUE',
58            'FALSE','LOAD','CLEAR',
59            'DROP','ADD','MOVE','COPY',
60            'CREATE','DELETE','INSERT',
61            'USING','SILENT','DEFAULT','ALL',
62            'DATA','WITH','INTO','TO',
63            'AS','GROUP','HAVING','UNDEF',
64            'BINDINGS','SERVICE','BIND','MINUS_KEYWORD',
65            'IRI','URI', 'BNODE',
66            'RAND','ABS','CEIL','FLOOR','ROUND',
67            'CONCAT','STRLEN',
68            'UCASE','LCASE','ENCODE_FOR_URI',
69            'CONTAINS','STRSTARTS',
70            'STRENDS','STRBEFORE',
71            'STRAFTER','REPLACE',
72            'YEAR','MONTH',
73            'DAY','HOURS',
74            'MINUTES','SECONDS',
75            'TIMEZONE','TZ',
76            'NOW','MD5',
77            'SHA1','SHA224',
78            'SHA256','SHA384',
79            'SHA512','COALESCE',
80            'IF','STRLANG','STRDT',
81            'ISNUMERIC','COUNT',
82            'SUM','MIN',
83            'MAX','AVG','SAMPLE',
84            'GROUP_CONCAT ','NOT',
85            'IN','EXISTS','SEPARATOR'
86            )
87        ),
88    'REGEXPS' => array(
89        //Variables without braces
90        1 => "\\?[a-zA-Z_][a-zA-Z0-9_]*",
91        //prefix
92        2 => "[a-zA-Z_.\\-0-9]*:",
93        //tag lang
94        3 => "@[^ .)}]*",
95        ),
96    'SYMBOLS' => array(
97        0 => array(
98            '{', '}' , '.', ';'
99            ),
100        1 => array(
101            '^^',
102            '<=','>=','!=','=','<','>','|',
103            '&&','||',
104            '(',')','[', ']',
105            '+','-','*','!','/'
106            ),
107        ),
108    'CASE_SENSITIVE' => array(
109        GESHI_COMMENTS => false,
110        1 => false
111        ),
112    'STYLES' => array(
113        'KEYWORDS' => array(
114            1 => 'color: #993333; font-weight: bold;'
115            ),
116        'COMMENTS' => array(
117            0 => 'color: #808080; font-style: italic;',
118            1 => 'color: #000078;',
119            //2 => 'color: #808080; font-style: italic;',
120            'MULTI' => 'color: #808080; font-style: italic;',
121            ),
122        'ESCAPE_CHAR' => array(
123            0 => 'color: #000099; font-weight: bold;'
124            ),
125        'BRACKETS' => array(),
126        'STRINGS' => array(
127            0 => 'color: #ff0000;'
128            ),
129        'NUMBERS' => array(
130            0 => 'color: #FF63C3;'
131            ),
132        'METHODS' => array(
133            ),
134        'SYMBOLS' => array(
135            0 => 'color: #0000FF;',
136            1 => 'color: #FF8000; font-weight: bold;'
137            ),
138        'SCRIPT' => array(),
139        'REGEXPS' => array(
140            1 => 'color: #007800;',
141            2 => 'color: #780078;',
142            3 => 'color: #005078;'
143            )
144        ),
145    'URLS' => array(
146        1 => ''
147        ),
148    'OOLANG' => false,
149    'OBJECT_SPLITTERS' => array(),
150    'STRICT_MODE_APPLIES' => GESHI_NEVER,
151    'SCRIPT_DELIMITERS' => array(),
152    'HIGHLIGHT_STRICT_BLOCK' => array()
153);
154