User guide

9-7
Thisallowsthesameprogramtocalculateanswersusingdifferentbaselogarithms,
dependingonwhetherornottheprogramhasa#define log_10statementatthe
top.
#undefallowsyoutoundefinetext-replacementorflagvariablessotheynolonger
affectaprogram,orsoyoucan#define themagainwithadifferentvalueforadif-
ferentsectionoftheprogram.Ifyouuse#definecstodefineacase-sensitivevar-
iable,youmustusetherightcasewhen#undef'ingit.
With#lineson,#linesoff,#srcline,and#srcfileyoucanincludeline
numberandfilenamerecordsinyourcompiledcode,sothatrun-timeerrorswillbeeas-
iertotrackdown.#srcline and#srcfile arecurrentlyusedbyGAUSSwhen
doingdatalooptranslation.
Formoreinformationonlinenumbertracking,seeDebugging,Section8.4andsee
Debugging Data Loops,Section24.3.Seealso#linesonintheGAUSSLANGUAGE
REFERENCE.
Thesyntaxfor#srcfileand#srclineisdifferentthanfortheotherdirectivesthat
takearguments.Typically,directivesdonottakeargumentsinparentheses;thatis,they
looklikekeywords:
#define red 4
#srcfileand#srcline,however,dotaketheirargumentsinparentheses(likepro-
cedures):
#srcline(12)
Thisallowsyoutoplace#srcline statementsinthemiddleofGAUSScommands,
sothatlinenumbersarereportedpreciselyasyouwantthem.Forexample:
#srcline(1) print "Here is a multi-line "
#srcline(2) "sentence--if it contains a run-time error, "
#srcline(3) "you will know exactly "
#srcline(4) "which part of the sentence has the problem.";
Theargumentsuppliedto#srcfiledoesnotneedquotes:
Language
Fundamentals