summaryrefslogtreecommitdiff
path: root/parse/preproc.hpp
blob: 827ce24927c7085661c0fdebbb9320087182e735 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef PREPROC_H
#define PREPROC_H

#include "lex.hpp"

class Preproc:
    public TokenStream
{
    Lexer   m_lex;

    bool    m_cache_valid;
    Token   m_cache;

public:
    Preproc(::std::string path);
    ~Preproc();

    virtual Token getToken();
    virtual void putback(Token tok);
private:
    Token getTokenInt();
};

#endif // PREPROC_H