ساختار برنامه های GAMS
برنامههای GAMS از یک یا چند عبارت (جمله) تشکیل شدهاند که ساختارهای داده، مقادیر اولیه، تغییرات دادهها و روابط نمادین (معادلات) را تعریف میکنند. در حالی که هیچ ترتیب ثابتی وجود ندارد که عبارات باید بر اساس آن مرتب شوند، ترتیب انجام اصلاحات داده مهم است. نمادها باید قبل از استفاده تعریف شوند و قبل از اینکه بتوان در دستورات انتساب به آنها ارجاع داد، باید مقادیر اختصاص داده شده داشته باشند. بعد از هر دستور، یک نقطه ویرگول وجود دارد، به جز آخرین عبارت، که در آن نقطه ویرگول اختیاری است.
توجه
اگر یک کلمه کلیدی جدید GAMS دنبال شود، نقطه ویرگول در انتهای یک عبارت را می توان حذف کرد. با این حال، برای بهبود خوانایی کد، به هر حال توصیه می شود از نقطه ویرگول در انتهای یک عبارت استفاده کنید.
فرمت ورودی GAMS
ورودی GAMS فرمت آزاد است. یک دستور ممکن است در هر نقطه از یک خط قرار گیرد، چندین عبارت ممکن است در یک خط ظاهر شود، یا یک دستور ممکن است در هر تعداد از خطوط به صورت زیر ادامه یابد:
statement; statement; statement; statement; statement; the words that you are now reading is an example of a very long statement which is stretched over two lines
همه خطوط بخشی از زبان GAMS نیستند. دو نماد خاص، ستاره “*” و نماد دلار “$” ممکن است در موقعیت اول یک خط برای نشان دادن یک خط ورودی غیر زبانی استفاده شوند. ستاره در ستون یک به این معنی است که خط پردازش نمی شود، بلکه به عنوان یک نظر در نظر گرفته می شود. برای اطلاعات بیشتر در مورد نظرات، بخش نظرات را ببینید. نماد دلار در موقعیت اول نشان می دهد که گزینه ها یا دستورالعمل های کامپایلر در بقیه خط موجود است (برای اطلاعات بیشتر به بخش گزینه های کنترل دلار مراجعه کنید).
این به این معنی است که حروف کوچک و بزرگ ممکن است آزادانه با هم مخلوط شوند اما با آنها یکسان رفتار می شود. ممکن است تا ۸۰۰۰۰ کاراکتر در یک خط قرار داده شود و خطوط کاملاً خالی برای خواندن آسان تر درج شود.
به عنوان مثال، چندین فایل ممکن است به عنوان ورودی از طریق استفاده از تسهیلات $include استفاده شوند. به طور خلاصه:
$include file1
محتویات فایل مشخص شده (در این مورد file1) را در محل تماس درج می کند. یک نسخه پیچیده تر از این گزینه $batinclude است. هر دو گزینه در بخش گزینه های کنترل دلار معرفی و به تفصیل مورد بحث قرار گرفته اند.