Begin { kind: SOURCE_FILE, span: Span(0..174) }
Begin { kind: RULE_DECL, span: Span(0..64) }
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..16) }
Begin { kind: CONDITION_BLK, span: Span(16..62) }
Token { kind: CONDITION_KW, span: Span(16..25) }
Token { kind: COLON, span: Span(25..26) }
Token { kind: NEWLINE, span: Span(26..27) }
Token { kind: WHITESPACE, span: Span(27..31) }
Begin { kind: BOOLEAN_EXPR, span: Span(31..62) }
Begin { kind: BOOLEAN_TERM, span: Span(31..62) }
Begin { kind: EXPR, span: Span(31..45) }
Begin { kind: TERM, span: Span(31..45) }
Begin { kind: PRIMARY_EXPR, span: Span(31..34) }
Token { kind: IDENT, span: Span(31..34) }
End { kind: PRIMARY_EXPR, span: Span(31..34) }
Token { kind: DOT, span: Span(34..35) }
Begin { kind: PRIMARY_EXPR, span: Span(35..41) }
Token { kind: IDENT, span: Span(35..38) }
Token { kind: L_BRACKET, span: Span(38..39) }
Begin { kind: EXPR, span: Span(39..40) }
Begin { kind: TERM, span: Span(39..40) }
Token { kind: INTEGER_LIT, span: Span(39..40) }
End { kind: TERM, span: Span(39..40) }
End { kind: EXPR, span: Span(39..40) }
Token { kind: R_BRACKET, span: Span(40..41) }
End { kind: PRIMARY_EXPR, span: Span(35..41) }
Token { kind: DOT, span: Span(41..42) }
Begin { kind: PRIMARY_EXPR, span: Span(42..45) }
Token { kind: IDENT, span: Span(42..45) }
End { kind: PRIMARY_EXPR, span: Span(42..45) }
End { kind: TERM, span: Span(31..45) }
End { kind: EXPR, span: Span(31..45) }
Token { kind: WHITESPACE, span: Span(45..46) }
Token { kind: EQ, span: Span(46..48) }
Token { kind: WHITESPACE, span: Span(48..49) }
Begin { kind: EXPR, span: Span(49..62) }
Begin { kind: TERM, span: Span(49..62) }
Begin { kind: PRIMARY_EXPR, span: Span(49..52) }
Token { kind: IDENT, span: Span(49..52) }
End { kind: PRIMARY_EXPR, span: Span(49..52) }
Token { kind: DOT, span: Span(52..53) }
Begin { kind: PRIMARY_EXPR, span: Span(53..56) }
Token { kind: IDENT, span: Span(53..56) }
End { kind: PRIMARY_EXPR, span: Span(53..56) }
Token { kind: DOT, span: Span(56..57) }
Begin { kind: PRIMARY_EXPR, span: Span(57..62) }
Begin { kind: FUNC_CALL, span: Span(57..62) }
Token { kind: IDENT, span: Span(57..60) }
Token { kind: L_PAREN, span: Span(60..61) }
Token { kind: R_PAREN, span: Span(61..62) }
End { kind: FUNC_CALL, span: Span(57..62) }
End { kind: PRIMARY_EXPR, span: Span(57..62) }
End { kind: TERM, span: Span(49..62) }
End { kind: EXPR, span: Span(49..62) }
End { kind: BOOLEAN_TERM, span: Span(31..62) }
End { kind: BOOLEAN_EXPR, span: Span(31..62) }
End { kind: CONDITION_BLK, span: Span(16..62) }
Token { kind: NEWLINE, span: Span(62..63) }
Token { kind: R_BRACE, span: Span(63..64) }
End { kind: RULE_DECL, span: Span(0..64) }
Token { kind: NEWLINE, span: Span(64..65) }
Token { kind: NEWLINE, span: Span(65..66) }
Begin { kind: RULE_DECL, span: Span(66..115) }
Token { kind: RULE_KW, span: Span(66..70) }
Token { kind: WHITESPACE, span: Span(70..71) }
Token { kind: IDENT, span: Span(71..77) }
Token { kind: WHITESPACE, span: Span(77..78) }
Token { kind: L_BRACE, span: Span(78..79) }
Token { kind: NEWLINE, span: Span(79..80) }
Token { kind: WHITESPACE, span: Span(80..82) }
Begin { kind: CONDITION_BLK, span: Span(82..113) }
Token { kind: CONDITION_KW, span: Span(82..91) }
Token { kind: COLON, span: Span(91..92) }
Token { kind: NEWLINE, span: Span(92..93) }
Token { kind: WHITESPACE, span: Span(93..97) }
Begin { kind: BOOLEAN_EXPR, span: Span(97..113) }
Begin { kind: BOOLEAN_TERM, span: Span(97..113) }
Begin { kind: EXPR, span: Span(97..113) }
Begin { kind: TERM, span: Span(97..113) }
Begin { kind: PRIMARY_EXPR, span: Span(97..100) }
Token { kind: IDENT, span: Span(97..100) }
End { kind: PRIMARY_EXPR, span: Span(97..100) }
Token { kind: DOT, span: Span(100..101) }
Begin { kind: PRIMARY_EXPR, span: Span(101..109) }
Begin { kind: FUNC_CALL, span: Span(101..109) }
Token { kind: IDENT, span: Span(101..104) }
Token { kind: L_PAREN, span: Span(104..105) }
Begin { kind: BOOLEAN_EXPR, span: Span(105..106) }
Begin { kind: BOOLEAN_TERM, span: Span(105..106) }
Begin { kind: EXPR, span: Span(105..106) }
Begin { kind: TERM, span: Span(105..106) }
Token { kind: INTEGER_LIT, span: Span(105..106) }
End { kind: TERM, span: Span(105..106) }
End { kind: EXPR, span: Span(105..106) }
End { kind: BOOLEAN_TERM, span: Span(105..106) }
End { kind: BOOLEAN_EXPR, span: Span(105..106) }
Token { kind: COMMA, span: Span(106..107) }
Begin { kind: BOOLEAN_EXPR, span: Span(107..108) }
Begin { kind: BOOLEAN_TERM, span: Span(107..108) }
Begin { kind: EXPR, span: Span(107..108) }
Begin { kind: TERM, span: Span(107..108) }
Token { kind: INTEGER_LIT, span: Span(107..108) }
End { kind: TERM, span: Span(107..108) }
End { kind: EXPR, span: Span(107..108) }
End { kind: BOOLEAN_TERM, span: Span(107..108) }
End { kind: BOOLEAN_EXPR, span: Span(107..108) }
Token { kind: R_PAREN, span: Span(108..109) }
End { kind: FUNC_CALL, span: Span(101..109) }
End { kind: PRIMARY_EXPR, span: Span(101..109) }
Token { kind: DOT, span: Span(109..110) }
Begin { kind: PRIMARY_EXPR, span: Span(110..113) }
Token { kind: IDENT, span: Span(110..113) }
End { kind: PRIMARY_EXPR, span: Span(110..113) }
End { kind: TERM, span: Span(97..113) }
End { kind: EXPR, span: Span(97..113) }
End { kind: BOOLEAN_TERM, span: Span(97..113) }
End { kind: BOOLEAN_EXPR, span: Span(97..113) }
End { kind: CONDITION_BLK, span: Span(82..113) }
Token { kind: NEWLINE, span: Span(113..114) }
Token { kind: R_BRACE, span: Span(114..115) }
End { kind: RULE_DECL, span: Span(66..115) }
Token { kind: NEWLINE, span: Span(115..116) }
Token { kind: NEWLINE, span: Span(116..117) }
Begin { kind: RULE_DECL, span: Span(117..174) }
Token { kind: RULE_KW, span: Span(117..121) }
Token { kind: WHITESPACE, span: Span(121..122) }
Token { kind: IDENT, span: Span(122..128) }
Token { kind: WHITESPACE, span: Span(128..129) }
Token { kind: L_BRACE, span: Span(129..130) }
Token { kind: NEWLINE, span: Span(130..131) }
Token { kind: WHITESPACE, span: Span(131..133) }
Begin { kind: CONDITION_BLK, span: Span(133..172) }
Token { kind: CONDITION_KW, span: Span(133..142) }
Token { kind: COLON, span: Span(142..143) }
Token { kind: NEWLINE, span: Span(143..144) }
Token { kind: WHITESPACE, span: Span(144..148) }
Begin { kind: BOOLEAN_EXPR, span: Span(148..172) }
Begin { kind: BOOLEAN_TERM, span: Span(148..172) }
Begin { kind: EXPR, span: Span(148..172) }
Begin { kind: TERM, span: Span(148..172) }
Begin { kind: PRIMARY_EXPR, span: Span(148..172) }
Begin { kind: FUNC_CALL, span: Span(148..172) }
Token { kind: IDENT, span: Span(148..151) }
Token { kind: L_PAREN, span: Span(151..152) }
Begin { kind: BOOLEAN_EXPR, span: Span(152..155) }
Begin { kind: BOOLEAN_TERM, span: Span(152..155) }
Begin { kind: EXPR, span: Span(152..155) }
Begin { kind: TERM, span: Span(152..155) }
Token { kind: STRING_LIT, span: Span(152..155) }
End { kind: TERM, span: Span(152..155) }
End { kind: EXPR, span: Span(152..155) }
End { kind: BOOLEAN_TERM, span: Span(152..155) }
End { kind: BOOLEAN_EXPR, span: Span(152..155) }
Token { kind: COMMA, span: Span(155..156) }
Token { kind: WHITESPACE, span: Span(156..157) }
Begin { kind: BOOLEAN_EXPR, span: Span(157..160) }
Begin { kind: BOOLEAN_TERM, span: Span(157..160) }
Begin { kind: EXPR, span: Span(157..160) }
Begin { kind: TERM, span: Span(157..160) }
Token { kind: STRING_LIT, span: Span(157..160) }
End { kind: TERM, span: Span(157..160) }
End { kind: EXPR, span: Span(157..160) }
End { kind: BOOLEAN_TERM, span: Span(157..160) }
End { kind: BOOLEAN_EXPR, span: Span(157..160) }
Token { kind: COMMA, span: Span(160..161) }
Token { kind: WHITESPACE, span: Span(161..162) }
Begin { kind: BOOLEAN_EXPR, span: Span(162..165) }
Begin { kind: BOOLEAN_TERM, span: Span(162..165) }
Begin { kind: EXPR, span: Span(162..165) }
Begin { kind: TERM, span: Span(162..165) }
Token { kind: FLOAT_LIT, span: Span(162..165) }
End { kind: TERM, span: Span(162..165) }
End { kind: EXPR, span: Span(162..165) }
End { kind: BOOLEAN_TERM, span: Span(162..165) }
End { kind: BOOLEAN_EXPR, span: Span(162..165) }
Token { kind: COMMA, span: Span(165..166) }
Token { kind: WHITESPACE, span: Span(166..167) }
Begin { kind: BOOLEAN_EXPR, span: Span(167..171) }
Begin { kind: BOOLEAN_TERM, span: Span(167..171) }
Token { kind: TRUE_KW, span: Span(167..171) }
End { kind: BOOLEAN_TERM, span: Span(167..171) }
End { kind: BOOLEAN_EXPR, span: Span(167..171) }
Token { kind: R_PAREN, span: Span(171..172) }
End { kind: FUNC_CALL, span: Span(148..172) }
End { kind: PRIMARY_EXPR, span: Span(148..172) }
End { kind: TERM, span: Span(148..172) }
End { kind: EXPR, span: Span(148..172) }
End { kind: BOOLEAN_TERM, span: Span(148..172) }
End { kind: BOOLEAN_EXPR, span: Span(148..172) }
End { kind: CONDITION_BLK, span: Span(133..172) }
Token { kind: NEWLINE, span: Span(172..173) }
Token { kind: R_BRACE, span: Span(173..174) }
End { kind: RULE_DECL, span: Span(117..174) }
End { kind: SOURCE_FILE, span: Span(0..174) }