Giter Club home page Giter Club logo

Comments (15)

kortschak avatar kortschak commented on September 24, 2024 1

I may have time, but this issue going away would have made sure I would forget.

from gfa-spec.

sjackman avatar sjackman commented on September 24, 2024

Hmmm. Yes, that it is a tad confusing. The simplest fix would be an explanatory comment indicating that an asterisk * on its own separated by white space is the literal terminal *, whereas an asterisk immediately following another terminal without white space is the zero-or-more repetition operator.

I wouldn't myself be opposed to migrating to EBNF. Standards are good, and this is a standard after all. =p It would need to be proposed and pass with a vote. See Criteria for merging a pull request #16

from gfa-spec.

kortschak avatar kortschak commented on September 24, 2024

The short term solution would be to quote literals.

from gfa-spec.

sjackman avatar sjackman commented on September 24, 2024

What do you propose for more complex terminals?

For example

<tag>       <- [A-Za-z0-9][A-Za-z0-9]:[ABHJZif]:[ -~]*
    <pos>       <- <int>{$}
    <int>       <- {-}[0-9]+

becomes

<tag>       <- [A-Za-z0-9][A-Za-z0-9]":"[ABHJZif]":"[ -~]*
    <pos>       <- <int>{"$"}
    <int>       <- {"-"}[0-9]+

To my eyes that's not more readable.

I suggest that we use [*] to represent a literal *, which is a character set of the single character *. It's consistent, and resolves the ambiguity. For example

<gap>      <- G <gid:opt_id> <sid1:ref> <sid2:ref> <dist:int> ([*] | <var:int>) <tag>*

I'd also suggest adding a text clarification.

 * zero-or-more
 + one-or-more
 [] a set of one character alternatives.
 [*] the literal asterisk character

Feel free to open a pull request if you agree.

from gfa-spec.

kortschak avatar kortschak commented on September 24, 2024

Yeah, if quotes are required around literals, then white space can be used to separate tokens. This is what EBNF does. A half-way with lighter-on-the-page syntax would be to use single quote only where it's needed to disambiguate a character (I don't like a single member character group, though that's an aesthetic thing that maybe I should get over).

from gfa-spec.

sjackman avatar sjackman commented on September 24, 2024

Since we're not using quotes around other literals, I feel like it would be inconsistent and confusing to use quotes around just one literal, namely "*". I don't much like single member character groups either, but in this case, I think it's the least worst of the options.

from gfa-spec.

stale avatar stale commented on September 24, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

from gfa-spec.

kortschak avatar kortschak commented on September 24, 2024

bot bump

from gfa-spec.

sjackman avatar sjackman commented on September 24, 2024

@kortschak Are you interested in opening a PR that uses the single member character group [*]?

from gfa-spec.

stale avatar stale commented on September 24, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

from gfa-spec.

kortschak avatar kortschak commented on September 24, 2024

Having a stale bot clear away issues that remain relevant is IMHO a bad approach to good software maintenance.

from gfa-spec.

sjackman avatar sjackman commented on September 24, 2024

We close issues that no one is actively working on. Feel free to open a PR as suggested above in #80 (comment).

from gfa-spec.

kortschak avatar kortschak commented on September 24, 2024

Yeah, I understand that, I just don't think it's a sensible approach. Closed issues lead to non-work. At the moment, I'm not able to spend the time doing this. With a closed issue, no-one else will either. Issues are for neatness, they're for keeping track of what should be done.

from gfa-spec.

sjackman avatar sjackman commented on September 24, 2024

Not all issues will eventually be addressed. Professional projects have project managers to triage and decide which issues will be addressed. In open source, unless someone volunteers their time to address the issue, the issue will not be addressed. Issues that are not important enough for anyone to volunteer to fix will not be fixed and are closed.

from gfa-spec.

kortschak avatar kortschak commented on September 24, 2024

OK. As the/a maintainer of a few open source projects I find that an odd approach, but this it your project.

from gfa-spec.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.