Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

cms / cms maximal munch mode lexer

An agent that compiles a CMS template lexer needs its claimed token spans and mode changes checked against longest-match selection followed by declared rule priority.

POST https://detect.halowerk.com/v1/cms/cms-maximal-munch-mode-lexer

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "artifact": {
      "type": "object",
      "properties": {
        "symbols": {
          "type": "array",
          "items": {
            "type": "integer",
            "minimum": 0,
            "maximum": 31
          },
          "minItems": 0,
          "maxItems": 512
        },
        "initial_mode": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "integer",
                "minimum": 0,
                "maximum": 7
              },
              "next_mode": {
                "type": "integer",
                "minimum": 0,
                "maximum": 7
              },
              "states": {
                "type": "integer",
                "minimum": 1,
                "maximum": 32
              },
              "start": {
                "type": "integer",
                "minimum": 0,
                "maximum": 31
              },
              "accepting": {
                "type": "array",
                "items": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 31
                },
                "minItems": 0,
                "maxItems": 32
              },
              "transitions": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "from": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 31
                    },
                    "symbol": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 31
                    },
                    "to": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 31
                    }
                  },
                  "required": [
                    "from",
                    "symbol",
                    "to"
                  ],
                  "additionalProperties": false
                },
                "minItems": 0,
                "maxItems": 128
              }
            },
            "required": [
              "mode",
              "next_mode",
              "states",
              "start",
              "accepting",
              "transitions"
            ],
            "additionalProperties": false
          },
          "minItems": 1,
          "maxItems": 16
        },
        "claimed_tokens": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "rule": {
                "type": "integer",
                "minimum": 0,
                "maximum": 15
              },
              "start": {
                "type": "integer",
                "minimum": 0,
                "maximum": 512
              },
              "end": {
                "type": "integer",
                "minimum": 0,
                "maximum": 512
              }
            },
            "required": [
              "rule",
              "start",
              "end"
            ],
            "additionalProperties": false
          },
          "minItems": 0,
          "maxItems": 512
        },
        "claimed_complete": {
          "type": "boolean"
        },
        "claimed_final_mode": {
          "type": "integer",
          "minimum": 0,
          "maximum": 7
        }
      },
      "required": [
        "symbols",
        "initial_mode",
        "rules",
        "claimed_tokens",
        "claimed_complete",
        "claimed_final_mode"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "artifact"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "artifact": {
    "symbols": [
      0,
      0,
      1,
      1,
      0,
      1,
      0
    ],
    "initial_mode": 0,
    "rules": [
      {
        "mode": 1,
        "next_mode": 1,
        "states": 3,
        "start": 0,
        "accepting": [
          1
        ],
        "transitions": [
          {
            "from": 2,
            "symbol": 0,
            "to": 2
          }
        ]
      }
    ],
    "claimed_tokens": [],
    "claimed_complete": false,
    "claimed_final_mode": 0
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-01, 15:19 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →