An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 2.4% on proxy.golang.org
Top 0.7% dependent packages on proxy.golang.org
Top 0.9% dependent repos on proxy.golang.org
Top 4.5% forks on proxy.golang.org

proxy.golang.org : github.com/prataprc/goparsec

Package parsec provides a library of parser-combinators. The basic idea behind parsec module is that, it allows programmers to compose basic set of terminal parsers, a.k.a tokenizers and compose them together as a tree of parsers, using combinators like: And, OrdChoice, Kleene, Many, Maybe. To begin with there are four basic Types that needs to be kept in mind while creating and composing parsers, Scanner, an interface type that encapsulates the input text. A built in scanner called SimpleScanner is supplied along with this package. Developers can also implement their own scanner types. Following example create a new instance of SimpleScanner, using an input text: Nodify, callback function is supplied while combining parser functions. If the underlying parsing logic matches with i/p text, then callback will be dispatched with list of matching ParsecNode. Value returned by callback function will further be used as ParsecNode item in higher-level list of ParsecNodes. Parser, simple parsers are functions that matches i/p text for specific patterns. Simple parsers can be combined using one of the supplied combinators to construct a higher level parser. A parser function takes a Scanner object and applies the underlying parsing logic, if underlying logic succeeds Nodify callback is dispatched and a ParsecNode and a new Scanner object (with its cursor moved forward) is returned. If parser fails to match, it shall return the input scanner object as it is, along with nil ParsecNode. ParsecNode, an interface type encapsulates one or more tokens from i/p text, as terminal node or non-terminal node. If input text is going to be a single token like `10` or `true` or `"some string"`, then all we need is a single Parser function that can tokenize the i/p text into a terminal node. But our applications are seldom that simple. Almost all the time we need to parse the i/p text for more than one tokens and most of the time we need to compose them into a tree of terminal and non-terminal nodes. This is where combinators are useful. Package provides a set of combinators to help combine terminal parsers into higher level parsers. They are, All the above mentioned combinators accept one or more parser function as arguments, either by value or by reference. The reason for allowing parser argument by reference is to be able to define recursive parsing logic, like parsing nested arrays: Parsers for standard set of tokens are supplied along with this package. Most of these parsers return Terminal type as ParseNode. All of the terminal parsers, except End and NoEnd return Terminal type as ParsecNode. While End and NoEnd return a boolean type as ParsecNode. This is an experimental feature to use CSS like selectors for quering an Abstract Syntax Tree (AST). Types, APIs and methods associated with AST and Queryable are unstable, and are expected to change in future. While Scanner, Parser, ParsecNode types are re-used in AST and Queryable, combinator functions are re-implemented as AST methods. Similarly type ASTNodify is to be used instead of Nodify type. Otherwise all the parsec techniques mentioned above are equally applicable on AST. Additionally, following points are worth noting while using AST,

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/prataprc/goparsec
Keywords: golang , parsec , parser , parser-combinators , parsercombinator
License: Apache-2.0
Latest release: over 3 years ago
First release: almost 8 years ago
Namespace: github.com/prataprc
Dependent packages: 41
Dependent repositories: 37
Stars: 252 on GitHub
Forks: 26 on GitHub
Docker dependents: 1
Docker downloads: 12
See more repository details: repos.ecosyste.ms
Last synced: 4 days ago

