chaeny 2019. 8. 1. 05:42

Interpreters

Def : a program that allows you to interact with the computer in a certain language

- This is what project 4 is all about !

- Involves 2 languages 

 1. language being implemented ( Scheme in Project 4 )

 2. Underlying language implementing 1 ( Python in Project 4 )

 

REPL Process : Process that interpreters follow

Read

lexer : break up inputs into smaller 'tokens'

parser : 'organize' tokens into the form the implementing language can process ( in project 4, this is storing tokens as pairs )

Eval 

- using the result of Read, obtain the value of the expression

- Done by mutual recursion of eval and apply

- eval rules :

 1. #5 -> #5 ex. 5 -> 5

 2. name -> value bounded ex. x = 5, x -> 5

 3. call expression ex. ( + 1 2 )

    1) The expression itself ex. ( + 1 2 )

    2) Operator ex. +

    3) Operands ex. 1, 2

    4) call apply which computes and outputs 3

Print : displays the value

Loop : repeat the process until we get to the end

Be careful : special forms do not follow the regular call expression eval procedure