How does “missing \begin{document}” work?

I would like to know how does LaTeX invoke the error Missing \begin{document}. I would like to reproduce it in the sense of the following MWE (it will become a part of my own document class):

\documentclass{article}

\begin{document}

\title{My titlE} % <-- these are fine
\author{tohecz}
\def\A{\mathbf{A}}

Hello % <-- should invoke error "Text before \maketitle command"
% the error should be invoked even when \maketitle is missing at all

\maketitle

World % <-- this is fine

\end{document}
-

LaTeX uses the \everypar token register to set up the error. If you try \showthe\everypar before \begin{document} you will see

> \@nodocument .
l.3 \showthe\everypar

The internal command \@nodocument expands to give the error. This works as TeX inserts \everypar each time it starts a paragraph, and that happens when it encounters horizontal mode material while in vertical mode. TeX starts off in vertical mode, and the first letter or similar causes a switch to horizontal mode, inserts \everypar and thus here fires the error.

Part of the \document macro removes \@nodocument from \everypar. So you want to add something to it, and remove or disable it again as part of \maketitle. You also need to activate that in the right place, at the end of \document. Something like

\makeatletter