*** empty log message ***
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpeclipse / phpeditor / php / PHPCodeScanner.java
index 9e75272..f8d3fa9 100644 (file)
@@ -13,10 +13,17 @@ package net.sourceforge.phpeclipse.phpeditor.php;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Vector;
 
+import net.sourceforge.phpeclipse.IPreferenceConstants;
+import net.sourceforge.phpeclipse.PHPeclipsePlugin;
+import net.sourceforge.phpeclipse.phpeditor.PHPSyntaxRdr;
 import net.sourceforge.phpeclipse.phpeditor.util.PHPColorProvider;
 import net.sourceforge.phpeclipse.phpeditor.util.PHPWhitespaceDetector;
 import net.sourceforge.phpeclipse.phpeditor.util.PHPWordDetector;
+
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferenceConverter;
 import org.eclipse.jface.text.TextAttribute;
 import org.eclipse.jface.text.rules.EndOfLineRule;
 import org.eclipse.jface.text.rules.ICharacterScanner;
@@ -29,2491 +36,230 @@ import org.eclipse.jface.text.rules.SingleLineRule;
 import org.eclipse.jface.text.rules.Token;
 import org.eclipse.jface.text.rules.WhitespaceRule;
 import org.eclipse.jface.text.rules.WordRule;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Color;
 
 /**
- * A Java code scanner.
+ * PHP Code Scanner
  */
