diff options
author | bnewbold <bnewbold@robocracy.org> | 2016-04-21 03:27:45 -0400 |
---|---|---|
committer | bnewbold <bnewbold@robocracy.org> | 2016-04-21 03:27:45 -0400 |
commit | cf385d4bf9cfcb4b8ee27cdac05cd4b00124b7bf (patch) | |
tree | 3944853364bff2b6a8ac3087254bd04bf21e18ba /sexpr.py | |
parent | ba0b2d5a96fa08f9698958527f61f5a5f4efc4de (diff) | |
download | spectrum-cf385d4bf9cfcb4b8ee27cdac05cd4b00124b7bf.tar.gz spectrum-cf385d4bf9cfcb4b8ee27cdac05cd4b00124b7bf.zip |
mvoe implementations into subdirs
Diffstat (limited to 'sexpr.py')
-rw-r--r-- | sexpr.py | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/sexpr.py b/sexpr.py deleted file mode 100644 index 61bb09c..0000000 --- a/sexpr.py +++ /dev/null @@ -1,40 +0,0 @@ - -def tokenize(s, sep="()", ws=" \t\n"): - L = [] - food = 0 - for i, c in enumerate(s): - if c in sep or c in ws: - if food > 0: - L.append(s[i-food:i]) - if c in sep: - L.append(c) - food = 0 - elif i+1 == len(s): - L.append(s[i-food:]) - else: - food += 1 - return L - -def _parse_tokens(tokens, depth=0): - L = [] - i = 0 - while i < len(tokens): - el = tokens[i] - if el == '(': - expr, skip = _parse_tokens(tokens[i+1:], depth+1) - L.append(expr) - i += skip + 1 - elif el == ')': - assert depth > 0, "Missing open bracket..." - return L, i+1 - else: - L.append(el) - i += 1 - assert depth == 0, "Missing close bracket..." - return L, i - -def parse(s): - tokens = tokenize(s) - expr, size = _parse_tokens(tokens) - return expr[0] - |