Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.04.2011, 18:38   #1
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
Радость программирование лексических анализаторов

вобщем задали курсовую на тему программирование лексических анализаторов. и так как я более менее нормально знаю язык Си, то решил написать на нём и для него. но вот проблема, нужно знать какие типы лексем заносятся в таблицу. преподаватель сказал что таблицу лексем для Си он не встречал и посоветовал мне программировать на фортране (якобы там можно просмотреть лексемы). но так как я не изучал данный язык, то мне проблематично будет написать лексический анализатор для него.
поэтому просьба: может кто знает где можно найти таблицу лексем для языка Си.
alex(21) вне форума Ответить с цитированием
Старый 01.04.2011, 19:05   #2
Mandrivnyk
Software Developer
Участник клуба
 
Аватар для Mandrivnyk
 
Регистрация: 01.03.2011
Сообщений: 1,098
По умолчанию

Лексемы языка С

ЗЫ Яндекс -- найдется всё! (с)
Гугл -- а ничего и не терялось... -)
Болтовня ничего не стоит. Покажите мне код. (c) Linus Torvalds
Помог ответ? -- Поставьте отзыв.
Выражения особой благодарности в рублевом эквиваленте отправлять сюда --> R269634919062
Mandrivnyk вне форума Ответить с цитированием
Старый 01.04.2011, 19:40   #3
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

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

лексемы:
int
a
c
n++
и т.д.
alex(21) вне форума Ответить с цитированием
Старый 17.04.2011, 14:48   #4
alex(21)
Форумчанин
 
Аватар для alex(21)
 
Регистрация: 09.06.2009
Сообщений: 545
По умолчанию

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

int - оставить на своём месте
f
y
int - удалить
r
int - удалить
b

в результате получится:

int
f
y
r
b

с первой частью я справился т.е. выделил лексемы. теперь нужно удалить лишнее, подскажите как это можно осуществить
alex(21) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование в C Моркковь!) Помощь студентам 2 03.03.2011 12:57
статья - Новые модификации анализаторов спектра Pblog Обсуждение статей 0 23.06.2010 05:13
программирование фамил Свободное общение 10 23.09.2009 14:28
ПРограммирование Андрюха из ПХТТ Фриланс 3 04.02.2008 21:25