MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / parse_equality

Method parse_equality

crates/hll-to-ir/src/parser.rs:787–809  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

785 // No range operator: iterate the expression's elements.
786 ForIter::Each(first)
787 };
788 let body = self.parse_block()?;
789 Ok(Statement::For { var, iter, body })
790 }
791
792 fn parse_return_statement(&mut self) -> Result<Statement, ParserError> {
793 self.expect_return()?;
794 if self.is_expression_terminator() || self.check_rbrace() || self.is_eof() {
795 Ok(Statement::Return(None))
796 } else {
797 let expr = self.parse_expression()?;
798 Ok(Statement::Return(Some(expr)))
799 }
800 }
801
802 fn parse_defer_statement(&mut self) -> Result<Statement, ParserError> {
803 self.expect_defer()?;
804 Ok(Statement::Defer(self.parse_expression()?))
805 }
806
807 fn parse_asm_block(&mut self) -> Result<Statement, ParserError> {
808 self.advance(); // consume Token::Asm
809 self.expect_lbrace()?;
810 self.consume_terminators(); // skip the newline after `{`
811
812 let mut lines = Vec::new();

Callers 1

parse_bitwise_andMethod · 0.80

Calls 4

parse_comparisonMethod · 0.80
consume_terminatorsMethod · 0.80
match_eqMethod · 0.80
match_neqMethod · 0.80

Tested by

no test coverage detected