plugins/geshi/geshi/qbasic.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     2 /*************************************************************************************
     2 /*************************************************************************************
     3  * qbasic.php
     3  * qbasic.php
     4  * ----------
     4  * ----------
     5  * Author: Nigel McNie (nigel@geshi.org)
     5  * Author: Nigel McNie (nigel@geshi.org)
     6  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
     6  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
     7  * Release Version: 1.0.7.20
     7  * Release Version: 1.0.8.2
     8  * Date Started: 2004/06/20
     8  * Date Started: 2004/06/20
     9  *
     9  *
    10  * QBasic/QuickBASIC language file for GeSHi.
    10  * QBasic/QuickBASIC language file for GeSHi.
    11  *
    11  *
    12  * CHANGES
    12  * CHANGES
    13  * -------
    13  * -------
       
    14  * 2008/05/23 (1.0.7.22)
       
    15  *  -  Added description of extra language features (SF#1970248)
    14  * 2004/11/27 (1.0.3)
    16  * 2004/11/27 (1.0.3)
    15  *  -  Added support for multiple object splitters
    17  *  -  Added support for multiple object splitters
    16  * 2004/10/27 (1.0.2)
    18  * 2004/10/27 (1.0.2)
    17  *   -  Added support for URLs
    19  *   -  Added support for URLs
    18  * 2004/08/05 (1.0.1)
    20  * 2004/08/05 (1.0.1)
    46  *   along with GeSHi; if not, write to the Free Software
    48  *   along with GeSHi; if not, write to the Free Software
    47  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    49  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    48  *
    50  *
    49  ************************************************************************************/
    51  ************************************************************************************/
    50 $language_data = array (
    52 $language_data = array (
    51 	'LANG_NAME' => 'QBasic/QuickBASIC',
    53     'LANG_NAME' => 'QBasic/QuickBASIC',
    52 	'COMMENT_SINGLE' => array(1 => "'", 2 => ' REM', 3 => "\tREM"),
    54     'COMMENT_SINGLE' => array(1 => "'"),
    53 	'COMMENT_MULTI' => array(),
    55     'COMMENT_MULTI' => array(),
    54 	'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
    56     'COMMENT_REGEXP' => array(
    55 	'QUOTEMARKS' => array('"'),
    57         //Single-Line Comments using REM command
    56 	'ESCAPE_CHAR' => '',
    58         2 => "/\bREM.*?$/i"
    57 	'KEYWORDS' => array(
    59         ),
    58 		1 => array(
    60     'CASE_KEYWORDS' => GESHI_CAPS_UPPER,
    59 			'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
    61     'QUOTEMARKS' => array('"'),
    60 			'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'RETURN', 'RESUME', 'SELECT',
    62     'ESCAPE_CHAR' => '',
    61 			'CASE', 'UNTIL'
    63     'KEYWORDS' => array(
    62 			),
    64         1 => array(
    63 		3 => array(
    65             'DO', 'LOOP', 'WHILE', 'WEND', 'THEN', 'ELSE', 'ELSEIF', 'IF',
    64 			'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
    66             'FOR', 'TO', 'NEXT', 'STEP', 'GOTO', 'GOSUB', 'CALL', 'CALLS',
    65 			'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL', 'CALL', 'CALLS', 'CASE',
    67             'SUB', 'FUNCTION', 'RETURN', 'RESUME', 'SELECT', 'CASE', 'UNTIL'
    66 			'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
    68             ),
    67 			'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
    69         3 => array(
    68 			'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
    70             'ABS', 'ABSOLUTE', 'ACCESS', 'ALIAS', 'AND', 'ANY', 'APPEND', 'AS', 'ASC', 'ATN',
    69 			'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
    71             'BASE', 'BEEP', 'BINARY', 'BLOAD', 'BSAVE', 'BYVAL',
    70 			'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
    72             'CDBL', 'CDECL', 'CHAIN', 'CHDIR', 'CHR$', 'CINT', 'CIRCLE', 'CLEAR',
    71 			'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
    73             'CLNG', 'CLOSE', 'CLS', 'COM', 'COMMAND$', 'COMMON', 'CONST', 'COS', 'CSNG',
    72 			'FILES', 'FIX', 'FRE', 'FREEFILE', 'FUNCTION', 'GET', 'HEX$', 'IMP', 'INKEY$',
    74             'CSRLIN', 'CVD', 'CVDMBF', 'CVI', 'CVL', 'CVS', 'CVSMDF', 'DATA', 'DATE$',
    73 			'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
    75             'DECLARE', 'DEF', 'FN', 'SEG', 'DEFDBL', 'DEFINT', 'DEFLNG', 'DEFSNG', 'DEFSTR',
    74 			'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
    76             'DIM', 'DOUBLE', 'DRAW', 'END', 'ENVIRON', 'ENVIRON$', 'EOF', 'EQV', 'ERASE',
    75 			'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'UNLOCK', 'LONG', 'LPOS', 'LPRINT',
    77             'ERDEV', 'ERDEV$', 'ERL', 'ERR', 'ERROR', 'EXIT', 'EXP', 'FIELD', 'FILEATTR',
    76 			'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
    78             'FILES', 'FIX', 'FRE', 'FREEFILE', 'GET', 'HEX$', 'IMP', 'INKEY$',
    77 			'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
    79             'INP', 'INPUT', 'INPUT$', 'INSTR', 'INT', 'INTEGER', 'IOCTL', 'IOCTL$', 'IS',
    78 			'STRIG', 'TIMER', 'UEVENT', 'OPEN', 'OPTION', 'BASE', 'OR', 'OUT', 'OUTPUT',
    80             'KEY', 'KILL', 'LBOUND', 'LCASE$', 'LEFT$', 'LEN', 'LET', 'LINE', 'LIST', 'LOC',
    79 			'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
    81             'LOCAL', 'LOCATE', 'LOCK', 'LOF', 'LOG', 'LONG', 'LPOS', 'LPRINT',
    80 			'PRINT', 'USING', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
    82             'LSET', 'LTRIM$', 'MID$', 'MKD$', 'MKDIR', 'MKDMBF$', 'MKI$', 'MKL$',
    81 			'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
    83             'MKS$', 'MKSMBF$', 'MOD', 'NAME', 'NOT', 'OCT$', 'OFF', 'ON', 'PEN', 'PLAY',
    82 			'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
    84             'OPEN', 'OPTION', 'OR', 'OUT', 'OUTPUT',
    83 			'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
    85             'PAINT', 'PALETTE', 'PCOPY', 'PEEK', 'PMAP', 'POINT', 'POKE', 'POS', 'PRESET',
    84 			'STRING', 'STRING$', 'SUB', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
    86             'PRINT', 'PSET', 'PUT', 'RANDOM', 'RANDOMIZE', 'READ', 'REDIM', 'RESET',
    85 			'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
    87             'RESTORE', 'RIGHT$', 'RMDIR', 'RND', 'RSET', 'RTRIM$', 'RUN', 'SADD', 'SCREEN',
    86 			'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
    88             'SEEK', 'SETMEM', 'SGN', 'SHARED', 'SHELL', 'SIGNAL', 'SIN', 'SINGLE', 'SLEEP',
    87 			)
    89             'SOUND', 'SPACE$', 'SPC', 'SQR', 'STATIC', 'STICK', 'STOP', 'STR$', 'STRIG',
    88 		),
    90             'STRING', 'STRING$', 'SWAP', 'SYSTEM', 'TAB', 'TAN', 'TIME$', 'TIMER',
    89 	'SYMBOLS' => array(
    91             'TROFF', 'TRON', 'TYPE', 'UBOUND', 'UCASE$', 'UEVENT', 'UNLOCK', 'USING', 'VAL',
    90 		'(', ')'
    92             'VARPTR', 'VARPTR$', 'VARSEG', 'VIEW', 'WAIT', 'WIDTH', 'WINDOW', 'WRITE', 'XOR'
    91 		),
    93             )
    92 	'CASE_SENSITIVE' => array(
    94         ),
    93 		GESHI_COMMENTS => false,
    95     'SYMBOLS' => array(
    94 		1 => false,
    96         '(', ')', ',', '+', '-', '*', '/', '=', '<', '>'
    95 		3 => false
    97         ),
    96 		),
    98     'CASE_SENSITIVE' => array(
    97 	'STYLES' => array(
    99         GESHI_COMMENTS => false,
    98 		'KEYWORDS' => array(
   100         1 => false,
    99 			1 => 'color: #a1a100;',
   101         3 => false
   100 			3 => 'color: #000066;'
   102         ),
   101 			),
   103     'STYLES' => array(
   102 		'COMMENTS' => array(
   104         'KEYWORDS' => array(
   103 			1 => 'color: #808080;',
   105             1 => 'color: #a1a100;',
   104 			2 => 'color: #808080;',
   106             3 => 'color: #000066;'
   105             3 => 'color: #808080;'
   107             ),
   106 			),
   108         'COMMENTS' => array(
   107 		'BRACKETS' => array(
   109             1 => 'color: #808080;',
   108 			0 => 'color: #66cc66;'
   110             2 => 'color: #808080;'
   109 			),
   111             ),
   110 		'STRINGS' => array(
   112         'BRACKETS' => array(
   111 			0 => 'color: #ff0000;'
   113             0 => 'color: #66cc66;'
   112 			),
   114             ),
   113 		'NUMBERS' => array(
   115         'STRINGS' => array(
   114 			0 => 'color: #cc66cc;'
   116             0 => 'color: #ff0000;'
   115 			),
   117             ),
   116 		'METHODS' => array(
   118         'NUMBERS' => array(
   117 			),
   119             0 => 'color: #cc66cc;'
   118 		'SYMBOLS' => array(
   120             ),
   119 			0 => 'color: #66cc66;'
   121         'METHODS' => array(
   120 			),
   122             ),
   121 		'ESCAPE_CHAR' => array(
   123         'SYMBOLS' => array(
   122 			0 => 'color: #000099;'
   124             0 => 'color: #66cc66;'
   123 			),
   125             ),
   124 		'SCRIPT' => array(
   126         'ESCAPE_CHAR' => array(
   125 			),
   127             0 => 'color: #000099;'
   126 		'REGEXPS' => array(
   128             ),
   127 			)
   129         'SCRIPT' => array(
   128 		),
   130             ),
   129 	'URLS' => array(
   131         'REGEXPS' => array(
   130 		1 => '',
   132             )
   131 		3 => 'http://www.qbasicnews.com/qboho/qck{FNAME}.shtml'
   133         ),
   132 		),
   134     'URLS' => array(
   133 	'OOLANG' => false,
   135         1 => '',
   134 	'OBJECT_SPLITTERS' => array(
   136         3 => 'http://www.qbasicnews.com/qboho/qck{FNAMEL}.shtml'
   135 		),
   137         ),
   136 	'REGEXPS' => array(
   138     'OOLANG' => false,
   137 		),
   139     'OBJECT_SPLITTERS' => array(
   138 	'STRICT_MODE_APPLIES' => GESHI_NEVER,
   140         ),
   139 	'SCRIPT_DELIMITERS' => array(
   141     'REGEXPS' => array(
   140 		),
   142         ),
   141 	'HIGHLIGHT_STRICT_BLOCK' => array(
   143     'STRICT_MODE_APPLIES' => GESHI_NEVER,
       
   144     'SCRIPT_DELIMITERS' => array(
       
   145         ),
       
   146     'HIGHLIGHT_STRICT_BLOCK' => array(
   142         ),
   147         ),
   143     'TAB_WIDTH' => 8
   148     'TAB_WIDTH' => 8
   144 );
   149 );
   145 
   150 
   146 ?>
   151 ?>