Это мой файл lexer.hpp:
/**
* \file
* \brief Lexical analysis
* \author Igor Zashchelkin
*
* Lexical analysis API for MyLisp.
*/
#ifndef LEXER_H
#define LEXER_H
#include <string>
#include <vector>
/**
* \brief Used to link token (Token) with it's type.
* \date June 29, 2018
*
* TokenNumber - 12, 5.4, -200
* TokenString - "hello, world"
* TokenBoolean - true, false
* TokenIdentifier - function name, variable name
* TokenSeparator - ( ) ,
*/
enum TokenType {
TokenNumber /// \brief Tokens which store numeric data
,TokenString /// \brief Tokens which store symbolic data, that ends and starts at "
,TokenBoolean /// \brief Tokens which store only one state 1 or 0
,TokenIdentifier /// \brief Tokens which link to something (variable, function)
,TokenSeparator /// \brief Tokens which splits logical parts of code
};
/**
* \brief Token's value type
* \date June 29, 2018
*
* Simply, wrap of std::string
*/
typedef std::string TokenValue;
/**
* \brief Minimal part of lexical analysis
* \date June 29, 2018
*
* Structured pair of TokenType and TokenValue (aka std::string)
*/
class Token {
private:
const TokenType type; /// \brief Token's type
const TokenValue value; /// \brief Token's value
public:
Token(TokenType type, std::string value); /// \brief Constructor
const TokenType getType(); /// /brief Getter for type property
const TokenValue getValue(); /// \brief Getter for value property
};
/**
* \brief Lexical analysis API instance
* \date June 29, 2018
*/
class Lexer {
private:
std::string code; /// \brief Source code
public:
Lexer(std::string code); /// \brief Constructor
/**
* \brief Tokenize source code
* \date June 29, 2018
*
* Generate sequence of tokens (std::vector) from code property (std::string)
*/
std::vector tokenize();
};
#endif //LEXER_H
Все хорошо (это мой разум), но когда я бегу
doxygen src/lexer/lexer.hpp
Doxygen генерирует пустую документацию.
Что не так?