コード例 #1
0
ファイル: BaseExpression.cs プロジェクト: bilsaboob/Pliant
 private static RuleExpression AddWithAnd(BaseLexerRule lhs, BaseExpression rhs)
 {
     return AddWithAnd(new SymbolExpression(new LexerRuleModel(lhs)), rhs);
 }
コード例 #2
0
ファイル: Expr.cs プロジェクト: bilsaboob/Pliant
 public Expr(BaseExpression baseExpression)
     : base(baseExpression)
 {
 }
コード例 #3
0
ファイル: BaseExpression.cs プロジェクト: bilsaboob/Pliant
 private static RuleExpression AddWithOr(BaseExpression lhs, BaseTerminal rhs)
 {
     return AddWithOr(
         lhs,
         new SymbolExpression(
             new LexerRuleModel(
                 new TerminalLexerRule(rhs, rhs.ToString()))));
 }
コード例 #4
0
ファイル: BaseExpression.cs プロジェクト: bilsaboob/Pliant
 private static RuleExpression AddWithOr(BaseExpression lhs, BaseExpression rhs)
 {
     var lhsExpression = (lhs as RuleExpression) ?? new RuleExpression(lhs);
     var rhsExpression = (rhs as RuleExpression) ?? new RuleExpression(rhs);
     foreach (var symbolList in rhsExpression.Alterations)
         lhsExpression.Alterations.Add(symbolList);
     return lhsExpression;
 }
コード例 #5
0
ファイル: BaseExpression.cs プロジェクト: bilsaboob/Pliant
 private static RuleExpression AddWithOr(BaseExpression lhs, BaseLexerRule rhs)
 {
     return AddWithOr(lhs, new SymbolExpression(new LexerRuleModel(rhs)));
 }
コード例 #6
0
ファイル: BaseExpression.cs プロジェクト: bilsaboob/Pliant
 private static RuleExpression AddWithAnd(BaseExpression lhs, BaseExpression rhs)
 {
     var expression = lhs as RuleExpression ?? new RuleExpression(lhs);
     expression.Alterations[expression.Alterations.Count - 1].Add(rhs);
     return expression;
 }
コード例 #7
0
ファイル: BaseExpression.cs プロジェクト: bilsaboob/Pliant
 private static RuleExpression AddWithAnd(BaseTerminal lhs, BaseExpression rhs)
 {
     return AddWithAnd(
         new SymbolExpression(
             new LexerRuleModel(
                 new TerminalLexerRule(lhs, lhs.ToString()))),
         rhs);
 }
コード例 #8
0
ファイル: RuleExpression.cs プロジェクト: bilsaboob/Pliant
 private void AddWithAnd(BaseExpression baseExpression)
 {
     if (Alterations.Count == 0)
         Alterations.Add(new List<BaseExpression>());
     Alterations[Alterations.Count - 1].Add(baseExpression);
 }
コード例 #9
0
ファイル: RuleExpression.cs プロジェクト: bilsaboob/Pliant
 public RuleExpression(BaseExpression baseExpression)
     : this()
 {
     AddWithAnd(baseExpression);
 }