Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Когда в AS3 нужно ставить ";"? (http://www.flasher.ru/forum/showthread.php?t=159123)

wvxvw 28.06.2011 00:03

Это вы расскажите дюжине подписавшихся под ECMAScript документами. Они это токеном назвали.
Ну просто зло берет, когда изза какого-то идиотизма приходится делать кучу работы, которая ну ничего же не улучшит. И, сорри, я вообще злой такой, потому что сегодня еще и спецификацию XMPP читал, и его очевидно прийдтся воплощать в жизнь. Такое впечатление, что интернет был придуман религиозной сектой марсиан аутистов-мазoхистов...

fish_r: Проблема не в том, что не видит, а в том, что +"b" - вполне себе валидное выражение, и с точки зрения парсера, имеет место быть два выражения идущие подряд, а не одно с переносом строки посередине. А вот если перенести плюс на первую строчку, тогда выражение "a"+ будет невалидным, и парсер продолжит читать на следующей строчке.

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

BlooDHounD 28.06.2011 05:06

по поводу ES самый умный Олег на свете как всегда не прав в очевидных случаях. в ES у токенизера есть такой необычный метод isSemicolon, или типа того. в общем стукнись, я тебе дзен открою.

Добавлено через 5 минут
а ваще почитай кнута. у тебя пробелы в теории компиляторов.

wvxvw 28.06.2011 09:47

Блуд, не спорь пожалуйста. Это к компилятору имеет только косвенное отношение, т.как компиляторы тоже используют парсеры. В данном случае я делаю LL(1), вернее, пытаюсь сделать LL(1) парсер, а вот изза такого замечательного планирования это оказалось невозможно. И как бы методов там в принципе быть не может / это не от той стенки гвозди... я вообще говорил про правила вида A -> B | C.

PS. http://www.youtube.com/watch?v=6QI9gF95UxA ;)

BlooDHounD 28.06.2011 16:46

ANTLR пробовал?

wvxvw 28.06.2011 18:02

Давно когда-то, и умаялся настраивать (но пробовал для других целей, для генерации а не парсинга) + Metaas. Bison проще в обращении (никаких заморочек с Явой не нужно) и как бы по-серьезнее будет :).

BlooDHounD 28.06.2011 19:52

я в качестве примера. они генерят парсеры.

dimarik 28.06.2011 22:10

Встречал фразы "генераторы компиляторов", "генераторы трансляторов". А вот с преступником Фунтиком я не знаком.

Парсер по мнению Википедии занимается синтаксическим анализом. Компилятор довольно сложная штука, включающая лексический анализ, синтаксический анализ и семантический анализ )

wvxvw 28.06.2011 23:13

http://www.gnu.org/software/bison/ - Знакомтесь, Bison, GNU parser generator :) Что он делает - берет набор правил описаных на его собственном языке (очень напоминающем значки которые используют для описания контекстно-независимых грамматик), и на основании этих правил генерирует парсрер (на Си). Для чего можно было бы использовать: примитивный, но очень быстрый поиск ошибок в исходниках, подсветка кода. Если совершить подвиг и прицепить к нему еще каких-нибудь утилит, то можно было бы, например AS3 байткод оптимизировать с помощью gcc... но это уже для меня очень сильное колдунство :)

dimarik 29.06.2011 00:02

Ладно, почитаю еще. Очень интересная тема.


Часовой пояс GMT +4, время: 08:50.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.