Смекни!
smekni.com

Программное обеспечение удалённого доступа к технической документации

МИНИСТЕРСТВООБЩЕГО И ПРОФЕССИОНАЛЬНОГООБРАЗОВАНИЯРФ
МОСКОВСКИЙГОСУДАРСТВЕННЫЙИНСТИТУТ ЭЛЕКТРОННОЙТЕХНИКИ (ТЕХНИЧЕСКИЙУНИВЕРСИТЕТ)


КНИЖКАДИПЛОМНИКА.


Ф.И.О. _МамаевВасилий Александрович____________________

Факультет____ЭКТ _______ Индекс группы_____52_______

СпециальностьN_22.03 ______________

Специализация(кафедра)_ПКИМС___________________________

Началодипломногопроектирования_21.01.2000 _____

Контрольныесроки просмотрапроекта накафедре:

1просмотр_16.02.20002просмотр _20.03.2000

датадата

3просмотр_15.04.20004просмотр _18.05.2000

датадата

Окончаниедипломногопроектирования_05.06.2000__________

Срокпредставленияна рецензию______01.06.2000__________

Защитапроекта назаседании ГЭК_____07.06.2000__________

ЗАДАНИЕНА ДИПЛОМНЫЙПРОЕКТ

  1. Наименованиетемы: _Программноеобеспечениеудалённогодоступа ктехническойдокументации.  

  2. Цельпроекта: _Разработкаметода созданияпрограмм трансляторовразличныхтекстовыхформатов сиспользованиемгенераторовпрограмм Lex иYacc путем созданияпрограммы-транслятораиз текстовогоформата nroff вгипертекстовыйформат HTML.  

  3. Назначениеразрабатываемогоизделия (процесса):   Обеспечениевозможностиработы с документациейи справочнойинформациейдля пользователейСАПР ИМС наоснове унифицированныхсредств удалённогодоступа.  

  4. Техническиетребования.

А) требования,предъявляемыек объектампроектирования:

___Разрабатываемоепрограммноеобеспечениедолжно функционироватьна компьютерахпод управлениемоперационнойсистемы UNIX иразличных ееразновидностей(SunOS, Solaris, FreeBSD, Linux, Intel Solaris).  
Требованияк конечномуформату текста:  

Текстыв конечномформате должныбыть доступныдля чтения накомпьютерах,работающихкак под управлениемWindows 95 (NT), так и подуправлениемсистемы UNIX и ееразновидностей,вне зависимостиот реализацииот графическогоинтерфейсапользователя.  
Текстыв конечномформате должныбыть доступныдля чтения какв режиме удаленногодоступа, таки непосредственнона компьютерепользователя.  
Необходимыефункциональныевозможностипрограммы транслятора: 
Преобразованиестандартногонабора командтекстовогоформата nroff вкоманды форматаHTML.  
Максимальнополное сохранениеисходногоформатированиятекста.  
Заменаиспользуемыхшрифтов X WindowSystem на шрифтыоперационнойсистемы Windows.  
Добавлениегипертекстовыхссылок.  
Требованияк количественнымпараметрампрограммы-транслятора: 
Недолжно бытьограниченийна объем входногофайла. 
•Времяобработки файладлиной 1000 строктекста не должнопревышать 10секунд.  

Б)содержаниеспециальногораздела проекта(указываютсяотдельно части,разрабатываемыекак эскизный,техническийи рабочий проекты,графическиеработы: чертежии плакаты, требованияк выполнениюрасчетно-пояснительнойзаписки): Науровне эскизногопроектадать описаниеструктурыпрограммно-аппаратногокомплекса САПР.  
Глава пояснительнойзаписки.  
Плакат №1 –Общая структурапрограммно-аппаратногокомплекса САПРИМС.  
Науровне техническогопроектарассмотретьи сопоставитьприменяемыев настоящеевремя техническиерешения поорганизацииудалённогодоступа к техническойдокументации. 
Глава пояснительнойзаписки.  
Плакат №2 - Схемаудалённогодоступа кдокументации.  
Плакат №3 -Схема доступа к гипертекстовойдокументации. 
Науровне рабочегопроектаразработатьи реализоватьпрограмму трансляториз текстовогоформата nroff вгипертекстовыйформат HTML на основегенераторовпрограмм Lex иYacc.  
Главапояснительнойзаписки.  
Плакаты всоставе, необходимомдля иллюстрациисодержаниявыполненныхработ.  


В)задание натехнологическийраздел проекта:   Технологиясоздания трансляторовс применениемгенераторовпрограмм Lex иYacc.  

Г)задание наорганизационно-экономическийраздел проекта:_ЭкономическоеобоснованиеразработкиНИОКР.  

Д) заданиена раздел«Производственнаяи экологическаябезопасность»:Обеспечениекомфортныхусловий трудапри работе наПЭВМ.  

Основнаялитература:  
1.БеляковМ.И., РабоверЮ.И., ФридманА.Л. Мобильнаяоперационнаясистема. – Москва:Радио и связь,1991. – 206 с.  
2.Topham D.W., Troung H.V., Unix and Xenix: A Step-by-StepGuide. – Bowie: Brady Communication Company, Inc. 1985. –352 c.  
3.ГончаровА.А., HTML в примерах.- Петербург:Питер, 1997. - 230 с.  
4.Ф. Льюис,Д. Розенкранц,Р. Стирнз., Теоретическиеосновы проектированиякомпиляторов.- Москва: Мир,1979. - 120 с.  
5. Р. Петерсен.,LINUX. Полное руководство.Киев: BHV, 1998. - 300 с.  
 
 
 
 
 
 
 
 
 
 

(подписи)

Руководительдипломногопроекта АвдеевЮ.В._____________

Нач. отд. 26 з-дМикрон.

Консультантыпо разделампроекта:

СпециальномуАвдеевЮ.В._____________

Нач. отд. 26 з-дМикрон.

ТехнологическомуАдриановМ.В._____________

Нач. лаб. 261 з-дМикрон.

Организационно-экономическомуКоротковаТ.Л._____________

Доцент каф.МаркетингаМГИЭТ(ТУ).

Производственнойи экологическойПриваловВ.П. _____________

безопасностиК.Т.Н.,доцент каф. ПЭБМГИЭТ(ТУ).


Заведующийкафедрой КазеновГ.Г._____________


Заданиеполучил 16.02.2000Мамаев В.А. 

РецензентНаумовН.М. _____________

Ст. науч.сотрудник НИИМЭи з-д Микрон.

СПРАВКА ОБУСПЕВАЕМОСТИ.

СтудентМамаевВ.А. за времяпребыванияв МИЭТ с 1992г. по2000г. полностьювыполнил учебныйплан специальностисо следующимиоценками:

отлично -____________________________________________________

хорошо - ____________________________________________________

удовлетворительно-___________________________________________

Секретарь факультета______________________________________________

(подпись)

Заключениеруководителядипломногопроекта:

Студент_____________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

_____________________________________________________________________

РуководительАвдеевЮ.В.(подпись)

Заключениео дипломномпроекте:

Дипломныйпроект просмотрен,и студент МамаевВ.А. можетбыть допущенк защите этогопроекта вГосударственнойэкзаменационнойкомиссии.

Заведующийучебным центром_________________________________(подпись)

Заведующийкафедрой КазеновГ.Г.(подпись)


Введение.3

1.Постановказадачи.8

1.1 Требования,предъявляемыек транслятору.8

1.2 Оценкадостоинстви недостатковсуществующихтрансляторов.10

Заключение.15

2.Проектированиетранслятора16

2.1 Схемаразработкитранслятора.16

2.2 Принципыпостроениялексическиханализаторов.18

2.3 Грамматики.
Принципыпостроенияграмматическиханализаторов.21

Заключение.34

3.Технологияреализациитранслятора с помощьюгенераторовпрограмм Lex иYacc.35

3.1 Определениелексем, встречающихсяв формате nroff35

3.2 Описаниеграмматическихправил преобразованияиз форматаnroff в формат HTML.40

3.3 Соответствиемежду командамиформатов
nroff иHTML.43

3.4 Отладкалексическогои грамматическогоанализаторов.48

Заключение.49

4.ЭкономическоеобоснованиеразработкиНИОКР.50

4.1 Расчетзатрат временина разработкутранслятора.50

4.2 Расчетстоимостиосновных фондов,используемыхдля разработкитранслятора.52

4.3 Расчетзатрат на разработкутранслятора.56

Наименованиефонда60

4.4 Формированиерасчетной(остаточной)прибыли предприятияи определениеэффективностипроизведенныхзатрат на разработкутранслятора.60

4.5 Оценказначимостиразработкитранслятора.65

Заключение.68

5.Обеспечениекомфортныхусловий трудапри работе наПЭВМ.69

5.1 Характеристикаусловий трудаоператора ЭВМ69

5.2 Требованияк защите отшума и вибраций.69

5.3 Требованияк микроклимату,содержаниюаэроионов ивредных химическихвеществ в воздухепомещенийэксплуатацииПЭВМ71

5.4 Требованияк интенсивностиэлектромагнитныхполей, рентгеновского,видимого,ультрафиолетовогои инфракрасногоизлучений.73

5.5 Требованияк освещениюпомещений ирабочих местс ПЭВМ.74

5.6 Расчетосвещенностирабочего местапрограммиста.78

Заключение.84

Списоклитературы:85

Приложения.86

Фрагменткода лексическогоанализатора.86

Фрагменткода грамматическогоанализатора.87

Код головнойпрограммы.89

Введение.

Одним изосновополагающихмоментов организацииСАПР являетсявыбор архитектурывычислительногокомплекса итехнологиидоступа к прикладнымпрограммнымсредствам. Внастоящее времянаиболеераспространеннымявляется подход,получившийнаименование«технологииклиент-сервер».Этот подходсостоит всосредоточениивычислительныхи прикладныхресурсов навыделенныхкомпьютерах- серверах иорганизациидоступа к нимс рабочих мест- клиентов.

Так как обязательнымкомпонентомСАПР являетсяинформационноеобеспечение(различные базыданных, проектныебиблиотекии все видыдокументации),то при использованиитехнологииклиент-серверцелесообразноразместитьэти составляющиена выделенныхсерверах.

Главнымпрепятствиемпри созданиитаких информационныхсерверов оказываетсябольшое количествоформатов текста,в которых хранитсятехническаяинформацияи различнаядокументация,способов исредств доступак данным, ихразнородность,различие требованийк аппаратнымсредствам исистемнойсреде.

Например,документацияо системе UNIX ифункциях языка«c++» (или егоаналога «g++»)представленав виде так называемых«manual pages». Она просматриваетсяс помощью командысистемы UNIX «man»либо с помощьюутилиты просмотра«Xman». Справочныефайлы САПР«Compass» используютформат «Iview»,просматриваемыйс помощью специальныхутилит просмотра.А САПР «Cadence»предоставляетинформациюпользователюв формате «OpenBook», также требующемспециальныхсредств просмотра.

Кроме того,при использованиив качестверабочего местаX терминала,доступ к некоторымдокументамстановитсяневозможенв принципе, таккак, например,программепросмотра«Iview» требуетсядля работыграфическийклиент X Window версии6, а многие изнаходящихсяв эксплуатацииХ терминаловимеют аппаратно реализованнуюверсию X Window 5.

Для выходаиз создавшейсяситуации можнопредложитьследующее:необходимопривести всюдокументациюк единому форматуданных и сосредоточитьее в одном месте,удобном длядоступа всехпользователей. Это даст возможностьоснастить всехпользователейунифицированнымисредствамидоступа ко всеминформационнымресурсам.

Единый форматдля документациидолжен отвечатьследующимтребованиям:

  • Тексты,записанныев выбранномформате, должныбыть доступныдля чтения какна персональномкомпьютерепод управлениемоперационнойсистемы Windows 95(NT),так и на сервере,работающимпод управлениемUNIX, а также наХ терминале.

  • Текстыдолжны сохранятьисходноеформатирование.

