summaryrefslogtreecommitdiff
path: root/src/parser.cc
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2010-06-13 05:02:14 -0400
committerJohn Wiegley <johnw@newartisans.com>2010-06-13 05:02:14 -0400
commitea1642b3f969463a49e5a671478c92e4ef129665 (patch)
tree9eba47b8708123b4e3f539dd9d747f1f85d9d2fe /src/parser.cc
parentad3b30a9641b8e09c38ea76e7011b614152d8faf (diff)
downloadfork-ledger-ea1642b3f969463a49e5a671478c92e4ef129665.tar.gz
fork-ledger-ea1642b3f969463a49e5a671478c92e4ef129665.tar.bz2
fork-ledger-ea1642b3f969463a49e5a671478c92e4ef129665.zip
Completely reworked argument passing in expressions
Diffstat (limited to 'src/parser.cc')
-rw-r--r--src/parser.cc4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/parser.cc b/src/parser.cc
index db989f07..a15775d1 100644
--- a/src/parser.cc
+++ b/src/parser.cc
@@ -59,8 +59,6 @@ expr_t::parser_t::parse_value_term(std::istream& in,
tok = next_token(in, tflags.plus_flags(PARSE_OP_CONTEXT));
if (tok.kind == token_t::LPAREN) {
op_t::kind_t kind = op_t::O_CALL;
- if (ident == "any" || ident == "all")
- kind = op_t::O_EXPAND;
ptr_op_t call_node(new op_t(kind));
call_node->set_left(node);
node = call_node;
@@ -81,7 +79,7 @@ expr_t::parser_t::parse_value_term(std::istream& in,
.minus_flags(PARSE_SINGLE));
tok = next_token(in, tflags, ')');
- if (node->kind == op_t::O_CONS) {
+ if (node && node->kind == op_t::O_CONS) {
ptr_op_t prev(node);
node = new op_t(op_t::O_SEQ);
node->set_left(prev);