yara-x-parser 1.13.0

A parsing library for YARA rules.
Documentation
Begin { kind: SOURCE_FILE, span: Span(0..131) }
Begin { kind: RULE_DECL, span: Span(0..62) }
Token { kind: RULE_KW, span: Span(0..4) }
Token { kind: WHITESPACE, span: Span(4..5) }
Token { kind: IDENT, span: Span(5..11) }
Token { kind: WHITESPACE, span: Span(11..12) }
Token { kind: L_BRACE, span: Span(12..13) }
Token { kind: NEWLINE, span: Span(13..14) }
Token { kind: WHITESPACE, span: Span(14..15) }
Begin { kind: PATTERNS_BLK, span: Span(15..35) }
Token { kind: STRINGS_KW, span: Span(15..22) }
Token { kind: COLON, span: Span(22..23) }
Token { kind: NEWLINE, span: Span(23..24) }
Token { kind: WHITESPACE, span: Span(24..27) }
Begin { kind: PATTERN_DEF, span: Span(27..35) }
Token { kind: PATTERN_IDENT, span: Span(27..29) }
Token { kind: WHITESPACE, span: Span(29..30) }
Token { kind: EQUAL, span: Span(30..31) }
Token { kind: WHITESPACE, span: Span(31..32) }
Token { kind: STRING_LIT, span: Span(32..35) }
End { kind: PATTERN_DEF, span: Span(27..35) }
End { kind: PATTERNS_BLK, span: Span(15..35) }
Token { kind: WHITESPACE, span: Span(35..36) }
Begin { kind: ERROR, span: Span(36..39) }
Token { kind: IDENT, span: Span(36..39) }
End { kind: ERROR, span: Span(36..39) }
Token { kind: NEWLINE, span: Span(39..40) }
Token { kind: WHITESPACE, span: Span(40..42) }
Begin { kind: CONDITION_BLK, span: Span(42..60) }
Token { kind: CONDITION_KW, span: Span(42..51) }
Error { message: "expecting pattern modifier, pattern identifier or `condition`, found `foo`", span: Span(36..39) }
Token { kind: COLON, span: Span(51..52) }
Token { kind: NEWLINE, span: Span(52..53) }
Token { kind: WHITESPACE, span: Span(53..56) }
Begin { kind: BOOLEAN_EXPR, span: Span(56..60) }
Begin { kind: BOOLEAN_TERM, span: Span(56..60) }
Token { kind: TRUE_KW, span: Span(56..60) }
End { kind: BOOLEAN_TERM, span: Span(56..60) }
End { kind: BOOLEAN_EXPR, span: Span(56..60) }
End { kind: CONDITION_BLK, span: Span(42..60) }
Token { kind: NEWLINE, span: Span(60..61) }
Token { kind: R_BRACE, span: Span(61..62) }
End { kind: RULE_DECL, span: Span(0..62) }
Token { kind: NEWLINE, span: Span(62..63) }
Token { kind: NEWLINE, span: Span(63..64) }
Begin { kind: RULE_DECL, span: Span(64..131) }
Token { kind: RULE_KW, span: Span(64..68) }
Token { kind: WHITESPACE, span: Span(68..69) }
Token { kind: IDENT, span: Span(69..75) }
Token { kind: WHITESPACE, span: Span(75..76) }
Token { kind: L_BRACE, span: Span(76..77) }
Token { kind: NEWLINE, span: Span(77..78) }
Token { kind: WHITESPACE, span: Span(78..79) }
Begin { kind: PATTERNS_BLK, span: Span(79..99) }
Token { kind: STRINGS_KW, span: Span(79..86) }
Token { kind: COLON, span: Span(86..87) }
Token { kind: NEWLINE, span: Span(87..88) }
Token { kind: WHITESPACE, span: Span(88..91) }
Begin { kind: PATTERN_DEF, span: Span(91..99) }
Token { kind: PATTERN_IDENT, span: Span(91..93) }
Token { kind: WHITESPACE, span: Span(93..94) }
Token { kind: EQUAL, span: Span(94..95) }
Token { kind: WHITESPACE, span: Span(95..96) }
Token { kind: STRING_LIT, span: Span(96..99) }
End { kind: PATTERN_DEF, span: Span(91..99) }
End { kind: PATTERNS_BLK, span: Span(79..99) }
Token { kind: WHITESPACE, span: Span(99..100) }
Begin { kind: ERROR, span: Span(100..108) }
Token { kind: BASE64_KW, span: Span(100..106) }
Token { kind: L_PAREN, span: Span(106..107) }
Token { kind: R_PAREN, span: Span(107..108) }
End { kind: ERROR, span: Span(100..108) }
Token { kind: NEWLINE, span: Span(108..109) }
Token { kind: WHITESPACE, span: Span(109..111) }
Begin { kind: CONDITION_BLK, span: Span(111..129) }
Token { kind: CONDITION_KW, span: Span(111..120) }
Error { message: "expecting STRING, found `)`", span: Span(107..108) }
Token { kind: COLON, span: Span(120..121) }
Token { kind: NEWLINE, span: Span(121..122) }
Token { kind: WHITESPACE, span: Span(122..125) }
Begin { kind: BOOLEAN_EXPR, span: Span(125..129) }
Begin { kind: BOOLEAN_TERM, span: Span(125..129) }
Token { kind: TRUE_KW, span: Span(125..129) }
End { kind: BOOLEAN_TERM, span: Span(125..129) }
End { kind: BOOLEAN_EXPR, span: Span(125..129) }
End { kind: CONDITION_BLK, span: Span(111..129) }
Token { kind: NEWLINE, span: Span(129..130) }
Token { kind: R_BRACE, span: Span(130..131) }
End { kind: RULE_DECL, span: Span(64..131) }
End { kind: SOURCE_FILE, span: Span(0..131) }