Project

General

Profile

Actions

Язык описания шаблонов тестовых программ » History » Revision 4

« Previous | Revision 4/89 (diff) | Next »
Alexander Kamkin, 09/25/2011 01:08 PM


Язык M4TEST описания шаблонов тестовых программ

Язык предназначен для компактного и переиспользуемого описания тестов (прежде всего, функциональных) для микропроцессоров и других программируемых устройств. Язык представляет собой смесь базового языка ассемблера (АЯ) и управляющего языка высокого уровня (УЯ). УЯ можно рассматривать как препроцессор, поскольку результатом выполнения его конструкций является текст на АЯ. Кроме того, никто не запрещает пользоваться стандартными препроцессорами (например, препроцессором языка программирования С или макропроцессора m4).

Шаблон - это последовательность операторов.

Template ::= Statement*

Операторы делятся на два класса: реальные операторы (операторы, которые порождают код) и мета операторы (операторы, которые используются для управления генерацией кода).

Statement ::= RealStatement | MetaStatement
InstructionStatement ::= (Instruction | InstructionClass) (@ Situation)?

Формат инструкции зависит от ассемблера. Обычно он имеет следующий вид:

ConcreteInstruction ::= Identifier (Parameter (, Parameter)+)?
InstructionClass ::= Identifier (Parameter (, Parameter)+)?
MetaStatement ::= MetaVariableDeclaration |
                  MetaVariableAssignment  |
                  MetaIfStatement         |
                  MetaForStatement        |
                  MetaWhileStatement      |
                  ...

Updated by Alexander Kamkin about 9 years ago · 4 revisions