add function for parsing inputdata strings

This commit is contained in:
Trolli Schmittlauch 2017-06-27 23:47:56 +02:00
parent 252e7d6ee0
commit 901472e8b5
2 changed files with 14 additions and 4 deletions

View file

@ -33,14 +33,19 @@ class JobShop1Visitor(JobShopVisitor):
def visit_trim_ws(self, node:arpeggio.ParseTreeNode, children: arpeggio.SemanticActionResults) -> None:
return None
def parse_jobshop1_string(inputdata: str) -> JobShopProblem:
"""parse string with jobshop1-formatted data (multiple problem instances)
and return list of JobShopProblem s"""
parse_tree = parser.parse(inputdata)
return arpeggio.visit_parse_tree(parse_tree, JobShop1Visitor())
def parse_jobshop1_file(filename: Union[str, bytes]) -> List[JobShopProblem]:
"""Open file with jobshop1-formatted data (multiple problem instances),
parse it and return list of JobShopProblem s"""
with open(filename) as datafile:
inputdata: str = datafile.read()
parse_tree = parser.parse(inputdata)
return arpeggio.visit_parse_tree(parse_tree, JobShop1Visitor())
return parse_jobshop1_string(inputdata)
def main():