Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/p7g/llvm-lang
playing around with llvmlite and PLY
https://github.com/p7g/llvm-lang
Last synced: 9 days ago
JSON representation
playing around with llvmlite and PLY
- Host: GitHub
- URL: https://github.com/p7g/llvm-lang
- Owner: p7g
- Created: 2020-02-05T02:47:31.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-01-21T20:15:29.000Z (almost 3 years ago)
- Last Synced: 2024-11-09T03:19:45.226Z (2 months ago)
- Language: Python
- Size: 123 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# llvm-lang
Playing around with [PLY][ply] and [llvmlite][llvmlite].
The classes in [`llvm_lang/types`][types] hold information needed to generate
LLVM types later. These classes will be instantiated during a pass after
parsing probably, and then used later in codegen.[ply]: http://www.dabeaz.com/ply/ply.html
[llvmlite]: https://github.com/numba/llvmlite
[types]: https://github.com/p7g/llvm-lang/tree/master/llvm_lang/typesThe passes are likely to be as follows:
1. Lex/parse with PLY, building AST
1. Do some basic semantic checks on the AST, like `break` statements outside of
loops
1. Verify type information
1. Optimize a bit, stuff like constant folding and dead code elimination if
possible
1. Generate LLVM IR