1<?php
2/*************************************************************************************
3 * z80.php
4 * -------
5 * Author: Benny Baumann (BenBE@omorphia.de)
6 * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/)
7 * Release Version: 1.0.9.1
8 * Date Started: 2007/02/06
9 *
10 * ZiLOG Z80 Assembler language file for GeSHi.
11 * Syntax definition as commonly used with table assembler TASM32
12 * This file will contain some undocumented opcodes.
13 *
14 * CHANGES
15 * -------
16 * 2008/05/23 (1.0.7.22)
17 *   -  Added description of extra language features (SF#1970248)
18 * 2007/06/03 (1.0.1)
19 *   -  Fixed two typos in the language file
20 * 2007/02/06 (1.0.0)
21 *   -  First Release
22 *
23 * TODO (updated 2007/02/06)
24 * -------------------------
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' => 'ZiLOG Z80 Assembler',
48    'COMMENT_SINGLE' => array(1 => ';'),
49    'COMMENT_MULTI' => array(),
50    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
51    'QUOTEMARKS' => array("'", '"'),
52    'ESCAPE_CHAR' => '',
53    'KEYWORDS' => array(
54        /*CPU*/
55        1 => array(
56            'adc','add','and','bit','call','ccf','cp','cpd','cpdr','cpir','cpi',
57            'cpl','daa','dec','di','djnz','ei','ex','exx','halt','im','in',
58            'in0','inc','ind','indr','inir','ini','jp','jr','ld','ldd','lddr',
59            'ldir','ldi','mlt','neg','nop','or','otdm','otdmr','otdr','otim',
60            'otimr','otir','out','out0','outd','outi','pop','push','res','ret',
61            'reti','retn','rl','rla','rlc','rlca','rld','rr','rra','rrc','rrca',
62            'rrd','rst','sbc','scf','set','sla','sl1','sll','slp','sra','srl',
63            'sub','tst','tstio','xor'
64            ),
65        /*registers*/
66        2 => array(
67            'a','b','c','d','e','h','l',
68            'af','bc','de','hl','ix','iy','sp',
69            'af\'','ixh','ixl','iyh','iyl'
70            ),
71        /*Directive*/
72        3 => array(
73            '#define','#endif','#else','#ifdef','#ifndef','#include','#undef',
74            '.db','.dd','.df','.dq','.dt','.dw','.end','.org','equ'
75            ),
76        ),
77    'SYMBOLS' => array(
78        '[', ']', '(', ')', '?', '+', '-', '*', '/', '%', '$'
79        ),
80    'CASE_SENSITIVE' => array(
81        GESHI_COMMENTS => false,
82        1 => false,
83        2 => false,
84        3 => false,
85        ),
86    'STYLES' => array(
87        'KEYWORDS' => array(
88            1 => 'color: #0000ff; font-weight:bold;',
89            2 => 'color: #0000ff;',
90            3 => 'color: #46aa03; font-weight:bold;'
91            ),
92        'COMMENTS' => array(
93            1 => 'color: #adadad; font-style: italic;',
94            ),
95        'ESCAPE_CHAR' => array(
96            0 => 'color: #000099; font-weight: bold;'
97            ),
98        'BRACKETS' => array(
99            0 => 'color: #0000ff;'
100            ),
101        'STRINGS' => array(
102            0 => 'color: #7f007f;'
103            ),
104        'NUMBERS' => array(
105            0 => 'color: #dd22dd;'
106            ),
107        'METHODS' => array(
108            ),
109        'SYMBOLS' => array(
110            0 => 'color: #008000;'
111            ),
112        'REGEXPS' => array(
113            0 => 'color: #22bbff;',
114            1 => 'color: #22bbff;',
115            2 => 'color: #993333;'
116            ),
117        'SCRIPT' => array(
118            )
119        ),
120    'URLS' => array(
121        1 => '',
122        2 => '',
123        3 => ''
124        ),
125    'OOLANG' => false,
126    'OBJECT_SPLITTERS' => array(
127        ),
128    'REGEXPS' => array(
129        //Hex numbers
130        0 => '0[0-9a-fA-F]{1,32}[hH]',
131        //Binary numbers
132        1 => '\%[01]{1,64}|[01]{1,64}[bB]?(?![^<]*>)',
133        //Labels
134        2 => '^[_a-zA-Z][_a-zA-Z0-9]?\:'
135        ),
136    'STRICT_MODE_APPLIES' => GESHI_NEVER,
137    'SCRIPT_DELIMITERS' => array(
138        ),
139    'HIGHLIGHT_STRICT_BLOCK' => array(
140        ),
141    'TAB_WIDTH' => 8
142);
143