vak: (Улыбка)
[personal profile] vak
Вчитываюсь постепенно в доки Эльбруса на тему сбацать симулятор, и понимаю, что пытаться отобразить все это терминологическое многообразие на латиницу бесполезно.  Не только шарм, но и смысл потеряется.  Благо в Си-99 есть так называемые universal character names.  Но как-то громоздко получается.  Пока единственное решение, которое я нашел, это использовать iconv в качестве препроцессора.  Типа:
$ cat hello.c 
#include <stdio.h>
#define ТЕКСТ "Приветик!\n"
int main ()
{
    printf (ТЕКСТ);
    return 0;
}
$ iconv --unicode-subst='\u%04x' --to-code=ascii < hello.c > tmp-hello.c
$ gcc -std=c99 tmp-hello.c
$ ./a.out
Приветик!

Но может быть, есть более простое решение?

Date: 2013-01-17 09:53 (UTC)
From: [identity profile] lionet.livejournal.com
В Хаскеле нет проблем с Unicode-идентификаторами.

Date: 2013-01-17 09:59 (UTC)
vitus_wagner: My photo 2005 (white)
From: [personal profile] vitus_wagner
Но это же буквально одна строчка в Makefile.

Date: 2013-01-17 10:10 (UTC)
From: [identity profile] nms.livejournal.com
golang.org?

Date: 2013-01-17 19:03 (UTC)
From: [identity profile] b0p0h0k.livejournal.com
То есть, ты пришёл к той же развилке, на которой запнулся и я в моём квесте с эмулятором ПВВ.
Мой, по-прежнему, план - построить XML базу, в гнёздах которой будут жить хардверные объекты с аттрибутами:
- русское название
- английское название
- русский идентификатор
- английский идентификатор
- русское описание
- английское описание
- метод доступа (адресное пространство, адрес, индексы битов и т.п.)

Тогда ты в исходном тексте смело можешь использовать русский идентификатор с последующей автоматической подстановкой английского и, возможно, добавлением комментария, напр., с URL документации.

Date: 2013-01-17 20:29 (UTC)
From: [identity profile] mandrykin.livejournal.com
Поддерживаю.

Date: 2013-01-18 20:39 (UTC)
From: [identity profile] alec_v.livejournal.com
GCC ? Там вроде есть -finput-charset=UTF-8 а для строк - wchar_t * для которых можно указать потроха -fwide-exec-charset=UTF-32 . Или надо обязательно стандартный C99 ?

Как работает и с какой версии - не пробовал.

Upd: http://msdn.microsoft.com/en-us/library/xwy0e8f2.aspx туда же

Date: 2013-01-19 14:58 (UTC)
From: [identity profile] cottidianus.livejournal.com
Кстати не понятно, а зачем вам в С русские идентификаторы?

Вы хотите мнемоники русские? Это вам в бекенд gcc, кодогенератор, gas.

Эмулятору процессора (пусть на базе qemu) должно быть по-барабану как выглядели мнемоники до трансляции в опкоды.
Edited Date: 2013-01-19 15:02 (UTC)

Date: 2013-02-02 00:43 (UTC)
From: [identity profile] oboguev.livejournal.com
Можно на чем-нибудь старом добром.
Например Прологе.
Или Lotus 1-2-3.

Date: 2013-02-02 00:48 (UTC)
From: [identity profile] oboguev.livejournal.com
Ну напишешь ты его, и что дальше?
Для Эльбруса есть какой-то несгинувший software?

Date: 2013-02-02 02:08 (UTC)
From: [identity profile] oboguev.livejournal.com
Нужно чтобы откопали прежде всего ОС.
Предположим невероятно-чудесное: откопают.
Но ОС нужна периферия.
В тех документах, которые ты разыскал, есть спецификации на периферийные интерфейсы? -- и вообще на разные системные привилегированные интерфейсы?

Date: 2013-02-02 02:09 (UTC)
From: [identity profile] oboguev.livejournal.com
Джаваскрипт -- это попса по сравнению с программированием в спрейдшитах интегрированных с Прологом.

Date: 2013-02-02 02:25 (UTC)
From: [identity profile] oboguev.livejournal.com
ПВВ включает в себя описание устройств? Т.е. команды дисков, лент, терминалов, отдельной консоли если там таковая была и т.п.?
Есть ли в документе описание системной архитектуры: прерываний, привилегированных регистров (скажем, регистров которые могут например разрешать кэш-память, читать диагностику, сбрасывать ошибки по четности) и т.п.?

Date: 2013-02-04 19:41 (UTC)
From: [identity profile] oboguev.livejournal.com
Как-то не хватает не то даже чтобы вдохновения, а такое вот депрессивное чувство: как на кладбище ходишь.
Не хочется усугублять.
Может ты суммируешь отдельной записью, в чём там были архитектурные изюминки?