ریچارډ WM جونز، لیکوال
د اهدافو سرچینه کوډ
- یوازې د انحصار حل کولو تاکتیک لپاره ملاتړ - "د اسمبلۍ لارښود چلیږي که چیرې د هدف فایل ورک وي یا له یو انحصار څخه زوړ وي." اهداف پالن لري چې نور تاکتیکونه پلي کړي، لکه د یو آر ایل شتون لپاره چک کول، د هر فایل سره د ترمیم وخت پرتله کول، د بسته بندۍ ارزونه
کوجي د چکسمونو پرتله کول، د ازموینې قضیې چلول د ازموینو غوره کولو سره. - کله چې د جوړو اهدافو پروسس کول، جوړ د فایلونو او قاعدو نومونه نه جلا کوي، او د پایلې په توګه، هیڅ چک نشته چې کله د قواعدو چلولو په وخت کې، هغه فایل چې دا ادعا کوي چې رامینځته کیږي واقعیا به رامینځته شي. د مثال په توګه ، که تاسو د "ټیسټ" په نوم یو قاعده ولرئ چې د ازموینې سره سکریپټونه پرمخ وړي ، د "ټیسټ" په نوم فایل په ناڅاپي ډول رامینځته شوی ، نو ازموینې به نور نه ویل کیږي ، ځکه چې میک به په پام کې ونیسي چې هدف جوړ شوی او اړتیا نلري. هر عمل (د دې لپاره چې په جوړ کې د ستونزې په شاوخوا کې کار وکړي، تاسو کولی شئ د "فوني: ټیسټ" لارښود مشخص کړئ). اهداف په ښکاره ډول فایلونه او د قانون نومونه جلا کوي.
- د مجلس لارښوونو لپاره یوازې یو پیرامیټر چمتو کولو کې ستونزه.
اهداف تاسو ته اجازه درکوي چې د نومول شوي پیرامیټرونو خپل سري شمیر وکاروئ. د مثال په توګه، تاسو کولی شئ په جلا توګه د نوم څخه د ډیبګ فایل نښه راوباسئ:
- د شیل ترجمان سره تعامل کې ستونزې. د مثال په توګه، په فایل او ډایرکټر نومونو کې د ځایونو د تیښتې کنټرول اړتیا، د هرې کمانډ اجرا کولو پر مهال د جلا شیل ژباړونکي په لاره اچولو کې د سرچینو ضایع کول، د "$" کرکټر دوه ګونی تفسیر (په دواړو شیل او میک کې کارول کیږي) په پام کې نیولو سره.
دا ستونزې په اهدافو کې د اسمبلۍ متغیرونو لپاره د "$" پرځای د "%" سمبول په کارولو سره حل کیږي ("$" یوازې د شیل لپاره پاتې کیږي) ، د پارسر په کارولو سره.
LALR(1) , کوم چې تاسو ته اړتیا لري چې لارې او د فایل نومونه د نرخونو سره محاصره کړئ او د کوډ بلاکونه د منحل منحلاتو سره روښانه کړئ. د کمانډ ټول بلاک د کمانډ شیل په یوه مثال کې پیل شوی، او د ځانګړي ځایونو ته اشاره کولو پرته، د بلاک دننه د خپل سري کوډ فارمیټ اجازه ورکول کیږي.وو:
هدف: foo.o bar.o
${CC} ${CFLAGS} $< -o $@دا شوه:
"target": "foo.o", "bar.o" {
%CC %CFLAGS %< -o %@
}
د اهدافو نور ځانګړتیاوې:
- د خپل سري نومونو او پیرامیټونو مشخص کولو لپاره اختیاري ملاتړ:
هدف ټول = : "هدف"
د هدف لینک =
"target" : "foo.o"، "bar.o" {... }هدف تالیف (نوم) =
"%name.o" : "%name.c"، "dep.h" { %CC %CFLAGS -c $^ -o $@ } - د پیل کولو دوه طریقې: د فایل نومونو سره د ودانیو هدفونو سره سمون لپاره موډ جوړ کړئ (د مثال په توګه، فایل "foo.o" هدف "%name.o" سره سمون لري)، او د مستقیم تالیف حالت:
هدف ټول = : لینک
د هدف لینک =
"target" : "foo.o"، تالیف ("bar") { ... }هدف تالیف (نوم) =
"%name.o" : "%name.c"، "dep.h" { %CC %CFLAGS -c $^ -o $@ } - د مجلس تاکتیکونه د ځانګړو مقرراتو لخوا ټاکل کیږي چې د غونډې هدف بیا راټولولو اړتیا ټاکلو لپاره کارول کیدی شي. که چیرې د فایل شتون ته لینک جوړ شوی وي، نو دا په واضح ډول د اړونده نښه (د قاعدې نوم لپاره "هدف" او * فایل ("هدف") د فایل چک کولو لپاره ټاکل کیږي.
"target" : "foo.o"، "bar.o" {... }
*دوتنه("هدف"): *دوتنه("foo.o")، *دوتنه("bar.o") {...}
- پرمخ وړونکی کولی شي د مجلس تاکتیکونو خپلسري ځانګړتیاوې تعریف کړي. د "* فایل" بیرغ د ډیفالټ لخوا تعریف شوی (@{...} د محصول فشار ته اشاره کوي، او "exit 99" د بیارغونې اړتیا ته اشاره کوي):
تاکتیک *دوتنه (د فایل نوم) = @{
ټیسټ -f % د فایل نوم || وتل 99
د f لپاره په٪ کېسرچینه: opennet.ru