Modulinos: Difference between revisions

Content added Content deleted
(Added J)
(Added SAC)
Line 1,150: Line 1,150:
puts "Life means #{meaning_of_life}."
puts "Life means #{meaning_of_life}."
puts "Death means invisible scary skeletons."</lang>
puts "Death means invisible scary skeletons."</lang>

=={{header|SAC}}==

Makefile:
<lang make>all: scriptedmain

scriptedmain: ScriptedMain.sac
sac2c -o scriptedmain ScriptedMain.sac -Dscriptedmain

test: test.sac ScriptedMain.sac
sac2c ScriptedMain.sac
sac2c -o test test.sac

clean:
-rm test
-rm test.c
-rm libScriptedMainTree.so
-rm libScriptedMainMod.so
-rm libScriptedMainMod.a
-rm scriptedmain
-rm scriptedmain.c</lang>

ScriptedMain.sac:
<lang c>#ifndef scriptedmain
module ScriptedMain;
#endif

use StdIO: all;
use Array: all;
export all;

int meaning_of_life() {
return(42);
}

#ifdef scriptedmain
int main() {
printf("Main: The meaning of life is %d\n", meaning_of_life());
return(0);
}
#endif</lang>

test.sac:
<lang c>use StdIO: all;
use Array: all;
use ScriptedMain: all;

int main() {
printf("Test: The meaning of life is %d\n", meaning_of_life());
return(0);
}</lang>

Example:
<lang sh>$ make
$ make test
$ ./scriptedmain
Main: The meaning of life is 42
$ ./test
Test: The meaning of life is 42</lang>


=={{header|Tcl}}==
=={{header|Tcl}}==