Учитывая,что частодокументациясодержит перекрестныессылки, важнойчертой, влияющейна выбор формата,становитсявозможностьсоздания втексте такихссылок.

Крометого, требуется,чтобы твердыекопии документацииизготавливалисьбы одним методоми выгляделибы одинакововне зависимостиот метода доступак удаленномусерверу техническойдокументации.

Представляетсяоптимальнымвыбор форматаHTML. Этот форматпросматриваетсяс помощью программ,версии которыхработают какпод управлениемWindows, так и подуправлениемUNIX. Формат HTML поддерживаетширокие возможностиформатирования.Кроме того,этот форматявляется стандартнымформатом длятекстов в технологияхInternet, и его использованиепозволяет легкорешить проблемуобщедоступностидокументациипри помощииспользованииэтих технологий.Используяформат HTML, можносделать документацию,преобразованнуюиз того илииного формата,общедоступной,поместив еев один из узловсети. Следуетзаметить, чтов настоящеевремя большинстволокальных сетейстроятся натех же принципахи с использованиемтого же инструментария,что и сети Internet.Формат HTML удобенеще и тем, чтоформатированиетекста в нем,как и в форматеnroff (наиболеераспространенномв среде UNIX), осуществляетсяпростыми текстовымикомандами, чтопозволяет еголегко редактироватьв случае надобностис помощью любоготекстовогоредактора.


Проектпосвящен разработкеметода созданияпрограмм трансляторовразличныхформатов текста.Рассмотренысуществующиепрограммы трансляторы,оценены ихдостоинстваи недостатки.Выбран унифицированныйподход к разработкепрограмм трансляторов,разработанмаршрут разработкитаких программ.

Рассмотреныэкономическиеаспекты разработкипрограммы транслятора,произведенаоценка значимостиразработкитранслятора.

1. Постановказадачи.

Существуетмножество путейсозданияпрограммы-транслятора,работающейв среде UNIX. Конкретнаяреализацияпрограммызависит, преждевсего, от требований,предъявляемыхк программеи конечномуформату. Крометого, возможнаситуация, прикоторой разработкановой программыможет простоне иметь смысла,так как в средеUNIX существуетбольшое количествосвободнораспространяемыхпрограммпредназначенныхдля решениясамого широкогоспектра задач.

1.1 Требования,предъявляемыек транслятору.

Согласноусловиям техническогозадания программадолжна функционироватьв вычислительныхсистемах подуправлениемОС "Unix" и совместимыхс ней (“SunOS”, “Linux”,“FreeBSD”, и др.). Проблемасостоит в том,что исполняемыефайлы ОС “UNIX”могут бытьнеработоспособныв среде “Linux”. Вто же время,многие изUNIX-подобных системпоставляютсяпользователюв виде исходныхфайлов, предназначенныхдля компилирования.Так же и в данномслучае можнопередаватьпрограмму ввиде исходныхтекстов, снабженныхпрограммойкомпиляции.Это, с однойстороны, повыситпереносимостьпрограммы, ас другой - позволитвносить достаточноопытному пользователюнеобходимыепоправки икорректировки,расширяя возможноститрансляторав соответствиис потребностямипользователя.При этом необходимымусловием становитсянаписаниепрограммы припомощи такихсредств, которыеприсутствовалибы в любойUNIX-подобнойоперационнойсистеме.

Полученныйже в результатеработы программыдолжен поддерживатьсякак в операционнойсистеме UNIX, таки в операционнойсистеме Windows 95 (NT).Программа,предназначеннаядля просмотратекста в конечномформате должнабыть распространеннойи общедоступной.Оптимальнымвариантом былобы, если бы программаявлялась неотъемлемойчастью операционныхсистем или жев любой системесуществовалиспособы просмотратекста в данномформате.

Важным условиемявляется сохранениев конечномформате текставсего форматирования,имевшегосяв исходномформате и, возможно,добавлениеэлементовформатирования,облегчающихработу пользователяс документом.

Следуетучитывать, чтобольшинствоимеющихсяформатов используютпри выводетекста различныешрифты. Приэтом в разныхоперационныхсистемах шрифтыразличны и, вбольшинствеслучаев, несовместимы.При преобразованиитекста следуетпровести адекватнуюзамену используемыхв исходномтексте шрифтов.

1.2 Оценка достоинстви недостатковсуществующихтрансляторов.

Прежде всего,следует выяснить,имеет ли смыслсоздавать новуюпрограмму, таккак в настоящеевремя уже существуютразличныепрограммы-трансляторыиз форматаnroff в формат HTML.Рассмотримхарактеристикиэтих программ,выясняя ихпреимуществаи их недостатки.

Наиболееизвестнымии распространеннымипрограммамив настоящеевремя являютсяследующие:

  1. Программа“nroff2HTML” (автор Р.Ричи).

Программанаписана наязыке “C”, работаетпод управлениемОС “UNIX”.

Работаетс исходнымитекстами вформате nroff. Приконвертированиивставляет втекст конечногофайла обязательныетеги форматаHTML (такие, как,

, )и затем копируетисходный текст,уничтожая всекоманды nroff,предварительноотформатировавего с помощьютега

. Врезультатеполучаетсясплошной текст.

  1. Программа“gnome-man2html”, входящаяв графическийинтерфейспользователя“GNOME”.

Программанаписана наязыке "C", работаетпод управлениемоперационнойсистемы "Linux",тесно интегрированас графическиминтерфейсомпользователя"GNOME".

Даннаяпрограммаработает нес реальнымифайлами, а выступаеткак фильтр привыводе текстас помощью программы“man” на экранкомпьютера,перенаправляявывод в окноHTML-броузера иснабжая егопри этом всемикомандами,необходимымидля форматирования.Полученныйна экране текствыглядит наилучшимобразом, т.к. внем сохраняютсявсе необходимыевиды форматированияи поддерживаютсяперекрестныессылки. Но даннаяпрограмма неможет работатьбез пакета“GNOME”, для работыкоторого, всвою очередь,необходимаОС “Linux”.

  1. Программа“hypernroff” (автор К.Садовски).

Программанаписана наязыке “C”, работаетпод управлениемОС “UNIX”.

Вкачестве входногои выходногопотоков используетсястандартныйпоток ввода вывода.Позволяетприниматьинформациюиз файлов ивыводить еев файл посредствомперенаправленияпотоков, доступномв среде UNIX. Вставляетв текст конечногофайла обязательныетеги форматаHTML. Поддерживаетнекоторые видыуправлениятекстом, такие,как выравнивание(по левому иправому краям,по центру). Всеформатированиеосуществляетсязаменой пробелов,при помощикоторых форматируетсятекст в форматеnroff, на символформата HTML “nbsp” -неразрывныйпробел. Изменениешрифтов, подчеркивание,курсив неподдерживаются.

  1. Программа“man2html” (автор Р.Верховен).

Программанаписана наязыке “C”, работаетпод управлениемОС “FreeBSD”. Подуправлениемдругих разновидностейОС “UNIX” не полностьюработоспособна.Существуетcgi-скрипт “vh-man2html”(автор М. Гамильтон),обеспечивающийвызов программыи выдачу результатовее работы вhtml-броузере.

Работаетс исходнымитекстами вформате nroff. Поддерживаетмакросы man-1.4 иформат BSD-mandoc (разновидностьnroff). Вставляетв текст конечногофайла обязательныетеги форматаHTML. Поддерживаетразличные видыуправлениятекстом, в томчисле таблицы.Замена шрифтовне производится.Не вставляютсяперекрестныессылки, хотяскрипт “vh-man2html”сильно облегчаетпоиск необходимыхфайлов.

Ни одна изэтих программне удовлетворяетнашим требованиям,так как намнеобходимосохранятьмаксимальнополный объемформатирования(что дает нампрограмма“gnome-man2htmnl”), добившисьпереносимостипрограммы имаксимальнойее независимостиот наполненияоперационнойсреды (программа“gnome-man2htmnl” являетсянепереносимой,она функционируеттолько подуправлениемсистемы Linux). Главнымнедостаткомвсех рассмотренныхпрограмм являетсяих ориентацияна работунепосредственнона одном рабочемместе, безиспользованиясетевых технологий.Этим объясняется,например то,что ни одно изпрограмм неподдерживаетзамену шрифтовX Window System на шрифтыоперационнойсистемы Windows.

При созданиипроекта в первуюочередь следуетрешить второйвопрос (независимостьот наполненияоперационнойсреды), и, затем,выбрав принципыреализациипроекта, приступитьк созданиюпрограммы,способнойадекватнообработать,как минимум,весь объемстандартныхкоманд и операцийформата nroff.

1.3Выбор способареализациитранслятора.

Первым очевиднымэлементом,присутствующимво всех такихОС, являетсякомпиляторязыка “С”, накотором, собственно,и написанаоперационнаясистема “UNIX”.Но язык “С”является достаточносложным языкоми не все пользователизнакомы с ним.В тоже время,в ОС “UNIX” существуютдругие средстванаписанияпрограмм: этогенераторыпрограмм LEX иYACC. Описание ихкоманд настолькопросто и логично,что позволяетвносить коррективыв существующуюпрограмму неимея специальнойподготовки,и, возможно,даже не будучизнакомым сописанием этихсредств, имеятолько текстисходной программы.


Заключение.

Выявленанеобходимостьсозданияпрограммы транслятора,так как существующиена данный моментпрограммы неудовлетворяетпредъявляемымтребованиям.В качествеконечногоформата выбрангипертекстовыйформат HTML, какнаиболее полносоответствующийнашим целям,широко распространенныйи простой виспользовании.В качествесредства созданияпрограмм выбраныгенераторыпрограмм Lex иYacc благодарялегкости освоенияи полной переносимостипрограмм, написанныхна их основе,в среде UNIX.

2. Проектированиетранслятора

Проектированиепрограммы трансляторас использованиемгенераторовпрограмм Lex иYacc имеет своиособенности,независящиеот конкретныхформатов, скоторыми будетработатьразрабатываемыйтранслятор.

Разработавобщий маршрутпроектированияна основе этихсредств программирования,можно впоследствиипроектироватьподобные задачибыстро и безлишних затрат.

2.1 Схема разработкитранслятора.

Сначала спомощью генераторапрограмм Lex строитсялексическийанализатор.В задачу лексическогоанализаторавходит полноепоглощениевходного файла(потока) и передачав синтаксическийанализаторнайденныхлексем, а такженекоторыхнеобходимыхданных. Например,может бытьнайдена некотораялексема NUMBER, а вкачестве данныхбудет переданочисловое значениенайденногочисла или цифры,либо возможнаситуация прикоторой в качествелексемы выбираетсякоманда, а данные,сопутствующиеэтой команде,передаютсяне как лексемы,а каким-либодругим путем.

Затем строитсясинтаксическийанализаторс помощью генераторапрограмм YACC. Всинтаксическоманализатореописываютсяправила, с помощьюкоторых будетпроисходитьпреобразованиетекста. Правилаопираются наполученныеиз лексическогоанализаторалексемы.

Кроме того,возможно, чтов формате, вкоторый происходитпреобразование,могут требоватьсякакие-либоэлементы, независящие оттекста, например,заголовокформата и команды,завершающиетекст. Эти элементыдолжны бытьвставлены либона этапе синтаксическогоанализа, и процедураих вставкибудет частьюсинтаксическогоанализатора,либо они будутвставлятьсяголовной программой,которая и будетвызывать программусинтаксическогоанализа.

Компиляциямодулей (лексическогоанализатора,синтаксическогоанализатораи головнойпрограммы)происходитв следующемпорядке:

  1. Спецификациясинтаксическогоанализаторас помощью генераторапрограмм Yaccпреобразуетсяв программуна языке C. Приэтом создаетсяфайл с описаниемлексем, обрабатываемыхсинтаксическиманализатором.

  2. Спецификациялексическогоанализаторас помощью генераторапрограмм Lexпреобразуетсяв программуна языке C. Именалексем определяютсяв подключаемомфайле, полученномна предыдущемэтапе.

  3. Компилируетсяс помощьюкомпилятораязыка C головнаяпрограмма,вызывающаясинтаксическийанализатор.При компиляцииподключаютсялексическийанализатори синтаксическийанализатор(программы наязыке C). Компиляцияпроисходит с использованиемстандартныхбиблиотек.

