![]() |
Pe HaiSaRadem.ro vei gasi bancuri, glume, imagini, video, fun, bancuri online, bancuri tari, imagini haioase, videoclipuri haioase, distractie online. Nu ne crede pe cuvant, intra pe HaiSaRadem.ro ca sa te convingi. |
Garaj script - ImplementareCodul foloseste clase si programare orientata pe obiecte. Fiecare clasa este separata intr-un fisier separat, reprezentand o componenta distincta in script. Prima clasa este cea pentru variabila. Datele sunt stocate dinamic intr-un vector de char-uri indiferent de tipul de data. Functiile membre sunt implementate inline din considerente de viteza. Clasa implementeaza conceptul de serializare stiind sa se scrie singura in fisier. Urmatoarea clasa folosita este CodeLine. Aceasta este structura minima care poate fi rulata. Este alcatuita dintr-un cod unic pentru fiecare cuvant cheie si doi parametrii. Mai multe CodeLine formeaza un CodeBuffer. Aceasta structura este rezultatul compilarii codului si poate fi rulat de catre VirtualMachine. Versiunea compilata este salvata folosind functiile de serializare oferite de aceasta clasa. Codul compilat este retinut intr-un vector pentru ca rularea necesita acces indexat pentru ca jmp-urile sa fie rapide. Un rol foarte importand in script il are Parser-ul care este responsabil de prelucrarea initiala a codului in blocuri CodeLine. Aici este realizata si o verificare de erori. Mentine intern o lista de label-uri pentru translatia numelor de label in numere. VirtualMachine-ul este inima script-ului, codul responsabil pentru rularea scriptului in forma compilata. Mentine intern o lista de variabile, o lista de functii externe disponibile, o stiva pentru functiile push si pop si o stiva pentru apelarea functiilor definite in script. Permite adaugarea usoara de functii si incarcarea unui DLL cu functii. Limbajul de script este inca in faza de dezvoltare si mai are inca probleme si functii lipsa. Exista o lista de probleme cunoscute care vor fi rezolvate cu prima ocazie. (c) GarajCode |