Code Monkey home page Code Monkey logo

gon's Introduction

GON - General Object Notation

Abstract

Gon tries to combine the best of YAML, JSON and XML by providing readability, performance and flexibility.

The syntax

Gon provides in its syntax a way of defining a name, class and attributes and flags for each object or node. Yet, all of them are optional, to be easily migratable from any other configuration.

Names

Names must not contain any special characters. Characters must be either a letter or a digit.

Simple values

Simple values are numbers, booleans and strings. They have to be declared the following way:

  • Numbers: Can be written as a decimal number or as hex code. As soon as a . is found it is classified as a float number. Otherwise, it is classified as an integer
  • Booleans: Might be true or false
  • Strings: String are declared by surrounding them with ". E.g. "This is a String". To escape any character, put a \ in front of it.

Node header

name[class] attribute="value" -flag

Explanation:
name: The name or key (name)
class: the class. Comparable to the tag in XML. Same restrictions as in name.
attribute: The key/identifier of an attribute (name)
"value": The value of an attribute (simple value)
flag: the name of the flag. Put a ! to negate it (handled as boolean attribute)

Node value

A node can have one of the three value declarations:

  • No value:
    name[NoValue];
    
  • Simple value
    name[SimpleValue]: "This is a simple value";
    
  • Nested nodes
    name[NestedNodes] {
      anotherNode[NoValue];
      simple[SimpleValue]: 0x0F0F0F;
    }
    

gon's People

Contributors

maha-soptim avatar

Watchers

Marvin Haase avatar

gon's Issues

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.