Newer
Older
libj / modules / x-tokenizer / src / token.cpp
Nomura Kei on 31 Dec 855 bytes 一時保存
#include <array>

#include <token.hpp>
#include <keyword.hpp>

namespace xtokenizer
{
    /**
     * Token を構築します。
     *
     * @param lineNumber 行番号
     * @param column カラム番号
     * @param type 種別
     * @param str 文字列
     * @param keyword キーワード
     */
    Token::Token(int line, int column, TokenType type, const std::string &str, Keyword keyword) noexcept
        : line(line), column(column), type(type), str(str), keyword(keyword)
    {
        // NOP
    }

    /**
     * 指定されたトークンが同一か否かを返します。
     *
     * @param token 比較するトークン
     * @return 一致する場合 true
     */
    bool Token::operator==(const Token &token) const noexcept
    {
        return ((type == token.type) && (str == token.str));
    }

} // namespace kscript