{"version":3,"sources":["jsdelivr-header.js","/npm/pine-lang-js@3.6.3/pineLang.js"],"names":[],"mappings":"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","file":"/npm/pine-lang-js@3.6.3/pineLang.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/pine-lang-js@3.6.3/pineLang.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","function parseExpression(program) {\n  program = skipSpace(program);\n  let match, expr;\n  if (match = /^\"([^\"]*)\"/.exec(program)) {\n    expr = {type: \"value\", value: match[1]};\n  } else if (match = /^\\d+\\b/.exec(program)) {\n    expr = {type: \"value\", value: Number(match[0])};\n  } else if (match = /^[^\\s(),#\"]+/.exec(program)) {\n    expr = {type: \"word\", name: match[0]};\n  } else {\n    console.log(\"Unexpected syntax: \" + program);\n  }\n  return parseApply(expr, program.slice(match[0].length));\n}\n\nconst prompt = require(\"prompt-sync\")({ sigint: true });\nfunction skipSpace(string) {\n  let first = string.search(/\\S/);\n  if (first == -1) return \"\";\n  return string.slice(first);\n}\n\nfunction parseApply(expr, program) {\n  program = skipSpace(program);\n  if (program[0] != \"(\") {\n    return {expr: expr, rest: program};\n  }\n\n  program = skipSpace(program.slice(1));\n  expr = {type: \"apply\", operator: expr, args: []};\n  while (program[0] != \")\") {\n    let arg = parseExpression(program);\n    expr.args.push(arg.expr);\n    program = skipSpace(arg.rest);\n    if (program[0] == \",\" || program[0]==\";\") {\n      program = skipSpace(program.slice(1));\n    } else if (program[0] != \")\") {\n      console.log(\"Expected ',' or ')'\");\n    }\n  }\n  return parseApply(expr, program.slice(1));\n}\n\nfunction parse(program) {\n  let {expr, rest} = parseExpression(program);\n  if (skipSpace(rest).length > 0) {\n    console.log(\"Unexpected text after program\");\n  }\n  return expr;\n}\n\n\nconst specialForms = Object.create(null);\n\nfunction evaluate(expr, scope) {\n  if (expr.type == \"value\") {\n    return expr.value;\n  } else if (expr.type == \"word\") {\n    if (expr.name in scope) {\n      return scope[expr.name];\n    } else {\n      console.log(\n        `Undefined binding: ${expr.name}`);\n    }\n  } else if (expr.type == \"apply\") {\n    let {operator, args} = expr;\n    if (operator.type == \"word\" &&\n        operator.name in specialForms) {\n      return specialForms[operator.name](expr.args, scope);\n    } else {\n      let op = evaluate(operator, scope);\n      if (typeof op == \"function\") {\n        return op(...args.map(arg => evaluate(arg, scope)));\n      } else {\n        console.log(\"Applying a non-function.\");\n      }\n    }\n  }\n}\n\nspecialForms.onlyIf = (args, scope) => {\n  if (args.length != 3) {\n    if(args[1] in specialForms){\n      console.log(\"e.e\")\n      if(evaluate(args[0], scope) !==true){\n        return evaluate(args[1], scope)\n      } \n    }\n  } else if (evaluate(args[0], scope) !== false) {\n    return evaluate(args[1], scope);\n  } else {\n    return evaluate(args[2], scope);\n  }\n};\n\nspecialForms.while = (args, scope) => {\n  if (args.length != 2) {\n    console.log(\"Wrong number of args to while\");\n  }\n  while (evaluate(args[0], scope) !== false) {\n    evaluate(args[1], scope);\n  }\n\n  // Since undefined does not exist in Egg, we return false,\n  // for lack of a meaningful result.\n  return false;\n};\n\nspecialForms.run = (args, scope) => {\n  let value = false;\n  for (let arg of args) {\n    value = evaluate(arg, scope);\n  }\n  return value;\n};\n\nspecialForms.dictionaries = () => {\n  ls=[]\n  for(const i in specialForms){\n    ls.push(i)\n  }\n  return ls\n}\n\nspecialForms.scope = (args, scope) => {\n  console.log(scope)\n}\n\nspecialForms.def = (args, scope) => {\n  if (args.length != 2 || args[0].type != \"word\") {\n    console.log(\"Incorrect use of define\");\n  }\n  let value = evaluate(args[1], scope);\n  specialForms[args[0].name]= (args, scope) => {\n    return value\n  }\n  i=args[0].name\n  specialForms[`${i}.set`] = (argsy, scope) => {\n    let value = evaluate(argsy[0], scope);\n    specialForms[i]= (args, scope) => {\n      return value\n    }\n    scope[i] = value;\n    return value;\n  }\n  if(typeof(value) == \"boolean\") valuee=\".\"\n  else valuee=value.toString()\n  if(valuee.startsWith(\"[\") && valuee.endsWith(\"]\")){\n    value=value.split()\n    value=value[0].split(\"[\")\n    value.shift()\n    value[value.length-1]=value[value.length-1].split(\"]\")[0]\n    value.join()\n    value=value[0].split(\",\")\n    for(let i in value){\n      if(value[i] == '') value.splice(i)\n    }\n  }\n  specialForms[`${i}.add`] = (args, scope) => {\n    let value = specialForms[i]()\n    let toAdd = evaluate(args[0], scope)\n    try {\n      value=value.toArray()\n    } catch {\n      console.log()\n    }\n    try {\n      value.push(toAdd)\n    } catch (err) {\n      console.log(err)\n    }\n    specialForms[i]= (args, scope) => {\n      return value\n    }\n    specialForms[i] = (args, scope) => {\n      return value\n    }\n    scope[i] = value\n    return value\n  }\n  specialForms[`${i}.remove`] = (args, scope) => {\n    let value = specialForms[i]()\n    let toRemove = evaluate(args[0], scope)\n    try {\n      value=value.toArray()\n    } catch {\n      console.log()\n    }\n    try {\n      value.splice(value.indexOf(toRemove))\n    } catch (err) {\n      console.log(err)\n    }\n    specialForms[i]= (args, scope) => {\n      return value\n    }\n    specialForms[i] = (args, scope) => {\n      return value\n    }\n    scope[i] = value\n    return value\n  }\n  specialForms[`${i}.Int`] = (argsyy, scope) => {\n    let value = specialForms[i]()\n    try {\n      value=parseInt(value)\n    } catch (err) {\n      console.log(err)\n    }\n    specialForms[i]= (args, scope) => {\n      return value\n    }\n    specialForms[i] = (args, scope) => {\n      return value\n    }\n    scope[i] = value\n    return value\n  }\n  specialForms[`${i}.Str`] = (argsyyy, scope) => {\n    let value = specialForms[i]()\n    try {\n      value=value.toString()\n    } catch (err) {\n      console.log(err)\n    }\n    specialForms[i]= (args, scope) => {\n      return value\n    }\n    scope[i] = value\n  }\n  return value\n  scope[args[0].name] = value;\n};\nconst topScope = Object.create(null);\n\ntopScope.true = true;\ntopScope.false = false;\ntopScope.undefined = null\n\n\n// → false\n\nfor (let op of [\"+\", \"-\", \"*\", \"/\", \"==\", \"<\", \">\", \"^\"]) {\n  topScope[op] = Function(\"a, b\", `return a ${op} b;`);\n}\n\n\nspecialForms.func = (args, scope) => {\n  if (!args.length) {\n    throw new SyntaxError(\"Functions need a body\");\n  }\n  let body = args[args.length - 1];\n  let params = args.slice(0, args.length - 1).map(expr => {\n    if (expr.type != \"word\") {\n      console.log(\"Parameter names must be words\");\n    }\n    return expr.name;\n  });\n  return function () {\n    if (arguments.length != params.length) {\n      throw new TypeError(\"Wrong number of arguments\");\n    }\n    let localScope = Object.create(scope);\n    for (let i = 0; i < arguments.length; i++) {\n      localScope[params[i]] = arguments[i];\n    }\n    return evaluate(body, localScope);\n  };\n};\n\ntopScope.say = value => {\n  console.log(value)\n};\ntopScope.ask = value => {\n  return input(value)\n}\ntopScope.newList = () => {\n  return \"[]\"\n}\ntopScope.sqrt = value => {\n  return Math.sqrt(value)\n}\nconst variables = Object.create(null)\n\nvariables.dad = value => {\n  console.log(\"HEY\")\n}\n\nmodule.exports.run = function run(program) {\n  val=evaluate(parse(program), Object.create(topScope), Object.create(variables));\n  return val\n}\n\nfunction input(q){\n  variable=prompt(q)\n  return variable\n}\nvariabley=2\n\n\n\nvariable=true\n\n\n\n\n\n"]}