Синтаксический анализатор с рекурсивным спуском для C

Я также нашел путь от Java ME к Android, чтобы быть довольно простым. Вот несколько вещей, которые я заметил:

  1. существует ОДИН ui, тянут поток в Android. Необходимо знать о различии между вызовом postInvalidate и invalidate на Представлениях, чтобы вынудить их обновить.

  2. фактическое поразрядное графическое управление очень похоже. Я смог портировать большой объем пользовательского J2ME, рисуют код путем записи нескольких контейнеров для drawRect и drawImage.

  3. библиотека UI Android намного более обширна, а тем более бесполезна, и намного более сложна, чем Java ME

  4. Threadwise, необходимо быть намного более осторожны относительно потока saftey с Android. В Java ME можно сойти с рук не создание синхронных методов или переменные, энергозависимые большую часть времени. Не так в Android.

я скажу, в целом, что библиотека UI Android проваливает критический тест. Я называю это "списком мой собственный" тест.

библиотека Your UI проваливает этот тест, если она берет меня дольше для завершения, подробная задача задачи (скажите, изменив фон на одном отдельном пункте меню), чем она взяла бы меня два, пишут мой собственный Меню с нуля. Android проваливает тест "самокрутки" фактором 3 или 4. На самом деле, если Вы смотрите, большинство вопросов на этом веб-сайте, "Как я заставляю инструментарий UI Android выполнить мои указания?" вопросы.

Android является удивительной платформой, и это стоило каждого расстраивающего момента, который я снизил в него. Это - однако, молодая платформа, и нуждается в некоторой серьезной работе во времена для прибытия.

8
задан Imagist 28 November 2009 в 14:06
поделиться

6 ответов

Если вам не нужен C99, тогда lcc будет заманчивым:

  • Это задокументирован в очень ясной, хорошо написанной книге.
  • Методы, используемые для рекурсивного спуска операторов с приоритетом, хорошо задокументированы в статье и техническом отчете Дэйва Хэнсона.
  • Четкий рукописный код ANSI C.
7
ответ дан 5 December 2019 в 21:20
поделиться

Вы можете попробовать TCC . Он под лицензией Lesser GPL.

1
ответ дан 5 December 2019 в 21:20
поделиться

Как насчет Редкий ?

2
ответ дан 5 December 2019 в 21:20
поделиться

Похоже, что nwcc в достаточной мере соответствует вашим требованиям.

0
ответ дан 5 December 2019 в 21:20
поделиться

GCC имеет его в gcc / c-parser.c.

-1
ответ дан 5 December 2019 в 21:20
поделиться

Проверьте elsa, он использует алгоритм Generalized LR.

В основном он используется для C ++, но он также анализирует код C.

Проверьте его страницу в разделе "Сколько C может разобрать Эльза?" в котором говорится, что он может анализировать большинство программ C, включая ядро ​​Linux.

Он выпущен под лицензией BSD.

-1
ответ дан 5 December 2019 в 21:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: