mirror of
https://github.com/HyperDbg/HyperDbg.git
synced 2026-07-29 19:05:51 +00:00
51 lines
762 B
C
51 lines
762 B
C
#pragma once
|
|
|
|
#ifndef SCANNER_H
|
|
# define SCANNER_H
|
|
|
|
/**
|
|
* @brief lookup table for storing Ids
|
|
*/
|
|
TOKEN_LIST IdTable;
|
|
|
|
/**
|
|
* @brief number of read characters from input
|
|
*/
|
|
unsigned int InputIdx;
|
|
|
|
/**
|
|
* @brief number of current reading line
|
|
*/
|
|
unsigned int CurrentLine;
|
|
|
|
/*
|
|
* @brief current line start postion
|
|
*/
|
|
unsigned int CurrentLineIdx;
|
|
|
|
/*
|
|
* @brief curren token start postion
|
|
*/
|
|
unsigned int CurrentTokenIdx;
|
|
|
|
////////////////////////////////////////////////////
|
|
// Interfacing functions //
|
|
////////////////////////////////////////////////////
|
|
TOKEN
|
|
GetToken(char * c, char * str);
|
|
|
|
TOKEN
|
|
Scan(char * str, char * c);
|
|
|
|
char
|
|
sgetc(char * str);
|
|
|
|
char
|
|
IsKeyword(char * str);
|
|
|
|
char
|
|
IsId(char * str);
|
|
|
|
char
|
|
IsRegister(char * str);
|
|
#endif // !SCANNER_H
|