forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PureBasic (http://forum.boolean.name/forumdisplay.php?f=90)
-   -   Матрёшка из прототипов (http://forum.boolean.name/showthread.php?t=16960)

Кирпи4 25.06.2012 01:28

Матрёшка из прототипов
 
Привет люд чесной! Решил я попробовать этот ваш пуряк, понравилось, но вот проблемка образовалась:

Код:

Structure Var
        Name.s
        DataType.b                                ;DataType = DATATYPE_
        CustomType.TypeDef        ;If DataType = DATATYPE_CUSTOM then this is the typedef this custom variable is
        TypeDef.TypeDef                ;Type definition this variable belongs to
        Scope.b
        Owner.Func                ;Scope = SCOPE_
        Value.s                                ;Value of a SCOPE_CONSTANT variable
        CustomTypeTemp.s                ;Temporary fields
        DefinitionPos.i                        ;Location of variable definition
       
        CodeNum.i
EndStructure

Structure TypeDef
        Name.s
        VarField.Var[MAX_VARFIELDS]
        VarFields.i

        CodeNum.i
EndStructure

Он ругается то на необъявленный TypeDef, то на Var. Всю голову сломал, блиц это спокойно кушал....

kvitaliy 25.06.2012 19:57

Re: Матрёшка из прототипов
 
Как вариант проблему можно решить через указатели.
Код:

Structure TypeDef
    Name.s
    *VarField.Var[#MAX_VARFIELDS]
    VarFields.i

    CodeNum.i
EndStructure

Structure Var
    Name.s
    DataType.b                ;DataType = DATATYPE_
    CustomType.TypeDef    ;If DataType = DATATYPE_CUSTOM then this is the typedef this custom variable is
    TypeDef.TypeDef        ;Type definition this variable belongs to
    Scope.b
    Owner.Func        ;Scope = SCOPE_
    Value.s                ;Value of a SCOPE_CONSTANT variable
    CustomTypeTemp.s        ;Temporary fields
    DefinitionPos.i            ;Location of variable definition
   
    CodeNum.i
EndStructure


Пётр 29.06.2012 00:26

Ответ: Матрёшка из прототипов
 
Здесь точно получится матрешка - бесконечная рекурсия!
Ведь в структуру Var нужно включить структуру TypeDef, в которую нужно включить Var, в которой должна содержатся структура TypeDef и так далее, это будет продолжатся бесконечно!

Кирпи4 30.06.2012 19:28

Ответ: Матрёшка из прототипов
 
Хотел просто для повышения знаний портануть с юлица на пурик замечательный скриптовик, GameScript

Пётр 05.07.2012 11:55

Ответ: Матрёшка из прототипов
 
Как эти структуры выглядят на блице.

Markova 05.07.2012 15:12

Ответ: Матрёшка из прототипов
 
Цитата:

Сообщение от Пётр (Сообщение 232232)
Как эти структуры выглядят на блице.

Думаю так;
PHP код:

Type Var
    
Field Name$
    
Field DataType                ;DataType DATATYPE_
    Field CustomType
.TypeDef    ;If DataType DATATYPE_CUSTOM then this is the typedef this custom variable is
    Field TypeDef
.TypeDef        ;Type definition this variable belongs to
    Field Scope 
        Field Owner
.Func        ;Scope SCOPE_
    Field Value
$                ;Value of a SCOPE_CONSTANT variable
    Field CustomTypeTemp
$        ;Temporary fields
    Field DefinitionPos            
;Location of variable definition
    
    Field CodeNum
End Type

Type TypeDef
    Field Name
$
    
Field VarField.Var[MAX_VARFIELDS]
    
Field VarFields

    Field CodeNum
End Type 

а что, на PureBasic нет достойного скриптовика?

Пётр 06.07.2012 01:13

Ответ: Матрёшка из прототипов
 
Тут на Var или TypeDef должна быть только ссылка (иначе будет бесконечная рекурсия), но хз, в структуре это явно не обозначено, в отличие от варианта kvitaliy в котором явно задана ссылка на статический массив структур "Var".

Кирпи4 07.07.2012 01:20

Ответ: Матрёшка из прототипов
 
Цитата:

Сообщение от Markova (Сообщение 232241)
а что, на PureBasic нет достойного скриптовика?

Неа, ТАКОЙ мощности для скриптера я не видел нигде. А при поиске скриптовиков под пурик моя задница была просто разорвана, но ничего так и не нашлось...

pax 08.07.2012 20:13

Ответ: Матрёшка из прототипов
 
Цитата:

Сообщение от Кирпи4 (Сообщение 231985)
Хотел просто для повышения знаний портануть с юлица на пурик замечательный скриптовик, GameScript

А можно ссыль на скриптовик?

Кирпи4 14.07.2012 19:41

Ответ: Матрёшка из прототипов
 
Вложений: 1
Вот он родимый


Часовой пояс GMT +4, время: 22:35.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot