Необходимо проверить Darius Bacon" ichbins", который является компилятором для маленького диалекта Lisp, предназначаясь C, на чуть более чем 6 страницах кода. Преимущество, которое это имеет по большинству игрушечных компиляторов, состоит в том, что язык достаточно завершен, что компилятор записан в нем. (tarball также включает интерпретатор для начальной загрузки вещи.)
существует больше материала о том, что я нашел полезным в обучении записать компилятор на моем веб-страница Схемы Ура .
Используйте два угла: echo $ some_line >> / path / to / file
> создает файл, если он не существует; если он существует, перезаписывает его.
>> создает файл, если он не существует; если он существует, добавляется к нему.
if [ ! -e /path/to/file ]; then
echo $some_line > /path/to/file
else
echo $some_line >> /path/to/file
fi