本文整理汇总了C#中Irony.Parsing.NonTerminal.Star方法的典型用法代码示例。如果您正苦于以下问题:C# NonTerminal.Star方法的具体用法?C# NonTerminal.Star怎么用?C# NonTerminal.Star使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Irony.Parsing.NonTerminal
的用法示例。
在下文中一共展示了NonTerminal.Star方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Grammar
//.........这里部分代码省略.........
;
LUnOp.Rule = ToTerm("-") | "~" | "!";
RUnOp.Rule = ToTerm("++") | "--";
ArrayConstructor.Rule = LBracket + expressionList + RBracket;
#endregion
#region 3.2 QualifiedName
ArrayExpression.Rule = QualifiedName + LBracket + expressionList + RBracket;
FunctionExpression.Rule = QualifiedName + LParen + expressionList.Q() + RParen;
QualifiedName.Rule = ident | QualifiedName + dot + ident;
GenericsPostfix.Rule = less + QualifiedName + greater;
//ExprList.Rule = Expr.Plus(comma);
#endregion
#region 3.3 Statement
Condition.Rule = LParen + expression + RParen;
installBounds.Rule
= "installBounds"
//= ToTerm("between") + expressionList + "and" + expressionList
//| "below" + expressionList
//| "below" + expressionList + "above" + expressionList
//| "above" + expressionList
//| "above" + expressionList + "below" + expressionList
;
FieldInit.Rule
= ident + ":=" + expression
;
FieldInits.Rule = MakeStarRule(FieldInits, ToTerm(","), FieldInit);
Rhs.Rule
= ToTerm("new") + ident
| ToTerm("new") + ident + "{" + FieldInits + "}"
| ToTerm("new") + ident + installBounds
| ToTerm("new") + ident + "{" + FieldInits + "}" + installBounds
| expression
;
localVarStmt.Rule
= idType + ":=" + Rhs + Semi
| idType + Semi
;
loopSpec.Rule
= ToTerm("invariant") + expression + Semi
| "lockchange" + expressionList + Semi
;
Statement.Rule = Semi
| "if" + Condition + Statement
;
Statements.Rule = MakeStarRule(Statements, null, Statement);
blockStatement.Rule = LCurly + Statements + RCurly;
#endregion
#region 3.4 Prog
Prog.Rule = anything.Star() + Eof;
anything.Rule
= ToTerm("assert")