Применение искинов - шоссе империализма (Стенгазета русификаторов ИТ)

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Ivan хвалится достижениями, но не показывает исходники

Сообщений 151 страница 174 из 174

151

ИванАс написал(а):

Предлагайте варианты замены.

Заменить ".Байт" со всеми "0ш" на одну ".ш", хотя лучше было бы "ш."

Отредактировано MihalNik (2024-10-04 15:23:45)

0

152

MihalNik написал(а):

Заменить ".Байт" со всеми "0ш" на одну ".ш", хотя лучше было бы "ш."

Возможно, т.е.

Код:
.Байт 0шАБ, 0ш12, 0ш34, 0ш56, 0ш78, 0ш90

заменить на

Код:
.шАБ1234567890

или как?

0

153

ИванАс написал(а):

или как?

Пробелы лучше оставить перед и между ш-ми парами.

0

154

MihalNik написал(а):

Пробелы лучше оставить перед и между ш-ми парами.

Если так

Код:
.ш АБ 12 34 56 78 90 
АБпеременная1

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

С запятыми будет проще:

Код:
.ш АБ,12,34,56,78,90 
АБпеременная1

Отредактировано ИванАс (2024-10-04 15:48:19)

0

155

Продолжаю.
Дискуссия переходит в обычный "срач" поэтому мне это не интересно.

Вы бы и без этого продолжили, что с этой дискуссией, что без неё. Любой в любом случае продолжает делать то же, что делал и раньше, и чужое мнение никого не интересует, в т.ч. и Вас. Как говорится, "не говорите мне, что мне делать, и я Вам не скажу, куда Вам идти". До встречи в военкомате!

Отредактировано БудДен (2024-10-04 15:50:18)

0

156

БудДен написал(а):

Вы бы и без этого продолжили, что с этой дискуссией, что без неё.

Я не могу понять вас, вы вроде говорили ранее, что это хорошо что я пишу на русском языке, но вам не нравиться, потому что у вас свои вкусы.
Сейчас вы говорите это развлечение и что не нужно этим заниматься. Определитесь.

0

157

ИванАс написал(а):

При таком варианте лексеру нужно прочитать больше символов чтобы определить является ли лексема идентификатором или числом.

Для именованных можно сделать отдельную, например, точку, а заканчивать ш-ные концом строк и[ли] ввести скобки .ш()

Отредактировано MihalNik (2024-10-04 16:05:03)

0

158

MihalNik написал(а):

Для именованных можно сделать отдельную, а заканчивать ш-ные концом строк и[ли] ввести скобки .ш()

Да, хороший вариант:

Код:
.ш(АБ 12 34 56 78 90) 
АБпеременная1

PS. Сложнее все равно. Лексеру нужно сохранять состояние между токенами(находится ли в скобках или нет), а также АБ будет восприниматься как идентификатор, либо его исключать надо из возможных идентификаторов.
Пока попридержу реализацию этого варианта.

Отредактировано ИванАс (2024-10-04 17:48:50)

0

159

ИванАс написал(а):

Лексеру нужно сохранять состояние между токенами(находится ли в скобках или нет), а также АБ будет восприниматься как идентификатор, либо его исключать надо из возможных идентификаторов.

Зачем усложнять лексер? Можно вызывать подпрограмму, которая сожрет 16-е цифры по закр. скобку включительно, пропуская пробелы и концы строк.

Отредактировано MihalNik (2024-10-04 18:04:57)

0

160

MihalNik написал(а):

Зачем усложнять лексер? Можно вызывать подпрограмму, которая сожрет 16-е цифры по закр. скобку включительно, пропуская пробелы и концы строк.

Ааа, вы предлагаете один токен создать, и в токен записать строкой "АБ1234567890". Так возможно.

0

161

Я думаю топик надо закрыть (чтобы начать несколько новых). Он очень длинный уже. И я никогда не переложу его в несколько тем, а читать такую портянку целиком утомительно.

Другие темы:
- ИванАс пишет язык, похожий на Си или Паскаль
...
- Запись констант

0

162

