예제 #1
0
 public void BasicTest()
 {
     using (var input = ParserInput.CreateFromString("Hello World"))
     {
         var parser = new WordTokenParser();
         Assert.Equal("Hello", parser.Parse(input));
         input.TryReadChar(out _);
         Assert.Equal("World", parser.Parse(input));
     }
 }
예제 #2
0
    public bool Parse(ExpressionCompiler compiler)
    {
        int i = compiler.Pos;

        if (trueParser.Parse(compiler))
        {
            BooleanToken token = new BooleanToken(true, i);
            compiler.Parent.AddChild(token);
            return(true);
        }
        else if (falseParser.Parse(compiler))
        {
            BooleanToken token = new BooleanToken(false, i);
            compiler.Parent.AddChild(token);
            return(true);
        }
        else
        {
            return(false);
        }
    }