Как избежать символов [и% в TT2

Я использую TT2. Я хочу напечатать something[%0d] из моего файла шаблона. Но я не могу найти никакого escape-символа для использования набора инструментов шаблона.

Есть предложения, как пропустить % и [ для обработки в TT?

Точная строка:

printer.print_object(.name($sformatf("[% item %]_slv_agent_cfg[%0d]:", i)), .value([% item %]_slv_agent_cfg[i]));

заранее спасибо


person justrajdeep    schedule 16.12.2016    source источник
comment
metacpan.org/pod/   -  person melpomene    schedule 16.12.2016
comment
@melpomene: Пожалуйста, улучшите это и отправьте в качестве ответа.   -  person Borodin    schedule 16.12.2016


Ответы (2)


Вы могли бы использовать

[% "[%" %]

вместо

[%

Это выглядело бы так:

$ tpage <<<'slv_agent_cfg[% "[%" %]0d]'
slv_agent_cfg[%0d]

$ tpage <<<'slv_agent_cfg[% "[%0d]" %]'
slv_agent_cfg[%0d]

Более коротким решением было бы использовать

[[%%]%

вместо

[%

Это выглядело бы так:

$ tpage <<<'slv_agent_cfg[[%%]%0d]'
slv_agent_cfg[%0d]

Если вам нужно экранировать слишком много экземпляров, вы можете переключить тег стиль.


Наконец, вы можете изменить программу, чтобы избежать последовательности. Например, вы можете заменить

"slv_agent_cfg[%0d]"

с участием

"slv_agent_cfg[\%0d]"

or

{"slv_agent_cfg[","%0d]"}

Я не знаю Verilog, поэтому подробности могут быть неправильными, но вы поняли.

person ikegami    schedule 16.12.2016

Если я использую TT для написания шаблона TT, есть ли хороший способ избежать [% и%]?

Так что something[\%0d] должно работать.

person Adam Millerchip    schedule 16.12.2016
comment
На самом деле это не то, о чем говорит ваша ссылка. - person melpomene; 16.12.2016
comment
Да, вы правы - поспешная публикация. Сниму. - person Adam Millerchip; 16.12.2016
comment
Восстановлено в ответ на комментарий Бородина к ОП. - person Adam Millerchip; 17.12.2016