https://github.com/apt1002/pushparse
https://github.com/apt1002/pushparse
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/apt1002/pushparse
- Owner: apt1002
- License: bsd-2-clause
- Created: 2024-01-04T01:55:42.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-27T21:11:31.000Z (over 1 year ago)
- Last Synced: 2025-03-04T04:41:39.877Z (over 1 year ago)
- Language: Rust
- Size: 66.4 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Push Parser library
I have abandoned this project in favour of [welly-parser]. I think it could still be completed, but it is unnecessarily difficult in Rust's type system. Maybe the idea will be useful to somebody one day.
[welly-parser]: https://github.com/apt1002/welly-parser
# Previous README
`pushparse` library for writing push parsers.
A push parser is one where the input stream is the caller and the output stream is the callee. For example, the caller might be a loop that reads a line of input and feeds it byte by byte into the parser, and the callee might be a handler that executes the code that the parser produces.
For parsing entire files, a push parser has no great advantages over a more conventional pull parser. However, it does have atvantages when parsing streams. Examples of streams include interactive sessions, communication protocols, real time data, and very large files.