So I've been learning about stack machines, interpreters, compilers and a few other things related to programming languages and their general theory. Most of the stuff I find in books and online are very specialized and talk about one specific topic, e.g. interpreters, with no mention of how it relates to other topics, e.g. partial evaluators. Are there any good beginner resources for exploring the interconnections between interpreters, compilers, and partial evaluators? By good resources I mean something that explains the theory along with concrete implementations. The more I learn about this stuff the more places I see in my day to day work of how all of it can be applied but the lack of beginner friendly resources is a bit of bummer.
Theory of interpreters, partial evaluators, and compilers
320 Views Asked by David K. At
1
There are 1 best solutions below
Related Questions in COMPILER-CONSTRUCTION
- Reference: Crafting Interpreters. Print statement is not able to evaluate expression. Help me fix this (details below)
- Load function written in amd64 assembly into memory and call it
- I have implemented till Statements and State in Tree Walk Interpreter. I am pissed with an error
- Resolve shift/reduction conflict in grammar for expressions in PLY for calls to embedded functions
- Grammar for access to properties and calls to embedded functions
- LLVM code generation causes problems with pointer arithmetic
- what does react compiler mean actually?
- Errors on Recursive Descent Parsing Java
- Java CUP produces Shift-Reduce conflict when parsing a grammar for a C++ type language
- Three-Address-Code (TAC) and Conjunction/Disjunction
- How do I write an implicit cast for my strongly typed interpreter? (C++)
- Yacc parser not reducing specific production rules as intended
- Why is the function version tag consistently "Base" in HDF5 library?
- Sly parser, how are recursively defined types implemented?
- Does a non terminal token need an explicit definition?
Related Questions in INTERPRETER
- Reference: Crafting Interpreters. Print statement is not able to evaluate expression. Help me fix this (details below)
- Resolve shift/reduction conflict in grammar for expressions in PLY for calls to embedded functions
- Why I select inherit global site-packages on Pycharm, nothing happened?
- How to use menhir to parse into a GADT expression?
- PyCharm cannot create Interpreter in Python3
- When using a jupyter notebook in VSCode, the Python interpreter is ignored
- How to share lexical environment with recursive functions in a custom interpreter?
- How do I write an implicit cast for my strongly typed interpreter? (C++)
- 32bit and 64bit python interpreter in one project
- python subprocess calling the local interpreter instead of the linked one
- Handling out of reach environments when implementing an interpreter
- PyCharm: ModuleNotFoundError although module (scipy) is installed
- Matlab: Selectable text in EPS-figures when using latex interpreter and/or importing fonts
- Handling Tuple Values in Word Attributions for Transformers Interpret
- OpenJDK Tracking ReentrantLock lock and unlock
Related Questions in COMPUTATION-THEORY
- Understanding Unary PCP Reduction to a Matching Problem (UPCP)
- Balanced parentheses and brackets, where a closing bracket also closes any outstanding open parentheses (up to the previous open bracket)
- a challenging finite automata - what is the language?
- Optimization - Algorithm for finding load set combination that returns the maximum Von Mises stress
- Unable to create an DPDA that accepts strings in binary notation multiples of 3
- how to find the grammar of this Language?
- Context Free Grammar for L= { a^n b^m c^m d^2n }, where n and m are >= 0
- Complexity/decidability of the "nested maze" problem?
- Maximum sum, min length subset
- DFA for all binary strings having even number of 0's or contains exactly two 1's
- Need a DFA for the alphabets {a,b} such that the language must contain equal and even numbers of a and b
- What is a functional model, sequential model, and concurrent model?
- How to I constract a grammar that generates this language ? (Grammar of type 0)
- What is the flaw in the proof of the countability of the set of finite language?
- Does this DFA satisfy the complement of the given language?
Related Questions in COMPILER-THEORY
- What is the point of the 4 grammars specified in Chomsky hierarchy?
- How does the latest ANTLR4 resolve the "dangling else" ambiguity?
- Why don't most interpreted languages like ruby provide an optional compiler?
- Print integers as strings in mips programs
- Exercise 4.2.8 from "Compilers - Principles, Techniques, & Tools" (a.k.a. Dragon Book)
- Eliminate Left Recursion in a Context Free Grammar
- What is Local and Global optimization in Compiler Design?
- Interpreter and Compiler
- Why can't compilers automatically optimize regular recursion?
- Computing Liveness of Arrays and Other Non-Scalars in Low Level Intermediate Code
- can I reduce executable file size by defining funtions in source code?
- How easy is to find a string that leads to conflict in a SLR(1) parser compared to a LR(1)
- Finding a grammar is not LL(1) without using classical methods and transforming it to LL(1)
- Is this an intermediate representation?
- Writing a Compiler in C
Related Questions in STACK-MACHINE
- Can a stack machine be implemented with `std::stack`?
- Why does the JVM have a separate array of local variables?
- How do Stack Machines and 3AC Machines solve expressions?
- Is PUSH instruction in assembly language a zero address instruction or one address instruction?
- Why jumping into an instruction even if containing a JUMPDEST does not work?
- Are these the smallest possible x86 macros for these stack operations?
- Approximation of PI with Brouncker's formula using a Stack machine
- How to use Data.SBV to help derive correct stack machine implementation?
- How can I pass the result of a method back to the stack in assembly programming?
- How does my instruction know what the address on the operand stack points to?
- Converting SSA to stack machine
- Add nested-function support in a language the based on a stack-machine
- Assembly Stack machine: Exercise with Push/Pop
- How to store variables from Symbol Table Compilers
- Does the processor use more than one stack to separate the call stack from the expression/register stack?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
one project which uses both interpreters, compiler, and partial evaluators is Truffle with Graal. you implement an AST interpreter in the Java Truffle framework and the JIT compiler Graal compiles it. the special thing about it is, that the Truffle language implementation should specialize to a subset of the actual semantics that correspond to the current execution. Graal only produces machine code for this specialized subset and deoptimizes, if previous execution assumptions are invalidated. the framework also inlines through all the AST execution methods, which is then a form of partial evaluation. you can find several papers online or directly have a look at the code.