[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