Comments (3)
For some context, converging on the language syntax will probably mean that they have to write their own parser instead of depending on the python stdlib parser. IMHO, reliance on the stdlib parser was one of the things holding the language back and even encouraging patterns of corner-cutting that led to bad engineering practices. It would be great if the python vyper was willing to write a custom parser, but it might be a big ask.
from fe.
The official Vyper grammar is located here: https://github.com/vyperlang/vyper/blob/master/tests/grammar/vyper.lark
Edit: I am working on an update to streamline the grammar a lot vyperlang/vyper#1827
from fe.
The eventual idea is that if it's good enough to pass test suite, it should be good enough to start on a refactor of the compiler front end. I would eventually like to move to Lark fully: https://github.com/fubuloubu/vyper-redux/blob/master/vyper/ast.py#L229 details an idea of how this might look
from fe.
Related Issues (20)
- Implement `std::abi` and use in Fe v2 to provide Contract ABI support
- The fe test command should default to run from the project directory
- Test with assert string panics HOT 1
- Reconsider salsa recovery fn usage
- [FOLLOW UP] Type system
- Failed to Verify Contract HOT 3
- Unexpected event in ABI for compiler v0.26.0 on macOS
- Using fe build without a path should defaut to the root project directory just like fe test does
- Can't run Fe language on M2 MacOS Ventura: bad CPU type in executable HOT 2
- internal error: entered unreachable code', crates/parser/src/lexer/token.rs:313:22
- internal parser error at crates/parser/src/parser.rs:186:9
- Panic due to result::unwrap() called on an `Err` value: TypeError(DiagnosticVoucher(PhantomData<()>)) at crates/analyzer/src/namespace/items.rs:1918:64 HOT 2
- Panic in dependency (Salsa) due to no value set for FileContentQuery(SourceFileId(4294967295))
- Allow ingot dependencies to be resolved via git, ipfs etc HOT 2
- Yul codegen should use relooper algorithm
- Add support for transient storage HOT 4
- Github
- Add support for specifying generic arg in path segment
- Add `usize` and `isize` as a primitive type HOT 7
- [FOLLOW UP] Type check
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 fe.