-
Notifications
You must be signed in to change notification settings - Fork 0
DescribeGrammar v08
Describe version 0.8, codenamed Links is the third test version of the language. It introduced links - [https://someurl.net/]
The GOLD parser grammar is given next
Keep in mind that the precompiler plays a role as well, and this cannot be seen from the grammar file.
Describe 0.8 - Links
! Attributes
"Name" = 'D#SCRIBE markup Language'
"Author" = 'DemonOfReason'
"Version" = '0.8'
"About" = 'D#SCRIBE Language'
"Character Mapping" = 'Unicode'
"Case Sensitive" = False
"Start Symbol" = <scripture>
! Comments
Comment Start = '/*'
Comment End = '*/'
Comment Line = '//'
Link Start = '['
Link End = ']'
! Symbols
Hyphen = '-'
LeftArrow = '<'
RightArrow = '>'
Separator = ','
Terminator = ';'
!Star = '*'
!FSlash = '/'
!BSlash = '\'
!LeftSquare = '['
!RightSquare = ']'
! Escaped symbols
EscapeHyphen = '\-'
EscapeLeftArrow = '\<'
EscapeRightArrow = '\>'
EscapeLeftSquare = '\['
EscapeRightSquare = '\]'
EscapeSeparator = '\,'
EscapeTerminator = '\;'
EscapeStar = '\*'
EscapeFSlash = '\/'
EscapeBSlash = '\\'
! Text
{SpecialCharacter} = ['['']''-''<''>'','';''*''/''\''\-''\<''\>''\,''\;''\*''\/''\\']
{TextCharacter} = {Printable} - {SpecialCharacter}
Text = {TextCharacter}+
! Producer
<producer>
::= Hyphen RightArrow
! Tagging
<tag>
::= LeftArrow <text> RightArrow
<links>
::= Link Link
| Link <links>
<decorators>
::= Decorator Decorator
| Decorator <decorators>
! Text
<text-chunk>
::= Text
| EscapeHyphen
| EscapeLeftArrow
| EscapeRightArrow
| EscapeSeparator
| EscapeTerminator
| EscapeStar
| EscapeEscape
| EscapeFSlash
| EscapeBSlash
| EscapeLeftSquare
| EscapeRightSquare
<text-chunk-list>
::= <text-chunk> <text-chunk>
| <text-chunk> <text-chunk-list>
<text>
::= <text-chunk>
| <text-chunk-list>
! Item
<item>
::= <text>
| <text> Link
| <text> <tag>
| <text> <tag> Link
| <text> <tag> <links>
| <text> Link <tag>
| <text> <links> <tag>
! Expressions and more
<item-or-expression>
::= <item>
| <expression>
<item-or-expression-list>
::= <item> Separator <item>
| <item> Separator <expression>
| <expression> <item>
| <expression> <expression>
| <item> Separator <item-or-expression-list>
| <expression> <item-or-expression-list>
<expression>
::= <item> <producer> Terminator
| <item> <producer> <item-or-expression> Terminator
| <item> <producer> <item-or-expression-list> Terminator
| <item> <producer> <item-or-expression>
| <item> <producer> <item-or-expression-list>
<expression-list>
::= <expression> <expression>
| <expression> <expression-list>
<scripture>
::= <expression>
| <expression-list>
Home
Grammar How To
Compiler How To
CLI Compiler - How to
CLI Compiler - How to - help
CLI Compiler - How to - parse-file
CLI Compiler - How to - parse-folder
CLI Compiler - How to - encrypt-file
CLI Compiler - How to - decrypt-file
CLI Compiler - How to - recrypt-file
CLI Compiler - How to - encrypt-folder
CLI Compiler - How to - decrypt-folder
CLI Compiler - How to - recrypt-folder
API Compiler - How to
API Compiler - How to - Example 1
API Compiler - How to - Example 2
API Compiler - How to - Example 3
API Compiler - How to - Example 4
API Compiler - How to - Example 5
AWS Compiler - How to
AWS technical overview
API gateway configuration
output - low
output - medium
output - high
output - themes
Grammar - Lists
Grammar - Comments
Grammar - Links
Grammar - Decorators
Grammar - Tags
Grammar - More on Tags
Grammar - Directives
Grammar - Dot Notation
Grammar - Tildes
Grammar - Files
Deprecated - Slash Notation
Deprecated - Delimiter Mode
Describe Basics - v0.6
Describe Tags - v0.7
Describe Links - v0.8
Describe Decorators - v0.9
Describe Lines - v1.0
Describe Doubles - v1.1