Новости           

Программы

Turbo Pascal

Игры

Документация

"Странности"

FAQ

Ссылки

Благодарности

Гостевая книга

От автора

ГЛАВА 8. СИНТАКСИЧЕСКИЙ РАЗБОР И ВЫЧИСЛЕНИЕ ВЫРАЖЕНИЙ 

              Как вы напишите программу,  которая будет брать  в  качестве
         входа строку, содержащую численное выражение, например, 10-5*3, и
         возвращает ответ,  который в данном случае равен -5? Если "высшее
         духовенство" еще существует среди программистов,  она должна быть
         составлена теми немногими,  кто знает как это делается. Хотя каж-
         дый, кто пользуется компьютером, мистифицирован способом, которым
         компиляторы и интерпретаторы языков высокого  уровня  преобразуют
         такие сложные выражения, как 10*3 - (4+COUNT)/12 в команды, кото-
         рые может выполнять компьютер.  Процесс преобразования называется
         синтаксическим разбором.  Синтаксический разбор - это основа всех
         компиляторов и интерпретаторов с языков высокого уровня.  Некото-
         рые  программисты  знают,  как написать программу синтаксического
         разбора;  эта область программирования доступна только для немно-
         гих посвященных.
              Однако, такого быть не должно.  Синтаксический разбор на са-
         мом  деле является довольно прозрачным и похож на другие проблемы
         программирования.  В некоторых отношениях он даже легче,  так как
         имеет дело со строгими синтаксическими правилами.  В данной главе
         рассматривается метод рекурсивного нисходящего разбора,  а  также
         все вспомогательные процедуры,  которые позволяют вычислить слож-
         ные численные выражения.  Все эти процедуры будут помещены в один
         файл,  который вы будете использовать всякий раз, когда это пона-
         добиться.  После того,  как вы научитесь пользоваться данным фай-
         лом,  вы можете развить и модифицировать его в соответствии с ва-
         шими нуждами и присоединить себя к "высшему духовенству".

(с)Все права защищены

По всем интересующим вопросампрошу писать на электронный адрес

    Rambler's Top100 PROext: Top 1000
    Rambler's Top100 Яндекс цитирования
Hosted by uCoz