ИванАс написал(а):

Сделал без objcopy, с файлом ld. 164 байта.

$ cat start.ld
OUTPUT_FORMAT("elf64-x86-64")

ENTRY(_start)

# https://sourceware.org/binutils/docs/ld/PHDRS.html

PHDRS
{
text PT_LOAD FLAGS(7) ; # FLAGS(PF_R|PF_W|PF_X) - так не работает
}

_start = 0x10000 + SIZEOF_HEADERS;

SECTIONS {
. =  _start ;
.text : {
*(.text);
*(.rodata);
} : text

/DISCARD/ : { * }
}

$ cat start.s
        lea       msg_start(%rip), %rsi
        mov     $msg_len, %rdx
        mov     $1, %rdi
        mov     %rdi, %rax
        syscall
        mov     $60, %rax
        xor     %rdi, %rdi
        syscall
msg_start:
        .ascii  "Hello\n"
msg_len = . - msg_start

$ as start.s -o start.o
$ ld -T start.ld --no-dynamic-linker -o start start.o && sstrip -z start && du -b start
164 start
$ ./start
Hello

Ранее по теме:
Об эмуляторе Интел64 в Сказочной Колеснице

Отредактировано Лис (2024-10-25 00:06:01)

0

163

Сделал без objcopy, с файлом ld. 164 байта.

Кажется, что прошла вечность с тех времен.

0

164

ИванАс написал(а):

Кажется, что прошла вечность с тех времен.

А что изменилось в стране?
Стало ли больше программистов, программирующих на кириллическом ассемблере?
Лису (и не только ему, а широкому кругу желающих) предлагалось написать утилиту распечатки дампа на ассемблере.
Лис не может (с Лисом-то всё ясно, но широкий круг желающих - тоже!)! Потому что нет описания команд.

Отредактировано Лис (2024-10-25 22:56:04)

0

165

Лис написал(а):

Лису (и не только ему, а широкому кругу желающих) предлагалось написать утилиту распечатки дампа на ассемблере.

Утилита есть, она написана на С.
Раскрученный ассемблер, имеет директиву .ш(), и метки. Обработка ключевых слов не предусмотрена.
Код полученный в результате написания ассемблера пойдет на разработку виртуальной машины. Ключевые слова можно будет обсудить позднее.
Смотрю картинки, изучаю.
https://www.praj.in/posts/2020/graalvms … m-backend/

0

166

