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.