-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbolum5.txt
51 lines (42 loc) · 1.67 KB
/
bolum5.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
5 Tipler
ctypes ::= COMMA_LIST(ctype)
ctype ::= [const_vol] generic_ctype * ∗
| [const_vol] void * +
| (ctype (| ctype) ∗ )
const_vol ::= const
| volatile
generic_ctype ::= ctype_qualif
| [ctype_qualif ] char
| [ctype_qualif ] short
| [ctype_qualif ] short int
| [ctype_qualif ] int
| [ctype_qualif ] long
| [ctype_qualif ] long int
| [ctype_qualif ] long long
| [ctype_qualif ] long long int
| double
| long double
| float
| size_t
| ssize_t
| ptrdiff_t
| enum id { PARAMSEQ(dot_expr, exp_whencode) [,] }
| [struct| union] id [{ struct_decl_list ∗ }]
ctype_qualif ::= unsigned
| signed
struct_decl_list ::= struct_decl_list_start
struct_decl_list_start ::= struct_decl
| struct_decl struct_decl_list_start
| ... [when != struct_decl] † [continue_struct_decl_list]
continue_struct_decl_list ::= struct_decl struct_decl_list_start
| struct_decl
struct_decl ::= ctype d_ident;
| fn_ctype (* d_ident) (PARAMSEQ(name_opt_decl, ε));)
| [const_vol] id d_ident;
d_ident ::= id [[expr]] ∗
fn_ctype ::= generic_ctype * ∗
| void * ∗
name_opt_decl ::= decl
| ctype
| fn_ctype
Tercihe bağlı "when" yapısı satır sonunda biter.