Символ-шаблонПоддерживаетсяСоответствующая строка
\во всехНачало евсаре-последовательности. Определяет, следует ли интерпретировать последующий знак как шаблон. Последующие буквы или цифры интерпретируются различными способами в зависимости от программы
во всехЛюбой символ
во всехНачало строки
$во всехКонец строки
[...]во всехЛюбой из символов, указанных в скобках
Г.. ■]во всехЛюбые символы,кроме указанныхв скобках
*во всехЛюбое количество экземпляров предыдущего элемента
?egrep/Emacs, Perl/PythonНи одного или один экземпляр предыдущего элемента
+egrep/Emacs, Perl/PythonОдин или несколько экземпляров предыдущего элемента
{п}egrep,В точности п повторений предыдущего элемента. Не поддерживается некоторыми старыми regexp-средствами
Perl/Python; как \ {n\} в Emacs
{п,}egrep,п или более повторений предыдущего элемента. Не поддерживается некоторыми старыми regexp-средствами
Perl/Python; как \ {n, \} в Emacs
{ш,п}egrep,Минимум ш и максимум п повторений предыдущего элемента. Не поддерживается некоторыми старыми regexp-средствами
Perl/Python; как \{m,n\} в Emacs
1egrep,Элемент слева или справа. Обычно используется с некоторой формой группирующих разделителей
Perl/Python; как \ | в Emacs
(...)Perl/Python; как \ (. . . \) в более старых версияхИнтерпретировать данный шаблон как группу (в более новых regexp-функциях, например в языках Perl и Python). Более старые средства, такие как regexp-функции в Emacs и в утилите grep требуют записи \ (... \)
<p>8.2.3. Учебный пример: Glade</p>

Glade представляет собой средство разработки интерфейсов для библиотеки Х-инструментария59 GTK с открытым исходным кодом. Glade позволяет разрабатывать GUI-интерфейс путем интерактивного выбора, размещения и модификации элементов управления на панели интерфейса. GUI-редактор создает XML-файл, описывающий проектируемый интерфейс. Полученный файл, в свою очередь, можно передать одному из нескольких генераторов кода, которые непосредственно создают С, С++, Python- или Perl-код для интерфейса. Сгенерированный код затем вызывает создаваемые разработчиком функции, определяющие поведение интерфейса.

XML-формат Glade для описания GUI-интерфейсов является хорошим примером простого узкоспециального мини-языка. В примере 8.1 показан G/ade-формат для GUI-интерфейса "Hello, world!".

Адекватная спецификация в G/fiufe-формате предполагает набор действий, предпринимаемых GUI-интерфейсом в ответ на действия пользователя. GUI-интерфейс Glade интерпретирует данные спецификации как структурированные файлы данных. С другой стороны, генераторы кода Glade используют их для написания программ, реализующих GUI. Для некоторых языков (включая Python) существуют библиотеки времени выполнения, которые позволяют пропустить этап генерирования кода и просто создавать GUI непосредственно во время обработки XML-спецификации (интерпретируя Glade-разметку вместо того, чтобы компилировать ее). Таким образом, разработчик получает выбор: эффективное использование пространства ценой скорости запуска или наоборот.

Перейти на страницу:

Похожие книги