From 9af2f3f185449235241fddd71d2253e302ef30d8 Mon Sep 17 00:00:00 2001 From: JonoCode9374 <36217120+JonoCode9374@users.noreply.github.com> Date: Fri, 27 Dec 2019 16:32:47 +1100 Subject: [PATCH] Update chainify.py --- chainify.py | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/chainify.py b/chainify.py index 77e3540..6d3ca98 100644 --- a/chainify.py +++ b/chainify.py @@ -1,8 +1,69 @@ dyads = "*+-/%@!&^:" monads = list(map(chr, range(ord("A"), ord("Z") + 1))) nilads = "1234567890" +syntax = "{}[]" source = input()[::-1] + +def balance(source): + ''' + + a[bc --> a[bc] + ab} --> {ab} + m{ab]c -> [m{ab}]c + + ''' + + final = "" + brackets = [] + temp = "" + for char in source: + if char in "[{": + brackets.append(char) + final += char + + elif char == "}": + if brackets: + if brackets[-1] == "{": + final += char + + else: + final = "{" + final + "]}" + + brackets.pop() + + else: + final = "[" + final + "]" + + elif char == "]": + if brackets: + if brackets[-1] == "[": + final += char + + else: + final = "[" + final + "}]" + + brackets.pop() + + else: + final = "[" + final + "]" + + else: + final += char + + if brackets: + for char in brackets: + if char == "[": + final += "]" + else: + final += "}" + return final + +def chunkify(source): + chunks = [] + in_bracket = 0 + for char in source: pass + arities = [] for char in source: if char in dyads: