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

Add bindings for other languages #21

Open
14 tasks
pczarn opened this issue May 21, 2016 · 0 comments
Open
14 tasks

Add bindings for other languages #21

pczarn opened this issue May 21, 2016 · 0 comments
Labels

Comments

@pczarn
Copy link
Owner

pczarn commented May 21, 2016

Let's write bindings to as many languages as possible. In no particular order of importance...

  • C
  • C++ through C
  • D
  • C# / .NET
  • Java / JVM
  • Python
  • Lua
  • Ruby
  • Perl
  • Go
  • Swift
  • Javascript through WebAssembly
  • Nim
  • Scala

Up to three parts of Panini can have bindings.

  • the parser generator (the hardest),
  • the engine,
  • the CFG toolkit.

Porting the parser generator is very hard, since code must be generated in other languages. However, we can transpile Rust code through MIR to C. From there, generated parsers can be automatically ported to most languages.

Porting all other functionality is straightforward, but less useful.

@pczarn pczarn added the E-hard label Jun 3, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant