| value-name | ::= | lowercase-ident |
| | | ( operator-name ) | |
| operator-name | ::= | prefix-symbol | infix-symbol | * | = | or | & | := |
| cconstr-name | ::= | capitalized-ident |
| | | false | |
| | | true | |
| | | [ ] | |
| | | ( ) | |
| ncconstr-name | ::= | capitalized-ident |
| | | :: | |
| typeconstr-name | ::= | lowercase-ident |
| label-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 |
| Type constructors | lowercase |
| Record labels | lowercase |
| Classes | lowercase |
| Methods | lowercase |
| Modules | uppercase |
| Module types | any |
| value-path | ::= | value-name |
| | | module-path . lowercase-ident | |
| cconstr | ::= | cconstr-name |
| | | module-path . capitalized-ident | |
| ncconstr | ::= | ncconstr-name |
| | | module-path . capitalized-ident | |
| typeconstr | ::= | typeconstr-name |
| | | extended-module-path . lowercase-ident | |
| label | ::= | label-name |
| | | module-path . lowercase-ident | |
| module-path | ::= | module-name |
| | | module-path . capitalized-ident | |
| extended-module-path | ::= | module-name |
| | | extended-module-path . capitalized-ident | |
| | | extended-module-path ( extended-module-path ) | |
| modtype-path | ::= | modtype-name |
| | | extended-module-path . ident | |
| class-path | ::= | class-name |
| | | module-path . lowercase-ident |