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

Vyaakaran CLI #16

Open
blenderskool opened this issue Jun 22, 2024 · 5 comments
Open

Vyaakaran CLI #16

blenderskool opened this issue Jun 22, 2024 · 5 comments
Labels
enhancement New feature or request FOSS Hack Good issues for FOSS Hack participants

Comments

@blenderskool
Copy link
Owner

A CLI tool over the existing Vyaakaran compiler which exposes similar functionality to the Vyaakaran editor.
The CLI tool would take source grammar file as input and generate an output based on the type of grammar:

  • Regular Grammar: Regular Expression, ε-NFA and NFA graphs.
  • Context Free Grammar: LL(1), LR(0), SLR(1), LR(1), LALR(1) parse tables, parsing automaton, first & follow sets.
  • Turing Machine: State Transition Diagram.
  • Console: test and strings command from the console that would work for all the above grammar types.

For someone interested to work on this:

  • Go through the compiler and editor code to familiarize yourself with various functions exposed by compiler to process grammars.
  • Create a new cli directory at the root of the project and add it to the pnpm-workspace.yaml file.
  • Initialise a new Node.js project with TypeScript. You can add @vyaakaran/compiler as a dependency in the cli project to use all the functions exposed by the compiler.
  • You are free to develop the compiler however you want with whatever libraries you want. Take inspiration from other popular CLI tools as a reference.
  • Usability and the structure of the commands exposed by the CLI is important.
  • CLI should be extensible in the future for different grammars, different outputs and any new options.
  • Help descriptions for every command in the CLI must be added.
  • Well formatted outputs with appropriate colors for error messages would be appreciated.
@blenderskool blenderskool added enhancement New feature or request FOSS Hack Good issues for FOSS Hack participants labels Jun 22, 2024
@yogesh1801
Copy link

Hi, would like to work on the issue. Do i need to submit proposals?

@blenderskool
Copy link
Owner Author

@yogesh1801 Sure you can pick this up. Are you participating in FOSS Hack?
Do share how you plan to build the CLI, what libraries will you use, how would the commands look like, etc.

@yogesh1801
Copy link

Yes me and my team are participating in foss hack.
We will make a proposal and send it you soon.
Is there any community or dicussion group? I could not find one.

@blenderskool
Copy link
Owner Author

blenderskool commented Jun 27, 2024

@yogesh1801 There is a discussion thread here – #17 where you can post your ideas as a new comment.

@blenderskool
Copy link
Owner Author

@yogesh1801 Are you working on this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request FOSS Hack Good issues for FOSS Hack participants
Projects
None yet
Development

No branches or pull requests

2 participants