{"version":3,"file":"gams-DeoDO8MK.chunk.mjs","sources":["../node_modules/highlight.js/lib/languages/gams.js"],"sourcesContent":["/*\n Language: GAMS\n Author: Stefan Bechert \n Contributors: Oleg Efimov , Mikko Kouhia \n Description: The General Algebraic Modeling System language\n Website: https://www.gams.com\n Category: scientific\n */\n\n/** @type LanguageFn */\nfunction gams(hljs) {\n const regex = hljs.regex;\n const KEYWORDS = {\n keyword:\n 'abort acronym acronyms alias all and assign binary card diag display '\n + 'else eq file files for free ge gt if integer le loop lt maximizing '\n + 'minimizing model models ne negative no not option options or ord '\n + 'positive prod put putpage puttl repeat sameas semicont semiint smax '\n + 'smin solve sos1 sos2 sum system table then until using while xor yes',\n literal:\n 'eps inf na',\n built_in:\n 'abs arccos arcsin arctan arctan2 Beta betaReg binomial ceil centropy '\n + 'cos cosh cvPower div div0 eDist entropy errorf execSeed exp fact '\n + 'floor frac gamma gammaReg log logBeta logGamma log10 log2 mapVal max '\n + 'min mod ncpCM ncpF ncpVUpow ncpVUsin normal pi poly power '\n + 'randBinomial randLinear randTriangle round rPower sigmoid sign '\n + 'signPower sin sinh slexp sllog10 slrec sqexp sqlog10 sqr sqrec sqrt '\n + 'tan tanh trunc uniform uniformInt vcPower bool_and bool_eqv bool_imp '\n + 'bool_not bool_or bool_xor ifThen rel_eq rel_ge rel_gt rel_le rel_lt '\n + 'rel_ne gday gdow ghour gleap gmillisec gminute gmonth gsecond gyear '\n + 'jdate jnow jstart jtime errorLevel execError gamsRelease gamsVersion '\n + 'handleCollect handleDelete handleStatus handleSubmit heapFree '\n + 'heapLimit heapSize jobHandle jobKill jobStatus jobTerminate '\n + 'licenseLevel licenseStatus maxExecError sleep timeClose timeComp '\n + 'timeElapsed timeExec timeStart'\n };\n const PARAMS = {\n className: 'params',\n begin: /\\(/,\n end: /\\)/,\n excludeBegin: true,\n excludeEnd: true\n };\n const SYMBOLS = {\n className: 'symbol',\n variants: [\n { begin: /=[lgenxc]=/ },\n { begin: /\\$/ }\n ]\n };\n const QSTR = { // One-line quoted comment string\n className: 'comment',\n variants: [\n {\n begin: '\\'',\n end: '\\''\n },\n {\n begin: '\"',\n end: '\"'\n }\n ],\n illegal: '\\\\n',\n contains: [ hljs.BACKSLASH_ESCAPE ]\n };\n const ASSIGNMENT = {\n begin: '/',\n end: '/',\n keywords: KEYWORDS,\n contains: [\n QSTR,\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n hljs.C_NUMBER_MODE\n ]\n };\n const COMMENT_WORD = /[a-z0-9&#*=?@\\\\><:,()$[\\]_.{}!+%^-]+/;\n const DESCTEXT = { // Parameter/set/variable description text\n begin: /[a-z][a-z0-9_]*(\\([a-z0-9_, ]*\\))?[ \\t]+/,\n excludeBegin: true,\n end: '$',\n endsWithParent: true,\n contains: [\n QSTR,\n ASSIGNMENT,\n {\n className: 'comment',\n // one comment word, then possibly more\n begin: regex.concat(\n COMMENT_WORD,\n // [ ] because \\s would be too broad (matching newlines)\n regex.anyNumberOfTimes(regex.concat(/[ ]+/, COMMENT_WORD))\n ),\n relevance: 0\n }\n ]\n };\n\n return {\n name: 'GAMS',\n aliases: [ 'gms' ],\n case_insensitive: true,\n keywords: KEYWORDS,\n contains: [\n hljs.COMMENT(/^\\$ontext/, /^\\$offtext/),\n {\n className: 'meta',\n begin: '^\\\\$[a-z0-9]+',\n end: '$',\n returnBegin: true,\n contains: [\n {\n className: 'keyword',\n begin: '^\\\\$[a-z0-9]+'\n }\n ]\n },\n hljs.COMMENT('^\\\\*', '$'),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n // Declarations\n {\n beginKeywords:\n 'set sets parameter parameters variable variables '\n + 'scalar scalars equation equations',\n end: ';',\n contains: [\n hljs.COMMENT('^\\\\*', '$'),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n ASSIGNMENT,\n DESCTEXT\n ]\n },\n { // table environment\n beginKeywords: 'table',\n end: ';',\n returnBegin: true,\n contains: [\n { // table header row\n beginKeywords: 'table',\n end: '$',\n contains: [ DESCTEXT ]\n },\n hljs.COMMENT('^\\\\*', '$'),\n hljs.C_LINE_COMMENT_MODE,\n hljs.C_BLOCK_COMMENT_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.APOS_STRING_MODE,\n hljs.C_NUMBER_MODE\n // Table does not contain DESCTEXT or ASSIGNMENT\n ]\n },\n // Function definitions\n {\n className: 'function',\n begin: /^[a-z][a-z0-9_,\\-+' ()$]+\\.{2}/,\n returnBegin: true,\n contains: [\n { // Function title\n className: 'title',\n begin: /^[a-z0-9_]+/\n },\n PARAMS,\n SYMBOLS\n ]\n },\n hljs.C_NUMBER_MODE,\n SYMBOLS\n ]\n };\n}\n\nmodule.exports = gams;\n"],"names":["gams","hljs","regex","KEYWORDS","PARAMS","SYMBOLS","QSTR","ASSIGNMENT","COMMENT_WORD","DESCTEXT","gams_1"],"mappings":"4YAUA,SAASA,EAAKC,EAAM,CAClB,MAAMC,EAAQD,EAAK,MACbE,EAAW,CACf,QACE,oVAKF,QACE,aACF,SACE,q3BAcN,EACQC,EAAS,CACb,UAAW,SACX,MAAO,KACP,IAAK,KACL,aAAc,GACd,WAAY,EAChB,EACQC,EAAU,CACd,UAAW,SACX,SAAU,CACR,CAAE,MAAO,YAAc,EACvB,CAAE,MAAO,IAAM,CAChB,CACL,EACQC,EAAO,CACX,UAAW,UACX,SAAU,CACR,CACE,MAAO,IACP,IAAK,GACN,EACD,CACE,MAAO,IACP,IAAK,GACN,CACF,EACD,QAAS,MACT,SAAU,CAAEL,EAAK,gBAAkB,CACvC,EACQM,EAAa,CACjB,MAAO,IACP,IAAK,IACL,SAAUJ,EACV,SAAU,CACRG,EACAL,EAAK,oBACLA,EAAK,qBACLA,EAAK,kBACLA,EAAK,iBACLA,EAAK,aACN,CACL,EACQO,EAAe,uCACfC,EAAW,CACf,MAAO,2CACP,aAAc,GACd,IAAK,IACL,eAAgB,GAChB,SAAU,CACRH,EACAC,EACA,CACE,UAAW,UAEX,MAAOL,EAAM,OACXM,EAEAN,EAAM,iBAAiBA,EAAM,OAAO,OAAQM,CAAY,CAAC,CAC1D,EACD,UAAW,CACZ,CACF,CACL,EAEE,MAAO,CACL,KAAM,OACN,QAAS,CAAE,KAAO,EAClB,iBAAkB,GAClB,SAAUL,EACV,SAAU,CACRF,EAAK,QAAQ,YAAa,YAAY,EACtC,CACE,UAAW,OACX,MAAO,gBACP,IAAK,IACL,YAAa,GACb,SAAU,CACR,CACE,UAAW,UACX,MAAO,eACR,CACF,CACF,EACDA,EAAK,QAAQ,OAAQ,GAAG,EACxBA,EAAK,oBACLA,EAAK,qBACLA,EAAK,kBACLA,EAAK,iBAEL,CACE,cACE,qFAEF,IAAK,IACL,SAAU,CACRA,EAAK,QAAQ,OAAQ,GAAG,EACxBA,EAAK,oBACLA,EAAK,qBACLA,EAAK,kBACLA,EAAK,iBACLM,EACAE,CACD,CACF,EACD,CACE,cAAe,QACf,IAAK,IACL,YAAa,GACb,SAAU,CACR,CACE,cAAe,QACf,IAAK,IACL,SAAU,CAAEA,CAAU,CACvB,EACDR,EAAK,QAAQ,OAAQ,GAAG,EACxBA,EAAK,oBACLA,EAAK,qBACLA,EAAK,kBACLA,EAAK,iBACLA,EAAK,aAEN,CACF,EAED,CACE,UAAW,WACX,MAAO,iCACP,YAAa,GACb,SAAU,CACR,CACE,UAAW,QACX,MAAO,aACR,EACDG,EACAC,CACD,CACF,EACDJ,EAAK,cACLI,CACD,CACL,CACA,CAEA,IAAAK,EAAiBV","x_google_ignoreList":[0]}