var n, a;
function s() {
  if (a)
    return n;
  a = 1;
  function i(e) {
    const O = "[A-Z_][A-Z0-9_.]*", t = "%", N = {
      $pattern: O,
      keyword: "IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"
    }, _ = {
      className: "meta",
      begin: "([O])([0-9]+)"
    }, E = e.inherit(e.C_NUMBER_MODE, { begin: "([-+]?((\\.\\d+)|(\\d+)(\\.\\d*)?))|" + e.C_NUMBER_RE }), c = [
      e.C_LINE_COMMENT_MODE,
      e.C_BLOCK_COMMENT_MODE,
      e.COMMENT(/\(/, /\)/),
      E,
      e.inherit(e.APOS_STRING_MODE, { illegal: null }),
      e.inherit(e.QUOTE_STRING_MODE, { illegal: null }),
      {
        className: "name",
        begin: "([G])([0-9]+\\.?[0-9]?)"
      },
      {
        className: "name",
        begin: "([M])([0-9]+\\.?[0-9]?)"
      },
      {
        className: "attr",
        begin: "(VC|VS|#)",
        end: "(\\d+)"
      },
      {
        className: "attr",
        begin: "(VZOFX|VZOFY|VZOFZ)"
      },
      {
        className: "built_in",
        begin: "(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",
        contains: [E],
        end: "\\]"
      },
      {
        className: "symbol",
        variants: [
          {
            begin: "N",
            end: "\\d+",
            illegal: "\\W"
          }
        ]
      }
    ];
    return {
      name: "G-code (ISO 6983)",
      aliases: ["nc"],
      // Some implementations (CNC controls) of G-code are interoperable with uppercase and lowercase letters seamlessly.
      // However, most prefer all uppercase and uppercase is customary.
      case_insensitive: !0,
      keywords: N,
      contains: [
        {
          className: "meta",
          begin: t
        },
        _
      ].concat(c)
    };
  }
  return n = i, n;
}
export {
  s as __require
};
