diff options
author | Damien George <damien.p.george@gmail.com> | 2014-01-06 14:32:56 -0800 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-01-06 14:32:56 -0800 |
commit | 880ce2d7fabc127b4bca7b6f2ea8b82d0977045f (patch) | |
tree | feb4fc084bbba429cd4dd52a690577d80c6b4de6 /teensy/lexerteensy.c | |
parent | ff07bb3adb50481d6b7be94755e07df893f374dc (diff) | |
parent | 297446e7af472f8869ecca67f37ed159d02b1024 (diff) | |
download | micropython-880ce2d7fabc127b4bca7b6f2ea8b82d0977045f.tar.gz micropython-880ce2d7fabc127b4bca7b6f2ea8b82d0977045f.zip |
Merge pull request #97 from dhylands/teensy-3.1
Initial support for Teensy 3.1
Diffstat (limited to 'teensy/lexerteensy.c')
-rw-r--r-- | teensy/lexerteensy.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/teensy/lexerteensy.c b/teensy/lexerteensy.c new file mode 100644 index 0000000000..eefaf66657 --- /dev/null +++ b/teensy/lexerteensy.c @@ -0,0 +1,33 @@ +#include <stdint.h> +#include <stdio.h> + +#include "misc.h" +#include "lexer.h" +#include "lexerteensy.h" + +unichar str_buf_next_char(mp_lexer_str_buf_t *sb) { + if (sb->src_cur < sb->src_end) { + return *sb->src_cur++; + } else { + return MP_LEXER_CHAR_EOF; + } +} + +void str_buf_free(mp_lexer_str_buf_t *sb) { + if (sb->free) { + m_del(char, (char*)sb->src_beg, 0 /* don't know allocated size of src */); + } +} + +mp_lexer_t *mp_lexer_new_from_str_len(const char *src_name, const char *str, uint len, bool free_str, mp_lexer_str_buf_t *sb) { + sb->free = free_str; + sb->src_beg = str; + sb->src_cur = str; + sb->src_end = str + len; + return mp_lexer_new(src_name, sb, (mp_lexer_stream_next_char_t)str_buf_next_char, (mp_lexer_stream_close_t)str_buf_free); +} + +mp_lexer_t *mp_import_open_file(qstr mod_name) { + printf("import not implemented\n"); + return NULL; +} |