1<?php
2/*************************************************************************************
3 * 68000devpac.php
4 * -------
5 * Author: Warren Willmey
6 * Copyright: (c) 2010 Warren Willmey.
7 * Release Version: 1.0.9.1
8 * Date Started: 2010/06/09
9 *
10 * Motorola 68000 - HiSoft Devpac ST 2 Assembler language file for GeSHi.
11 *
12 * CHANGES
13 * -------
14 * 2010/07/22
15 *  -  First Release
16 *
17 * TODO (updated 2010/07/22)
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' => 'Motorola 68000 - HiSoft Devpac ST 2 Assembler format',
42    'COMMENT_SINGLE' => array(1 => ';'),
43    'COMMENT_MULTI' => array(),
44    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
45    'QUOTEMARKS' => array("'", '"'),
46    'ESCAPE_CHAR' => '',
47    'KEYWORDS' => array(
48        /* Directives. */
49        1 => array(
50            'end', 'include', 'incbin', 'opt', 'even', 'cnop', 'dc.b', 'dc.w',
51            'dc.l', 'ds.b', 'ds.w', 'ds.l', 'dcb.b', 'dcb.w', 'dcb.l',
52            'fail', 'output', '__g2', 'rept', 'endr', 'list', 'nolist', 'plen',
53            'llen', 'ttl', 'subttl', 'spc', 'page', 'listchar', 'format',
54            'equ', 'equr', 'set', 'reg', 'rs.b', 'rs.w', 'rs.l', 'rsreset',
55            'rsset', '__rs', 'ifeq', 'ifne', 'ifgt', 'ifge', 'iflt', 'ifle', 'endc',
56            'ifd', 'ifnd', 'ifc', 'ifnc', 'elseif', 'iif', 'macro', 'endm', 'mexit',
57            'narg', '\@', 'section', 'text', 'data', 'bss', 'xdef', 'xref', 'org',
58            'offset', '__lk', 'comment',
59            ),
60        /* 68000 Opcodes. */
61        2 => array(
62            'abcd',    'add', 'adda', 'addi', 'addq', 'addx',  'and', 'andi',
63            'asl',     'asr',  'bcc', 'bchg', 'bclr',  'bcs',  'beq',  'bge',
64            'bgt',     'bhi',  'ble',  'bls',  'blt',  'bmi',  'bne',  'bpl',
65            'bra',    'bset',  'bsr', 'btst',  'bvc',  'bvs',  'chk',  'clr',
66            'cmp',    'cmpa', 'cmpi', 'cmpm', 'dbcc', 'dbcs', 'dbeq',  'dbf',
67            'dbge',   'dbgt', 'dbhi', 'dble', 'dbls', 'dblt', 'dbmi', 'dbne',
68            'dbpl',   'dbra',  'dbt', 'dbvc', 'dbvs', 'divs', 'divu',  'eor',
69            'eori',    'exg',  'ext','illegal','jmp',  'jsr',  'lea', 'link',
70            'lsl',     'lsr', 'move','movea','movem','movep','moveq', 'muls',
71            'mulu',   'nbcd',  'neg', 'negx',  'nop',  'not',   'or',  'ori',
72            'pea',   'reset',  'rol',  'ror', 'roxl', 'roxr',  'rte',  'rtr',
73            'rts',    'sbcd',  'scc',  'scs',  'seq',   'sf',  'sge',  'sgt',
74            'shi',     'sle',  'sls',  'slt',  'smi',  'sne',  'spl',   'st',
75            'stop',    'sub', 'suba', 'subi', 'subq', 'subx',  'svc',  'svs',
76            'swap',    'tas', 'trap','trapv',  'tst', 'unlk',
77            ),
78        /* oprand sizes. */
79        3 => array(
80            'b', 'w', 'l' , 's'
81            ),
82        /* 68000 Registers. */
83        4 => array(
84            'd0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7',
85            'a0', 'a1', 'a2', 'a3', 'a4', 'a5', 'a6', 'a7', 'sp', 'usp', 'ssp',
86            'pc', 'ccr', 'sr',
87            ),
88        ),
89    'SYMBOLS' => array(
90//        '[', ']', '(', ')', '{', '}',    // These are already defined by GeSHi as BRACKETS.
91        '+', '-', '~', '<<', '>>', '&',
92        '!', '^', '*', '/', '=', '<', '>',
93        ),
94    'CASE_SENSITIVE' => array(
95        GESHI_COMMENTS => false,
96        1 => false,
97        2 => false,
98        3 => false,
99        4 => false,
100        ),
101    'STYLES' => array(
102        'KEYWORDS' => array(
103            1 => 'color: #f08; font-weight:bold;',
104            2 => 'color: #00f; font-weight:bold;',
105            3 => 'color: #00f; font-weight:bold;',
106            4 => 'color: #080; font-weight:bold;',
107            ),
108        'COMMENTS' => array(
109            1 => 'color: #999; font-style: italic;',
110            ),
111        'ESCAPE_CHAR' => array(
112            0 => 'color: #009; font-weight: bold;'
113            ),
114        'BRACKETS' => array(
115            0 => 'color: #000;'
116            ),
117        'STRINGS' => array(
118            0 => 'color: #080;'
119            ),
120        'NUMBERS' => array(
121            GESHI_NUMBER_INT_BASIC          => 'color: #f00;',
122            GESHI_NUMBER_HEX_PREFIX_DOLLAR  => 'color: #f00;',
123            GESHI_NUMBER_BIN_PREFIX_PERCENT => 'color: #f00;',
124            GESHI_NUMBER_OCT_PREFIX_AT      => 'color: #f00;',
125            ),
126        'METHODS' => array(
127            ),
128        'SYMBOLS' => array(
129            0 => 'color: #080;'
130            ),
131        'REGEXPS' => array(
132            0 => 'color: #933;'
133            ),
134        'SCRIPT' => array(
135            )
136        ),
137    'URLS' => array(
138        1 => '',
139        2 => '',
140        3 => '',
141        4 => '',
142        ),
143    'OOLANG' => false,
144    'OBJECT_SPLITTERS' => array(
145        ),
146    'NUMBERS' =>
147        GESHI_NUMBER_INT_BASIC |
148        GESHI_NUMBER_HEX_PREFIX_DOLLAR |
149        GESHI_NUMBER_OCT_PREFIX_AT |
150        GESHI_NUMBER_BIN_PREFIX_PERCENT,
151    'REGEXPS' => array(
152        //Labels may end in a colon.
153        0 => '(?<=\A\x20|\r|\n|^)[\._a-zA-Z][\._a-zA-Z0-9]*[\:]?[\s]'
154        ),
155    'STRICT_MODE_APPLIES' => GESHI_NEVER,
156    'SCRIPT_DELIMITERS' => array(
157        ),
158    'HIGHLIGHT_STRICT_BLOCK' => array(
159        ),
160    'TAB_WIDTH' => 8,
161    'PARSER_CONTROL' => array(
162        'NUMBERS' => array(
163            'PRECHECK_RX' => '/[\da-fA-F\.\$\%\@]/'
164            )
165        )
166);
167