@@ -268,20 +268,19 @@ console.log(analizar("+(a, 10)"));
268268
269269{{index "error message"}}
270270
271- Funciona! No nos da información muy útil cuando falla
271+ ¡ Funciona! No nos da información muy útil cuando falla
272272y no almacena la línea y la columna en que comienza cada expresión,
273273lo que podría ser útil al informar errores más tarde, pero es lo
274274suficientemente bueno para nuestros propósitos.
275275
276- ## The evaluator
276+ ## El evaluador
277277
278- {{index "evaluate function ", evaluation, interpretation , "syntax tree ", "Egg language "}}
278+ {{index "evaluar función ", evaluación, interpretación , "árbol sintáctico ", "lenguaje huevo "}}
279279
280- What can we do with the syntax tree for a program? Run it, of course!
281- And that is what the evaluator does. You give it a syntax tree and a
282- scope object that associates names with values, and it will evaluate
283- the expression that the tree represents and return the value that this
284- produces.
280+ ¿Qué poddemos hacer son el árrbol sintáctico de un programa? ¡Correrlo, por supuesto!
281+ Y eso es lo que el evaluador hace. Le das un árbol sintáctico y un objeto de ámbito
282+ que asocie nombres con valores, y evaluará la expresión que el árbol representa y regresará
283+ el valor que el árbol produce.
285284
286285``` {includeCode: true}
287286const specialForms = Object.create(null);
@@ -313,8 +312,9 @@ function evaluate(expresion, scope) {
313312}
314313```
315314
316- {{index "literal expression ", scope }}
315+ {{index "expresión literal ", ámbito }}
317316
317+ El evaluador tiene código para cada uno de los tipos de ((exprresión)).
318318The evaluator has code for each of the ((expression)) types. A literal
319319value expression produces its value. (For example, the expression
320320` 100 ` just evaluates to the number 100.) For a binding, we must check
0 commit comments