yara-x-parser 1.5.0

A parsing library for YARA rules.
Documentation
Begin { kind: SOURCE_FILE, span: Span(0..251) }
Begin { kind: RULE_DECL, span: Span(0..251) }
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: PATTERNS_BLK, span: Span(13..228) }
Token { kind: STRINGS_KW, span: Span(13..20) }
Token { kind: COLON, span: Span(20..21) }
Token { kind: NEWLINE, span: Span(21..22) }
Token { kind: WHITESPACE, span: Span(22..25) }
Begin { kind: PATTERN_DEF, span: Span(25..39) }
Token { kind: PATTERN_IDENT, span: Span(25..27) }
Token { kind: WHITESPACE, span: Span(27..28) }
Token { kind: EQUAL, span: Span(28..29) }
Token { kind: WHITESPACE, span: Span(29..30) }
Token { kind: STRING_LIT, span: Span(30..33) }
Token { kind: WHITESPACE, span: Span(33..34) }
Begin { kind: PATTERN_MODS, span: Span(34..39) }
Begin { kind: PATTERN_MOD, span: Span(34..39) }
Token { kind: ASCII_KW, span: Span(34..39) }
End { kind: PATTERN_MOD, span: Span(34..39) }
End { kind: PATTERN_MODS, span: Span(34..39) }
End { kind: PATTERN_DEF, span: Span(25..39) }
Token { kind: NEWLINE, span: Span(39..40) }
Token { kind: WHITESPACE, span: Span(40..43) }
Begin { kind: PATTERN_DEF, span: Span(43..62) }
Token { kind: PATTERN_IDENT, span: Span(43..45) }
Token { kind: WHITESPACE, span: Span(45..46) }
Token { kind: EQUAL, span: Span(46..47) }
Token { kind: WHITESPACE, span: Span(47..48) }
Token { kind: STRING_LIT, span: Span(48..51) }
Token { kind: WHITESPACE, span: Span(51..52) }
Begin { kind: PATTERN_MODS, span: Span(52..62) }
Begin { kind: PATTERN_MOD, span: Span(52..57) }
Token { kind: ASCII_KW, span: Span(52..57) }
End { kind: PATTERN_MOD, span: Span(52..57) }
Token { kind: WHITESPACE, span: Span(57..58) }
Begin { kind: PATTERN_MOD, span: Span(58..62) }
Token { kind: WIDE_KW, span: Span(58..62) }
End { kind: PATTERN_MOD, span: Span(58..62) }
End { kind: PATTERN_MODS, span: Span(52..62) }
End { kind: PATTERN_DEF, span: Span(43..62) }
Token { kind: NEWLINE, span: Span(62..63) }
Token { kind: WHITESPACE, span: Span(63..66) }
Begin { kind: PATTERN_DEF, span: Span(66..81) }
Token { kind: PATTERN_IDENT, span: Span(66..68) }
Token { kind: WHITESPACE, span: Span(68..69) }
Token { kind: EQUAL, span: Span(69..70) }
Token { kind: WHITESPACE, span: Span(70..71) }
Token { kind: STRING_LIT, span: Span(71..74) }
Token { kind: WHITESPACE, span: Span(74..75) }
Begin { kind: PATTERN_MODS, span: Span(75..81) }
Begin { kind: PATTERN_MOD, span: Span(75..81) }
Token { kind: BASE64_KW, span: Span(75..81) }
End { kind: PATTERN_MOD, span: Span(75..81) }
End { kind: PATTERN_MODS, span: Span(75..81) }
End { kind: PATTERN_DEF, span: Span(66..81) }
Token { kind: NEWLINE, span: Span(81..82) }
Token { kind: WHITESPACE, span: Span(82..85) }
Begin { kind: PATTERN_DEF, span: Span(85..104) }
Token { kind: PATTERN_IDENT, span: Span(85..87) }
Token { kind: WHITESPACE, span: Span(87..88) }
Token { kind: EQUAL, span: Span(88..89) }
Token { kind: WHITESPACE, span: Span(89..90) }
Token { kind: STRING_LIT, span: Span(90..93) }
Token { kind: WHITESPACE, span: Span(93..94) }
Begin { kind: PATTERN_MODS, span: Span(94..104) }
Begin { kind: PATTERN_MOD, span: Span(94..104) }
Token { kind: BASE64WIDE_KW, span: Span(94..104) }
End { kind: PATTERN_MOD, span: Span(94..104) }
End { kind: PATTERN_MODS, span: Span(94..104) }
End { kind: PATTERN_DEF, span: Span(85..104) }
Token { kind: NEWLINE, span: Span(104..105) }
Token { kind: WHITESPACE, span: Span(105..107) }
Begin { kind: PATTERN_DEF, span: Span(107..129) }
Token { kind: PATTERN_IDENT, span: Span(107..109) }
Token { kind: WHITESPACE, span: Span(109..110) }
Token { kind: EQUAL, span: Span(110..111) }
Token { kind: WHITESPACE, span: Span(111..112) }
Token { kind: STRING_LIT, span: Span(112..115) }
Token { kind: WHITESPACE, span: Span(115..116) }
Begin { kind: PATTERN_MODS, span: Span(116..129) }
Begin { kind: PATTERN_MOD, span: Span(116..129) }
Token { kind: BASE64_KW, span: Span(116..122) }
Token { kind: L_PAREN, span: Span(122..123) }
Token { kind: STRING_LIT, span: Span(123..128) }
Token { kind: R_PAREN, span: Span(128..129) }
End { kind: PATTERN_MOD, span: Span(116..129) }
End { kind: PATTERN_MODS, span: Span(116..129) }
End { kind: PATTERN_DEF, span: Span(107..129) }
Token { kind: NEWLINE, span: Span(129..130) }
Token { kind: WHITESPACE, span: Span(130..133) }
Begin { kind: PATTERN_DEF, span: Span(133..159) }
Token { kind: PATTERN_IDENT, span: Span(133..135) }
Token { kind: WHITESPACE, span: Span(135..136) }
Token { kind: EQUAL, span: Span(136..137) }
Token { kind: WHITESPACE, span: Span(137..138) }
Token { kind: STRING_LIT, span: Span(138..141) }
Token { kind: WHITESPACE, span: Span(141..142) }
Begin { kind: PATTERN_MODS, span: Span(142..159) }
Begin { kind: PATTERN_MOD, span: Span(142..159) }
Token { kind: BASE64WIDE_KW, span: Span(142..152) }
Token { kind: L_PAREN, span: Span(152..153) }
Token { kind: STRING_LIT, span: Span(153..158) }
Token { kind: R_PAREN, span: Span(158..159) }
End { kind: PATTERN_MOD, span: Span(142..159) }
End { kind: PATTERN_MODS, span: Span(142..159) }
End { kind: PATTERN_DEF, span: Span(133..159) }
Token { kind: NEWLINE, span: Span(159..160) }
Token { kind: WHITESPACE, span: Span(160..164) }
Begin { kind: PATTERN_DEF, span: Span(164..176) }
Token { kind: PATTERN_IDENT, span: Span(164..166) }
Token { kind: WHITESPACE, span: Span(166..167) }
Token { kind: EQUAL, span: Span(167..168) }
Token { kind: WHITESPACE, span: Span(168..169) }
Token { kind: STRING_LIT, span: Span(169..172) }
Token { kind: WHITESPACE, span: Span(172..173) }
Begin { kind: PATTERN_MODS, span: Span(173..176) }
Begin { kind: PATTERN_MOD, span: Span(173..176) }
Token { kind: XOR_KW, span: Span(173..176) }
End { kind: PATTERN_MOD, span: Span(173..176) }
End { kind: PATTERN_MODS, span: Span(173..176) }
End { kind: PATTERN_DEF, span: Span(164..176) }
Token { kind: NEWLINE, span: Span(176..177) }
Token { kind: WHITESPACE, span: Span(177..181) }
Begin { kind: PATTERN_DEF, span: Span(181..196) }
Token { kind: PATTERN_IDENT, span: Span(181..183) }
Token { kind: WHITESPACE, span: Span(183..184) }
Token { kind: EQUAL, span: Span(184..185) }
Token { kind: WHITESPACE, span: Span(185..186) }
Token { kind: STRING_LIT, span: Span(186..189) }
Token { kind: WHITESPACE, span: Span(189..190) }
Begin { kind: PATTERN_MODS, span: Span(190..196) }
Begin { kind: PATTERN_MOD, span: Span(190..196) }
Token { kind: XOR_KW, span: Span(190..193) }
Token { kind: L_PAREN, span: Span(193..194) }
Token { kind: INTEGER_LIT, span: Span(194..195) }
Token { kind: R_PAREN, span: Span(195..196) }
End { kind: PATTERN_MOD, span: Span(190..196) }
End { kind: PATTERN_MODS, span: Span(190..196) }
End { kind: PATTERN_DEF, span: Span(181..196) }
Token { kind: NEWLINE, span: Span(196..197) }
Token { kind: WHITESPACE, span: Span(197..201) }
Begin { kind: PATTERN_DEF, span: Span(201..228) }
Token { kind: PATTERN_IDENT, span: Span(201..203) }
Token { kind: WHITESPACE, span: Span(203..204) }
Token { kind: EQUAL, span: Span(204..205) }
Token { kind: WHITESPACE, span: Span(205..206) }
Token { kind: STRING_LIT, span: Span(206..209) }
Token { kind: WHITESPACE, span: Span(209..210) }
Begin { kind: PATTERN_MODS, span: Span(210..228) }
Begin { kind: PATTERN_MOD, span: Span(210..220) }
Token { kind: XOR_KW, span: Span(210..213) }
Token { kind: L_PAREN, span: Span(213..214) }
Token { kind: INTEGER_LIT, span: Span(214..216) }
Token { kind: HYPHEN, span: Span(216..217) }
Token { kind: INTEGER_LIT, span: Span(217..219) }
Token { kind: R_PAREN, span: Span(219..220) }
End { kind: PATTERN_MOD, span: Span(210..220) }
Token { kind: WHITESPACE, span: Span(220..221) }
Begin { kind: PATTERN_MOD, span: Span(221..228) }
Token { kind: PRIVATE_KW, span: Span(221..228) }
End { kind: PATTERN_MOD, span: Span(221..228) }
End { kind: PATTERN_MODS, span: Span(210..228) }
End { kind: PATTERN_DEF, span: Span(201..228) }
End { kind: PATTERNS_BLK, span: Span(13..228) }
Token { kind: NEWLINE, span: Span(228..229) }
Token { kind: WHITESPACE, span: Span(229..231) }
Begin { kind: CONDITION_BLK, span: Span(231..249) }
Token { kind: CONDITION_KW, span: Span(231..240) }
Token { kind: COLON, span: Span(240..241) }
Token { kind: NEWLINE, span: Span(241..242) }
Token { kind: WHITESPACE, span: Span(242..245) }
Begin { kind: BOOLEAN_EXPR, span: Span(245..249) }
Begin { kind: BOOLEAN_TERM, span: Span(245..249) }
Token { kind: TRUE_KW, span: Span(245..249) }
End { kind: BOOLEAN_TERM, span: Span(245..249) }
End { kind: BOOLEAN_EXPR, span: Span(245..249) }
End { kind: CONDITION_BLK, span: Span(231..249) }
Token { kind: NEWLINE, span: Span(249..250) }
Token { kind: R_BRACE, span: Span(250..251) }
End { kind: RULE_DECL, span: Span(0..251) }
End { kind: SOURCE_FILE, span: Span(0..251) }