cutcutcodec.core.compilation.graph_to_ast
Compile an assembly graph into an evaluable source code of tree.
Functions
|
Create the complete source code module from the assembly graph. |
Details
- cutcutcodec.core.compilation.graph_to_ast.graph_to_ast(graph: MultiDiGraph) Module[source]
Create the complete source code module from the assembly graph.
Parameters
- graphnetworkx.MultiDiGraph
The assembly graph.
Returns
- moduleast.Module
The syntaxical graph of an equivalent code. The function
get_complete_treereturns the graph.
Examples
>>> import ast >>> from cutcutcodec.core.classes.container import ContainerOutput >>> from cutcutcodec.core.compilation.graph_to_ast import graph_to_ast >>> from cutcutcodec.core.compilation.tree_to_graph import tree_to_graph >>> from cutcutcodec.core.generation.audio.noise import GeneratorAudioNoise >>> graph = tree_to_graph(ContainerOutput(GeneratorAudioNoise(0).out_streams)) >>> graph_to_ast(graph) Module(body=[Expr(..., type_ignores=[]) >>> print(ast.unparse(_)) """Autogenerated project exportation script. Creation: ... Graph: MultiDiGraph with 2 nodes and 1 edges """ from cutcutcodec.core.classes.container import ContainerOutput from cutcutcodec.core.classes.node import Node from cutcutcodec.core.generation.audio.noise import GeneratorAudioNoise def get_container_output_1(generator_audio_noise_1: Node) -> ContainerOutput: """Create the node 'container_output_1'.""" container_output_1 = ContainerOutput.__new__(ContainerOutput) container_output_1.setstate([generator_audio_noise_1.out_streams[0]], state={}) return container_output_1 def get_generator_audio_noise_1() -> GeneratorAudioNoise: """Create the node 'generator_audio_noise_1'.""" generator_audio_noise_1 = GeneratorAudioNoise.__new__(GeneratorAudioNoise) generator_audio_noise_1.setstate([], state={'seed': 0.0, 'layout': 'stereo'}) return generator_audio_noise_1 def get_complete_tree() -> ContainerOutput: """Retrive the complete assembly graph.""" generator_audio_noise_1 = get_generator_audio_noise_1() container_output_1 = get_container_output_1(generator_audio_noise_1) return container_output_1 if __name__ == '__main__': get_complete_tree().write() >>>