https://github.com/globbie/gsl-parser
General Semantics Language Parser
https://github.com/globbie/gsl-parser
Last synced: about 1 month ago
JSON representation
General Semantics Language Parser
- Host: GitHub
- URL: https://github.com/globbie/gsl-parser
- Owner: globbie
- License: agpl-3.0
- Created: 2017-06-23T06:53:41.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2020-11-16T07:30:34.000Z (over 5 years ago)
- Last Synced: 2025-03-03T22:51:13.243Z (over 1 year ago)
- Language: C
- Homepage:
- Size: 136 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# gsl-parser
General Semantics Language Parser
GSL is a logical markup language designed within the Knowdy project to provide a human-readable,
compact storage of conceptual graphs. It is used for data storage, message passing and information exchange. The format is not so excessively verbose as XML and even slightly
more compact than JSON. The language takes some
features of S-expressions of Lisp, but with major
modification of semantics since one should keep in mind
that graphs are not lists. GSL-notation allows its users to express not only the
hierarchical grouping of objects but also the transactional operations within
a database storage system.
## Quick start with GSL
Curly braces are used to delimit a scope or an object.
Empty object:
>{}
An area can be labeled with a tag that starts right after the opening brace
and continues up to the first space character or any other reserved character.
The character string starting right after the trailing spaces is a value of a *default attribute*.
>{class Recipe}
In the example code above *class* is a tag,
and *Recipe* is a value of a default attribute.
In this context it can be *_name*.
Objects can be nested, naturally.
> {class Secret Agent {instance James Bond }}