diff --git a/TODO b/TODO index 8e09ed5d1..7c8628d81 100644 --- a/TODO +++ b/TODO @@ -30,7 +30,6 @@ INTERPRETER - NInstr() -> Count the number of patterns. - If project compilation version < compiler version then => compile all - Catch kill signal to remove temporary files. -- Callback support - Sorting two or more arrays at the same time. - MOD with floats. - Make the error information associated with the current stack frame. diff --git a/app/src/doc.cgi/.lang/.pot b/app/src/doc.cgi/.lang/.pot index 683b65771..38ae5ac2c 100644 --- a/app/src/doc.cgi/.lang/.pot +++ b/app/src/doc.cgi/.lang/.pot @@ -19,7 +19,7 @@ msgid "Syntax" msgstr "" #: Main.module:728 -msgid "Examples" +msgid "Example" msgstr "" #: Main.module:746 @@ -38,361 +38,361 @@ msgstr "" msgid "Description" msgstr "" -#: Main.module:1329 +#: Main.module:1332 msgid "Contents" msgstr "" -#: Main.module:1434 +#: Main.module:1437 msgid "Gambas Documentation" msgstr "" -#: Main.module:1476 +#: Main.module:1479 msgid "Home" msgstr "" -#: Main.module:1660 +#: Main.module:1663 msgid "Previous" msgstr "" -#: Main.module:1670 +#: Main.module:1673 msgid "Next" msgstr "" -#: Main.module:1700 +#: Main.module:1703 msgid "Edit" msgstr "" -#: Main.module:1702 +#: Main.module:1705 msgid "Create" msgstr "" -#: Main.module:1707 +#: Main.module:1710 msgid "Rename" msgstr "" -#: Main.module:1712 +#: Main.module:1715 msgid "Undo" msgstr "" -#: Main.module:1717 +#: Main.module:1720 msgid "Refresh" msgstr "" -#: Main.module:1723 +#: Main.module:1726 msgid "Search" msgstr "" -#: Main.module:1724 +#: Main.module:1727 msgid "Administration" msgstr "" -#: Main.module:1762 +#: Main.module:1765 msgid "Documentation" msgstr "" -#: Main.module:1766 +#: Main.module:1769 msgid "History" msgstr "" -#: Main.module:1787 +#: Main.module:1790 msgid "Warning!" msgstr "" -#: Main.module:1791 +#: Main.module:1794 msgid "See english version" msgstr "" -#: Main.module:1798 +#: Main.module:1801 msgid "Comments on &1" msgstr "" -#: Main.module:2038 +#: Main.module:2041 msgid "This page is not translated." msgstr "" -#: Main.module:2045 +#: Main.module:2048 msgid "This page is not up to date." msgstr "" -#: Main.module:2063 +#: Main.module:2066 msgid "There is no comment on this page yet." msgstr "" -#: Main.module:2065 +#: Main.module:2068 msgid "This documentation page is not available." msgstr "" -#: Main.module:2128 +#: Main.module:2131 msgid "This symbol does not exist in version &1." msgstr "" -#: Main.module:2131 +#: Main.module:2134 msgid "This class does not exist in version &1." msgstr "" -#: Main.module:2134 +#: Main.module:2137 msgid "This component does not exist in version &1." msgstr "" -#: Main.module:2393 +#: Main.module:2396 msgid "DELETE ME" msgstr "" -#: Main.module:2456 +#: Main.module:2459 msgid "Save" msgstr "" -#: Main.module:2456 +#: Main.module:2459 msgid "Delete" msgstr "" -#: Main.module:2946 +#: Main.module:2949 msgid "New path" msgstr "" -#: Main.module:2948 +#: Main.module:2951 msgid "Rename children" msgstr "" -#: Main.module:3015 +#: Main.module:3018 msgid "This documentation page already exists." msgstr "" -#: Main.module:3075 +#: Main.module:3078 msgid "&1 - History" msgstr "" -#: Main.module:3166 +#: Main.module:3169 msgid "No change" msgstr "" -#: Main.module:3182 +#: Main.module:3185 msgid "Creation" msgstr "" -#: Main.module:3243 +#: Main.module:3246 msgid "User management" msgstr "" -#: Main.module:3254 +#: Main.module:3257 msgid "Create user" msgstr "" -#: Main.module:3256 +#: Main.module:3259 msgid "Edit user" msgstr "" -#: Main.module:3258 +#: Main.module:3261 msgid "Delete user" msgstr "" -#: Main.module:3265 +#: Main.module:3268 msgid "Name" msgstr "" -#: Main.module:3266 +#: Main.module:3269 msgid "Password" msgstr "" -#: Main.module:3267 +#: Main.module:3270 msgid "Confirm" msgstr "" -#: Main.module:3310 +#: Main.module:3313 msgid "Database management" msgstr "" -#: Main.module:3313 +#: Main.module:3316 msgid "Download database" msgstr "" -#: Main.module:3317 +#: Main.module:3320 msgid "Purge temporary files" msgstr "" -#: Main.module:3321 +#: Main.module:3324 msgid "Clear page cache" msgstr "" -#: Main.module:3349 +#: Main.module:3352 msgid "Please enter a user name." msgstr "" -#: Main.module:3351 +#: Main.module:3354 msgid "Passwords do not match." msgstr "" -#: Main.module:3353 +#: Main.module:3356 msgid "Please enter a password." msgstr "" -#: Main.module:3355 +#: Main.module:3358 msgid "User already exists." msgstr "" -#: Main.module:3359 +#: Main.module:3362 msgid "User '&1' created." msgstr "" -#: Main.module:3361 +#: Main.module:3364 msgid "Cannot create user '&1'. Error code #&2." msgstr "" -#: Main.module:3375 +#: Main.module:3378 msgid "User '&1' modified." msgstr "" -#: Main.module:3377 +#: Main.module:3380 msgid "Cannot edit user '&1'. Error code #&2." msgstr "" -#: Main.module:3386 +#: Main.module:3389 msgid "Cannot delete user 'gambas'. This user is reserved." msgstr "" -#: Main.module:3390 +#: Main.module:3393 msgid "User '&1' deleted." msgstr "" -#: Main.module:3392 +#: Main.module:3395 msgid "Cannot delete user '&1'. Error code #&2." msgstr "" -#: Main.module:3451 +#: Main.module:3454 msgid "The page cache has been cleared." msgstr "" -#: Main.module:3476 +#: Main.module:3479 msgid "Return to administration page" msgstr "" -#: Main.module:3489 +#: Main.module:3492 msgid "Search with Google" msgstr "" -#: Main.module:3552 +#: Main.module:3555 msgid "Classes" msgstr "" -#: Main.module:3756 +#: Main.module:3759 msgid "Date" msgstr "" -#: Main.module:3756 +#: Main.module:3759 msgid "User" msgstr "" -#: Main.module:3756 +#: Main.module:3759 msgid "Page" msgstr "" -#: Main.module:3789 +#: Main.module:3792 msgid "State" msgstr "" -#: Main.module:3956 +#: Main.module:3959 msgid "Symbols" msgstr "" -#: Main.module:3965 +#: Main.module:3968 msgid "This class reimplements" msgstr "" -#: Main.module:3967 +#: Main.module:3970 msgid "This class inherits" msgstr "" -#: Main.module:3973 +#: Main.module:3976 msgid "in" msgstr "" -#: Main.module:3989 +#: Main.module:3992 msgid "Static properties" msgstr "" -#: Main.module:3990 +#: Main.module:3993 msgid "Static methods" msgstr "" -#: Main.module:3992 +#: Main.module:3995 msgid "Constants" msgstr "" -#: Main.module:4009 +#: Main.module:4012 msgid "Properties" msgstr "" -#: Main.module:4010 +#: Main.module:4013 msgid "Methods" msgstr "" -#: Main.module:4011 +#: Main.module:4014 msgid "Events" msgstr "" -#: Main.module:4031 +#: Main.module:4034 msgid "This class is &1." msgstr "" -#: Main.module:4033 +#: Main.module:4036 msgid "" "This class can be used like an object by creating an hidden instance on " "demand." msgstr "" -#: Main.module:4037 +#: Main.module:4040 msgid "creatable" msgstr "" -#: Main.module:4040 +#: Main.module:4043 msgid "This class is static." msgstr "" -#: Main.module:4042 +#: Main.module:4045 msgid "This class is not creatable." msgstr "" -#: Main.module:4048 +#: Main.module:4051 msgid "This class acts like a &1 / &2 array." msgstr "" -#: Main.module:4048 +#: Main.module:4051 msgid "read" msgstr "" -#: Main.module:4048 +#: Main.module:4051 msgid "write" msgstr "" -#: Main.module:4050 +#: Main.module:4053 msgid "This class acts like a &1 array." msgstr "" -#: Main.module:4050 +#: Main.module:4053 msgid "read-only" msgstr "" -#: Main.module:4056 +#: Main.module:4059 msgid "This class is &1 with the &2 keyword." msgstr "" -#: Main.module:4056 +#: Main.module:4059 msgid "enumerable" msgstr "" -#: Main.module:4060 +#: Main.module:4063 msgid "This class can be used as a &1." msgstr "" -#: Main.module:4060 +#: Main.module:4063 msgid "function" msgstr "" -#: Main.module:4611 +#: Main.module:4614 msgid "Only in &1 version" msgstr "" -#: Main.module:4656 +#: Main.module:4659 msgid "There are &1 classes and &2 symbols in all Gambas components." msgstr "" diff --git a/app/src/doc.cgi/.lang/fr.mo b/app/src/doc.cgi/.lang/fr.mo index 915e6b8ab..8d649f70a 100644 Binary files a/app/src/doc.cgi/.lang/fr.mo and b/app/src/doc.cgi/.lang/fr.mo differ diff --git a/app/src/doc.cgi/.lang/fr.po b/app/src/doc.cgi/.lang/fr.po index d0109d87d..28448d9d7 100644 --- a/app/src/doc.cgi/.lang/fr.po +++ b/app/src/doc.cgi/.lang/fr.po @@ -20,135 +20,135 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: Main.module:2900 +#: Main.module:3078 msgid "&1 - History" msgstr "&1 - Historique" -#: Main.module:1607 +#: Main.module:1727 msgid "Administration" msgstr "Administration" -#: Main.module:464 +#: Main.module:546 msgid "Cancel" msgstr "Annuler" -#: Main.module:3181 +#: Main.module:3364 msgid "Cannot create user '&1'. Error code #&2." msgstr "Impossible de créer l'utilisateur '&1'. Code d'erreur #&2." -#: Main.module:3212 +#: Main.module:3395 msgid "Cannot delete user '&1'. Error code #&2." msgstr "Impossible de supprimer l'utilisateur '&1'. Code d'erreur #&2." -#: Main.module:3206 +#: Main.module:3389 msgid "Cannot delete user 'gambas'. This user is reserved." msgstr "Impossible de supprimer l'utilisateur 'gambas'. Cet utilisateur est réservé." -#: Main.module:3197 +#: Main.module:3380 msgid "Cannot edit user '&1'. Error code #&2." msgstr "Impossible de modifier l'utilisateur '&1'. Code d'erreur #&2." -#: Main.module:3351 +#: Main.module:3555 msgid "Classes" msgstr "Classes" -#: Main.module:3146 +#: Main.module:3324 msgid "Clear page cache" msgstr "Effacer le cache des pages" -#: Main.module:1679 +#: Main.module:1801 msgid "Comments on &1" msgstr "Commentaire sur &1" -#: Main.module:3092 +#: Main.module:3270 msgid "Confirm" msgstr "Confirmer" -#: Main.module:3784 +#: Main.module:3995 msgid "Constants" msgstr "Constantes" -#: Main.module:1234 +#: Main.module:1332 msgid "Contents" msgstr "Sommaire" -#: Main.module:3829 +#: Main.module:4040 msgid "creatable" msgstr "instanciable" -#: Main.module:1585 +#: Main.module:1705 msgid "Create" msgstr "Créer" -#: Main.module:3079 +#: Main.module:3257 msgid "Create user" msgstr "Nouvel utilisateur" -#: Main.module:3007 +#: Main.module:3185 msgid "Creation" msgstr "Création de la page" -#: Main.module:3135 +#: Main.module:3313 msgid "Database management" msgstr "Gestion de la base de données" -#: Main.module:3553 +#: Main.module:3759 msgid "Date" msgstr "Date" -#: Main.module:2281 +#: Main.module:2459 msgid "Delete" msgstr "Supprimer" -#: Main.module:2218 +#: Main.module:2396 msgid "DELETE ME" msgstr "SUPPRIMEZ-MOI" -#: Main.module:3083 +#: Main.module:3261 msgid "Delete user" msgstr "Supprimer un utilisateur" -#: Main.module:654 +#: Main.module:753 msgid "Description" msgstr "Description" -#: Main.module:1645 +#: Main.module:1765 msgid "Documentation" msgstr "Documentation" -#: Main.module:3138 +#: Main.module:3316 msgid "Download database" msgstr "Télécharger la base de données" -#: Main.module:1583 +#: Main.module:1703 msgid "Edit" msgstr "Éditer" -#: Main.module:3081 +#: Main.module:3259 msgid "Edit user" msgstr "Modifier un utilisateur" -#: Main.module:3848 +#: Main.module:4059 msgid "enumerable" msgstr "énumérable" -#: Main.module:651 +#: Main.module:750 msgid "Errors" msgstr "Erreurs" -#: Main.module:3803 +#: Main.module:4014 msgid "Events" msgstr "Evènements" -#: Main.module:629 -msgid "Examples" -msgstr "Exemples" +#: Main.module:728 +msgid "Example" +msgstr "Exemple" -#: Main.module:3852 +#: Main.module:4063 msgid "function" msgstr "fonction" -#: Main.module:1341 +#: Main.module:1437 msgid "Gambas Documentation" msgstr "Documentation de Gambas" @@ -156,259 +156,255 @@ msgstr "Documentation de Gambas" msgid "Gambas documentation CGI script" msgstr "-" -#: Main.module:1649 +#: Main.module:1769 msgid "History" msgstr "Historique" -#: Main.module:1383 +#: Main.module:1479 msgid "Home" msgstr "Page de démarrage" -#: Main.module:3765 +#: Main.module:3976 msgid "in" msgstr "dans" -#: Main.module:654 +#: Main.module:753 msgid "Message" msgstr "Message" -#: Main.module:3802 +#: Main.module:4013 msgid "Methods" msgstr "Méthodes" -#: Main.module:3090 +#: Main.module:3268 msgid "Name" msgstr "Nom" -#: Main.module:2771 +#: Main.module:2949 msgid "New path" msgstr "Nouveau chemin" -#: Main.module:1553 +#: Main.module:1673 msgid "Next" msgstr "Suivant" -#: Main.module:2991 +#: Main.module:3169 msgid "No change" msgstr "Aucun changement" -#: Main.module:4403 +#: Main.module:4614 msgid "Only in &1 version" msgstr "Seulement dans la version &1" -#: Main.module:3553 +#: Main.module:3759 msgid "Page" msgstr "Page" -#: Main.module:3091 +#: Main.module:3269 msgid "Password" msgstr "Mot de passe" -#: Main.module:3171 +#: Main.module:3354 msgid "Passwords do not match." msgstr "Les mots de passe ne correspondent pas." -#: Main.module:3173 +#: Main.module:3356 msgid "Please enter a password." msgstr "Veuillez entrer un mot de passe." -#: Main.module:3169 +#: Main.module:3352 msgid "Please enter a user name." msgstr "Veuillez entrer un nom d'utilisateur." -#: Main.module:1543 +#: Main.module:1663 msgid "Previous" msgstr "Précédent" -#: Main.module:3801 +#: Main.module:4012 msgid "Properties" msgstr "Propriétés" -#: Main.module:3142 +#: Main.module:3320 msgid "Purge temporary files" msgstr "Purger les fichiers temporaires" -#: Main.module:3840 +#: Main.module:4051 msgid "read" msgstr "lecture" -#: Main.module:3842 +#: Main.module:4053 msgid "read-only" msgstr "lecture seule" -#: Main.module:1600 +#: Main.module:1720 msgid "Refresh" msgstr "Rafraîchir" -#: Main.module:1590 +#: Main.module:1710 msgid "Rename" msgstr "Renommer" -#: Main.module:2773 +#: Main.module:2951 msgid "Rename children" msgstr "Renommer les pages enfants" -#: Main.module:3275 +#: Main.module:3479 msgid "Return to administration page" msgstr "Retourner à la page d'administration" -#: Main.module:2281 +#: Main.module:2459 msgid "Save" msgstr "Enregistrer" -#: Main.module:1606 +#: Main.module:1726 msgid "Search" msgstr "Rechercher" -#: Main.module:3288 +#: Main.module:3492 msgid "Search with Google" msgstr "Rechercher avec Google" -#: Main.module:647 +#: Main.module:746 msgid "See also" msgstr "Voir aussi" -#: Main.module:1672 +#: Main.module:1794 msgid "See english version" msgstr "Voir la version anglaise" -#: Main.module:3586 +#: Main.module:3792 msgid "State" msgstr "État" -#: Main.module:3782 +#: Main.module:3993 msgid "Static methods" msgstr "Méthodes statiques" -#: Main.module:3781 +#: Main.module:3992 msgid "Static properties" msgstr "Propriétés statiques" -#: Main.module:3748 +#: Main.module:3959 msgid "Symbols" msgstr "Symboles" -#: Main.module:621 +#: Main.module:720 msgid "Syntax" msgstr "Syntaxe" -#: Main.module:3271 +#: Main.module:3454 msgid "The page cache has been cleared." msgstr "Le cache des pages a été effacé." -#: Main.module:4448 +#: Main.module:4659 msgid "There are &1 classes and &2 symbols in all Gambas components." msgstr "Il y a &1 classes et &2 symboles dans l'ensemble des composants de Gambas." -#: Main.module:1888 +#: Main.module:2066 msgid "There is no comment on this page yet." msgstr "Cette page n'a pas encore de commentaires." -#: Main.module:3840 +#: Main.module:4051 msgid "This class acts like a &1 / &2 array." msgstr "Cette classe se comporte comme un tableau en &1 / &2." -#: Main.module:3842 +#: Main.module:4053 msgid "This class acts like a &1 array." msgstr "Cette classe se comporte comme un tableau en &1." -#: Main.module:3852 +#: Main.module:4063 msgid "This class can be used as a &1." msgstr "Cette classe peut être utilisée comme &1." -#: Main.module:3825 +#: Main.module:4036 msgid "This class can be used like an object by creating an hidden instance on demand." msgstr "Cette classe peut s'utiliser comme un objet, auquel cas une instance cachée sera créée automatiquement." -#: Main.module:1956 +#: Main.module:2134 msgid "This class does not exist in version &1." msgstr "Cette class n'existe pas dans la version &1." -#: Main.module:3759 +#: Main.module:3970 msgid "This class inherits" msgstr "Cette classe hérite" -#: Main.module:3823 +#: Main.module:4034 msgid "This class is &1." msgstr "Cette classe est &1." -#: Main.module:3848 +#: Main.module:4059 msgid "This class is &1 with the &2 keyword." msgstr "Cette classe est &1 à l'aide du mot-clef &2." -#: Main.module:3834 +#: Main.module:4045 msgid "This class is not creatable." msgstr "Cette classe n'est pas instanciable." -#: Main.module:3832 +#: Main.module:4043 msgid "This class is static." msgstr "Cette classe est statique." -#: Main.module:3757 +#: Main.module:3968 msgid "This class reimplements" msgstr "Cette classe réimplémente" -#: Main.module:1959 +#: Main.module:2137 msgid "This component does not exist in version &1." msgstr "Ce composant n'existe pas en version &1." -#: Main.module:2840 +#: Main.module:3018 msgid "This documentation page already exists." msgstr "Cette page de documentation existe déjà." -#: Main.module:1890 +#: Main.module:2068 msgid "This documentation page is not available." msgstr "Cette page de documentation n'existe pas." -#: Main.module:1873 +#: Main.module:2041 msgid "This page is not translated." msgstr "Cette page n'a pas encore été traduite." -#: Main.module:1880 +#: Main.module:2048 msgid "This page is not up to date." msgstr "La traduction de cette page n'est pas à jour." -#: Main.module:1953 +#: Main.module:2131 msgid "This symbol does not exist in version &1." msgstr "Ce symbole n'existe pas dans la version &1." -#: Main.module:1595 +#: Main.module:1715 msgid "Undo" msgstr "Annuler" -#: Main.module:3553 +#: Main.module:3759 msgid "User" msgstr "Utilisateur" -#: Main.module:3179 +#: Main.module:3362 msgid "User '&1' created." msgstr "L'utilisateur '&1' a été créé avec succès." -#: Main.module:3210 +#: Main.module:3393 msgid "User '&1' deleted." msgstr "L'utilisateur '&1' a été supprimé avec succès." -#: Main.module:3195 +#: Main.module:3378 msgid "User '&1' modified." msgstr "L'utilisateur '&1' a été modifié avec succès." -#: Main.module:3175 +#: Main.module:3358 msgid "User already exists." msgstr "Cet utilisateur existe déjà." -#: Main.module:3068 +#: Main.module:3246 msgid "User management" msgstr "Gestion des utilisateurs" -#: Main.module:1670 +#: Main.module:1790 msgid "Warning!" msgstr "Attention!" -#: Main.module:3021 -msgid "Welcome back &1!" -msgstr "" - -#: Main.module:3840 +#: Main.module:4051 msgid "write" msgstr "écriture" diff --git a/app/src/doc.cgi/.src/Main.module b/app/src/doc.cgi/.src/Main.module index 33feaa5a3..8f1af51e6 100644 --- a/app/src/doc.cgi/.src/Main.module +++ b/app/src/doc.cgi/.src/Main.module @@ -725,7 +725,7 @@ Private Sub EnterSection(sSection As String, Optional sArg As String) Case "example" If Not $bExample Then $bExample = True - $sRes &= "

