|
module BloggersGuides
{
language BAML
{
syntax Main = Activity;
syntax Activity =
ActivityToken
n:NameToken
'{'
p:List(PKI)
'}'
=> { activity { n,{ p }} };
syntax PKI = Milestone | Integer | Decimal | Text;
syntax Milestone = t:MilestoneToken n:NameToken ';'
=> { t, { n } };
syntax Integer = t:IntegerToken n:NameToken ';'
=> { t, { n } };
syntax Decimal = t:DecimalToken n:NameToken ';'
=> { t, { n } };
syntax Text = t:TextToken n:NameToken ';'
=> { t, { n } };
syntax List (Element) =
e:Element => { e } |
list:List(Element) e:Element => { valuesof(list), e };
token NameToken = ('A'..'Z' | 'a'..'z')+;
@{ Classification ["Keyword"] }
token ActivityToken = "activity";
@{ Classification ["Keyword"] }
token MilestoneToken = "milestone";
@{ Classification ["Keyword"] }
token IntegerToken = "integer";
@{ Classification ["Keyword"] }
token DecimalToken = "dec";
@{ Classification ["Keyword"] }
token TextToken = "text";
interleave Whitespace = ' ' | '\r' | '\n' | '\t';
}
}
|