parsec

Я пытаюсь разобрать фрагмент языка Abap с помощью Parsec в haskell. Операторы в Abap разделены точками. Синтаксис определения функции: FORM <name> <arguments>. <statements>. ENDFORM. Я использую его в качестве минимального примера. Вот моя попытка написать соответствующий тип в haske...

Я собираюсь через написать себе схему в Haskell. Это отличный учебник, но я наткнулся на стену с одним из упражнений разбора: parseNumber :: Parser LispVal parseNumber = liftM (Number . read) $ many1 digit Перепишите parseNumber, используя: Do-нотация явное секвенирование с помощью оператора > &g...

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

Я решил научить себя пользоваться Parsec, и я попал немного в тупик с игрушечным проектом, который я себе назначил. Я пытаюсь разобрать HTML, а именно: <html> <head> <title>Insert Clever Title</title> </head> <body> What don't you like? <select id="s...

Я искал Text.Parsec.Token.natural на Hoogle и нашел тип Text.Parsec.Token.natural is natural :: ParsecT s u m Integer. Но это противоречит тому, что я получил с :t в GHCi. GHCi дает такой тип: Prelude Text.Parsec.Token> :t natural natural :: GenTokenParser s u m -> Text.Parsec.Prim.ParsecT s u m I...

Я пытаюсь научиться использовать Parsec для написания синтаксического анализатора Delphi, но я застрял на определении LanguageDef. В Delphi существует два типа блоков комментариев: (* comments *) и { comments }. Но типы commentStart & commentEnd LanguageDef-это String, а не [String], поэтому я мог бы вст...

Я пытаюсь изучить Parsec, разбирая строку даты формата "YYYYMMDD", например"20161030". И мое решение таково: date :: Parser (String, String, String) date = do year <- replicateM 4 digit month <- replicateM 2 digit day <- replicateM 2 digit return (year, month, day) Но проблема в том, что...

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