--- es4.py- 2016-08-31 02:00:00.000000000 +0900 +++ es4.py 2016-09-01 00:00:00.000000000 +0900 @@ -27,6 +27,17 @@ qs = decode( s[:j], tbl ) return [ [ 'str', qs ] ] + div_str( s[j:], tbl ) +def cut_comment(lst): + sta = '/*' + end = '*/' + if sta not in lst: + return lst + i = lst.index(sta) + if i > 0: + return lst[:i] + cut_comment(lst[i:]) + j = 1 + lst[1:].index(end) + 1 if end in lst[1:] else len(lst) + return cut_comment(lst[j:]) + def es_split(s): tbl = [ '/*', '*/', '(', ')', ';', ',', '*', '"', ' ', '\t', '\n' ] s = encode(s, tbl) @@ -39,6 +50,9 @@ f2 = lambda t, e: t + f(e) lst = reduce(f2, lst, []) + print('before cut_comment:\n{}\n'.format(lst)) + lst = cut_comment(lst) + return lst if __name__ == "__main__":