27 lines
1.1 KiB
C
27 lines
1.1 KiB
C
#pragma once
|
||
|
||
#include "util.h"
|
||
|
||
typedef enum
|
||
{
|
||
internalSymbol,
|
||
variableSymbol
|
||
} symbolType;
|
||
|
||
int addSymbolInternal(char *symbol, object (*function)());
|
||
int addSymbolVariable(char *symbol, object variable);
|
||
/* служе за различите методе дефинисања нових симбола у језику
|
||
* враћају 1 уколико је нови симбол успешно додат, а 0 уколико није
|
||
* (постоји симбол са истим именом) */
|
||
|
||
int symbolExists(char *symbol);
|
||
/* враћа 1 уколико симбол постоји и 0 у супротном */
|
||
symbolType typeOf(char *symbol);
|
||
|
||
object (*internalFunction(char *symbol)) (object parameters);
|
||
/* враћа показивач на функцију уколико је симбол дефинисан као интерна
|
||
* функција, NULL уколико симбол није функција или уколико не постоји
|
||
* */
|
||
object referVariable(char *symbol);
|
||
/* враћа вредност на коју се односи име симбола у табели */
|