diff options
| author | Oskari Timperi <oskari.timperi@iki.fi> | 2014-05-14 22:27:34 +0300 |
|---|---|---|
| committer | Oskari Timperi <oskari.timperi@iki.fi> | 2014-05-14 22:27:34 +0300 |
| commit | d45a5b21de22438c004e1db96a8f154da09cdc0e (patch) | |
| tree | c2a7bd2a4d08de03ef5e11932d9a1abf85110c80 /tokens.h | |
| download | lispish-d45a5b21de22438c004e1db96a8f154da09cdc0e.tar.gz lispish-d45a5b21de22438c004e1db96a8f154da09cdc0e.zip | |
Initial commit
- tokenizing, parsing and basic eval support
- arithmetic (+, -, *, /)
- quote
- atom for checking if the arg is an atom (i.e. not a list)
- eq for checking equality
- > for checking order
- if
- some unit testing
- simple repl
- mem management needs improvement :-)
Diffstat (limited to 'tokens.h')
| -rw-r--r-- | tokens.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tokens.h b/tokens.h new file mode 100644 index 0000000..8b06454 --- /dev/null +++ b/tokens.h @@ -0,0 +1,24 @@ +#ifndef TOKENS_H +#define TOKENS_H + +enum +{ + TOKEN_INT, + TOKEN_STR, + TOKEN_SYMBOL, + TOKEN_LPAREN, + TOKEN_RPAREN, + TOKEN_PERIOD, + TOKEN_QUOTE +}; + +struct token +{ + const char *s; + int len; + int type; +}; + +int get_next_token(const char *src, int *pos, struct token *token); + +#endif |
