decaf-lang / decaf-rs Goto Github PK
View Code? Open in Web Editor NEWThe Decaf compiler, written in Rust
Home Page: https://mashplant.gitbook.io/decaf-doc/
The Decaf compiler, written in Rust
Home Page: https://mashplant.gitbook.io/decaf-doc/
MIPS standard says:
Format: JALR rs (rd = 31 implied)
JALR rd, rs
Restrictions:Register specifiers rs and rd must not be equal, because such an instruction does not have the same effect when reexecuted. The result of executing such an instruction is UNPREDICTABLE.
This restriction permits an exception handler to resume execution by re-executing the branch when an exception occurs in the branch delay slot. ))
However, now $ra can be used like other general purpose registers, which means that it is possible to generate legal instructions like jalr $ra
(equivalent to jalr $ra, $ra
).
Currently, the SPIM simulator covers up the problem, because it can execute jalr $ra
in the way we expect instead of rejecting it.
See Ty::assignable_to
.
See decaf-rs/typeck/src/type_pass.rs:74-80
Some rule functions have name starting with filed_def_
, and maybe it should be field_def_
.
有些函数的名字以 filed_def_
开头,疑似笔误。
class Main {
static void main() {
class Main[] x = new class Main[10];
x[g()].f();
}
static void f() {}
static int g() {
Print("123");
return 1;
}
}
x[g()] should be evaluated but it is not.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.