Comments (7)
As of c8f22fc, Gluon no longer depends on C++ libraries. The issue is now considered resolved.
from gluon.
To all those who are interested, work has begun on rewriting the C++ parser dependencies in pure Go.
from gluon.
Hi @ljanyst, thanks for your interest in the library and in our products!
I definitely understand your concerns regarding portability and unnecessary complexity. Indeed, we used ANTLR's go target earlier in this project's history, and we already use it in another library used by bridge, see go-rfc5322, but we were forced to switch to C++ because the generated go code was horribly slow.
Longer term, we are interested in investigating better solutions to parsing the IMAP commands, but for now, we will stick with the current approach, as it is the simplest way to get a high quality parser for all of our officially supported architectures.
from gluon.
Thanks for taking a look!
from gluon.
@jameshoulahan Did you take a look at using ragel for this?
from gluon.
@kortschak no I didn't, I wasn't aware of it at the time. What would be the benefits of using it?
from gluon.
It's significantly simpler than antlr.
from gluon.
Related Issues (16)
- Building?
- Please publish ImapTest results HOT 1
- ANTLR grammars HOT 2
- Port to V? HOT 1
- LSUB command does not respect INBOX HOT 1
- Not respecting rfc3501 (imap4rev1) for ABNF syntaxe HOT 2
- Support RFC 5256
- validation rule for RFC5322 headers From and Sender is too strict HOT 3
- 32 bit support HOT 1
- RFC5322 validation prevents importing of previously-received emails HOT 7
- Attempt to merge ProtonMail/go-mbox with upstream emersion/go-mbox
- Flaky tests HOT 1
- logrus supports customization
- Update Gluon's semver to help packaging on musl-based systems
- SCRAM-SHA-1(-PLUS) + SCRAM-SHA-256(-PLUS) + SCRAM-SHA-512(-PLUS) + SCRAM-SHA3-512(-PLUS) supports
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 gluon.