diff --git a/crates/aiken-lang/src/parser/chain/field_access.rs b/crates/aiken-lang/src/parser/chain/field_access.rs index 14f84bce..86eab783 100644 --- a/crates/aiken-lang/src/parser/chain/field_access.rs +++ b/crates/aiken-lang/src/parser/chain/field_access.rs @@ -1,16 +1,16 @@ -use chumsky::prelude::*; - use super::Chain; use crate::{ expr::UntypedExpr, parser::{token::Token, ParseError}, }; +use chumsky::prelude::*; pub(crate) fn parser() -> impl Parser { just(Token::Dot) - .ignore_then(select! { - Token::Name { name } => name, - }) + .ignore_then(choice(( + select! { Token::Else => "else".to_string() }, + select! { Token::Name { name } => name, }, + ))) .map_with_span(Chain::FieldAccess) } @@ -28,3 +28,18 @@ pub(crate) fn constructor() -> impl Parser