From 08ae1c57728b3e12972c2e38525f3fc9fe394c17 Mon Sep 17 00:00:00 2001 From: geno Date: Wed, 29 Jan 2025 12:30:27 +0100 Subject: [PATCH] update main --- src/chorer.erl | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/chorer.erl b/src/chorer.erl index f457605..762820b 100644 --- a/src/chorer.erl +++ b/src/chorer.erl @@ -9,8 +9,12 @@ -module(chorer). -include("share/common_data.hrl"). +-define(DEFOUTPUT, "."). +-define(DEFMINL, true). +-define(DEFMING, false). + %%% API --export([main/1, generate/5]). +-export([main/1, generate/2, generate/5]). %%%=================================================================== %%% API @@ -26,9 +30,9 @@ cli() -> arguments => [ #{name => input, type => string, help => "Erlang soure file"}, #{name => entrypoint, type => {atom, unsafe}, help => "Entrypoint of the program"}, - #{name => output, type => string, default => ".", help => "Output directory for the generated dot files"}, - #{name => minl, type => boolean, default => true, help => "Minimize the localviews"}, - #{name => ming, type => boolean, default => false, help => "Minimize the globalviews"} + #{name => output, type => string, default => ?DEFOUTPUT, help => "Output directory for the generated dot files"}, + #{name => minl, type => boolean, default => ?DEFMINL, help => "Minimize the localviews"}, + #{name => ming, type => boolean, default => ?DEFMING, help => "Minimize the globalviews"} ], help=> """ Extract a choreography automata of an Erlang program. @@ -47,6 +51,15 @@ cli() -> end }. + +%%% @doc +%%% Used within the Erlang shell (call generate/5). +-spec generate(InputFile, EntryPoint) -> atom() when + InputFile :: string(), + EntryPoint :: atom(). +generate(InputFile, EntryPoint) -> + generate(InputFile, EntryPoint, ?DEFOUTPUT, ?DEFMINL, ?DEFMINL). + %%% @doc %%% Generate the localviews and the globalview specifing the output directory. %%% It initialize the ets tables and generates the localviews and globalview.