(07-05-2021, 14:23)tercoide escribió: Solo necesitas un poco de código que haga Search/Replace de todo lo que no esta entre comillas
y ademas es una palabra reservada como por ejemplo:
["Boolean","Byte","Date","Single","Float","Integer","Long","Short","String","Variant","Object","Pointer","Class","Function","Struct","Const","Private","Public","Static","Fast","Unsafe","Property","Event","Inherits","Implements","Export","As","Of","Dim","New","Procedure","Sub","Return","Optional","Output","Do","Loop","While","Until","Repeat","Wend","If","Then","Else","Endif","End","For","To","DownTo","From","Step","Next","Select","Case","Exit","Break","Continue","Goto","GoSub","On","Me","Last","Try","Finally","Catch","With","True","False","Swap","Null","Extern","Each","In","Default","Stop","Quit","Raise","Error","Super","Enum","Let","Use","Print","Input","Read","Peek","Write","Open","Close","Seek","Append","Create","Binary","Line","Flush","Exec","Shell","Wait","Sleep","Kill","Move","Copy","Inc","Dec","Mkdir","Rmdir","Watch","Link","Lock","Unlock","Library","Debug","Assert","Pipe","Randomize","ByRef","Memory","Chmod","Chown","Chgrp","And","Or","Not","Xor","Div","Mod","Is","Like","Begins","Ends","Match","Left$","Left","Mid$","Mid","Right$","Right","Len","Space$","Space","String$","String","Trim$","Trim","LTrim$","LTrim","RTrim$","RTrim","Upper$","Upper","UCase$","UCase","Lower$","Lower","LCase$","LCase","Oct$","Oct","Chr$","Chr","Asc","InStr","RInStr","Subst$","Subst","Replace$","Replace","Split","Scan","Comp","Conv","Conv$","SConv","SConv$","DConv","DConv$","Abs","Int","Fix","Sgn","Frac","Log","Exp","Sqr","Sin","Cos","Tan","Atn","ATan","Asn","ASin","Acs","ACos","Deg","Rad","Log10","Sinh","Cosh","Tanh","Asnh","ASinh","Acsh","ACosh","Atnh","ATanh","Exp2","Exp10","Log2","Cbr","Expm","Logp","Floor","Ceil","Pi","Round",".Randomize","Rnd","Min","Max","If","IIf","Choose",".Array","ATan2","Atn2","Ang","Hyp","Mag","IsAscii","IsLetter","IsLCase","IsLower","IsUCase","IsUpper","IsDigit","IsHexa","IsSpace","IsBlank","IsPunct","IsAlnum","BClr","BSet","BTst","BChg","Shl","Asl","Shr","Asr","Rol","Ror","Lsl","Lsr","IsBoolean","IsInteger","IsLong","IsFloat","IsDate","IsNumber","IsNull","TypeOf","SizeOf","CBool","CBoolean","CByte","CShort","CInt","CInteger","CLong","CSingle","CFloat","CDate","CStr","CString","CPointer","CVariant","Bin$","Bin","Hex$","Hex","Val","Str$","Str","Format$","Format","Timer","Now","Year","Month","Day","Hour","Minute","Second","WeekDay","Week","Date","Time","DateAdd","DateDiff","Eval",".Error",".Debug",".Wait",".WaitDelay",".WaitNext",".Open",".OpenMemory",".Close",".Input",".LineInput",".Print",".Read",".ReadBytes",".Peek",".Write",".WriteBytes",".Flush",".Lock",".Unlock",".LockWait",".InputFrom",".OutputTo",".ErrorTo","Eof","Lof","Seek",".Kill",".Mkdir",".Rmdir","Even","Odd","Rand",".Move",".Copy",".Link",".Chmod",".Chown",".Chgrp",".MoveKill","Swap","Swap$","IsNan","IsInf","Exist","Access","Stat","Dfree","Temp","Temp$","IsDir","Dir","RDir",".Exec",".Shell","Alloc","Free","Realloc","Str@","String@",".Sleep",".Use",".CheckExec","VarPtr","IsMissing",".Collection","Tr","Tr$","Quote","Quote$","Shell","Shell$","Html","Html$","Base64","Base64$","Url","Url$","UnQuote","UnQuote$","UnBase64","UnBase64$","FromBase64","FromBase64$","FromUrl","FromUrl$","MkBool","MkBool$","MkBoolean","MkBoolean$","MkByte","MkByte$","MkShort","MkShort$","MkInt","MkInt$","MkInteger","MkInteger$","MkLong","MkLong$","MkSingle","MkSingle$","MkFloat","MkFloat$","MkDate","MkDate$","MkPointer","MkPointer$","Bool@","Boolean@","Byte@","Short@","Int@","Integer@","Long@","Single@","Float@","Date@","Pointer@"]
Pero si bien me parece que hacer algo así como un gambas en español o francés o cualquier idioma puede interesar para saber como funciona un interprete, en este caso gambas, o un compilador como GCC no le veo un uso practico porque todo aquel que ya programa ya esta familiarizado con ciertas palabras del inglés y no tiene sentido practico cambiar eso.
Creo que como ejercicio intelectual es interesante pero las aplicaciones practicas no las veo viables, porque agregaría complejidad a la lógica porque en la practica no aumentaría la cantidad de código a la que pudiéramos tener acceso para su estudio sino que todo lo contrario.
Pasaríamos a tener, solo en el caso de gambas:
- "Boolean","Byte","Date","Single","Float","Integer","Long","Short","String","Variant","Object","Pointer","Class","Function","Struct","Const","Private"
- "Booléen", "Octet", "Date", "Simple", "Flottant", "Entier", "Long", "Court", "Chaîne", "Variant", "Objet", "Pointeur", "Classe", "Fonction", "Structure", "Const", "Privé"
- Todos los idiomas
Es decir seria un caos.
Saludos.