/ 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)