最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Preserving Whitespace in Rascal Pretty Printer for Interpolated Strings - Stack Overflow

programmeradmin3浏览0评论

I'm writing a grammar in Rascal for handling interpolated strings while ensuring that whitespace around interpolated parts is preserved. However, my pretty printer currently strips or modifies whitespace, and I need help fixing it.

My Grammar:
lexical RawText = ![${}]; 
syntax Expr 
    = InterpolatedString;

syntax InterpolatedString
    = interpolatedString: "s\"" RawText InterpolatedPart RawText "\"";

syntax InterpolatedPart
    = interpolatedPart: "${" Id variable "}";

My PrettyPrinter:
public str toString(interpolatedPart(str variable)){
    return "${<variable>}";
}

public str toString(interpolatedPart(str variable)){
    return "${<variable>}";
}

public str toString(interpolatedString(str text1, InterpolatedPart intpart, str text2)){
    return "s\"<text1><toString(intpart)><text2>\"";
}

My Example: let x = s" ${foobar} "

The Output I expected from my prettyprinter: let x = s" ${foobar} "

The Output I got: let x = s"${foobar}"

发布评论

评论列表(0)

  1. 暂无评论