Изучаются нисходящие и восходящие методы синтаксического анализа, основанные на преобразовании формальных грамматик в конечные автоматы с магазинной памятью. <...> Обсуждаются основные задачи генератора кода, такие как управление памятью, выбор инструкций, распределение регистров и порядок вычислений; рассматриваются методы оптимизации кода. <...> Изложены теоретические основы аппарата определения лексики (регулярные выражения) и синтаксиса (формальные грамматики) языков программирования, элементы теории конечных автоматов без памяти и методы ее практического применения для ав-
томатизированного преобразования системы регулярных выражений в конечный авто-
мат – лексический анализатор. <...> Изучаются нисходящие и восходящие методы синтаксического анализа, основанные на преобразовании формальных грамматик в конечные автоматы с магазинной памятью. <...> Рассматриваются различные способы решения задачи нейтрализации синтаксических ошибок. <...> Изучаются наиболее типичные задачи, решаемые на этапе семантического анализа: организация памяти программы, доступ к локальным и нелокальным данным, контроль типов. <...> Обсуждаются основные задачи генератора кода, такие как управление памятью, выбор инструкций, распределение регистров и порядок вычислений; рассматриваются методы оптимизации кода. <...>
Формальные_языки_и_компиляторы.pdf
А. А. МАЛЯВКО
ФОРМАЛЬНЫЕ ЯЗЫКИ
И КОМПИЛЯТОРЫ
Допущено Учебно-методическим объединением вузов
по университетскому политехническому образованию
в качестве учебного пособия для студентов высших учебных
заведений, обучающихся по направлению подготовки 230100
«Информатика и вычислительная техника»
НОВОСИБИРСК
2 0 1 4
Стр.3
УДК 004.43(075.8)
М 219
Рецензенты:
А.В. Гунько, канд. техн. наук, доцент
Е.Л. Романов, канд. техн. наук, доцент
Малявко А.А.
М 219 Формальные языки и компиляторы : учебник / А.А. Малявко. – Новосибирск:
Изд-во НГТУ, 2014. – 431 с. – (Серия «Учебники НГТУ»).
ISBN 978-5-7782-2318-9
Изложены теоретические основы аппарата определения лексики (регулярные выражения)
и синтаксиса (формальные грамматики) языков программирования, элементы
теории конечных автоматов без памяти и методы ее практического применения для автоматизированного
преобразования системы регулярных выражений в конечный автомат
– лексический анализатор.
Изучаются нисходящие и восходящие методы синтаксического анализа, основанные
на преобразовании формальных грамматик в конечные автоматы с магазинной памятью.
Рассматриваются различные способы решения задачи нейтрализации синтаксических
ошибок.
Изучаются наиболее типичные задачи, решаемые на этапе семантического анализа:
организация памяти программы, доступ к локальным и нелокальным данным, контроль
типов.
Обсуждаются основные задачи генератора кода, такие как управление памятью,
выбор инструкций, распределение регистров и порядок вычислений; рассматриваются
методы оптимизации кода.
Приводится описание учебного программного обеспечения и методические указания
по выполнению лабораторных работ и курсового проектирования.
Учебник рекомендуется студентам старших курсов и аспирантам, а также преподавателям
смежных дисциплин, а также студентам и аспирантам ряда других технических
специальностей, связанных с разработкой и использованием программного обеспечения.
УДК
004.43(075.8)
ISBN 978-5-7782-2318-9
Малявко А.А., 2013, 2014
Новосибирский государственный
технический университет, 2013, 2014
Стр.4
)
!
"
#
!
!
! !
! "
! #
"
"
" !
" "
" #
#
#
# !
# "
"
!
&
(
(
!
%
(
(
!"
!%
%
&%
&(
&(
'"
'#
"
""
""
"&
&%
! (
!$
!$"
!$"
!%
!%%
Стр.5
%
# #
# $
# %
# &
# '
# (
#
#
# !
# "
# #
# $
$
$
$ !
$ "
$ #
%
%
% !
% "
$
"&&
"&&
# '
# %
#"
)
#
!%'
!&!
!
!&&
!'"
!($
" %
"
" "
"!(
""%
""&
""'
"#
"#"
"#(
"$%
"%$
"&%
Стр.6