hi i have a problem but i'm not sure if this post goes here or not. anyway here goes.
i just started a course in chinese and the name is"huibian yuyan sheji" (for those that understand chinese) which translates to "compilation language and design". now i have typed the english translation into google for tutorial sites but i get no sensible result. my question is, is there a course called "compilation language and design" or is it refered to as something else?

i'm sorry if what i said doesnt make much sense, if anyone needs clearification pls let me know.
Thanks!

Dani AI

Generated

Short answer: that course is almost certainly what English programs call "compiler construction" or "compiler/translator design." As suggested, searching for those terms will find the standard textbooks, lecture notes and labs used by universities.

Practical note about using a C++ compiler: there are two separate concerns—how the compiler is implemented, and what the compiler emits. If you implement the compiler in C++ you need a C++ toolchain to build the compiler itself. If your compiler emits C++ (or C) source you can use any standard C/C++ compiler (g++, clang++, etc.) as the backend. If the compiler emits assembly or object code you will also need an assembler/linker or a toolchain (or use LLVM to lower IR to native code). For beginners the easiest routes are an interpreter or a "compile-to-C" approach; modern courses also often teach LLVM as a backend.

A short, practical starter workflow for course exercises:

  • implement a small lexer and parser (or use a generator like ANTLR/flex+bison);
  • build a simple AST and basic semantic checks (types, scope);
  • implement either an interpreter or a code generator that outputs C/C++ or LLVM IR;
  • compile the generated C/IR with a standard toolchain and test incrementally;
  • add runtime support (simple library functions or GC) only when needed.

Good references and online materials: classic theory in the "Dragon Book," practical guides and sample labs on university pages such as the MIT OpenCourseWare compiler materials, and the LLVM documentation for modern backend work. Start very small, test each phase thoroughly, and pick the output strategy (C, assembly, or LLVM) that matches your course assignments and tool familiarity.

Maybe "compiler construction" and "programming language design" are better search terms.

ok thanks...i've gotten a few tutorials. another question, it looks like this compilaion language uses code sort of like that of C++. so can i use any c++ compiler to practice compiling this?

That depends. If the compiler is *written* in C++, you have to use a C++ compiler and an assembler (assuming that the compiler compiles to assembly).

If the compiler compiles *to* C++ and is written in C++, you need a compiler only.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.