Какая разница в c ++ между new int и new (int)?

Это отличная книга, которая поможет начать работу http://www.amazon.com/Language-Implementation-Patterns-Domain-Specific-Programming/dp/193435645X/

Этапом построения языка являются

  1. Лексинг. Лексинг означает возможность читать определенные категории токенов. Токеном может быть серия цифр 12376 или текстовые строки типа «Hello». Лексинг смотрит на первого символа (и он также может смотреть вперед на второй символ), чтобы определить, что это такое. В случае числа он видит цифру, а затем переходит к чтению ряда цифр (путем вызова подпрограммы), или в случае строки, в которой он видит цитату, затем переходит к чтению строки. Результат lexer - это токен, который является типом (числом или строкой в ​​этом примере) и текстом токена. Обычно это хранится в struct как строка типа Kind и Text с константами, объявленными для представления видов.
  2. Следующий строительный блок - это синтаксический анализатор. Парсер видит серию токенов, поэтому он может видеть, что Идентификатор, а затем смотрит вперед, увидит a =. Затем он перейдет в задание. Парсер строит дерево. В случае назначения он построит «узел» типа «назначить», тогда он сохранит идентификатор в первом дочернем элементе и выражение во втором дочернем элементе. Все узлы дерева являются «операциями», что означает, что они что-то делают. Вы не будете просто строкой или целым числом в качестве Узла, у вас будут «Добавить» или «Добавить» и т. Д. Как узлы (если это не выражение, но выражения содержатся в операциях).
  3. Последняя часть это исполнение. Это делается путем ходьбы по дереву и выполнения узлов.

Существует множество других механизмов, таких как Memory, Scope и перспективное оборудование. Это объясняется в ссылке выше.

22
задан groovehunter 22 March 2011 в 08:19
поделиться