@@ -5,7 +5,7 @@ use crate::core::single_line_statements::{
55 single_line_non_comment_statements_p, single_line_statements_p
66} ;
77use crate :: core:: statements:: zero_or_more_statements;
8- use crate :: expr:: ws_expr_pos_ws_p ;
8+ use crate :: expr:: demand_ws_expr_ws_keyword_p ;
99use crate :: input:: StringView ;
1010use crate :: pc_specific:: * ;
1111use crate :: { ParserError , * } ;
@@ -35,12 +35,10 @@ pub fn if_block_p() -> impl Parser<StringView, Output = Statement, Error = Parse
3535// multi line if ::= statements else-if-blocks else-block END IF
3636
3737fn if_expr_then_p ( ) -> impl Parser < StringView , Output = ExpressionPos , Error = ParserError > {
38- seq3 (
39- keyword ( Keyword :: If ) ,
40- ws_expr_pos_ws_p ( ) . or_expected ( "expression after IF" ) ,
41- keyword ( Keyword :: Then ) ,
42- |_, m, _| m,
43- )
38+ keyword ( Keyword :: If ) . and_keep_right ( demand_ws_expr_ws_keyword_p (
39+ "expression after IF" ,
40+ Keyword :: Then ,
41+ ) )
4442}
4543
4644fn single_line_if_else_p ( ) -> impl Parser <
@@ -79,12 +77,10 @@ fn multi_line_if_p() -> impl Parser<
7977}
8078
8179fn else_if_expr_then_p ( ) -> impl Parser < StringView , Output = ExpressionPos , Error = ParserError > {
82- seq3 (
83- keyword ( Keyword :: ElseIf ) ,
84- ws_expr_pos_ws_p ( ) . or_expected ( "expression after ELSEIF" ) ,
85- keyword ( Keyword :: Then ) ,
86- |_, m, _| m,
87- )
80+ keyword ( Keyword :: ElseIf ) . and_keep_right ( demand_ws_expr_ws_keyword_p (
81+ "expression after ELSEIF" ,
82+ Keyword :: Then ,
83+ ) )
8884}
8985
9086fn else_if_block_p ( ) -> impl Parser < StringView , Output = ConditionalBlock , Error = ParserError > {
0 commit comments