Remove some duplicated tokens
This commit is contained in:
parent
0317cb731b
commit
fb12a4006a
1 changed files with 24 additions and 0 deletions
24
parser.py
24
parser.py
|
@ -150,6 +150,14 @@ def collapse_tokens(uncollapsed_tokens: list) -> list:
|
|||
usefull_tokens.sort(key=operator.itemgetter('line_number'))
|
||||
return usefull_tokens
|
||||
|
||||
def remove_token(removable: dict, tokens: list) -> list:
|
||||
for index in range(0,len(tokens)):
|
||||
token = tokens[index]
|
||||
if token == removable:
|
||||
del tokens[index]
|
||||
break
|
||||
return tokens
|
||||
|
||||
collapsed_tokens = collapse_tokens(tokens)
|
||||
|
||||
for index in range(0, len(collapsed_tokens)):
|
||||
|
@ -159,4 +167,20 @@ for index in range(0, len(collapsed_tokens)):
|
|||
collapsed_tokens[index]['function'] = function.pop()
|
||||
params = coaless_tokens(token['params'], token['line_number'],collapsed_tokens.copy(), "variable_declaration")
|
||||
collapsed_tokens[index]['params'] = params
|
||||
|
||||
minus = 0
|
||||
for index in range(0, len(collapsed_tokens)):
|
||||
token = collapsed_tokens[index - minus].copy()
|
||||
if token['variant'] == 'function_declaration':
|
||||
for part in token['body']:
|
||||
collapsed_tokens = remove_token(part,collapsed_tokens.copy())
|
||||
minus = minus + 1
|
||||
if token['variant'] == 'function_call':
|
||||
for part in token['function']['body']:
|
||||
collapsed_tokens = remove_token(part,collapsed_tokens.copy())
|
||||
minus = minus + 1
|
||||
collapsed_tokens = remove_token(token['function'],collapsed_tokens.copy())
|
||||
minus = minus + 1
|
||||
|
||||
|
||||
print(json.dumps(collapsed_tokens))
|
||||
|
|
Loading…
Add table
Reference in a new issue