2.2 Принципыпостроениялексическиханализаторов.

Лексическийанализаторвыполняетпервую стадиютрансляции- читает строкитранслируемоготекста, выделяетлексемы и передаетих на дальнейшиестадии трансляции(грамматическийразбор, синтаксическийанализ).

Основнымэлементомлексическогоанализатораявляются правила.Правила – эторасширенныерегулярныевыражения идействия. Действиямогут бытьзаписаны какс помощью команд«языка» Lex, таки на языке C.Регулярныевыражения –это описаниявозможныхнаборов символовиз входногопотока, называемыев дальнейшемлексемами.

Лексическийанализаторраспознаеттип каждойлексемы исоответствующим образом помечаетее. Лексическийанализатордолжен не тольковыделить лексему,но и выполнитьнекоторыепреобразования.Например, еслилексема - число,то его необходимоперевести во внутреннююформу записи.

Хотя лексическийанализ по своейидее прост, темне менее этафаза работытрансляторачасто занимаетбольше времени,чем любая другая.Частично этопроисходитиз-за необходимостипросматриватьи анализироватьисходный текстсимвол за символом.Иногда дажебывает необходимовернуть прочитанныйсимвол во входнойпоток с тем,чтобы повторитьпросмотр ианализ. Происходитэто потому, чточасто бываеттрудно определить,где проходятграницы лексемы.Например, могутсуществоватьдве лексемы:“make” и “makefile”. Прианализе входногопотока символовможет бытьвыделена лексема“make”, хотя правильнобыло бы выделитьлексему “makefile”.Единственныйспособ преодолетьэто затруднение- просмотр полученной цепочки символов назад и вперед.В нашем примерепри выделениилексемы “make”мы должны просмотретьследующий поступающийсимвол и, еслион будет символом"f", то вполневозможно, чтопоступаетлексема “makefile”.

Вообще говоря,в общем случаепрограммылексическогоанализа, построенныес помощью генераторапрограмм Lex, всегдапросматриваютвходной потоквперед. Приэтом из входногопотока выбираетсялексема, соответствующаяправилам, снаибольшейдлиной. Этонесколькозамедляетработу, но помогаетизбежать ошибок.

Также в общемслучае предполагается,что лексемаможет находитьсяв любом местевходного потока.Но при этомпредусмотреныспособы учитыватьконтекст. Во первых,для этого применяютсятак называемые«состояния»лексическогоанализатора.Переход в состояниеосуществляетсяпри срабатываниикакого либоправила поспециальнойкоманде. Исходнымсостояниеманализатораявляется состояние«0». Возможнаситуация, когдаодно и тожеправило можетвыполнятьсяв несколькихсостояниях.Во вторых,существуетоператор определенияконтекста: «/».Например, выражение«ab/cd» удовлетворяетстроке ab тольков том случае,если за нейследует cd.

Кроме того,в Lex существуютинструменты,использующиепросмотр впереди назад: в правилепри определениилексемы могутиспользоватьсяспецсимволы«^» и «$», говорящие,что лексемадолжна находитсяв начале строкиили в конце.Последний, насамом деле,является частнымслучаем оператора«/», так как дляопределенияконца строкииспользуетсявыражение

\”\n”

При использованиилексическогоанализаторасовместно ссинтаксическим,от лексическогоанализаторатребуетсяполное поглощениевходного потокаи передача всинтаксическийанализаторнайденныхлексем и данных,им соответствующих.Для того, чтобывесь входнойпоток был полностьюпоглощен и вконечный файлне попалинеобработанныефрагментывходного формата,лексемы, содержащиесяв спецификациилексическогоанализаторадолжны полностьюописывать всевозможныенаборы символов.

Для передачиданных излексическогоанализаторав синтаксическийсуществуетнесколькопутей. Наиболеепростым являетсяметод передачиданных припомощи глобальныхпеременных– текстовойyytext и числовойyylval.

Для упрощениянаписанияспецификацийможно применятьтак называемые«подстановки».Какой-либочасто используемыйшаблон описываетсяи сопоставляетсяс некоторымименем. В дальнейшемэто имя можноиспользоватьв правилахвместо данногошаблона. Приэтом, если возникнетнеобходимостьизмененияшаблона, ненадо будетискать вхожденияшаблона напротяжениивсей спецификации– достаточнобудет изменитьшаблон в определенииподстановки.

2.3 Грамматики.
Принципыпостроенияграмматическиханализаторов.

СпецификацияYacc (грамматика)описываетсякак набор правилв виде, близкомк форме Бэкуса Наура(БНФ). Каждоеправило описываетграмматическуюконструкцию,называемуюнетерминальнымсимволом, исопоставляетей имя. С точкизрения грамматическогоразбора правиларассматриваютсякак правилавывода (подстановки).Грамматическиеправила описываютсяв терминах некоторых исходных конструкций,которые называютсялексическимиединицами, илилексемами. Какправило, именасопоставляютсялексемам,соответствующимклассам объектов,конкретноезначение которыхне существеннодля целейграмматическогоанализа.

Прежде, чемговорить оконкретныхпринципахпостроениясинтаксическиханализаторовс использованиемгенераторапрограмм Yacc,необходиморазобратьсяв том, какиеграмматикисуществуюти чем они отличаются.

Прежде всегостоит отметить,что различаютдва основныхтипа грамматик:контекстно-зависимыеи контекстно-независимые.

Если порождающееправило имеетследующий вид:

A ::=,

где A – нетерминальныйсимвол, а - терминальныйили нетерминальный,то порождающееправило называетсяконтекстно-зависимым,то есть заменанетерминальногосимвола A напоследовательность можетиметь местотолько в контекстах и .Соответственно,и грамматика,содержащаяподобное правило,называетсяконтекстно-зависимой.

Если порождающееправило имеетвид:

A ::= ,

то есть, еслилевая частьпорождающегоправила состоитиз одногонетерминальногосимвола, которыйв итоге (черезряд промежуточныхшагов) можетзаменятьсяна последовательность, стоящуюв правой части,независимоот контекста,в котором этотнетерминальныйсимвол встречается,то такое правилои, соответственно,грамматиканазываютсяконтекстно-независимыми(или контекстно-свободными).

Контекстно независимыеграмматикиболее универсальны.Для разработкиуниверсальныхпринциповпроектированиятрансляторовследует использоватьих, так как онипозволяютобработатьпрактическилюбой входнойязык.

Контекстно-свободныеграмматики.

Существуетнесколькоосновополагающихтерминов втеории грамматик.Нетерминальныйсимвол (нетерминал)– описываемыеэлементы. Например,при определенииязыков программированиянетерминаламислужат , ит.п. В контекстно-свободнойграмматикеможет бытьлюбое конечноечисло нетерминалов.

Слова изсловаря языкаиграют рольтерминальныхсимволов(терминалов).Контекстно-свободнаяграмматикаможет такжесодержать любоеконечное числотерминалов.В языках программированиятерминаламиявляются фактическииспользуемыев них слова исимволы: «do»,«else», «+» и т.п.

Правилаграмматикииногда называютсяпродукциямии в общем видевыглядят так:

Один_нетерминал любаяконечная цепочкаиз терминалови нетерминалов.

При этомцепочка справаот стрелкиможет быть ипустой. Например,

Иногда подобныеправила называютэпсилон правилами.Контекстно-свободнаяграмматикаможет содержатьлюбое конечноемножествопродукций. Вкачестве иллюстрацииопять приведемпример из описанияязыка программирования.Продукция тогдавыглядит так:

 IF THEN

Один из нетерминаловвыделен какначальныйнетерминалили начальныйсимвол, с которогодолжны начинатьсявыводы цепочекязыка. Для языковпрограммированиятаким нетерминаломможет быть,например,.Обычно начальныйсимвол обозначают.

Итак, контекстно-свободнаяграмматикабудет задаваться:

  1. конечныммножествомнетерминалов;

  2. конечныммножествомтерминалов,которое непересекаетсяс множествомнетерминалов;

  3. конечныммножествомправил вида ,где A – нетерминал,а - цепочка терминалови нетерминалов(возможно, пустая);нетерминал называетсялевой частьюправила, а - правой частью;

  4. однимнетерминальнымсимволом, выделеннымв качественачального.

Если множествоправил приводитсябез специальногоуказания множестватерминальныхи нетерминальныхсимволов, топредполагается,что грамматикасодержит вточности тетерминалы инетерминалы,которые встречаютсяв правилах.

Для описанияграмматик оченьчасто используютспособ записи,получившийназвание формыБэкуса-Науэраили БНФ. Здесьсимвол заменяетсясимволом ::=, закоторым можетследовать любоечисло правыхчастей, разделенныхвертикальнойчертой |. Здесьтакже нетерминалызаключаютсяв угловые скобки.

Правилаграмматикииспользуютдля того, чтобызадавать способыподстановкиили заменыцепочек. Подстановкаосуществляетсяпутем заменынекоторогонетерминалав какой-нибудьзаданной цепочкетерминалови нетерминаловна правую частьправила, левойчастью которогоявляется этотнетерминал.Иногда говорят,что в такомслучае правилоприменяетсяк нетерминалуцепочки.

Последовательностьнекоторыхподстановокназываетсявыводом. Каждаяцепочка, встречающаясяв выводе, называетсяпромежуточнойцепочкой этоговывода.

Множествотерминальныхцепочек, которыеможно вывестииз начальногосимвола грамматики,называетсяязыком. Говорят,что язык определяется,грамматикой,порождаетсяею или выводитсяв ней. Язык,порождаемыйконтекстно-свободнойграмматикой,также называетсяконтекстно-свободнымязыком.

В случае,когда на каждомшаге подстановокзаменяетсясамый левыйнетерминальныйсимвол, такойвывод называетсялевостороннимили левым выводом.Для каждогодерева существуетединственныйлевый вывод,так как благодаряусловию выборасамого левогонетерминаламесто каждойподстановкиустанавливаетсяединственнымобразом. Аналогично,для деревасуществуетединственныйправостороннийили правыйвывод, которыйполучаетсяесли заменятьвсегда самыйправый нетерминал.

Описать деревовывода цепочкиконтекстно-свободногоязыка прощена примере.

Пусть данаследующаяграмматика(начальныйнетерминал):

1. ac

2.

3. c

4. b

5. b

6. a

Пусть данацепочка: ac,тогда выводбудет выглядетьследующимобразом:

(1) ==> ac (2) ==>abc (3) ==> acbc (4)==> acabc (5) ==> acabc (6) ==>acabac (7).

Теперь длякаждой из семипронумерованныхцепочек можнопостроитьдерево.


(1)


(2)

 

a c  


(3)

 

a c  

b  


(4)

 

a c  

b  

c  


(5)

 

a c  

b  

c  


(6)

 

a c  

b  

c  


(7)

 

a c  

b a  

c  


Окончательныйвариант дереваназываетсядеревом выводатерминальнойцепочки acabac.

Когда однацепочка можетиметь несколькодеревьев вывода,говорят, чтосоответствующаяграмматиканеоднозначна.

Таким образом,резюмируявышесказанное,можно подытожить:

  1. Каждойцепочке, выводимойв даннойконтекстно-свободнойграмматике,соответствуетодно или несколькодеревьев вывода.

  2. Каждомудереву соответствуетодин или болеевыводов.

  3. Каждомудереву соответствуетединственныйправый и единственныйлевый выводы.

  4. Есликаждой цепочке,выводимой вданной контекстно-свободнойграмматике,соответствуетединственноедерево вывода,эта грамматиканазываетсяоднозначной;в противномслучае ее называютнеоднозначной.

Если праваячасть каждогоправила грамматикисодержит неболее одногонетерминала,причем этотнетерминалявляется самымправым символомправой части,грамматиканазываетсяправолинейной.

