/ skill.py
skill.py
1 #!/usr/bin/env python3 2 """Python code for parsing a Cadence technology file""" 3 # SPDX-License-Identifier: AGPL-3.0-or-later OR GPL-2.0-or-later OR CERN-OHL-S-2.0+ OR Apache-2.0 4 import sys 5 import yaml 6 7 from pdkmaster import SkillFile 8 import pdkmaster.parsing.skill_grammar as skill_grammar 9 import modgrammar.debugging 10 11 # Override debug 12 skill_grammar._debug = True 13 14 with open(sys.argv[1], "r", encoding="latin_1") as f: 15 text = f.read() 16 17 debug = None 18 debug_flags = None 19 # debug = True 20 # debug_flags = modgrammar.debugging.DEBUG_ALL 21 skillfile = SkillFile.parse_string(text) 22 23 # for it in skillfile.value["SkillFile"]: 24 # for name, _ in it.items(): 25 # print(name) 26 if len(sys.argv) > 2: 27 with open(sys.argv[2], "w") as f: 28 yaml.dump(skillfile.ast, stream=f, sort_keys=False) 29 else: 30 yaml.dump(skillfile.ast, stream=sys.stdout, sort_keys=False)