コード例 #1
0
    static Node ParseBlock()
    {
        CommandBlock node = new CommandBlock();

        if (tokens.Current.Type == TokenTypes.LBRACE)
        {
            tokens.SelectNext();
            while (tokens.Current.Type != TokenTypes.RBRACE)
            {
                node.AddChild(ParseCommand());
            }
            tokens.SelectNext();
        }
        else
        {
            throw new RaulException($"Expected '{{' at {tokens.Position}");
        }
        return(node);
    }