package parser import ( "strings" "github.com/hazemKrimi/jack-compiler/internal/tokenizer" ) func ParseTokens(tokens []tokenizer.Token) string { var output strings.Builder output.WriteString("\n") for _, token := range tokens { switch token.Type { case tokenizer.SYMBOL: var value string switch token.Value { case "<": value = "<" case ">": value = ">" case "&": value = "&" default: value = token.Value } output.WriteString(" " + value + " \n") case tokenizer.KEYWORD: output.WriteString(" " + token.Value + " \n") case tokenizer.IDENTIFIER: output.WriteString(" " + token.Value + " \n") case tokenizer.INT_CONST: output.WriteString(" " + token.Value + " \n") case tokenizer.STR_CONST: output.WriteString(" " + token.Value + " \n") } } output.WriteString("\n") return output.String() }