-public class PHPCodeScanner extends RuleBasedScanner {
-
-       private static String[] fgKeywords =
-               {
-                       "if",
-                       "elseif",
-                       "else",
-                       "endif",
-                       "for",
-                       "endfor",
-                       "while",
-                       "endwhile",
-                       "switch",
-                       "case",
-                       "endswitch",
-                       "break",
-                       "continue",
-                       "return",
-                       "define",
-                       "include",
-                       "include_once",
-                       "require",
-                       "require_once",
-                       "function",
-                       "class",
-                       "new",
-                       "do",
-                       "old_function",
-                       "default",
-                       "global",
-                       "static",
-                       "foreach",
-                       "endforeach",
-                       "extends",
-                       "empty",
-                       "array",
-                       "isset",
-                       "echo",
-                       "var" };
+public class PHPCodeScanner extends RuleBasedScanner implements IPreferenceConstants {
 
-       private static String[] fgTypes =
-               {
-                       "COM_invoke",
-                       "COM_load",
-                       "abs",
-                       "accept_connect",
-                       "acos",
-                       "add",
-                       "add",
-                       "add_iovec",
-                       "addaction",
-                       "addcolor",
-                       "addcslashes",
-                       "addentry",
-                       "addfill",
-                       "addshape",
-                       "addslashes",
-                       "addstring",
-                       "addstring",
-                       "align",
-                       "apache_child_terminate",
-                       "apache_lookup_uri",
-                       "apache_lookup_uri",
-                       "apache_note",
-                       "apache_sub_req",
-                       "array_count_values",
-                       "array_diff",
-                       "array_filter",
-                       "array_flip",
-                       "array_intersect",
-                       "array_keys",
-                       "array_map",
-                       "array_merge",
-                       "array_merge_recursive",
-                       "array_multisort",
-                       "array_pad",
-                       "array_pop",
-                       "array_push",
-                       "array_rand",
-                       "array_reduce",
-                       "array_reverse",
-                       "array_search",
-                       "array_shift",
-                       "array_slice",
-                       "array_splice",
-                       "array_sum",
-                       "array_unique",
-                       "array_unshift",
-                       "array_values",
-                       "array_walk",
-                       "arsort",
-                       "asin",
-                       "asort",
-                       "aspell_check",
-                       "aspell_check_raw",
-                       "aspell_new",
-                       "aspell_suggest",
-                       "assert",
-                       "assert_options",
-                       "atan",
-                       "atan2",
-                       "base64_decode",
-                       "base64_encode",
-                       "base_convert",
-                       "basename",
-                       "bcadd",
-                       "bccomp",
-                       "bcdiv",
-                       "bcmod",
-                       "bcmul",
-                       "bcpow",
-                       "bcscale",
-                       "bcsqrt",
-                       "bcsub",
-                       "bin2hex",
-                       "bind",
-                       "bindec",
-                       "bindtextdomain",
-                       "build_iovec",
-                       "bzclose",
-                       "bzcompress",
-                       "bzdecompress",
-                       "bzerrno",
-                       "bzerror",
-                       "bzerrstr",
-                       "bzflush",
-                       "bzopen",
-                       "bzread",
-                       "bzwrite",
-                       "call_user_func",
-                       "call_user_func_array",
-                       "call_user_method",
-                       "call_user_method_array",
-                       "ccvs_add",
-                       "ccvs_auth",
-                       "ccvs_command",
-                       "ccvs_count",
-                       "ccvs_delete",
-                       "ccvs_done",
-                       "ccvs_init",
-                       "ccvs_lookup",
-                       "ccvs_new",
-                       "ccvs_report",
-                       "ccvs_return",
-                       "ccvs_reverse",
-                       "ccvs_sale",
-                       "ccvs_status",
-                       "ccvs_textvalue",
-                       "ccvs_void",
-                       "ceil",
-                       "chdir",
-                       "checkdate",
-                       "checkdnsrr",
-                       "checkdnsrr",
-                       "chgrp",
-                       "chmod",
-                       "chop",
-                       "chown",
-                       "chr",
-                       "chroot",
-                       "chroot",
-                       "chunk_split",
-                       "class_exists",
-                       "clearstatcache",
-                       "close",
-                       "closedir",
-                       "closelog",
-                       "com_get",
-                       "com_propget",
-                       "com_propput",
-                       "com_propset",
-                       "com_set",
-                       "compact",
-                       "confirm_cybermut_compiled",
-                       "confirm_extname_compiled",
-                       "connect",
-                       "connection_aborted",
-                       "connection_status",
-                       "constant",
-                       "convert_cyr_string",
-                       "copy",
-                       "cos",
-                       "count",
-                       "count_chars",
-                       "cpdf_add_annotation",
-                       "cpdf_add_outline",
-                       "cpdf_arc",
-                       "cpdf_begin_text",
-                       "cpdf_circle",
-                       "cpdf_clip",
-                       "cpdf_close",
-                       "cpdf_closepath",
-                       "cpdf_closepath_fill_stroke",
-                       "cpdf_closepath_stroke",
-                       "cpdf_continue_text",
-                       "cpdf_curveto",
-                       "cpdf_end_text",
-                       "cpdf_fill",
-                       "cpdf_fill_stroke",
-                       "cpdf_finalize",
-                       "cpdf_finalize_page",
-                       "cpdf_global_set_document_limits",
-                       "cpdf_import_jpeg",
-                       "cpdf_lineto",
-                       "cpdf_moveto",
-                       "cpdf_newpath",
-                       "cpdf_open",
-                       "cpdf_output_buffer",
-                       "cpdf_page_init",
-                       "cpdf_place_inline_image",
-                       "cpdf_rect",
-                       "cpdf_restore",
-                       "cpdf_rlineto",
-                       "cpdf_rmoveto",
-                       "cpdf_rotate",
-                       "cpdf_rotate_text",
-                       "cpdf_save",
-                       "cpdf_save_to_file",
-                       "cpdf_scale",
-                       "cpdf_set_action_url",
-                       "cpdf_set_char_spacing",
-                       "cpdf_set_creator",
-                       "cpdf_set_current_page",
-                       "cpdf_set_font",
-                       "cpdf_set_font_directories",
-                       "cpdf_set_font_map_file",
-                       "cpdf_set_horiz_scaling",
-                       "cpdf_set_keywords",
-                       "cpdf_set_leading",
-                       "cpdf_set_page_animation",
-                       "cpdf_set_subject",
-                       "cpdf_set_text_matrix",
-                       "cpdf_set_text_pos",
-                       "cpdf_set_text_rendering",
-                       "cpdf_set_text_rise",
-                       "cpdf_set_title",
-                       "cpdf_set_viewer_preferences",
-                       "cpdf_set_word_spacing",
-                       "cpdf_setdash",
-                       "cpdf_setflat",
-                       "cpdf_setgray",
-                       "cpdf_setgray_fill",
-                       "cpdf_setgray_stroke",
-                       "cpdf_setlinecap",
-                       "cpdf_setlinejoin",
-                       "cpdf_setlinewidth",
-                       "cpdf_setmiterlimit",
-                       "cpdf_setrgbcolor",
-                       "cpdf_setrgbcolor_fill",
-                       "cpdf_setrgbcolor_stroke",
-                       "cpdf_show",
-                       "cpdf_show_xy",
-                       "cpdf_stringwidth",
-                       "cpdf_stroke",
-                       "cpdf_text",
-                       "cpdf_translate",
-                       "crack_check",
-                       "crack_closedict",
-                       "crack_getlastmessage",
-                       "crack_opendict",
-                       "crash",
-                       "crc32",
-                       "create_function",
-                       "crypt",
-                       "crypt",
-                       "ctype_alnum",
-                       "ctype_alpha",
-                       "ctype_cntrl",
-                       "ctype_digit",
-                       "ctype_graph",
-                       "ctype_lower",
-                       "ctype_print",
-                       "ctype_punct",
-                       "ctype_space",
-                       "ctype_upper",
-                       "ctype_xdigit",
-                       "curl_close",
-                       "curl_errno",
-                       "curl_error",
-                       "curl_exec",
-                       "curl_getinfo",
-                       "curl_getinfo",
-                       "curl_init",
-                       "curl_setopt",
-                       "curl_version",
-                       "current",
-                       "cv_add",
-                       "cv_auth",
-                       "cv_command",
-                       "cv_count",
-                       "cv_delete",
-                       "cv_done",
-                       "cv_init",
-                       "cv_lookup",
-                       "cv_new",
-                       "cv_report",
-                       "cv_return",
-                       "cv_reverse",
-                       "cv_sale",
-                       "cv_status",
-                       "cv_textvalue",
-                       "cv_void",
-                       "cybercash_base64_decode",
-                       "cybercash_base64_encode",
-                       "cybercash_decr",
-                       "cybercash_encr",
-                       "cybermut_creerformulairecm",
-                       "cybermut_creerreponsecm",
-                       "cybermut_testmac",
-                       "date",
-                       "dba_close",
-                       "dba_delete",
-                       "dba_exists",
-                       "dba_fetch",
-                       "dba_firstkey",
-                       "dba_insert",
-                       "dba_nextkey",
-                       "dba_open",
-                       "dba_optimize",
-                       "dba_popen",
-                       "dba_replace",
-                       "dba_sync",
-                       "dbase_add_record",
-                       "dbase_close",
-                       "dbase_create",
-                       "dbase_delete_record",
-                       "dbase_get_record",
-                       "dbase_get_record_with_names",
-                       "dbase_numfields",
-                       "dbase_numrecords",
-                       "dbase_open",
-                       "dbase_pack",
-                       "dbase_replace_record",
-                       "dblist",
-                       "dbmclose",
-                       "dbmdelete",
-                       "dbmexists",
-                       "dbmfetch",
-                       "dbmfirstkey",
-                       "dbminsert",
-                       "dbmnextkey",
-                       "dbmopen",
-                       "dbmreplace",
-                       "dbx_close",
-                       "dbx_cmp_asc",
-                       "dbx_cmp_desc",
-                       "dbx_connect",
-                       "dbx_error",
-                       "dbx_query",
-                       "dbx_sort",
-                       "dcgettext",
-                       "decbin",
-                       "dechex",
-                       "decoct",
-                       "define",
-                       "define_syslog_variables",
-                       "defined",
-                       "deg2rad",
-                       "delete_iovec",
-                       "dgettext",
-                       "dir",
-                       "dirname",
-                       "diskfreespace",
-                       "display_disabled_function",
-                       "dl",
-                       "domxml_add_root",
-                       "domxml_attributes",
-                       "domxml_children",
-                       "domxml_dumpmem",
-                       "domxml_elem_get_attribute",
-                       "domxml_elem_set_attribute",
-                       "domxml_get_attribute",
-                       "domxml_getattr",
-                       "domxml_new_child",
-                       "domxml_new_xmldoc",
-                       "domxml_node",
-                       "domxml_node_attributes",
-                       "domxml_node_children",
-                       "domxml_node_new_child",
-                       "domxml_node_set_content",
-                       "domxml_node_unlink_node",
-                       "domxml_root",
-                       "domxml_set_attribute",
-                       "domxml_setattr",
-                       "domxml_unlink_node",
-                       "domxml_version",
-                       "doubleval",
-                       "drawarc",
-                       "drawcircle",
-                       "drawcubic",
-                       "drawcubicto",
-                       "drawcurve",
-                       "drawcurveto",
-                       "drawglyph",
-                       "drawline",
-                       "drawlineto",
-                       "each",
-                       "easter_date",
-                       "easter_days",
-                       "end",
-                       "ereg",
-                       "ereg_replace",
-                       "eregi",
-                       "eregi_replace",
-                       "error_log",
-                       "error_reporting",
-                       "escapeshellarg",
-                       "escapeshellcmd",
-                       "exec",
-                       "exit",
-                       "exp",
-                       "explode",
-                       "extension_loaded",
-                       "extract",
-                       "ezmlm_hash",
-                       "ezmlm_hash",
-                       "fbsql",
-                       "fbsql_affected_rows",
-                       "fbsql_autocommit",
-                       "fbsql_close",
-                       "fbsql_commit",
-                       "fbsql_connect",
-                       "fbsql_create_db",
-                       "fbsql_data_seek",
-                       "fbsql_database",
-                       "fbsql_database_password",
-                       "fbsql_db_query",
-                       "fbsql_drop_db",
-                       "fbsql_errno",
-                       "fbsql_error",
-                       "fbsql_fetch_array",
-                       "fbsql_fetch_assoc",
-                       "fbsql_fetch_field",
-                       "fbsql_fetch_lengths",
-                       "fbsql_fetch_object",
-                       "fbsql_fetch_row",
-                       "fbsql_field_flags",
-                       "fbsql_field_len",
-                       "fbsql_field_name",
-                       "fbsql_field_seek",
-                       "fbsql_field_table",
-                       "fbsql_field_type",
-                       "fbsql_free_result",
-                       "fbsql_hostname",
-                       "fbsql_insert_id",
-                       "fbsql_list_dbs",
-                       "fbsql_list_fields",
-                       "fbsql_list_tables",
-                       "fbsql_next_result",
-                       "fbsql_num_fields",
-                       "fbsql_num_rows",
-                       "fbsql_password",
-                       "fbsql_pconnect",
-                       "fbsql_query",
-                       "fbsql_result",
-                       "fbsql_rollback",
-                       "fbsql_select_db",
-                       "fbsql_start_db",
-                       "fbsql_stop_db",
-                       "fbsql_username",
-                       "fbsql_warnings",
-                       "fclose",
-                       "fd_alloc",
-                       "fd_clear",
-                       "fd_dealloc",
-                       "fd_isset",
-                       "fd_set",
-                       "fd_zero",
-                       "fdf_add_template",
-                       "fdf_close",
-                       "fdf_create",
-                       "fdf_get_file",
-                       "fdf_get_status",
-                       "fdf_get_value",
-                       "fdf_next_field_name",
-                       "fdf_open",
-                       "fdf_save",
-                       "fdf_set_ap",
-                       "fdf_set_file",
-                       "fdf_set_flags",
-                       "fdf_set_javascript_action",
-                       "fdf_set_opt",
-                       "fdf_set_status",
-                       "fdf_set_submit_form_action",
-                       "fdf_set_value",
-                       "feof",
-                       "fetch_iovec",
-                       "fflush",
-                       "fgetc",
-                       "fgetcsv",
-                       "fgets",
-                       "fgetss",
-                       "file",
-                       "file_exists",
-                       "fileatime",
-                       "filectime",
-                       "filegroup",
-                       "fileinode",
-                       "filemtime",
-                       "fileowner",
-                       "fileperms",
-                       "filepro",
-                       "filepro_fieldcount",
-                       "filepro_fieldname",
-                       "filepro_fieldtype",
-                       "filepro_fieldwidth",
-                       "filepro_retrieve",
-                       "filepro_rowcount",
-                       "filesize",
-                       "filetype",
-                       "flock",
-                       "floor",
-                       "flush",
-                       "fopen",
-                       "fopenstream",
-                       "fopenstream",
-                       "fpassthru",
-                       "fputs",
-                       "fread",
-                       "free_iovec",
-                       "frenchtojd",
-                       "fribidi_log2vis",
-                       "fscanf",
-                       "fseek",
-                       "fsockopen",
-                       "fstat",
-                       "ftell",
-                       "ftp_cdup",
-                       "ftp_chdir",
-                       "ftp_connect",
-                       "ftp_delete",
-                       "ftp_exec",
-                       "ftp_fget",
-                       "ftp_fput",
-                       "ftp_get",
-                       "ftp_login",
-                       "ftp_mdtm",
-                       "ftp_mkdir",
-                       "ftp_nlist",
-                       "ftp_pasv",
-                       "ftp_put",
-                       "ftp_pwd",
-                       "ftp_quit",
-                       "ftp_rawlist",
-                       "ftp_rename",
-                       "ftp_rmdir",
-                       "ftp_site",
-                       "ftp_size",
-                       "ftp_systype",
-                       "ftruncate",
-                       "func_get_arg",
-                       "func_get_args",
-                       "func_num_args",
-                       "function_exists",
-                       "fwrite",
-                       "get_all_headers",
-                       "get_browser",
-                       "get_cfg_var",
-                       "get_class",
-                       "get_class_methods",
-                       "get_class_vars",
-                       "get_current_user",
-                       "get_declared_classes",
-                       "get_defined_functions",
-                       "get_defined_vars",
-                       "get_extension_funcs",
-                       "get_html_translation_table",
-                       "get_included_files",
-                       "get_loaded_extensions",
-                       "get_magic_quotes_gpc",
-                       "get_magic_quotes_runtime",
-                       "get_meta_tags",
-                       "get_object_vars",
-                       "get_parent_class",
-                       "get_required_files",
-                       "get_resource_type",
-                       "getallheaders",
-                       "getallheaders",
-                       "getascent",
-                       "getascent",
-                       "getcwd",
-                       "getdate",
-                       "getdescent",
-                       "getdescent",
-                       "getenv",
-                       "getheight",
-                       "gethostbyaddr",
-                       "gethostbyaddr",
-                       "gethostbyname",
-                       "gethostbyname",
-                       "gethostbynamel",
-                       "getimagesize",
-                       "getlastmod",
-                       "getleading",
-                       "getleading",
-                       "getmxrr",
-                       "getmxrr",
-                       "getmyinode",
-                       "getmypid",
-                       "getmyuid",
-                       "getpeername",
-                       "getprotobyname",
-                       "getprotobynumber",
-                       "getrandmax",
-                       "getrusage",
-                       "getrusage",
-                       "getservbyname",
-                       "getservbyport",
-                       "getshape1",
-                       "getshape2",
-                       "getsockname",
-                       "getsockopt",
-                       "gettext",
-                       "gettimeofday",
-                       "gettype",
-                       "getwidth",
-                       "getwidth",
-                       "getwidth",
-                       "gmdate",
-                       "gmmktime",
-                       "gmp_abs",
-                       "gmp_add",
-                       "gmp_and",
-                       "gmp_clrbit",
-                       "gmp_cmp",
-                       "gmp_com",
-                       "gmp_div",
-                       "gmp_div_q",
-                       "gmp_div_qr",
-                       "gmp_div_r",
-                       "gmp_divexact",
-                       "gmp_fact",
-                       "gmp_gcd",
-                       "gmp_gcdext",
-                       "gmp_hamdist",
-                       "gmp_init",
-                       "gmp_intval",
-                       "gmp_invert",
-                       "gmp_jacobi",
-                       "gmp_legendre",
-                       "gmp_mod",
-                       "gmp_mul",
-                       "gmp_neg",
-                       "gmp_or",
-                       "gmp_perfect_square",
-                       "gmp_popcount",
-                       "gmp_pow",
-                       "gmp_powm",
-                       "gmp_prob_prime",
-                       "gmp_random",
-                       "gmp_scan0",
-                       "gmp_scan1",
-                       "gmp_setbit",
-                       "gmp_sign",
-                       "gmp_sqrt",
-                       "gmp_sqrtrem",
-                       "gmp_strval",
-                       "gmp_sub",
-                       "gmp_xor",
-                       "gmstrftime",
-                       "gmstrftime",
-                       "gregoriantojd",
-                       "gzclose",
-                       "gzcompress",
-                       "gzdeflate",
-                       "gzencode",
-                       "gzeof",
-                       "gzfile",
-                       "gzgetc",
-                       "gzgets",
-                       "gzgetss",
-                       "gzinflate",
-                       "gzopen",
-                       "gzpassthru",
-                       "gzputs",
-                       "gzread",
-                       "gzrewind",
-                       "gzseek",
-                       "gztell",
-                       "gzuncompress",
-                       "gzwrite",
-                       "header",
-                       "headers_sent",
-                       "hebrev",
-                       "hebrevc",
-                       "hexdec",
-                       "highlight_file",
-                       "highlight_string",
-                       "htmlentities",
-                       "htmlspecialchars",
-                       "hw_array2objrec",
-                       "hw_changeobject",
-                       "hw_children",
-                       "hw_childrenobj",
-                       "hw_close",
-                       "hw_connect",
-                       "hw_connection_info",
-                       "hw_cp",
-                       "hw_deleteobject",
-                       "hw_docbyanchor",
-                       "hw_docbyanchorobj",
-                       "hw_document_attributes",
-                       "hw_document_bodytag",
-                       "hw_document_content",
-                       "hw_document_setcontent",
-                       "hw_document_size",
-                       "hw_dummy",
-                       "hw_edittext",
-                       "hw_error",
-                       "hw_errormsg",
-                       "hw_free_document",
-                       "hw_getanchors",
-                       "hw_getanchorsobj",
-                       "hw_getandlock",
-                       "hw_getcgi",
-                       "hw_getchildcoll",
-                       "hw_getchildcollobj",
-                       "hw_getchilddoccoll",
-                       "hw_getchilddoccollobj",
-                       "hw_getobject",
-                       "hw_getobjectbyftquery",
-                       "hw_getobjectbyftquerycoll",
-                       "hw_getobjectbyftquerycollobj",
-                       "hw_getobjectbyftqueryobj",
-                       "hw_getobjectbyquery",
-                       "hw_getobjectbyquerycoll",
-                       "hw_getobjectbyquerycollobj",
-                       "hw_getobjectbyqueryobj",
-                       "hw_getparents",
-                       "hw_getparentsobj",
-                       "hw_getrellink",
-                       "hw_getremote",
-                       "hw_getremotechildren",
-                       "hw_getsrcbydestobj",
-                       "hw_gettext",
-                       "hw_getusername",
-                       "hw_identify",
-                       "hw_incollections",
-                       "hw_info",
-                       "hw_inscoll",
-                       "hw_insdoc",
-                       "hw_insertanchors",
-                       "hw_insertdocument",
-                       "hw_insertobject",
-                       "hw_mapid",
-                       "hw_modifyobject",
-                       "hw_mv",
-                       "hw_new_document",
-                       "hw_new_document_from_file",
-                       "hw_objrec2array",
-                       "hw_output_document",
-                       "hw_pconnect",
-                       "hw_pipecgi",
-                       "hw_pipedocument",
-                       "hw_root",
-                       "hw_setlinkroot",
-                       "hw_stat",
-                       "hw_unlock",
-                       "hw_who",
-                       "ibase_blob_add",
-                       "ibase_blob_cancel",
-                       "ibase_blob_close",
-                       "ibase_blob_create",
-                       "ibase_blob_echo",
-                       "ibase_blob_get",
-                       "ibase_blob_import",
-                       "ibase_blob_info",
-                       "ibase_blob_open",
-                       "ibase_close",
-                       "ibase_commit",
-                       "ibase_connect",
-                       "ibase_errmsg",
-                       "ibase_execute",
-                       "ibase_fetch_object",
-                       "ibase_fetch_row",
-                       "ibase_field_info",
-                       "ibase_free_query",
-                       "ibase_free_result",
-                       "ibase_num_fields",
-                       "ibase_pconnect",
-                       "ibase_prepare",
-                       "ibase_query",
-                       "ibase_rollback",
-                       "ibase_timefmt",
-                       "ibase_trans",
-                       "icap_create_calendar",
-                       "icap_delete_calendar",
-                       "icap_delete_event",
-                       "icap_fetch_event",
-                       "icap_list_alarms",
-                       "icap_list_events",
-                       "icap_open",
-                       "icap_popen",
-                       "icap_rename_calendar",
-                       "icap_reopen",
-                       "icap_snooze",
-                       "icap_store_event",
-                       "iconv",
-                       "iconv_get_encoding",
-                       "iconv_set_encoding",
-                       "ifx_affected_rows",
-                       "ifx_blobinfile_mode",
-                       "ifx_byteasvarchar",
-                       "ifx_close",
-                       "ifx_connect",
-                       "ifx_copy_blob",
-                       "ifx_create_blob",
-                       "ifx_create_char",
-                       "ifx_do",
-                       "ifx_error",
-                       "ifx_errormsg",
-                       "ifx_fetch_row",
-                       "ifx_fieldproperties",
-                       "ifx_fieldtypes",
-                       "ifx_free_blob",
-                       "ifx_free_char",
-                       "ifx_free_result",
-                       "ifx_get_blob",
-                       "ifx_get_char",
-                       "ifx_getsqlca",
-                       "ifx_htmltbl_result",
-                       "ifx_nullformat",
-                       "ifx_num_fields",
-                       "ifx_num_rows",
-                       "ifx_pconnect",
-                       "ifx_prepare",
-                       "ifx_query",
-                       "ifx_textasvarchar",
-                       "ifx_update_blob",
-                       "ifx_update_char",
-                       "ifxus_close_slob",
-                       "ifxus_create_slob",
-                       "ifxus_free_slob",
-                       "ifxus_open_slob",
-                       "ifxus_read_slob",
-                       "ifxus_seek_slob",
-                       "ifxus_tell_slob",
-                       "ifxus_write_slob",
-                       "ignore_user_abort",
-                       "iis_addserver",
-                       "iis_getdirsecurity",
-                       "iis_getscriptmap",
-                       "iis_getserverbycomment",
-                       "iis_getserverbypath",
-                       "iis_getserverright",
-                       "iis_getservicestate",
-                       "iis_removeserver",
-                       "iis_setappsettings",
-                       "iis_setdirsecurity",
-                       "iis_setscriptmap",
-                       "iis_setserverright",
-                       "iis_startserver",
-                       "iis_startservice",
-                       "iis_stopserver",
-                       "iis_stopservice",
-                       "image2wbmp",
-                       "imagealphablending",
-                       "imagearc",
-                       "imagechar",
-                       "imagecharup",
-                       "imagecolorallocate",
-                       "imagecolorat",
-                       "imagecolorclosest",
-                       "imagecolorclosestalpha",
-                       "imagecolorclosesthwb",
-                       "imagecolordeallocate",
-                       "imagecolorexact",
-                       "imagecolorexactalpha",
-                       "imagecolorresolve",
-                       "imagecolorresolvealpha",
-                       "imagecolorset",
-                       "imagecolorsforindex",
-                       "imagecolorstotal",
-                       "imagecolortransparent",
-                       "imagecopy",
-                       "imagecopymerge",
-                       "imagecopymergegray",
-                       "imagecopyresampled",
-                       "imagecopyresized",
-                       "imagecreate",
-                       "imagecreatefromgif",
-                       "imagecreatefromjpeg",
-                       "imagecreatefrompng",
-                       "imagecreatefromstring",
-                       "imagecreatefromwbmp",
-                       "imagecreatefromxbm",
-                       "imagecreatefromxpm",
-                       "imagecreatetruecolor",
-                       "imagedashedline",
-                       "imagedestroy",
-                       "imageellipse",
-                       "imagefill",
-                       "imagefilledarc",
-                       "imagefilledellipse",
-                       "imagefilledpolygon",
-                       "imagefilledrectangle",
-                       "imagefilltoborder",
-                       "imagefontheight",
-                       "imagefontwidth",
-                       "imagegammacorrect",
-                       "imagegif",
-                       "imageinterlace",
-                       "imagejpeg",
-                       "imageline",
-                       "imageloadfont",
-                       "imagepalettecopy",
-                       "imagepng",
-                       "imagepolygon",
-                       "imagepsbbox",
-                       "imagepscopyfont",
-                       "imagepsencodefont",
-                       "imagepsextendfont",
-                       "imagepsfreefont",
-                       "imagepsloadfont",
-                       "imagepsslantfont",
-                       "imagepstext",
-                       "imagerectangle",
-                       "imagesetbrush",
-                       "imagesetpixel",
-                       "imagesetstyle",
-                       "imagesetthickness",
-                       "imagesettile",
-                       "imagestring",
-                       "imagestringup",
-                       "imagesx",
-                       "imagesy",
-                       "imagetruecolortopalette",
-                       "imagettfbbox",
-                       "imagettftext",
-                       "imagetypes",
-                       "imagewbmp",
-                       "imap_8bit",
-                       "imap_alerts",
-                       "imap_append",
-                       "imap_base64",
-                       "imap_binary",
-                       "imap_body",
-                       "imap_bodystruct",
-                       "imap_check",
-                       "imap_clearflag_full",
-                       "imap_close",
-                       "imap_create",
-                       "imap_createmailbox",
-                       "imap_delete",
-                       "imap_deletemailbox",
-                       "imap_errors",
-                       "imap_expunge",
-                       "imap_fetch_overview",
-                       "imap_fetchbody",
-                       "imap_fetchheader",
-                       "imap_fetchstructure",
-                       "imap_fetchtext",
-                       "imap_get_quota",
-                       "imap_getmailboxes",
-                       "imap_getsubscribed",
-                       "imap_header",
-                       "imap_headerinfo",
-                       "imap_headers",
-                       "imap_last_error",
-                       "imap_list",
-                       "imap_listmailbox",
-                       "imap_listsubscribed",
-                       "imap_lsub",
-                       "imap_mail",
-                       "imap_mail",
-                       "imap_mail_compose",
-                       "imap_mail_copy",
-                       "imap_mail_move",
-                       "imap_mailboxmsginfo",
-                       "imap_mime_header_decode",
-                       "imap_msgno",
-                       "imap_num_msg",
-                       "imap_num_recent",
-                       "imap_open",
-                       "imap_ping",
-                       "imap_popen",
-                       "imap_qprint",
-                       "imap_rename",
-                       "imap_renamemailbox",
-                       "imap_reopen",
-                       "imap_rfc822_parse_adrlist",
-                       "imap_rfc822_parse_headers",
-                       "imap_rfc822_write_address",
-                       "imap_scan",
-                       "imap_scanmailbox",
-                       "imap_search",
-                       "imap_set_quota",
-                       "imap_setflag_full",
-                       "imap_sort",
-                       "imap_status",
-                       "imap_subscribe",
-                       "imap_uid",
-                       "imap_undelete",
-                       "imap_unsubscribe",
-                       "imap_utf7_decode",
-                       "imap_utf7_encode",
-                       "imap_utf8",
-                       "implode",
-                       "in_array",
-                       "ingres_autocommit",
-                       "ingres_close",
-                       "ingres_commit",
-                       "ingres_connect",
-                       "ingres_fetch_array",
-                       "ingres_fetch_object",
-                       "ingres_fetch_row",
-                       "ingres_field_length",
-                       "ingres_field_name",
-                       "ingres_field_nullable",
-                       "ingres_field_precision",
-                       "ingres_field_scale",
-                       "ingres_field_type",
-                       "ingres_num_fields",
-                       "ingres_num_rows",
-                       "ingres_pconnect",
-                       "ingres_query",
-                       "ingres_rollback",
-                       "ini_alter",
-                       "ini_get",
-                       "ini_restore",
-                       "ini_set",
-                       "intval",
-                       "ip2long",
-                       "iptcembed",
-                       "iptcparse",
-                       "ircg_channel_mode",
-                       "ircg_disconnect",
-                       "ircg_html_encode",
-                       "ircg_ignore_add",
-                       "ircg_ignore_del",
-                       "ircg_is_conn_alive",
-                       "ircg_join",
-                       "ircg_kick",
-                       "ircg_lookup_format_messages",
-                       "ircg_msg",
-                       "ircg_nick",
-                       "ircg_nickname_escape",
-                       "ircg_nickname_unescape",
-                       "ircg_notice",
-                       "ircg_part",
-                       "ircg_pconnect",
-                       "ircg_register_format_messages",
-                       "ircg_set_current",
-                       "ircg_topic",
-                       "ircg_whois",
-                       "is_array",
-                       "is_bool",
-                       "is_dir",
-                       "is_double",
-                       "is_executable",
-                       "is_file",
-                       "is_float",
-                       "is_int",
-                       "is_integer",
-                       "is_link",
-                       "is_long",
-                       "is_null",
-                       "is_numeric",
-                       "is_object",
-                       "is_readable",
-                       "is_real",
-                       "is_resource",
-                       "is_scalar",
-                       "is_string",
-                       "is_subclass_of",
-                       "is_uploaded_file",
-                       "is_writable",
-                       "is_writeable",
-                       "java_last_exception_clear",
-                       "java_last_exception_get",
-                       "jddayofweek",
-                       "jdmonthname",
-                       "jdtofrench",
-                       "jdtogregorian",
-                       "jdtojewish",
-                       "jdtojulian",
-                       "jdtounix",
-                       "jewishtojd",
-                       "join",
-                       "jpeg2wbmp",
-                       "juliantojd",
-                       "key",
-                       "krsort",
-                       "ksort",
-                       "labelframe",
-                       "labelframe",
-                       "lcg_value",
-                       "ldap_8859_to_t61",
-                       "ldap_add",
-                       "ldap_bind",
-                       "ldap_close",
-                       "ldap_compare",
-                       "ldap_connect",
-                       "ldap_count_entries",
-                       "ldap_delete",
-                       "ldap_dn2ufn",
-                       "ldap_err2str",
-                       "ldap_errno",
-                       "ldap_error",
-                       "ldap_explode_dn",
-                       "ldap_first_attribute",
-                       "ldap_first_entry",
-                       "ldap_first_reference",
-                       "ldap_free_result",
-                       "ldap_get_attributes",
-                       "ldap_get_dn",
-                       "ldap_get_entries",
-                       "ldap_get_option",
-                       "ldap_get_values",
-                       "ldap_get_values_len",
-                       "ldap_list",
-                       "ldap_mod_add",
-                       "ldap_mod_del",
-                       "ldap_mod_replace",
-                       "ldap_modify",
-                       "ldap_next_attribute",
-                       "ldap_next_entry",
-                       "ldap_next_reference",
-                       "ldap_parse_reference",
-                       "ldap_parse_result",
-                       "ldap_read",
-                       "ldap_rename",
-                       "ldap_search",
-                       "ldap_set_option",
-                       "ldap_t61_to_8859",
-                       "ldap_unbind",
-                       "leak",
-                       "levenshtein",
-                       "link",
-                       "link",
-                       "linkinfo",
-                       "linkinfo",
-                       "listen",
-                       "localeconv",
-                       "localtime",
-                       "log",
-                       "log10",
-                       "long2ip",
-                       "lstat",
-                       "ltrim",
-                       "magic_quotes_runtime",
-                       "mail",
-                       "mail",
-                       "max",
-                       "mcal_append_event",
-                       "mcal_close",
-                       "mcal_create_calendar",
-                       "mcal_date_compare",
-                       "mcal_date_valid",
-                       "mcal_day_of_week",
-                       "mcal_day_of_year",
-                       "mcal_days_in_month",
-                       "mcal_delete_calendar",
-                       "mcal_delete_event",
-                       "mcal_event_add_attribute",
-                       "mcal_event_init",
-                       "mcal_event_set_alarm",
-                       "mcal_event_set_category",
-                       "mcal_event_set_class",
-                       "mcal_event_set_description",
-                       "mcal_event_set_end",
-                       "mcal_event_set_recur_daily",
-                       "mcal_event_set_recur_monthly_mday",
-                       "mcal_event_set_recur_monthly_wday",
-                       "mcal_event_set_recur_none",
-                       "mcal_event_set_recur_weekly",
-                       "mcal_event_set_recur_yearly",
-                       "mcal_event_set_start",
-                       "mcal_event_set_title",
-                       "mcal_fetch_current_stream_event",
-                       "mcal_fetch_event",
-                       "mcal_is_leap_year",
-                       "mcal_list_alarms",
-                       "mcal_list_events",
-                       "mcal_next_recurrence",
-                       "mcal_open",
-                       "mcal_popen",
-                       "mcal_rename_calendar",
-                       "mcal_reopen",
-                       "mcal_snooze",
-                       "mcal_store_event",
-                       "mcal_time_valid",
-                       "mcal_week_of_year",
-                       "mcrypt_cbc",
-                       "mcrypt_cfb",
-                       "mcrypt_create_iv",
-                       "mcrypt_decrypt",
-                       "mcrypt_ecb",
-                       "mcrypt_enc_get_algorithms_name",
-                       "mcrypt_enc_get_block_size",
-                       "mcrypt_enc_get_iv_size",
-                       "mcrypt_enc_get_key_size",
-                       "mcrypt_enc_get_modes_name",
-                       "mcrypt_enc_get_supported_key_sizes",
-                       "mcrypt_enc_is_block_algorithm",
-                       "mcrypt_enc_is_block_algorithm_mode",
-                       "mcrypt_enc_is_block_mode",
-                       "mcrypt_enc_self_test",
-                       "mcrypt_encrypt",
-                       "mcrypt_generic",
-                       "mcrypt_generic_end",
-                       "mcrypt_generic_init",
-                       "mcrypt_get_block_size",
-                       "mcrypt_get_cipher_name",
-                       "mcrypt_get_iv_size",
-                       "mcrypt_get_key_size",
-                       "mcrypt_list_algorithms",
-                       "mcrypt_list_modes",
-                       "mcrypt_module_close",
-                       "mcrypt_module_get_algo_block_size",
-                       "mcrypt_module_get_algo_key_size",
-                       "mcrypt_module_get_supported_key_sizes",
-                       "mcrypt_module_is_block_algorithm",
-                       "mcrypt_module_is_block_algorithm_mode",
-                       "mcrypt_module_is_block_mode",
-                       "mcrypt_module_open",
-                       "mcrypt_module_self_test",
-                       "mcrypt_ofb",
-                       "md5",
-                       "mdecrypt_generic",
-                       "metaphone",
-                       "method_exists",
-                       "mhash",
-                       "mhash_count",
-                       "mhash_get_block_size",
-                       "mhash_get_hash_name",
-                       "mhash_keygen_s2k",
-                       "microtime",
-                       "min",
-                       "ming_setcubicthreshold",
-                       "ming_setscale",
-                       "mkdir",
-                       "mktime",
-                       "move",
-                       "move_uploaded_file",
-                       "movepen",
-                       "movepento",
-                       "moveto",
-                       "moveto",
-                       "moveto",
-                       "msql",
-                       "msql_affected_rows",
-                       "msql_close",
-                       "msql_connect",
-                       "msql_create_db",
-                       "msql_createdb",
-                       "msql_data_seek",
-                       "msql_db_query",
-                       "msql_dbname",
-                       "msql_drop_db",
-                       "msql_dropdb",
-                       "msql_error",
-                       "msql_fetch_array",
-                       "msql_fetch_field",
-                       "msql_fetch_object",
-                       "msql_fetch_row",
-                       "msql_field_flags",
-                       "msql_field_len",
-                       "msql_field_name",
-                       "msql_field_seek",
-                       "msql_field_table",
-                       "msql_field_type",
-                       "msql_fieldflags",
-                       "msql_fieldlen",
-                       "msql_fieldname",
-                       "msql_fieldtable",
-                       "msql_fieldtype",
-                       "msql_free_result",
-                       "msql_freeresult",
-                       "msql_list_dbs",
-                       "msql_list_fields",
-                       "msql_list_tables",
-                       "msql_listdbs",
-                       "msql_listfields",
-                       "msql_listtables",
-                       "msql_num_fields",
-                       "msql_num_rows",
-                       "msql_numfields",
-                       "msql_numrows",
-                       "msql_pconnect",
-                       "msql_query",
-                       "msql_regcase",
-                       "msql_result",
-                       "msql_select_db",
-                       "msql_selectdb",
-                       "msql_tablename",
-                       "mssql_affected_rows",
-                       "mssql_affected_rows",
-                       "mssql_close",
-                       "mssql_close",
-                       "mssql_close",
-                       "mssql_connect",
-                       "mssql_connect",
-                       "mssql_connect",
-                       "mssql_data_seek",
-                       "mssql_data_seek",
-                       "mssql_data_seek",
-                       "mssql_fetch_array",
-                       "mssql_fetch_array",
-                       "mssql_fetch_array",
-                       "mssql_fetch_batch",
-                       "mssql_fetch_field",
-                       "mssql_fetch_field",
-                       "mssql_fetch_field",
-                       "mssql_fetch_object",
-                       "mssql_fetch_object",
-                       "mssql_fetch_object",
-                       "mssql_fetch_row",
-                       "mssql_fetch_row",
-                       "mssql_fetch_row",
-                       "mssql_field_length",
-                       "mssql_field_name",
-                       "mssql_field_seek",
-                       "mssql_field_seek",
-                       "mssql_field_seek",
-                       "mssql_field_type",
-                       "mssql_free_result",
-                       "mssql_free_result",
-                       "mssql_free_result",
-                       "mssql_get_last_message",
-                       "mssql_get_last_message",
-                       "mssql_get_last_message",
-                       "mssql_min_client_severity",
-                       "mssql_min_error_severity",
-                       "mssql_min_error_severity",
-                       "mssql_min_message_severity",
-                       "mssql_min_message_severity",
-                       "mssql_min_server_severity",
-                       "mssql_next_result",
-                       "mssql_num_fields",
-                       "mssql_num_fields",
-                       "mssql_num_fields",
-                       "mssql_num_rows",
-                       "mssql_num_rows",
-                       "mssql_num_rows",
-                       "mssql_pconnect",
-                       "mssql_pconnect",
-                       "mssql_pconnect",
-                       "mssql_query",
-                       "mssql_query",
-                       "mssql_query",
-                       "mssql_result",
-                       "mssql_result",
-                       "mssql_result",
-                       "mssql_rows_affected",
-                       "mssql_select_db",
-                       "mssql_select_db",
-                       "mssql_select_db",
-                       "mt_getrandmax",
-                       "mt_rand",
-                       "mt_srand",
-                       "multcolor",
-                       "muscat_close",
-                       "muscat_get",
-                       "muscat_give",
-                       "muscat_setup",
-                       "muscat_setup_net",
-                       "mysql",
-                       "mysql_affected_rows",
-                       "mysql_close",
-                       "mysql_connect",
-                       "mysql_create_db",
-                       "mysql_createdb",
-                       "mysql_data_seek",
-                       "mysql_db_name",
-                       "mysql_db_query",
-                       "mysql_dbname",
-                       "mysql_drop_db",
-                       "mysql_dropdb",
-                       "mysql_errno",
-                       "mysql_error",
-                       "mysql_escape_string",
-                       "mysql_fetch_array",
-                       "mysql_fetch_assoc",
-                       "mysql_fetch_field",
-                       "mysql_fetch_lengths",
-                       "mysql_fetch_object",
-                       "mysql_fetch_row",
-                       "mysql_field_flags",
-                       "mysql_field_len",
-                       "mysql_field_name",
-                       "mysql_field_seek",
-                       "mysql_field_table",
-                       "mysql_field_type",
-                       "mysql_fieldflags",
-                       "mysql_fieldlen",
-                       "mysql_fieldname",
-                       "mysql_fieldtable",
-                       "mysql_fieldtype",
-                       "mysql_free_result",
-                       "mysql_freeresult",
-                       "mysql_get_client_info",
-                       "mysql_get_host_info",
-                       "mysql_get_proto_info",
-                       "mysql_get_server_info",
-                       "mysql_insert_id",
-                       "mysql_list_dbs",
-                       "mysql_list_fields",
-                       "mysql_list_tables",
-                       "mysql_listdbs",
-                       "mysql_listfields",
-                       "mysql_listtables",
-                       "mysql_num_fields",
-                       "mysql_num_rows",
-                       "mysql_numfields",
-                       "mysql_numrows",
-                       "mysql_pconnect",
-                       "mysql_query",
-                       "mysql_result",
-                       "mysql_select_db",
-                       "mysql_selectdb",
-                       "mysql_tablename",
-                       "mysql_unbuffered_query",
-                       "natcasesort",
-                       "natsort",
-                       "new_xmldoc",
-                       "next",
-                       "nextframe",
-                       "nextframe",
-                       "nl2br",
-                       "notes_body",
-                       "notes_copy_db",
-                       "notes_create_db",
-                       "notes_create_note",
-                       "notes_drop_db",
-                       "notes_find_note",
-                       "notes_header_info",
-                       "notes_list_msgs",
-                       "notes_mark_read",
-                       "notes_mark_unread",
-                       "notes_nav_create",
-                       "notes_search",
-                       "notes_unread",
-                       "notes_version",
-                       "number_format",
-                       "ob_end_clean",
-                       "ob_end_flush",
-                       "ob_get_contents",
-                       "ob_get_length",
-                       "ob_gzhandler",
-                       "ob_iconv_handler",
-                       "ob_implicit_flush",
-                       "ob_start",
-                       "ocibindbyname",
-                       "ocicancel",
-                       "ocicollappend",
-                       "ocicollassign",
-                       "ocicollassignelem",
-                       "ocicolldateappendelem",
-                       "ocicolldateassignelem",
-                       "ocicolldategetelem",
-                       "ocicollgetelem",
-                       "ocicollmax",
-                       "ocicollsize",
-                       "ocicolltrim",
-                       "ocicolumnisnull",
-                       "ocicolumnname",
-                       "ocicolumnprecision",
-                       "ocicolumnscale",
-                       "ocicolumnsize",
-                       "ocicolumntype",
-                       "ocicolumntyperaw",
-                       "ocicommit",
-                       "ocidefinebyname",
-                       "ocierror",
-                       "ociexecute",
-                       "ocifetch",
-                       "ocifetchinto",
-                       "ocifetchstatement",
-                       "ocifreecoll",
-                       "ocifreecursor",
-                       "ocifreedesc",
-                       "ocifreestatement",
-                       "ociinternaldebug",
-                       "ociloadlob",
-                       "ocilogoff",
-                       "ocilogon",
-                       "ocinewcollection",
-                       "ocinewcursor",
-                       "ocinewdescriptor",
-                       "ocinlogon",
-                       "ocinumcols",
-                       "ociparse",
-                       "ociplogon",
-                       "ociresult",
-                       "ocirollback",
-                       "ocirowcount",
-                       "ocisavelob",
-                       "ocisavelobfile",
-                       "ociserverversion",
-                       "ocisetprefetch",
-                       "ocistatementtype",
-                       "ociwritelobtofile",
-                       "octdec",
-                       "odbc_autocommit",
-                       "odbc_binmode",
-                       "odbc_close",
-                       "odbc_close_all",
-                       "odbc_columnprivileges",
-                       "odbc_columns",
-                       "odbc_commit",
-                       "odbc_connect",
-                       "odbc_cursor",
-                       "odbc_do",
-                       "odbc_error",
-                       "odbc_errormsg",
-                       "odbc_exec",
-                       "odbc_execute",
-                       "odbc_fetch_array",
-                       "odbc_fetch_into",
-                       "odbc_fetch_object",
-                       "odbc_fetch_row",
-                       "odbc_field_len",
-                       "odbc_field_name",
-                       "odbc_field_num",
-                       "odbc_field_precision",
-                       "odbc_field_scale",
-                       "odbc_field_type",
-                       "odbc_foreignkeys",
-                       "odbc_free_result",
-                       "odbc_gettypeinfo",
-                       "odbc_longreadlen",
-                       "odbc_next_result",
-                       "odbc_num_fields",
-                       "odbc_num_rows",
-                       "odbc_pconnect",
-                       "odbc_prepare",
-                       "odbc_primarykeys",
-                       "odbc_procedurecolumns",
-                       "odbc_procedures",
-                       "odbc_result",
-                       "odbc_result_all",
-                       "odbc_rollback",
-                       "odbc_setoption",
-                       "odbc_specialcolumns",
-                       "odbc_statistics",
-                       "odbc_tableprivileges",
-                       "odbc_tables",
-                       "open_listen_sock",
-                       "opendir",
-                       "openlog",
-                       "openssl_error_string",
-                       "openssl_free_key",
-                       "openssl_get_privatekey",
-                       "openssl_get_publickey",
-                       "openssl_open",
-                       "openssl_pkcs7_decrypt",
-                       "openssl_pkcs7_encrypt",
-                       "openssl_pkcs7_sign",
-                       "openssl_pkcs7_verify",
-                       "openssl_seal",
-                       "openssl_sign",
-                       "openssl_verify",
-                       "openssl_x509_checkpurpose",
-                       "openssl_x509_free",
-                       "openssl_x509_parse",
-                       "openssl_x509_read",
-                       "ora_bind",
-                       "ora_close",
-                       "ora_columnname",
-                       "ora_columnsize",
-                       "ora_columntype",
-                       "ora_commit",
-                       "ora_commitoff",
-                       "ora_commiton",
-                       "ora_do",
-                       "ora_error",
-                       "ora_errorcode",
-                       "ora_exec",
-                       "ora_fetch",
-                       "ora_fetch_into",
-                       "ora_getcolumn",
-                       "ora_logoff",
-                       "ora_logon",
-                       "ora_numcols",
-                       "ora_numrows",
-                       "ora_open",
-                       "ora_parse",
-                       "ora_plogon",
-                       "ora_rollback",
-                       "orbit_caught_exception",
-                       "orbit_exception_id",
-                       "orbit_exception_value",
-                       "orbit_get_repository_id",
-                       "orbit_load_idl",
-                       "ord",
-                       "output",
-                       "ovrimos_close",
-                       "ovrimos_close_all",
-                       "ovrimos_commit",
-                       "ovrimos_connect",
-                       "ovrimos_cursor",
-                       "ovrimos_exec",
-                       "ovrimos_execute",
-                       "ovrimos_fetch_into",
-                       "ovrimos_fetch_row",
-                       "ovrimos_field_len",
-                       "ovrimos_field_name",
-                       "ovrimos_field_num",
-                       "ovrimos_field_type",
-                       "ovrimos_free_result",
-                       "ovrimos_longreadlen",
-                       "ovrimos_num_fields",
-                       "ovrimos_num_rows",
-                       "ovrimos_prepare",
-                       "ovrimos_result",
-                       "ovrimos_result_all",
-                       "ovrimos_rollback",
-                       "pack",
-                       "parse_ini_file",
-                       "parse_str",
-                       "parse_url",
-                       "passthru",
-                       "pathinfo",
-                       "pclose",
-                       "pdf_add_annotation",
-                       "pdf_add_bookmark",
-                       "pdf_add_launchlink",
-                       "pdf_add_locallink",
-                       "pdf_add_note",
-                       "pdf_add_outline",
-                       "pdf_add_pdflink",
-                       "pdf_add_thumbnail",
-                       "pdf_add_weblink",
-                       "pdf_arc",
-                       "pdf_arcn",
-                       "pdf_attach_file",
-                       "pdf_begin_page",
-                       "pdf_begin_pattern",
-                       "pdf_begin_template",
-                       "pdf_circle",
-                       "pdf_clip",
-                       "pdf_close",
-                       "pdf_close_image",
-                       "pdf_close_pdi",
-                       "pdf_close_pdi_page",
-                       "pdf_closepath",
-                       "pdf_closepath_fill_stroke",
-                       "pdf_closepath_stroke",
-                       "pdf_concat",
-                       "pdf_continue_text",
-                       "pdf_curveto",
-                       "pdf_delete",
-                       "pdf_end_page",
-                       "pdf_end_pattern",
-                       "pdf_end_template",
-                       "pdf_endpath",
-                       "pdf_fill",
-                       "pdf_fill_stroke",
-                       "pdf_findfont",
-                       "pdf_get_buffer",
-                       "pdf_get_font",
-                       "pdf_get_fontname",
-                       "pdf_get_fontsize",
-                       "pdf_get_image_height",
-                       "pdf_get_image_width",
-                       "pdf_get_parameter",
-                       "pdf_get_pdi_parameter",
-                       "pdf_get_pdi_value",
-                       "pdf_get_value",
-                       "pdf_initgraphics",
-                       "pdf_lineto",
-                       "pdf_makespotcolor",
-                       "pdf_moveto",
-                       "pdf_new",
-                       "pdf_open",
-                       "pdf_open_ccitt",
-                       "pdf_open_file",
-                       "pdf_open_gif",
-                       "pdf_open_image",
-                       "pdf_open_image_file",
-                       "pdf_open_jpeg",
-                       "pdf_open_memory_image",
-                       "pdf_open_pdi",
-                       "pdf_open_pdi_page",
-                       "pdf_open_png",
-                       "pdf_open_tiff",
-                       "pdf_place_image",
-                       "pdf_place_pdi_page",
-                       "pdf_rect",
-                       "pdf_restore",
-                       "pdf_rotate",
-                       "pdf_save",
-                       "pdf_scale",
-                       "pdf_set_border_color",
-                       "pdf_set_border_dash",
-                       "pdf_set_border_style",
-                       "pdf_set_char_spacing",
-                       "pdf_set_duration",
-                       "pdf_set_font",
-                       "pdf_set_horiz_scaling",
-                       "pdf_set_info",
-                       "pdf_set_info_author",
-                       "pdf_set_info_creator",
-                       "pdf_set_info_keywords",
-                       "pdf_set_info_subject",
-                       "pdf_set_info_title",
-                       "pdf_set_leading",
-                       "pdf_set_parameter",
-                       "pdf_set_text_pos",
-                       "pdf_set_text_rendering",
-                       "pdf_set_text_rise",
-                       "pdf_set_transition",
-                       "pdf_set_value",
-                       "pdf_set_word_spacing",
-                       "pdf_setcolor",
-                       "pdf_setdash",
-                       "pdf_setflat",
-                       "pdf_setfont",
-                       "pdf_setgray",
-                       "pdf_setgray_fill",
-                       "pdf_setgray_stroke",
-                       "pdf_setlinecap",
-                       "pdf_setlinejoin",
-                       "pdf_setlinewidth",
-                       "pdf_setmatrix",
-                       "pdf_setmiterlimit",
-                       "pdf_setpolydash",
-                       "pdf_setrgbcolor",
-                       "pdf_setrgbcolor_fill",
-                       "pdf_setrgbcolor_stroke",
-                       "pdf_show",
-                       "pdf_show_boxed",
-                       "pdf_show_xy",
-                       "pdf_skew",
-                       "pdf_stringwidth",
-                       "pdf_stroke",
-                       "pdf_translate",
-                       "pfpro_cleanup",
-                       "pfpro_init",
-                       "pfpro_process",
-                       "pfpro_process_raw",
-                       "pfpro_version",
-                       "pfsockopen",
-                       "pg_client_encoding",
-                       "pg_clientencoding",
-                       "pg_close",
-                       "pg_cmdtuples",
-                       "pg_connect",
-                       "pg_dbname",
-                       "pg_end_copy",
-                       "pg_errormessage",
-                       "pg_exec",
-                       "pg_fetch_array",
-                       "pg_fetch_object",
-                       "pg_fetch_row",
-                       "pg_fieldisnull",
-                       "pg_fieldname",
-                       "pg_fieldnum",
-                       "pg_fieldprtlen",
-                       "pg_fieldsize",
-                       "pg_fieldtype",
-                       "pg_freeresult",
-                       "pg_getlastoid",
-                       "pg_host",
-                       "pg_loclose",
-                       "pg_locreate",
-                       "pg_loexport",
-                       "pg_loimport",
-                       "pg_loopen",
-                       "pg_loread",
-                       "pg_loreadall",
-                       "pg_lounlink",
-                       "pg_lowrite",
-                       "pg_numfields",
-                       "pg_numrows",
-                       "pg_options",
-                       "pg_pconnect",
-                       "pg_port",
-                       "pg_put_line",
-                       "pg_result",
-                       "pg_set_client_encoding",
-                       "pg_setclientencoding",
-                       "pg_trace",
-                       "pg_tty",
-                       "pg_untrace",
-                       "php_logo_guid",
-                       "php_sapi_name",
-                       "php_uname",
-                       "phpcredits",
-                       "phpinfo",
-                       "phpversion",
-                       "pi",
-                       "png2wbmp",
-                       "popen",
-                       "pos",
-                       "posix_ctermid",
-                       "posix_getcwd",
-                       "posix_getegid",
-                       "posix_geteuid",
-                       "posix_getgid",
-                       "posix_getgrgid",
-                       "posix_getgrnam",
-                       "posix_getgroups",
-                       "posix_getlogin",
-                       "posix_getpgid",
-                       "posix_getpgrp",
-                       "posix_getpid",
-                       "posix_getppid",
-                       "posix_getpwnam",
-                       "posix_getpwuid",
-                       "posix_getrlimit",
-                       "posix_getsid",
-                       "posix_getuid",
-                       "posix_isatty",
-                       "posix_kill",
-                       "posix_mkfifo",
-                       "posix_setegid",
-                       "posix_seteuid",
-                       "posix_setgid",
-                       "posix_setpgid",
-                       "posix_setsid",
-                       "posix_setuid",
-                       "posix_times",
-                       "posix_ttyname",
-                       "posix_uname",
-                       "pow",
-                       "preg_grep",
-                       "preg_match",
-                       "preg_match_all",
-                       "preg_quote",
-                       "preg_replace",
-                       "preg_replace_callback",
-                       "preg_split",
-                       "prev",
-                       "print_r",
-                       "printer_abort",
-                       "printer_close",
-                       "printer_create_brush",
-                       "printer_create_dc",
-                       "printer_create_font",
-                       "printer_create_pen",
-                       "printer_delete_brush",
-                       "printer_delete_dc",
-                       "printer_delete_font",
-                       "printer_delete_pen",
-                       "printer_draw_bmp",
-                       "printer_draw_chord",
-                       "printer_draw_elipse",
-                       "printer_draw_line",
-                       "printer_draw_pie",
-                       "printer_draw_rectangle",
-                       "printer_draw_roundrect",
-                       "printer_draw_text",
-                       "printer_end_doc",
-                       "printer_end_page",
-                       "printer_get_option",
-                       "printer_list",
-                       "printer_logical_fontheight",
-                       "printer_open",
-                       "printer_select_brush",
-                       "printer_select_font",
-                       "printer_select_pen",
-                       "printer_set_option",
-                       "printer_start_doc",
-                       "printer_start_page",
-                       "printer_write",
-                       "printf",
-                       "pspell_add_to_personal",
-                       "pspell_add_to_session",
-                       "pspell_check",
-                       "pspell_clear_session",
-                       "pspell_config_create",
-                       "pspell_config_ignore",
-                       "pspell_config_mode",
-                       "pspell_config_personal",
-                       "pspell_config_repl",
-                       "pspell_config_runtogether",
-                       "pspell_config_save_repl",
-                       "pspell_new",
-                       "pspell_new_config",
-                       "pspell_new_personal",
-                       "pspell_save_wordlist",
-                       "pspell_store_replacement",
-                       "pspell_suggest",
-                       "putenv",
-                       "putenv",
-                       "qdom_error",
-                       "qdom_tree",
-                       "quoted_printable_decode",
-                       "quotemeta",
-                       "rad2deg",
-                       "rand",
-                       "range",
-                       "rawurldecode",
-                       "rawurlencode",
-                       "read",
-                       "read_exif_data",
-                       "readdir",
-                       "readfile",
-                       "readgzfile",
-                       "readline",
-                       "readline_add_history",
-                       "readline_clear_history",
-                       "readline_completion_function",
-                       "readline_info",
-                       "readline_list_history",
-                       "readline_list_history",
-                       "readline_read_history",
-                       "readline_write_history",
-                       "readlink",
-                       "readlink",
-                       "readv",
-                       "realpath",
-                       "realpath",
-                       "recode",
-                       "recode_file",
-                       "recode_string",
-                       "recv",
-                       "recvfrom",
-                       "recvmsg",
-                       "register_shutdown_function",
-                       "register_tick_function",
-                       "remove",
-                       "remove",
-                       "rename",
-                       "reset",
-                       "restore_error_handler",
-                       "rewind",
-                       "rewinddir",
-                       "rmdir",
-                       "rotate",
-                       "rotateto",
-                       "rotateto",
-                       "round",
-                       "rsort",
-                       "rtrim",
-                       "satellite_caught_exception",
-                       "satellite_exception_id",
-                       "satellite_exception_value",
-                       "satellite_get_repository_id",
-                       "satellite_load_idl",
-                       "save",
-                       "savetofile",
-                       "scale",
-                       "scaleto",
-                       "scaleto",
-                       "select",
-                       "sem_acquire",
-                       "sem_get",
-                       "sem_release",
-                       "send",
-                       "sendmsg",
-                       "sendto",
-                       "serialize",
-                       "session_cache_limiter",
-                       "session_decode",
-                       "session_destroy",
-                       "session_encode",
-                       "session_get_cookie_params",
-                       "session_id",
-                       "session_is_registered",
-                       "session_module_name",
-                       "session_name",
-                       "session_register",
-                       "session_save_path",
-                       "session_set_cookie_params",
-                       "session_set_save_handler",
-                       "session_start",
-                       "session_unregister",
-                       "session_unset",
-                       "session_write_close",
-                       "set_content",
-                       "set_error_handler",
-                       "set_file_buffer",
-                       "set_iovec",
-                       "set_magic_quotes_runtime",
-                       "set_nonblock",
-                       "set_socket_blocking",
-                       "set_time_limit",
-                       "setaction",
-                       "setbackground",
-                       "setbounds",
-                       "setcolor",
-                       "setcolor",
-                       "setcookie",
-                       "setdepth",
-                       "setdimension",
-                       "setdown",
-                       "setfont",
-                       "setfont",
-                       "setframes",
-                       "setframes",
-                       "setheight",
-                       "setheight",
-                       "sethit",
-                       "setindentation",
-                       "setleftfill",
-                       "setleftmargin",
-                       "setline",
-                       "setlinespacing",
-                       "setlocale",
-                       "setmargins",
-                       "setmatrix",
-                       "setname",
-                       "setname",
-                       "setover",
-                       "setrate",
-                       "setratio",
-                       "setrightfill",
-                       "setrightmargin",
-                       "setsockopt",
-                       "setspacing",
-                       "settype",
-                       "setup",
-                       "shell_exec",
-                       "shm_attach",
-                       "shm_detach",
-                       "shm_get_var",
-                       "shm_put_var",
-                       "shm_remove",
-                       "shm_remove_var",
-                       "shmop_close",
-                       "shmop_delete",
-                       "shmop_open",
-                       "shmop_read",
-                       "shmop_size",
-                       "shmop_write",
-                       "show_source",
-                       "shuffle",
-                       "shutdown",
-                       "signal",
-                       "similar_text",
-                       "sin",
-                       "sizeof",
-                       "skewx",
-                       "skewxto",
-                       "skewxto",
-                       "skewy",
-                       "skewyto",
-                       "skewyto",
-                       "sleep",
-                       "snmp_get_quick_print",
-                       "snmp_set_quick_print",
-                       "snmpget",
-                       "snmpget",
-                       "snmprealwalk",
-                       "snmpset",
-                       "snmpwalk",
-                       "snmpwalk",
-                       "snmpwalkoid",
-                       "socket",
-                       "socket_get_status",
-                       "socket_set_blocking",
-                       "socket_set_timeout",
-                       "socket_set_timeout",
-                       "socketpair",
-                       "sort",
-                       "soundex",
-                       "split",
-                       "spliti",
-                       "sprintf",
-                       "sql_regcase",
-                       "sqrt",
-                       "srand",
-                       "sscanf",
-                       "stat",
-                       "str_pad",
-                       "str_repeat",
-                       "str_replace",
-                       "strcasecmp",
-                       "strchr",
-                       "strcmp",
-                       "strcoll",
-                       "strcoll",
-                       "strcspn",
-                       "streammp3",
-                       "strerror",
-                       "strftime",
-                       "strftime",
-                       "strip_tags",
-                       "stripcslashes",
-                       "stripslashes",
-                       "stristr",
-                       "strlen",
-                       "strnatcasecmp",
-                       "strnatcmp",
-                       "strncasecmp",
-                       "strncmp",
-                       "strpos",
-                       "strrchr",
-                       "strrev",
-                       "strrpos",
-                       "strspn",
-                       "strstr",
-                       "strtok",
-                       "strtolower",
-                       "strtotime",
-                       "strtoupper",
-                       "strtr",
-                       "strval",
-                       "substr",
-                       "substr_count",
-                       "substr_replace",
-                       "swf_actiongeturl",
-                       "swf_actiongotoframe",
-                       "swf_actiongotolabel",
-                       "swf_actionnextframe",
-                       "swf_actionplay",
-                       "swf_actionprevframe",
-                       "swf_actionsettarget",
-                       "swf_actionstop",
-                       "swf_actiontogglequality",
-                       "swf_actionwaitforframe",
-                       "swf_addbuttonrecord",
-                       "swf_addcolor",
-                       "swf_closefile",
-                       "swf_definebitmap",
-                       "swf_definefont",
-                       "swf_defineline",
-                       "swf_definepoly",
-                       "swf_definerect",
-                       "swf_definetext",
-                       "swf_endbutton",
-                       "swf_enddoaction",
-                       "swf_endshape",
-                       "swf_endsymbol",
-                       "swf_fontsize",
-                       "swf_fontslant",
-                       "swf_fonttracking",
-                       "swf_getbitmapinfo",
-                       "swf_getfontinfo",
-                       "swf_getframe",
-                       "swf_labelframe",
-                       "swf_lookat",
-                       "swf_modifyobject",
-                       "swf_mulcolor",
-                       "swf_nextid",
-                       "swf_oncondition",
-                       "swf_openfile",
-                       "swf_ortho",
-                       "swf_ortho2",
-                       "swf_perspective",
-                       "swf_placeobject",
-                       "swf_polarview",
-                       "swf_popmatrix",
-                       "swf_posround",
-                       "swf_pushmatrix",
-                       "swf_removeobject",
-                       "swf_rotate",
-                       "swf_scale",
-                       "swf_setfont",
-                       "swf_setframe",
-                       "swf_shapearc",
-                       "swf_shapecurveto",
-                       "swf_shapecurveto3",
-                       "swf_shapefillbitmapclip",
-                       "swf_shapefillbitmaptile",
-                       "swf_shapefilloff",
-                       "swf_shapefillsolid",
-                       "swf_shapelinesolid",
-                       "swf_shapelineto",
-                       "swf_shapemoveto",
-                       "swf_showframe",
-                       "swf_startbutton",
-                       "swf_startdoaction",
-                       "swf_startshape",
-                       "swf_startsymbol",
-                       "swf_textwidth",
-                       "swf_translate",
-                       "swf_viewport",
-                       "swfaction",
-                       "swfbitmap",
-                       "swfbutton",
-                       "swfbutton_keypress",
-                       "swffill",
-                       "swffont",
-                       "swfgradient",
-                       "swfmorph",
-                       "swfmovie",
-                       "swfshape",
-                       "swfsprite",
-                       "swftext",
-                       "swftextfield",
-                       "sybase_affected_rows",
-                       "sybase_affected_rows",
-                       "sybase_close",
-                       "sybase_close",
-                       "sybase_connect",
-                       "sybase_connect",
-                       "sybase_data_seek",
-                       "sybase_data_seek",
-                       "sybase_fetch_array",
-                       "sybase_fetch_array",
-                       "sybase_fetch_field",
-                       "sybase_fetch_field",
-                       "sybase_fetch_object",
-                       "sybase_fetch_object",
-                       "sybase_fetch_row",
-                       "sybase_fetch_row",
-                       "sybase_field_seek",
-                       "sybase_field_seek",
-                       "sybase_free_result",
-                       "sybase_free_result",
-                       "sybase_get_last_message",
-                       "sybase_get_last_message",
-                       "sybase_min_client_severity",
-                       "sybase_min_error_severity",
-                       "sybase_min_message_severity",
-                       "sybase_min_server_severity",
-                       "sybase_num_fields",
-                       "sybase_num_fields",
-                       "sybase_num_rows",
-                       "sybase_num_rows",
-                       "sybase_pconnect",
-                       "sybase_pconnect",
-                       "sybase_query",
-                       "sybase_query",
-                       "sybase_result",
-                       "sybase_result",
-                       "sybase_select_db",
-                       "sybase_select_db",
-                       "symlink",
-                       "symlink",
-                       "syslog",
-                       "system",
-                       "tan",
-                       "tempnam",
-                       "textdomain",
-                       "time",
-                       "tmpfile",
-                       "touch",
-                       "trigger_error",
-                       "trim",
-                       "uasort",
-                       "ucfirst",
-                       "ucwords",
-                       "udm_add_search_limit",
-                       "udm_alloc_agent",
-                       "udm_api_version",
-                       "udm_clear_search_limits",
-                       "udm_errno",
-                       "udm_error",
-                       "udm_find",
-                       "udm_free_agent",
-                       "udm_free_ispell_data",
-                       "udm_free_res",
-                       "udm_get_doc_count",
-                       "udm_get_res_field",
-                       "udm_get_res_param",
-                       "udm_load_ispell_data",
-                       "udm_set_agent_param",
-                       "uksort",
-                       "umask",
-                       "uniqid",
-                       "uniqid",
-                       "unixtojd",
-                       "unlink",
-                       "unpack",
-                       "unregister_tick_function",
-                       "unserialize",
-                       "urldecode",
-                       "urlencode",
-                       "user_error",
-                       "usleep",
-                       "usort",
-                       "utf8_decode",
-                       "utf8_encode",
-                       "var_dump",
-                       "velocis_autocommit",
-                       "velocis_close",
-                       "velocis_commit",
-                       "velocis_connect",
-                       "velocis_exec",
-                       "velocis_fetch",
-                       "velocis_fieldname",
-                       "velocis_fieldnum",
-                       "velocis_freeresult",
-                       "velocis_off_autocommit",
-                       "velocis_result",
-                       "velocis_rollback",
-                       "virtual",
-                       "vpopmail_add_alias_domain",
-                       "vpopmail_add_alias_domain_ex",
-                       "vpopmail_add_domain",
-                       "vpopmail_add_domain_ex",
-                       "vpopmail_add_user",
-                       "vpopmail_auth_user",
-                       "vpopmail_del_domain",
-                       "vpopmail_del_domain_ex",
-                       "vpopmail_del_user",
-                       "vpopmail_error",
-                       "vpopmail_passwd",
-                       "vpopmail_set_user_quota",
-                       "wddx_add_vars",
-                       "wddx_deserialize",
-                       "wddx_packet_end",
-                       "wddx_packet_start",
-                       "wddx_serialize_value",
-                       "wddx_serialize_vars",
-                       "wordwrap",
-                       "write",
-                       "writev",
-                       "xml_error_string",
-                       "xml_get_current_byte_index",
-                       "xml_get_current_column_number",
-                       "xml_get_current_line_number",
-                       "xml_get_error_code",
-                       "xml_parse",
-                       "xml_parse_into_struct",
-                       "xml_parser_create",
-                       "xml_parser_create_ns",
-                       "xml_parser_free",
-                       "xml_parser_get_option",
-                       "xml_parser_set_option",
-                       "xml_set_character_data_handler",
-                       "xml_set_default_handler",
-                       "xml_set_element_handler",
-                       "xml_set_end_namespace_decl_handler",
-                       "xml_set_external_entity_ref_handler",
-                       "xml_set_notation_decl_handler",
-                       "xml_set_object",
-                       "xml_set_processing_instruction_handler",
-                       "xml_set_start_namespace_decl_handler",
-                       "xml_set_unparsed_entity_decl_handler",
-                       "xmldoc",
-                       "xmldocfile",
-                       "xmltree",
-                       "xpath_eval",
-                       "xpath_eval_expression",
-                       "xptr_eval",
-                       "xslt_closelog",
-                       "xslt_create",
-                       "xslt_errno",
-                       "xslt_error",
-                       "xslt_fetch_result",
-                       "xslt_free",
-                       "xslt_openlog",
-                       "xslt_output_begintransform",
-                       "xslt_output_endtransform",
-                       "xslt_process",
-                       "xslt_run",
-                       "xslt_set_base",
-                       "xslt_set_encoding",
-                       "xslt_set_error_handler",
-                       "xslt_set_sax_handler",
-                       "xslt_set_scheme_handler",
-                       "xslt_transform",
-                       "yaz_addinfo",
-                       "yaz_ccl_conf",
-                       "yaz_ccl_parse",
-                       "yaz_close",
-                       "yaz_connect",
-                       "yaz_database",
-                       "yaz_element",
-                       "yaz_errno",
-                       "yaz_error",
-                       "yaz_hits",
-                       "yaz_itemorder",
-                       "yaz_present",
-                       "yaz_range",
-                       "yaz_record",
-                       "yaz_scan",
-                       "yaz_scan_result",
-                       "yaz_search",
-                       "yaz_syntax",
-                       "yaz_wait",
-                       "yp_all",
-                       "yp_cat",
-                       "yp_err_string",
-                       "yp_errno",
-                       "yp_first",
-                       "yp_get_default_domain",
-                       "yp_master",
-                       "yp_match",
-                       "yp_next",
-                       "yp_order",
-                       "zend_logo_guid",
-                       "zend_test_func",
-                       "zend_version",
-                       "zzip_close",
-                       "zzip_closedir",
-                       "zzip_entry_compressedsize",
-                       "zzip_entry_compressionmethod",
-                       "zzip_entry_filesize",
-                       "zzip_entry_name",
-                       "zzip_open",
-                       "zzip_opendir",
-                       "zzip_read",
-                       "zzip_readdir" };
+  private static Token variable;
+  private static Token keyword;
+  private static Token type;
+  private static Token constant;
+  private static Token functionName;
+  private static Token string;
+  private static Token comment;
+  private static Token multi_comment;
+  private static Token other;
 
-  private IToken variable;
-  
-       private class PHPWordRule extends WordRule {
-    private StringBuffer fBuffer= new StringBuffer();
+  private class PHPWordRule extends WordRule {
+    private StringBuffer fBuffer = new StringBuffer();
 
-               public PHPWordRule(IWordDetector detector) {
-                       super(detector, Token.UNDEFINED);
-               }
+    public PHPWordRule(IWordDetector detector) {
+      super(detector, Token.UNDEFINED);
+    }
 
-               public PHPWordRule(IWordDetector detector, IToken defaultToken) {
-                       super(detector, defaultToken);
-               }
+    public PHPWordRule(IWordDetector detector, IToken defaultToken) {
+      super(detector, defaultToken);
+    }
 
-               public IToken evaluate(ICharacterScanner scanner) {
-                       int c = scanner.read();
+    public IToken evaluate(ICharacterScanner scanner) {
+      int c = scanner.read();
       boolean isVariable = false;
-                       if (fDetector.isWordStart((char) c)) {
-        if (c=='$') {
+      if (fDetector.isWordStart((char) c)) {
+        if (c == '$') {
           isVariable = true;
         }
-                               if (fColumn == UNDEFINED || (fColumn == scanner.getColumn() - 1)) {
+        if (fColumn == UNDEFINED || (fColumn == scanner.getColumn() - 1)) {
 
-                                       fBuffer.setLength(0);
-                                       do {
-                                               fBuffer.append((char) c);
-                                               c = scanner.read();
-                                       } while (c != scanner.EOF && fDetector.isWordPart((char) c));
-                                       scanner.unread();
+          fBuffer.setLength(0);
+          do {
+            fBuffer.append((char) c);
+            c = scanner.read();
+          } while (c != ICharacterScanner.EOF && fDetector.isWordPart((char) c));
+          scanner.unread();
 
           if (isVariable) {
             return variable;
           }
-                                       IToken token = (IToken) fWords.get(fBuffer.toString());
-                                       if (token != null)
-                                               return token;
-
-                                       if (fDefaultToken.isUndefined())
-                                               unreadBuffer(scanner);
-
-                                       return fDefaultToken;
-                               }
-                       }
+          IToken token = (IToken) fWords.get(fBuffer.toString());
+          if (token != null)
+            return token;
 
-                       scanner.unread();
-                       return Token.UNDEFINED;
-               }
-       }
+          if (fDefaultToken.isUndefined())
+            unreadBuffer(scanner);
 
-       private static String[] fgConstants = { "__LINE__", "__FILE__", "true", "false" };
-       private TextAttribute fComment;
-       private TextAttribute fKeyword;
-       private TextAttribute fType;
-       private TextAttribute fString;
-       private PHPColorProvider fColorProvider;
-
-       /**
-        * Creates a Java code scanner
-        */
-       public PHPCodeScanner(PHPColorProvider provider) {
-
-               IToken keyword = new Token(new TextAttribute(provider.getColor(PHPColorProvider.KEYWORD)));
-               IToken type = new Token(new TextAttribute(provider.getColor(PHPColorProvider.TYPE)));
-               IToken string = new Token(new TextAttribute(provider.getColor(PHPColorProvider.STRING)));
-               IToken comment = new Token(new TextAttribute(provider.getColor(PHPColorProvider.SINGLE_LINE_COMMENT)));
-               IToken multi_comment = new Token(new TextAttribute(provider.getColor(PHPColorProvider.MULTI_LINE_COMMENT)));
-               IToken other = new Token(new TextAttribute(provider.getColor(PHPColorProvider.DEFAULT)));
+          return fDefaultToken;
+        }
+      }
 
-    variable = new Token(new TextAttribute(provider.getColor(PHPColorProvider.VARIABLE)));
+      scanner.unread();
+      return Token.UNDEFINED;
+    }
+  }
 
-    
-               List rules = new ArrayList();
+  private PHPColorProvider fColorProvider;
 
-               // Add rule for single line comments.
-               rules.add(new EndOfLineRule("//", comment)); //$NON-NLS-1$
-               //    EndOfLineRule endOfLine = new EndOfLineRule("#", comment);
-               //    endOfLine.setColumnConstraint(0);
-               rules.add(new EndOfLineRule("#", comment));
+  /**
+       * Creates a PHP code scanner
+       */
+  public PHPCodeScanner(PHPColorProvider provider) {
+    final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
+    Color BackgroundColor = provider.getColor(PreferenceConverter.getColor(store, PHP_EDITOR_BACKGROUND));
+    variable =
+      new Token(
+        new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_VARIABLE)),
+          BackgroundColor,
+          (store.getBoolean(PHP_VARIABLE_BOLD) ? SWT.BOLD : SWT.NONE)
+            + (store.getBoolean(PHP_VARIABLE_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      keyword =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_KEYWORD)),
+          BackgroundColor,
+    //SWT.NONE));
+   (store.getBoolean(PHP_KEYWORD_BOLD) ? SWT.BOLD : SWT.NONE) + (store.getBoolean(PHP_KEYWORD_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      type =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_TYPE)),
+          BackgroundColor,
+    //SWT.NONE));
+   (store.getBoolean(PHP_TYPE_BOLD) ? SWT.BOLD : SWT.NONE) + (store.getBoolean(PHP_TYPE_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      functionName =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_FUNCTIONNAME)),
+          BackgroundColor,
+    //SWT.NONE));
+  (store.getBoolean(PHP_FUNCTIONNAME_BOLD) ? SWT.BOLD : SWT.NONE)
+    + (store.getBoolean(PHP_FUNCTIONNAME_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      constant =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_CONSTANT)),
+          BackgroundColor,
+    //SWT.NONE));
+   (store.getBoolean(PHP_CONSTANT_BOLD) ? SWT.BOLD : SWT.NONE) + (store.getBoolean(PHP_CONSTANT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      string =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_STRING)),
+          BackgroundColor,
+    //SWT.NONE));
+   (store.getBoolean(PHP_STRING_BOLD) ? SWT.BOLD : SWT.NONE ) + (store.getBoolean(PHP_STRING_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      comment =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_SINGLELINE_COMMENT)),
+          BackgroundColor,
+    //SWT.NONE));
+  (store.getBoolean(PHP_SINGLELINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NONE )
+    + (store.getBoolean(PHP_SINGLELINE_COMMENT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      multi_comment =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_MULTILINE_COMMENT)),
+          BackgroundColor,
+    //SWT.NONE));
+  (store.getBoolean(PHP_MULTILINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NONE)
+    + (store.getBoolean(PHP_MULTILINE_COMMENT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+      other =
+        new Token(new TextAttribute(
+          provider.getColor(PreferenceConverter.getColor(store, PHP_DEFAULT)),
+          BackgroundColor,
+    //SWT.NONE));
+   (store.getBoolean(PHP_DEFAULT_BOLD) ? SWT.BOLD : SWT.NONE) + (store.getBoolean(PHP_DEFAULT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    updateWordRules();
+  }
 
-               // Add rule for strings and character constants.
-               rules.add(new SingleLineRule("\"", "\"", string, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
-               rules.add(new SingleLineRule("'", "'", string, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
+  public void updateToken(PHPColorProvider provider) {
+    final IPreferenceStore store = PHPeclipsePlugin.getDefault().getPreferenceStore();
 
-               // rules.add(new SingleLineRule("//", "//", php_comment));
-               rules.add(new MultiLineRule("/*", "*/", multi_comment));
+    Color BackgroundColor = provider.getColor(PreferenceConverter.getColor(store, PHP_EDITOR_BACKGROUND));
 
-               // Add generic whitespace rule.
-               rules.add(new WhitespaceRule(new PHPWhitespaceDetector()));
+    variable.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_VARIABLE)),
+        BackgroundColor,
+        (store.getBoolean(PHP_VARIABLE_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_VARIABLE_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    keyword.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_KEYWORD)),
+        BackgroundColor,
+        (store.getBoolean(PHP_KEYWORD_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_KEYWORD_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    type.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_TYPE)),
+        BackgroundColor,
+        (store.getBoolean(PHP_TYPE_BOLD) ? SWT.BOLD : SWT.NONE) + (store.getBoolean(PHP_TYPE_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    functionName.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_FUNCTIONNAME)),
+        BackgroundColor,
+        (store.getBoolean(PHP_FUNCTIONNAME_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_FUNCTIONNAME_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    constant.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_CONSTANT)),
+        BackgroundColor,
+        (store.getBoolean(PHP_CONSTANT_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_CONSTANT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    string.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_STRING)),
+        BackgroundColor,
+        (store.getBoolean(PHP_STRING_BOLD) ? SWT.BOLD : SWT.NONE) + (store.getBoolean(PHP_STRING_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    comment.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_SINGLELINE_COMMENT)),
+        BackgroundColor,
+        (store.getBoolean(PHP_SINGLELINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_SINGLELINE_COMMENT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    multi_comment.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_MULTILINE_COMMENT)),
+        BackgroundColor,
+        (store.getBoolean(PHP_MULTILINE_COMMENT_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_MULTILINE_COMMENT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+    other.setData(
+      new TextAttribute(
+        provider.getColor(PreferenceConverter.getColor(store, PHP_DEFAULT)),
+        BackgroundColor,
+        (store.getBoolean(PHP_DEFAULT_BOLD) ? SWT.BOLD : SWT.NONE)
+          + (store.getBoolean(PHP_DEFAULT_ITALIC) ? SWT.ITALIC : SWT.NONE)));
+  }
 
-               // Add word rule for keywords, types, and constants.
-               PHPWordRule wordRule = new PHPWordRule(new PHPWordDetector(), other);
-               for (int i = 0; i < fgKeywords.length; i++)
-                       wordRule.addWord(fgKeywords[i], keyword);
-               for (int i = 0; i < fgTypes.length; i++)
-                       wordRule.addWord(fgTypes[i], type);
-               for (int i = 0; i < fgConstants.length; i++)
-                       wordRule.addWord(fgConstants[i], type);
-               rules.add(wordRule);
+  public void updateWordRules() {
+    List rules = new ArrayList();
+    // Add rule for single line comments.
+    rules.add(new EndOfLineRule("//", comment)); //$NON-NLS-1$
+    rules.add(new EndOfLineRule("#", comment));
+    // Add rule for strings and character constants.
+    rules.add(new MultiLineRule("\"", "\"", string, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
+    rules.add(new SingleLineRule("'", "'", string, '\\')); //$NON-NLS-2$ //$NON-NLS-1$
+    // rules.add(new SingleLineRule("//", "//", php_comment));
+    rules.add(new MultiLineRule("/*", "*/", multi_comment));
+    // Add generic whitespace rule.
+    rules.add(new WhitespaceRule(new PHPWhitespaceDetector()));
+    // Add word rule for keywords, types, and constants.
+    PHPWordRule wordRule = new PHPWordRule(new PHPWordDetector(), other);
 
-               IRule[] result = new IRule[rules.size()];
-               rules.toArray(result);
-               setRules(result);
-       }
+    PHPSyntaxRdr.readInSyntax();
+    Vector buffer = PHPSyntaxRdr.getsyntaxdata();
+    String strbuffer = null;
+    PHPElement elbuffer = null;
+    while ((buffer != null) && (!buffer.isEmpty() && ((elbuffer = (PHPElement) buffer.remove(0)) != null))) {
+      if (elbuffer instanceof PHPKeyword)
+        wordRule.addWord(((PHPKeyword) elbuffer).getName(), keyword);
+      if (elbuffer instanceof PHPFunction)
+        wordRule.addWord(((PHPFunction) elbuffer).getName(), functionName);
+      if (elbuffer instanceof PHPType)
+        wordRule.addWord(elbuffer.getName(), type);
+      if (elbuffer instanceof PHPConstant)
+        wordRule.addWord(elbuffer.getName(), constant);
+    }
+    rules.add(wordRule);
+    IRule[] result = new IRule[rules.size()];
+    rules.toArray(result);
+    setRules(result);
+  }
 }