|
1 <?php |
|
2 /************************************************************************************* |
|
3 * pic16.php |
|
4 * ------- |
|
5 * Author: Phil Mattison (mattison@ohmikron.com) |
|
6 * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/) |
|
7 * Release Version: 1.0.8.2 |
|
8 * Date Started: 2008/07/30 |
|
9 * |
|
10 * PIC16 Assembler language file for GeSHi. |
|
11 * |
|
12 * CHANGES |
|
13 * ------- |
|
14 * 2008/07/30 (1.0.8) |
|
15 * - First Release |
|
16 * |
|
17 * TODO (updated 2008/07/30) |
|
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' => 'PIC16', |
|
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 /*Instructions*/ |
|
49 1 => array( |
|
50 'addcf','adddcf','addlw','addwf','andlw','andwf','bc','bcf','bdc', |
|
51 'bnc','bndc','bnz','bsf','btfsc','btfss','bz','call','clrc','clrdc', |
|
52 'clrf','clrw','clrwdt','clrz','comf','decf','goto','incf','incfsz', |
|
53 'iorlw','iorwf','lcall','lgoto','movf','movfw','movlw','movwf', |
|
54 'option','negf','nop','retfie','retlw','return','rlf','rrf','setc', |
|
55 'setdc','setz','skpc','skpdc','skpnc','skpndc','skpnz','skpz', |
|
56 'sleep','subcf','subdcf','sublw','subwf','swapf','tris','tstf', |
|
57 'xorlw','xorwf' |
|
58 ), |
|
59 /*Registers*/ |
|
60 2 => array( |
|
61 'INDF','TMR0','OPTION','PCL','STATUS','FSR','PORTA','PORTB','PORTC', |
|
62 'PORTD','PORTE','PORTF','TRISA','TRISB','TRISC','TRISD','TRISE', |
|
63 'TRISF','PCLATH','INTCON','PIR1','PIE1','PCON','CMCON','VRCON', |
|
64 'F','W' |
|
65 ), |
|
66 /*Directives*/ |
|
67 3 => array( |
|
68 '_BADRAM','BANKISEL','BANKSEL','CBLOCK','CODE','_CONFIG','CONSTANT', |
|
69 'DA','DATA','DB','DE','#DEFINE','DT','DW','ELSE','END','ENDC', |
|
70 'ENDIF','ENDM','ENDW','EQU','ERROR','ERRORLEVEL','EXITM','EXPAND', |
|
71 'EXTERN','FILL','GLOBAL','IDATA','_IDLOCS','IF','IFDEF','IFNDEF', |
|
72 'INCLUDE','#INCLUDE','LIST','LOCAL','MACRO','_MAXRAM','MESSG', |
|
73 'NOEXPAND','NOLIST','ORG','PAGE','PAGESEL','PROCESSOR','RADIX', |
|
74 'RES','SET','SPACE','SUBTITLE','TITLE','UDATA','UDATA_ACS', |
|
75 'UDATA_OVR','UDATA_SHR','#UNDEFINE','VARIABLE','WHILE', |
|
76 'D','H','O','B','A' |
|
77 ), |
|
78 ), |
|
79 'SYMBOLS' => array('=','.',',',':'), |
|
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: #0000a0; font-weight: bold;', |
|
89 2 => 'color: #aa3300; font-weight: bold;', |
|
90 3 => 'color: #0000ff;', |
|
91 ), |
|
92 'COMMENTS' => array( |
|
93 1 => 'color: #00a000;' |
|
94 ), |
|
95 'ESCAPE_CHAR' => array( |
|
96 0 => 'color: #ff0000;' |
|
97 ), |
|
98 'BRACKETS' => array( |
|
99 0 => 'color: #0000ff;' |
|
100 ), |
|
101 'STRINGS' => array( |
|
102 0 => 'color: #ff7700;' |
|
103 ), |
|
104 'NUMBERS' => array( |
|
105 0 => 'color: #ff7700;' |
|
106 ), |
|
107 'METHODS' => array( |
|
108 ), |
|
109 'SYMBOLS' => array( |
|
110 0 => 'color: #7777ff;' |
|
111 ), |
|
112 'REGEXPS' => array(), |
|
113 'SCRIPT' => array() |
|
114 ), |
|
115 'URLS' => array( |
|
116 1 => '', |
|
117 2 => '', |
|
118 3 => '' |
|
119 ), |
|
120 'OOLANG' => false, |
|
121 'OBJECT_SPLITTERS' => array(), |
|
122 'NUMBERS' => |
|
123 GESHI_NUMBER_INT_BASIC | |
|
124 GESHI_NUMBER_BIN_SUFFIX | |
|
125 GESHI_NUMBER_HEX_PREFIX | |
|
126 GESHI_NUMBER_HEX_SUFFIX, |
|
127 'REGEXPS' => array( |
|
128 ), |
|
129 'STRICT_MODE_APPLIES' => GESHI_NEVER, |
|
130 'SCRIPT_DELIMITERS' => array(), |
|
131 'HIGHLIGHT_STRICT_BLOCK' => array(), |
|
132 'TAB_WIDTH' => 4, |
|
133 'PARSER_CONTROL' => array( |
|
134 'KEYWORDS' => array( |
|
135 'DISALLOWED_BEFORE' => "a-zA-Z0-9\$_\|\#>|^", |
|
136 'DISALLOWED_AFTER' => "a-zA-Z0-9_<\|%" |
|
137 ) |
|
138 ) |
|
139 ); |
|
140 |
|
141 ?> |