Язык описания шаблонов тестовых программ » History » Revision 5
Revision 4 (Alexander Kamkin, 09/25/2011 01:08 PM) → Revision 5/89 (Alexander Kamkin, 09/25/2011 01:08 PM)
h1. Язык M4TEST описания шаблонов тестовых программ
Язык предназначен для компактного и переиспользуемого описания тестов (прежде всего, функциональных) для микропроцессоров и других программируемых устройств. Язык представляет собой смесь базового языка ассемблера (АЯ) и управляющего языка высокого уровня (УЯ). УЯ можно рассматривать как препроцессор, поскольку результатом выполнения его конструкций является текст на АЯ. Кроме того, никто не запрещает пользоваться стандартными препроцессорами (например, препроцессором языка программирования С или макропроцессора m4).
Шаблон - это последовательность операторов.
<pre>
Template ::= Statement*
</pre>
Операторы делятся на два класса: реальные операторы (операторы, которые порождают код) и мета операторы (операторы, которые используются для управления генерацией кода).
<pre>
Statement ::= RealStatement | MetaStatement
</pre>
<pre>
InstructionStatement ::= (Instruction | InstructionClass) (@ Situation)?
</pre>
Формат инструкции зависит от ассемблера. Обычно он имеет следующий вид:
<pre>
ConcreteInstruction ::= Identifier (Parameter (, Parameter)+)?
</pre>
<pre>
InstructionClass ::= Identifier (Parameter (, Parameter)+)?
</pre>
<pre>
MetaStatement ::= MetaVariableDeclaration |
MetaVariableAssignment |
MetaIfStatement |
MetaForStatement |
MetaWhileStatement |
...
</pre>