meta-language 1.0.0

A self-describing links-network core for lossless language representation
Documentation
1
2
3
4
5
6
7
8
9
(grammar (start document))
(rule document normal (seq (repeat0 (seq (ref row) (seq (alias newline (immediateToken (repeat1 (class plain (char %0D) (char %0A))))) (not (immediateToken (class plain (char %0D) (char %0A))))))) (choice ordered (not (immediateToken any)) (ref row))) (concept grammar.document))
(rule row normal (seq (ref field) (repeat0 (seq (literal %2C) (ref field)))) (concept table-row))
(rule field normal (choice ordered (ref number) (ref float) (ref boolean) (ref quoted) (ref text)) (concept table-cell))
(rule number silent (seq (alias number (immediateToken (seq (repeat0 (class plain (char %20) (char %09) (char %0B) (char %0C))) (choice ordered (seq (literal 0) (class plain (char x) (char X)) (repeat1 (class plain (range 0 9) (range a f) (range A F)))) (repeat1 (range 0 9)))))) (not (immediateToken (class negated (char %2C) (char %0D) (char %0A))))) (concept grammar.csv.integer))
(rule float silent (seq (alias float (immediateToken (seq (repeat0 (class plain (char %20) (char %09) (char %0B) (char %0C))) (choice ordered (seq (repeat0 (range 0 9)) (literal .) (repeat1 (range 0 9))) (seq (repeat1 (range 0 9)) (literal .) (repeat0 (range 0 9))))))) (not (immediateToken (class negated (char %2C) (char %0D) (char %0A))))) (concept grammar.csv.floating-point-number))
(rule boolean normal (seq (choice ordered (immediateToken (literal true)) (immediateToken (literal false))) (not (immediateToken (class negated (char %2C) (char %0D) (char %0A))))) (concept grammar.boolean-value))
(rule quoted silent (seq (alias text (immediateToken (seq (repeat0 (class plain (char %20) (char %09) (char %0B) (char %0C))) (literal %22) (repeat0 (choice ordered (literal %22%22) (class negated (char %22)))) (literal %22)))) (optional (alias blank_space (immediateToken (repeat1 (class plain (char %20) (char %09) (char %0B) (char %0C)))))) (not (immediateToken (class negated (char %2C) (char %0D) (char %0A))))) (concept grammar.string))
(rule text silent (alias text (immediateToken (repeat0 (class negated (char %2C) (char %22) (char %0D) (char %0A))))) (concept grammar.csv.unquoted-text))