Нетерминалы,которые непорождают ниодной терминальнойцепочки, называютсябесплоднымиили мертвыми.Они могут бытьисключены изграмматикисо всеми правилами,в которые входят.

Нетерминалы,которые непоявляютсяни в одной цепочке,выводимой изначальногосимвола, называютсянедостижимыминетерминалами.

Нетерминалы,которые бесплодныили недостижимы,называютсябесполезными.При составленииграмматиквелика вероятностьпоявлениябесполезныхнетерминалови загромождениеграмматиклишними правилами.Для поискаподобных нетерминаловсуществуетконкретнаяпроцедура,разбитая надве части:обнаружениебесплодныхнетерминалови обнаружениенедостижимыхнетерминалов.Сначала нужновыполнитьпроцедуру длябесплодныхнетерминалов,так как при ихудалении изграмматикдругие нетерминалымогут статьнедостижимыми.

Терминальныйсимвол называетсяпродуктивным(или живым), еслииз него выводитсякакая-нибудьтерминальнаяцепочка, тоесть если онне являетсябесплоднымнетерминалом.Процедураобнаружениябесплодныхнетерминаловоснована наследующемсвойстве продуктивныхсимволов: Есливсе символыправой частиправила продуктивны,то продуктивени символ, стоящийв ее левой части.

Символ называетсядостижимымв грамматике,если он можетпоявиться вкакой-нибудьцепочке, выводимойиз начальногонетерминала,то есть еслион не являетсянедостижимым.Процедураобнаружениянедостижимыхсимволов грамматикиоснована наследующемсвойстве достижимыхсимволов:

Если нетерминалв левой частиправила являетсядостижимым,то достижимыи все символыправой частиэтого правила.

Теперь, исходяиз вышеописанныхсвойств грамматик,можно сформулироватьпринципы построениясинтаксическогоанализатора.

Во-первых,должно существоватьправило, описывающеелюбой входнойпоток, которыйможет бытьобработананализатором.Для большинстватекстов такимправилом можетбыть следующее:

text: text string

Такое правилоописываетвходной потокрекурсивнокак набор строк,образующихтекст. В некоторыхформатах (например,таких, как RTF)начальнымправилом былобы

text: text word

Следуетразличатьобработкукоманд и обработкунепосредственносодержащегосятекста. В большинствеслучаев командыпроизводятнекотороедействие, атекст подлежитвыводу в существующихусловиях.

Команды могутрасполагатьсякак в определенныхместах потока(в определенномконтексте), таки быть расположенысреди текстовыхстрок. В любомслучае, командыкаким-либообразом отличаютсяот текстовыхстрок. Зарезервированныхслов в текстовыхформатах небывает, обычнодля выделениякоманд применяютсяте или иныеспецсимволы.

Команды могутиметь аргументы,описание аргументовтакже подчиняетсяопределеннымправилам.

Можно сказать,что такие элементы,как команды,аргументы,текстовые ипустые строкипредставляютсобой лексемы- минимальныйобъект, которымоперируетанализаторпри синтаксическоманализе.

Следуетзаметить, чтоиспользованиев качествепостроителялексическогоанализаторагенераторапрограмм Lex, ав качествепостроителясинтаксическогоанализаторагенераторапрограмм Yacc удобноеще и потому,что эти инструментысоздавалисьс учетом возможностиих совместногоиспользованияи имеют удобныеспособы совмещения.


Заключение.

Рассмотреныобщие принципыпроектированиятрансляторовтекстовыхформатов. Разобраныпринципы созданиялексическиханализаторов.Исследованыграмматикии разобраныобщие принципыпостроениясинтаксическиханализаторов.Лексическиеи синтаксическиеанализаторыудобно строитьименно с помощьюгенераторовпрограмм Lex иYacc, так как онисоздавалисьдля совместнойработы.

3. Технологияреализациитранслятора с помощьюгенераторовпрограмм Lex иYacc.

При построениитрансляторасначала строитсялексическийанализатори происходитего отладка.На этом этапелексемы определяются,но передачиих куда-либоне происходит.После отладки(когда естьуверенность,что тексты налексическомуровне обрабатываютсядостаточнополно) в правилалексическогоанализаторадобавляетсявозврат лексемкомандой return().Естественно,что на этомэтапе лексическийанализаторсамостоятельноможет принятьиз потока иобработатьне более однойлексемы. Начинаетсяпостроениесинтаксическогоанализатора,который каждыйраз для получениялексемы вызываетлексическийанализатор.Затем такжепроисходитотладка анализаторов.Окончательнымэтапом являетсясоздание головнойпрограммы иотладка взаимодействиявсех частейтранслятора.

3.1 Определениелексем, встречающихсяв формате nroff

Прежде всего,в формате nroff можновыделить четырегруппы лексем:текст, команды,аргументыкоманд и переменные.

Команды всегданаходятся вначале строкии начинаютсяс точки. Всекоманды состоятиз одной илидвух букв латинскогоалфавита. Командымогут иметьодин или несколькоаргументов.

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

Переменныемогут располагатьсяв любом местетекста. Всепеременныесначала объявляютсяпри помощиспециальнойкоманды.

Текстовыестроки выводятсясплошным потоком,то есть еслитекст располагаетсяна несколькихстроках, номежду ними неткоманды переводастроки в форматеnroff, то этот текст,по возможности,будет выведенбез переводастрок.

Если строкане содержитникаких символов(кроме концастроки), топроисходитвывод пустойстроки и выдаетсякоманда переводастроки.

Состояния,имеющиеся вформате nroff.

Состояние

Описание

Переходы

0

Начальноесостояние

Возможенпереход всостояниеприема командыили текста.

TEXT

Состояниеприема текста

Послеприема однойтекстовойстроки происходитпереход вначальноесостояние.

COMMAND

Состояниеприема команд

Послеприема командыпроисходитпереход всостояниеприема аргумента.

COMARG

Состояниеприема аргументакоманды

Внезависимостиот того, былпринят аргументили нет, происходитпереход вначальноесостояние.


Основныелексемы, встречающиесяв формате nroff.

Лексема

Значение

TEXTSTR

Строкатекста

EMPTYSTR

Пустаястрока

FONT

Командыуправления

SIZE

шрифтами

ADJUST

Командыуправления

NOADJUST

расположением

SCENTER

текста

IN

Командыуправления

TIN

отступами

SUNDERLINE

Командыуправления

UNDERLINE

видом

BOLD

текста

BREAKLINE

Командывывода

SPACE

символовразрыва строки

LINESPACE

пробельныхсимволов

UNKNOW

Всенеизвестныекоманды

EXIT

Командапрекращенияобработкитекста

DARG

Аргументы

CARG

команд

SARG

Лексическийанализаторразбираетвходной потокследующимобразом:

  1. Вначальномсостояниисчитываетсяпервый символиз потока.

  1. Еслисимвол являетсяточкой, тоанализаторпереходит всостояниеожидания команды.

  2. Иначепредполагается,что взят первыйсимвол из текстовойстроки. Анализаторпереходит всостояниеприема текста,причем припоследующемдействии взятыеиз потока данныебудут добавленык символу,находящемусяв буфере – такобеспечиваетсяцелостностьтекста.

  3. Еслиже символ взятьне удалось -была встреченапустая строка– то синтаксическомуанализаторупередаетсялексема, означающаяпустую строку.

  1. Всостоянииприема текстастрока из потокапринимаетсяцеликом, досимвола концастроки. Лексическийанализаторвозвращаетсинтаксическомуанализаторулексему, означающуютекст, предварительноперейдя в начальноесостояние.

  2. Всостоянииприема командыиз потокапринимаетсядве латинскихбуквы, за которымимогут следоватьодин или болеепробелов.

  1. Всоответствиис полученнымисимволамивыбираетсялексема и передаетсясинтаксическомуанализатору.

  2. Еслиполученныесимволы неподходят подшаблон ни однойиз команд, токоманда объявляетсянеизвестной.Перед возвращениемлексемы всинтаксическийанализатор,лексическийанализаторпереходит всостояниеожидания аргументакоманды.

  1. Предполагается,что аргументыкоманд могутбыть трех типов– слово (например,название шрифтау команды .ft);символьный(например, типвыравниванияу команды .ad) иличисловой (например,количествострок у команды.br). После определениялексемы, лексическийанализаторпереходит вначальноесостояние ипередает лексемусинтаксическомуанализатору.

  1. Следуетучитывать, чтолексическийанализатор,построенныйс помощью генераторапрограмм Lex,принимая символы,берет их не попорядку следованияправил, а выбираетправило, удовлетворяющеенаибольшейдлине принимаемойстроки. Поэтомулексическийанализаторопределитаргумент каксимвольныйтолько в случае,если он действительносодержит толькоодин символ.

  2. Впротивоположномслучае аргументопределяетсякак слово.

  3. Еслиаргумент состоитиз одной и болеецифр, то онпередаетсякак число.

3.2 Описаниеграмматическихправил преобразованияиз форматаnroff в формат HTML.

В нашем случаенаиболее общимправилом являетсяописание входногофайла как спискасписков строк.Строки могутбыть двух типов- команды и текст.Команды могутиметь аргументлибо не иметьаргумента.Текст можетбыть текстовойстрокой и пустойстрокой. Такиеэлементы, каккоманды, аргументы,текстовые ипустые строкипредставляютсобой лексемы- минимальныйобъект, которымоперируетанализаторпри синтаксическоманализе.

  1. Еслисинтаксическийанализаторполучает отлексическогоанализаторалексему "текст",то он выводитв выходнойпоток содержимоебуфера yytext, используядля этого специальноопределеннуюфункцию textout().

  2. Еслиполучена лексема"пустая строка",то в выходнойпоток выводитсятэг HTML
    при помощифункции breakline().

  3. Еслиполучена лексема,соответствующаяодной из команд,то, возможно,запрашиваетсялексема аргументаи выполняютсянеобходимыеоперации.

Так как вовсех командахаргумент являетсявторым элементомправила, то длядоступа к егозначению всегдаиспользуетсяпсевдопеременная$2.

Обработкабольшинствакоманд приводитк тому, что ввыходной потокзаписываетсяоткрывающийтэг, возможнос теми или инымиаргументами.Так как форматHTML требует закрытиятэга до егоповторногооткрытия, тодля контролязакрытияпредусмотреныпеременные-триггеры.Они принимаютзначение, равноеединице, привыводе в выходнойпоток открывающеготэга и каждыйраз перед выводомнового открывающеготэга проводитсяпроверка навключениетриггера. Еслитриггер включен,то перед выводомстартовоготэга будетвыведен закрывающийтэг.

В форматеnroff принята такаясистема команд,при которойу большинствакоманд аргументомявляется количествострок, на которыебудет распространятсядействие этойкоманды. В HTML жеобласть действиякоманды определяетсяместоположениемоткрывающегои закрывающеготэгов. Для того,что бы определитьместо выводазакрывающеготэга, введеныпеременные-счетчики.В момент получениякоманды имприсваиваетсязначение аргумента,и затем оноуменьшаетсяпри выводе ввыходной потокочереднойпорции текста.При достижениисчетчикомзначения "ноль",в выходнойпоток выводитсязакрывающийтэг. Если значениесчетчика меньшенуля, то этозначит, что онсейчас неактивен.

При выводетекста функциейtextout() происходитанализ на содержаниев тексте переменных.Если переменныенайдены, топроисходитподстановкаих значенийв выводимыйтекст.

Для выводав выходнойпоток тэга
- команда переводастроки – применяетсяспециальнаяфункция breakline().Необходимостьтакого шагаобусловленатем, что в nroff существуеткоманда ".ls",которая определяет,сколько пустыхстрок выводитсяпо команде".br" (аналогомкоторой являетсятег
). При поступлениилексемы, соответствующейкоманде ".ls"значение ееаргументаприсваиваетсяпеременнойLS, которая определяетсколько разподряд выведетсятэг
в выходнойфайл.

Замена шрифтовосуществляетсяпри помощифункции fontchange(). Вкачестве аргументаей передаетсяимя шрифта,используемогов исходномдокументе. Имяшрифта, на которыйбудет замененданный шрифтопределяетсяпо специальносозданнойтаблице, хранящейсяво внешнемфайле. В случае,если заменане определена,подставляетсяшрифт по умолчанию.

