parser: closure syntax use '!' instead of 'with'
[nit.git] / tests / base_label_closure.nit
1 # This file is part of NIT ( http://www.nitlanguage.org ).
2 #
3 # Copyright 2009 Jean Privat <jean@pryen.org>
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16
17 import kernel
18
19 fun foo
20 !bar
21 do
22 bar !break do 'X'.output
23 end
24
25 1.output
26 foo !bar do
27 2.output
28 foo !bar do
29 3.output
30 foo !bar do end label l3
31 #alt1#break label l2
32 #alt2#break label l3
33 #alt3#break label l4
34 #alt4#break
35 #alt5#continue label l1
36 break label l1
37 4.output
38 end label l2#!alt6#
39 #alt6#end label l1
40 5.output
41 end label l1
42 6.output
43
44 #alt7#foo !bar do end label l1