コード例 #1
0
        private static SyntaxNode LinearSequence(RParser.SequenceContext sequence, Func <ParserRuleContext, Scope, SyntaxNode> transform, Scope scope)
        {
            var exprs = sequence.expr();

            Debug.Assert(exprs.Length == 2);


            var left  = transform(exprs[0], scope) as ExpressionSyntax;
            var right = transform(exprs[1], scope) as ExpressionSyntax;

            return(linearSequenceCall.Get(left, right));
        }
コード例 #2
0
 /// <summary>
 /// Exit a parse tree produced by <see cref="RParser.Sequence"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitSequence([NotNull] RParser.SequenceContext context)
 {
 }