parser.py 767 B

12345678910111213141516171819202122232425262728293031323334
  1. import sys
  2. class LineDesc:
  3. def __init__(self, level, text):
  4. self.level = level
  5. self.text = text
  6. assert self.text[0] != ' '
  7. def parse(text):
  8. lines = text.split("\n")
  9. linedescs = []
  10. for line in lines[:50]:
  11. lead_spaces = len(line) - len(line.lstrip(" "))
  12. level = lead_spaces / 4
  13. if line.strip(" ") == "":
  14. continue
  15. line = line.lstrip(" ")
  16. print(level, line)
  17. ldesc = LineDesc(level, line)
  18. linedescs.append(ldesc)
  19. def main(argv):
  20. if len(argv) == 1:
  21. print("error: missing proof file", file=sys.stderr)
  22. return -1
  23. filename = sys.argv[1]
  24. text = open(filename, "r").read()
  25. parse(text)
  26. if __name__ == "__main__":
  27. main(sys.argv)