A grandes rasgos lo entiendo, el parseo de booleanos estuvo fácil, pero aún me queda la espinita de la clase pasada jajaja, en resumen lo que hace el parser es empezar a identificar statements para ir agregándolas al AST, pero un statement ya es toda una cadena de tokens compuestas que tienen sentido para el lenguaje, asà que cada parser se encarga de revisar cada expresión, que tengan una sintaxis correcta para entonces poder generar el nodo del árbol de ese Statement, si lo traducieramos a un JSON serÃa algo asÃ:
.
Program: {
ExpressionStatement: {
token: {
token_type: TokenType.LET,
literal: "variable"
}
expresion: {
Identifier: {
token: {
Token: {
token_type: TokenType.LET,
literal: "variable"
}
},
value: "mi_var"
}
}
}
}
Realmente es más complejo que eso, pero algo asà es xD Pueden haber varios statements que contienen la definición de dicho statement, y pueden tener identificadores, expresiones, etc. y todos relacionados con un token
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?