Утилиту дампа можно будет написать на байт коде, т.е. сейчас эта задача не нужна.
Утилита на С, если нужна сейчас (https://disk.yandex.ru/d/LKUxjXOJyT-Ajw)

0

167

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

0

168

Я не помню, был ли там исходник ранее, сейчас с исходником на С. Та же ссылка.

0

169

ИванАс написал(а):

сейчас с исходником на С

Большое спасибо за исходник. То что он без лицензии и скачан не с гитхаба
делает каждого скачавшего преступником. Гитхаб устанавливает договорные отношения,
по которым автор передаёт гитхабу право показывать,
а пользователям гитхаба передаёт право читать (это минимальные выдаваемые права).

Я предлагаю где-нибудь в отдельной теме обсудить инфраструктуру для приватной разработки,
если хочется всё полезное сделать тайным.

Отредактировано Лис (2024-10-25 23:36:49)

0

170

Лис написал(а):

То что он без лицензии

Cкачивайте, преступник!
https://disk.yandex.ru/d/LKUxjXOJyT-Ajw

0

171

ИванАс написал(а):

Cкачивайте, преступник!

GPLv3, Лис довольный!

Большое спасибо!

Отредактировано Лис (2024-10-25 23:54:49)

0

172

[html]<img src="data:image/gif;base64,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" alt="" />[/html]

0

173

А скрин тут зачем?

0

174

ИванАс написал(а):

Cкачивайте, преступник!

Код там такой:

Код:
#include <stdio.h>
#include <stdbool.h>

#define BUFFER_SIZE 16

void set_hex_digit(unsigned char c);

void print_info() {
	printf("Command: ./rex [input file]\n");
}

unsigned char symbol[128] = {0};

int symbol_i = 0;
bool symbol_all_zero = true;
int zero_line = 0;

void set_hex_char(unsigned char c) {
	set_hex_digit(c >> 4);
	set_hex_digit(c);
	symbol[symbol_i] = ' ';
	symbol[++symbol_i] = 0;
}

void symbol_reset() {
	symbol_i = 0;
	symbol_all_zero = true;
	symbol[0] = 0;
}

void set_hex_digit(unsigned char c) {
	if (c != '\0') {
    symbol_all_zero = false;	
	}
	c &= 0xf;
	if (c > 9) {
    symbol[symbol_i] = 0xd0;
    //symbol[symbol_i+1] = c - 10 + 0xb0;
    symbol[symbol_i+1] = c - 10 + 0x90;
    symbol_i += 2;
	} else {
    symbol[symbol_i] = '0' + c;
    symbol_i += 1;
	}
	symbol[symbol_i] = 0;
}

void print_str(char* s) {
	for( ;*s != '\0'; ++s, ++symbol_i) {
    symbol[symbol_i] = *s;
	}
	symbol[symbol_i] = 0;
}

void print_hex8(unsigned int value) {
	symbol_i = 0;
	for(unsigned int div = 0x10000000; div; div >>= 4) {
    unsigned char c = value / div;
    set_hex_digit(c);
	}
}

int main(int argc, char** argv) {
	if (argc != 2) {
    print_info();
    return -1;
	}

	char *filename = argv[1];
  	FILE* f = fopen(filename, "rb");  //open the file
	if (f == NULL) {
    	fprintf(stderr, "Error of reading the file '%s'!\n", filename);
    return -2;
	}

	unsigned char b[BUFFER_SIZE];
	int count = 0;
	unsigned int offset = 0;
	for (; true ; offset += count) {
    count = fread(b, sizeof b[0], BUFFER_SIZE, f);
    if (count <= 0) break;

    print_hex8(offset);
    print_str(": ");
    symbol_all_zero = true;

    for (int n = 0; n != count; ++n) {
    	if (n == 8 || n == 4 || n == 12) {
        print_str(" ");
    	}
    	set_hex_char(b[n]);
    }

    if (symbol_all_zero) {
    	++zero_line;
    	if (zero_line == 1) {
        printf("%s", symbol);
    	} else if (zero_line == 2) {
        printf("*\n");
        symbol_reset();
        continue;
    	} else {
        symbol_reset();
        continue;
    	}
    } else {
    	printf("%s", symbol);
    	zero_line = 0;
    }
    symbol_reset();

    if (count < BUFFER_SIZE) {
    	int diff = 13 * (BUFFER_SIZE - count) / 4;
    	printf("%*s", diff, ""); // print spaces by 'diff' times
    }
    printf(" |");
    for (int n = 0; n != count; ++n) {
    	if (b[n] < ' ' || b[n] >= 0x7f) {
        putchar('.');
    	} else {
        printf("%c", b[n]);
    	}
    }
    printf("|\n");

	}

	print_hex8(offset);
	print_str(":\n");
	printf("%s", symbol);

	fclose(f);
	return 0;
}

Что мы здесь видим? Видим ли мы тут анализ установленной локали? Обработку кодировки GB 18030?
Эта программа не сможет работать на китайском линуксе.

Что надо сделать?
1) не использовать внутри программы кодировку ASCII - это поклонение проклятым англо-американцам
2) при выводе учитывать, что стоит снаружи - UTF-8 или GB 18030
3) сделать уникальный стандарт под русские языки (УТКА, КРЯ-8)
4) переделать хранимые в программе строки в кодировку (УТКА, КРЯ-8)
5) написать подпрограммы преобразования из УТКА, КРЯ-8 в Юникод и UTF-8
6) написать подпрограммы преобразования из УТКА, КРЯ-8 в GB 18030-2022

Это уважит цивилизованных русских, и сделает возможной локализацию для восточных и западных варваров.

Отредактировано Лис (2025-01-16 18:33:20)

0