import{t as e}from"./chunk-YNYSPYQ5-gU4-j5DO.mjs";import{n as t}from"./chunk-3THT3N7L-B1WzJUh4.mjs";var n={name:`expr`,async execute(e,n){if(e.length===0)return{stdout:``,stderr:`expr: missing operand
`,exitCode:2};try{let t=r(e),n=t===`0`||t===``?1:0;return{stdout:`${t}
`,stderr:``,exitCode:n}}catch(e){return{stdout:``,stderr:`expr: ${t(e.message)}
`,exitCode:2}}}};function r(t){if(t.length===1)return t[0];let n=0;function r(){let e=i();for(;n<t.length&&t[n]===`|`;){n++;let t=i();if(e!==`0`&&e!==``)return e;e=t}return e}function i(){let e=a();for(;n<t.length&&t[n]===`&`;){n++;let t=a();(e===`0`||e===``||t===`0`||t===``)&&(e=`0`)}return e}function a(){let e=o();for(;n<t.length;){let r=t[n];if([`=`,`!=`,`<`,`>`,`<=`,`>=`].includes(r)){n++;let t=o(),i=parseInt(e,10),a=parseInt(t,10),s=!Number.isNaN(i)&&!Number.isNaN(a),c;c=r===`=`?s?i===a:e===t:r===`!=`?s?i!==a:e!==t:r===`<`?s?i<a:e<t:r===`>`?s?i>a:e>t:r===`<=`?s?i<=a:e<=t:s?i>=a:e>=t,e=c?`1`:`0`}else break}return e}function o(){let e=s();for(;n<t.length;){let r=t[n];if(r===`+`||r===`-`){n++;let t=s(),i=parseInt(e,10),a=parseInt(t,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);e=String(r===`+`?i+a:i-a)}else break}return e}function s(){let e=c();for(;n<t.length;){let r=t[n];if(r===`*`||r===`/`||r===`%`){n++;let t=c(),i=parseInt(e,10),a=parseInt(t,10);if(Number.isNaN(i)||Number.isNaN(a))throw Error(`non-integer argument`);if((r===`/`||r===`%`)&&a===0)throw Error(`division by zero`);e=String(r===`*`?i*a:r===`/`?Math.trunc(i/a):i%a)}else break}return e}function c(){let r=l();for(;n<t.length&&t[n]===`:`;){n++;let t=e(`^${l()}`).match(r);r=t?t[1]===void 0?String(t[0].length):t[1]:`0`}return r}function l(){if(n>=t.length)throw Error(`syntax error`);let i=t[n];if(i===`match`){n++;let t=l(),r=e(l()).match(t);return r?r[1]===void 0?String(r[0].length):r[1]:`0`}if(i===`substr`){n++;let e=l(),t=parseInt(l(),10),r=parseInt(l(),10);if(Number.isNaN(t)||Number.isNaN(r))throw Error(`non-integer argument`);return e.substring(t-1,t-1+r)}if(i===`index`){n++;let e=l(),t=l();for(let n=0;n<e.length;n++)if(t.includes(e[n]))return String(n+1);return`0`}if(i===`length`){n++;let e=l();return String(e.length)}if(i===`(`){n++;let e=r();if(n>=t.length||t[n]!==`)`)throw Error(`syntax error`);return n++,e}return n++,i}return r()}var i={name:`expr`,flags:[],needsArgs:!0};export{n,i as t};
//# sourceMappingURL=chunk-YFG2CMIF-DjdwxBNc.mjs.map