acdc-parser 0.8.0

`AsciiDoc` parser using PEG grammars
Documentation
{
  "name": "document",
  "type": "block",
  "header": {
    "title": [
      {
        "name": "text",
        "type": "string",
        "value": "Document with Box Drawing",
        "location": [
          {
            "line": 1,
            "col": 3
          },
          {
            "line": 1,
            "col": 27
          }
        ]
      }
    ],
    "location": [
      {
        "line": 1,
        "col": 1
      },
      {
        "line": 1,
        "col": 27
      }
    ]
  },
  "attributes": {},
  "blocks": [
    {
      "name": "section",
      "type": "block",
      "title": [
        {
          "name": "text",
          "type": "string",
          "value": "ASCII Art Section",
          "location": [
            {
              "line": 3,
              "col": 4
            },
            {
              "line": 3,
              "col": 20
            }
          ]
        }
      ],
      "level": 1,
      "blocks": [
        {
          "name": "paragraph",
          "type": "block",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "value": "Here's some ASCII art:",
              "location": [
                {
                  "line": 5,
                  "col": 1
                },
                {
                  "line": 5,
                  "col": 22
                }
              ]
            }
          ],
          "location": [
            {
              "line": 5,
              "col": 1
            },
            {
              "line": 5,
              "col": 22
            }
          ]
        },
        {
          "name": "listing",
          "type": "block",
          "form": "delimited",
          "delimiter": "```",
          "inlines": [
            {
              "name": "text",
              "type": "string",
              "value": "┌─────────────────────────┐\n│   Welcome to ACDC!      │\n│                         │\n│   ┌─────┐   ┌─────┐    │\n│   │ Box │   │ Box │    │\n│   └─────┘   └─────┘    │\n└─────────────────────────┘",
              "location": [
                {
                  "line": 8,
                  "col": 1
                },
                {
                  "line": 14,
                  "col": 27
                }
              ]
            }
          ],
          "location": [
            {
              "line": 7,
              "col": 1
            },
            {
              "line": 15,
              "col": 3
            }
          ]
        },
        {
          "name": "section",
          "type": "block",
          "title": [
            {
              "name": "text",
              "type": "string",
              "value": "Subsection after box drawing",
              "location": [
                {
                  "line": 17,
                  "col": 5
                },
                {
                  "line": 17,
                  "col": 32
                }
              ]
            }
          ],
          "level": 2,
          "blocks": [
            {
              "name": "section",
              "type": "block",
              "title": [
                {
                  "name": "text",
                  "type": "string",
                  "value": "Level 4 section",
                  "location": [
                    {
                      "line": 19,
                      "col": 6
                    },
                    {
                      "line": 19,
                      "col": 20
                    }
                  ]
                }
              ],
              "level": 3,
              "blocks": [
                {
                  "name": "paragraph",
                  "type": "block",
                  "inlines": [
                    {
                      "name": "text",
                      "type": "string",
                      "value": "This should parse correctly despite the multi-byte UTF-8 characters above.",
                      "location": [
                        {
                          "line": 21,
                          "col": 1
                        },
                        {
                          "line": 21,
                          "col": 74
                        }
                      ]
                    }
                  ],
                  "location": [
                    {
                      "line": 21,
                      "col": 1
                    },
                    {
                      "line": 21,
                      "col": 74
                    }
                  ]
                }
              ],
              "location": [
                {
                  "line": 19,
                  "col": 1
                },
                {
                  "line": 21,
                  "col": 74
                }
              ]
            }
          ],
          "location": [
            {
              "line": 17,
              "col": 1
            },
            {
              "line": 21,
              "col": 74
            }
          ]
        }
      ],
      "location": [
        {
          "line": 3,
          "col": 1
        },
        {
          "line": 21,
          "col": 74
        }
      ]
    }
  ],
  "location": [
    {
      "line": 1,
      "col": 1
    },
    {
      "line": 21,
      "col": 74
    }
  ]
}