summaryrefslogtreecommitdiff
path: root/src/parse
diff options
context:
space:
mode:
authorMartin Haug <mhaug@live.de>2021-06-08 11:05:09 +0200
committerLaurenz <laurmaedje@gmail.com>2021-06-09 22:44:40 +0200
commit29cfef0a6dfef5820bda339d327638e285aaf4d3 (patch)
tree7a2e16b4c97d4259da1eb63deaa716b620feb4df /src/parse
parent73fa2eda2c23bd3baeb9e22b99eb0bfb183fc638 (diff)
Add a grid layouter
Diffstat (limited to 'src/parse')
-rw-r--r--src/parse/mod.rs5
-rw-r--r--src/parse/tokens.rs7
2 files changed, 12 insertions, 0 deletions
diff --git a/src/parse/mod.rs b/src/parse/mod.rs
index 3d4cc2ac..1f14f36f 100644
--- a/src/parse/mod.rs
+++ b/src/parse/mod.rs
@@ -314,6 +314,11 @@ fn primary(p: &mut Parser, atomic: bool) -> Option<Expr> {
Some(Token::For) => expr_for(p),
Some(Token::Import) => expr_import(p),
Some(Token::Include) => expr_include(p),
+ Some(Token::Auto) => {
+ let start = p.next_start();
+ p.assert(Token::Auto);
+ Some(Expr::Auto(p.span(start)))
+ }
// Nothing.
_ => {
diff --git a/src/parse/tokens.rs b/src/parse/tokens.rs
index 9d3cbc9a..f82d0ae4 100644
--- a/src/parse/tokens.rs
+++ b/src/parse/tokens.rs
@@ -474,6 +474,7 @@ fn keyword(id: &str) -> Option<Token<'static>> {
"for" => Token::For,
"in" => Token::In,
"while" => Token::While,
+ "auto" => Token::Auto,
"break" => Token::Break,
"continue" => Token::Continue,
"return" => Token::Return,
@@ -758,6 +759,12 @@ mod tests {
("for", For),
("in", In),
("import", Import),
+ ("while", While),
+ ("break", Break),
+ ("continue", Continue),
+ ("using", Using),
+ ("auto", Auto),
+ ("return", Return),
];
for &(s, t) in &list {