aboutsummaryrefslogtreecommitdiffstats
path: root/sexpr.py
diff options
context:
space:
mode:
authorbnewbold <bnewbold@robocracy.org>2016-04-21 03:27:45 -0400
committerbnewbold <bnewbold@robocracy.org>2016-04-21 03:27:45 -0400
commitcf385d4bf9cfcb4b8ee27cdac05cd4b00124b7bf (patch)
tree3944853364bff2b6a8ac3087254bd04bf21e18ba /sexpr.py
parentba0b2d5a96fa08f9698958527f61f5a5f4efc4de (diff)
downloadspectrum-cf385d4bf9cfcb4b8ee27cdac05cd4b00124b7bf.tar.gz
spectrum-cf385d4bf9cfcb4b8ee27cdac05cd4b00124b7bf.zip
mvoe implementations into subdirs
Diffstat (limited to 'sexpr.py')
-rw-r--r--sexpr.py40
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]
-