mirror of
https://github.com/Noratrieb/dilaria.git
synced 2026-01-15 09:55:03 +01:00
hello world!
This commit is contained in:
parent
92b40b17ed
commit
d1179ff2ea
10 changed files with 263 additions and 112 deletions
12
src/parse.rs
12
src/parse.rs
|
|
@ -525,10 +525,7 @@ where
|
|||
|
||||
let next = self.next().ok_or_else(|| CompilerError::eof("primary"))?;
|
||||
let return_expr = match next.kind {
|
||||
TokenKind::String(literal) => Ok(Expr::Literal(Literal::String(
|
||||
self.bump.alloc_str(&literal),
|
||||
next.span,
|
||||
))),
|
||||
TokenKind::String(literal) => Ok(Expr::Literal(Literal::String(literal, next.span))),
|
||||
TokenKind::Number(literal) => Ok(Expr::Literal(Literal::Number(literal, next.span))),
|
||||
TokenKind::False => Ok(Expr::Literal(Literal::Boolean(false, next.span))),
|
||||
TokenKind::True => Ok(Expr::Literal(Literal::Boolean(true, next.span))),
|
||||
|
|
@ -612,13 +609,14 @@ where
|
|||
let expr = parser(self)?;
|
||||
elements.push(expr);
|
||||
|
||||
while self.peek_kind().ok_or_else(|| {
|
||||
let reached_eof = || {
|
||||
CompilerError::new(
|
||||
Span::dummy(),
|
||||
format!("reached EOF expecting `{:?}`", close.clone()),
|
||||
)
|
||||
})? != &close
|
||||
{
|
||||
};
|
||||
|
||||
while self.peek_kind().ok_or_else(reached_eof)? != &close {
|
||||
self.expect(TokenKind::Comma)?;
|
||||
|
||||
// trailing comma support
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue