Beginnings of list literals
This commit is contained in:
parent
4da771036a
commit
d8df98ba01
@ -17,9 +17,10 @@ use std::convert::From;
|
|||||||
//
|
//
|
||||||
// expression := postop_expression (op postop_expression)*
|
// expression := postop_expression (op postop_expression)*
|
||||||
// postop_expression := primary_expression postop
|
// postop_expression := primary_expression postop
|
||||||
// primary_expression := number_expr | String | identifier_expr | paren_expr | conditional_expr | while_expr | lambda_expr
|
// primary_expression := number_expr | String | identifier_expr | paren_expr | conditional_expr | while_expr | lambda_expr | list_expr
|
||||||
// number_expr := (PLUS | MINUS ) number_expr | Number
|
// number_expr := (PLUS | MINUS ) number_expr | Number
|
||||||
// identifier_expr := call_expression | Variable
|
// identifier_expr := call_expression | Variable
|
||||||
|
// list_expr := LSquareBracket exprlist RSquareBracket
|
||||||
// call_expression := Identifier LParen exprlist RParen
|
// call_expression := Identifier LParen exprlist RParen
|
||||||
// while_expr := WHILE primary_expression LCurlyBrace (expression delimiter)* RCurlyBrace
|
// while_expr := WHILE primary_expression LCurlyBrace (expression delimiter)* RCurlyBrace
|
||||||
// paren_expr := LParen expression RParen
|
// paren_expr := LParen expression RParen
|
||||||
@ -432,6 +433,7 @@ impl Parser {
|
|||||||
Some(Identifier(_)) => try!(self.identifier_expr()),
|
Some(Identifier(_)) => try!(self.identifier_expr()),
|
||||||
Some(Token::LParen) => try!(self.paren_expr()),
|
Some(Token::LParen) => try!(self.paren_expr()),
|
||||||
Some(Keyword(Kw::Fn)) => try!(self.lambda_expr()),
|
Some(Keyword(Kw::Fn)) => try!(self.lambda_expr()),
|
||||||
|
Some(Token::LSquareBracket) => try!(self.list_expr()),
|
||||||
Some(e) => {
|
Some(e) => {
|
||||||
return ParseError::result_from_str(&format!("Expected primary expression, got \
|
return ParseError::result_from_str(&format!("Expected primary expression, got \
|
||||||
{:?}",
|
{:?}",
|
||||||
@ -441,6 +443,10 @@ impl Parser {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn list_expr(&mut self) -> ParseResult<Expression> {
|
||||||
|
unimplemented!()
|
||||||
|
}
|
||||||
|
|
||||||
fn number_expression(&mut self) -> ParseResult<Expression> {
|
fn number_expression(&mut self) -> ParseResult<Expression> {
|
||||||
let mut multiplier = 1;
|
let mut multiplier = 1;
|
||||||
loop {
|
loop {
|
||||||
|
Loading…
Reference in New Issue
Block a user