Показать сообщение отдельно

  #3  
Старый 31.10.2009, 14:42
tRanz
Banned
Регистрация: 30.10.2009
Сообщений: 16
С нами: 8700512

Репутация: 3
По умолчанию

помогите
Задача довольно проста в описании: "требуется создать нетипизированный интерпретатор". Вся загвоздка заключается вот в чём:
язык ориентирован под математику -> основным "типом" будет являться комплексная матрица (это максимум который требуется при реализации). Как сформировать описание переменной, т.е. её структуру, через какие типы это сделать?.

Я бы предложил, что-то типа:
type
TVariable = record
Name:string; - название переменной
Used:Boolean; - используется ли она в коде - проще говоря если она в коде встречается только 1 раз то её можно было бы и выкинуть. Циклы и тд не рассматриваю (мб я ошибаюсь)
Real:Variant; - реальная часть переменной - может быть числом, строкой, массивом
Imag:Variant; - мнимая часть/ Причём размеры реальной и мнимой части всегда равны.
function ColCount:integer; - если Real массив, то возвращает длину иначе 0. (можно обойтись, но так проще для реализации )
function RowCount:integer; - если Real двойной массив то возвращает длину иначе 0.
end;

Реализация убога тем, что при использовании Variant снижается скорость вычислений из-за проверки типов.

Может кто-нибудь сможет подсказать более удобную и простую форму?
 
Ответить с цитированием