Zum Inhalt
HALOWERK

Technische Prüfungen & Formate

F TD2000 DOCUMENTS 15 / rust185 macro rules token tree repetition binding expansion

Match ordered bounded macro_rules token-tree arms and reconstruct the complete hygienically tagged structural transcription.. Compare the complete typed result SHA256.

POST https://detect.halowerk.com/v1/F-TD2000-DOCUMENTS-15/rust185-macro-rules-token-tree-repetition-binding-expansion

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
artifactobjectJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "artifact"
  ],
  "properties": {
    "artifact": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "rustMacro"
      ],
      "properties": {
        "rustMacro": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "data",
            "claim"
          ],
          "properties": {
            "data": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "tokens",
                "input",
                "matcher_nodes",
                "template_nodes",
                "arms"
              ],
              "properties": {
                "tokens": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "category",
                          "text"
                        ],
                        "properties": {
                          "kind": {
                            "const": "token"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "category": {
                            "enum": [
                              "ident",
                              "literal",
                              "punct"
                            ]
                          },
                          "text": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 128
                          }
                        }
                      },
                      {
                        "$ref": "#/properties/artifact/%24defs/b"
                      }
                    ]
                  },
                  "maxItems": 128
                },
                "input": {
                  "$ref": "#/properties/artifact/%24defs/c"
                },
                "matcher_nodes": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "$ref": "#/properties/artifact/%24defs/d"
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "name",
                          "fragment"
                        ],
                        "properties": {
                          "kind": {
                            "const": "capture"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "name": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "fragment": {
                            "enum": [
                              "tt",
                              "ident",
                              "literal"
                            ]
                          }
                        }
                      },
                      {
                        "$ref": "#/properties/artifact/%24defs/b"
                      },
                      {
                        "$ref": "#/properties/artifact/%24defs/e"
                      }
                    ]
                  },
                  "maxItems": 128
                },
                "template_nodes": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "$ref": "#/properties/artifact/%24defs/d"
                      },
                      {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "id",
                          "name"
                        ],
                        "properties": {
                          "kind": {
                            "const": "variable"
                          },
                          "id": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          },
                          "name": {
                            "$ref": "#/properties/artifact/%24defs/a"
                          }
                        }
                      },
                      {
                        "$ref": "#/properties/artifact/%24defs/b"
                      },
                      {
                        "$ref": "#/properties/artifact/%24defs/e"
                      }
                    ]
                  },
                  "maxItems": 128
                },
                "arms": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "matcher",
                      "template"
                    ],
                    "properties": {
                      "matcher": {
                        "$ref": "#/properties/artifact/%24defs/c"
                      },
                      "template": {
                        "$ref": "#/properties/artifact/%24defs/c"
                      }
                    }
                  },
                  "minItems": 1,
                  "maxItems": 8
                }
              }
            },
            "claim": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 64,
              "maxLength": 64,
              "pattern": "^[0-9a-f]{64}$"
            }
          }
        }
      },
      "$defs": {
        "a": {
          "type": "string",
          "minLength": 1,
          "maxLength": 48,
          "pattern": "^[A-Za-z_][A-Za-z0-9_.-]*$"
        },
        "b": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "id",
            "delimiter",
            "children"
          ],
          "properties": {
            "kind": {
              "const": "group"
            },
            "id": {
              "$ref": "#/properties/artifact/%24defs/a"
            },
            "delimiter": {
              "enum": [
                "paren",
                "brace",
                "bracket"
              ]
            },
            "children": {
              "$ref": "#/properties/artifact/%24defs/c"
            }
          }
        },
        "c": {
          "type": "array",
          "items": {
            "$ref": "#/properties/artifact/%24defs/a"
          },
          "maxItems": 64
        },
        "d": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "id",
            "category",
            "text"
          ],
          "properties": {
            "kind": {
              "const": "literal"
            },
            "id": {
              "$ref": "#/properties/artifact/%24defs/a"
            },
            "category": {
              "enum": [
                "ident",
                "literal",
                "punct"
              ]
            },
            "text": {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            }
          }
        },
        "e": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "id",
            "body",
            "operator",
            "separator"
          ],
          "properties": {
            "kind": {
              "const": "repeat"
            },
            "id": {
              "$ref": "#/properties/artifact/%24defs/a"
            },
            "body": {
              "type": "array",
              "items": {
                "$ref": "#/properties/artifact/%24defs/a"
              },
              "maxItems": 32
            },
            "operator": {
              "enum": [
                "*",
                "+",
                "?"
              ]
            },
            "separator": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "category",
                "text"
              ],
              "properties": {
                "category": {
                  "enum": [
                    "ident",
                    "literal",
                    "punct"
                  ]
                },
                "text": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 128
                }
              }
            }
          }
        }
      }
    }
  }
}

Originalschema öffnen

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 →