Установить tcc несложно, так как он есть в пакетном менеджере.
А как его русифицировать? Это уже проделанная работа или абстрактное предложение?
/usr /usr/bin /usr/bin/tcc /usr/include /usr/include/libtcc.h /usr/lib /usr/lib/debug /usr/lib/debug/usr /usr/lib/debug/usr/bin /usr/lib/debug/usr/bin/tcc.debug /usr/lib64 /usr/lib64/libtcc.a /usr/lib64/tcc /usr/lib64/tcc/include /usr/lib64/tcc/include/float.h /usr/lib64/tcc/include/stdarg.h /usr/lib64/tcc/include/stdbool.h /usr/lib64/tcc/include/stddef.h /usr/lib64/tcc/include/tcclib.h /usr/lib64/tcc/include/varargs.h /usr/lib64/tcc/libtcc1.a /usr/share /usr/share/doc /usr/share/doc/tcc-0.9.27 /usr/share/doc/tcc-0.9.27/Changelog.bz2 /usr/share/doc/tcc-0.9.27/README.bz2 /usr/share/doc/tcc-0.9.27/TODO.bz2 /usr/share/doc/tcc-0.9.27/VERSION /usr/share/doc/tcc-0.9.27/examples /usr/share/doc/tcc-0.9.27/examples/ex1.c /usr/share/doc/tcc-0.9.27/examples/ex2.c.bz2 /usr/share/doc/tcc-0.9.27/examples/ex3.c.bz2 /usr/share/doc/tcc-0.9.27/examples/ex4.c.bz2 /usr/share/doc/tcc-0.9.27/examples/ex5.c /usr/share/doc/tcc-0.9.27/tcc-doc.html /usr/share/info /usr/share/info/tcc-doc.info.bz2 /usr/share/man /usr/share/man/man1 /usr/share/man/man1/tcc.1.bz2
Почему tcc, а не lua? Потому что уровень нужно повышать постепенно, а в lua и в js нужна сборка мусора (реализовать её сложнее, чем обходиться без неё). Поэтому сначала имеет смысл сделать машкод, потом ассемблер, потом С-подобный язык, потом язык со сборкой мусора. И уже после всего этого приступать к творчеству (прикручивать вывод типов, шаблоны и т.п.)
Юрий рекомендует использовать:
Native to ansi C/C++ preprocessor v1.0, на там внутри архива .exe-шник, не годится.
собственная утилита Юрия
так же является .exe-файлом (cpp-rus.exe) в архиве.
Содержимое .csv-файла Юрия, в котором разделителем является вовсе не "comma", а "semicolon" (';'):
_15 | short |
_16 | unsigned short |
_31 | int |
_32 | unsigned int |
_7 | char |
_8 | unsigned char |
__ВРЕМЯ__ | __TIME__ |
__СТАНДСИ__ | __STDC__ |
__СТДСИ__ | __STDC__ |
__СТРОКА__ | __LINE__ |
__ФАЙЛ__ | __FILE__ |
__сиплюсплюс | __cplusplus |
~ | @ |
автом | auto |
автоматич | auto |
без | unsigned |
беззн | unsigned |
беззнак | unsigned |
вар | case |
вариант | case |
вернуть | return |
вирт | virtual |
виртуал | virtual |
виртуальный | virtual |
внеш | extern |
внешний | extern |
возврат | return |
всем | public |
вставка | include |
выбор | switch |
выйти | break |
да | true |
двойн | double |
двойной | double |
длин | long |
длинный | long |
для | for |
доступ | public |
доступно | public |
доступный | public |
друг | friend |
друж | friend |
если | if |
если есть | ifdef |
если нет | ifndef |
если_есть | ifdef |
если_нет | ifndef |
есть | defined |
заново | continue |
защ | protected |
защищ | protected |
знак | signed |
знаков | signed |
знаковый | signed |
и если | elif |
и_если | elif |
измен | mutable |
изменч | mutable |
иначе | else |
иначе если | elif |
иначе_если | elif |
искл | throw |
исключ | throw |
исключение | throw |
исп | using |
использ | using |
использовать | using |
истина | true |
к если | endif |
к_если | endif |
класс | class |
конец если | endif |
конец_если | endif |
конст | const |
контроль | try |
кор | short |
корот | short |
короткий | short |
лог | bool |
логич | bool |
ложь | false |
макрос | define |
назад | return |
нет | false |
нов | new |
новый | new |
область | namespace |
объед | union |
объединение | union |
операция | operator |
опр | define |
определить | define |
отмена | undef |
ошибка | error |
перекл | switch |
переключат | switch |
переключатель | switch |
перехват | catch |
переход | goto |
переч | enum |
перечисл | enum |
плав | float |
подстав | inline |
подставл | inline |
пока | while |
пост | const |
прагма | pragma |
прагмат | pragma |
прервать | break |
проч | default |
прочее | default |
пуст | void |
пустой | void |
размер | sizeof |
рег | register |
регистр | register |
своим | protected |
себе | private |
сим | char |
симв | char |
скрыт | private |
скрытый | private |
случ | case |
случай | case |
совмещ | union |
совмещение | union |
создать | new |
стат | static |
статич | static |
статический | static |
строка | line |
структ | struct |
структура | struct |
тип | typedef |
цел | int |
цикл | do |
шаблон | template |
это | this |
этот | this |
я | q |
явн | explicit |
явный | explicit |
Сюда ещё нужен русификатор по яролит, чтобы он переделывал идентификаторы в английские буквы (и обратно?)
Ещё вопрос - почему именно tcc. Почему например не clang. Ведь нет никакой разницы какой именно C русифицировать таким способом.
хотелось бы конкретики применительно к tcc под linux (а не "возьми да сам напиши").
Отредактировано Лис (2018-10-07 10:58:09)