سجل رمز { نوع: ص64, متن: نص, سطر: ص64, عمود: ص64 } سجل حالة_محلل { رموز: قائمة[رمز], مؤشر: ص64 } دالة رمز_الحالة(حالة: حالة_محلل) -> رمز { أرجع حالة::رموز[حالة::مؤشر]. } دالة ابدأ_الرئيسية() -> ص64 { دع زائد: رمز = رمز { نوع: 1, متن: "+" , سطر: 2, عمود: 7 }. إذا (زائد::نوع != 1) { أرجع 1. } إذا (زائد::متن != "+") { أرجع 2. } إذا (زائد::سطر != 2) { أرجع 3. } إذا (زائد::عمود != 7) { أرجع 4. } متغير حالة: حالة_محلل = حالة_محلل { رموز: [زائد], مؤشر: 0 }. إذا (رمز_الحالة(حالة)::متن != "+") { أرجع 5. } متغير منقولة: حالة_محلل = حالة. منقولة::مؤشر = 1. إذا (حالة::مؤشر != 0) { أرجع 6. } إذا (منقولة::مؤشر != 1) { أرجع 7. } منقولة::رموز[0]::عمود = 9. إذا (حالة::رموز[0]::عمود != 7) { أرجع 8. } إذا (منقولة::رموز[0]::عمود != 9) { أرجع 9. } دع موجود: نتيجة[رمز] = نجاح(زائد). إذا (موجود::نجاح) { إذا (موجود::قيمة::سطر != 2) { أرجع 10. } } وإلا { أرجع 11. } اطبع("3 tokens"). أرجع 0. }