Форум программистов, компьютерный форум CyberForum.ru

Различия использования регулярных выражений и генераторов парсеров в GCC и MSVC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ [C++11] STL unordered контейнеры http://www.cyberforum.ru/cpp/thread1748040.html
Думаю, проще всего мою проблему/задачу описать псевдокодом. class MyClass { void Something() { EventHandler(this); } }
C++ Ищу примеры реализации длинной арифметики Здравствуйте! Скиньте пожалуйста примеры решения задач на тему "Длинная арифметика"! Желательно с подробным пояснением! Язык C++. Очень нужно для курсовой работы! http://www.cyberforum.ru/cpp/thread1748018.html
Где найти перечень функций sfml? SFML
Помогите найти перечень функций sfml. Хочу написать игру, но по видео урокам долго. Пытался что то делать но по названию функции не сразу поймешь.
Демонстрация влияния отсутствия нужных записей в буфере TLB на эффективное время доступа к памяти C++
Напишите программу, демонстрирующую влияние отсутствия нужных записей в буфере TLB на эффективное время доступа к памяти, путем измерения времени каждого доступа, затрачиваемого на проход большого массива. Помогите пожалуйста. Реализацию буфера TLB сделал, а вот дальше, что делать не могу никак понять
C++ Как получить команды, которые программа посылает на процессор? http://www.cyberforum.ru/cpp/thread1743500.html
Всем привет. Готовлюсь к научной работе и получил необычное задание, которое вообще не вписывается в сферу моей деятельности. А именно нужно написать приложение которое на вход получает файл .ехе, выполняет его и как результат выдает список комманд которые подаются прямо на поцессор. В итоге получаеться что-то типа дизассемблера, но не дизассемблер=) Кто что-то слышал о таком и кто может...
C++ VC 2012 изи не могу сделать задачу , хелпаните изи же Утворити файл, який містить інформацію про асортимент взуття в крамниці фірми. Структура містить: артикул, назва, кількість, ціна однієї пари. Кількість записів довільна. Артикул починається з літери Ж для жіночого взуття, Ч - чоловічого, Д - дитячого подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17274 / 5528 / 345
Регистрация: 30.03.2009
Сообщений: 15,041
Записей в блоге: 26
29.05.2016, 10:00     Различия использования регулярных выражений и генераторов парсеров в GCC и MSVC
Если под словом "используют" подразумевается "сам компилятор написан с использованием", то можно поглядеть на исходники gcc, там есть какие-то файлы с расширением *.l, а в старых версиях были и файлы с расширением *.y (если я ничего не путаю). Когда-то я их изучал и сложилось впечатление, что там реализовано лишь некоторое подмножество языка. Да и не было полной уверенности, что оно входит именно в состав компилятора, а не в состав какой-нибудь утилиты, которая используется при сборке компилятора

Но тут есть два момента

1. Парсер в компиляторе занимает дай бог 1% времени исполнения. А потому скорость работы парсера в пределах +-100% роли не играет, а потому пофигу на чём его писать
2. lex/bison годны для написания примитивных парсеров. Синтаксис таких монстров как Си++ слишком сложен, для того, чтобы с ними работать на lex/bison. Парсер ведь не только должен распарсить, но ещё и грамотно выдать пользовательские ошибки, причем после выдачи ошибки современные компиляторы продолжают парсить (т.е. выдают несколько ошибок за раз). На lex/bison, думается, опухнешь это делать (правда не уверен в этом на все 100%)

Добавлено через 2 минуты
Что касается MSVC, то я более чем уверен, что тем не может быть никаких lex/bison тупо по политическим соображениям
 
Текущее время: 02:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru