Парсинг, где я могу узнать об этом

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

var sdt = new Date('1972-11-30');
var difdt = new Date(new Date() - sdt);
alert((difdt.toISOString().slice(0, 4) - 1970) + "Y " + (difdt.getMonth()+1) + "M " + difdt.getDate() + "D");
17
задан lillq 26 September 2008 в 00:59
поделиться

12 ответов

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

IMH (зонтик) O, сохраните себя рука и/или участок и купите более старый выпуск - это заполнит Ваши информационные требования.

12
ответ дан 30 November 2019 в 11:53
поделиться

Попытка ANLTR:

ANTLR, Другой Инструмент для Распознавания языка, является инструментом языка, который служит основой для построения устройств распознавания, интерпретаторов, компиляторов и переводчиков из грамматических описаний, содержащих действия во множестве выходных языков.

существует книга для него также.

alt text

8
ответ дан 30 November 2019 в 11:53
поделиться

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

(a) Вы рассмотрели движение к школе с достойной программой CS?
(b) Там много лекций онлайн, такой как , MIT Открывает Courseware . Их раздел EE/CS имеет много курсов, которые затрагивают парсинг, хотя я не вижу никого при парсинге по сути. Это обычно представляется как один из первых курсов теории, как классификация языков и автоматы в основе большой части теории CS.

2
ответ дан 30 November 2019 в 11:53
поделиться

Я недавно работал с СГИБ , который является реализацией закона и yacc в Python. Довольно легко начать с ним и в документации существуют некоторые простые примеры.

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

2
ответ дан 30 November 2019 в 11:53
поделиться

Книга Niklaus Wirth "Конструкция Компилятора" (доступный как свободный PDF) http://www.google.com/search?q=wirth+compiler+construction

5
ответ дан 30 November 2019 в 11:53
поделиться

Если Вы предпочитаете основанные на Java инструменты, Компилятор Компилятора Java, JavaCC, является хорошим синтаксическим анализатором/сканером. Это - файл конфигурации, управляемый, и сгенерирует код Java, который можно включать в программу. Я не использовал его пара лет, хотя, таким образом, я не уверен, как текущая версия. Можно узнать больше здесь: https://javacc.dev.java.net /

1
ответ дан 30 November 2019 в 11:53
поделиться

Я нашел этот сайт полезным:

Lex и КРАТКАЯ ИНФОРМАЦИЯ/ПРАКТИЧЕСКОЕ РУКОВОДСТВО

YACC В первый раз я использовал lex/yacc, был для относительно простого проекта. Это учебное руководство было всем, в чем я действительно нуждался. Когда я приблизился к более сложным проектам позже, знакомство, которое я имел из этого учебного руководства, и простой проект позволил мне создавать что-то более необычное.

1
ответ дан 30 November 2019 в 11:53
поделиться

Lexing/Parsing + typecheck + генерация кода является большим осуществлением CS, я рекомендовал бы это любому желающему твердое основание, таким образом, я - все для Книги

Дракона
1
ответ дан 30 November 2019 в 11:53
поделиться

После взятия (вполне) нескольких классов компиляторов, я использовал оба Книга и Дракона C& T. Я думаю C& T делает намного лучшее задание создания удобоваримой конструкции компилятора. Для не устранения чего-либо из Книги Дракона но я думаю C& T является намного более практической книгой.

кроме того, если Вам нравится писать в Java, я рекомендую использовать JFlex и BYACC/J для Вашего lexing и проанализировать потребности.

1
ответ дан 30 November 2019 в 11:53
поделиться

Методы синтаксического анализа - Практическое Руководство Jacobs

Dick Grune и Ceriel J.H. Эта книга (в свободном доступе как PDF) дает обширный обзор различных методов/алгоритмов парсинга. Если Вы действительно хотите понять различные алгоритмы парсинга, этот IMO является лучшей ссылкой, чем Книга Дракона (как внимание Методов синтаксического анализа полностью на парсинг, в то время как Обложки книги Дракона, анализирующие только как одна - хотя важный - часть процесса конструкции компилятора).

1
ответ дан 30 November 2019 в 11:53
поделиться

Еще один учебник для рассмотрения Прагматика Языка программирования . Я предпочитаю его по книге Дракона, но YMMV.

при использовании Perl еще один инструмент для рассмотрения Синтаксический анализ:: RecDescent.

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

1
ответ дан 30 November 2019 в 11:53
поделиться

гибкий провод и бизон являются новым законом и yacc все же. Синтаксис для BNF часто высмеивается для того, чтобы быть немного тупым. Некоторые переместились в ANTLR и Ragel поэтому.

, Если Вы не делаете большого перевода, Вы можете для получения по запросу одноразовой мультилинии использования regexes с Perl или Ruby. Запись совместимой грамматики BNF для существующего языка не является задачей, которая будет взята слегка.

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

1
ответ дан 30 November 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: