A lexical analyser generator for Haskell
1 ответ

Не удается сопоставить один символ в грамматике Алекса

Наконец я вернулся к конкретному режиму сообщений GitCommit, который я хочу добавить в YI, но мне кажется, что я упустил что-то базовое. Кажется, я не могу сопоставить один символ в грамматике, все мои правила работают, только если они соответствуют…
06 июл '11 в 17:03
4 ответа

Есть ли уроки по созданию простого интерпретатора с использованием Alex + Happy?

Я работаю над школьным проектом, где мне нужно создать переводчика для простого языка, используя Alex + Happy в Haskell. Просматривая документацию, я понимаю большую ее часть, но хотел бы увидеть полный пример использования инструментов.
24 июн '10 в 19:18
1 ответ

Alex lex.x сборник: не входит в сферу 'begin'

У меня есть следующие утверждения в Lex.x для анализа комментариев блока. <0> "//".* { tokWValue LTokComment } <0> "/*" { begin blockcomment } <blockcomment> "*/" { begin 0 } <blockcomment> . { tokWValue LTokComment } Но если…
03 ноя '15 в 05:29
1 ответ

Alex Haskell - регулярное выражение соответствует неверной строке?

Я пытаюсь написать лексер для основанной на отступе грамматики, и у меня возникают проблемы с сопоставлением отступа. Вот мой код: { module Lexer ( main ) where import System.IO.Unsafe } %wrapper "monadUserState" $whitespace = [\ \t\b] $digit = 0-9 …
12 июн '12 в 16:20
0 ответов

Запуск лексического анализатора Alex для haskell с использованием командной строки Windows

Я пытаюсь запустить лексический анализатор Alex через командную строку Windows и получаю различные ошибки. У меня есть требуемый файл Lexer.x, и я установил компилятор Glasgow Haskell (GHC) на свою Windows 10. Когда я запускаю фактический.exe для gh…
22 окт '18 в 15:21
2 ответа

Как сохранить несколько семантических значений при разборе с Happy/Haskell

Я пытаюсь создать простой лексер / парсер с Alex/Happy в Haskell, и я хотел бы сохранить некоторую информацию о локализации из текстового файла в моем окончательном AST. Мне удалось построить лексер, используя Alex, который строит список токенов с л…
24 июл '10 в 10:55
1 ответ

Алекс wrappers.hs нет экземпляра Applicative

Я пытаюсь скомпилировать lex.x с помощью ghc 7.10.2 и alex 3.1.4, но выдает следующую ошибку. Я проверил Lex.hs, и действительно, там нет аппликативного экземпляра для "Алекса". Примечание. Эта ошибка начала появляться после того, как я перешел из о…
17 ноя '15 в 13:54
0 ответов

Алекс Монада фантик разница между; и пропустить

Используя monadwrapper в alex, кажется, что вы можете пропустить, используя либо ; или {skip} действие. Они генерируют другой код, но я не могу найти разницу. Почему этот очевидный вопрос не рассматривается в документации?
19 ноя '18 в 09:29
1 ответ

Happy & Alex - Предотвращение негативного влияния на общение анализатора и лексера

В настоящее время я пишу парсер для компилятора игрушечного языка, используя Happy & Alex. Так как требуется некоторая форма необязательного макета, я должен изменить состояние Алекса перед соответствием block не-терминал. К сожалению, похоже, что т…
2 ответа

Mongodb elemMatch Алекс Билби библиотека

Я использую библиотеку alex bilbie для dong монго ( https://github.com/alexbilbie/codeigniter-mongodb-library/tree/v2). Я не знаю, как сформировать запрос elemMatch с этой библиотекой. Мне нужно преобразовать это в alexs lib. db.centers.find( { '_id…
10 июн '13 в 15:19
1 ответ

Получение информации о номере строки на этапе семантического анализа (с использованием Alex,Happy)

Я делаю семантический анализ для экспериментального языка. Я использую Alex и Happy для генерации лексера и анализатора (на самом деле я использую инструмент BNFC для генерации файлов Alex и Happy). Я хотел получить сообщение об ошибке с номером стр…
18 янв '16 в 04:11
0 ответов

Сочетание Алекса и Хеппи под стандартной "монадной" оберткой

Мне удалось совместить Алекс лексер и Счастливый парсер. Однако есть некоторые аспекты моего текущего решения, которыми я не доволен: Настройка начального состояния, Код Boilerplate при передаче состояния Алексу, Alex и мой ExpParser Монада это отде…
21 июл '17 в 10:41
2 ответа

Использование alex/happy с Cabal

Я пишу компилятор для класса, который я беру. Класс не определенно Haskell, но я использую Haskell для написания своего компилятора и интерпретатора. У меня есть настройка пакета cabal, которая, надеюсь, облегчит запуск / компиляцию моего профа. У м…
16 дек '10 в 21:45
3 ответа

Регулярные выражения против лексических анализаторов в Haskell

Я начинаю с Haskell и пытаюсь использовать инструмент Alex для создания регулярных выражений, и я немного растерялся; Моим первым неудобством была компиляция. Как мне сделать, чтобы скомпилировать файл с Алексом? Затем я думаю, что мне нужно импорти…
21 июн '10 в 22:26
0 ответов

Haskell Alex: базовый лексер утечек памяти

Я пытаюсь написать простой лексер, который будет печатать все слова на входе, где слово является максимальной последовательностью букв a-zA-Z, Все остальные символы должны игнорироваться. Моя программа Алекс для этого, которая использует basic-bytes…
19 дек '14 в 11:04
1 ответ

Алекс, Хэппи, Кабал и повторная предварительная обработка

Я использую Alex 3.0.5, Happy 1.18.10, Cabal 1.16.0.2 У меня есть небольшой проект компилятора, который построен с использованием Cabal. Я представляю внутреннюю часть компилятора как библиотеку, поэтому я имею в разделе "Открытые модули" MyLangLex …
23 мар '14 в 21:27
1 ответ

Что мне нужно добавить, чтобы использовать monadUserState с alex при разборе?

Я пытаюсь написать программу, которая будет понимать язык, на котором разрешены встроенные комментарии. Такие как: /* Here's a comment /* This comment is further embedded */ second comment is closed Must close first comment */ Это следует признать к…
25 янв '15 в 20:37
1 ответ

Как скомпилировать BNF Converter?

Кому-нибудь удалось построить BNFC с ghc-7.2.1 и alex-3? Я пытался исправить это вручную, но есть много ошибок. Кто-нибудь знает, где я могу найти некоторые патчи, которые помогут мне сделать это? Заранее спасибо.
11 апр '12 в 17:32
1 ответ

Запрос комментариев к простому парсеру Alex

Я пытался добавить код в редактор Haskell Yi и хочу добавить в него режимы Git commit и rebase. Я никогда ничего не делал с Алексом раньше, поэтому я решил написать автономный анализатор коммитов за пределами Yi, прежде чем пытаться добавить его в р…
18 май '11 в 00:12
2 ответа

Соответствие шаблону типа данных на Haskell в Alex

Предположим, у меня есть тип данных в Haskell, например: data Token = THEN AlexPosn | ELSE AlexPosn от Алекса я получаю это: data AlexPosn = AlexPn !Int !Int !Int deriving (Eq,Show) Я могу сделать сопоставление с образцом, как это: eat_token :: Toke…
26 фев '12 в 23:10