" & ("Examples") & "

\n" + $sRes &= "

" & ("Example") & "

\n" Endif $sRes &= "
" $bVerbatim = True @@ -769,7 +769,10 @@ Private Sub EnterSection(sSection As String, Optional sArg As String) If IsComponentPath($sPath) Then $sRes &= "
" Else - $sRes &= "
" & sParam & "" + $sRes &= "" + '$sRes &= "" + $sRes &= "
 " & sParam & "  
" + $sRes &= "
 " & sParam & " 
" Endif $sOnlyVersion = $sVersion $sVersion = sParam @@ -1926,7 +1929,7 @@ Private Sub PrintExample(sExample As String) If Not $bExample Then $bExample = True - Print "

" & ("Examples") & "

" + Print "

" & ("Example") & "

" Endif Print "
"; RTrim(sExample); "

" diff --git a/main/gbc/gbc_trans_code.c b/main/gbc/gbc_trans_code.c index 46f3cd010..f5ad37517 100644 --- a/main/gbc/gbc_trans_code.c +++ b/main/gbc/gbc_trans_code.c @@ -428,6 +428,12 @@ static void translate_body() JOB->current += 2; TRANS_end_with(); } + else if (PATTERN_is(look[0], RS_LET)) + { + JOB->current++; + if (!TRANS_affectation(FALSE)) + THROW(E_SYNTAX); + } else TRANS_statement(); diff --git a/main/gbx/gbx.c b/main/gbx/gbx.c index d14d361c8..66e432b1a 100644 --- a/main/gbx/gbx.c +++ b/main/gbx/gbx.c @@ -122,6 +122,7 @@ static void main_exit(bool silent) if (!SP) STACK_init(); + EXTERN_release(); STREAM_exit(); OBJECT_exit(); CLASS_clean_up(silent); diff --git a/main/gbx/gbx_class_info.c b/main/gbx/gbx_class_info.c index 590160f10..e9b7ee579 100644 --- a/main/gbx/gbx_class_info.c +++ b/main/gbx/gbx_class_info.c @@ -253,7 +253,6 @@ static GB_DESC NATIVE_GambasLanguage[] = GB_METHOD("DateDiff", "i", NULL, "(Date1)d(Date2)d(Period)i"), GB_METHOD("Eval", "v", NULL, "(Expression)s[(Context)Collection;]"), - GB_METHOD("Assign", "v", NULL, "(Expression)s[(Context)Collection;]"), GB_METHOD("Eof", "b", NULL, "[(File)Stream;]"), GB_METHOD("Lof", "l", NULL, "[(File)Stream;]"), @@ -281,7 +280,17 @@ static GB_DESC NATIVE_GambasLanguage[] = GB_METHOD("StrPtr", "s", NULL, "(Pointer)p"), GB_METHOD("VarPtr", "p", NULL, "(Variable)v"), - GB_METHOD("Tr", "s", NULL, "(String)s"), + GB_METHOD("BoolPtr", "b", NULL, "(Pointer)p"), + GB_METHOD("BytePtr", "c", NULL, "(Pointer)p"), + GB_METHOD("ShortPtr", "h", NULL, "(Pointer)p"), + GB_METHOD("IntPtr", "i", NULL, "(Pointer)p"), + GB_METHOD("IntegerPtr", "i", NULL, "(Pointer)p"), + GB_METHOD("LongPtr", "l", NULL, "(Pointer)p"), + GB_METHOD("SinglePtr", "g", NULL, "(Pointer)p"), + GB_METHOD("FloatPtr", "f", NULL, "(Pointer)p"), + GB_METHOD("PointerPtr", "p", NULL, "(Pointer)p"), + + GB_METHOD("Tr", "s", NULL, "(String)s"), GB_METHOD("Tr$", "s", NULL, "(String)s"), GB_METHOD("Quote", "s", NULL, "(String)s"), @@ -293,6 +302,9 @@ static GB_DESC NATIVE_GambasLanguage[] = GB_METHOD("Html", "s", NULL, "(String)s"), GB_METHOD("Html$", "s", NULL, "(String)s"), + GB_METHOD("Unquote", "s", NULL, "(String)s"), + GB_METHOD("Unquote$", "s", NULL, "(String)s"), + GB_END_DECLARE }; diff --git a/main/gbx/gbx_exec_loop.c b/main/gbx/gbx_exec_loop.c index f0af4208f..2575d5072 100644 --- a/main/gbx/gbx_exec_loop.c +++ b/main/gbx/gbx_exec_loop.c @@ -174,8 +174,8 @@ static void *SubrTable[] = SUBR_tr, /* 91 9B */ SUBR_quote, /* 92 9C */ SUBR_unquote, /* 93 9D */ - SUBR_eval, /* 94 9E */ - NULL, /* 95 9F */ + NULL, /* 94 9E */ + SUBR_ptr, /* 95 9F */ }; @@ -341,8 +341,8 @@ void EXEC_loop(void) /* 9B Tr$ */ &&_SUBR, /* 9C Quote$... */ &&_SUBR_CODE, /* 9D Unquote$ */ &&_SUBR, - /* 9E */ &&_SUBR, - /* 9F */ &&_SUBR, + /* 9E */ NULL, + /* 9F BytePtr... */ &&_SUBR_CODE, /* A0 ADD QUICK */ &&_ADD_QUICK, /* A1 ADD QUICK */ &&_ADD_QUICK, /* A2 ADD QUICK */ &&_ADD_QUICK, diff --git a/main/gbx/gbx_extern.c b/main/gbx/gbx_extern.c index 17a4fd57d..58cee56fb 100644 --- a/main/gbx/gbx_extern.c +++ b/main/gbx/gbx_extern.c @@ -388,6 +388,18 @@ void EXTERN_call(void) SP++; } +void EXTERN_release(void) +{ + EXTERN_CALLBACK *cb = _callbacks; + + while (cb) + { + if (cb->exec.object) + OBJECT_UNREF(cb->exec.object, "EXTERN_exit"); + cb = cb->next; + } +} + void EXTERN_exit(void) { int i; @@ -643,6 +655,10 @@ void EXTERN_call(void) THROW_ILLEGAL(); } +void EXTERN_release(void) +{ +} + void EXTERN_exit(void) { } diff --git a/main/gbx/gbx_extern.h b/main/gbx/gbx_extern.h index 9335ddfd0..f54261ead 100644 --- a/main/gbx/gbx_extern.h +++ b/main/gbx/gbx_extern.h @@ -38,8 +38,9 @@ #include "gbx_value.h" -void EXTERN_call(void); +void EXTERN_release(void); void EXTERN_exit(void); +void EXTERN_call(void); void *EXTERN_make_callback(VALUE_FUNCTION *value); #endif diff --git a/main/gbx/gbx_subr.h b/main/gbx/gbx_subr.h index d8dce039a..4b14598cf 100644 --- a/main/gbx/gbx_subr.h +++ b/main/gbx/gbx_subr.h @@ -221,6 +221,7 @@ void SUBR_free(void); void SUBR_realloc(ushort code); void SUBR_strptr(ushort code); void SUBR_varptr(void); +void SUBR_ptr(ushort code); /* subr_misc.c */ diff --git a/main/gbx/gbx_subr_extern.c b/main/gbx/gbx_subr_extern.c index d7762c815..d8b0bfa48 100644 --- a/main/gbx/gbx_subr_extern.c +++ b/main/gbx/gbx_subr_extern.c @@ -222,3 +222,23 @@ void SUBR_varptr(void) SUBR_LEAVE(); } + + +void SUBR_ptr(ushort code) +{ + void *ptr; + + ptr = SUBR_get_pointer(SP - 1); + SP--; + + CHECK_enter(); + VALUE_read(SP, ptr, code & 0xF); + CHECK_leave(); + + if (CHECK_got_error()) + THROW(E_ARG); + + SP++; +} + + diff --git a/main/gbx/gbx_subr_misc.c b/main/gbx/gbx_subr_misc.c index bc31b706c..7cc770d84 100644 --- a/main/gbx/gbx_subr_misc.c +++ b/main/gbx/gbx_subr_misc.c @@ -274,7 +274,7 @@ void SUBR_eval(ushort code) EVAL.New((void **)(void *)&eval, expr, len); - if (EVAL.Compile(eval, (code >> 8) == CODE_ASSIGN)) + if (EVAL.Compile(eval, FALSE)) goto _ERROR; if (!EVAL.Run(eval, get_value)) diff --git a/main/lib/eval/CExpression.c b/main/lib/eval/CExpression.c index 876a0562d..b97031e75 100644 --- a/main/lib/eval/CExpression.c +++ b/main/lib/eval/CExpression.c @@ -38,7 +38,6 @@ static CEXPRESSION *_current; BEGIN_METHOD_VOID(CEXPRESSION_new) THIS->compiled = FALSE; - THIS->assignment = FALSE; CLEAR(&THIS->expr); END_METHOD @@ -79,19 +78,18 @@ BEGIN_PROPERTY(CEXPRESSION_environment) END_PROPERTY -static void prepare(CEXPRESSION *_object, bool assignment) +static void prepare(CEXPRESSION *_object) { if (!THIS->compiled && (THIS->expr.len > 0)) { - THIS->assignment = assignment; - if (!EVAL_compile(&THIS->expr, THIS->assignment)) + if (!EVAL_compile(&THIS->expr, FALSE)) THIS->compiled = TRUE; } } -BEGIN_METHOD(CEXPRESSION_prepare, GB_BOOLEAN assignment) +BEGIN_METHOD_VOID(CEXPRESSION_prepare) - prepare(THIS, VARGOPT(assignment, FALSE)); + prepare(THIS); END_METHOD @@ -109,7 +107,7 @@ static bool get_variable(const char *sym, int len, GB_VARIANT *value) static void execute(CEXPRESSION *_object) { if (!THIS->compiled) - prepare(THIS, FALSE); + prepare(THIS); if (!THIS->compiled) { @@ -140,7 +138,7 @@ GB_DESC CExpressionDesc[] = GB_PROPERTY("Text", "s", CEXPRESSION_text), GB_PROPERTY("Environment", "Collection;", CEXPRESSION_environment), - GB_METHOD("Compile", NULL, CEXPRESSION_prepare, "[(Assignment)b]"), + GB_METHOD("Compile", NULL, CEXPRESSION_prepare, NULL), GB_PROPERTY_READ("Value", "v", CEXPRESSION_value), diff --git a/main/lib/eval/CExpression.h b/main/lib/eval/CExpression.h index ddde4e28f..0320d6348 100644 --- a/main/lib/eval/CExpression.h +++ b/main/lib/eval/CExpression.h @@ -39,9 +39,8 @@ typedef GB_BASE ob; char *text; void *env; - bool compiled; - bool assignment; EXPRESSION expr; + bool compiled; } CEXPRESSION; diff --git a/main/lib/eval/eval.c b/main/lib/eval/eval.c index cb0cec89d..5cef5c950 100644 --- a/main/lib/eval/eval.c +++ b/main/lib/eval/eval.c @@ -131,7 +131,7 @@ bool EVAL_compile(EXPRESSION *expr, bool assign) if (expr->len == 0) return TRUE; - + EVAL_start(EVAL); TRY @@ -140,10 +140,16 @@ bool EVAL_compile(EXPRESSION *expr, bool assign) EVAL->current = EVAL->pattern; + if (PATTERN_is(*EVAL->current, RS_LET)) + { + EVAL->current++; + assign = TRUE; + } + if (assign) { if (!TRANS_affectation()) - TRANS_expression(); + THROW(E_SYNTAX); } else TRANS_expression(); diff --git a/main/share/gb_reserved_keyword.h b/main/share/gb_reserved_keyword.h index 251ad8a8e..ea17c6287 100644 --- a/main/share/gb_reserved_keyword.h +++ b/main/share/gb_reserved_keyword.h @@ -326,18 +326,6 @@ SUBR_INFO COMP_subr_info[] = { "IsBlank", 35, 8, 1 }, { "IsPunct", 35, 9, 1 }, - /*{ "Ascii?", 35, 1, 1 }, - { "Letter?", 35, 2, 1 }, - { "LCase?", 35, 3, 1 }, - { "Lower?", 35, 3, 1 }, - { "UCase?", 35, 4, 1 }, - { "Upper?", 35, 4, 1 }, - { "Digit?", 35, 5, 1 }, - { "Hexa?", 35, 6, 1 }, - { "Space?", 35, 7, 1 }, - { "Blank?", 35, 8, 1 }, - { "Punct?", 35, 9, 1 },*/ - { "BClr", 36, 1, 2 }, { "BSet", 36, 2, 2 }, { "BTst", 36, 3, 2 }, @@ -366,19 +354,6 @@ SUBR_INFO COMP_subr_info[] = { "IsObject", 37, 16, 1 }, { "IsNumber", 37, 17, 1 }, - /*{ "Boolean?", 37, 1, 1 }, - { "Byte?", 37, 2, 1 }, - { "Short?", 37, 3, 1 }, - { "Integer?", 37, 4, 1 }, - { "Long?", 37, 5, 1 }, - { "Single?", 37, 6, 1 }, - { "Float?", 37, 7, 1 }, - { "Date?", 37, 8, 1 }, - { "String?", 37, 9, 1 }, - { "Null?", 37, 15, 1 }, - { "Object?", 37, 16, 1 }, - { "Number?", 37, 17, 1 },*/ - { "TypeOf", 38, 0, 1 }, { "SizeOf", 38, 1, 1 }, @@ -396,6 +371,7 @@ SUBR_INFO COMP_subr_info[] = { "CDate", 39, 8, 1 }, { "CStr", 39, 9, 1 }, { "CString", 39, 9, 1 }, + { "CPointer", 39, 11, 1 }, { "CVar", 39, 12, 1 }, { "CVariant", 39, 12, 1 }, @@ -515,12 +491,16 @@ SUBR_INFO COMP_subr_info[] = { "Unquote", 93, 0, 1 }, { "Unquote$", 93, 0, 1 }, - { "Assign", 94, 0, 1, 2 }, /* CODE_ASSIGN */ - /* - { "_EventOff", 94, 0, 0 }, - { "_EventOn", 95, 0, 0 }, - */ - + { "BoolPtr", 95, 1, 1 }, + { "BytePtr", 95, 2, 1 }, + { "ShortPtr", 95, 3, 1 }, + { "IntPtr", 95, 4, 1 }, + { "IntegerPtr", 95, 4, 1 }, + { "LongPtr", 95, 5, 1 }, + { "SinglePtr", 95, 6, 1 }, + { "FloatPtr", 95, 7, 1 }, + { "PointerPtr", 95, 11, 1 }, + { NULL } }; diff --git a/main/share/gb_reserved_temp.h b/main/share/gb_reserved_temp.h index a0903f8a8..3b4733e11 100644 --- a/main/share/gb_reserved_temp.h +++ b/main/share/gb_reserved_temp.h @@ -322,7 +322,7 @@ __01: __02: if (tolower(word[0]) == 'i' && tolower(word[1]) == 'f') return 84; if (tolower(word[0]) == 'p' && tolower(word[1]) == 'i') return 78; - if (tolower(word[0]) == 't' && tolower(word[1]) == 'r') return 219; + if (tolower(word[0]) == 't' && tolower(word[1]) == 'r') return 220; return -1; __03: if (tolower(word[0]) == 'a' && tolower(word[1]) == 'b' && tolower(word[2]) == 's') return 43; @@ -333,22 +333,22 @@ __03: if (tolower(word[0]) == 'a' && tolower(word[1]) == 's' && tolower(word[2]) == 'n') return 56; if (tolower(word[0]) == 'a' && tolower(word[1]) == 's' && tolower(word[2]) == 'r') return 111; if (tolower(word[0]) == 'a' && tolower(word[1]) == 't' && tolower(word[2]) == 'n') return 54; - if (tolower(word[0]) == 'b' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n') return 149; + if (tolower(word[0]) == 'b' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n') return 150; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'b' && tolower(word[2]) == 'r') return 75; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'h' && tolower(word[2]) == 'r') return 26; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'o' && tolower(word[2]) == 's') return 52; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 'y') return 161; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 'y') return 162; if (tolower(word[0]) == 'd' && tolower(word[1]) == 'e' && tolower(word[2]) == 'g') return 60; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'i' && tolower(word[2]) == 'r') return 208; - if (tolower(word[0]) == 'e' && tolower(word[1]) == 'o' && tolower(word[2]) == 'f') return 191; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'i' && tolower(word[2]) == 'r') return 209; + if (tolower(word[0]) == 'e' && tolower(word[1]) == 'o' && tolower(word[2]) == 'f') return 192; if (tolower(word[0]) == 'e' && tolower(word[1]) == 'x' && tolower(word[2]) == 'p') return 49; if (tolower(word[0]) == 'f' && tolower(word[1]) == 'i' && tolower(word[2]) == 'x') return 45; - if (tolower(word[0]) == 'h' && tolower(word[1]) == 'e' && tolower(word[2]) == 'x') return 151; + if (tolower(word[0]) == 'h' && tolower(word[1]) == 'e' && tolower(word[2]) == 'x') return 152; if (tolower(word[0]) == 'h' && tolower(word[1]) == 'y' && tolower(word[2]) == 'p') return 91; if (tolower(word[0]) == 'i' && tolower(word[1]) == 'i' && tolower(word[2]) == 'f') return 85; if (tolower(word[0]) == 'i' && tolower(word[1]) == 'n' && tolower(word[2]) == 't') return 44; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'e' && tolower(word[2]) == 'n') return 6; - if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'f') return 192; + if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'f') return 193; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'g') return 48; if (tolower(word[0]) == 'l' && tolower(word[1]) == 's' && tolower(word[2]) == 'l') return 114; if (tolower(word[0]) == 'l' && tolower(word[1]) == 's' && tolower(word[2]) == 'r') return 115; @@ -356,7 +356,7 @@ __03: if (tolower(word[0]) == 'm' && tolower(word[1]) == 'a' && tolower(word[2]) == 'x') return 83; if (tolower(word[0]) == 'm' && tolower(word[1]) == 'i' && tolower(word[2]) == 'd') return 3; if (tolower(word[0]) == 'm' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n') return 82; - if (tolower(word[0]) == 'n' && tolower(word[1]) == 'o' && tolower(word[2]) == 'w') return 158; + if (tolower(word[0]) == 'n' && tolower(word[1]) == 'o' && tolower(word[2]) == 'w') return 159; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'a' && tolower(word[2]) == 'd') return 61; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'n' && tolower(word[2]) == 'd') return 81; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'o' && tolower(word[2]) == 'l') return 112; @@ -366,10 +366,10 @@ __03: if (tolower(word[0]) == 's' && tolower(word[1]) == 'h' && tolower(word[2]) == 'r') return 110; if (tolower(word[0]) == 's' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n') return 51; if (tolower(word[0]) == 's' && tolower(word[1]) == 'q' && tolower(word[2]) == 'r') return 50; - if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r') return 154; + if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r') return 155; if (tolower(word[0]) == 't' && tolower(word[1]) == 'a' && tolower(word[2]) == 'n') return 53; - if (tolower(word[0]) == 't' && tolower(word[1]) == 'r' && word[2] == '$') return 220; - if (tolower(word[0]) == 'v' && tolower(word[1]) == 'a' && tolower(word[2]) == 'l') return 152; + if (tolower(word[0]) == 't' && tolower(word[1]) == 'r' && word[2] == '$') return 221; + if (tolower(word[0]) == 'v' && tolower(word[1]) == 'a' && tolower(word[2]) == 'l') return 153; return -1; __04: if (tolower(word[0]) == 'a' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 's') return 59; @@ -383,112 +383,112 @@ __04: if (tolower(word[0]) == 'b' && tolower(word[1]) == 'c' && tolower(word[2]) == 'l' && tolower(word[3]) == 'r') return 104; if (tolower(word[0]) == 'b' && tolower(word[1]) == 's' && tolower(word[2]) == 'e' && tolower(word[3]) == 't') return 105; if (tolower(word[0]) == 'b' && tolower(word[1]) == 't' && tolower(word[2]) == 's' && tolower(word[3]) == 't') return 106; - if (tolower(word[0]) == 'b' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && word[3] == '$') return 148; + if (tolower(word[0]) == 'b' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && word[3] == '$') return 149; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'f' && tolower(word[2]) == 'l' && tolower(word[3]) == 't') return 141; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 't') return 135; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'l' && tolower(word[2]) == 'n' && tolower(word[3]) == 'g') return 137; if (tolower(word[0]) == 'c' && tolower(word[1]) == 's' && tolower(word[2]) == 'n' && tolower(word[3]) == 'g') return 139; if (tolower(word[0]) == 'c' && tolower(word[1]) == 's' && tolower(word[2]) == 't' && tolower(word[3]) == 'r') return 144; - if (tolower(word[0]) == 'c' && tolower(word[1]) == 'v' && tolower(word[2]) == 'a' && tolower(word[3]) == 'r') return 146; + if (tolower(word[0]) == 'c' && tolower(word[1]) == 'v' && tolower(word[2]) == 'a' && tolower(word[3]) == 'r') return 147; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'h' && tolower(word[2]) == 'r' && word[3] == '$') return 25; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'o' && tolower(word[2]) == 'm' && tolower(word[3]) == 'p') return 36; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'o' && tolower(word[2]) == 'n' && tolower(word[3]) == 'v') return 37; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'o' && tolower(word[2]) == 's' && tolower(word[3]) == 'h') return 64; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 't' && tolower(word[3]) == 'e') return 167; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'i' && tolower(word[2]) == 'r' && word[3] == '?') return 207; - if (tolower(word[0]) == 'e' && tolower(word[1]) == 'v' && tolower(word[2]) == 'a' && tolower(word[3]) == 'l') return 171; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 't' && tolower(word[3]) == 'e') return 168; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'i' && tolower(word[2]) == 'r' && word[3] == '?') return 208; + if (tolower(word[0]) == 'e' && tolower(word[1]) == 'v' && tolower(word[2]) == 'a' && tolower(word[3]) == 'l') return 172; if (tolower(word[0]) == 'e' && tolower(word[1]) == 'x' && tolower(word[2]) == 'p' && word[3] == '2') return 72; if (tolower(word[0]) == 'e' && tolower(word[1]) == 'x' && tolower(word[2]) == 'p' && tolower(word[3]) == 'm') return 76; if (tolower(word[0]) == 'f' && tolower(word[1]) == 'r' && tolower(word[2]) == 'a' && tolower(word[3]) == 'c') return 47; - if (tolower(word[0]) == 'f' && tolower(word[1]) == 'r' && tolower(word[2]) == 'e' && tolower(word[3]) == 'e') return 213; - if (tolower(word[0]) == 'h' && tolower(word[1]) == 'e' && tolower(word[2]) == 'x' && word[3] == '$') return 150; - if (tolower(word[0]) == 'h' && tolower(word[1]) == 'o' && tolower(word[2]) == 'u' && tolower(word[3]) == 'r') return 162; - if (tolower(word[0]) == 'h' && tolower(word[1]) == 't' && tolower(word[2]) == 'm' && tolower(word[3]) == 'l') return 225; + if (tolower(word[0]) == 'f' && tolower(word[1]) == 'r' && tolower(word[2]) == 'e' && tolower(word[3]) == 'e') return 214; + if (tolower(word[0]) == 'h' && tolower(word[1]) == 'e' && tolower(word[2]) == 'x' && word[3] == '$') return 151; + if (tolower(word[0]) == 'h' && tolower(word[1]) == 'o' && tolower(word[2]) == 'u' && tolower(word[3]) == 'r') return 163; + if (tolower(word[0]) == 'h' && tolower(word[1]) == 't' && tolower(word[2]) == 'm' && tolower(word[3]) == 'l') return 226; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'e' && tolower(word[2]) == 'f' && tolower(word[3]) == 't') return 1; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'g' && word[3] == '2') return 74; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'g' && tolower(word[3]) == 'p') return 77; if (tolower(word[0]) == 'm' && tolower(word[1]) == 'i' && tolower(word[2]) == 'd' && word[3] == '$') return 2; - if (tolower(word[0]) == 'r' && tolower(word[1]) == 'd' && tolower(word[2]) == 'i' && tolower(word[3]) == 'r') return 209; + if (tolower(word[0]) == 'r' && tolower(word[1]) == 'd' && tolower(word[2]) == 'i' && tolower(word[3]) == 'r') return 210; if (tolower(word[0]) == 's' && tolower(word[1]) == 'c' && tolower(word[2]) == 'a' && tolower(word[3]) == 'n') return 35; - if (tolower(word[0]) == 's' && tolower(word[1]) == 'e' && tolower(word[2]) == 'e' && tolower(word[3]) == 'k') return 193; + if (tolower(word[0]) == 's' && tolower(word[1]) == 'e' && tolower(word[2]) == 'e' && tolower(word[3]) == 'k') return 194; if (tolower(word[0]) == 's' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'h') return 63; - if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'a' && tolower(word[3]) == 't') return 202; - if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && word[3] == '$') return 153; + if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'a' && tolower(word[3]) == 't') return 203; + if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && word[3] == '$') return 154; if (tolower(word[0]) == 't' && tolower(word[1]) == 'a' && tolower(word[2]) == 'n' && tolower(word[3]) == 'h') return 65; - if (tolower(word[0]) == 't' && tolower(word[1]) == 'e' && tolower(word[2]) == 'm' && tolower(word[3]) == 'p') return 204; - if (tolower(word[0]) == 't' && tolower(word[1]) == 'i' && tolower(word[2]) == 'm' && tolower(word[3]) == 'e') return 168; + if (tolower(word[0]) == 't' && tolower(word[1]) == 'e' && tolower(word[2]) == 'm' && tolower(word[3]) == 'p') return 205; + if (tolower(word[0]) == 't' && tolower(word[1]) == 'i' && tolower(word[2]) == 'm' && tolower(word[3]) == 'e') return 169; if (tolower(word[0]) == 't' && tolower(word[1]) == 'r' && tolower(word[2]) == 'i' && tolower(word[3]) == 'm') return 12; - if (tolower(word[0]) == 'w' && tolower(word[1]) == 'e' && tolower(word[2]) == 'e' && tolower(word[3]) == 'k') return 166; - if (tolower(word[0]) == 'y' && tolower(word[1]) == 'e' && tolower(word[2]) == 'a' && tolower(word[3]) == 'r') return 159; + if (tolower(word[0]) == 'w' && tolower(word[1]) == 'e' && tolower(word[2]) == 'e' && tolower(word[3]) == 'k') return 167; + if (tolower(word[0]) == 'y' && tolower(word[1]) == 'e' && tolower(word[2]) == 'a' && tolower(word[3]) == 'r') return 160; return -1; __05: - if (word[0] == '.' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'p' && tolower(word[4]) == 'y') return 198; - if (word[0] == '.' && tolower(word[1]) == 'e' && tolower(word[2]) == 'x' && tolower(word[3]) == 'e' && tolower(word[4]) == 'c') return 210; - if (word[0] == '.' && tolower(word[1]) == 'k' && tolower(word[2]) == 'i' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l') return 194; - if (word[0] == '.' && tolower(word[1]) == 'l' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 'k') return 199; - if (word[0] == '.' && tolower(word[1]) == 'l' && tolower(word[2]) == 'o' && tolower(word[3]) == 'c' && tolower(word[4]) == 'k') return 186; - if (word[0] == '.' && tolower(word[1]) == 'm' && tolower(word[2]) == 'o' && tolower(word[3]) == 'v' && tolower(word[4]) == 'e') return 197; - if (word[0] == '.' && tolower(word[1]) == 'o' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'n') return 175; - if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'e' && tolower(word[3]) == 'a' && tolower(word[4]) == 'd') return 181; - if (word[0] == '.' && tolower(word[1]) == 'w' && tolower(word[2]) == 'a' && tolower(word[3]) == 'i' && tolower(word[4]) == 't') return 174; + if (word[0] == '.' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'p' && tolower(word[4]) == 'y') return 199; + if (word[0] == '.' && tolower(word[1]) == 'e' && tolower(word[2]) == 'x' && tolower(word[3]) == 'e' && tolower(word[4]) == 'c') return 211; + if (word[0] == '.' && tolower(word[1]) == 'k' && tolower(word[2]) == 'i' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l') return 195; + if (word[0] == '.' && tolower(word[1]) == 'l' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 'k') return 200; + if (word[0] == '.' && tolower(word[1]) == 'l' && tolower(word[2]) == 'o' && tolower(word[3]) == 'c' && tolower(word[4]) == 'k') return 187; + if (word[0] == '.' && tolower(word[1]) == 'm' && tolower(word[2]) == 'o' && tolower(word[3]) == 'v' && tolower(word[4]) == 'e') return 198; + if (word[0] == '.' && tolower(word[1]) == 'o' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'n') return 176; + if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'e' && tolower(word[3]) == 'a' && tolower(word[4]) == 'd') return 182; + if (word[0] == '.' && tolower(word[1]) == 'w' && tolower(word[2]) == 'a' && tolower(word[3]) == 'i' && tolower(word[4]) == 't') return 175; if (tolower(word[0]) == 'a' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 's' && tolower(word[4]) == 'h') return 69; if (tolower(word[0]) == 'a' && tolower(word[1]) == 's' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 'h') return 67; if (tolower(word[0]) == 'a' && tolower(word[1]) == 't' && tolower(word[2]) == 'a' && tolower(word[3]) == 'n' && word[4] == '2') return 88; if (tolower(word[0]) == 'a' && tolower(word[1]) == 't' && tolower(word[2]) == 'a' && tolower(word[3]) == 'n' && tolower(word[4]) == 'h') return 71; - if (tolower(word[0]) == 'a' && tolower(word[1]) == 'l' && tolower(word[2]) == 'l' && tolower(word[3]) == 'o' && tolower(word[4]) == 'c') return 212; + if (tolower(word[0]) == 'a' && tolower(word[1]) == 'l' && tolower(word[2]) == 'l' && tolower(word[3]) == 'o' && tolower(word[4]) == 'c') return 213; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'b' && tolower(word[2]) == 'o' && tolower(word[3]) == 'o' && tolower(word[4]) == 'l') return 132; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'b' && tolower(word[2]) == 'y' && tolower(word[3]) == 't' && tolower(word[4]) == 'e') return 133; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'd' && tolower(word[2]) == 'a' && tolower(word[3]) == 't' && tolower(word[4]) == 'e') return 143; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'l' && tolower(word[2]) == 'o' && tolower(word[3]) == 'n' && tolower(word[4]) == 'g') return 138; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'o' && tolower(word[2]) == 'n' && tolower(word[3]) == 'v' && word[4] == '$') return 38; if (tolower(word[0]) == 'd' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'n' && tolower(word[4]) == 'v') return 41; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'f' && tolower(word[2]) == 'r' && tolower(word[3]) == 'e' && tolower(word[4]) == 'e') return 203; - if (tolower(word[0]) == 'e' && tolower(word[1]) == 'x' && tolower(word[2]) == 'i' && tolower(word[3]) == 's' && tolower(word[4]) == 't') return 200; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'f' && tolower(word[2]) == 'r' && tolower(word[3]) == 'e' && tolower(word[4]) == 'e') return 204; + if (tolower(word[0]) == 'e' && tolower(word[1]) == 'x' && tolower(word[2]) == 'i' && tolower(word[3]) == 's' && tolower(word[4]) == 't') return 201; if (tolower(word[0]) == 'e' && tolower(word[1]) == 'x' && tolower(word[2]) == 'p' && word[3] == '1' && word[4] == '0') return 73; - if (tolower(word[0]) == 'h' && tolower(word[1]) == 't' && tolower(word[2]) == 'm' && tolower(word[3]) == 'l' && word[4] == '$') return 226; + if (tolower(word[0]) == 'h' && tolower(word[1]) == 't' && tolower(word[2]) == 'm' && tolower(word[3]) == 'l' && word[4] == '$') return 227; if (tolower(word[0]) == 'i' && tolower(word[1]) == 'n' && tolower(word[2]) == 's' && tolower(word[3]) == 't' && tolower(word[4]) == 'r') return 28; - if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'd' && tolower(word[3]) == 'i' && tolower(word[4]) == 'r') return 206; + if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'd' && tolower(word[3]) == 'i' && tolower(word[4]) == 'r') return 207; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'c' && tolower(word[2]) == 'a' && tolower(word[3]) == 's' && tolower(word[4]) == 'e') return 24; if (tolower(word[0]) == 'l' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'm') return 14; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'e' && tolower(word[2]) == 'f' && tolower(word[3]) == 't' && word[4] == '$') return 0; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'g' && word[3] == '1' && word[4] == '0') return 62; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'w' && tolower(word[3]) == 'e' && tolower(word[4]) == 'r') return 22; - if (tolower(word[0]) == 'm' && tolower(word[1]) == 'o' && tolower(word[2]) == 'n' && tolower(word[3]) == 't' && tolower(word[4]) == 'h') return 160; - if (tolower(word[0]) == 'q' && tolower(word[1]) == 'u' && tolower(word[2]) == 'o' && tolower(word[3]) == 't' && tolower(word[4]) == 'e') return 221; + if (tolower(word[0]) == 'm' && tolower(word[1]) == 'o' && tolower(word[2]) == 'n' && tolower(word[3]) == 't' && tolower(word[4]) == 'h') return 161; + if (tolower(word[0]) == 'q' && tolower(word[1]) == 'u' && tolower(word[2]) == 'o' && tolower(word[3]) == 't' && tolower(word[4]) == 'e') return 222; if (tolower(word[0]) == 'r' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'm') return 16; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'i' && tolower(word[2]) == 'g' && tolower(word[3]) == 'h' && tolower(word[4]) == 't') return 5; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'o' && tolower(word[2]) == 'u' && tolower(word[3]) == 'n' && tolower(word[4]) == 'd') return 79; if (tolower(word[0]) == 's' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'n' && tolower(word[4]) == 'v') return 39; - if (tolower(word[0]) == 's' && tolower(word[1]) == 'h' && tolower(word[2]) == 'e' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l') return 223; + if (tolower(word[0]) == 's' && tolower(word[1]) == 'h' && tolower(word[2]) == 'e' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l') return 224; if (tolower(word[0]) == 's' && tolower(word[1]) == 'p' && tolower(word[2]) == 'a' && tolower(word[3]) == 'c' && tolower(word[4]) == 'e') return 8; if (tolower(word[0]) == 's' && tolower(word[1]) == 'p' && tolower(word[2]) == 'l' && tolower(word[3]) == 'i' && tolower(word[4]) == 't') return 34; if (tolower(word[0]) == 's' && tolower(word[1]) == 'u' && tolower(word[2]) == 'b' && tolower(word[3]) == 's' && tolower(word[4]) == 't') return 31; - if (tolower(word[0]) == 't' && tolower(word[1]) == 'e' && tolower(word[2]) == 'm' && tolower(word[3]) == 'p' && word[4] == '$') return 205; - if (tolower(word[0]) == 't' && tolower(word[1]) == 'i' && tolower(word[2]) == 'm' && tolower(word[3]) == 'e' && tolower(word[4]) == 'r') return 157; + if (tolower(word[0]) == 't' && tolower(word[1]) == 'e' && tolower(word[2]) == 'm' && tolower(word[3]) == 'p' && word[4] == '$') return 206; + if (tolower(word[0]) == 't' && tolower(word[1]) == 'i' && tolower(word[2]) == 'm' && tolower(word[3]) == 'e' && tolower(word[4]) == 'r') return 158; if (tolower(word[0]) == 't' && tolower(word[1]) == 'r' && tolower(word[2]) == 'i' && tolower(word[3]) == 'm' && word[4] == '$') return 11; if (tolower(word[0]) == 'u' && tolower(word[1]) == 'c' && tolower(word[2]) == 'a' && tolower(word[3]) == 's' && tolower(word[4]) == 'e') return 20; if (tolower(word[0]) == 'u' && tolower(word[1]) == 'p' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'r') return 18; return -1; __06: if (word[0] == '.' && tolower(word[1]) == 'a' && tolower(word[2]) == 'r' && tolower(word[3]) == 'r' && tolower(word[4]) == 'a' && tolower(word[5]) == 'y') return 87; - if (word[0] == '.' && tolower(word[1]) == 'c' && tolower(word[2]) == 'l' && tolower(word[3]) == 'o' && tolower(word[4]) == 's' && tolower(word[5]) == 'e') return 177; - if (word[0] == '.' && tolower(word[1]) == 'd' && tolower(word[2]) == 'e' && tolower(word[3]) == 'b' && tolower(word[4]) == 'u' && tolower(word[5]) == 'g') return 173; - if (word[0] == '.' && tolower(word[1]) == 'e' && tolower(word[2]) == 'r' && tolower(word[3]) == 'r' && tolower(word[4]) == 'o' && tolower(word[5]) == 'r') return 172; - if (word[0] == '.' && tolower(word[1]) == 'f' && tolower(word[2]) == 'l' && tolower(word[3]) == 'u' && tolower(word[4]) == 's' && tolower(word[5]) == 'h') return 185; - if (word[0] == '.' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'p' && tolower(word[4]) == 'u' && tolower(word[5]) == 't') return 178; - if (word[0] == '.' && tolower(word[1]) == 'm' && tolower(word[2]) == 'k' && tolower(word[3]) == 'd' && tolower(word[4]) == 'i' && tolower(word[5]) == 'r') return 195; - if (word[0] == '.' && tolower(word[1]) == 'p' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'n' && tolower(word[5]) == 't') return 180; - if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'm' && tolower(word[3]) == 'd' && tolower(word[4]) == 'i' && tolower(word[5]) == 'r') return 196; - if (word[0] == '.' && tolower(word[1]) == 's' && tolower(word[2]) == 'h' && tolower(word[3]) == 'e' && tolower(word[4]) == 'l' && tolower(word[5]) == 'l') return 211; - if (word[0] == '.' && tolower(word[1]) == 's' && tolower(word[2]) == 'l' && tolower(word[3]) == 'e' && tolower(word[4]) == 'e' && tolower(word[5]) == 'p') return 216; - if (word[0] == '.' && tolower(word[1]) == 'w' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 't' && tolower(word[5]) == 'e') return 183; - if (tolower(word[0]) == 'a' && tolower(word[1]) == 'c' && tolower(word[2]) == 'c' && tolower(word[3]) == 'e' && tolower(word[4]) == 's' && tolower(word[5]) == 's') return 201; - if (tolower(word[0]) == 'a' && tolower(word[1]) == 's' && tolower(word[2]) == 's' && tolower(word[3]) == 'i' && tolower(word[4]) == 'g' && tolower(word[5]) == 'n') return 229; + if (word[0] == '.' && tolower(word[1]) == 'c' && tolower(word[2]) == 'l' && tolower(word[3]) == 'o' && tolower(word[4]) == 's' && tolower(word[5]) == 'e') return 178; + if (word[0] == '.' && tolower(word[1]) == 'd' && tolower(word[2]) == 'e' && tolower(word[3]) == 'b' && tolower(word[4]) == 'u' && tolower(word[5]) == 'g') return 174; + if (word[0] == '.' && tolower(word[1]) == 'e' && tolower(word[2]) == 'r' && tolower(word[3]) == 'r' && tolower(word[4]) == 'o' && tolower(word[5]) == 'r') return 173; + if (word[0] == '.' && tolower(word[1]) == 'f' && tolower(word[2]) == 'l' && tolower(word[3]) == 'u' && tolower(word[4]) == 's' && tolower(word[5]) == 'h') return 186; + if (word[0] == '.' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'p' && tolower(word[4]) == 'u' && tolower(word[5]) == 't') return 179; + if (word[0] == '.' && tolower(word[1]) == 'm' && tolower(word[2]) == 'k' && tolower(word[3]) == 'd' && tolower(word[4]) == 'i' && tolower(word[5]) == 'r') return 196; + if (word[0] == '.' && tolower(word[1]) == 'p' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'n' && tolower(word[5]) == 't') return 181; + if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'm' && tolower(word[3]) == 'd' && tolower(word[4]) == 'i' && tolower(word[5]) == 'r') return 197; + if (word[0] == '.' && tolower(word[1]) == 's' && tolower(word[2]) == 'h' && tolower(word[3]) == 'e' && tolower(word[4]) == 'l' && tolower(word[5]) == 'l') return 212; + if (word[0] == '.' && tolower(word[1]) == 's' && tolower(word[2]) == 'l' && tolower(word[3]) == 'e' && tolower(word[4]) == 'e' && tolower(word[5]) == 'p') return 217; + if (word[0] == '.' && tolower(word[1]) == 'w' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 't' && tolower(word[5]) == 'e') return 184; + if (tolower(word[0]) == 'a' && tolower(word[1]) == 'c' && tolower(word[2]) == 'c' && tolower(word[3]) == 'e' && tolower(word[4]) == 's' && tolower(word[5]) == 's') return 202; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'f' && tolower(word[2]) == 'l' && tolower(word[3]) == 'o' && tolower(word[4]) == 'a' && tolower(word[5]) == 't') return 142; if (tolower(word[0]) == 'c' && tolower(word[1]) == 's' && tolower(word[2]) == 'h' && tolower(word[3]) == 'o' && tolower(word[4]) == 'r' && tolower(word[5]) == 't') return 134; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'h' && tolower(word[2]) == 'o' && tolower(word[3]) == 'o' && tolower(word[4]) == 's' && tolower(word[5]) == 'e') return 86; if (tolower(word[0]) == 'd' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'n' && tolower(word[4]) == 'v' && word[5] == '$') return 42; - if (tolower(word[0]) == 'f' && tolower(word[1]) == 'o' && tolower(word[2]) == 'r' && tolower(word[3]) == 'm' && tolower(word[4]) == 'a' && tolower(word[5]) == 't') return 156; + if (tolower(word[0]) == 'f' && tolower(word[1]) == 'o' && tolower(word[2]) == 'r' && tolower(word[3]) == 'm' && tolower(word[4]) == 'a' && tolower(word[5]) == 't') return 157; + if (tolower(word[0]) == 'i' && tolower(word[1]) == 'n' && tolower(word[2]) == 't' && tolower(word[3]) == 'p' && tolower(word[4]) == 't' && tolower(word[5]) == 'r') return 233; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'b' && tolower(word[3]) == 'y' && tolower(word[4]) == 't' && tolower(word[5]) == 'e') return 117; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'd' && tolower(word[3]) == 'a' && tolower(word[4]) == 't' && tolower(word[5]) == 'e') return 123; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'h' && tolower(word[3]) == 'e' && tolower(word[4]) == 'x' && tolower(word[5]) == 'a') return 100; @@ -497,30 +497,32 @@ __06: if (tolower(word[0]) == 'l' && tolower(word[1]) == 'c' && tolower(word[2]) == 'a' && tolower(word[3]) == 's' && tolower(word[4]) == 'e' && word[5] == '$') return 23; if (tolower(word[0]) == 'l' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'm' && word[5] == '$') return 13; if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'w' && tolower(word[3]) == 'e' && tolower(word[4]) == 'r' && word[5] == '$') return 21; - if (tolower(word[0]) == 'm' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'u' && tolower(word[4]) == 't' && tolower(word[5]) == 'e') return 163; - if (tolower(word[0]) == 'q' && tolower(word[1]) == 'u' && tolower(word[2]) == 'o' && tolower(word[3]) == 't' && tolower(word[4]) == 'e' && word[5] == '$') return 222; + if (tolower(word[0]) == 'm' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'u' && tolower(word[4]) == 't' && tolower(word[5]) == 'e') return 164; + if (tolower(word[0]) == 'q' && tolower(word[1]) == 'u' && tolower(word[2]) == 'o' && tolower(word[3]) == 't' && tolower(word[4]) == 'e' && word[5] == '$') return 223; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 's' && tolower(word[4]) == 't' && tolower(word[5]) == 'r') return 29; if (tolower(word[0]) == 'r' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'm' && word[5] == '$') return 15; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'i' && tolower(word[2]) == 'g' && tolower(word[3]) == 'h' && tolower(word[4]) == 't' && word[5] == '$') return 4; if (tolower(word[0]) == 's' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'n' && tolower(word[4]) == 'v' && word[5] == '$') return 40; - if (tolower(word[0]) == 's' && tolower(word[1]) == 'e' && tolower(word[2]) == 'c' && tolower(word[3]) == 'o' && tolower(word[4]) == 'n' && tolower(word[5]) == 'd') return 164; - if (tolower(word[0]) == 's' && tolower(word[1]) == 'h' && tolower(word[2]) == 'e' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l' && word[5] == '$') return 224; + if (tolower(word[0]) == 's' && tolower(word[1]) == 'e' && tolower(word[2]) == 'c' && tolower(word[3]) == 'o' && tolower(word[4]) == 'n' && tolower(word[5]) == 'd') return 165; + if (tolower(word[0]) == 's' && tolower(word[1]) == 'h' && tolower(word[2]) == 'e' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l' && word[5] == '$') return 225; if (tolower(word[0]) == 's' && tolower(word[1]) == 'i' && tolower(word[2]) == 'z' && tolower(word[3]) == 'e' && tolower(word[4]) == 'o' && tolower(word[5]) == 'f') return 131; if (tolower(word[0]) == 's' && tolower(word[1]) == 'p' && tolower(word[2]) == 'a' && tolower(word[3]) == 'c' && tolower(word[4]) == 'e' && word[5] == '$') return 7; - if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'p' && tolower(word[4]) == 't' && tolower(word[5]) == 'r') return 215; + if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'p' && tolower(word[4]) == 't' && tolower(word[5]) == 'r') return 216; if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'n' && tolower(word[5]) == 'g') return 10; if (tolower(word[0]) == 's' && tolower(word[1]) == 'u' && tolower(word[2]) == 'b' && tolower(word[3]) == 's' && tolower(word[4]) == 't' && word[5] == '$') return 30; if (tolower(word[0]) == 't' && tolower(word[1]) == 'y' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'o' && tolower(word[5]) == 'f') return 130; if (tolower(word[0]) == 'u' && tolower(word[1]) == 'c' && tolower(word[2]) == 'a' && tolower(word[3]) == 's' && tolower(word[4]) == 'e' && word[5] == '$') return 19; if (tolower(word[0]) == 'u' && tolower(word[1]) == 'p' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'r' && word[5] == '$') return 17; - if (tolower(word[0]) == 'v' && tolower(word[1]) == 'a' && tolower(word[2]) == 'r' && tolower(word[3]) == 'p' && tolower(word[4]) == 't' && tolower(word[5]) == 'r') return 217; + if (tolower(word[0]) == 'v' && tolower(word[1]) == 'a' && tolower(word[2]) == 'r' && tolower(word[3]) == 'p' && tolower(word[4]) == 't' && tolower(word[5]) == 'r') return 218; return -1; __07: - if (word[0] == '.' && tolower(word[1]) == 'u' && tolower(word[2]) == 'n' && tolower(word[3]) == 'l' && tolower(word[4]) == 'o' && tolower(word[5]) == 'c' && tolower(word[6]) == 'k') return 187; + if (word[0] == '.' && tolower(word[1]) == 'u' && tolower(word[2]) == 'n' && tolower(word[3]) == 'l' && tolower(word[4]) == 'o' && tolower(word[5]) == 'c' && tolower(word[6]) == 'k') return 188; + if (tolower(word[0]) == 'b' && tolower(word[1]) == 'o' && tolower(word[2]) == 'o' && tolower(word[3]) == 'l' && tolower(word[4]) == 'p' && tolower(word[5]) == 't' && tolower(word[6]) == 'r') return 230; + if (tolower(word[0]) == 'b' && tolower(word[1]) == 'y' && tolower(word[2]) == 't' && tolower(word[3]) == 'e' && tolower(word[4]) == 'p' && tolower(word[5]) == 't' && tolower(word[6]) == 'r') return 231; if (tolower(word[0]) == 'c' && tolower(word[1]) == 's' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 'g' && tolower(word[5]) == 'l' && tolower(word[6]) == 'e') return 140; if (tolower(word[0]) == 'c' && tolower(word[1]) == 's' && tolower(word[2]) == 't' && tolower(word[3]) == 'r' && tolower(word[4]) == 'i' && tolower(word[5]) == 'n' && tolower(word[6]) == 'g') return 145; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 't' && tolower(word[3]) == 'e' && tolower(word[4]) == 'a' && tolower(word[5]) == 'd' && tolower(word[6]) == 'd') return 169; - if (tolower(word[0]) == 'f' && tolower(word[1]) == 'o' && tolower(word[2]) == 'r' && tolower(word[3]) == 'm' && tolower(word[4]) == 'a' && tolower(word[5]) == 't' && word[6] == '$') return 155; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 't' && tolower(word[3]) == 'e' && tolower(word[4]) == 'a' && tolower(word[5]) == 'd' && tolower(word[6]) == 'd') return 170; + if (tolower(word[0]) == 'f' && tolower(word[1]) == 'o' && tolower(word[2]) == 'r' && tolower(word[3]) == 'm' && tolower(word[4]) == 'a' && tolower(word[5]) == 't' && word[6] == '$') return 156; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'a' && tolower(word[3]) == 's' && tolower(word[4]) == 'c' && tolower(word[5]) == 'i' && tolower(word[6]) == 'i') return 93; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'b' && tolower(word[3]) == 'l' && tolower(word[4]) == 'a' && tolower(word[5]) == 'n' && tolower(word[6]) == 'k') return 102; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'd' && tolower(word[3]) == 'i' && tolower(word[4]) == 'g' && tolower(word[5]) == 'i' && tolower(word[6]) == 't') return 99; @@ -532,41 +534,48 @@ __07: if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 's' && tolower(word[3]) == 'p' && tolower(word[4]) == 'a' && tolower(word[5]) == 'c' && tolower(word[6]) == 'e') return 101; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'u' && tolower(word[3]) == 'c' && tolower(word[4]) == 'a' && tolower(word[5]) == 's' && tolower(word[6]) == 'e') return 97; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'u' && tolower(word[3]) == 'p' && tolower(word[4]) == 'p' && tolower(word[5]) == 'e' && tolower(word[6]) == 'r') return 98; - if (tolower(word[0]) == 'r' && tolower(word[1]) == 'e' && tolower(word[2]) == 'a' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l' && tolower(word[5]) == 'o' && tolower(word[6]) == 'c') return 214; + if (tolower(word[0]) == 'l' && tolower(word[1]) == 'o' && tolower(word[2]) == 'n' && tolower(word[3]) == 'g' && tolower(word[4]) == 'p' && tolower(word[5]) == 't' && tolower(word[6]) == 'r') return 235; + if (tolower(word[0]) == 'r' && tolower(word[1]) == 'e' && tolower(word[2]) == 'a' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l' && tolower(word[5]) == 'o' && tolower(word[6]) == 'c') return 215; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'e' && tolower(word[2]) == 'p' && tolower(word[3]) == 'l' && tolower(word[4]) == 'a' && tolower(word[5]) == 'c' && tolower(word[6]) == 'e') return 33; if (tolower(word[0]) == 's' && tolower(word[1]) == 't' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 'n' && tolower(word[5]) == 'g' && word[6] == '$') return 9; - if (tolower(word[0]) == 'u' && tolower(word[1]) == 'n' && tolower(word[2]) == 'q' && tolower(word[3]) == 'u' && tolower(word[4]) == 'o' && tolower(word[5]) == 't' && tolower(word[6]) == 'e') return 227; - if (tolower(word[0]) == 'w' && tolower(word[1]) == 'e' && tolower(word[2]) == 'e' && tolower(word[3]) == 'k' && tolower(word[4]) == 'd' && tolower(word[5]) == 'a' && tolower(word[6]) == 'y') return 165; + if (tolower(word[0]) == 'u' && tolower(word[1]) == 'n' && tolower(word[2]) == 'q' && tolower(word[3]) == 'u' && tolower(word[4]) == 'o' && tolower(word[5]) == 't' && tolower(word[6]) == 'e') return 228; + if (tolower(word[0]) == 'w' && tolower(word[1]) == 'e' && tolower(word[2]) == 'e' && tolower(word[3]) == 'k' && tolower(word[4]) == 'd' && tolower(word[5]) == 'a' && tolower(word[6]) == 'y') return 166; return -1; __08: - if (word[0] == '.' && tolower(word[1]) == 'e' && tolower(word[2]) == 'r' && tolower(word[3]) == 'r' && tolower(word[4]) == 'o' && tolower(word[5]) == 'r' && tolower(word[6]) == 't' && tolower(word[7]) == 'o') return 190; + if (word[0] == '.' && tolower(word[1]) == 'e' && tolower(word[2]) == 'r' && tolower(word[3]) == 'r' && tolower(word[4]) == 'o' && tolower(word[5]) == 'r' && tolower(word[6]) == 't' && tolower(word[7]) == 'o') return 191; if (tolower(word[0]) == 'c' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 't' && tolower(word[4]) == 'e' && tolower(word[5]) == 'g' && tolower(word[6]) == 'e' && tolower(word[7]) == 'r') return 136; - if (tolower(word[0]) == 'c' && tolower(word[1]) == 'v' && tolower(word[2]) == 'a' && tolower(word[3]) == 'r' && tolower(word[4]) == 'i' && tolower(word[5]) == 'a' && tolower(word[6]) == 'n' && tolower(word[7]) == 't') return 147; - if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 't' && tolower(word[3]) == 'e' && tolower(word[4]) == 'd' && tolower(word[5]) == 'i' && tolower(word[6]) == 'f' && tolower(word[7]) == 'f') return 170; + if (tolower(word[0]) == 'c' && tolower(word[1]) == 'p' && tolower(word[2]) == 'o' && tolower(word[3]) == 'i' && tolower(word[4]) == 'n' && tolower(word[5]) == 't' && tolower(word[6]) == 'e' && tolower(word[7]) == 'r') return 146; + if (tolower(word[0]) == 'c' && tolower(word[1]) == 'v' && tolower(word[2]) == 'a' && tolower(word[3]) == 'r' && tolower(word[4]) == 'i' && tolower(word[5]) == 'a' && tolower(word[6]) == 'n' && tolower(word[7]) == 't') return 148; + if (tolower(word[0]) == 'd' && tolower(word[1]) == 'a' && tolower(word[2]) == 't' && tolower(word[3]) == 'e' && tolower(word[4]) == 'd' && tolower(word[5]) == 'i' && tolower(word[6]) == 'f' && tolower(word[7]) == 'f') return 171; + if (tolower(word[0]) == 'f' && tolower(word[1]) == 'l' && tolower(word[2]) == 'o' && tolower(word[3]) == 'a' && tolower(word[4]) == 't' && tolower(word[5]) == 'p' && tolower(word[6]) == 't' && tolower(word[7]) == 'r') return 237; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'l' && tolower(word[3]) == 'e' && tolower(word[4]) == 't' && tolower(word[5]) == 't' && tolower(word[6]) == 'e' && tolower(word[7]) == 'r') return 94; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'n' && tolower(word[3]) == 'u' && tolower(word[4]) == 'm' && tolower(word[5]) == 'b' && tolower(word[6]) == 'e' && tolower(word[7]) == 'r') return 129; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'o' && tolower(word[3]) == 'b' && tolower(word[4]) == 'j' && tolower(word[5]) == 'e' && tolower(word[6]) == 'c' && tolower(word[7]) == 't') return 128; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 's' && tolower(word[3]) == 'i' && tolower(word[4]) == 'n' && tolower(word[5]) == 'g' && tolower(word[6]) == 'l' && tolower(word[7]) == 'e') return 121; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 's' && tolower(word[3]) == 't' && tolower(word[4]) == 'r' && tolower(word[5]) == 'i' && tolower(word[6]) == 'n' && tolower(word[7]) == 'g') return 124; if (tolower(word[0]) == 'r' && tolower(word[1]) == 'e' && tolower(word[2]) == 'p' && tolower(word[3]) == 'l' && tolower(word[4]) == 'a' && tolower(word[5]) == 'c' && tolower(word[6]) == 'e' && word[7] == '$') return 32; - if (tolower(word[0]) == 'u' && tolower(word[1]) == 'n' && tolower(word[2]) == 'q' && tolower(word[3]) == 'u' && tolower(word[4]) == 'o' && tolower(word[5]) == 't' && tolower(word[6]) == 'e' && word[7] == '$') return 228; + if (tolower(word[0]) == 's' && tolower(word[1]) == 'h' && tolower(word[2]) == 'o' && tolower(word[3]) == 'r' && tolower(word[4]) == 't' && tolower(word[5]) == 'p' && tolower(word[6]) == 't' && tolower(word[7]) == 'r') return 232; + if (tolower(word[0]) == 'u' && tolower(word[1]) == 'n' && tolower(word[2]) == 'q' && tolower(word[3]) == 'u' && tolower(word[4]) == 'o' && tolower(word[5]) == 't' && tolower(word[6]) == 'e' && word[7] == '$') return 229; return -1; __09: - if (word[0] == '.' && tolower(word[1]) == 'o' && tolower(word[2]) == 'u' && tolower(word[3]) == 't' && tolower(word[4]) == 'p' && tolower(word[5]) == 'u' && tolower(word[6]) == 't' && tolower(word[7]) == 't' && tolower(word[8]) == 'o') return 189; + if (word[0] == '.' && tolower(word[1]) == 'o' && tolower(word[2]) == 'u' && tolower(word[3]) == 't' && tolower(word[4]) == 'p' && tolower(word[5]) == 'u' && tolower(word[6]) == 't' && tolower(word[7]) == 't' && tolower(word[8]) == 'o') return 190; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'b' && tolower(word[3]) == 'o' && tolower(word[4]) == 'o' && tolower(word[5]) == 'l' && tolower(word[6]) == 'e' && tolower(word[7]) == 'a' && tolower(word[8]) == 'n') return 116; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 't' && tolower(word[5]) == 'e' && tolower(word[6]) == 'g' && tolower(word[7]) == 'e' && tolower(word[8]) == 'r') return 119; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'p' && tolower(word[3]) == 'o' && tolower(word[4]) == 'i' && tolower(word[5]) == 'n' && tolower(word[6]) == 't' && tolower(word[7]) == 'e' && tolower(word[8]) == 'r') return 125; if (tolower(word[0]) == 'i' && tolower(word[1]) == 's' && tolower(word[2]) == 'v' && tolower(word[3]) == 'a' && tolower(word[4]) == 'r' && tolower(word[5]) == 'i' && tolower(word[6]) == 'a' && tolower(word[7]) == 'n' && tolower(word[8]) == 't') return 126; + if (tolower(word[0]) == 's' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'g' && tolower(word[4]) == 'l' && tolower(word[5]) == 'e' && tolower(word[6]) == 'p' && tolower(word[7]) == 't' && tolower(word[8]) == 'r') return 236; return -1; __10: - if (word[0] == '.' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'p' && tolower(word[4]) == 'u' && tolower(word[5]) == 't' && tolower(word[6]) == 'f' && tolower(word[7]) == 'r' && tolower(word[8]) == 'o' && tolower(word[9]) == 'm') return 188; - if (word[0] == '.' && tolower(word[1]) == 'l' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 'e' && tolower(word[5]) == 'i' && tolower(word[6]) == 'n' && tolower(word[7]) == 'p' && tolower(word[8]) == 'u' && tolower(word[9]) == 't') return 179; + if (word[0] == '.' && tolower(word[1]) == 'i' && tolower(word[2]) == 'n' && tolower(word[3]) == 'p' && tolower(word[4]) == 'u' && tolower(word[5]) == 't' && tolower(word[6]) == 'f' && tolower(word[7]) == 'r' && tolower(word[8]) == 'o' && tolower(word[9]) == 'm') return 189; + if (word[0] == '.' && tolower(word[1]) == 'l' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 'e' && tolower(word[5]) == 'i' && tolower(word[6]) == 'n' && tolower(word[7]) == 'p' && tolower(word[8]) == 'u' && tolower(word[9]) == 't') return 180; if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'a' && tolower(word[3]) == 'n' && tolower(word[4]) == 'd' && tolower(word[5]) == 'o' && tolower(word[6]) == 'm' && tolower(word[7]) == 'i' && tolower(word[8]) == 'z' && tolower(word[9]) == 'e') return 80; - if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'e' && tolower(word[3]) == 'a' && tolower(word[4]) == 'd' && tolower(word[5]) == 'b' && tolower(word[6]) == 'y' && tolower(word[7]) == 't' && tolower(word[8]) == 'e' && tolower(word[9]) == 's') return 182; + if (word[0] == '.' && tolower(word[1]) == 'r' && tolower(word[2]) == 'e' && tolower(word[3]) == 'a' && tolower(word[4]) == 'd' && tolower(word[5]) == 'b' && tolower(word[6]) == 'y' && tolower(word[7]) == 't' && tolower(word[8]) == 'e' && tolower(word[9]) == 's') return 183; + if (tolower(word[0]) == 'i' && tolower(word[1]) == 'n' && tolower(word[2]) == 't' && tolower(word[3]) == 'e' && tolower(word[4]) == 'g' && tolower(word[5]) == 'e' && tolower(word[6]) == 'r' && tolower(word[7]) == 'p' && tolower(word[8]) == 't' && tolower(word[9]) == 'r') return 234; + if (tolower(word[0]) == 'p' && tolower(word[1]) == 'o' && tolower(word[2]) == 'i' && tolower(word[3]) == 'n' && tolower(word[4]) == 't' && tolower(word[5]) == 'e' && tolower(word[6]) == 'r' && tolower(word[7]) == 'p' && tolower(word[8]) == 't' && tolower(word[9]) == 'r') return 238; return -1; __11: - if (word[0] == '.' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l' && tolower(word[5]) == 'e' && tolower(word[6]) == 'c' && tolower(word[7]) == 't' && tolower(word[8]) == 'i' && tolower(word[9]) == 'o' && tolower(word[10]) == 'n') return 218; - if (word[0] == '.' && tolower(word[1]) == 'o' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'n' && tolower(word[5]) == 'm' && tolower(word[6]) == 'e' && tolower(word[7]) == 'm' && tolower(word[8]) == 'o' && tolower(word[9]) == 'r' && tolower(word[10]) == 'y') return 176; - if (word[0] == '.' && tolower(word[1]) == 'w' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 't' && tolower(word[5]) == 'e' && tolower(word[6]) == 'b' && tolower(word[7]) == 'y' && tolower(word[8]) == 't' && tolower(word[9]) == 'e' && tolower(word[10]) == 's') return 184; + if (word[0] == '.' && tolower(word[1]) == 'c' && tolower(word[2]) == 'o' && tolower(word[3]) == 'l' && tolower(word[4]) == 'l' && tolower(word[5]) == 'e' && tolower(word[6]) == 'c' && tolower(word[7]) == 't' && tolower(word[8]) == 'i' && tolower(word[9]) == 'o' && tolower(word[10]) == 'n') return 219; + if (word[0] == '.' && tolower(word[1]) == 'o' && tolower(word[2]) == 'p' && tolower(word[3]) == 'e' && tolower(word[4]) == 'n' && tolower(word[5]) == 'm' && tolower(word[6]) == 'e' && tolower(word[7]) == 'm' && tolower(word[8]) == 'o' && tolower(word[9]) == 'r' && tolower(word[10]) == 'y') return 177; + if (word[0] == '.' && tolower(word[1]) == 'w' && tolower(word[2]) == 'r' && tolower(word[3]) == 'i' && tolower(word[4]) == 't' && tolower(word[5]) == 'e' && tolower(word[6]) == 'b' && tolower(word[7]) == 'y' && tolower(word[8]) == 't' && tolower(word[9]) == 'e' && tolower(word[10]) == 's') return 185; return -1; -} +} \ No newline at end of file