//
// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

#include "Lexer.h"

#include <cassert>

#include "Input.h"

namespace pp
{

Lexer::Lexer() : mHandle(0), mLeadingSpace(false)
{
}

Lexer::~Lexer()
{
    destroyLexer();
}

bool Lexer::init(int count, const char* const string[], const int length[])
{
    assert((count >= 0) && (string));
    if ((count < 0) || (!string))
        return false;

    mInput.reset(new Input(count, string, length));
    return initLexer();
}

}  // namespace pp