Особо надооговоритьобработкукоманды nroff ".ex".При получениилексемы, соответствующейэтой команде,синтаксическийанализаторзавершает своюработу, возвращаяв головнуюфункцию значение"0", свидетельствующеео нормальномзавершенииработы.

3.3 Соответствиемежду командамиформатов
nroff иHTML.

Точногосоответствиямежду текстовымформатом nroff игипертекстовымформатом HTML нет.

Главнымотличием являетсято, что форматHTML ориентированна использованиеего в локальныхили глобальныхсетях, а форматnroff - на использованиетолько длячтения документов.

Формат HTMLподдерживаетбольше видовформатированиятекстов, гипертекстовыессылки, включениев текст графики,запуск внешнихпрограмм имногое другое.

Формат nroffподразумеваетпостраничныйвывод на экран,а формат HTML - выводсплошным потокомс возможностьюпоследующейпрокрутки окнапросмотра.

Так как насинтересует,прежде всего,преобразованиекоманд форматаnroff в командыформата HTML, тоимеет смысл рассмотретькоманды исходногоформата и определить,какие командыим будут соответствоватьв конечномформате:

nroff HTML Описание
Комментарии
\”

Комментарий
Командыдля управленияшрифтом
.bd

Жирныйшрифт

.ul


Подчеркивание
.ftfont_name

Устанавливаетшрифт
.psn

Устанавливаетразмер символа

nroff HTML Описание
Командыуправлениятекстом
.br


Следующаястрока
.ce

Центрирование
.adx

Выравниваниетекста
.na

Нетуправлениятекстом

.sp


Пустоепространство

В HTML неподдерживаютсяследующиекоманды, имеющиесяв формате nroff:

nroff Описание
Командыуправлениястраницами
.bp начатьновую страницу
.pl установитьдлину страницы
.pn установитьномер страницы
.ll длинастроки

Длявывода текстав виде, максимальноблизко к исходному,в конечномформате иногданеобходимоиспользоватьне одну команду,а комбинациюкоманд:

Nroff HTML Описание
.rt

вертикальныйвозврат длястолбцов .nf


нетзаполнения .in … отступ .ti … временныйотступ .ls


пропускстроки

При созданиидокумента вформате HTML необходимовставлятьобязательныетэги:

HTML Комментарий

ПризнакHTML-документа.

Весьтекст, помещенныймежду этимитэгами обрабатываетсяв соответствиис форматомHTML.

Закрывающийтэг служитпризнакомконца документаи выводитсяпри нахождениикоманды nroff .ex

ОбластьзаголовкаHTML-документа,служит дляформированияобщей структурыдокумента.

<p></p>

ЗаголовокHTML-документа.

Вставляетсяимя конвертируемогофайла.

Заключаетв себе гипертекст,который, собственнои выводитсяв окне броузера.

Гиперссылка.

Этимитэгами обрамляютсяссылки на другиедокументы.Предполагается,что они располагаютсяв том же каталоге,что и открытыйдокумент иимена файловимеют расширение.html

Элементдля созданиябазового адресадля ссылок.Если документыи программа трансляторнаходятся вразных каталогах,то это тэгопределяетместонахождениекаталога сдокументами.

3.4 Отладка лексическогои грамматическогоанализаторов.

Отладкапроисходитв два этапа –отладка лексическогоанализатораи отладка системыиз лексическогои синтаксическогоанализаторов.

