aboutsummaryrefslogtreecommitdiff
path: root/tokens.h
diff options
context:
space:
mode:
authorOskari Timperi <oskari.timperi@iki.fi>2014-05-14 22:27:34 +0300
committerOskari Timperi <oskari.timperi@iki.fi>2014-05-14 22:27:34 +0300
commitd45a5b21de22438c004e1db96a8f154da09cdc0e (patch)
treec2a7bd2a4d08de03ef5e11932d9a1abf85110c80 /tokens.h
downloadlispish-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.h24
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