Вопросы с тегом «parsing»

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

12
Должен ли я использовать генератор синтаксического анализатора или я должен свернуть свой собственный код лексера и анализатора?
Какие конкретные преимущества и недостатки каждого способа работы над грамматикой языка программирования? Почему / Когда я должен катиться самостоятельно? Почему / Когда я должен использовать генератор?

4
Когда использовать Parser Combinator? Когда использовать Parser Generator?
Недавно я глубоко погрузился в мир парсеров, желая создать свой собственный язык программирования. Однако я обнаружил, что существуют два несколько разных подхода к написанию парсеров: Генераторы парсеров и Комбинаторы парсеров. Интересно, что мне не удалось найти какой-либо ресурс, объясняющий, в каких случаях какой подход лучше; Скорее всего , многие ресурсы …

4
Как именно создается абстрактное синтаксическое дерево?
Я думаю, что понимаю цель AST, и раньше я построил пару древовидных структур, но не AST. Я в основном сбит с толку, потому что узлы - это текст, а не число, поэтому я не могу придумать хороший способ ввода токена / строки, когда я разбираю некоторый код. Например, когда я …

2
Современные языки все еще используют генераторы парсеров?
Я исследовал о наборе компиляторов GCC на википедии здесь , когда это придумал: GCC начал использовать парсеры LALR, сгенерированные с помощью Bison, но постепенно переключился на рукописные парсеры с рекурсивным спуском; для C ++ в 2004 году и для C и Objective-C в 2006 году. В настоящее время все внешние …

6
Почему строгий анализ не был выбран для HTML?
Я часто задавался вопросом, почему строгий синтаксический анализ не был выбран при создании HTML. На протяжении большей части истории Интернета браузеры принимали любую разметку и старались изо всех сил ее анализировать. Этот процесс снижает производительность, позволяет людям писать бессмысленно и затрудняет отказ от устаревших функций. Есть ли конкретная причина, по …
38 html  history  parsing 

1
C ++ 11 включает в себя std :: stoi, почему бы не std :: itos?
Я заметил, что в C ++ 11 есть std::sto@семейство функций для простой распаковки ints / float / longs из строк. Однако я удивлен, что обратное не реализовано. Почему комитет по стандартам не включает std::itosсемейство функций для перехода от int / float / что угодно (назад) к строкам?
37 c++  parsing  strings  c++11 

5
Как обычно анализируются комментарии?
Как обычно обрабатываются комментарии в языках программирования и разметке? Я пишу парсер для некоторого пользовательского языка разметки и хочу следовать принципу наименьшего удивления , поэтому я пытаюсь определить общее соглашение. Например, должен ли комментарий, встроенный в токен, «мешать» токену или нет? Как правило, это что-то вроде: Sys/* comment */tem.out.println() действует? …
31 parsing  comments 

1
Инглиш парсер (для Хоббита 1982)
С увлечением прочитал о текстовой приключенческой игре The Hobbit, в которой был представлен невероятно мощный парсер под названием «Inglish»: ... Инглиш позволял набирать сложные предложения, такие как "спроси Гэндальфа о любопытной карте, затем возьми меч и убей тролля с ним". Парсер был сложным и интуитивно понятным, вводя местоимения, наречия («злобно …

8
Можно ли статически предсказать, когда освободить память - только из исходного кода?
Память (и блокировки ресурсов) возвращаются в ОС в детерминированных точках во время выполнения программы. Поток управления программой сам по себе достаточен, чтобы знать, где, без сомнения, данный ресурс может быть освобожден. Точно так же, как человек-программист знает, куда писать, fclose(file)когда программа завершает работу с ним. GC решают эту проблему, выясняя …
27 parsing  memory 

5
Имя для этого типа синтаксического анализатора, ИЛИ почему он не существует
Обычные синтаксические анализаторы используют весь свой ввод и создают одно дерево синтаксического анализа. Я ищу тот, который использует непрерывный поток и создает лес синтаксического анализа [ править: см. Обсуждение в комментариях относительно того, почему такое использование этого термина может быть нетрадиционным ]. Моя интуиция говорит, что я не могу быть …
27 parsing 

6
Каковы аргументы против разбора пути Ктулху?
Передо мной была поставлена ​​задача внедрения предметно-ориентированного языка для инструмента, который может стать весьма важным для компании. Язык простой, но не тривиальный, он уже допускает вложенные циклы, конкатенацию строк и т. Д., И практически уверен, что другие конструкции будут добавлены по мере продвижения проекта. По своему опыту я знаю, что …

3
В каком процессе возникает синтаксическая ошибка? (токенизация или разбор)
Я пытаюсь понять компиляцию и интерпретацию, шаг за шагом выясняя общее изображение. Поэтому я поднялся на вопрос, читая http://www.cs.man.ac.uk/~pjj/farrell/comp3.html эту статью. Это говорит: Следующий этап компилятора называется Parser. Эта часть компилятора имеет понимание грамматики языка. Он отвечает за выявление синтаксических ошибок и за перевод безошибочной программы во внутренние структуры данных, …

3
Реализация шаблона посетителя для абстрактного синтаксического дерева
Я нахожусь в процессе создания своего собственного языка программирования, который я делаю для целей обучения. Я уже написал лексер и парсер рекурсивного спуска для подмножества моего языка (в настоящее время я поддерживаю математические выражения, такие как + - * /и круглые скобки). Парсер возвращает мне абстрактное синтаксическое дерево, в котором …

12
Как написать интерпретатор команд / парсер?
Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . Проблема: Запустите команды в виде строки. пример команды: /user/files/ list all; эквивалентно: /user/files/ ls -la; другой: post tw fb "HOW DO YOU STOP THE TICKLE MONSTER?;" эквивалентно: …

4
Общий анализатор правил для правил настольной игры RPG - как это сделать?
Я хочу создать общий синтаксический анализатор правил для ролевых и бумажных систем. Правило может включать в себя от 1 до N объектов от 1 до N ролей игральных костей и вычисления значений на основе нескольких атрибутов объекта. Например: У игрока есть STR 18, его экипированное оружие дает ему бонус +1 …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.