OR-1 dataflow CPU sketch
1"""Shared test helper functions for the OR1 assembler test suite."""
2
3from textwrap import dedent
4
5from asm.lower import lower
6from asm.resolve import resolve
7
8
9def parse_and_lower(parser, source: str):
10 """Parse source code and lower the resulting CST to IRGraph."""
11 tree = parser.parse(dedent(source))
12 return lower(tree)
13
14
15def parse_lower_resolve(parser, source: str):
16 """Parse source code, lower to IRGraph, then resolve names."""
17 tree = parser.parse(dedent(source))
18 graph = lower(tree)
19 return resolve(graph)