Home Common Problem What does a high-level language compiler belong to?

What does a high-level language compiler belong to?

Dec 03, 2020 pm 01:50 PM
high level language Compiler

Compilers of high-level languages ​​belong to system software. System software includes the operating system and a series of basic tools, such as compiler, database management, memory formatting, file system management, user authentication, driver management, network connection, etc. It is a tool that supports the normal operation of the computer system and enables users to That part of the software that operates.

What does a high-level language compiler belong to?

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

Compilers of high-level programming languages ​​are general-purpose software.

High-level language

Computer language is divided into high-level language and low-level language. High-level language is mainly relative to assembly language. It is programming that is closer to natural language and mathematical formulas. It is basically separated from the hardware system of the machine and writes programs in a way that is easier for people to understand. The program written is called the source program.

High-level language does not refer to a specific language, but includes many programming languages, such as popular java, c, c, C#, pascal, python, lisp, php, prolog, FoxPro, Easy Language, Chinese version of C language, etc. The syntax and command format of these languages ​​are different.

High-level language has nothing to do with the computer's hardware structure and instruction system. It has stronger expression ability, can easily express data operations and program control structures, can better describe various algorithms, and is easy to Learn to master. However, the program code generated by high-level language compilation is generally longer than the program code designed in assembly language, and the execution speed is also slower. Therefore, assembly language is suitable for writing programs that require high speed and code length and programs that directly control hardware. High-level languages, assembly language, and machine language are all languages ​​used for writing computer programs.

High-level language programs "cannot see" the hardware structure of the machine and cannot be used to write system software or device control software that directly accesses the machine's hardware resources. To this end, some high-level languages ​​provide calling interfaces with assembly language. A program written in assembly language can be used as an external procedure or function in a high-level language, using the stack to pass parameters or the address of parameters.

Compiler

Compiler, compiling program, also known as compiler, refers to a program written in a high-level programming language A translation program that translates a source program 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.

The basic function of the compiler is to translate the source program (high-level language) into the target program.

System software

System software refers to a system that controls and coordinates computers and external devices and supports the development and operation of application software. It is a system that does not require users A collection of various intervening programs whose main function is to schedule, monitor and maintain the computer system; responsible for managing various independent hardware in the computer system so that they can work in harmony. System software allows computer users and other software to treat the computer as a whole without having to consider how the underlying hardware works.

Generally speaking, system software includes the operating system and a series of basic tools (such as compilers, database management, memory formatting, file system management, user authentication, driver management, network connection, etc. ).

The representative system software is:

1. Operating system

The operating system manages the computer's hardware devices so that application software can be convenient and Use these devices efficiently. Common ones on microcomputers include: DOS, WINDOWS, UNIX, OS/2, etc.

The most important and basic among computer software is the operating system (OS). It is the lowest level software. It controls all programs running on the computer and manages the resources of the entire computer. It is the bridge between the bare metal of the computer, applications and users. Without it, users cannot use a certain software or program.

The operating system is the control and management center of the computer system. From a resource perspective, it has four functions: processor, memory management, device management, and file management.

Commonly used systems include DOS operating system, WINDOWS operating system, UNIX operating system, Linux, Netware and other operating systems.

2. Language processing program

Compiled software The CPU only completes a very simple operation for each instruction executed. A system software or application software requires thousands or even hundreds of millions of A combination of instructions. Writing software directly using basic instructions is an extremely arduous and difficult task.

Computers can only directly recognize and execute machine language. Therefore, if you want to run high-level language programs on your computer, you must be equipped with a program language translation program. The translation program itself is a set of programs, and different high-level languages ​​have corresponding translation programs. .

Language processing programs such as assembly language assembler, C language compiler, connector, etc.

In order to improve efficiency, people specified a new set of instructions, called a high-level language, in which each instruction completes an operation. This operation is simple and basic relative to the overall function of the software, and It is complex compared to a single operation of the CPU. Writing programs (called source programs) in this high-level language is like using prefabricated panels instead of bricks to build a house. It is much more efficient. However, the CPU cannot directly execute these new instructions. You need to write a software specifically to translate each instruction in the source program into a series of basic instructions (also called machine language) that the CPU can accept, so that the source program can be converted into something that can be used on the computer. program running on it. Software that completes this translation is called high-level language compilation software, and they are usually classified as system software. Currently commonly used high-level languages ​​include VB, C, JAVA, etc. Each of them has its own characteristics and is suitable for writing a certain type of program. They all have their own compilation software.

3. Database management

The database management system stores large amounts of data in an organized and dynamic manner, allowing people to use these data conveniently and efficiently.

Database management system is a large-scale software that manipulates and manages databases and is used to establish, use and maintain databases.

Foxpro, Access, Oracle, Sybase, DB2 and Informix are database systems.

4. Auxiliary programs

System auxiliary processing programs are also called "software development tools", "support software" and "software tools". They mainly include editing programs, debugging programs, equipment and Linker, debugger.

Free programming language video tutorials: Programming videos

The above is the detailed content of What does a high-level language compiler belong to?. 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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

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)

Hot Topics

Java Tutorial
1663
14
PHP Tutorial
1263
29
C# Tutorial
1237
24
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.

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.

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 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

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 system software that can process high-level language source programs into target programs? What is the system software that can process high-level language source programs into target programs? Jul 26, 2022 pm 02:58 PM

System software that processes high-level language source programs into target programs is a "compiler." 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. The work process of a compiler translating a source program into a target program is divided into five stages: lexical analysis; syntax analysis; intermediate code generation; code optimization; target code generation; mainly lexical analysis and syntax analysis, also known as source program Analysis, if any grammatical errors are found during the analysis, a prompt message will be given.

What does a high-level language compiler belong to? What does a high-level language compiler belong to? Dec 03, 2020 pm 01:50 PM

High-level language compilers are system software. System software includes the operating system and a series of basic tools, such as compiler, database management, memory formatting, file system management, user authentication, driver management, network connection, etc. It is a tool that supports the normal operation of the computer system and enables users to That part of the software that operates.