[WIKI CGI SCRIPT]

* NEW: New look for version specific documentation.

[INTERPRETER]
* NEW: Assign() has been removed, and replaced by Eval() with an expression 
  beginning with the LET keyword.
* NEW: New routines to read a value stored at a memory address: BoolPtr(),
  BytePtr(), ShortPtr(), IntPtr(), LongPtr(), SinglePtr(), FloatPtr() and
  PointerPtr().

[COMPILER]
* NEW: The LET keyword can be used to write an assignment expression. Of
  course it is optional.

[GB.EVAL]
* NEW: The LET keyword can be used to evaluate an assignment.
* NEW: The Expression.Compile() method does not take any argument anymore.

git-svn-id: svn://localhost/gambas/trunk@3041 867c0c6c-44f3-4631-809d-bfa615b0a4ec
This commit is contained in:
Benoît Minisini 2010-07-14 16:33:29 +00:00
parent 70abf8b89c
commit 0bc1701225
19 changed files with 379 additions and 332 deletions

1
TODO
View File

@ -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.

View File

@ -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&nbsp;properties"
msgstr ""
#: Main.module:3990
#: Main.module:3993
msgid "Static&nbsp;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 ""

Binary file not shown.

View File

@ -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&nbsp;methods"
msgstr "Méthodes&nbsp;statiques"
#: Main.module:3781
#: Main.module:3992
msgid "Static&nbsp;properties"
msgstr "Propriétés&nbsp;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"

View File

@ -725,7 +725,7 @@ Private Sub EnterSection(sSection As String, Optional sArg As String)
Case "example"
If Not $bExample Then
$bExample = True
$sRes &= "<h3>" & ("Examples") & "</h3>\n"
$sRes &= "<h3>" & ("Example") & "</h3>\n"
Endif
$sRes &= "<div class=\"example\">"
$bVerbatim = True
@ -769,7 +769,10 @@ Private Sub EnterSection(sSection As String, Optional sArg As String)
If IsComponentPath($sPath) Then
$sRes &= "<div style=\"display:none\">"
Else
$sRes &= "<table class=\"only-" & Left(sParam) & "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\"><tr><td class=\"only-" & Left(sParam) & "\" width=\"8\" valign=\"top\"><b>" & sParam & "</b></td><td class=\"only-contents\">"
$sRes &= "<table class=\"only-" & Left(sParam) & "\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">"
'$sRes &= "<tr><td class=\"only-" & Left(sParam) & "-title\" valign=\"top\">&nbsp;" & sParam & "&nbsp;</td><td width=\"100%\">&nbsp;</td></tr>"
$sRes &= "<tr><td class=\"only-contents\">"
$sRes &= "<div class=\"only-" & Left(sParam) & "-title\">&nbsp;" & sParam & "&nbsp;</div>"
Endif
$sOnlyVersion = $sVersion
$sVersion = sParam
@ -1926,7 +1929,7 @@ Private Sub PrintExample(sExample As String)
If Not $bExample Then
$bExample = True
Print "<h3>" & ("Examples") & "</h3>"
Print "<h3>" & ("Example") & "</h3>"
Endif
Print "<pre class=\"example\">"; RTrim(sExample); "</pre><p>"

View File

@ -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();

View File

@ -122,6 +122,7 @@ static void main_exit(bool silent)
if (!SP)
STACK_init();
EXTERN_release();
STREAM_exit();
OBJECT_exit();
CLASS_clean_up(silent);

View File

@ -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
};

View File

@ -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,

View File

@ -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)
{
}

View File

@ -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

View File

@ -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 */

View File

@ -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++;
}

View File

@ -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))

View File

@ -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),

View File

@ -39,9 +39,8 @@ typedef
GB_BASE ob;
char *text;
void *env;
bool compiled;
bool assignment;
EXPRESSION expr;
bool compiled;
}
CEXPRESSION;

View File

@ -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();

View File

@ -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 }
};

View File

@ -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;
}
}