yara-x-parser 1.3.0

A parsing library for YARA rules.
Documentation
Begin { kind: SOURCE_FILE, span: Span(0..162) }
Begin { kind: RULE_DECL, span: Span(0..162) }
Token { kind: RULE_KW, span: Span(0..4) }
Token { kind: WHITESPACE, span: Span(4..5) }
Token { kind: IDENT, span: Span(5..9) }
Token { kind: WHITESPACE, span: Span(9..10) }
Token { kind: L_BRACE, span: Span(10..11) }
Token { kind: NEWLINE, span: Span(11..12) }
Token { kind: WHITESPACE, span: Span(12..13) }
Begin { kind: CONDITION_BLK, span: Span(13..160) }
Token { kind: CONDITION_KW, span: Span(13..22) }
Token { kind: COLON, span: Span(22..23) }
Token { kind: NEWLINE, span: Span(23..24) }
Token { kind: WHITESPACE, span: Span(24..26) }
Begin { kind: BOOLEAN_EXPR, span: Span(26..160) }
Begin { kind: BOOLEAN_TERM, span: Span(26..160) }
Begin { kind: WITH_EXPR, span: Span(26..160) }
Token { kind: WITH_KW, span: Span(26..30) }
Token { kind: WHITESPACE, span: Span(30..31) }
Begin { kind: WITH_DECLS, span: Span(31..90) }
Begin { kind: WITH_DECL, span: Span(31..49) }
Token { kind: IDENT, span: Span(31..36) }
Token { kind: WHITESPACE, span: Span(36..37) }
Token { kind: EQUAL, span: Span(37..38) }
Token { kind: WHITESPACE, span: Span(38..39) }
Begin { kind: EXPR, span: Span(39..49) }
Begin { kind: TERM, span: Span(39..49) }
Begin { kind: PRIMARY_EXPR, span: Span(39..46) }
Token { kind: IDENT, span: Span(39..42) }
Token { kind: DOT, span: Span(42..43) }
Token { kind: IDENT, span: Span(43..46) }
End { kind: PRIMARY_EXPR, span: Span(39..46) }
Token { kind: L_BRACKET, span: Span(46..47) }
Begin { kind: EXPR, span: Span(47..48) }
Begin { kind: TERM, span: Span(47..48) }
Begin { kind: PRIMARY_EXPR, span: Span(47..48) }
Token { kind: INTEGER_LIT, span: Span(47..48) }
End { kind: PRIMARY_EXPR, span: Span(47..48) }
End { kind: TERM, span: Span(47..48) }
End { kind: EXPR, span: Span(47..48) }
Token { kind: R_BRACKET, span: Span(48..49) }
End { kind: TERM, span: Span(39..49) }
End { kind: EXPR, span: Span(39..49) }
End { kind: WITH_DECL, span: Span(31..49) }
Token { kind: COMMA, span: Span(49..50) }
Token { kind: WHITESPACE, span: Span(50..51) }
Begin { kind: WITH_DECL, span: Span(51..90) }
Token { kind: IDENT, span: Span(51..55) }
Token { kind: WHITESPACE, span: Span(55..56) }
Token { kind: EQUAL, span: Span(56..57) }
Token { kind: WHITESPACE, span: Span(57..58) }
Begin { kind: EXPR, span: Span(58..90) }
Begin { kind: TERM, span: Span(58..90) }
Begin { kind: PRIMARY_EXPR, span: Span(58..65) }
Token { kind: IDENT, span: Span(58..61) }
Token { kind: DOT, span: Span(61..62) }
Token { kind: IDENT, span: Span(62..65) }
End { kind: PRIMARY_EXPR, span: Span(58..65) }
Token { kind: L_BRACKET, span: Span(65..66) }
Begin { kind: EXPR, span: Span(66..89) }
Begin { kind: TERM, span: Span(66..85) }
Begin { kind: PRIMARY_EXPR, span: Span(66..85) }
Token { kind: IDENT, span: Span(66..85) }
End { kind: PRIMARY_EXPR, span: Span(66..85) }
End { kind: TERM, span: Span(66..85) }
Token { kind: WHITESPACE, span: Span(85..86) }
Token { kind: SUB, span: Span(86..87) }
Token { kind: WHITESPACE, span: Span(87..88) }
Begin { kind: TERM, span: Span(88..89) }
Begin { kind: PRIMARY_EXPR, span: Span(88..89) }
Token { kind: INTEGER_LIT, span: Span(88..89) }
End { kind: PRIMARY_EXPR, span: Span(88..89) }
End { kind: TERM, span: Span(88..89) }
End { kind: EXPR, span: Span(66..89) }
Token { kind: R_BRACKET, span: Span(89..90) }
End { kind: TERM, span: Span(58..90) }
End { kind: EXPR, span: Span(58..90) }
End { kind: WITH_DECL, span: Span(51..90) }
End { kind: WITH_DECLS, span: Span(31..90) }
Token { kind: WHITESPACE, span: Span(90..91) }
Token { kind: COLON, span: Span(91..92) }
Token { kind: WHITESPACE, span: Span(92..93) }
Token { kind: L_PAREN, span: Span(93..94) }
Token { kind: WHITESPACE, span: Span(94..95) }
Token { kind: NEWLINE, span: Span(95..96) }
Token { kind: WHITESPACE, span: Span(96..108) }
Begin { kind: BOOLEAN_EXPR, span: Span(108..150) }
Begin { kind: BOOLEAN_TERM, span: Span(108..127) }
Begin { kind: EXPR, span: Span(108..118) }
Begin { kind: TERM, span: Span(108..118) }
Begin { kind: PRIMARY_EXPR, span: Span(108..118) }
Token { kind: IDENT, span: Span(108..113) }
Token { kind: DOT, span: Span(113..114) }
Token { kind: IDENT, span: Span(114..118) }
End { kind: PRIMARY_EXPR, span: Span(108..118) }
End { kind: TERM, span: Span(108..118) }
End { kind: EXPR, span: Span(108..118) }
Token { kind: WHITESPACE, span: Span(118..119) }
Token { kind: EQ, span: Span(119..121) }
Token { kind: WHITESPACE, span: Span(121..122) }
Begin { kind: EXPR, span: Span(122..127) }
Begin { kind: TERM, span: Span(122..127) }
Begin { kind: PRIMARY_EXPR, span: Span(122..127) }
Token { kind: STRING_LIT, span: Span(122..127) }
End { kind: PRIMARY_EXPR, span: Span(122..127) }
End { kind: TERM, span: Span(122..127) }
End { kind: EXPR, span: Span(122..127) }
End { kind: BOOLEAN_TERM, span: Span(108..127) }
Token { kind: WHITESPACE, span: Span(127..128) }
Token { kind: AND_KW, span: Span(128..131) }
Token { kind: WHITESPACE, span: Span(131..132) }
Begin { kind: BOOLEAN_TERM, span: Span(132..150) }
Begin { kind: EXPR, span: Span(132..141) }
Begin { kind: TERM, span: Span(132..141) }
Begin { kind: PRIMARY_EXPR, span: Span(132..141) }
Token { kind: IDENT, span: Span(132..135) }
Token { kind: DOT, span: Span(135..136) }
Token { kind: IDENT, span: Span(136..141) }
End { kind: PRIMARY_EXPR, span: Span(132..141) }
End { kind: TERM, span: Span(132..141) }
End { kind: EXPR, span: Span(132..141) }
Token { kind: WHITESPACE, span: Span(141..142) }
Token { kind: EQ, span: Span(142..144) }
Token { kind: WHITESPACE, span: Span(144..145) }
Begin { kind: EXPR, span: Span(145..150) }
Begin { kind: TERM, span: Span(145..150) }
Begin { kind: PRIMARY_EXPR, span: Span(145..150) }
Token { kind: INTEGER_LIT, span: Span(145..150) }
End { kind: PRIMARY_EXPR, span: Span(145..150) }
End { kind: TERM, span: Span(145..150) }
End { kind: EXPR, span: Span(145..150) }
End { kind: BOOLEAN_TERM, span: Span(132..150) }
End { kind: BOOLEAN_EXPR, span: Span(108..150) }
Token { kind: NEWLINE, span: Span(150..151) }
Token { kind: WHITESPACE, span: Span(151..159) }
Token { kind: R_PAREN, span: Span(159..160) }
End { kind: WITH_EXPR, span: Span(26..160) }
End { kind: BOOLEAN_TERM, span: Span(26..160) }
End { kind: BOOLEAN_EXPR, span: Span(26..160) }
End { kind: CONDITION_BLK, span: Span(13..160) }
Token { kind: NEWLINE, span: Span(160..161) }
Token { kind: R_BRACE, span: Span(161..162) }
End { kind: RULE_DECL, span: Span(0..162) }
End { kind: SOURCE_FILE, span: Span(0..162) }