Home Common Problem What is the system software that can translate source programs written in high-level languages ​​into target programs?

What is the system software that can translate source programs written in high-level languages ​​into target programs?

Jan 22, 2021 pm 05:36 PM
high level language Source program target program Compiler

The system software that can translate a source program written in a high-level language into a target program is a "compiler". A compiler is a translation program implemented using a generative implementation approach; it takes a source program written in a high-level programming language as input, and uses a target program expressed in assembly language or machine language as output.

What is the system software that can translate source programs written in high-level languages ​​into target programs?

The operating environment of this tutorial: Windows 7 system, Dell G3 computer.

The system software that can translate a source program written in a high-level language into a target program is a "compiler".

Compiler, compiling program, also called a compiler, refers to a translation program that translates a source program written in a high-level programming language into an equivalent target program in machine language format. . Compilers are translation programs implemented using a generative implementation approach. It takes a source program written in a high-level programming language as input, and a target program expressed in assembly language or machine language as output. The compiled target program usually also goes through a running stage in order to run with the support of the running program, process the initial data, and calculate the required calculation results.

Features:

The compiler must analyze the source program and then synthesize it into the target program. First, check the correctness of the source program and decompose it into several basic components; secondly, establish corresponding equivalent target program parts based on these basic components. In order to complete these tasks, the compiler must create some tables during the analysis phase and transform the source program into an intermediate language form so that it can be easily referenced and processed during analysis and synthesis.

The main data structures used in data structure analysis and synthesis include symbol tables, constant tables and intermediate language programs. The symbol table consists of the identifiers used in the source program together with their attributes, which include types (such as variables, arrays, structures, functions, procedures, etc.), types (such as integers, real types, strings, complex types, labels) etc.), and other information required by the target program. The constant table consists of the constants used in the source program, including the machine representation of the constants, and the target program addresses assigned to them. An intermediate language program is an intermediate form of program introduced before translating the source program into the target program. The choice of its representation depends on how the compiler will use and process it later. Commonly used intermediate language forms include Polish representation, triples, quadruples, and indirect triples.

Analysis of part of the source program is achieved through three steps: lexical analysis, syntax analysis and semantic analysis. Lexical analysis is completed by a lexical analysis program (also called a scanner), whose task is to identify words (i.e. identifiers, constants, reserved words, and various operators, punctuation marks, etc.), create symbol tables and constant tables, and convert The source program is converted into an internal form that is easy to analyze and process by the compiler. The syntax analyzer is the core part of the compiler. Its main task is to check whether the source program is grammatical according to the grammatical rules of the language. If it is not grammatical, a syntax error message will be output; if it is grammatical, the grammatical structure of the source program will be decomposed and an internal program in the form of intermediate language will be constructed. The purpose of grammatical analysis is to understand how words form sentences and how statements form programs. The semantic analysis program further checks the semantic correctness of legal program structures. Its purpose is to ensure the correct use of identifiers and constants, collect and save necessary information into symbol tables or intermediate language programs, and perform corresponding semantic processing.

Related recommendations: "Programming Learning"

The above is the detailed content of What is the system software that can translate source programs written in high-level languages ​​into target programs?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the characteristics of machine language, assembly language, and high-level language? What are the characteristics of machine language, assembly language, and high-level language? Apr 22, 2021 pm 04:00 PM

Characteristics of machine language: difficult to learn, understand, and understand; not universal; requires manual allocation of memory; and runs fastest. The characteristics of assembly language: the execution efficiency of the program is very high, it takes up little storage space, and it runs fast; it lacks versatility and the program is not easy to transplant. Characteristics of high-level languages: easy, certain versatility, and cannot be directly recognized and executed by computers.

What is the system software that can translate source programs written in high-level languages ​​into target programs? What is the system software that can translate source programs written in high-level languages ​​into target programs? Jan 22, 2021 pm 05:36 PM

System software that can translate source programs written in high-level languages ​​into target programs is a "compiler". A compiler is a translation program implemented using a generative implementation approach; it takes a source program written in a high-level programming language as input, and uses a target program expressed in assembly language or machine language as output.

Is assembly language a high-level language? Is assembly language a high-level language? Jan 30, 2023 pm 03:14 PM

Assembly language is not a high-level language; it is a low-level language like machine language. The difference between assembly language and high-level language: 1. The programming efficiency of assembly language is not high, while the programming efficiency of high-level language is higher than that of assembly language; 2. The readability of high-level language is higher than that of assembly language; 3. Assembly language is a Machine language, while high-level language is simplified and close to human natural language.

Is machine language a high-level language? Is machine language a high-level language? Aug 22, 2023 pm 05:13 PM

Machine language is not a high-level language. It is a low-level language used for computer hardware. It interacts directly with the underlying hardware of the computer. Machine language uses binary encoding to represent instructions and data. Each instruction corresponds to an operation or function of the computer hardware. , High-level language is a programming language that is closer to human language, providing higher abstraction capabilities and development efficiency. Machine language and high-level language play different roles in programming, each with their own advantages and applicable scenarios.

Released the world's first open source Hongmeng-based humanoid robot that supports JS/ArkTS high-level language Released the world's first open source Hongmeng-based humanoid robot that supports JS/ArkTS high-level language Nov 17, 2023 pm 08:07 PM

Kuai Technology reported on November 17 that this morning, Shenzhen Kaihong announced that the first KaihongOS humanoid robot based on the open source Hongmeng, jointly developed by it and Leju Robot, was officially released. According to the official introduction, this is an all-things intelligent teaching system equipped with KaihongOS and using robots as the carrier, covering multiple scenarios such as industry and services. This robot is equipped with a blood oxygen heart rate sensor, temperature and humidity sensor, infrared temperature sensor, human body induction sensor, NFC, OLED display, and LED lights. Through multiple joint sensing, it can intelligently execute decisions. At the same time, the robot can also be interconnected with mobile phones, tablets, computers and other devices in real time, getting rid of the traditional wire harness connection method and improving teaching efficiency. At the same time, this robot also has 17

What is the location of the main function in the c source program? What is the location of the main function in the c source program? Nov 19, 2020 am 11:06 AM

C language stipulates that in a source program, the position of the main function can be arbitrary; when executing a program written in C language, the main function is equivalent to the entrance to the execution program; regardless of the position of the main function in the entire process , a C program always starts execution from the mam function.

Feature analysis of Go language: Is it a high-level language? Feature analysis of Go language: Is it a high-level language? Mar 23, 2024 pm 04:00 PM

Feature analysis of Go language: Is it a high-level language? Go language is a statically strongly typed programming language developed by Google. It is designed to be simple, easy to read and write, and has efficient concurrency features. So, according to the definition of high-level language, let's analyze whether Go language is a high-level language. Definition of high-level language A high-level language is a programming language that is closer to human language than machine language. It has the characteristics of concise syntax, easy to read and write, and high level of abstraction, which allows programmers to focus more on solving the problem itself.

What is the program written in called source program? What is the program written in called source program? Aug 29, 2022 pm 04:47 PM

A program written in a "programming language" is called a source program. Source code refers to an uncompiled text file written according to certain programming language specifications. It refers to a series of human-readable computer language instructions, usually written in a high-level language. The ultimate goal of a computer source program is to translate human-readable text into binary instructions that a computer can execute. This process is called compilation and is completed through a compiler.