class qasmLexer

#include <qasmLexer.h>

class qasmLexer: public Lexer
{
public:
    // enums

    enum
    {
        OPENQASM_KEY = 1,
        INCLUDE_KEY  = 2,
        OPAQUE_KEY   = 3,
        QREG_KEY     = 4,
        CREG_KEY     = 5,
        BARRIER_KEY  = 6,
        IF_KEY       = 7,
        MEASURE_KEY  = 8,
        RESET_KEY    = 9,
        GATE_KEY     = 10,
        PI_KEY       = 11,
        U_GATE_KEY   = 12,
        CX_GATE_KEY  = 13,
        ARROW        = 14,
        EQ           = 15,
        PLUS         = 16,
        MINUS        = 17,
        MUL          = 18,
        DIV          = 19,
        COMMA        = 20,
        SEMI         = 21,
        LPAREN       = 22,
        RPAREN       = 23,
        LBRACKET     = 24,
        RBRACKET     = 25,
        LBRACE       = 26,
        RBRACE       = 27,
        DQM          = 28,
        IDENTIFIER   = 29,
        INTEGER      = 30,
        DECIMAL      = 31,
        FILENAME     = 32,
        REALEXP      = 33,
        NL           = 34,
        WS           = 35,
        LC           = 36,
    };

    // structs

    struct Initializer;

    // construction

    qasmLexer(antlr4::CharStream* input);

    // methods

    virtual std::string getGrammarFileName() const;
    virtual const std::vector<std::string>& getRuleNames() const;
    virtual const std::vector<std::string>& getChannelNames() const;
    virtual const std::vector<std::string>& getModeNames() const;
    virtual const std::vector<std::string>& getTokenNames() const;
    virtual antlr4::dfa::Vocabulary& getVocabulary() const;
    virtual const std::vector<uint16_t> getSerializedATN() const;
    virtual const antlr4::atn::ATN& getATN() const;
};