summaryrefslogtreecommitdiff
path: root/src/syntax/parsing.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/syntax/parsing.rs')
-rw-r--r--src/syntax/parsing.rs39
1 files changed, 16 insertions, 23 deletions
diff --git a/src/syntax/parsing.rs b/src/syntax/parsing.rs
index e0405407..900e0e67 100644
--- a/src/syntax/parsing.rs
+++ b/src/syntax/parsing.rs
@@ -586,11 +586,23 @@ fn expr_prec(p: &mut Parser, atomic: bool, min_prec: usize) -> ParseResult {
}
fn primary(p: &mut Parser, atomic: bool) -> ParseResult {
- if literal(p) {
- return Ok(());
- }
-
match p.peek() {
+ // Literals and few other things.
+ Some(
+ SyntaxKind::None
+ | SyntaxKind::Auto
+ | SyntaxKind::Int(_)
+ | SyntaxKind::Float(_)
+ | SyntaxKind::Bool(_)
+ | SyntaxKind::Numeric(_, _)
+ | SyntaxKind::Str(_)
+ | SyntaxKind::Label(_)
+ | SyntaxKind::Raw(_),
+ ) => {
+ p.eat();
+ Ok(())
+ }
+
// Things that start with an identifier.
Some(SyntaxKind::Ident(_)) => {
let marker = p.marker();
@@ -638,25 +650,6 @@ fn primary(p: &mut Parser, atomic: bool) -> ParseResult {
}
}
-fn literal(p: &mut Parser) -> bool {
- match p.peek() {
- Some(
- SyntaxKind::None
- | SyntaxKind::Auto
- | SyntaxKind::Int(_)
- | SyntaxKind::Float(_)
- | SyntaxKind::Bool(_)
- | SyntaxKind::Numeric(_, _)
- | SyntaxKind::Str(_)
- | SyntaxKind::Label(_),
- ) => {
- p.eat();
- true
- }
- _ => false,
- }
-}
-
fn ident(p: &mut Parser) -> ParseResult {
match p.peek() {
Some(SyntaxKind::Ident(_)) => {