예제 #1
0
        public IXenonASTElement Compile(Lexer Lexer, XenonErrorLogger Logger)
        {
            Lexer.GobbleWhitespace();
            var args = Lexer.ConsumeArgList(true, "name", "value");

            VariableName = args["name"];
            Value        = args["value"];

            return(this);
        }
        public IXenonASTElement Compile(Lexer Lexer, XenonErrorLogger Logger)
        {
            Lexer.GobbleWhitespace();

            var args = Lexer.ConsumeArgList(true, "part1", "part2", "orientation");
            Part1 = args["part1"];
            Part2 = args["part2"];
            Orientation = args["orientation"];

            return this;

        }
예제 #3
0
 public IXenonASTElement Compile(Lexer Lexer, XenonErrorLogger Logger)
 {
     // allow optional title parameter
     Lexer.GobbleWhitespace();
     if (!Lexer.InspectEOF() && Lexer.Inspect("("))
     {
         Lexer.GobbleandLog("(", "Expecting '('");
         SlideTitleMessage = Lexer.ConsumeUntil(")");
         Lexer.GobbleandLog(")", "Expecting closing ')'");
     }
     return(this);
 }
        public IXenonASTElement Compile(Lexer Lexer, XenonErrorLogger Logger)
        {
            XenonASTAnthemTitle title = new XenonASTAnthemTitle();

            Lexer.GobbleWhitespace();

            var args = Lexer.ConsumeArgList(true, "anthemtitle", "musician", "accompanianst", "credits");

            title.AnthemTitle   = args["anthemtitle"];
            title.Musician      = args["musician"];
            title.Accompanianst = args["accompanianst"];
            title.Credits       = args["credits"];
            return(title);
        }
예제 #5
0
        public IXenonASTElement Compile(Lexer lexer, XenonErrorLogger Logger)
        {
            lexer.GobbleWhitespace();
            var args = lexer.ConsumeArgList(true, "title", "reference", "drawspeaker");

            Title       = args["title"];
            Reference   = args["reference"];
            DrawSpeaker = args["drawspeaker"];


            lexer.GobbleWhitespace();
            lexer.GobbleandLog("{", "Expected opening brace to start content.");

            while (!lexer.Inspect("}"))
            {
                Text.Add(lexer.Consume());
            }
            lexer.GobbleandLog("}", "Missing closing brace for liturgy.");

            return(this);
        }
 IXenonASTElement IXenonASTElement.Compile(Lexer Lexer, XenonErrorLogger Logger)
 {
     return(this);
 }
예제 #7
0
 IXenonASTElement IXenonASTElement.Compile(Lexer Lexer, XenonErrorLogger Logger)
 {
     throw new NotImplementedException();
 }