Описание тега shift-reduce
2
ответа
Оператор if-else в бизоне
Я пытаюсь сделать заявление если-то в зубре. Проблема в том, что я работаю над решением, которое все говорят, что работает, но это не так:(мой код: заявление: matchedstmt | unmatchedstmt; matchedstmt: if '(' expression ')' matchedstmt иначе matcheds…
12 мар '17 в 14:41
1
ответ
yacc прекратить делать shift&& lower, когда больше не может получить символ yylex()
Вот мой код: %{ #include<string.h> #include "y.tab.h" #define DEBUG 0 void yyerror(char* s); void debug(char* string) { if (DEBUG) { printf(string); } } %} selector "selector"[0-9]+ positive "+" negtive "-" contains "." before "->" or "||" …
17 янв '15 в 14:23
1
ответ
Решение разбор конфликтов в крошечной грамматике Лимона
Я пытаюсь изучить основы генератора парсеров Lemon, но я застрял быстро. Вот крошечная грамматика: %right PLUS_PLUS. %left DOT. program ::= expr. member_expr ::= expr DOT IDENTIFIER. lhs_expr ::= member_expr. expr ::= lhs_expr. expr ::= PLUS_PLUS lh…
06 янв '17 в 22:25
1
ответ
Сдвинуть / уменьшить конфликт в yacc из-за ограничения токенов упреждения?
Я пытался решить кажущийся простым конфликт сдвига / сокращения безрезультатно. Естественно, парсер работает нормально, если я просто игнорирую конфликт, но я бы чувствовал себя намного безопаснее, если бы я реорганизовал свои правила. Здесь я упрос…
14 янв '11 в 11:29
1
ответ
Как должны быть определены бинарные операторы в зубрах?
Я пишу синтаксический анализатор в C с бизоном, и, хотя он, кажется, работает правильно при любых обстоятельствах, которые я до сих пор пытался, я получаю кучу предупреждений сдвига / уменьшения на моих бинарных операторах (и одно на моем унарном оп…
05 окт '10 в 00:17
1
ответ
C - процесс завершен с кодом ошибки 3221225477
Я делаю алгоритм смещения-уменьшения для нашего предмета разработки компилятора. Это код. void shiftReduce(char str[MAX_CHAR], int prodNum, int line) { int limit = 5, y=0; int substrFlag = 1; //0 true 1 false int ctr,x, counter; int match, next; cha…
17 июл '16 в 08:31
2
ответа
Разбор CFG с альтернативами
У меня довольно простой язык, представленный в виде CFG. S → A z A → A y A | A x A | A w | v Так как есть левая рекурсия, парсер рекурсивного спуска не собирается ее сокращать. Однако мне также нужно найти все возможные толкования: дано v x v y v zМ…
24 май '18 в 01:04
1
ответ
Получите TypedDependencies используя StanfordParser Shift Reduce Parser
Я пытаюсь использовать Stanford Shift Reduce Parser с поставляемой испанской моделью. Однако я замечаю, что в отличие от Lexicalized Parser, я не могу получить TypedDependencies, несмотря на отправку соответствующего флага -outputFormat typedDepende…
16 фев '15 в 18:32
1
ответ
Разве LR(0) парсер тоже не использует lookaheads?
LL(1)-парсеру нужен символ предпросмотра, чтобы иметь возможность решить, какую продукцию использовать. Это причина, по которой я всегда думал, что термин "lookahead" используется, когда анализатор смотрит на следующий входной токен, не "потребляя" …
14 мар '15 в 13:35
1
ответ
Разница между сдвигом и прогнозом
Учитывая простую грамматику, как rule1 := token1 token2 token3 token4 || token1 token2 token3 token3; В чем разница между сдвигом первых трех токенов, затем просмотром четвертого, чтобы увидеть, какое правило уменьшить, и простым просмотром трех ток…
12 дек '11 в 23:50
1
ответ
Shift уменьшить конфликты
Ниже грамматики я делаю. S '-> sqf sqf -> объявления декларации -> декларация декларации -> декларации декларации декларация -> отношение декларация отношение -> тело головы отношение -> отношения norelation -> reldata norelation -> relatts reldata …
28 мар '18 в 12:50
1
ответ
Сдвиг / уменьшение конфликта в первом состоянии благодаря правилу эпсилон
У меня сдвиг / уменьшение конфликта в зубрах. Я проверил файл parser.output: State 0 0 $accept: . Prog $end STRUCT shift, and go to state 1 $default reduce using rule 6 (Structs) Prog go to state 2 Structs go to state 3 StructDec go to state 4 У мен…
04 дек '18 в 16:09
1
ответ
НЛП Shift Reduser синтаксический анализатор выбрасывает нулевой указатель Исключение для расчета настроения
Я пытаюсь проанализировать настроение с помощью NLP. Я использую версию stanford-nlp, 3.4.1. У меня есть некоторые ненужные данные для обработки, и похоже, что для обработки с использованием файла PCFG по умолчанию требуется около 45 секунд. Вот при…
24 май '15 в 07:15
0
ответов
Сдвиг / уменьшение конфликтов в парсере бизонов
Я строю грамматический парсер с бизоном. Правила, которые я определил до сих пор: Program : Exp {}; Exp : STRING {}; Exp : TRUE {}; Exp : FALSE {}; Exp : NOT Exp {}; Exp : Exp OP Exp{}; OP : AND | OR | XOR {}; Я получаю сообщение: warning: 4 shift/r…
20 май '18 в 12:42
0
ответов
Контекстно-бесплатная грамматика с использованием Shift Reduce Parser
Я пытаюсь использовать парсер Shift Reduce для следующего предложения: He eats pasta with some anchovies in the restaurant Я создал некоторый код и грамматику, НО грамматика работает только до: He eats pasta with some anchovies import nltk from nltk…
10 дек '18 в 14:34
2
ответа
Сдвиг-уменьшение: когда прекратить сокращение?
Я пытаюсь узнать о разборе сдвига-уменьшения. Предположим, у нас есть следующая грамматика, использующая рекурсивные правила, которые обеспечивают порядок операций, основанный на грамматике ANSI C Yacc: S: A; P : NUMBER | '(' S ')' ; M : P | M '*' P…
13 апр '10 в 03:08
0
ответов
Обучение Stanford RSS и Shift Reduce парсерам для нового языка
Я хотел бы обучить Stanford Parsers (RSS и Shift Reduce) на основе избирательного округа существующему банку деревьев, но не могу найти достаточно информации в Интернете, чтобы иметь возможность это сделать. Два ключевых вопроса: В каком формате я д…
22 май '17 в 05:29
2
ответа
Как преодолеть сдвиг-уменьшить конфликт в грамматике LALR
Я пытаюсь разобрать положительные и отрицательные десятичные дроби. number(N) ::= pnumber(N1). number(N) ::= nnumber(N1). number(N) ::= pnumber(N1) DOT pnumber(N2). number(N) ::= nnumber(N1) DOT pnumber(N2). pnumber(N) ::= NUMBER(N1). nnumber(N) ::=…
16 авг '16 в 23:10
1
ответ
Конфликт Shift-Reduce в YACC для правила, начинающегося с Action
%token A B %% start: {printf("Starting…\n");} A A | A B; В моей книге говорится, что существует конфликт сдвига-уменьшения, когда токеном является A, потому что yacc преобразует его в код. %token A B %% start: empty A A | A B; empty: {printf("Starti…
22 окт '19 в 00:56
0
ответов
Как NN выполняет синтаксический анализ зависимостей в SpaCy
Фактический алгоритм, который использует Spacy, не указан в документе. Так что что-то непонятно. 1. Используется ли метод сдвига-уменьшения или что-то еще? 2. Как применить классификатор там, где ему нужен классификатор? Например, если они использую…
28 дек '19 в 07:12