cirilisp/lexer.h

24 lines
609 B
C
Raw Normal View History

#pragma once
typedef enum
{
undefinedToken,
numberToken,
symbolToken,
lParenthesisToken,
rParenthesisToken
} tokenType;
typedef struct _Token
{
tokenType type;
char *lexeme;
struct _Token *next;
} token;
token *lexLine(char *input);
/* као аргумент добија ред са стандардног улаза, а као излаз
враћа лексичке елементе у повезаној листи */
void freeLexedLine(token *list);
/* ослобађа меморију коју је заузела листа токена узета из корисничког улаза */