El ejecutable compilado debe contener un analizador que pueda leer el código externo del programa . No es necesario que el código del programa se parezca a C, Python o xyz; puede ser cualquier tipo de información descriptiva que sea adecuada para el propósito en cuestión. Por ejemplo sueco o morse.
El código del programa externo debe tener una sintaxis , de modo que el analizador lo entienda mientras lo lee carácter por carácter. La sintaxis puede describir (y el código puede contener) identificadores, valores numéricos, operadores, etc .
El analizador es fijo (compilado) pero funciona en código externo flexible.
El ejecutable compilado debe tener una API interna para su funcionalidad relevante. para que el analizador pueda realizar acciones. Lo más probable es que también haya acceso (bidireccional) a los datos internos del ejecutable, o el analizador debe proporcionar algún tipo de almacenamiento de datos y limpieza.
El analizador puede leer el código del programa externo al inicio del ejecutable , o puede leer (partes de) ad hoc , o puede volver a leerlo por cada cuadro (sería ineficiente), o incluso el código puede escribirse a mano y publicado en el analizador cuando se prepara (como: "mover la unidad X hacia adelante 5 pasos" [enter]).
Esencialmente, el código externo no es fijo ; puede cambiar cualquier año, día o minuto, pero aún así el ejecutable no necesita ser compilado nuevamente. Solo cambia el comportamiento resultante, alojado por el ejecutable.
El texto que está leyendo en este momento es (más o menos, incluso si fue hablado) interpretado porque lo "ejecuta" en su cerebro mientras lo lee, sin saber lo que dice la siguiente oración (o incluso si es posible, cambia a escondidas correctamente) ahora). A diferencia de Stack Overflow (pre) compilando toda la historia en bytecode en sus cerebros, que luego la ejecuta, y ofc entonces ya no podría cambiar más.
El fenómeno en curso es la interpretación. La creación de secuencias de comandos es solo el acto de crear una deSCRIPCIÓN o escritura . Toda la codificación de la computadora es scripting de imo: describimos lo que queremos que suceda. La palabra "scripting" tiene un significado algo inclinado, pero así está bien. Sabemos lo que queremos decir.
No hay absolutamente nada extraordinario con los idiomas interpretados, y de ninguna manera es un término discutible . Existen una multitud de ellos, y algunos de los más antiguos se interpretan como opuestos a compilados. En un lenguaje interpretado, por ejemplo, se podría escribir a mano:
calcetín = Socket.New (AddressFamily.InterNetwork, SocketType.Stream ProtocolType.Tcp) [ENTRAR]
... y luego toma un descanso de café de 30 ... no, 45 minutos :-). Al regresar, existe "calcetín" y está listo para su uso posterior escribiendo más a mano o dejando que la automatización del intérprete continúe con él.