Mashikiです。
> $result = sprintf("西暦%d年%d月%d日は%sです。<br>\n,
> $yyyy, $mm, $dd, $wareki);
>
>この行、ダブルクォート閉じてない。
>
>っていうか...
エラーが出た行
print("<font color=red>日付の入力が誤っています。</font>\n");
の最初の「"」で閉じられています。そこまで文字列が続いているわけですね。
その先は当然エラー。
パーサーは正しくうごいてます。
この先も大変そうですががんばってください。