Comments (6)
Maybe I've do the later, something similar to https://github.com/EricLBuehler/Kestrel-Programming-Language/blob/37e0aa92dc4caade16e143b3f0484ef16c1320c9/src/codegen/mod.rs#L66C1-L78C1
from inkwell.
Yes, this is what I did. I just store the pointer to the binding.
However, you must be careful to not reference it after it goes out of scope (use after free).
In my newer programming language (Kestrel, which is not Kestrel Programming Language :) ), I set the name of all instructions and blocks to "". This allows Inkwell to automatically number all elements.
from inkwell.
In summary, you have to store some sort of Namespace struct that contains the type, name and pointer value of the binding.
from inkwell.
I see, can you share the link to the repo of "Kestrel", I want to see some reference impl. Also where can I text you if I want to ask questions?
from inkwell.
Of course, here it is: https://github.com/EricLBuehler/kestrel.
If you have any questions, feel free to raise an issue!
from inkwell.
You might notice that I have implemented a MIR - my own LLVM-esque code. It allows the borrow checker I wrote to analyze the code.
from inkwell.
Related Issues (20)
- Can't create declaration for intrinsic with a pointer parameter
- Inkwell cannot be built on MacOS
- Mystery compilation errors with x86_64-unknown-linux-musl compilation target HOT 1
- Can I add an feature wich isn't in normal LLVM? HOT 4
- Const ints have no support for anything bigger than 128 bits HOT 2
- Struct GEPPointee error when attempting to access struct field.
- Cargo fails due to missing features HOT 2
- Most (all?) passes have a maximum LLVM version number of 16. HOT 1
- Build failing on Mac OS HOT 2
- `get_string_constant` is invalid
- Provide a `Context` method to construct `ArrayType` and `FunctionType` HOT 1
- CI segfaults on older LLVM versions HOT 5
- Building GEP instruction shouldn't be unsafe HOT 2
- Question: writing a backend with inkwell? HOT 3
- Unsoundness in `MemoryBuffer::create_from_memory_range` HOT 1
- llvm 18 not working on inkwell 0.4.0? HOT 3
- Implement safe API for operand bundles manipulation HOT 1
- Support llvm-sys 181.1.1? HOT 1
- How do i even install llvm for this (pacman llvm does not work)? HOT 2
- Inkwell crashes in LLVM if receiving NULL-terminated string
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from inkwell.