plugins/geshi/geshi/fortran.php
changeset 2 9e3258dfae15
parent 0 441963e5b07a
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
     2 /*************************************************************************************
     2 /*************************************************************************************
     3  * fortran.php
     3  * fortran.php
     4  * -----------
     4  * -----------
     5  * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
     5  * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
     6  * Copyright: (C) 2006 Cetric Arrabie
     6  * Copyright: (C) 2006 Cetric Arrabie
     7  * Release Version: 1.0.7.20
     7  * Release Version: 1.0.8.2
     8  * Date Started: 2006/04/22
     8  * Date Started: 2006/04/22
     9  * 
     9  *
    10  * Fortran language file for GeSHi.
    10  * Fortran 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  * 2006/04/20 (1.0.0)
    16  * 2006/04/20 (1.0.0)
    15  *   -  First Release
    17  *   -  First Release
    16  *
    18  *
    17  * TODO 
    19  * TODO
    18  * -------------------------
    20  * -------------------------
    19  *  -  Get a list of inbuilt functions to add (and explore fortran more
    21  *  -  Get a list of inbuilt functions to add (and explore fortran more
    20  *     to complete this rather bare language file)
    22  *     to complete this rather bare language file)
    21  *
    23  *
    22  *************************************************************************************
    24  *************************************************************************************
    38  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    40  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    39  *
    41  *
    40  ************************************************************************************/
    42  ************************************************************************************/
    41 
    43 
    42 $language_data = array (
    44 $language_data = array (
    43 	'LANG_NAME'=>'Fortran',
    45     'LANG_NAME'=>'Fortran',
    44 	'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
    46     'COMMENT_SINGLE'=> array(1 =>'!',2=>'Cf2py'),
    45 	'COMMENT_MULTI'=> array(),
    47     'COMMENT_MULTI'=> array(),
    46 	'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
    48     //Fortran Comments
    47 	'QUOTEMARKS'=> array("'",'"'),
    49     'COMMENT_REGEXP' => array(1 => '/^C.*?$/mi'),
    48 	'ESCAPE_CHAR'=>'\\',
    50     'CASE_KEYWORDS'=> GESHI_CAPS_NO_CHANGE,
    49 	'KEYWORDS'=> array(
    51     'QUOTEMARKS'=> array("'",'"'),
    50 		1 => array(
    52     'ESCAPE_CHAR'=>'\\',
    51 			'allocate','block','call','case','contains','continue','cycle','deallocate',
    53     'KEYWORDS'=> array(
    52 			'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
    54         1 => array(
    53 			'entry','exit','function','go','goto','if','interface','module','nullify','only', 
    55             'allocate','block','call','case','contains','continue','cycle','deallocate',
    54 			'operator','procedure','program','recursive','return','select','stop', 
    56             'default','do','else','elseif','elsewhere','end','enddo','endif','endwhere',
    55 			'subroutine','then','to','where','while',
    57             'entry','exit','function','go','goto','if','interface','module','nullify','only',
       
    58             'operator','procedure','program','recursive','return','select','stop',
       
    59             'subroutine','then','to','where','while',
    56             'access','action','advance','blank','blocksize','carriagecontrol',
    60             'access','action','advance','blank','blocksize','carriagecontrol',
    57 			'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
    61             'delim','direct','eor','err','exist','file','flen','fmt','form','formatted',
    58 			'iostat','name','named','nextrec','nml','number','opened','pad','position',
    62             'iostat','name','named','nextrec','nml','number','opened','pad','position',
    59 			'readwrite','recl','sequential','status','unformatted','unit'
    63             'readwrite','recl','sequential','status','unformatted','unit'
    60 			),
    64             ),
    61 		2 => array(
    65         2 => array(
    62 			'.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
    66             '.AND.','.EQ.','.EQV.','.GE.','.GT.','.LE.','.LT.','.NE.','.NEQV.','.NOT.',
    63 			'.OR.','.TRUE.','.FALSE.'
    67             '.OR.','.TRUE.','.FALSE.'
    64 			),
    68             ),
    65 		3 => array(
    69         3 => array(
    66 			'allocatable','character','common','complex','data','dimension','double',
    70             'allocatable','character','common','complex','data','dimension','double',
    67 			'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
    71             'equivalence','external','implicit','in','inout','integer','intent','intrinsic',
    68 			'kind','logical','namelist','none','optional','out','parameter','pointer',
    72             'kind','logical','namelist','none','optional','out','parameter','pointer',
    69 			'private','public','real','result','save','sequence','target','type','use'
    73             'private','public','real','result','save','sequence','target','type','use'
    70 			),
    74             ),
    71 		4 => array(
    75         4 => array(
    72 			'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
    76             'abs','achar','acos','adjustl','adjustr','aimag','aint','all','allocated',
    73 			'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
    77             'anint','any','asin','atan','atan2','bit_size','break','btest','carg',
    74 			'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
    78             'ceiling','char','cmplx','conjg','cos','cosh','cpu_time','count','cshift',
    75 			'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
    79             'date_and_time','dble','digits','dim','dot_product','dprod dvchk',
    76 			'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
    80             'eoshift','epsilon','error','exp','exponent','floor','flush','fraction',
    77 			'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
    81             'getcl','huge','iachar','iand','ibclr','ibits','ibset','ichar','ieor','index',
    78 			'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
    82             'int','intrup','invalop','ior','iostat_msg','ishft','ishftc','lbound',
    79 			'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
    83             'len','len_trim','lge','lgt','lle','llt','log','log10','matmul','max','maxexponent',
    80 			'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
    84             'maxloc','maxval','merge','min','minexponent','minloc','minval','mod','modulo',
    81 			'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
    85             'mvbits','nbreak','ndperr','ndpexc','nearest','nint','not','offset','ovefl',
    82 			'pack','precfill','precision','present','product','prompt','radix',
    86             'pack','precfill','precision','present','product','prompt','radix',
    83 			'random_number','random_seed','range','repeat','reshape','rrspacing',
    87             'random_number','random_seed','range','repeat','reshape','rrspacing',
    84 			'scale','scan','segment','selected_int_kind','selected_real_kind',
    88             'scale','scan','segment','selected_int_kind','selected_real_kind',
    85 			'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
    89             'set_exponent','shape','sign','sin','sinh','size','spacing','spread','sqrt',
    86 			'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
    90             'sum system','system_clock','tan','tanh','timer','tiny','transfer','transpose',
    87 			'trim','ubound','undfl','unpack','val','verify'
    91             'trim','ubound','undfl','unpack','val','verify'
    88 			),
    92             ),
    89 		),
    93         ),
    90 	'SYMBOLS'=> array(
    94     'SYMBOLS'=> array(
    91 		'(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
    95         '(',')','{','}','[',']','=','+','-','*','/','!','%','^','&',':'
    92 		),
    96         ),
    93 	'CASE_SENSITIVE'=> array(
    97     'CASE_SENSITIVE'=> array(
    94 		GESHI_COMMENTS => true,
    98         GESHI_COMMENTS => true,
    95 		1 => false,
    99         1 => false,
    96 		2 => false,
   100         2 => false,
    97 		3 => false,
   101         3 => false,
    98 		4 => false,
   102         4 => false,
    99 		),
   103         ),
   100 	'STYLES'=> array(
   104     'STYLES'=> array(
   101 		'KEYWORDS'=> array(
   105         'KEYWORDS'=> array(
   102 			1 =>'color: #b1b100;',
   106             1 =>'color: #b1b100;',
   103 			2 =>'color: #000000; font-weight: bold;',
   107             2 =>'color: #000000; font-weight: bold;',
   104 			3 =>'color: #000066;',
   108             3 =>'color: #000066;',
   105 			4 =>'color: #993333;'
   109             4 =>'color: #993333;'
   106 			),
   110             ),
   107 		'COMMENTS'=> array(
   111         'COMMENTS'=> array(
   108 			1 =>'color: #808080; font-style: italic;',
   112             1 =>'color: #666666; font-style: italic;',
   109 			2 =>'color: #339933;',
   113             2 =>'color: #339933;',
   110 			'MULTI'=>'color: #808080; font-style: italic;'
   114             'MULTI'=>'color: #808080; font-style: italic;'
   111 			),
   115             ),
   112 		'ESCAPE_CHAR'=> array(
   116         'ESCAPE_CHAR'=> array(
   113 			0 =>'color: #000099; font-weight: bold;'
   117             0 =>'color: #000099; font-weight: bold;'
   114 			),
   118             ),
   115 		'BRACKETS'=> array(
   119         'BRACKETS'=> array(
   116 			0 =>'color: #66cc66;'
   120             0 =>'color: #009900;'
   117 			),
   121             ),
   118 		'STRINGS'=> array(
   122         'STRINGS'=> array(
   119 			0 =>'color: #ff0000;'
   123             0 =>'color: #ff0000;'
   120 			),
   124             ),
   121 		'NUMBERS'=> array(
   125         'NUMBERS'=> array(
   122 			0 =>'color: #cc66cc;'
   126             0 =>'color: #cc66cc;'
   123 			),
   127             ),
   124 		'METHODS'=> array(
   128         'METHODS'=> array(
   125 			1 =>'color: #202020;',
   129             1 =>'color: #202020;',
   126 			2 =>'color: #202020;'
   130             2 =>'color: #202020;'
   127 			),
   131             ),
   128 		'SYMBOLS'=> array(
   132         'SYMBOLS'=> array(
   129 			0 =>'color: #66cc66;'
   133             0 =>'color: #339933;'
   130 			),
   134             ),
   131 		'REGEXPS'=> array(
   135         'REGEXPS'=> array(
   132 			),
   136             ),
   133 		'SCRIPT'=> array(
   137         'SCRIPT'=> array(
   134 			)
   138             )
   135 		),
   139         ),
   136 	'URLS'=> array(
   140     'URLS'=> array(
   137 		1 =>'',
   141         1 =>'',
   138 		2 =>'',
   142         2 =>'',
   139 		3 =>'',
   143         3 =>'',
   140 		4 =>''
   144         4 =>''
   141 		),
   145         ),
   142 	'OOLANG'=> true,
   146     'OOLANG'=> true,
   143 	'OBJECT_SPLITTERS'=> array(
   147     'OBJECT_SPLITTERS'=> array(
   144 		1 =>'.',
   148         1 =>'.',
   145 		2 =>'::'
   149         2 =>'::'
   146 		),
   150         ),
   147 	'REGEXPS'=> array(
   151     'REGEXPS'=> array(
   148 		),
   152         ),
   149 	'STRICT_MODE_APPLIES'=> GESHI_NEVER,
   153     'STRICT_MODE_APPLIES'=> GESHI_NEVER,
   150 	'SCRIPT_DELIMITERS'=> array(
   154     'SCRIPT_DELIMITERS'=> array(
   151 		),
   155         ),
   152 	'HIGHLIGHT_STRICT_BLOCK'=> array(
   156     'HIGHLIGHT_STRICT_BLOCK'=> array(
   153 		)
   157         )
   154 );
   158 );
   155 
   159 
   156 ?>
   160 ?>