[Home]Vitenka/TempSyntax

www.vitenka.com | ToothyWiki | Vitenka | RecentChanges | Login | Webcomic

BNF: Vitenka/TempSyntax
THINGNAME ::= Thing | Token | Bag | Map | Board | Ship | Counter | Piece
THINGID ::= foo | bar | fred | stuff | temp
QUALITYNAME ::= Colour | Size | Owner
QUALITYVALUE ::= Red | Green | Yellow | Big | Small | Medium
METHODNAME ::= Pick | Poke | Rotate

bnf ::= DECLARATIONS "<hr />" LINES <br /> LINES <br /> LINES
option ::= debug = 1

DECLARATIONS ::= DECL | DECL "<br />" DECL 

DECL ::= A THINGNAME Is SINGULAR | TRIGGER | To METHODNAME A THINGNAME BLOCK


LINES ::= LINE | LINE "<br />" LINE
# This would be 'lines' but for debugging sanity...
BLOCK ::= {...} | { LINE }
EXEC ::= {...}

PROPERTYVALUECHAIN ::= | QUALITYVALUE | QUALITYVALUE PROPERTYVALUECHAIN 
SINGULAR ::= It | That THINGNAME | The PROPERTYVALUECHAIN THINGNAME | THINGID
QNAMECHAIN ::= | 's QUALITYNAME | 's QUALITYNAME QNAMECHAIN
RVALUE ::= SINGULAR QNAMECHAIN

TRUTHY ::= RVALUE | RVALUE Is Not RVALUE | RVALUE Is QUALITYVALUE | Truthy Or RVALUE | Truthy And RVALUE
CONDITIONAL ::= If TRUTHY Then BLOCK

SELECTOR ::= SINGULAR | PLURAL
PLURAL ::= Each THINGNAME | Each PROPERTYVALUECHAIN THINGNAME

SET ::= SELECTOR Has RVALUE | SELECTOR QNAMECHAIN  is QUALITYVALUE 

RENAME ::= Call SELECTOR THINGID

TRIGGER ::= When TRUTHY BLOCK

INVOKE ::= METHODNAME The SELECTOR | Do METHODNAME SELECTOR

LINE ::= SET | EXEC | BLOCK | CONDITIONAL | INVOKE | RENAME



www.vitenka.com | ToothyWiki | Vitenka | RecentChanges | Login | Webcomic
This page is read-only | View other revisions | Recently used referrers
Last edited July 15, 2012 9:07 pm (viewing revision 20, which is the newest) (diff)
Search: