| 227 | return pass(expression); |
| 228 | } |
| 229 | function exprbrace(type) { |
| 230 | if (type == "op") { |
| 231 | if (content == "|") return cont(blockvars, poplex, pushlex("}", "block"), block); |
| 232 | if (content == "||") return cont(poplex, pushlex("}", "block"), block); |
| 233 | } |
| 234 | if (content == "mutable" || (content.match(/^\w+$/) && cx.stream.peek() == ":" |
| 235 | && !cx.stream.match("::", false))) |
| 236 | return pass(record_of(expression)); |
| 237 | return pass(block); |
| 238 | } |
| 239 | function record_of(comb) { |
| 240 | function ro(type) { |
| 241 | if (content == "mutable" || content == "with") {cx.marked = "keyword"; return cont(ro);} |