如何在GF RGL中表达英文“could have”与“should have”
实现“I could have laughed”的RGL写法
你需要用RGL中的PerfectVP函数来构建完成体的动词短语,就能得到预期的“could have laughed”结构,正确代码如下:
UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV can_VV (PerfectVP (UseV laugh_V)) ) )
为什么之前的尝试不对?
你使用(TTAnt TPast AAnter)时,会触发情态动词的过去完成体形态变化,生成“had been able to laugh”这类表达,这对应过去完成时的情态结构,并非你需要的“情态动词+have+过去分词”的完成体用法。
扩展用法
PerfectVP是通用的完成体转换函数,能适配多种情态动词和时态场景:
- 实现“I should have laughed”:
UseCl (TTAnt TPast ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV should_VV (PerfectVP (UseV laugh_V)) ) )
- 实现“I will have laughed”:
UseCl (TTAnt TFut ASimul) PPos (PredVP (UsePron i_Pron) (ComplVV will_VV (PerfectVP (UseV laugh_V)) ) )
内容的提问来源于stack exchange,提问作者Michal Měchura
相关产品推荐
相关产品推荐

