commit 2839a4af7c63b7653198cbf8cd5ac1c13c7a46e7 Author: Tanmai Khanna Date: Tue Aug 11 17:46:49 2020 +0530 add wblank output to APPENDCHILD, fix wblank reordering for TRX diff --git a/src/rtx_processor.cc b/src/rtx_processor.cc index 75a5fb2..5a2adbf 100644 --- a/src/rtx_processor.cc +++ b/src/rtx_processor.cc @@ -398,6 +398,7 @@ RTXProcessor::applyRule(const wstring& rule) if(!theWblankStack[stackIdx].empty()) { wcerr << "\n%%wblstack%%" << theWblankStack[stackIdx] << "%%\n"; + wcerr << "\n%%outwbl%%" << out_wblank << "%%\n"; } */ @@ -902,6 +903,8 @@ RTXProcessor::applyRule(const wstring& rule) Chunk* ch = chunkPool.next(); ch->isBlank = false; ch->target = kid->target.substr(1, j-1); + ch->wblank = out_wblank; + out_wblank.clear(); theStack[stackIdx].c->contents.push_back(ch); ch = chunkPool.next(); ch->isBlank = true; @@ -910,6 +913,8 @@ RTXProcessor::applyRule(const wstring& rule) } else { + kid->wblank = out_wblank; + out_wblank.clear(); theStack[stackIdx].c->contents.push_back(kid); } if(printingSteps) { wcerr << " -> child with surface '" << kid->target << L"' appended" << endl; } @@ -933,6 +938,7 @@ RTXProcessor::applyRule(const wstring& rule) { theStack[stackIdx].c->target += theStack[stackIdx+1].s; out_wblank = combineWblanks(out_wblank, theWblankStack[stackIdx+1]); + theWblankStack[stackIdx+1].clear(); } else { @@ -960,6 +966,7 @@ RTXProcessor::applyRule(const wstring& rule) { theStack[stackIdx].c->source += theStack[stackIdx+1].s; out_wblank = combineWblanks(out_wblank, theWblankStack[stackIdx+1]); + theWblankStack[stackIdx+1].clear(); } else { diff --git a/tests/WblankVariableTRX.input b/tests/WblankVariableTRX.input new file mode 100644 index 0000000..785faaf --- /dev/null +++ b/tests/WblankVariableTRX.input @@ -0,0 +1,2 @@ +[[t:b:123abc]]^the/el$ [[t:i:asfkl3]]^green/verde$ [[t:s:098sjd]]^dragon/dragón$ [[t:b:po234f]]^sleep/duerme$[[t:b:8snx23]]^./.$ +[[t:i:xyzkm2]]^the/el$ [[t:n:124fcd]]^green/verde$ [[t:b:832dax]]^dragon/dragón$ [[t:s:24nda1]]^sleep/duerme$[[t:i:512rw9]]^./.$ diff --git a/tests/WblankVariableTRX.output b/tests/WblankVariableTRX.output new file mode 100644 index 0000000..775c35c --- /dev/null +++ b/tests/WblankVariableTRX.output @@ -0,0 +1,2 @@ +[[t:b:123abc]]^el$ [[t:s:098sjd; t:s:098sjd]]^dragón$ [[t:i:asfkl3]]^verde$ [[t:b:po234f; t:b:po234f]]^duerme$[[t:b:8snx23]]^.$ +[[t:i:xyzkm2]]^el$ [[t:b:832dax; t:b:832dax]]^dragón$ [[t:n:124fcd]]^verde$ [[t:s:24nda1; t:s:24nda1]]^duerme$[[t:i:512rw9]]^.$ diff --git a/tests/WblankVariable.trx b/tests/WblankVariableTRX.trx similarity index 100% rename from tests/WblankVariable.trx rename to tests/WblankVariableTRX.trx