Textual format¶
Parsing IR-code from a textual form.
-
exception
ppci.irutils.reader.
IrParseException
¶ Exception raised when reading of IR-code fails.
-
class
ppci.irutils.reader.
Reader
¶ Read IR-code from file
-
at_keyword
(keyword)¶ Test if we are at some keyword.
-
consume_keyword
(keyword)¶ Consume a specific identifier.
-
define_value
(value)¶ Define a value
-
error
(msg)¶ Something went wrong.
-
find_value
(name, ty=ir-typ i32)¶ Try hard to find a value.
If the value is undefined, create a placeholder undefined value.
-
parse_assignment
()¶ Parse an instruction with shape ‘ty’ ‘name’ ‘=’ …
-
parse_block
(function)¶ Read a single block from file
-
parse_external
(module)¶ Parse external variable.
-
parse_function
(binding)¶ Parse a function or procedure
-
parse_module
()¶ Entry for recursive descent parser
-
parse_statement
()¶ Parse a single instruction line
-
parse_type
()¶ Parse a single type
-
parse_value_ref
(ty=ir-typ ptr)¶ Parse a reference to another variable.
-
read
(f) → ppci.ir.Module¶ Read ir code from file f
-
-
ppci.irutils.reader.
read_module
(f) → ppci.ir.Module¶ Read an ir-module from file.
Parameters: f – A file like object ready to be read in text modus. Returns: The loaded ir-module.
Writing IR-code into a textual format.
-
class
ppci.irutils.writer.
Writer
(file=None, extra_indent='')¶ Write ir-code to file
-
write
(module: ppci.ir.Module, verify=True)¶ Write ir-code to file f
-
-
ppci.irutils.writer.
print_module
(module, file=None, verify=True)¶ Print an ir-module as text.
Parameters: - module (
ir.Module
) – The module to turn into textual format. - file – An optional file like object to write to. Defaults to stdout.
- verify (bool) – A boolean indicating whether or not the module should be verified before writing.
- module (