Limitations

parsergen also has limitations that may prevent its deployment in some parsing scenarios:

Currently, no support exists for the following:

  • Nontabular parser:

    • sectioning: (special parsing rules that apply only to a portion of the text to be parsed), define patterns for section entry/exit. Allow sections within sections.

      • Indented blocks are not properly handled (for example, for XR show l2vpn forwarding private location 0/2/CPU0 command).

    • Variable-length lists (these must be parsed manually), here is a workaround.

    • Auto-regex-tag infix extension : Allow families of regex tags to be defined by extending the middle of the tag to allow section-specific parsing of text that contains repetitive input (such as interfaces in the command “show interface”)

    • subroutining (defining and including sections that are common among multiple CLI commands).

    • side effects : pre-and-post regex tag side effects (for example, transform by removing capitalization from a parsed field).

    • conditionality : only parse a regex tag if a particular condition is met. Optionally declare a parsing error if the condition is not met.

    • create derived keys : use previously parsed values to create compound keys.

    • markup syntax allowing multiple patterns per regex tag to handle changing CLI output between releases.

  • Tabular parser:

    • The tabular parser’s justification setting applies to all columns. Thus, it canot handle tabular output containing both left and right justified columns.

    • The tabular parser doesn’t handle a mixture of left-justified and centered column titles without a workaround (adding extra preceding spaces to the centered column title to make it look like a left-justified title).

    • The tabular parser cannot handle rows that flow across several lines.