Для отладкииспользуетсяметод пошаговогопросмотраработы анализаторов.Для этого созданспециальныйоператор (посредствомкоманды #define языкаС), выводящийсообщение осостояниианализатора(имя обрабатываемойлексемы и состояниеразличныхпеременных).

При отладкилексическогоанализаторавозможноиспользованиетестовых пакетов– текстов вформате nroff, атакже интерактивноетестирование,когда анализаторпринимаетинформациюиз стандартноговвода (с клавиатуры)и выдает результатына стандартныйвывод (экранмонитора).

Для проверкиправильностинаписанияправил синтаксическогоанализаторагенераторпрограмм Yacc наэтапе тестированиязапускаетсяс ключом  d покоторому создаетсяфайл с деревомразбора.

Заключение.

Созданапрограмма-трансляториз форматаnroff в гипертекстовыйформат HTML.

Программавыводит пустыеобязательныетеги форматаHTML и преобразуеттекст из форматаnroff в формат HTML.Полностьюподдерживаетсястандартныйнабор командформата nroff. Реализованабольшая частькоманд различныхпакетов макросов,наиболее полнореализованпакет макросов“man”.

Порядокработы спрограммой-трансляторомut4all таков: на входпрограммыподается текстовыйфайл в форматеnroff, а на выходеполучаем текстовыйфайл в форматеHTML. Имена текстовыхфайлов передаютсяв качествеаргумента,причем первымаргументомявляется имявходного файла,а вторым – имявыходного. Вслучае отсутствияодного илиобоих аргументовв качествевходного ивыходногопотоков используютсястандартныепотоки.Есливходного файлане существует,то выдаетсясообщение обошибке, еслине существуетвыходногофайла, то онсоздается.

Сообщенияоб ошибкахнаправляютсяв стандартныйпоток ошибок.

4. ЭкономическоеобоснованиеразработкиНИОКР.

4.1 Расчет затратвремени наразработкутранслятора.


4.1.1. Для началанеобходимоопределитьпродолжительностьсоздания транслятора.Определим весьперечень работпо всем этапамразработкиинформационнойсистемы.

Этапы созданиятранслятора:

Этап1:

Техническоезадание.
Получениезадания, егообработка,а также согласованиезадания и егодеталей сконсультантом.

Этап2:

Техническоепредложение.
ИзучениеОС Unix и ее компонент– lex, yacc.

Этап3:

Эскизноепроектирование.
Изучениеподходов кнаписаниютрансляторов.

Этап4:

Техническоепроектирование.
Разработкаалгоритмоврешения задачи.

Этап5:

Рабочийпроект.
Разработкаструктурыпрограммногообеспечения.

Этап6:

Изготовлениеопытного образца.
Непосредственнопрограммирование.

Этап7:

Испытаниеопытного образца.
Отладкапрограммы

Этап8:

Оформлениедокументации.
Оформлениедокументации.

По формуле1.1 рассчитываетсяожидаемое времявыполнениякаждой работы

.

(1.1)

,где

- минимальнаяпродолжительностьработы, т.е. время,необходимоедля выполненияработы принаиболееблагоприятномстеченииобстоятельств(час, дни, неделии т.д. );

- максимальнаяпродолжительностьработы т.е. время,необходимоедля выполненияработы принаиболеенеблагоприятномстеченииобстоятельств(час, дни, неделии т.д. )

Для определениявозможногоразброса ожидаемоговремени определяетсядисперсия(рассеивание)

(1.2)


Составимтаблицу значений

по каждой работекаждого этапа:

Таблица1.1.


Этапы

,

дн

,

дн

,

дн

1

5

10

7

1

2

40

50

44

4

3

4

5

4,4

0,04

4

5

8

6,2

0,36

5

4

6

4,8

0,16

6

50

60

54

4

7

17

21

18,6

0,64

8

6

7

6,4

0,04

Всего

131

167

145,4


Исполнительдля всех этаповодин, т.е. возможнотолько последовательноевыполнениевсех работ.

4.2 Расчет стоимостиосновных фондов,используемыхдля разработкитранслятора.

Первоначальная(балансовая)стоимостьскладываетсяиз всех затрат,связанных сприобретением,сооружениеми строительствомосновныхпроизводственныхфондов.

К основнымфондам приразработкетранслятораможно отнестито оборудование,на которомвыполняласьданная разработка:

Таблица2.1

Оборудование

Стоимость в $

Компьютер

Процессор

150


Материнскаяплата

120


Оперативнаяпамять

160


Видеокарта

35


Модем

165


Винчестер

200


CD-rom

110


Дисковод

25


Корпус

36


Клавиатура

12


Мышь

7


Принтер

300


Монитор

480

Первоначальная(балансовая)стоимостьосновных фондовв соответствии с данными,приведеннымив таблице 2.1,составит 1800$ или50400 рублей (покурсу 1$ 28 руб. – наапрель 2000 г.).

Первоначальная(остаточная)стоимостьхарактеризуетоценку основныхпроизводственныхфондов попервоначальной(балансовой)стоимости заминусом общейсуммы амортизационныхотчисленийна данный момент.

Общую суммуамортизационныхотчисленийна время началавыполнениядипломногопроекта определимпо формуле:

K*Ha*t

A= (2.1)

Фд

где

K-первоначальнаябалансоваястоимостьосновных фондов,руб.;

Ha-норма годовыхамортизационныхотчислений,% (таблица 2.2.);

t- реально использованноемашинное время,час.;

Фд- действительныйфонд времениработы оборудованияза год, час.

Таблица 2.2

Нормыамортизационныхотчисленийпо отдельнымвидамспец.оборудования(% от балансовойстоимости).


НАИМЕНОВАНИЕОБОРУДОВАНИЯ


Нормаамортизационныхотчислений

Физико-термическоеоборудованиедля производстваизделий микроэлектроникии полупроводниковыхприборов

28.2

Контрольно-измерительноеи испытательно-тренировочноеоборудованиедля производстваэлектроннойтехники

27.5

Оборудованиедля измеренияэлектрофизическихпараметровполупроводниковыхприборов

27.3

Оборудованиедля механическойобработкиполупроводниковыхматериалов

23.9

Вакуумноетехнологическоеоборудованиедля нанесениятонких пленок

24.3

Оборудованиедля производствафотошаблонов

23.4

Сборочноеоборудованиедля производстваполупроводниковыхи электровакуумныхприборов

23.8

Электронныегенераторы,стабилизированныеисточникипитания, тиристорныевыпрямители,регуляторынапряжения

15.5

Прочееспецтехнологическоеоборудованиедля производстваизделий электроннойтехники

13.1

Контрольно-измерительнаяи испытательнаяаппаратурасвязи, сигнализациии блокировки:


Переносная

14.2

Стационарная

8.5

Лабораторноеоборудованиеи приборы

20.0

Электронныецифровыевычислительныемашины общегоназначения,специализированныеи управляющие

12.0

Суммаамортизационныхотчисленийсоставит:

50400*0.12* 1000

A

= 2360 = 2563руб.

Первоначальная(остаточная)стоимостьсоставит:

45000 - 2563 = 42437 руб.

4.3 Расчет затратна разработкутранслятора.

4.3.1. Расчет затратна разработкутранслятора.

Таблица3.1

Материальныересурсы

Цена,руб.

Книги


"LINUX"

120

HTML

15

DEMOS32

50

Программноеобеспечение


ОСWindows 95

625

OS LINUX

190

Суммарныезатраты составляют1000 руб.

4.3.2. Заработнаяплата.

К основнойзарплате привыполненииНИОКР относятсязарплата научных,инженерно-техническихработникови рабочих НИИи КБ. Их зарплатаопределяетсяпо формуле 3.1.

,

(3.1)

где

-тарифная ставкаработника I-огоразряда,
=83,49 руб;

-тарифный коэффициентработникасоответствующегоразряда (таблица3.2.);

-фактическиотработанноеработникомвремя, чел-месяц..

Таблица3.2.

Единаятарифная сеткапо оплате трудаработниковбюджетнойсферы.

Разрядыоплаты труда

Тарифныекоэффициенты

Разрядыоплаты труда

Тарифныекоэффициенты

1

1.00

10

2.98

2

1.12

11

3.37

3

1.27

12

3.38

4

1.44

13

4.31

5

1.62

14

4.81

6

1.83

15

5.50

7

2.07

16

6.11

8

2.34

17

6.78

9

2.64

18

7.54


Из.п.= 83,49* 1.62 * (145,4 / 21,8)=

= 902 руб.

4.3.3. Дополнительнаязаработнаяплата составляет10-20% от основной.Дополнительнаязарплата сосновной зарплатойобразуют фондоплаты труда.

Дополнительнаязаработнаяплата составит:

0.2 * 902 = 180,4 руб.

Фонд оплатытруда составит:

902 + 180,4 = 1082,4 руб.

4.3.4. Амортизационныеотчисления(без учетаамортизационныхотчисленийна полноевосстановление)определяютсяпо формуле 3.2.

(3.2.)

, где

-первоначальная(балансовая)стоимостьосновных фондовна начало года,руб.;

-норма годовыхамортизационныхотчислений,% (таблица 2.2);

-машинное время,необходимоедля выполненияНИОКР, час.;

-действительныйфонд времениработы оборудованияза год, час.

Амортизационныеотчислениясоставят:

42437* 0.12 * 400

А

НИОКР= = 863,13 руб.

2360


4.3.5. Косвенныерасходы.

Косвенныерасходы составляют50-100% от фонда оплатытруда.

Косвенныерасходы составят:

0.7 * 1082,4 =757,68 руб.

4.3.6. Расчетналогов.

Обязательныеотчисленияв государственныевнебюджетныефонды.

Таблица3.3

п/п

Наименованиефонда

Ставканалога (%)

Объектналогообложения

1

Пенсионныйфонд

28.0

Фондоплаты трудаи другие выплаты



1.0

Зарплатаработающих

2

Фондобязательногомедицинскогострахования

3.6

Фондоплаты труда

3

Государственныйфонд занятости

1.5

Фондоплаты труда

4

Фондсоциальногострахования

5.40

Фондоплаты труда,доходы от ценныхбумаг и банковскихвкладов. Добровольныевзносы граждани юридическихлиц, ассигнованияиз бюджетаРФ на пособия,компенсации


Учитывая,что фонд оплатытруда составляет1082,4 руб., зарплатаработникасоставляет902 руб., имеемследующиеотчисленияв государственныевнебюджетныефонды:

Таблица3.4

п/п

Наименованиефонда

Ставка

налога(%)

Отчисления

Руб.

1

Пенсионныйфонд

28.0


1.0

303,07


9.02

2

Фондобязательногомедицинскогострахования

3.6

38,97

3

Государственныйфонд занятости

1.5

16,24

4

Фондсоциальногострахования

5.40

58,43

Суммарныйналог в государственныевнебюджетныефонды составит:

303,07 + 38,97 + 58,43 = 400,47 руб.

4.4 Формированиерасчетной(остаточной)прибыли предприятияи определениеэффективностипроизведенныхзатрат на разработкутранслятора.

Для оценкии анализаэффективностипроизведенныхзатрат используетсяследующиепоказатели:

  •  договорнаяцена;

  •  доход(выручка) предприятия;

  •  прибыль;

  •  срококупаемостизатрат;

  •  коэффициентэффективности(рентабельность).

Договорнаяцена НИОКР -цена, устанавливаемаянепосредственнопредприятием-исполнителемпо договоренностис предприятием-потребителемс учетом конъюнктурырынка на основесложившегосяспроса и предложения.

Формируютдоговорнуюцену НИОКРзатраты на ихвыполнениеи прибыль, величинакоторой определяетсяисполнителем.

Установимдоговорнуюцену на разработанныйтрансляторв размере 1250 руб.Предположим,что доход (выручка)от реализацииданного трансляторасоставила1250*15=18750 руб.

Из доходаизымаютсяналоги на содержаниежил. фонда иобъектовсоциально-культурнойсферы, на имуществои на цели образования.Ставки данныхналогов приведеныв таблице 4.1.

Таблица4.1.

Налоги.

п/п

Видналога

Ставканалога (%)

Объектналогообложения

1

Налогна прибыльпредприятий

35.0

Балансоваяприбыль

2

Налогна прибыльот посредническихоперацийпредприятий

38.0

Прибыльот посредническихопераций

3

Налогна имущество

2.0

Основныефонды, материальныеактивы

4

Налогна цели образования

1.0

Фондоплаты труда

5

Налогна содержаниежилищногофонда и объектовсоциально-культурнойсферы

1.5

Объемреализациитоваров и услуг


Учитывая,что стоимостьосновных фондовсоставляет42437 руб., фонд оплатытруда – 1082,4 руб.,объем реализации- 18750 руб., имеем:

Таблица4.2.

Видналога

Ставканалога (%)

Величина

налога

1.Налогна имущество

2.0

848,74

2.Налогна цели образования

1.0

10,82

3. Налогна содержаниежилищногофонда и объектовсоциально-культурнойсферы

1.5

281,25

Доход завычетом налоговсоставляет:

37500 – (848,74 + 10,82+ 281,25 ) – 400,47 = 35958,72 руб.

Выручка отреализациитранслятораза вычетом егосебестоимостии всех вышеперечисленныхналогов образуютбалансовуюприбыль.

Себестоимостьскладываетсяиз материальных затрат, заработнойплаты, амортизационныхотчисленийи косвенныхрасходов.Себестоимостьтрансляторасоставляет:

С=Ио(1+Кд.)(Kк.+Kс.н.)+Sмат.+Aоб.=

=1082*(1+0,7)*(1+0,37)+1000+863,13=

= 4383,11 руб.

Балансоваяприбыль составляет:

18750 –4383,11 = 14366,89 руб./год

Балансоваяприбыль, уменьшеннаяна налог наприбыль, образуетрасчетную(остаточную)прибыл. Ставканалога на прибыльсоставляет35%:

=14366,89 - (0,35*14366,89) – 848,74–10,82 – 562,5 – 16,24 = 7900,18 руб.

Срококупаемостизатрат на выполнениеНИОКР определяетсяпо формуле:

(4.1.)

(лет), где

-себестоимостьНИОКР, руб.;

-расчетнаяприбыль, руб.

Срок окупаемоститрансляторасоставит:

tок=4383,11 / 7900,18 = 0,55года

Коэффициентэффективностипроизведенныхзатрат на выполнениеНИОКР определяетсяпо формуле 4.2.

(4.2.)

Коэффициентэффективностипроизведенныхзатрат на разработкутранслятора:

1

К

эф-ти= *100% = 181,8%

0,55

4.5 Оценка значимостиразработкитранслятора.

Для оценкизначимостивыполненнойработы можновоспользоваться оценочнымикоэффициентами,учитывающимистепень положительногоэффекта отвыполнениядипломногопроекта:

  • объем выполненныхисследований,

  • сложностьрешения задачи,

  • уровеньтехническойподготовкистудента

  • полнотуиспользованиясовременныхметодов выполненияисследованийи разработок.

Значимостьвыполненныхисследованийи разработокможно выразитьчерез коэффициентзначимостиDзн, которыйопределяетсяпо формуле:

i

Dзн= ,

max


гдеi=1,2,3,4; max= 40,0.


Величинакоэффициентаисследованияили разработкиизменяетсяв пределах от0,1 до 1, т.е. 0,1≤Dзн ≤1

Чем ближек единице значениеDзн , тем болеевесома выполненнаяработа.

Определимзначение коэффициентазначимостидипломнойработы.

  1. В ходе работынад дипломнымпроектом разработантранслятор. Проблема созданиятакого транслятораявляется оченьактуальной,т.к. многимпользователямСАПР необходимодоступ к техническойдокументацию,которую удобнеехранить наудаленныхсерверах вформате HTML. Поэтомустепень положительногоэффекта отвыполнениядипломногопроектанаучно-исследовательскогохарактера1=6.5.

  2. В ходе работынад дипломнымпроектом былаосвоена возможностьсозданияпрограмм-трансляторовс помощьюгенераторовпрограмм lex иyacc. Это можносчитать выполнениемосновной частиисследования.Таким образомобъем выполненныхисследованийи разработок2=4,0.

  3. Сложностьрешения задачив дипломнойработе научно-исследовательскогохарактера 3=7,0.

  4. В ходе работынад дипломнымпроектомиспользовалисьсовременныесредстваэлек­тронно-вычислительой техники (персо­наль­ныйкомпьютерPentium 120 с операционнойсистемойWindows-95). Поэтомууровень научно-техническойподготовкистудента 4=6,0.

Коэффициентзначимостиравен :

 I 6,5+ 4,0 + 7,0 + 6,0

Dзн= =  = 0,59

 max 40,0

Полученныйкоэффициентзначимостиуказывает надостаточновысокий уровеньвыполненныхисследованийи разработок.


Заключение.

Выполненрасчет затратна разработкутранслятора.Оценена прибыльот реализациитранслятораи определенаэффективностьпроизведенныхзатрат. Коэффициентэффективностисоставляет181,8%

Крометого, произведенаоценка значимостиразработкитранслятора  и он указываетна достаточновысокий уровеньвыполненныхисследованийи разработок.

5. Обеспечениекомфортныхусловий трудапри работе наПЭВМ.

5.1 Характеристикаусловий трудаоператора ЭВМ

Условия трудаоператорахарактеризуютсявозможностьювоздействияна них комплексаопасных и вредныхфакторов: шума,тепловыделений,вредных веществ,радиоактивных,электромагнитныхизлучений,недостаточнойили избыточнойосвещенностирабочих мест,высокого напряжения,давлений, существенноотличных отатмосферного,нервно-психическиеперегрузки(умственноеперенапряжение,перенапряжениеанализаторов,эмоциональныеперегрузки)и т.д. Вредныефакторы могутвлиять на операторане тольконепосредственно,вызывая функциональныеизменения ворганизме и,как следствие,профессиональныезаболевания,но и воздействуютопосредованнона психикучеловека, снижаяскорость реакции,ухудшая внимание:шум снижаетконцентрациювнимания, оказываетэмоциональноевоздействие,вибрации вызываютуменьшениеразрешающейспособностии остроты зрения.

5.2 Требованияк защите отшума и вибраций.

Фоновыйуровень шумане должен превышать40 дБА, (при работесистем воздушногоотопления,вентиляциии кондиционирования- 35 дБА), а во времяработы на ПЭВМ50 дБА (таблица1). Нормативныеуровни шумаобеспечиваютсяиспользованиеммалошумногооборудования,применениемзвукопоглощающихматериаловдля облицовкипомещений, атакже различныхзвукоизолирующихустройств.

Таблица1.

Допустимыеуровни звука,эквивалентныеуровни звукаи уровни звуковогодавления воктавных полосахчастот приработе на ПЭВМ

Уровнизвуковогодавления, дБ

Средне-геометрическиечастоты октавныхполос, Гц

Уровнизвука, эквивалентныеуровни звука,дБА

86

31.5


71

63


61

125

50

54

500


49

1000


45

2000


40

4000


38

8000

50

Время реверберациив помещенияхс ПЭВМ не должнобыть более 1 с.Частотнаяхарактеристикавремени реверберациив диапазонечастот 250-4000 Гцдолжна бытьровной, а начастоте 125 Гцспад времениреверберациидолжен составлятьне более 15%.

Вибрацияне должна превышатьнормируемыхзначений (таблица2).

Таблица2.

Допустимыенормы вибрациина рабочихместах с ПЭВМ.

Средне-геометрическиечастоты октавныхполос, Гц

Допустимыезначения



повиброскорости

повиброускорению


м/с2

дБ

м/с

дБ

2

5,310

25

4,510

79

4

5,310

25

2,210

73

8

5,310

25

1,110

67

16

1,110

31

1,110

67

31.5

2,110

37

1,110

67

63

4,210

43

1,110

67

5.3 Требованияк микроклимату,содержаниюаэроионов ивредных химическихвеществ в воздухепомещенийэксплуатацииПЭВМ

В производственныхпомещениях,в которых работана ПЭВМ являетсяосновной(диспетчерские,операторские,расчетные,кабины и постыуправления,залы вычислительнойтехники и др.),должны обеспечиватьсяоптимальныепараметрымикроклимата(таблица 3). Интенсивностьтепловогооблученияоператора отосветительныхприборов, инсоляциина постоянныхи непостоянныхрабочих местахне должна превышать35Вт/м2 при облучении50% поверхноститела и более, 70Вт/м2 приоблучении от25 до 50% и 100Вт/м2 -при облучениине более 25% поверхноститела. Тепловыделениерегулируетсяустройствомэффективныхсистем вентиляциии кондиционирования.

Таблица3.

Оптимальныенормы микроклиматадля помещенийс ПЭВМ.

Периодгода

Катего-рияработ

Темпера-туравоздуха,оС

неболее

Относи-тельнаявлажностьвоздуха, %

Скоростьдвижения воздуха,м/с

Холодный


легкая-1а

легкая-1б

22-24

21-23

40-60

40-60

0,1

0,1

Теплый

легкая-1а

легкая-1б

23-25

22-24

40-60

40-60

0,1

0,2

Примечания:к категории1а относятсяработы, производимыесидя и не требующиефизическогонапряжения,при которыхрасход энергиисоставляетдо 120 ккал/ч; ккатегории 1ботносятсяработы, производимыесидя, стоя илисвязанные сходьбой исопровождающиесянекоторымфизическимнапряжением,при которыхрасход энергиисоставляетот 120 до 150 ккал/ч.

Уровни положительныхи отрицательныхаэроионов ввоздухе помещенийс ПЭВМ должнысоответствоватьнормам, приведеннымв таблице 4.

Таблица4.

Уровниионизациивоздуха помещенийпри работе наПЭВМ

Уровни

Числоионов в 1 смвоздуха


n+

n-

Минимальнонеобходимые

400

600

Оптимальные

1500-3000

3000-5000

Максимальнодопустимые

50000

5000

Содержаниевредных химическихвеществ впроизводственныхпомещениях,работа на ПЭВМв которых являетсяосновной(диспетчерские,операторские,расчетные,кабины и постыуправления,залы вычислительнойтехники и др.),не должно превышать"Предельнодопустимыхконцентрацийзагрязняющихвеществ в атмосферномвоздухе населенныхмест". В качествесредств защитыиспользуетсярациональнаясистема вентиляциирабочих мест,дополненнаяочистнымиустройствами.

5.4 Требованияк интенсивностиэлектромагнитныхполей, рентгеновского,видимого,ультрафиолетовогои инфракрасногоизлучений.

Мощностьэкспозиционнойдозы рентгеновскогоизлучения влюбой точкена расстоянии0.05м от экранаи корпуса ПЭВМпри любых положенияхрегулировочныхустройств недолжна превышать7.74*10-12 А/кг, чтосоответствуетэквивалентнойдозе, равной0.1 мбэр/час.

Уровеньультрафиолетовогоизлучения нарабочем местепользователяв длинноволновойобласти (400-315 нм)должен бытьне более 10 Вт/м,в средневолновойобласти (315-280 нм)не более 0,01Вт/ми отсутствоватьв коротковолновойобласти (280-200 нм).

Предельнодопустимыеуровни напряженностиэлектромагнитногополя на рабочемместе пользователяпо электрическойсоставляющейв диапазонедо 300 МГц должныбыть не более50 В/м и по магнитнойсоставляющейне более 5 А/м.

На частотахболее высокогодиапазона(300МГц...300ГГц) устанавливаютсяпредельнодопустимыезначения плотностипотока энергииэлектромагнитногополя. Максимальноезначение ППЭПДУне должно превышать10 Вт/м2.

Напряженностьэлектростатическихполей на поверхностяхПЭВМ не более20 кВ/м.

5.5 Требованияк освещениюпомещений ирабочих местс ПЭВМ.

Нормативнымдокументомв качествеосновных параметров,регламентирующихсветовую среду,определяютсядля естественногоосвещениякоэффициентестественногоосвещения е.и для искусственного- освещенностьрабочего местаоператораЕр.м.,лк.

Естественноеосвещениедолжно осуществлятьсячерез светопроемы,ориентированныепреимущественнона север исеверо-востоки обеспечиватькоэффициентестественнойосвещенности(КЕО) не ниже1.2% в зонах с устойчивымснежным покровоми не ниже 1.5% наостальнойтерритории.Указанныезначения КЕОнормируютсядля зданий,расположенныхв III климатическомпоясе. Для внутреннейотделки интерьерапомещений сПЭВМ должныиспользоватьсядиффузно-отражающиематериалы скоэффициентомотражения дляпотолка - 0.7-0.8; длястен - 0.5-0.6; для пола- 0.3-0.5.

Искусственноеосвещение впомещенияхэксплуатацииПЭВМ должноосуществлятьсясистемой общегоравномерногоосвещения иобеспечиватьосвещенностьне ниже нормируемыхзначений (таблица5).

Таблица5.

Нормыосвещенностив помещенияхс ПЭВМ

Характеристикаработы

Рабочаяповерхность

Плос-кость

Освещенность,лк

Работапреимущественнос ПЭВМ (50% и болеерабочего времени)

экран

клавиатура

документ

стол

В

Г

Г

Г

200

400

400

400

Работапреимущественнос документами,с и ПЭВМ (менее50% рабочеговремени)

экран

клавиатура

документ

стол

В

Г

Г

Г

200

400

500*

500*

Примечание:В - вертикальнаяплоскость, Г- горизонтальнаяплоскость;

* - допускаетсяустановкасветильниковместного освещениядля подсветкидокументов;местное освещениене должно создаватьбликов на поверхностиэкрана и увеличиватьосвещенностьэкрана более300 лк.

Яркостьсветящихсяповерхностей(окна, светильникии др.), находящихсяв поле зрения,должна бытьне более 200 кд/м.

Следуетограничиватьотраженнуюблескость нарабочих поверхностях(экран, стол,клавиатураи др.) за счетправильноговыбора типовсветильникови расположениярабочих местпо отношениюк источникаместественногои искусственногоосвещения, приэтом яркостьбликов на экранеПЭВМ не должнапревышать 40кд/м и яркостьпотолка, приприменениисистемы отраженногоосвещения, недолжна превышать200 кд/м.

Показательослепленностидля источниковобщего искусственногоосвещения впроизводственныхпомещенияхдолжен бытьне более 20, показательдискомфортав административно-общественныхпомещенияхне более 40.

Соотношениеяркости междурабочимиповерхностямине должно превышать3:1-5:1, а между рабочимиповерхностямии поверхностямистен и оборудования10:1.

Яркостьсветильниковобщего освещенияв зоне угловизлучения от50 град. до 90 град.с вертикальюв продольнойи поперечнойплоскостяхдолжна составлятьне более 200 кд/м,защитный уголсветильниковдолжен бытьне менее 40 град.

Светильникиместного освещениядолжны иметьне просвечивающийотражательс защитнымуглом не менее40град.

Коэффициентзапаса (Кз) дляосветительныхустановокобщего освещениядолжен приниматьсяравным 1.4.

Величинакоэффициентапульсации недолжна превышать5%, что должнообеспечиватьсяприменениемгазоразрядныхламп в светильникахобщего и местногоосвещения свысокочастотнымипускорегулирующимиаппаратами(ВЧ ПРА). Приотсутствиисветильниковс ВЧ ПРА лампымноголамповыхсветильниковили рядомрасположенныесветильникиобщего освещенияследует включатьна разные фазытрехфазнойсети и использоватьпреимущественнолюминесцентныелампы типа ЛБ.

5.6 Расчет освещенностирабочего местапрограммиста.

При любомвиде освещениянеобходимоследить заравномерностьюосвещениярабочего места.В противномслучае, принеравномерномосвещении,перевод взглядас более освещенногов менее освещенное,или наоборот,будет вызыватьу пользователясужение и расширениезрачка. Это, всвою очередь,повлечет напряжениеглазных мышци общую усталость.

Освещениерабочего местаобеспечиваетсяза счет примененияобщего искусственногоосвещенияпомещения иместного освещениярабочего места(система комбинированногоосвещения) —не ниже 750 лк (СН4559-88). Источникиобщего и местногоосвещения —люминесцентныелампы. Нормированныезначения освещенностив помещениипредставленыв таблице 6:

Таблица 6

Плоскость,в которойнормируетсяосвещение

Разряди подразрядзрительныхработ по СНи П 23.05.95

Освещенность,лк (комбинированноеосвещение)

Коэффициентпульсации,
КЕО

Горизонтальная

всего

отобщего

КП% не



1500

300

более20/10

Оптимальныйуровень яркости,отображаемойна экране дисплеяинформации,должен лежатьв пределах отдесятка досотен Кд/м2.Размер объектаразличенияне менее 0.6 мм(тип монитора- VGA). Контрастностьизображения(объект/фон) неменее 0.8. Низкочастотноедрожание изображенияна экране мониторадолжно находитьсяв пределах 0.1мм. ( требованияк вычислительнойтехнике по СН4559-88). Время непрерывнойработы с экраномв большинствеслучаев недолжно превышать1.5 — 2 часа, длительностьперерывов дляотдыха должнасоставлять5 — 15 мин.

Для освещенияпомещенияискусственнымсветом из всехсуществующихисточниковсвета, наиболеецелесообразноиспользоватьлюминесцентныелампы (лампыдневного света),так как ониэкономичны,и их спектрблизок к дневномусвету.

Расположениеисточниковсвета.

Общее освещениереализуетсяс помощью простыхи распространенныхсветильниковтаких, как открытыедвухламповыесветильникиУСП35. Они используютсядля освещениянормальныхпомещений сотражениемпотолка и стен,а также приумереннойвлажности изапыленности.При выборерасположениясветильниковнеобходиморуководствоватьсядвумя критериями:

  1. обеспечениевысокого качестваосвещения,ограниченияослепляемостии необходимойнаправленностисвета на рабочееместо;

  2. наиболееэкономичноесозданиенормированнойосвещенности.


Характеристикипомещения:

  • высотапомещения H =3.0 м;

  • длинапомещения l =4.8 м;

  • ширинапомещения a =3.5 м.


Для рабочегостола пользователяуровень рабочейповерхностинад полом составляет0.7 м. Тогда:

h = H - 0.7 = 2.3 м.

У светильниковУСП35 коэффициентзапаса kз = 1.3. Отсюда расстояниемежду светильникамиL:

L = kз * h = 1.3 * 2.3 = 2.99 м 3.0 м.

Располагаемсветильникивдоль стороныпомещения сокном. Расстояниемежду стенамии крайним рядомсветильниковсчитаем поформуле:

Lст = 0.3 * L = 0.3 * 3.0 = 0.897 м 0.9 м.

Для равномерногообщего освещениясветильникирасполагаютсярядами, параллельнымистенам с окнами.Количествосветильниковв одном рядуравно 2.

Расчетсветовогопотока.

Расчет требуемогосветовогопотока F производитсяпо формуле:

F = En * S * z * kз / (n * N), где:

Eн—нормированнаяминимальнаяосвещенность,лк;

S—площадьосвещаемогопомещения;

z—коэффициентминимальнойосвещенности,равный отношениюсредней освещенностик минимальной.При использованиилюминесцентныхламп z = 1.1;

kз—коэффициентзапаса, учитывающийзапылениесветильникови износ источниковсвета. Для помещенийВЦ, освещенныхлюминесцентнымилампами, kз= 1.4.

N—числосветильников;

n—коэффициентиспользованиясветовогопотока, которыйпоказывает,какая частьот общего световогопотока приходитсяна рассчитываемуюплоскость. Онзависит от типасветильников,коэффициентовотражениясветовогопотока от стенQс, потолка Qп,пола Qпола,геометрическихразмеров помещенияи высоты подвесасветильников,что учитываетсяиндексом помещенияi:

i = S / ( h * ( l + a ) ) = 17.5 / ( 2.3 * ( 4.8 + 3.5 )) = 0.92.

С учетомотражения стени потолка выбираемn = 0.5.

Итак, Ен = 300 лк;S = 16.8 м2; kз = 1.4; z = 1.1; N =4; n = 0.5.

Тогда, F = 300 * 16.8 *1.4 * 1.1 / (0.5 * 4) = 3881 лм. Учитывая,что расчётпроизводитсядля двухламповогосветильника,выбираем лампыЛБ 30, которыеимеют: световойпоток Ел = 2100 лм,потребляемаямощность Pпот= 30 Вт.

Рассчитаемобщую потребляемуюмощность системыосвещения иминимальнуюосвещённость,которые вычисляютсяпо формулам:

Ре= Pпот* N = 2 * 30 * 4 = 240 Вт,

Еmin= Eн* (Fвыбр/ Fрасч)= 300 * (4200 / 3881) = 325 лк.

Схема размещениясветильниковприведена нарисунке:

Рис 1

Схемаразмещениясветильниковв рабочем помещении.

Заключение.

Рассмотренытребования,необходимыедля созданиякомфортныхусловий работына ПЭВМ.

Длятого, чтобыудовлетворитьприведеннымтребованиямпо шуму, вибрациями т.п., рекомендованопроводитьзакупки оборудованияс небольшойвибрацией,пониженнымшумом и такдалее. В качествеконкретныхмер можно предложитьпользоватьсянематричными(лазерными илиструйными)принтерами,а систему вентиляции,снабдив звукопоглощателямии, по возможности,виброгасителями,вынести запределы рабочегопомещения.

Рассчитанаосвещенностьрабочего местаоператора ПЭВМ,определенымощность иместорасположенияисточниковсвета.

Список литературы:

  1. Беляков М.И.,Рабовер Ю.И.,Фридман А.Л.Мобильнаяоперационнаясистема. – Москва:Радио и связь,1991. – 206 с.

  2. Topham D.W., Troung H.V., Unix and Xenix: AStep-by-Step Guide. – Bowie: Brady Communication Company, Inc.1985. – 352 c.

  3. Кутузов Е.И.,ДиалоговаяЕдиная МобильнаяОперационнаяСистема ДЕМОС.– Москва: Высшаяшкола, 1987. – 380 с.

  4. ГончаровА.А., HTML в примерах.- Петербург:Питер, 1997. - 230 с.

  5. Р. Петерсен.,LINUX. Полноеруководство.Киев: BHV, 1998. -300 с.

  6. Ф. Льюис, Д.Розенкранц,Р. Стирнз., Теоретическиеосновы проектированиякомпиляторов.- Москва: Мир,1979. - 120 с.

  7. Тихомиров,Давидов., ОСДемос. - Москва:Наука, 1989. - 230 с.

  8. Э. Н. Сванидзе.,Технико-экономическоеобоснованиеэффективностиНИОКР. - Москва,1998. - 80 с.

  9. КонстантиноваЛ.А., ЛарионовН.М., Писеев В.М.,Методическиеуказания повыполнениюраздела "Охранатруда" в дипломныхпроектах длястудентовМИЭТ. - Москва:издательствоМИЭТ, 1988г. - 30 с.

  10. Давыдов Б.И.,Тихончук В.С.,Биологическиевоздействия,нормированиеи защита отэлектромагнитныхизлучений. -Москва: "Энергоиздат",1984г. - 55 с.

  11. Юдин Е.Я., БеловС.В., Охрана трудав машиностроении.— Москва:“Машиностроение”,1983. -60с.

  12. ГОСТ 12.1.045-84. Электрическиеполя. Допустимыеуровни на рабочих местах итребованияк проведениюконтроля. —Москва: “Стандарты”,1978. - 95 с.

  13. ГОСТ 12.1.003-83 ССБТ.Шум. Общиетребованиябезопасности.— Mосква: “Стандарты”,1978. - 40с.

Приложения.

Фрагмент кодалексическогоанализатора.

%STARTTEXT COMMAND COMARG


%{

#include

#include

%}


%%

^[^"."&bsol;n]{yymore();

BEGINTEXT;};

^"."{BEGIN COMMAND;};


^&bsol;n{return (EMPTYSTR);};

^[^"."&bsol;n]${return (TEXTSTR);};


.+{BEGIN 0;

return(TEXTSTR);};


br[&bsol;t]* {BEGIN COMARG;

return(BREAKLINE);};

sp[&bsol;t]* {BEGIN COMARG;

return(SPACE);};

bd[&bsol;t]* {BEGIN COMARG;

return(BOLD);};

ul[&bsol;t]* {BEGIN COMARG;

return(UNDERLINE);};

ft[&bsol;t]+ {BEGIN COMARG;

return(FONT);};

ps[&bsol;t]+ {BEGIN COMARG;

return(SIZE);};

ad[&bsol;t]+ {BEGIN COMARG;

return(ADJUST);};

na[&bsol;t]* {BEGIN COMARG;

return(NOADJUST);};

fi[&bsol;t]* {BEGIN COMARG;

return(FILL);};

nf[&bsol;t]* {BEGIN COMARG;

return(NOFILL);};

in[&bsol;t]+ {BEGIN COMARG;

return(IN);};

ti[&bsol;t]+ {BEGIN COMARG;

return(TIN);};

ex[&bsol;t].* {BEGIN COMARG;

return(EXIT);};

[A-Za-z]{1,2}[&bsol;t]* {BEGIN COMARG;

return(UNKNOW);};

[&bsol;t]*$ {BEGIN 0;};

[0-9]+{BEGIN 0;

return(DARG);};

[A-Za-z]{BEGIN 0;

return(CARG);};

[A-Za-z][^&bsol;t&bsol;n]+ {BEGIN 0;

return(SARG);};

%%

Фрагмент кодаграмматическогоанализатора.

%startlist


%tokenUNKNOW

%tokenEXIT

%tokenFONT SIZE

%tokenSCENTER SUNDERLINE UNDERLINE BOLD

%tokenADJUST NOADJUST LINELENGHT IN TIN

%tokenBREAKLINE SPACE LINESPACE

%tokenFILL NOFILL

%tokenDARG CARG SARG

%tokenTEXTSTR EMPTYSTR


%{

#include"lex.yy.c"


#defineprintT(STR) fprintf(yyout,(STR))

#defineprintD(STR,D) fprintf(yyout,(STR),(D))


intcb=-1,cu=-1,cc=-1,cl=-1;

intco=-1;

intta=0,tf=0,tb=0,tu=0,tc=0,tp=0;

inttFILL=0,cIN,cTIN,LS=0;

charnhtext[YYLMAX];

inti;

%}


%%

list: | list string

string: text

|command

;

command: BREAKLINE

{breakline();}

|SPACE comarg

{printD("",$2*30);}

|LINESPACE comarg

{LS=$2;}

|BOLD comarg

{if(!tb) {tb=1;

printT("");}

cb=$2;}

|UNDERLINE comarg

{if(!tu) {tu=1;

printT("");}

cu=$2;}

|FONT comarg

{if(tf) printT("");

fontchange(nhtext);

tf=1;}

|SIZE comarg

{if(tf) printT("");

printD("",$2);

tf=1;}

|ADJUST comarg

{if(tp) {tp=0;printT("");};

if(ta) printT("");

ta=1;

printT("

switch(nhtext[0])

{

case'l': printT("left");break;

case'r': printT("right");break;

case'c': printT("center");break;

default: printT("left");break;

}

printT("&bsol;">");};

|IN comarg

{cIN=$2;};

|TIN comarg

{cTIN=$2;};

|FILL

{tFILL=1;};

|NOFILL

{tFILL=0;};

|UNKNOW comarg

{fprintf(stderr,"unknownroff command before arg

'%s'&bsol;n",yytext);}

|UNKNOW

{fprintf(stderr,"unknownroff command: .%s&bsol;n",yytext);}

|EXIT

{return(0);}

;

comarg: DARG

{$$=atoi(yytext);}

|CARG

{nhtext[0]=yytext[0];}

|SARG

{for(i=0;yytext[i]!=0;i++)nhtext[i]=yytext[i];

nhtext[i++]=0;}

;

text: TEXTSTR

{if(cTIN) {for(i=0;i

printT(" ");

cTIN=0;}

elsefor(i=0;i

printT(" ");

printD("%s",yytext);

if(!tFILL) breakline();

if(!(cb

if(!cb) {tb=0;printT("");};}

|EMPTYSTR

{breakline();}

;

%%


Код головнойпрограммы.

#include"y.tab.c"


intmain(int argc, char *argv[])

{

++argv,--argc; /* skip over program name */

if(argc > 0)

yyin= fopen(argv[0], "r");

else

yyin= stdin;

++argv,--argc; /* skip over input file name */

if(argc > 0)

yyout= fopen(argv[0], "w");

else

yyout= stdout;


fprintf(yyout,

"&bsol;n

&bsol;n &bsol;n &bsol;n &bsol;n&bsol;n&bsol;n");

yyparse();

fprintf(yyout,

"&bsol;n&bsol;n&bsol;n&bsol;n");

}


89



Государственныйкомитет РФ повысшему образованию

МосковскийГосударственныйинститут электроннойтехники

(техническийуниверситет)


Факультет:

ЭКТ

Кафедра:

ПКИМС


Пояснительнаязаписка

кдипломномупроекту натему:


«Программноеобеспечениеудаленногодоступа к техническойдокументации»


Дипломник

Мамаев В.А. / /
Руководительпроекта Авдеев Ю.В. / /
Консультант Авдеев Ю.В. / /
Консультантпо технологическойчасти АдриановМ.В. / /
Консультантпо организационно-экономическойчасти КоротковаТ.Л. / /
Консультантпо производственнойи экологическойбезопасности ПриваловВ.П.

/ /


Москва
2000г.


РЕЦЕНЗИЯ

на дипломныйпроект студента

МосковскогоГосударственногоИнститутаЭлектроннойТехники,

факультетаЭКТ

МамаеваВ.А.

натему: «Программноеобеспечениеудалённогодоступа к техническойдокументации»


Дипломныйпроект посвящёнразработкепрограммытрансляцииформатированноготекста из форматаNroff вгипертекстовыйформат HTML.Цельразработкисостоит в освоениии опробованиитехнологииавтоматическойгенерациитрансляторовдля организациисервера техническойи проектнойдокументациипредприятия.Актуальностьзадачи обусловленареальнымипотребностямибазового предприятия.

Пояснительнаязаписка состоитиз специальнойчасти, технологическогораздела,организационно-экономическогораздела, разделапроизводственно-экологическойбезопасности,списка литературыи приложений.

Вспециальнойчасти проектаприведенапостановказадачи; рассмотреныи проанализированытребованияк форматамразнороднойтехническойдокументациипри организацииудалённогодоступа; проанализированысуществующиепрограммныесредстваконвертированияформатов; обосновананеобходимостьразработкипрограммы ипримененияинструментальныхсредств LexиYacc.Представленыформализованныеописанияобрабатываемыхформатов ирезультатыразработки.

Втехнологическомразделе рассмотренытехнологическиеаспекты созданиятрансляторовпутём автоматическойгенерации сприменениемуказанныхинструментальныхсредств.

Кдостоинствамнастоящегопроекта следуетотнести использованиепередовыхтехнологийи инструментовсоздания программногообеспечения.Особая ценностьпроекта состоитв его соответствиинепосредственнымпотребностямпредприятия.Результатыпроекта представляютсобой необходимыйэтап работ посозданиюинформационнойинфраструктурыСАПР и находятсяна этапе внедрения.

В качествезамечания кпроекту считаювозможнымобратить вниманиена недостаточноеколичествографическихиллюстративныхматериалов,что впрочемможет бытьобусловленоспецификойзадачи.

Дипломныйпроект отвечаетпредъявляемымтребованиям,и заслуживаетоценки «отлично»,а Мамаев В.А..- присвоенияему квалификацииинженера.


Ведущийнаучный сотрудник

АООТ "НИИМЭ и завод"Микрон", к.т.н._________________ Н.М.Наумов


ФАЙЛ:
VDV-1.INF
#ТЕМА:Программное обеспечение удалённого доступа к технической документации

#РАЗДЕЛ:

#НАЗНАЧЕНИЕ:Диплом

#ФОРМАТ:
WinWord 2000
#АВТОР: В. Мамаев

#СДАВАЛСЯ: в МГИЭТе на кафедре ПКИМС в 2000 г.

#ПРИМЕЧАНИЯ: с программой и примерами