blanketglossary

Interpreter (computing)

Definition

In computing, an interpreter is software that executes source code without first compiling it to machine code. An interpreted runtime environment differs from one that processes CPU-native executable code which requires translating source code before executing it. An interpreter may translate the source code to an intermediate format, such as bytecode. A hybrid environment may translate the bytecode to machine code via just-in-time compilation, as in the case of .NET and Java, instead of interpreting the bytecode directly.

Related concepts

.NETACM Computing Classification SystemALGOLAbstract syntax treeAhead-of-time compilationAlgorithmAlgorithm designAlgorithmic efficiencyAnalysis of algorithmsAndroid RuntimeApplication securityArs TechnicaArtificial intelligenceAugmented realityAutomata theoryAutomated planning and schedulingBASICBASIC interpreterBEAM (Erlang virtual machine)ByteBytecodeC++COBOLCPUCPythonC (programming language)ClangCommand-line interfaceCommon Language RuntimeCommunication protocolCompile and go systemCompile timeCompilerCompiler constructionCompilersCompilingComputability theoryComputational biologyComputational chemistryComputational complexityComputational complexity theoryComputational engineeringComputational geometryComputational intelligenceComputational mathematicsComputational physicsComputational problemComputational social scienceComputer accessibilityComputer animationComputer architectureComputer data storageComputer graphicsComputer hardwareComputer networkComputer programComputer programsComputer scienceComputer securityComputer visionComputingComputing platformConcurrency (computer science)Concurrent computingControl flowControl tableControl theoryCross-validation (statistics)Crt0CryptographyCyber-physical systemCyberwarfareData miningDatabaseDecision support systemDependabilityDigital artDigital libraryDigital marketingDiscrete mathematicsDistributed artificial intelligenceDistributed computingDocument management systemDomain-specific languageDynamic compilationDynamic recompilationE-commerceEducational technologyElectronic design automationElectronic publishingElectronic votingElectronicsEmacs LispEmbedded systemEmulatorEnterprise information systemEnterprise softwareExecutableExecutable codeExecution (computers)Execution (computing)Fault toleranceForm factor (design)Formal languageFormal methodsForth (programming language)FortranFree On-line Dictionary of ComputingGNU Compiler CollectionGNU Free Documentation LicenseGeographic information systemGlasgow Haskell CompilerGraphics processing unitGreen computingHackers & PaintersHardware accelerationHardware securityHealth informaticsHomoiconicityHuman-centered computingHuman–computer interactionIBM 704Image compressionIndustrial process controlInformation retrievalInformation securityInformation systemInformation theoryIntegrated circuitIntegrated development environmentInteraction designIntermediate representationIntrusion detection systemJava (programming language)Java virtual machineJohn McCarthy (computer scientist)Jump tableJust-in-time compilationKeyword (computer programming)Knowledge representation and reasoningLLVMLexical analysisLibrary (computing)Linker (computing)Lisp (programming language)Lisp programming languageList of computer size categoriesLogic in computer scienceLuaJITMATLABMachine codeMachine learningMathematical analysisMathematical optimizationMathematical softwareMeta-circular evaluatorMeta-tracingMichael FranzMicrocodeMicrosoft Visual C++MiddlewareMilitärverlag der Deutschen Demokratischen RepublikMobile computingModel of computationModeling languageMono (software)Multi-task learningMultimedia databaseMultiprocessingMultithreading (computer architecture)Natural language processingNetwork architectureNetwork performanceNetwork schedulerNetwork securityNetwork serviceNetworking hardwareNode.jsNumerical analysisObject codeObjective-COpen FirmwareOpen sourceOperating systemOperations researchOptimizing compilerOutline of computer sciencePBASICParallel computingParserPartial evaluationPaul Graham (programmer)PeripheralPerlPhilosophy of artificial intelligencePhotograph manipulationPrecompilationPrinted circuit boardProbabilityProcessor (computing)Programming languageProgramming language theoryProgramming paradigmProgramming teamProgramming toolPyPyPython (programming language)Quantum computingRadio-fernsehn-elektronikRaku (programming language)Randomized algorithmRead–eval–print loopReal-time computingReinforcement learningRendering (computer graphics)Requirements analysisRuby (programming language)Runtime environmentRuntime performanceRuntime systemSandbox (computer security)Script languageSecurity hackerSecurity service (telecommunication)Self-modifying codeSemantics (computer science)Social computingSocial softwareSoftwareSoftware bugSoftware compatibilitySoftware configuration managementSoftware constructionSoftware deploymentSoftware designSoftware developmentSoftware development processSoftware engineeringSoftware frameworkSoftware maintenanceSoftware qualitySoftware repositorySolid modelingSource-to-source compilerSource codeStatisticsSteve Russell (computer scientist)Stochastic computingSupervised learningSwift (programming language)System on a chipTheoretical computer scienceTheory of computationThreaded codeToken threadingTracing just-in-time compilationTranslator (computing)Ubiquitous computingUnified Modeling LanguageUnsupervised learningV8 (JavaScript engine)Variable-length codeVery-large-scale integrationVideo gameVirtual machineVirtual realityVirtualizationVisualization (graphics)Wireless sensor networkWord processorWorld Wide WebZend Engine

14 concepts already in your glossary