cirilisp/lexer.h

23 lines
588 B
C
Raw Normal View History

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