Questions and Verified Answers |
Already Graded A+
What does the compiler take as input and produce as output? - 🧠ANSWER
✔✔Source program text - the source language, and outputs program target
for the machine - the target language
What is the difference between a compiler and an interpreter? - 🧠ANSWER
✔✔A compiler takes source language and outputs target language, which
is then executed accepting input and producing output. Interpreters don't
produce a target program as a translation, and instead appear to directly
take execute the operations specified in the source program on inputs
supplied by the user
What is LLVM? - 🧠ANSWER ✔✔set of libraries containing the clang
compiler, and C/C++/Objective-C compilers. Introduced to allow reuse of
the parser, for example, from a static compiler. Implements statically and
runtime compiled languages.
COPYRIGHT©JOSHCLAY 2025/2026. YEAR PUBLISHED 2025. COMPANY REGISTRATION NUMBER: 619652435. TERMS OF USE. PRIVACY
1
STATEMENT. ALL RIGHTS RESERVED
, LLVM allows you to provide a front and back-end and the LLVM optimiser
takes your AST and produces LLVM intermediate representation.
Give a flowchart of a language-processing system - 🧠ANSWER ✔✔source
program -> PREPROCESSOR -> modified source code -> COMPILER ->
target assembly program -> ASSEMBLER -> relocatable machine code ->
LINKER/LOADER -> target machine code
Describe the four stages of the Slang front end. What is the difference
between the Parsed AST and Internal AST? What does static.ml do? -
🧠ANSWER ✔✔We input the slang file, which is then parsed using LEX and
YACC. We then get a parsed AST Past.expr and do static analysis,
checking types, context-sensitive rules and resolve overloaded operators.
Then we remove syntactic sugar, file loc info and types. Then we get an
intermediate AST (Act.expr).
Parsed AST has expr as Boolean of loc * bool for example.
Locations are used for errors.
COPYRIGHT©JOSHCLAY 2025/2026. YEAR PUBLISHED 2025. COMPANY REGISTRATION NUMBER: 619652435. TERMS OF USE. PRIVACY
2
STATEMENT. ALL RIGHTS RESERVED