 
 
 
| value-name | ::= | lowercase-ident | 
| ∣ | ( operator-name ) | |
| operator-name | ::= | prefix-symbol ∣ infix-op | 
| infix-op | ::= | infix-symbol | 
| ∣ | * ∣ = ∣ or ∣ & ∣ := | |
| ∣ | mod ∣ land ∣ lor ∣ lxor ∣ lsl ∣ lsr ∣ asr | |
| constr-name | ::= | capitalized-ident | 
| label-name | ::= | lowercase-ident | 
| tag-name | ::= | capitalized-ident | 
| typeconstr-name | ::= | lowercase-ident | 
| field-name | ::= | lowercase-ident | 
| module-name | ::= | capitalized-ident | 
| modtype-name | ::= | ident | 
| class-name | ::= | lowercase-ident | 
| inst-var-name | ::= | lowercase-ident | 
| method-name | ::= | lowercase-ident | 
| Name space | Case of first letter | 
| Values | lowercase | 
| Constructors | uppercase | 
| Labels | lowercase | 
| Variant tags | uppercase | 
| Exceptions | uppercase | 
| Type constructors | lowercase | 
| Record fields | lowercase | 
| Classes | lowercase | 
| Instance variables | lowercase | 
| Methods | lowercase | 
| Modules | uppercase | 
| Module types | any | 
| value-path | ::= | value-name | 
| ∣ | module-path . value-name | |
| constr | ::= | constr-name | 
| ∣ | module-path . constr-name | |
| typeconstr | ::= | typeconstr-name | 
| ∣ | extended-module-path . typeconstr-name | |
| field | ::= | field-name | 
| ∣ | module-path . field-name | |
| module-path | ::= | module-name | 
| ∣ | module-path . module-name | |
| extended-module-path | ::= | module-name | 
| ∣ | extended-module-path . module-name | |
| ∣ | extended-module-path ( extended-module-path ) | |
| modtype-path | ::= | modtype-name | 
| ∣ | extended-module-path . modtype-name | |
| class-path | ::= | class-name | 
| ∣ | module-path . class-name | 
 
 
