Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation discussion nyan-rs library #10

Open
simonsan opened this issue May 13, 2020 · 2 comments
Open

Implementation discussion nyan-rs library #10

simonsan opened this issue May 13, 2020 · 2 comments
Labels
discussing Still things to talk about

Comments

@simonsan
Copy link
Contributor

simonsan commented May 13, 2020

2020-05-13_09_16_14-thesis_nyan pdf_-_Adobe_Acrobat_Pro_DC-Screenshot1

This is the component overview of nyan from the master thesis of Jonas Jelten.

An example nyan file you can find here example.nyan

I would propose that we use logos/logos-derive to create our lexer.

Tokens are found in the masters thesis as well on p.40:
2020-05-13 12_54_00-Wayback Machine-Screenshot

For the parsing into some rust structs we can use pest.rs and create a pest-file with parsing expression grammars (or PEG) for nyan as an input.

For the nyan type and value databases we could maybe use a component-graph-system like froggy, create a Rust API and build cdylibs.

Something like Legion and PumpkinDB sound promising as well, but are either pure ECS or lack other features we might want to have. For example PumpkinDB has ACID transactions, but has the last activity 3 years ago.

@simonsan simonsan added the discussing Still things to talk about label May 13, 2020
@simonsan
Copy link
Contributor Author

simonsan commented Sep 30, 2020

Probably also to use C2Rust partly and refactor to/rewrite idiomatic Rust?

https://www.youtube.com/watch?v=WEsR0Vv7jhg

@simonsan
Copy link
Contributor Author

simonsan commented Apr 3, 2023

For the lexer
https://github.com/maciejhirsz/logos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussing Still things to talk about
Projects
None yet
Development

No branches or pull requests

1 participant