The Definition of Standard ML (Revised) is a terse and formal specification of Standard ML's syntax and semantics. The language specified by this book is often referred to as SML 97. You can check its syntax grammar online (thanks to Andreas Rossberg).

The Definition of Standard ML is an older version of the definition, published in 1990. The accompanying Commentary introduces and explains the notation and approach. The same notation is used in the SML 97 definition, so it is worth keeping the older definition and its commentary at hand if you intend a close study of the definition.