Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Sometimes the '>>' and/or '<<' delimiters in a StringTemplate group file need to be used as regular strings. This can arise if a StringTemplate is writing out C-code that uses the C operators '<<' or '>>'. For example, consider the follwing StringTemplate in a StringTemplate group file:

monspaced{{
group mygroup;

mycode(a,b,c) ::= <<
. . .
d = e >> 3;
f = g << 4;
. . .
>>
monspaced }}

If one uses the above template, a run-time error will occur because the shift operators in the statements are being interpreted as the beginning or end of a multiline StringTemplate. Ths solution is to escape each of the angle brackets within the StringTemplate:

...