En informatique, un interprète, ou interpréteur , est un outil dont la tâche est d'analyser, de traduire et d'exécuter les programmes écrits dans un langage informatique. On qualifie parfois, , les langages dont les programmes sont généralement exécutés par un interprète de langages interprétés.
Un interprète se distingue d’un compilateur par le fait qu’il effectue l’analyse et la traduction nécessaires à l'exécution d’un programme donné non pas une fois pour toutes, mais à chaque exécution de ce programme. L’exécution nécessite ainsi de disposer non seulement du programme, mais aussi de l’interprète correspondant.
L'interprétation repose sur l'exécution dynamique du programme par un autre programme (l'interprète), plutôt que sur sa conversion en un autre langage (par exemple le langage machine) ; elle évite la séparation du temps de conversion et du temps d'exécution, qui sont simultanés.
On différencie un programme dit script, d'un programme dit compilé :
un programme script est exécuté à partir du fichier source via un interprète de script ;
un programme compilé est exécuté à partir d'un bloc en langage machine issu de la traduction du fichier source.
Le cycle d'un interprète est le suivant :
lire et analyser une instruction (ou expression) ;
si l'instruction est syntaxiquement correcte, l'exécuter (ou évaluer l'expression) ;
passer à l'instruction suivante.
Ainsi, contrairement au compilateur, l'interprète exécute les instructions du programme (ou en évalue les expressions), au fur et à mesure de leur lecture pour interprétation. Du fait de cette phase sans traduction préalable, l'exécution d'un programme interprété est généralement plus lente que le même programme compilé. La plupart des interprètes n'exécutent plus la chaîne de caractères représentant le programme, mais une forme interne, telle qu'un arbre syntaxique.
En pratique, il existe une continuité entre interprètes et compilateurs. La plupart des interprètes utilisent des représentations internes intermédiaires (arbres syntaxiques abstraits, ou même code octet) et des traitements (analyses lexicale et syntaxique) ressemblant à ceux des compilateurs.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Augmented assignment (or compound assignment) is the name given to certain assignment operators in certain programming languages (especially those derived from C). An augmented assignment is generally used to replace a statement where an operator takes a variable as one of its arguments and then assigns the result back to the same variable. A simple example is x += 1 which is expanded to x = x + 1. Similar constructions are often available for various binary operators.
En informatique, la validation de données est un processus permettant de s’assurer que les données ont subi un tri adéquat afin de ne garder que les données de qualité. Ainsi les données deviennent correctes et utiles. Le processus utilise des routines souvent nommées « règles de validation » ou bien « contraintes de validation » qui vérifient l’exactitude, la signification et la sécurité des données qui sont entrées dans le système de validation.
A very high-level programming language (VHLL) is a programming language with a very high level of abstraction, used primarily as a professional programmer productivity tool. VHLLs are usually domain-specific languages, limited to a very specific application, purpose, or type of task, and they are often scripting languages (especially extension languages), controlling a specific environment. For this reason, very high-level programming languages are often referred to as goal-oriented programming languages.
Explore l'interprétation des modèles, la compilation par l'évaluation partielle, les appels de fonctions et la transition vers l'évaluation partielle, en soulignant l'importance des interprètes modèles pour soutenir les langages de modélisation.
En programmation informatique, un langage de programmation à haut niveau d'abstraction généralement appelé langage de haut niveau est un langage de programmation orienté autour du problème à résoudre, qui permet d'écrire des programmes en utilisant des mots usuels des langues naturelles (très souvent de l'anglais) et des symboles mathématiques familiers. Un langage de haut niveau fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme, tels que les registres et les drapeaux du processeur.
En informatique, un compilateur est un programme qui transforme un code source en un code objet. Généralement, le code source est écrit dans un langage de programmation (le langage source), il est de haut niveau d'abstraction, et facilement compréhensible par l'humain. Le code objet est généralement écrit en langage de plus bas niveau (appelé langage cible), par exemple un langage d'assemblage ou langage machine, afin de créer un programme exécutable par une machine.
Un framework Web ou framework d'application Web est un framework logiciel conçu pour prendre en charge le développement d'applications Web, notamment des services Web, des ressources Web et des API Web. Les frameworks Web fournissent un moyen standard de créer et de déployer des applications Web sur le World Wide Web. Les frameworks Web visent à automatiser les mécanismes les plus courants du développement Web.
Expected subject: [Infoscience] Veuillez vérifier l’affiliation d’une publication Expected body: Bonjour, Une nouvelle publication dans Infoscience a provisoirement été attribuée à votre laboratoire/unité. En tant que lab manager, il vous appartient de con ...
Expected subject: [Infoscience] Please verify the affiliation of a publication Expected body: Hello, A new record in Infoscience has provisionally been assigned to your lab/unit. As lab manager, it is your responsibility to confirm or deny this affiliation ...
We are currently witnessing a shift towards the use of high-level programming languages for systems development. These approaches collide with the traditional wisdom which calls for using low-level languages for building efficient software systems. This sh ...