Запитання з тегом «grammar»

Формальна граматика - це набір виробничих правил, що описують, як формувати рядки дійсного синтаксису. Формальні граматики найчастіше використовуються для зазначення синтаксису мови програмування.

20
Це C ++ без контексту чи залежно від контексту?
Я часто чую твердження, що C ++ - це контекстна мова. Візьмемо такий приклад: a b(c); Це змінне визначення чи оголошення функції? Це залежить від значення символу c. Якщо cє змінною , то a b(c);визначає змінну, названу bтипу a. Він безпосередньо ініціалізований з c. Але якщо cце тип , то …

20
int a [] = {1,2,}; Дивні коси дозволені. Якась конкретна причина?
Можливо, я не з цієї планети, але мені здається, що наступною має бути помилка синтаксису: int a[] = {1,2,}; //extra comma in the end Але це не так. Я був здивований , коли цей код скомпільовано на Visual Studio, але я навчився не довіряти MSVC компілятор, наскільки правила C ++ …

6
Чому не можна розібрати C ++ за допомогою аналізатора LR (1)?
Я читав про аналізатори та генератори парсерів і знайшов це твердження на LR-розборі сторінки Вікіпедії: Багато мов програмування можна проаналізувати, використовуючи деяку варіацію аналізатора LR. Один помітний виняток - C ++. Чому так? Яка особливість C ++ спричиняє неможливість розбору з LR-аналізаторами? Використовуючи google, я лише виявив, що C може …

2
Що таке контекстна безкоштовна граматика?
Чи може хтось пояснити мені, що таке контекстна граматика? Подивившись на запис у Вікіпедії, а потім у Вікіпедію на офіційній граматиці, я залишаюсь абсолютно і зовсім збентежений. Невже хтось буде такий добрий, щоб пояснити, що це за речі? Мені це цікаво, тому що я хочу дослідити синтаксичний аналіз, а також …

8
Яка різниця між парзаторами LR, SLR та LALR?
Яка фактична різниця між LR, SLR та LALR парсерами? Я знаю, що SLR та LALR - це типи парсерів LR, але яка насправді різниця щодо їх таблиць розбору? І як показати, граматика - LR, SLR або LALR? Для граматики LL ми просто повинні показати, що жодна комірка таблиці розбору не …

1
Що робить Java простішим для синтаксичного аналізу, ніж C?
Я знайомий з тим, що граматики C та C ++ є контекстно-залежними , і, зокрема, вам потрібен "злом лексера" в C. З іншого боку, у мене таке враження, що ви можете проаналізувати Java лише 2 лексеми перспективи, незважаючи на значну подібність між двома мовами. Що б вам довелося змінити щодо …
90 java  c  parsing  grammar 

1
Різниця між синтаксичним аналізатором LL та рекурсивним спуском?
Нещодавно я намагався навчити себе, як працюють парсери (для мов / безконтекстних граматик), і, здається, більшість із них має сенс, крім одного. Зосереджую свою увагу, зокрема, на граматиках LL (k) , для яких двома основними алгоритмами, здається, є парсер LL (за допомогою таблиці стеків / синтаксичного аналізу) та парсер рекурсивного …

1
Чому 019 не є синтаксичною помилкою JavaScript? Або чому 019> 020
Якщо я вводжу 019 > 020в консоль JavaScript (протестовано як у Chrome, так і у Firefox), я отримую відповідь true. Це пояснюється 020інтерпретацією як OctalIntegerLiteral(рівних 16), тоді як 019, очевидно, інтерпретується як DecimalLiteral(і рівних 19). Як 19більше 16, 019 > 020є true. Мене спантеличує те, чому 019інтерпретується як “ DecimalLiteralв …

3
Як я можу визначити граматику Раку для розбору тексту ТСВ?
У мене є деякі дані ТСВ ID Name Email 1 test test@email.com 321 stan stan@nowhere.net Я хотів би розібрати це у списку хешів @entities[0]<Name> eq "test"; @entities[1]<Email> eq "stan@nowhere.net"; У мене виникають проблеми з використанням метахарактера нового рядка для відмежування рядка заголовка від рядків значення. Моє визначення граматики: use v6; …
13 csv  grammar  raku 

1
Припинення граматики Раку в EOS (кінець рядка)
Під час написання перекладача однієї мови музики на іншу (ABC до Alda) як привід вивчити DSL-здатність Raku, я помітив, що, здається, не існує способу припинити використання .parse! Ось мій скорочений демо-код: #!/home/hsmyers/rakudo741/bin/perl6 use v6d; # use Grammar::Debugger; use Grammar::Tracer; my $test-n01 = q:to/EOS/; a b c d e f g …
9 parsing  grammar  raku 

2
Як налаштувати граматику, яка може вирішити двозначність
Я намагаюся створити граматику для розбору деяких формул, схожих на Excel, які я створив, де спеціальний символ на початку рядка означає інше джерело. Наприклад, $може означати рядок, тому " $This is text" трактується як введення рядка в програму і &може означати функцію, тому &foo()може трактуватися як виклик до внутрішньої функції …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.