New light syntax

Open
#45 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
compilers

Research direction

Start by finding where the current light ELEMENT: block form is recognised — the grammar/parser classes in this C# library — and the tests that cover the light syntax, since the issue names neither. Reading those will show whether the change belongs in the tokenizer, the block parser, or both, and how optional commas interact with the existing separator rules. Done means both the colon form and the parenthesised form parse, commas are accepted but no longer required, and the existing syntax tests still pass alongside new ones for the parenthesis variant. The open question of whether to keep the old form is worth settling with a maintainer before writing code.

Written by the indexing model from the issue text.

Description

good first issue usability

What we have now

The light syntax is currently

ELEMENT:
   element1,
   element2,
   ...,
   elementN;

What i propose

Add a parenthesis syntax to conform more to the notion of a block:

ELEMENT (
   element1
   element2
   ...
   elementN
)

Also make it so that comas , are not mandatory anymore.

Dominant language
C#
Stars
0
Forks
0
Avg merge
3d 4h
Merged PRs (30d)
5

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Natvs/Nt.SyntaxParser

All issues in Natvs/Nt.SyntaxParser

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.