Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overview updates: parser #669

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
44d3fc9
add overview
mark-i-m Mar 26, 2020
fca095d
correct a few links
mark-i-m Mar 28, 2020
198c8d9
Apply Centril suggestions
mark-i-m Apr 3, 2020
95cf60d
[overview.md] Add command line argument parsing, lexer stages, and pa…
chrissimpkins Apr 3, 2020
268cb1f
Update src/overview.md
chrissimpkins Apr 3, 2020
9afb848
Update src/overview.md
chrissimpkins Apr 3, 2020
4dfb4fc
fix old rustc-dev-guide links
mark-i-m Apr 4, 2020
2819e06
Add some entry points
mark-i-m Apr 4, 2020
720db6b
mention the hair
mark-i-m Apr 4, 2020
e721184
mention token stream as an IR
mark-i-m Apr 4, 2020
d47d79a
correct the note about HAIR
mark-i-m Apr 4, 2020
1a4d5eb
Improve description of MIR
mark-i-m Apr 4, 2020
8371ddc
break long sentence
mark-i-m Apr 4, 2020
5540993
add a note on tcx name
mark-i-m Apr 4, 2020
ddecf6c
write a bit about bootstrapping
mark-i-m Apr 4, 2020
17656d2
add a few todos
mark-i-m Apr 4, 2020
67d4d9b
line lengths
mark-i-m Apr 4, 2020
392ffd2
fix links
mark-i-m Apr 4, 2020
e35b046
remove a todo
mark-i-m Apr 4, 2020
9c9cf7f
add an entry point
mark-i-m Apr 4, 2020
8462cd8
Improve wording
mark-i-m Apr 14, 2020
a90e472
fix lexer entry point
mark-i-m Apr 14, 2020
0db4271
[overview.md] add parser entry point links
chrissimpkins Apr 6, 2020
46e549b
add a para on interning and arenas
mark-i-m Apr 14, 2020
8760fbc
add entry points for type check and type inference
mark-i-m Apr 14, 2020
bbc6129
some cleanup
mark-i-m Apr 14, 2020
ab95d00
correct entry points for codegen
mark-i-m Apr 14, 2020
aa1184d
[overview.md] add documentation of lexer support for Unicode encoding
chrissimpkins Apr 6, 2020
4cf7d02
update mono entry points
mark-i-m Apr 14, 2020
d8a3c89
minor wording change on bootstrapping
mark-i-m Apr 14, 2020
3780344
add intrinsics to glossary
mark-i-m Apr 14, 2020
74f5f88
fix links
mark-i-m Apr 14, 2020
2b587b0
[overview.md] add initial parser documentation
chrissimpkins Apr 7, 2020
d023ac7
[overview.md] add lexer updates, parser updates
chrissimpkins Apr 8, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@
- ["Cleanup Crew" ICE-breakers](ice-breaker/cleanup-crew.md)
- [LLVM ICE-breakers](ice-breaker/llvm.md)
- [Licenses](./licenses.md)

- [Part 2: High-level Compiler Architecture](./part-2-intro.md)
- [Overview of the Compiler](./overview.md)
- [The compiler source code](./compiler-src.md)
Expand Down
1 change: 1 addition & 0 deletions src/appendix/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ ICH <div id="ich"/> | Short for incremental compilation ha
infcx <div id="infcx"/> | The inference context (see `librustc_middle/infer`)
inference variable <div id="inf-var"/> | When doing type or region inference, an "inference variable" is a kind of special type/region that represents what you are trying to infer. Think of X in algebra. For example, if we are trying to infer the type of a variable in a program, we create an inference variable to represent that unknown type.
intern <div id="intern"/> | Interning refers to storing certain frequently-used constant data, such as strings, and then referring to the data by an identifier (e.g. a `Symbol`) rather than the data itself, to reduce memory usage and number of allocations. See [this chapter](../memory.md) for more info.
intrinsic <div id="intrinsic"/> | Intrinsics are special functions that are implemented in the compiler itself but exposed (often unstably) to users. They do magical and dangerous things. (See [`std::intrinsics`](https://doc.rust-lang.org/std/intrinsics/index.html))
IR <div id="ir"/> | Short for Intermediate Representation, a general term in compilers. During compilation, the code is transformed from raw source (ASCII text) to various IRs. In Rust, these are primarily HIR, MIR, and LLVM IR. Each IR is well-suited for some set of computations. For example, MIR is well-suited for the borrow checker, and LLVM IR is well-suited for codegen because LLVM accepts it.
IRLO <div id="irlo"/> | `IRLO` or `irlo` is sometimes used as an abbreviation for [internals.rust-lang.org](https://internals.rust-lang.org).
item <div id="item"/> | A kind of "definition" in the language, such as a static, const, use statement, module, struct, etc. Concretely, this corresponds to the `Item` type.
Expand Down
Loading