ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
jcl.php
Go to the documentation of this file.
1<?php
2/*************************************************************************************
3 * jcl.php
4 * -----------
5 * Author: Ramesh Vishveshwar (ramesh.vishveshwar@gmail.com)
6 * Copyright: (c) 2012 Ramesh Vishveshwar (http://thecodeisclear.in)
7 * Release Version: 1.0.9.0
8 * Date Started: 2011/09/16
9 *
10 * JCL (MVS), DFSORT, IDCAMS language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2011/09/16 (1.0.0)
15 * - Internal Release (for own blog/testing)
16 * 2012/09/22 (1.0.1)
17 * - Released with support for DFSORT, ICETOOL, IDCAMS
18 * - Added support for Symbolic variables in JCL
19 * - Added support for TWS OPC variables
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
42 'LANG_NAME' => 'JCL',
43 'COMMENT_SINGLE' => array(),
44 'COMMENT_MULTI' => array(),
45 'COMMENT_REGEXP' => array(
46 // Comments identified using REGEX
47 // Comments start with //* but should not be followed by % (TWS) or + (some JES3 stmts)
48 3 => "\/\/\*[^%](.*?)(\n)"
49 ),
50 'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
51 'QUOTEMARKS' => array("'", '"'),
52 'ESCAPE_CHAR' => '',
53 'KEYWORDS' => array(
54 1 => array(
55 'COMMAND', 'CNTL', 'DD', 'ENDCNTL', 'EXEC', 'IF', 'THEN', 'ELSE',
56 'ENDIF', 'JCLLIB', 'JOB', 'OUTPUT', 'PEND',
57 'PROC', 'SET', 'XMIT'
58 ),
59 2 => array (
60 'PGM','CLASS','NOTIFY','MSGCLASS','DSN','KEYLEN','LABEL','LIKE',
61 'RECFM','LRECL','DCB','DSORG','BLKSIZE','SPACE','STORCLAS',
62 'DUMMY','DYNAM','AVGREC','BURST','DISP','UNIT','VOLUME',
63 'MSGLEVEL','REGION'
64 ),
65 // Keywords set 3: DFSORT, ICETOOL
66 3 => array (
67 'ALTSEQ','DEBUG','END','INCLUDE','INREC','MERGE','MODS','OMIT',
68 'OPTION','OUTFIL','OUTREC','RECORD','SORT','SUM',
69 'COPY','COUNT','DEFAULTS','DISPLAY','MODE','OCCUR','RANGE',
70 'SELECT','STATS','UNIQUE','VERIFY'
71 ),
72 // Keywords set 4: IDCAMS
73 4 => array (
74 'ALTER','BLDINDEX','CNVTCAT','DEFINE','ALIAS','ALTERNATEINDEX',
75 'CLUSTER','GENERATIONDATAGROUP','GDG','NONVSAM','PAGESPACE','PATH',
76 /* 'SPACE',*/'USERCATALOG','DELETE','EXAMINE','EXPORT','DISCONNECT',
77 'EXPORTRA','IMPORT','CONNECT','IMPORTRA','LISTCAT','LISTCRA',
78 'PRINT','REPRO','RESETCAT'//,'VERIFY'
79 )
80 ),
81 'SYMBOLS' => array(
82 '(',')','=',',','>','<'
83 ),
84 'CASE_SENSITIVE' => array(
85 GESHI_COMMENTS => false,
86 1 => false,
87 2 => false,
88 3 => false,
89 4 => false
90 ),
91 'STYLES' => array(
92 'KEYWORDS' => array(
93 1 => 'color: #FF0000;',
94 2 => 'color: #21A502;',
95 3 => 'color: #FF00FF;',
96 4 => 'color: #876C00;'
97 ),
98 'COMMENTS' => array(
99 0 => 'color: #0000FF;',
100 //1 => 'color: #0000FF;',
101 //2 => 'color: #0000FF;',
102 3 => 'color: #0000FF;'
103 ),
104 'ESCAPE_CHAR' => array(
105 0 => ''
106 ),
107 'BRACKETS' => array(
108 0 => 'color: #FF7400;'
109 ),
110 'STRINGS' => array(
111 0 => 'color: #66CC66;'
112 ),
113 'NUMBERS' => array(
114 0 => 'color: #336633;'
115 ),
116 'METHODS' => array(
117 1 => '',
118 2 => ''
119 ),
120 'SYMBOLS' => array(
121 0 => 'color: #FF7400;'
122 ),
123 'REGEXPS' => array(
124 0 => 'color: #6B1F6B;',
125 1 => 'color: #6B1F6B;',
126 2 => 'color: #6B1F6B;'
127 ),
128 'SCRIPT' => array(
129 0 => ''
130 )
131 ),
132 'URLS' => array(
133 1 => '',
134 // JCL book at IBM Bookshelf is http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/IEA2B680/CONTENTS?SHELF=&DT=20080604022956#3.1
135 2 => '',
136 3 => '',
137 4 => ''
138 ),
139 'OOLANG' => false,
140 'OBJECT_SPLITTERS' => array(),
141 'REGEXPS' => array(
142 // The following regular expressions solves three purposes
143 // - Identify Temp Variables in JCL (e.g. &&TEMP)
144 // - Symbolic variables in JCL (e.g. &SYSUID)
145 // - TWS OPC Variables (e.g. %OPC)
146 // Thanks to Simon for pointing me to this
147 0 => '&amp;&amp;[a-zA-Z]{1,8}[0-9]{0,}',
148 1 => '&amp;[a-zA-Z]{1,8}[0-9]{0,}',
149 2 => '&amp;|\?|%[a-zA-Z]{1,8}[0-9]{0,}'
150 ),
151 'STRICT_MODE_APPLIES' => GESHI_NEVER,
152 'SCRIPT_DELIMITERS' => array(
153 ),
154 'HIGHLIGHT_STRICT_BLOCK' => array()
155);
An exception for terminatinating execution or to throw for unit testing.
const GESHI_COMMENTS
Used in language files to mark comments.
Definition: geshi.php:149
const GESHI_NEVER
#+ @access private
Definition: geshi.php:123
const GESHI_CAPS_UPPER
Uppercase keywords found.
Definition: geshi.php:96
$language_data
Definition: jcl.php:41