[devel] (fwd) Re: FC3
Anton Farygin
=?iso-8859-1?q?rider_=CE=C1_altlinux=2Ecom?=
Вт Дек 28 12:10:16 MSK 2004
Stanislav Ievlev wrote:
>On Tue, Dec 28, 2004 at 11:39:56AM +0300, Dimitry V. Ketov wrote:
>
>
>>Stanislav Ievlev wrote:
>>
>>
>>>>>>Ок. Тогда еще один маленький провокационный вопрос. А почему C++ для
>>>>>>_простого_ синтаксического анализа?
>>>>>>
>>>>>>
>>>>>А какие варианты предлагаются на замену ?
>>>>>
>>>>>
>>>>:) боюсь даже произнести grep/awk.
>>>>
>>>>
>>>Не торопитесь с выводами. У grep/awk своя ниша - пусть там и сидят.
>>>
>>>
>>Согласен, но вот Антон утверждает что текущий libhw это _прототип_, с
>>неустоявшимися идеями, интерфесами и кодом. В этом случае _прототип_ удобно
>>реализовывать на чем-то интерпретируемом и легко изменяемом, после чего
>>_переписать_ (в язык более низкого уроня) лишь те компоненты,
>>производительность которых неудовлетворительно мала.
>>По крайней мере это даст базу разработчиков, готовых поддерживать идеи/код,
>>патчи которых можно будет жеско дистилировать после критического анализа и
>>отбора (впрочем из всего этого флейма понятно, что такая база _пока_ (?)
>>никому не нужна).
>>
>>
>С другой стороны человек всегда пишет _прототип_ на том языке который
>прежде всего _ему_, разработчику удобен. Он для него и интерпретируем и легко изменяем.
>Кроме того всё зависит какие задачи _прототип_ решает. А то можно сделать на чём-то одном, удовлетворяя потребности непонятно кого, и потом долго ломать голову как всё это переписать, а в процессе переписывания потерять возможности предоставляемые ранее другим языком. В общем язык это инструмент, инструмент выбирает тот кто с ним работает. Ну а патчи - дело добровольное. Кто захочет помочь - сможет помочь и без патчей, послав корректный багрепорт.
>
>Никто же не переубеждает мастера, что ему надо использовать не этот
>шуруповёрт, а другой, потому что убеждающему кажется, что закрученные
>другим шуруповёртом шурупы легче вытащить.
>
>В общем всё это пустые разговоры, продолжать которые не имеет смысл.
>
>
>
Да, последний гвоздь: попробуйте на чем-то интерпретируемом реализовать
вот такое:
.align 4
.text
.globl cpuid_UP
.type cpuid_UP, на function
cpuid_UP:
pushl %ebp
movl %esp,%ebp
pushl %edi
pushl %ebx
pushl %ecx
pushl %edx
movl 8(%ebp),%eax
cpuid
movl 12(%ebp),%edi
test %edi,%edi
jz L1
movl %eax,(%edi)
L1: movl 16(%ebp),%edi
test %edi,%edi
jz L2
movl %ebx,(%edi)
L2: movl 20(%ebp),%edi
test %edi,%edi
jz L3
movl %ecx,(%edi)
L3: movl 24(%ebp),%edi
test %edi,%edi
jz L4
movl %edx,(%edi)
L4: popl %edx
popl %ecx
popl %ebx
popl %edi
movl %ebp,%esp
popl %ebp
ret
.section .note.GNU-stack,"", @progbits
Rgds,
Rider
Подробная информация о списке рассылки Devel