示例#1
0
        public override string VisitProg([NotNull] WordLangParser.ProgContext context)
        {
            var rules = context.rule()
                        .Select(ctx => Visit(ctx))
                        .Aggregate("", (a, c) => a + c);

            return($"(program rules=[{rules}])");
        }
示例#2
0
        public override List <GeneralError> VisitProg([NotNull] WordLangParser.ProgContext context)
        {
            var errs = new List <GeneralError>();

            context.rule().Select(ctx => Visit(ctx))
            .ToList()
            .ForEach(errSet => errs.AddRange(errSet));

            return(errs);
        }
示例#3
0
        public override AST.RuleTree VisitProg([NotNull] WordLangParser.ProgContext context)
        {
            var ruleSet = new AST.RuleSet();

            //ruleSet.Rules = context.rule()
            //    .Select(ctx => Visit(ctx))
            //    .OfType<AST.Rule>()
            //    .ToList();

            return(ruleSet);
        }
示例#4
0
        public override string VisitProg([NotNull] WordLangParser.ProgContext context)
        {
            var rules = context.rule()
                        .Select(ctx => Visit(ctx))
                        .CombineWithCommas()
            ;
            var conds = context.conditionSet()
                        .Select(ctx => Visit(ctx))
                        .CombineWithCommas()
            ;

            return($"{{\"name\":\"test\",\"rules\":[{rules}],\"conditionSets\":[{conds}]}}");

            //return $"[{rules}]";
        }