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