From d94124e3b4a4380ad23c1a317fd3943664b7182a Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 4 Feb 2018 13:53:47 +0300 Subject: Somewhat more san directory structure --- src/parser/grammar/expressions.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/parser/grammar/expressions.rs (limited to 'src/parser/grammar/expressions.rs') diff --git a/src/parser/grammar/expressions.rs b/src/parser/grammar/expressions.rs new file mode 100644 index 000000000..8caaf3553 --- /dev/null +++ b/src/parser/grammar/expressions.rs @@ -0,0 +1,20 @@ +use super::*; + +pub(super) fn literal(p: &mut Parser) -> bool { + match p.current() { + TRUE_KW | FALSE_KW | INT_NUMBER | FLOAT_NUMBER | BYTE | CHAR | STRING | RAW_STRING + | BYTE_STRING | RAW_BYTE_STRING => { + let lit = p.start(); + p.bump(); + lit.complete(p, LITERAL); + true + } + _ => false, + } +} + +pub(super) fn expr(p: &mut Parser) { + if !literal(p) { + p.error().message("expected expression").emit(); + } +} -- cgit v1.2.3