Top 6.0% on proxy.golang.org
github.com/luthersystems/elps v1.16.8
Command elps is a frontend for an embedded list processing system.
27 versions - Latest release: about 1 year ago - 1 dependent package - 2 dependent repositories - 21 stars on GitHub
Top 3.9% on proxy.golang.org
github.com/couchbase/indexing v0.0.0-20240124145641-1c0202f16655
Couchbase Indexes
77 versions - Latest release: over 1 year ago - 4 dependent packages - 5 dependent repositories - 35 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/allukaZod/goflow v0.3.9
just like pipeline for data
38 versions - Latest release: over 1 year ago - 0 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/allukazod/goflow v0.3.9
just like pipeline for data
38 versions - Latest release: over 1 year ago - 0 stars on GitHub
Top 9.8% on proxy.golang.org
github.com/heyrutvik/aoc2023 v0.0.0-20231211055639-621453dd6c68
Advant of Code 2023 Solutions
1 version - Latest release: over 1 year ago - 0 stars on GitHub
github.com/jclem/get v0.0.0-20231121190124-05ee613b6b4f
Package main is the entry point for the CLI.
16 versions - Latest release: over 1 year ago - 0 stars on GitHub
Top 7.8% on proxy.golang.org
github.com/lugu/qiloop v0.14.2
Package qiloop is an implementation of the protocol QiMessaging used to interract with the NAO an...
6 versions - Latest release: over 1 year ago - 3 dependent packages - 2 dependent repositories - 7 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/c4dt/omniledger/webapp/cas v0.0.0-20230927121344-3865adf298f7
Frontend for the dedis/cothority blockchain with an accent on identity and consent-management
3 versions - Latest release: over 1 year ago - 5 stars on GitHub
Top 9.3% on proxy.golang.org
github.com/jclem/openai-go v0.1.4
Package openai provides an OpenAI-compatible API client.
5 versions - Latest release: over 1 year ago - 0 stars on GitHub
Top 6.9% on proxy.golang.org
github.com/LubyRuffy/goflow v0.0.0-20230809030927-abe581939b80
just like pipeline for data
7 versions - Latest release: almost 2 years ago - 11 stars on GitHub
github.com/ngicks/estype/cmd v0.0.0-20230730141454-cbfaf3aa60e2
The go types for the Elasticsearch mapping field data types and the code generator which generate...
1 version - Latest release: almost 2 years ago - 0 stars on GitHub
github.com/ngicks/estype/fielddatatype v0.0.1-alpha3
The go types for the Elasticsearch mapping field data types and the code generator which generate...
4 versions - Latest release: almost 2 years ago - 2 dependent packages - 0 stars on GitHub
Top 8.7% on proxy.golang.org
git.sr.ht/~rottenfishbone/go-cook v0.0.0-20230526031838-b667a3b35c28
3 versions - Latest release: about 2 years ago
Top 8.7% on proxy.golang.org
git.sr.ht/~rottenfishbone/cooklang-go v0.0.0-20230425213306-a60c8008f9a4
1 version - Latest release: about 2 years ago
Top 8.7% on proxy.golang.org
github.com/ajitid/goparsify v0.5.0
golang parser-combinator library
10 versions - Latest release: about 2 years ago - 0 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/ngicks/elastic-type v0.0.0-20221206131404-879d843a3a21
2 versions - Latest release: over 2 years ago - 0 stars on GitHub
Top 10.0% on proxy.golang.org
github.com/ijt/goparsify v0.0.0-20221203142333-3a5276334b8d
golang parser-combinator library
8 versions - Latest release: over 2 years ago - 9 dependent packages - 3 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/ngicks/flex-time v0.0.4
4 versions - Latest release: over 2 years ago
github.com/ngicks/flextime v0.0.4
4 versions - Latest release: over 2 years ago - 1 dependent package - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/damienstanton/goparsify v0.0.0-20220918132510-d7d846636c23
golang parser-combinator library
1 version - Latest release: over 2 years ago - 0 stars on GitHub
Top 8.0% on proxy.golang.org
github.com/myrteametrics/myrtea-engine-api/v4 v4.2.1
18 versions - Latest release: almost 3 years ago - 6 stars on GitHub
Top 9.0% on proxy.golang.org
github.com/jonkerj/go-iec62056 v0.1.0
Golang parser for IEC1107/IEC65056, such as DSMR
2 versions - Latest release: about 3 years ago - 0 stars on GitHub
github.com/ssedrick/adventofcode2021 v0.0.0-20220104205812-00257ff626d7
Advent of Code 2021
1 version - Latest release: over 3 years ago - 1 dependent repositories - 0 stars on GitHub
Top 8.2% on proxy.golang.org
kesim.org/goparsify v0.0.0-20210507195226-afd70fad39c8
1 version - Latest release: about 4 years ago - 1 dependent package
Top 8.2% on proxy.golang.org
github.com/pm-duokey/cothority/v3 v3.4.9
31 versions - Latest release: about 4 years ago
Top 2.3% on proxy.golang.org
go.dedis.ch/cothority/v3 v3.4.9
Scalable collective authority
32 versions - Latest release: about 4 years ago - 8 dependent packages - 8 dependent repositories - 426 stars on GitHub
Top 4.9% on proxy.golang.org
gopkg.in/dedis/cothority.v3 v3.4.9
Scalable collective authority
32 versions - Latest release: about 4 years ago - 425 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/dedis/cothority/v3 v3.4.9
Scalable collective authority
32 versions - Latest release: about 4 years ago - 413 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/deynego-sergey/elps v1.13.1
Command elps is a frontend for an embedded list processing system.
15 versions - Latest release: over 4 years ago
Top 8.2% on proxy.golang.org
github.com/db48x/goparsify v0.3.2
golang parser-combinator library
16 versions - Latest release: over 4 years ago - 0 stars on GitHub
github.com/pschlump/goledger v0.1.3
Ledger implementation in golang
3 versions - Latest release: almost 5 years ago - 0 stars on GitHub
Top 6.6% on proxy.golang.org
github.com/oec/goparsify v0.2.1
golang parser-combinator library
14 versions - Latest release: over 5 years ago - 5 dependent packages - 4 dependent repositories - 2 stars on GitHub
Top 7.3% on proxy.golang.org
github.com/hscells/transmute v0.0.0-20191226011638-492a895bec30
PubMed/Medline query transpiler
1 version - Latest release: over 5 years ago - 3 dependent packages - 3 dependent repositories - 6 stars on GitHub
Top 8.2% on proxy.golang.org
github.com/bricef/goparsec v0.0.0-20180916220118-e926abfe5016
Package parsec provides a library of parser-combinators. The basic idea behind parsec module is t...
1 version - Latest release: over 6 years ago - 0 stars on GitHub
Past Dependents
Include Past Dependents

Check this option to include packages that no longer depend on this package in their latest version but previously did.