# log.g
log is inline( msg is string ) :=
{
logimpl( system.file, system.line, system.date, system.time, system.funcname, msg );
}
logimpl is code( SourcePath, SourceLine, Date, Time, SourceFuncName, msg is string )
{
print("[", Date$, "-", Time$, "] in File ", SourcePath$, " in ", $SourceFuncName, " at line ", SourceLine$, ": ", msg;
}
# main.g
main is code :=
{
log( "Programmstart" );
}
wird log in main kodiert, was dazu führt, dass SourcePath da liegt, wo main liegt, SourceFuncName „::main“ entspricht und SourceLine 3 sein sollte.„