OSDN Git Service

Initial Update.
[bcpl-language/BCPL.git] / example / foo.bcp
1 //
2 //      bcpl sample program.
3 //
4
5 GET "STD.H"
6
7 MANIFEST $( FOO = 1, 
8             BAR = 2,
9          $)
10
11 GLOBAL $( FOO:1, BAR:2 $)
12
13 STATIC $( foo: 1 $)
14
15
16 LET start (argc, argv) BE
17 $(
18         LET     val;
19
20         writef ("program name is %s *N", argv ! 0);
21
22         val = atoi (argv ! 1);
23
24         SWITCHON val INTO
25         $(
26         CASE 1: writef ("value is 1*N");
27                 CASEEND
28
29         CASE 2: writef ("value is 2*N");
30                 CASEEND
31         $)
32
33         $(
34                 writef ("val = %d*N", val);
35                 val := val - 1;
36         $) REPEATUNTIL val < 0
37
38         writef ("end.*N");
39 $)
40
41 AND foo () BE
42 $(aa
43         LET     val;
44
45         $(bb
46         val := 1 + 1 * 2;
47         writef ("val = %d*N", val);
48
49
50 $)aa