𝗛𝗼𝗲 𝗲𝗲𝗻 𝗟𝗶𝘀𝗽-𝗶𝗻𝘁𝗲𝗿𝗽𝗿𝗲𝘁𝗲𝗿 𝘀𝗰𝗵𝗿𝗶𝗳𝘁

Je verkrijgt diepgaande kennis wanneer je leert hoe programmeertalen werken. Het bouwen van een Lisp-interpreter in Python is een klassieke manier om dit te zien.

Peter Norvig schreef in 2010 een beroemde gids over dit onderwerp. De principes van interpreter-ontwerp veranderen niet. Je leert hoe code wordt omgezet in actie.

Een interpreter volgt drie hoofdfasen:

  • Lexicale analyse: Je breekt ruwe code af in tokens. Dit zijn de kleine stukjes zoals woorden en symbolen.
  • Syntactische analyse: Je zet tokens om in een boom. Deze boom toont de structuur van de code.
  • Evaluatie: Je volgt de boom om de operaties uit te voeren en een resultaat te krijgen.

Lisp maakt dit eenvoudig. Het maakt gebruik van S-expressies. Dit betekent dat alles een lijst is binnen haakjes. Het eerste item is meestal de functie. De rest zijn de argumenten.

Om te beginnen zet je code zoals (+ 10 (* 2 5)) om in tokens.

Je tokens zien er als volgt uit: '(', '+', '10', '(', '*', '2', '5', ')', ')'

Het bestuderen van deze kernmechanismen verandert de manier waarop je dagelijks je tools gebruikt.

Bron: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-how-to-write-a-lisp-interpreter-in-python-2010-22ca