Я хочу, чтобы просмотреть файл сборки с DejaGnu для:DejaGNU скан-ассемблер регулярное выражение
ld.h% d2,
Но я не могу объяснить характер точек и цифровой символ. Я попробовал следующее: (один символ, два обратных слэша и брекетинг)
/* { dg-final { scan-assembler-times "ld\.h\t%d\d," 1 { target { tricore-*-* } } } } */
/* { dg-final { scan-assembler-times "ld\\.h\t%d\\d," 1 { target { tricore-*-* } } } } */
/* { dg-final { scan-assembler-times "ld[.]h\t%d[0-9]," 1 { target { tricore-*-* } } } } */
- Случай с одной обратной косой черты: она просто исчезает, так что смысл регулярное выражение меняется.
- С двумя обратными косыми чертами: он сохраняет оба из них, поэтому совпадений во время сканирования нет.
- С кронштейнами: появляется ошибка.
Выход:
Running ../../../../testsuite/mytest/TX-1234.exp ...
PASS: testsuite/mytest/size16.c (test for excess errors)
FAIL: testsuite/mytest/size16.c scan-assembler-times \tld.h\t%dd, 1
FAIL: testsuite/mytest/size16.c scan-assembler-times \tld\\.h\t%d\\d, 1
ERROR: (DejaGnu) proc "." does not exist.
Итак, как же я объяснить \.
характер или \d
десятичного один?
Это выражение также не работает. Парсер DejaGnu не является регулярным парсером RegEx. – Tannis