added todos
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / editors / PHPScanner.java
1 package net.sourceforge.phpeclipse.editors;
2
3
4 import java.awt.font.*;
5 import java.util.*;
6 import org.eclipse.jface.text.rules.*;
7 import sun.awt.font.NewArabicShaping;
8 import org.eclipse.jface.text.rules.*;
9 import org.eclipse.jface.text.TextAttribute;
10 import org.eclipse.swt.SWT;
11
12
13 public class PHPScanner extends RuleBasedScanner
14 {
15
16         public PHPScanner(ColorManager manager)
17         {
18                 List rules = new ArrayList();
19                 IToken procInstr =new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PROC_INSTR)));
20                 
21                 IToken php_string   = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_STRING), null, SWT.DEFAULT) );
22                 IToken php_default  = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_DEFAULT), null, SWT.BOLD) );
23                 IToken php_tag      = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_TAG), null, SWT.DEFAULT) );
24         IToken php_comment  = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_COMMENT), null, SWT.DEFAULT) );
25         IToken php_fonction = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_FONCTION), null, SWT.BOLD) );
26                 IToken php_operator = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_OPERATOR))); 
27                 IToken php_variable     = new Token(new TextAttribute(manager.getColor(IPHPColorConstants.PHP_VARIABLE)));
28
29                 //Add rule for processing instructions
30                 rules.add(new SingleLineRule("<?", "?>", php_tag));
31                 rules.add(new SingleLineRule("<?php", "?>", php_tag));
32                 rules.add(new SingleLineRule("<?PHP", "?>", php_tag));
33                 rules.add(new SingleLineRule("\"", "\"", php_string));
34                 rules.add(new SingleLineRule("'", "'", php_string));
35                 rules.add(new SingleLineRule("//", "//", php_comment));
36
37 //              rules.add(new SingleLineRule("[", "]", php_operator));
38 //              rules.add(new SingleLineRule("(", ")", php_operator));
39                 
40                 //
41                 WordRule rule = new WordRule( new WordDetector() );
42                 rule.addWord( "if", php_default);
43                 rule.addWord( "else", php_default);
44                 rule.addWord( "elseif", php_default);
45                 rule.addWord( "while", php_default);
46                 rule.addWord( "do", php_default);
47                 rule.addWord( "for", php_default);
48                 rule.addWord( "foreach", php_default);
49                 rule.addWord( "break", php_default);
50                 rule.addWord( "continue", php_default);
51                 rule.addWord( "switch", php_default);
52                 rule.addWord( "declare", php_default);
53                 rule.addWord( "ticks", php_default);
54                 rule.addWord( "require", php_default);
55                 rule.addWord( "include", php_default);
56                 rule.addWord( "true", php_default);
57                 rule.addWord( "false", php_default);
58
59                 rule.addWord( "abs", php_fonction);
60                 rule.addWord( "acos", php_fonction);
61                 rule.addWord( "addcslashes", php_fonction);
62                 rule.addWord( "addslashes", php_fonction);
63                 rule.addWord( "apache_lookup_uri", php_fonction);
64                 rule.addWord( "apache_note", php_fonction);
65                 rule.addWord( "array", php_fonction);
66                 rule.addWord( "array_count_values", php_fonction);
67                 rule.addWord( "array_diff", php_fonction);
68                 rule.addWord( "array_filter", php_fonction);
69                 rule.addWord( "array_flip", php_fonction);
70                 rule.addWord( "array_intersect", php_fonction);
71                 rule.addWord( "array_keys", php_fonction);
72                 rule.addWord( "array_map", php_fonction);
73                 rule.addWord( "array_merge", php_fonction);
74                 rule.addWord( "array_merge_recursive", php_fonction);
75                 rule.addWord( "array_multisort", php_fonction);
76                 rule.addWord( "array_pad", php_fonction);
77                 rule.addWord( "array_pop", php_fonction);
78                 rule.addWord( "array_push", php_fonction);
79                 rule.addWord( "array_rand", php_fonction);
80                 rule.addWord( "array_reduce", php_fonction);
81                 rule.addWord( "array_reverse", php_fonction);
82                 rule.addWord( "array_search", php_fonction);
83                 rule.addWord( "array_shift", php_fonction);
84                 rule.addWord( "array_slice", php_fonction);
85                 rule.addWord( "array_splice", php_fonction);
86                 rule.addWord( "array_sum", php_fonction);
87                 rule.addWord( "array_unique", php_fonction);
88                 rule.addWord( "array_unshift", php_fonction);
89                 rule.addWord( "array_values", php_fonction);
90                 rule.addWord( "array_walk", php_fonction);
91                 rule.addWord( "arsort", php_fonction);
92                 rule.addWord( "ascii2ebcdic", php_fonction);
93                 rule.addWord( "asin", php_fonction);
94                 rule.addWord( "asort", php_fonction);
95                 rule.addWord( "assert", php_fonction);
96                 rule.addWord( "assert-options", php_fonction);
97                 rule.addWord( "atan", php_fonction);
98                 rule.addWord( "atan2", php_fonction);
99                 rule.addWord( "base64_decode", php_fonction);
100                 rule.addWord( "base64_encode", php_fonction);
101                 rule.addWord( "base_convert", php_fonction);
102                 rule.addWord( "basename", php_fonction);
103                 rule.addWord( "bin2hex", php_fonction);
104                 rule.addWord( "bindec", php_fonction);
105                 rule.addWord( "call_user_method", php_fonction);
106                 rule.addWord( "call_user_method_array", php_fonction);
107                 rule.addWord( "ceil", php_fonction);
108                 rule.addWord( "chdir", php_fonction);
109                 rule.addWord( "checkdate", php_fonction);
110                 rule.addWord( "checkdnsrr", php_fonction);
111                 rule.addWord( "chgrp", php_fonction);
112                 rule.addWord( "chmod", php_fonction);
113                 rule.addWord( "chop", php_fonction);
114                 rule.addWord( "chown", php_fonction);
115                 rule.addWord( "chr", php_fonction);
116                 rule.addWord( "chroot", php_fonction);
117                 rule.addWord( "chunk_split", php_fonction);
118                 rule.addWord( "class_exists", php_fonction);
119                 rule.addWord( "clearstatcache", php_fonction);
120                 rule.addWord( "closedir", php_fonction);
121                 rule.addWord( "closelog", php_fonction);
122                 rule.addWord( "compact", php_fonction);
123                 rule.addWord( "connection_aborted", php_fonction);
124                 rule.addWord( "connection_status", php_fonction);
125                 rule.addWord( "connection_timeout", php_fonction);
126                 rule.addWord( "constant", php_fonction);
127                 rule.addWord( "convert_cyr_string", php_fonction);
128                 rule.addWord( "copy", php_fonction);
129                 rule.addWord( "cos", php_fonction);
130                 rule.addWord( "count", php_fonction);
131                 rule.addWord( "count_chars", php_fonction);
132                 rule.addWord( "crc32", php_fonction);
133                 rule.addWord( "crypt", php_fonction);
134                 rule.addWord( "current", php_fonction);
135                 rule.addWord( "date", php_fonction);
136                 rule.addWord( "debugger_off", php_fonction);
137                 rule.addWord( "debugger_on", php_fonction);
138                 rule.addWord( "decbin", php_fonction);
139                 rule.addWord( "dechex", php_fonction);
140                 rule.addWord( "decoct", php_fonction);
141                 rule.addWord( "define", php_fonction);
142                 rule.addWord( "define_syslog_variables", php_fonction);
143                 rule.addWord( "defined", php_fonction);
144                 rule.addWord( "deg2rad", php_fonction);
145                 rule.addWord( "delete", php_fonction);
146                 rule.addWord( "die", php_fonction);
147                 rule.addWord( "dir", php_fonction);
148                 rule.addWord( "dirname", php_fonction);
149                 rule.addWord( "disk_total_space", php_fonction);
150                 rule.addWord( "diskfreespace", php_fonction);
151                 rule.addWord( "dl", php_fonction);
152                 rule.addWord( "doubleval", php_fonction);
153                 rule.addWord( "each", php_fonction);
154                 rule.addWord( "easter_date", php_fonction);
155                 rule.addWord( "easter_days", php_fonction);
156                 rule.addWord( "ebcdic2ascii", php_fonction);
157                 rule.addWord( "echo", php_fonction);
158                 rule.addWord( "empty", php_fonction);
159                 rule.addWord( "end", php_fonction);
160                 rule.addWord( "error_log", php_fonction);
161                 rule.addWord( "error_reporting", php_fonction);
162                 rule.addWord( "eval", php_fonction);
163                 rule.addWord( "exit", php_fonction);
164                 rule.addWord( "exp", php_fonction);
165                 rule.addWord( "explode", php_fonction);
166                 rule.addWord( "extension_loaded", php_fonction);
167                 rule.addWord( "extract", php_fonction);
168                 rule.addWord( "ezmlm_hash", php_fonction);
169                 rule.addWord( "fclose", php_fonction);
170                 rule.addWord( "feof", php_fonction);
171                 rule.addWord( "fflush", php_fonction);
172                 rule.addWord( "fgetc", php_fonction);
173                 rule.addWord( "fgetcsv", php_fonction);
174                 rule.addWord( "fgets", php_fonction);
175                 rule.addWord( "fgetss", php_fonction);
176                 rule.addWord( "file", php_fonction);
177                 rule.addWord( "file_exists", php_fonction);
178                 rule.addWord( "fileatime", php_fonction);
179                 rule.addWord( "filectime", php_fonction);
180                 rule.addWord( "filegroup", php_fonction);
181                 rule.addWord( "fileinode", php_fonction);
182                 rule.addWord( "filemtime", php_fonction);
183                 rule.addWord( "fileowner", php_fonction);
184                 rule.addWord( "fileperms", php_fonction);
185                 rule.addWord( "filesize", php_fonction);
186                 rule.addWord( "filetype", php_fonction);
187                 rule.addWord( "flock", php_fonction);
188                 rule.addWord( "floor", php_fonction);
189                 rule.addWord( "flush", php_fonction);
190                 rule.addWord( "fopen", php_fonction);
191                 rule.addWord( "fpassthru", php_fonction);
192                 rule.addWord( "fputs", php_fonction);
193                 rule.addWord( "fread", php_fonction);
194                 rule.addWord( "frenchtojd", php_fonction);
195                 rule.addWord( "fscanf", php_fonction);
196                 rule.addWord( "fseek", php_fonction);
197                 rule.addWord( "fsockopen", php_fonction);
198                 rule.addWord( "fstat", php_fonction);
199                 rule.addWord( "ftell", php_fonction);
200                 rule.addWord( "ftp_cdup", php_fonction);
201                 rule.addWord( "ftp_chdir", php_fonction);
202                 rule.addWord( "ftp_connect", php_fonction);
203                 rule.addWord( "ftp_delete", php_fonction);
204                 rule.addWord( "ftp_fget", php_fonction);
205                 rule.addWord( "ftp_fput", php_fonction);
206                 rule.addWord( "ftp_get", php_fonction);
207                 rule.addWord( "ftp_login", php_fonction);
208                 rule.addWord( "ftp_mdtm", php_fonction);
209                 rule.addWord( "ftp_mkdir", php_fonction);
210                 rule.addWord( "ftp_nlist", php_fonction);
211                 rule.addWord( "ftp_pasv", php_fonction);
212                 rule.addWord( "ftp_put", php_fonction);
213                 rule.addWord( "ftp_pwd", php_fonction);
214                 rule.addWord( "ftp_quit", php_fonction);
215                 rule.addWord( "ftp_rawlist", php_fonction);
216                 rule.addWord( "ftp_rename", php_fonction);
217                 rule.addWord( "ftp_rmdir", php_fonction);
218                 rule.addWord( "ftp_site", php_fonction);
219                 rule.addWord( "ftp_size", php_fonction);
220                 rule.addWord( "ftp_systype", php_fonction);
221                 rule.addWord( "ftruncate", php_fonction);
222                 rule.addWord( "fwrite", php_fonction);
223                 rule.addWord( "get_browser", php_fonction);
224                 rule.addWord( "get_cfg_var", php_fonction);
225                 rule.addWord( "get_class", php_fonction);
226                 rule.addWord( "get_class_methods", php_fonction);
227                 rule.addWord( "get_class_vars", php_fonction);
228                 rule.addWord( "get_current_user", php_fonction);
229                 rule.addWord( "get_declared_classes", php_fonction);
230                 rule.addWord( "get_defined_constants", php_fonction);
231                 rule.addWord( "get_defined_vars", php_fonction);
232                 rule.addWord( "get_extension_funcs", php_fonction);
233                 rule.addWord( "get_html_translation_table", php_fonction);
234                 rule.addWord( "get_included_files", php_fonction);
235                 rule.addWord( "get_loaded_extensions", php_fonction);
236                 rule.addWord( "get_magic_quotes_gpc", php_fonction);
237                 rule.addWord( "get_magic_quotes_runtime", php_fonction);
238                 rule.addWord( "get_meta_tags", php_fonction);
239                 rule.addWord( "get_object_vars", php_fonction);
240                 rule.addWord( "get_parent_class", php_fonction);
241                 rule.addWord( "get_required_files", php_fonction);
242                 rule.addWord( "get_resource_type", php_fonction);
243                 rule.addWord( "getallheaders", php_fonction);
244                 rule.addWord( "getcwd", php_fonction);
245                 rule.addWord( "getdate", php_fonction);
246                 rule.addWord( "getenv", php_fonction);
247                 rule.addWord( "gethostbyaddr", php_fonction);
248                 rule.addWord( "gethostbyname", php_fonction);
249                 rule.addWord( "gethostbynamel", php_fonction);
250                 rule.addWord( "getimagesize", php_fonction);
251                 rule.addWord( "getlastmod", php_fonction);
252                 rule.addWord( "getmxrr", php_fonction);
253                 rule.addWord( "getmyinode", php_fonction);
254                 rule.addWord( "getmypid", php_fonction);
255                 rule.addWord( "getmyuid", php_fonction);
256                 rule.addWord( "getprotobyname", php_fonction);
257                 rule.addWord( "getprotobynumber", php_fonction);
258                 rule.addWord( "getrandmax", php_fonction);
259                 rule.addWord( "getrusage", php_fonction);
260                 rule.addWord( "getservbyname", php_fonction);
261                 rule.addWord( "getservbyport", php_fonction);
262                 rule.addWord( "gettimeofday", php_fonction);
263                 rule.addWord( "gettype", php_fonction);
264                 rule.addWord( "gmdate", php_fonction);
265                 rule.addWord( "gmmktime", php_fonction);
266                 rule.addWord( "gmstrftime", php_fonction);
267                 rule.addWord( "gregoriantojd", php_fonction);
268                 rule.addWord( "header", php_fonction);
269                 rule.addWord( "headers_sent", php_fonction);
270                 rule.addWord( "hebrev", php_fonction);
271                 rule.addWord( "hebrevc", php_fonction);
272                 rule.addWord( "hexdec", php_fonction);
273                 rule.addWord( "highlight_file", php_fonction);
274                 rule.addWord( "highlight_string", php_fonction);
275                 rule.addWord( "htmlentities", php_fonction);
276                 rule.addWord( "htmlspecialchars", php_fonction);
277                 rule.addWord( "ignore_user_abort", php_fonction);
278                 rule.addWord( "imagealphablending", php_fonction);
279                 rule.addWord( "imagearc", php_fonction);
280                 rule.addWord( "imagechar", php_fonction);
281                 rule.addWord( "imagecharup", php_fonction);
282                 rule.addWord( "imagecolorallocate", php_fonction);
283                 rule.addWord( "imagecolorat", php_fonction);
284                 rule.addWord( "imagecolorclosest", php_fonction);
285                 rule.addWord( "imagecolorclosestalpha", php_fonction);
286                 rule.addWord( "imagecolordeallocate", php_fonction);
287                 rule.addWord( "imagecolorexact", php_fonction);
288                 rule.addWord( "imagecolorexactalpha", php_fonction);
289                 rule.addWord( "imagecolorresolve", php_fonction);
290                 rule.addWord( "imagecolorresolvealpha", php_fonction);
291                 rule.addWord( "imagecolorset", php_fonction);
292                 rule.addWord( "imagecolorsforindex", php_fonction);
293                 rule.addWord( "imagecolorstotal", php_fonction);
294                 rule.addWord( "imagecolortransparent", php_fonction);
295                 rule.addWord( "imagecopy", php_fonction);
296                 rule.addWord( "imagecopymerge", php_fonction);
297                 rule.addWord( "imagecopymergegray", php_fonction);
298                 rule.addWord( "imagecopyresampled", php_fonction);
299                 rule.addWord( "imagecopyresized", php_fonction);
300                 rule.addWord( "imagecreate", php_fonction);
301                 rule.addWord( "imagecreatefromgif", php_fonction);
302                 rule.addWord( "imagecreatefromjpeg", php_fonction);
303                 rule.addWord( "imagecreatefrompng", php_fonction);
304                 rule.addWord( "imagecreatefromstring", php_fonction);
305                 rule.addWord( "imagecreatefromwbmp", php_fonction);
306                 rule.addWord( "imagecreatetruecolor", php_fonction);
307                 rule.addWord( "imagedashedline", php_fonction);
308                 rule.addWord( "imagedestroy", php_fonction);
309                 rule.addWord( "imageellipse", php_fonction);
310                 rule.addWord( "imagefill", php_fonction);
311                 rule.addWord( "imagefilledarc", php_fonction);
312                 rule.addWord( "imagefilledellipse", php_fonction);
313                 rule.addWord( "imagefilledpolygon", php_fonction);
314                 rule.addWord( "imagefilledrectangle", php_fonction);
315                 rule.addWord( "imagefilltoborder", php_fonction);
316                 rule.addWord( "imagefontheight", php_fonction);
317                 rule.addWord( "imagefontwidth", php_fonction);
318                 rule.addWord( "imagegammacorrect", php_fonction);
319                 rule.addWord( "imagegif", php_fonction);
320                 rule.addWord( "imageinterlace", php_fonction);
321                 rule.addWord( "imagejpeg", php_fonction);
322                 rule.addWord( "imageline", php_fonction);
323                 rule.addWord( "imageloadfont", php_fonction);
324                 rule.addWord( "imagepng", php_fonction);
325                 rule.addWord( "imagepolygon", php_fonction);
326                 rule.addWord( "imagepsbbox", php_fonction);
327                 rule.addWord( "imagepsencodefont", php_fonction);
328                 rule.addWord( "imagepsextendfont", php_fonction);
329                 rule.addWord( "imagepsfreefont", php_fonction);
330                 rule.addWord( "imagepsloadfont", php_fonction);
331                 rule.addWord( "imagepsslantfont", php_fonction);
332                 rule.addWord( "imagepstext", php_fonction);
333                 rule.addWord( "imagerectangle", php_fonction);
334                 rule.addWord( "imagesetbrush", php_fonction);
335                 rule.addWord( "imagesetpixel", php_fonction);
336                 rule.addWord( "imagesetthickness", php_fonction);
337                 rule.addWord( "imagesettile", php_fonction);
338                 rule.addWord( "imagestring", php_fonction);
339                 rule.addWord( "imagestringup", php_fonction);
340                 rule.addWord( "imagesx", php_fonction);
341                 rule.addWord( "imagesy", php_fonction);
342                 rule.addWord( "imagetruecolortopalette", php_fonction);
343                 rule.addWord( "imagettfbbox", php_fonction);
344                 rule.addWord( "imagettftext", php_fonction);
345                 rule.addWord( "imagetypes", php_fonction);
346                 rule.addWord( "imagewbmp", php_fonction);
347                 rule.addWord( "implode", php_fonction);
348                 rule.addWord( "in_array", php_fonction);
349                 rule.addWord( "Include()", php_fonction);
350                 rule.addWord( "Include_once()", php_fonction);
351                 rule.addWord( "ini_alter", php_fonction);
352                 rule.addWord( "ini_get", php_fonction);
353                 rule.addWord( "ini_restore", php_fonction);
354                 rule.addWord( "ini_set", php_fonction);
355                 rule.addWord( "intval", php_fonction);
356                 rule.addWord( "ip2long", php_fonction);
357                 rule.addWord( "iptcparse", php_fonction);
358                 rule.addWord( "is_array", php_fonction);
359                 rule.addWord( "is_bool", php_fonction);
360                 rule.addWord( "is_dir", php_fonction);
361                 rule.addWord( "is_double", php_fonction);
362                 rule.addWord( "is_executable", php_fonction);
363                 rule.addWord( "is_file", php_fonction);
364                 rule.addWord( "is_float", php_fonction);
365                 rule.addWord( "is_int", php_fonction);
366                 rule.addWord( "is_integer", php_fonction);
367                 rule.addWord( "is_link", php_fonction);
368                 rule.addWord( "is_long", php_fonction);
369                 rule.addWord( "is_null", php_fonction);
370                 rule.addWord( "is_numeric", php_fonction);
371                 rule.addWord( "is_object", php_fonction);
372                 rule.addWord( "is_readable", php_fonction);
373                 rule.addWord( "is_real", php_fonction);
374                 rule.addWord( "is_resource", php_fonction);
375                 rule.addWord( "is_scalar", php_fonction);
376                 rule.addWord( "is_string", php_fonction);
377                 rule.addWord( "is_subclass_of", php_fonction);
378                 rule.addWord( "is_uploaded_file", php_fonction);
379                 rule.addWord( "is_writable", php_fonction);
380                 rule.addWord( "is_writeable", php_fonction);
381                 rule.addWord( "isset", php_fonction);
382                 rule.addWord( "jddayofweek", php_fonction);
383                 rule.addWord( "jdmonthname", php_fonction);
384                 rule.addWord( "jdtofrench", php_fonction);
385                 rule.addWord( "jdtogregorian", php_fonction);
386                 rule.addWord( "jdtojewish", php_fonction);
387                 rule.addWord( "jdtojulian", php_fonction);
388                 rule.addWord( "jdtounix", php_fonction);
389                 rule.addWord( "jewishtojd", php_fonction);
390                 rule.addWord( "join", php_fonction);
391                 rule.addWord( "juliantojd", php_fonction);
392                 rule.addWord( "key", php_fonction);
393                 rule.addWord( "krsort", php_fonction);
394                 rule.addWord( "ksort", php_fonction);
395                 rule.addWord( "lcg_value", php_fonction);
396                 rule.addWord( "leak", php_fonction);
397                 rule.addWord( "levenshtein", php_fonction);
398                 rule.addWord( "link", php_fonction);
399                 rule.addWord( "linkinfo", php_fonction);
400                 rule.addWord( "list", php_fonction);
401                 rule.addWord( "localeconv", php_fonction);
402                 rule.addWord( "localtime", php_fonction);
403                 rule.addWord( "log", php_fonction);
404                 rule.addWord( "log10", php_fonction);
405                 rule.addWord( "long2ip", php_fonction);
406                 rule.addWord( "lstat", php_fonction);
407                 rule.addWord( "ltrim", php_fonction);
408                 rule.addWord( "mail", php_fonction);
409                 rule.addWord( "max", php_fonction);
410                 rule.addWord( "mcrypt_cbc", php_fonction);
411                 rule.addWord( "mcrypt_cfb", php_fonction);
412                 rule.addWord( "mcrypt_create_iv", php_fonction);
413                 rule.addWord( "mcrypt_decrypt", php_fonction);
414                 rule.addWord( "mcrypt_ecb", php_fonction);
415                 rule.addWord( "mcrypt_enc_get_algorithms_name", php_fonction);
416                 rule.addWord( "mcrypt_enc_get_block_size", php_fonction);
417                 rule.addWord( "mcrypt_enc_get_iv_size", php_fonction);
418                 rule.addWord( "mcrypt_enc_get_key_size", php_fonction);
419                 rule.addWord( "mcrypt_enc_get_modes_name", php_fonction);
420                 rule.addWord( "mcrypt_enc_get_supported_key_sizes", php_fonction);
421                 rule.addWord( "mcrypt_enc_is_block_algorithm", php_fonction);
422                 rule.addWord( "mcrypt_enc_is_block_algorithm_mode", php_fonction);
423                 rule.addWord( "mcrypt_enc_is_block_mode", php_fonction);
424                 rule.addWord( "mcrypt_enc_self_test", php_fonction);
425                 rule.addWord( "mcrypt_encrypt", php_fonction);
426                 rule.addWord( "mcrypt_generic", php_fonction);
427                 rule.addWord( "mcrypt_generic_end", php_fonction);
428                 rule.addWord( "mcrypt_generic_init", php_fonction);
429                 rule.addWord( "mcrypt_get_block_size", php_fonction);
430                 rule.addWord( "mcrypt_get_cipher_name", php_fonction);
431                 rule.addWord( "mcrypt_get_iv_size", php_fonction);
432                 rule.addWord( "mcrypt_get_key_size", php_fonction);
433                 rule.addWord( "mcrypt_list_algorithms", php_fonction);
434                 rule.addWord( "mcrypt_list_modes", php_fonction);
435                 rule.addWord( "mcrypt_module_get_algo_block_size", php_fonction);
436                 rule.addWord( "mcrypt_module_get_algo_key_size", php_fonction);
437                 rule.addWord( "mcrypt_module_get_algo_supported_key_sizes", php_fonction);
438                 rule.addWord( "mcrypt_module_is_block_algorithm", php_fonction);
439                 rule.addWord( "mcrypt_module_is_block_algorithm_mode", php_fonction);
440                 rule.addWord( "mcrypt_module_is_block_mode", php_fonction);
441                 rule.addWord( "mcrypt_module_open", php_fonction);
442                 rule.addWord( "mcrypt_module_self_test", php_fonction);
443                 rule.addWord( "mcrypt_ofb", php_fonction);
444                 rule.addWord( "md5", php_fonction);
445                 rule.addWord( "mdecrypt_generic", php_fonction);
446                 rule.addWord( "metaphone", php_fonction);
447                 rule.addWord( "method_exists", php_fonction);
448                 rule.addWord( "microtime", php_fonction);
449                 rule.addWord( "min", php_fonction);
450                 rule.addWord( "mkdir", php_fonction);
451                 rule.addWord( "mktime", php_fonction);
452                 rule.addWord( "move_uploaded_file", php_fonction);
453                 rule.addWord( "mt_getrandmax", php_fonction);
454                 rule.addWord( "mt_rand", php_fonction);
455                 rule.addWord( "mt_srand", php_fonction);
456                 rule.addWord( "mysql_affected_rows", php_fonction);
457                 rule.addWord( "mysql_change_user", php_fonction);
458                 rule.addWord( "mysql_close", php_fonction);
459                 rule.addWord( "mysql_connect", php_fonction);
460                 rule.addWord( "mysql_create_db", php_fonction);
461                 rule.addWord( "mysql_data_seek", php_fonction);
462                 rule.addWord( "mysql_db_name", php_fonction);
463                 rule.addWord( "mysql_db_query", php_fonction);
464                 rule.addWord( "mysql_drop_db", php_fonction);
465                 rule.addWord( "mysql_errno", php_fonction);
466                 rule.addWord( "mysql_error", php_fonction);
467                 rule.addWord( "mysql_escape_string", php_fonction);
468                 rule.addWord( "mysql_fetch_array", php_fonction);
469                 rule.addWord( "mysql_fetch_assoc", php_fonction);
470                 rule.addWord( "mysql_fetch_field", php_fonction);
471                 rule.addWord( "mysql_fetch_lengths", php_fonction);
472                 rule.addWord( "mysql_fetch_object", php_fonction);
473                 rule.addWord( "mysql_fetch_row", php_fonction);
474                 rule.addWord( "mysql_field_flags", php_fonction);
475                 rule.addWord( "mysql_field_len", php_fonction);
476                 rule.addWord( "mysql_field_name", php_fonction);
477                 rule.addWord( "mysql_field_seek", php_fonction);
478                 rule.addWord( "mysql_field_table", php_fonction);
479                 rule.addWord( "mysql_field_type", php_fonction);
480                 rule.addWord( "mysql_free_result", php_fonction);
481                 rule.addWord( "mysql_get_client_info", php_fonction);
482                 rule.addWord( "mysql_get_host_info", php_fonction);
483                 rule.addWord( "mysql_get_proto_info", php_fonction);
484                 rule.addWord( "mysql_get_server_info", php_fonction);
485                 rule.addWord( "mysql_insert_id", php_fonction);
486                 rule.addWord( "mysql_list_dbs", php_fonction);
487                 rule.addWord( "mysql_list_fields", php_fonction);
488                 rule.addWord( "mysql_list_tables", php_fonction);
489                 rule.addWord( "mysql_num_fields", php_fonction);
490                 rule.addWord( "mysql_num_rows", php_fonction);
491                 rule.addWord( "mysql_pconnect", php_fonction);
492                 rule.addWord( "mysql_query", php_fonction);
493                 rule.addWord( "mysql_result", php_fonction);
494                 rule.addWord( "mysql_select_db", php_fonction);
495                 rule.addWord( "mysql_tablename", php_fonction);
496                 rule.addWord( "mysql_unbuffered_query", php_fonction);
497                 rule.addWord( "natcasesort", php_fonction);
498                 rule.addWord( "natsort", php_fonction);
499                 rule.addWord( "next", php_fonction);
500                 rule.addWord( "nl2br", php_fonction);
501                 rule.addWord( "number_format", php_fonction);
502                 rule.addWord( "ob_end_clean", php_fonction);
503                 rule.addWord( "ob_end_flush", php_fonction);
504                 rule.addWord( "ob_get_contents", php_fonction);
505                 rule.addWord( "ob_get_length", php_fonction);
506                 rule.addWord( "ob_gzhandler", php_fonction);
507                 rule.addWord( "ob_implicit_flush", php_fonction);
508                 rule.addWord( "ob_start", php_fonction);
509                 rule.addWord( "octdec", php_fonction);
510                 rule.addWord( "opendir", php_fonction);
511                 rule.addWord( "openlog", php_fonction);
512                 rule.addWord( "ord", php_fonction);
513                 rule.addWord( "pack", php_fonction);
514                 rule.addWord( "parse_str", php_fonction);
515                 rule.addWord( "parse_url", php_fonction);
516                 rule.addWord( "pathinfo", php_fonction);
517                 rule.addWord( "pclose", php_fonction);
518                 rule.addWord( "pfsockopen", php_fonction);
519                 rule.addWord( "php_logo_guid", php_fonction);
520                 rule.addWord( "php_sapi_name", php_fonction);
521                 rule.addWord( "php_uname", php_fonction);
522                 rule.addWord( "phpcredits", php_fonction);
523                 rule.addWord( "phpinfo", php_fonction);
524                 rule.addWord( "phpversion", php_fonction);
525                 rule.addWord( "pi", php_fonction);
526                 rule.addWord( "popen", php_fonction);
527                 rule.addWord( "pos", php_fonction);
528                 rule.addWord( "pow", php_fonction);
529                 rule.addWord( "prev", php_fonction);
530                 rule.addWord( "print", php_fonction);
531                 rule.addWord( "print_r", php_fonction);
532                 rule.addWord( "printf", php_fonction);
533                 rule.addWord( "putenv", php_fonction);
534                 rule.addWord( "quoted_printable_decode", php_fonction);
535                 rule.addWord( "quotemeta", php_fonction);
536                 rule.addWord( "rad2deg", php_fonction);
537                 rule.addWord( "rand", php_fonction);
538                 rule.addWord( "range", php_fonction);
539                 rule.addWord( "rawurldecode", php_fonction);
540                 rule.addWord( "rawurlencode", php_fonction);
541                 rule.addWord( "read_exif_data", php_fonction);
542                 rule.addWord( "readdir", php_fonction);
543                 rule.addWord( "readfile", php_fonction);
544                 rule.addWord( "readlink", php_fonction);
545                 rule.addWord( "realpath", php_fonction);
546                 rule.addWord( "rename", php_fonction);
547                 rule.addWord( "Require()", php_fonction);
548                 rule.addWord( "Require_once()", php_fonction);
549                 rule.addWord( "reset", php_fonction);
550                 rule.addWord( "restore_error_handler", php_fonction);
551                 rule.addWord( "rewind", php_fonction);
552                 rule.addWord( "rewinddir", php_fonction);
553                 rule.addWord( "rmdir", php_fonction);
554                 rule.addWord( "round", php_fonction);
555                 rule.addWord( "rsort", php_fonction);
556                 rule.addWord( "rtrim", php_fonction);
557                 rule.addWord( "serialize", php_fonction);
558                 rule.addWord( "session_cache_limiter", php_fonction);
559                 rule.addWord( "session_decode", php_fonction);
560                 rule.addWord( "session_destroy", php_fonction);
561                 rule.addWord( "session_encode", php_fonction);
562                 rule.addWord( "session_get_cookie_params", php_fonction);
563                 rule.addWord( "session_id", php_fonction);
564                 rule.addWord( "session_is_registered", php_fonction);
565                 rule.addWord( "session_module_name", php_fonction);
566                 rule.addWord( "session_name", php_fonction);
567                 rule.addWord( "session_register", php_fonction);
568                 rule.addWord( "session_save_path", php_fonction);
569                 rule.addWord( "session_set_cookie_params", php_fonction);
570                 rule.addWord( "session_set_save_handler", php_fonction);
571                 rule.addWord( "session_start", php_fonction);
572                 rule.addWord( "session_unregister", php_fonction);
573                 rule.addWord( "session_unset", php_fonction);
574                 rule.addWord( "session_write_close", php_fonction);
575                 rule.addWord( "set_error_handler", php_fonction);
576                 rule.addWord( "set_file_buffer", php_fonction);
577                 rule.addWord( "set_magic_quotes_runtime", php_fonction);
578                 rule.addWord( "set_time_limit", php_fonction);
579                 rule.addWord( "setcookie", php_fonction);
580                 rule.addWord( "setlocale", php_fonction);
581                 rule.addWord( "settype", php_fonction);
582                 rule.addWord( "show_source", php_fonction);
583                 rule.addWord( "shuffle", php_fonction);
584                 rule.addWord( "similar_text", php_fonction);
585                 rule.addWord( "sin", php_fonction);
586                 rule.addWord( "sizeof", php_fonction);
587                 rule.addWord( "sleep", php_fonction);
588                 rule.addWord( "socket_get_status", php_fonction);
589                 rule.addWord( "socket_set_blocking", php_fonction);
590                 rule.addWord( "socket_set_timeout", php_fonction);
591                 rule.addWord( "sort", php_fonction);
592                 rule.addWord( "soundex", php_fonction);
593                 rule.addWord( "sprintf", php_fonction);
594                 rule.addWord( "sqrt", php_fonction);
595                 rule.addWord( "srand", php_fonction);
596                 rule.addWord( "sscanf", php_fonction);
597                 rule.addWord( "stat", php_fonction);
598                 rule.addWord( "str_pad", php_fonction);
599                 rule.addWord( "str_repeat", php_fonction);
600                 rule.addWord( "str_replace", php_fonction);
601                 rule.addWord( "strcasecmp", php_fonction);
602                 rule.addWord( "strchr", php_fonction);
603                 rule.addWord( "strcmp", php_fonction);
604                 rule.addWord( "strcoll", php_fonction);
605                 rule.addWord( "strcspn", php_fonction);
606                 rule.addWord( "strftime", php_fonction);
607                 rule.addWord( "strip_tags", php_fonction);
608                 rule.addWord( "stripcslashes", php_fonction);
609                 rule.addWord( "stripslashes", php_fonction);
610                 rule.addWord( "stristr", php_fonction);
611                 rule.addWord( "strlen", php_fonction);
612                 rule.addWord( "strnatcasecmp", php_fonction);
613                 rule.addWord( "strnatcmp", php_fonction);
614                 rule.addWord( "strncasecmp", php_fonction);
615                 rule.addWord( "strncmp", php_fonction);
616                 rule.addWord( "strpos", php_fonction);
617                 rule.addWord( "strrchr", php_fonction);
618                 rule.addWord( "strrev", php_fonction);
619                 rule.addWord( "strrpos", php_fonction);
620                 rule.addWord( "strspn", php_fonction);
621                 rule.addWord( "strstr", php_fonction);
622                 rule.addWord( "strtok", php_fonction);
623                 rule.addWord( "strtolower", php_fonction);
624                 rule.addWord( "strtotime", php_fonction);
625                 rule.addWord( "strtoupper", php_fonction);
626                 rule.addWord( "strtr", php_fonction);
627                 rule.addWord( "strval", php_fonction);
628                 rule.addWord( "substr", php_fonction);
629                 rule.addWord( "substr_count", php_fonction);
630                 rule.addWord( "substr_replace", php_fonction);
631                 rule.addWord( "symlink", php_fonction);
632                 rule.addWord( "syslog", php_fonction);
633                 rule.addWord( "tan", php_fonction);
634                 rule.addWord( "tempnam", php_fonction);
635                 rule.addWord( "time", php_fonction);
636                 rule.addWord( "tmpfile", php_fonction);
637                 rule.addWord( "touch", php_fonction);
638                 rule.addWord( "trigger_error", php_fonction);
639                 rule.addWord( "trim", php_fonction);
640                 rule.addWord( "uasort", php_fonction);
641                 rule.addWord( "ucfirst", php_fonction);
642                 rule.addWord( "ucwords", php_fonction);
643                 rule.addWord( "uksort", php_fonction);
644                 rule.addWord( "umask", php_fonction);
645                 rule.addWord( "uniqid", php_fonction);
646                 rule.addWord( "unixtojd", php_fonction);
647                 rule.addWord( "unlink", php_fonction);
648                 rule.addWord( "unpack", php_fonction);
649                 rule.addWord( "unserialize", php_fonction);
650                 rule.addWord( "unset", php_fonction);
651                 rule.addWord( "urldecode", php_fonction);
652                 rule.addWord( "urlencode", php_fonction);
653                 rule.addWord( "user_error", php_fonction);
654                 rule.addWord( "usleep", php_fonction);
655                 rule.addWord( "usort", php_fonction);
656                 rule.addWord( "var_dump", php_fonction);
657                 rule.addWord( "virtual", php_fonction);
658                 rule.addWord( "wordwrap", php_fonction);
659                 rule.addWord( "zend_logo_guid", php_fonction);
660                 rule.addWord( "zend_version ", php_fonction);
661
662                 rules.add(rule);
663                 
664                 // Add generic whitespace rule.
665                 rules.add(new WhitespaceRule(new WhitespaceDetector()));
666
667                 IRule[] result = new IRule[rules.size()];
668                 rules.toArray(result);
669                 
670                 setRules(result);
671         }
672 }