\documentclass{jarticle}
\newif\ifprime \newif\ifunknown
\newcount\p \newcount\d \newcount\a
\def\primes#1{2,~3%
\p=5
\loop\ifnum\p<#1 \printifprime\advance\p by2 \repeat}
\def\printifprime{\testprimality \ifprime, \number\p\fi}
\def\testprimality{{\d=3 \global\primetrue
\loop\trialdivision \ifunknown\advance\d by2 \repeat}}
\def\trialdivision{\a=\p \divide\a by\d
\ifnum\a>\d \unknowntrue\else\unknownfalse\fi
\multiply\a by\d
\ifnum\a=\p \global\primefalse\unknownfalse\fi}
\begin{document}
マクロを定義して「\verb|\primes{100}|」とすれば、「\primes{100}」となります。
\end{document}
これはクヌース『TeX ブック』のp.294に載っているマクロを改変したものです。
ちなみに、このページの『109, 113』は『109, and 113』の間違いです(日本語訳第2版第1刷。原書は大丈夫だということをすぐに確かめたい向きは、CTANにあるTeXbookのソースを見てください)。
これがLLかどうかはわかりませんが、ドキュメントにそのまま挿入できるので便利です(嘘)。