@startuml doc-files/lang05.1.MacroWindow.png
participant "UIExtensionMacros" as UI
participant "MacrosController" as mC
participant "Macro: Macro" as M
participant "MacroFormulaCompiler" as mFC
participant "Value: val" as value
participant "Formula: frml" as frml


create mC
UI -> mC : create()

UI -> mC : runMacro(cell, functions)

create M
mC -> M: create(cell, functions)

mC -> M : runMacro(cell, functions)

create frml
M->frml: create()

create value
M -> value: create()

M -> mFC : frml = compile()

M->frml : val=evaluate();



@enduml