یه مشکلی در طراحی EBNF وجود داره.این گرامر رو نگاه کنید:
<program>::=<uses><imports><define><main><function s>
<Uses>::={<Use>{NEWLINE}+}*
<Use>::= <USE_KEY><STRING>
اینجا ما تو خط اول نحو کلی یک برنامه به زبانمون رو بیان کردیم. همونطور که میبینید برناممون با تعریف Use ها شروع میشه ( کتابخانه ها) . بعدش import ها رو داریم و همینطور تا آخر. ولی مشکل از خط دوم شروع میشه. ببینید ما متآسفانه از کاراکتر خط جدید به عنوان کاراکتر هماهنگ کننده ( جدا کننده دستورات ) استفاده کردیم. یعنی بین هر دستور مستقل باید یک یا چند کاراکتر خط جدید وجود داشته باشه (علامت "+" بعد از Newline به همین معنی هست ) . مشکل اینجاست که ممکنه مثلآ برنامه نویس بخواد یه برنامه که فقط از یک دستور فراخوانی کتابخانه (USE) تشکیل شده رو بنویسه و بعد از این دستور هم قاعدتآ نیازی به درج خط جدید نیست. این درحالیه که با توجه به این گرامر , تحلیلگر نحویمون از این برنامه ایراد میگیره.