L'exécutable compilé doit contenir un analyseur capable de lire le code de programme externe . Le code du programme n'a pas besoin de ressembler à C ou Python ou xyz - il peut s'agir de n'importe quel type de données descriptives qui conviennent à l'objectif en question. Par exemple suédois ou morse.
Le code du programme externe doit avoir une syntaxe , de sorte que l'analyseur le comprenne lorsqu'il le lit caractère par caractère. La syntaxe peut décrire (et numéro) peut contenir des identificateurs, des valeurs numériques, des opérateurs , etc .
L'analyseur est fixe (compilé) mais il fonctionne sur du code externe flexible.
L'exécutable compilé doit avoir une API interne pour ses fonctionnalités pertinentes. afin que l'analyseur puisse effectuer des actions. Très probablement, il doit également y avoir un accès (bidirectionnel) aux données internes de l'exécutable, ou l'analyseur doit fournir une sorte de stockage de données et d'entretien ménager.
L'analyseur peut lire le code du programme externe au démarrage de l'exécutable , ou il peut le lire (en partie) ad hoc , ou il peut le relire pour chaque trame (serait inefficace), ou le code peut même être tapé à la main et affiché sur l'analyseur au fur et à mesure qu'il se prépare (comme: "déplacer l'unité X de 5 pas vers l'avant" [entrer]).
Essentiellement, le code externe n'est pas fixe - il peut changer n'importe quelle année, jour ou minute, mais l'exécutable n'a pas besoin d'être recompilé. Seul le comportement résultant, hébergé par l'exécutable, change.
Le texte que vous lisez en ce moment est (en quelque sorte, et encore plus s'il a été prononcé) interprété parce que vous "l'exécutez" dans votre cerveau tout en le lisant, sans savoir ce que dit la prochaine phrase (ou même si elle change peut-être sournoisement à droite à présent). Contrairement à Stack Overflow (pré) compilant toute l'histoire en bytecode dans votre cerveau, qui l'exécute ensuite - et bien sûr, cela ne pourrait plus changer.
Le phénomène en cours est l'interprétation. Le script n'est que l'acte de créer une description ou d' écrire . Tout le codage informatique est un script imo - nous décrivons ce que nous voulons faire. Le mot "scripting" a une signification quelque peu inclinée, mais alors ça va. Nous savons ce que nous voulons dire.
Il n'y a absolument rien d'extraordinaire avec les langues interprétées, et ce n'est en aucun cas un terme contestable . Il en existe une multitude et certaines des plus anciennes sont interprétées plutôt que compilées. Dans un langage interprété, on pourrait par exemple taper à la main:
sock = Socket.New (AddressFamily.InterNetwork, SocketType.Stream ProtocolType.Tcp) [ENTRER]
... et partez pour une pause café de 30 ... non, 45 minutes :-). Au retour, "sock" existe et est prêt pour une utilisation ultérieure en tapant plus à la main ou en laissant l'automatisation de l'interpréteur continuer avec.