Changeset 2142
- Timestamp:
- 06/30/08 16:35:12 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/ProjectFortress/src/com/sun/fortress/parser/DelimitedExpr.rats
r2061 r2142 115 115 Option.some(a1), compare, a3, _else); 116 116 } 117 / <ErrorProduction1> 118 case w Expr (w (Encloser / Op))? w do w CaseClauses (w CaseElse)? w end 119 { yyValue = syntaxError(createSpan(yyStart,yyCount), 120 "In a case expression, 'do' is used instead of 'of'."); 121 } 117 122 / case w most w a1:(Encloser / Op) w of w a2:CaseClauses w end 118 123 { Option<OpRef> compare = Option.some(ExprFactory.makeOpRef(NodeFactory.makeOpInfix(a1))); … … 121 126 Option.<Block>none()); 122 127 } 128 / <ErrorProduction2> 129 case w most w (Encloser / Op) w do w CaseClauses w end 130 { yyValue = syntaxError(createSpan(yyStart,yyCount), 131 "In an extremum expression, 'do' is used instead of 'of'."); 132 } 123 133 / typecase w a1:TypecaseBindings w of w a2:TypecaseClauses a3:(br CaseElse)? 124 w end134 w end 125 135 { Option<Block> caseElse = Option.wrap(a3); 126 136 yyValue = new Typecase(createSpan(yyStart,yyCount), false, a1.getA(), 127 137 a1.getB(), a2, caseElse); 138 } 139 / <ErrorProduction3> 140 typecase w TypecaseBindings w do w TypecaseClauses (br CaseElse)? w end 141 { yyValue = syntaxError(createSpan(yyStart,yyCount), 142 "In a typecase expression, 'do' is used instead of 'of'."); 128 143 } 129 144 / <TRY> try w a1:BlockElems a2:(w Catch)? a3:(w forbid w TraitTypes)?
