linksplatform / Protocols.Lino

A way to describe data using references and links.

Home Page:https://linksplatform.github.io/Communication.Protocol.Lino

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gitpod

NuGet Version and Downloads count Actions Status Codacy Badge CodeFactor

LinksPlatform's Platform.Protocols.Lino Class Library.

introduction

This library gives you an ability to convert any string that contains links notation into a list of links and back to the string after modifications are made.

Links notation is based on two concepts references and links. Each reference references other link. The notation supports links with any number of references to other links.

Namespace: Platform.Protocols.Lino

NuGet package: Platform.Protocols.Lino

Examples

Links notation (lino)

Doublets (2-tuple)

papa (lovesMama: loves mama)
son lovesMama
daughter lovesMama
all (love mama)

Triplets (3-tuple)

papa has car
mama has house
(papa and mama) are happy

Sequences (N-tuple)

I'm a friendly AI.
(I'm a friendly AI too.)
(linksNotation: links notation)
(This is a linksNotation as well)
(linksNotation supports (unlimited number (of references) in each link))
(sequence (of references) surrounded by parentheses is a link)
parentheses may be ommitted if the whole line is a single link

So that means that this text is also links notation. So most of the text in the world already may be parsed as links notation. That makes links notation the most easy an natural/intuitive/native one.

Getting a IList<Link>

(new Platform.Protocols.Lino.Parser()).Parse(@string)

Formatting the IList<Link> back to string

using Platform.Protocols.Lino;
links.Format()

PDF file with code for e-readers.

Depend on

About

A way to describe data using references and links.

https://linksplatform.github.io/Communication.Protocol.Lino

License:The Unlicense


Languages

Language:C# 86.7%Language:Rust 13.3%