Yazoo er et kommandolinje, tolket skriptspråk som gir en ferdig miljø for C eller C ++ funksjoner. & Nbsp; En bruker bygger sine egne rutiner inn i språket ved å referere til dem i en av Yazoo egne kildefiler, deretter rekompileres Yazoo. Når Yazoo kjøres, vil det bringe opp en ledetekst der brukeren kan definere og manipulere variabler, tabeller, regisserte funksjoner, lese og skrive filer, osv - og kaller sine innebygde funksjoner. Siden bare standard C-biblioteker er brukt, bør Yazoo virke på omtrent alle plattformer.
Yazoo skripting er en minimalistisk affære: klasser, sett, funksjoner, funksjonsargumenter, etc. er alle det samme. Enkelheten av denne ordningen letter læringskurve. Men det også kjøper språket mye av generalitet - Yazoo tillater mange eksotiske programmering konstruerer som er sjeldne i et skriptspråk, men har vist seg særdeles nyttig i forfatterens hender.
Den Yazoo nedlasting består av: C / C ++ kildefilene; en Makefile; essensielle ".zoo" skript; og dokumentasjon
Hva er nytt i denne utgaven:.
- Bugs fast:
- problemer definere proxy medlemmer mens du endrer størrelsen rekken; f.eks proxy_array [1] @ :: {}
- 'retur q' fungerer nå når 'q' er ugyldig
- et problem der store usignerte heltall vil skrive ut som "0"
- gå () kunne sette seg fast i array elementer
- read_string () (og ReadTable ()) kunne ikke lese eksponenter med plusstegn (f.eks 1e + 1)
- problemer med å lese og skrive tallene nær dobbel presisjon under grense
- et problem med ReadTable () når du prøver å endre størrelsen på lister
- et problem med ReadTable () når en todimensjonal tabell har bare et enkelt element
- et problem ved hjelp SaveTable () med null tabeller
- en kopi () krasjer når det første argumentet var primitive og det andre argumentet var sammensatt
- et problem med farten () som krøp inn når # operatør ble innført
- sporadiske krasjer når start.zoo prøvde å flagge en feil
- en advarsel under enkelte kompilatorer (extrnl.c)
- SaveTable () nå sørger for å de-alias bord hvis det heter feil
- en feil i SaveTable () når vedtatt en ikke-kompositt 'tabell'
- en feil flagget på feil sted
- en klønete-flagget feil når kalkulatoren prøvde å skrive ut et selvrefererende objekt
- Forbedringer:
- fjernet 'dette.' prefiks når definere variabler. Dette vil føre til problemer i prosedyrer som definerer variabler med samme navn som globale variabler!
- a =b fungerer nå når b er ugyldig. Dette betyr at 'felle (x)' er ikke lenger den måten å detektere void medlemmer; bruke "hvis x ==nothing" i stedet.
- lagt til en 'under' runtime advarsel koden
- lagt katt () for å user.zoo
- lagt Lagre () som prøver alle katalogbaner (det er analogt til Load ())
- SaveTable () nå prøver alle katalogbaner
- lagt ls () som skriver ut variabler i gjeldende katalog
- lagt compile_and_do_in () for å user.zoo
- lagt round () som fungerer til nærmeste heltall
- sped opp resizing av tabeller ved hjelp ReadTable ()
Hva er nytt i versjon 1.4:
- Bugs fast:
- bedre run () 's case-sensitive håndtering av filnavn når run.CleanUp er satt
- for å true
- feilaktig feilmelding når du går ut eller kommer tilbake fra user.zoo
- bugs i ReadTable () som involverer resizing av tabeller
- problemer i feilmeldinger fra ReadTable ()
- Forbedringer:
- lagt # operatør å erstatte kjøre kode (), RunConstructor ()
- lagt ';' som en alternativ symbol for 'kode'
- kalkulator som standard "på"
- legge til små bokstaver () / store bokstaver () funksjoner til user.zoo
- lagt feilkoder til ReadTable ()
Hva er nytt i versjon 1.3.1:
- En løsning til et langvarig bug som noen ganger krasjet programmet når du bruker farten ().
- Den nye auto-opprydding funksjon i run (), også introdusert i forrige innlegg, har hatt unreproducible problemer, og det er mulig at denne bug-fix tar seg av det også.
- To forbedringer betraktelig forbedre kalkulatoren: 1) sin bruk av sprint () i stedet for print (), og 2) innføring av en 'ans' variable slik som man ofte finner i vitenskapelige-programmering miljøer .
Hva er nytt i versjon 1.3.0.1:
- Fixed en bug.
Hva er nytt i versjon 1.3:
- Bugs fast:
- en potensielt dødelig problem av neglisjere null tegn på slutten av start.zoo eller annen start script
- load () og lagre () ble uforsiktig bruk av ASCII-modus i stedet for binære, som forårsaket problemer på PC
- to mer minnelekkasjer og en henvisning feil (potensiell tredje mem. Lekkasje)
- kalkulatoren fungerte ikke i den forrige versjonen
- flere bugs som involverer [^ ..], [+ ..], + [..], =! eller funksjonskall til venstre for en definere / likestille-på / etc. operatør
- problemer hvor [+ ..] / + [..] operatører ville føye til skjulte medlemmer
- krasj med størrelse-0 proxy arrays
- problemer m / kalkulator utskrift registre (maskert av tidligere calc. Problem, men dette problemet i tidligere versjoner også)
- et problem som forårsaket treg nedskalering av store matriser
- demontere () trykt feil variabelnavn på 64-bits maskiner
- endre størrelsen () gjør nå et tomrom endelig argument
- en vanskelig demontert feil når brukeren skriver & quot; returnere my_array [a, b] & quot; fra ledeteksten
- ledetekst krasj etter retur flere indekser i en matrise
- et problem flagging feil på linjer som begynner med | ** | -stil kommentarer
- demontere () krasjet når gitt null scripts
- Forbedringer:
- konfigurert Yazoo så det kan bygges inn i / påberopes av C-kode; også kjøre rekursivt innenfra Yazoo
- på omproduksjon et skript, løpe () først sletter medlemmene det definerte siste gang: ikke mer trap (fjern ..) trengte
- lagt go () / pwd for endring / visning ledeteksten arbeidsområde variabel
- lagt referanse sammenligning operatører: '== @ "og" / = @'
- lagt til en proxy-definere operatør: '# ::'
- gjort last () raskere og mer minneeffektiv
- strenger print ' D n' som en enkelt end-of-line
- run () kan returnere resultatet av et skript avkastning uttalelse
- lagt sum (), mener () funksjoner til user.zoo
- lagt char (), C_string () funksjoner til user.zoo
- transform () lar nå brukeren å skreddersy sõkeveien forvandlet kode
- kast () kan skreddersy plasseringen av kastet feil og kaste advarsler samt
- run () vil tillate advarsler i skriptet til å vises på kommandolinjen (forutsatt ingen mellomliggende felle () etter advarselen)
- demontere () kan hoppe over uttrykk i kompilert Bytecode
- erstattet RunHobbish () med en mer funksjonell do_in () rutine i user.zoo
- lagt kjøre kode () i user.zoo; RunConstructor () er nå et spesialtilfelle av denne rutinen
- konsekvent leser Bytecode som slongs
- nå ordentlig ved hjelp av NULL-peker snarere enn 0 i C-kode
- forbedret noen feilmeldinger
- Diverse:
- endret Bytecode ord for matrise-innsetting operatører ([+ ..], + [..]) og slette
- eliminert CheckType () fra user.zoo - & quot; felle (a =b) & quot; er vanligvis bedre
- eliminert finnes () fra user.zoo - & quot; finnes (& quot; en & quot;) & quot; var i stor grad overflødig med & quot; felle (a) & quot;
Hva er nytt i versjon 1.2:
- Den 1.2-versjonen av Yazoo har nettopp blitt levert pre-term etter en rekke alvorlige feil på 64-bits maskiner kom frem i lyset forrige uke. Yazoo er et kommandolinje tolket skriptspråk, som brukeren er ment å tilpasse ved å bygge sine egne C eller C ++ rutiner inn i språket. Nyheten av Yazoo skriptet er måten at reglene bak sin konservative utseende syntaks kan ekstrapoleres til å produsere mange sjeldne og nyttige skript konstruksjoner, som forfatteren ikke har støtt på andre språk.
- Den virkelig kritisk endring i den nåværende versjonen var fjerning av disse antakelser om heltall størrelser som forårsaket umiddelbare krasjer. Dette har nødvendiggjort en annen betydelig justering: registeret R_ulong har gått fra usignerte til signert, og så omdøpt R_slong. Døpe kan i prinsippet føre til bakoverkompatibilitet, men heldigvis heltallet register trenger sjelden å kunne påberopes eksplisitt. Til slutt, om noe uinteressant for de fleste brukere, men tidkrevende for forfatteren, har C / C ++ kildefilene gått stilistisk fornyelse:. De har vært (endelig) kommenterte, og formateringen har blitt forbedret
- Fordi denne rød-faced forfatter scrambled litt å poste den gjeldende utgaven, er det mulig at 64-bits bugs lurer ennå i koden. Hvis det er slik, så en annen, endret versjon vil trolig være være imøtekommende i en svært få dager, som forfatteren bruker programmet hans ivrig.
Hva er nytt i versjon 1.1:
- Bugs fast:
- feil flagg feilmeldinger i nesten alle script med inlined konstanter
- append-kode operatør ':' ikke fungerte ordentlig i visse sammenhenger, for eksempel innenfor en kode-bytte operatør
- tvunget-likestille ikke kopiere array elementer i riktig rekkefølge når flere indekser ble gitt eksplisitt (f.eks en [*] =! ... ... = B [1, 2])
- numeriske problemer når du skriver ut tall på kanten av dobbel presisjon oppløsning
- feil-flaggede feilmeldinger følgende endif, endf eller endw
- gale medlemsnavn i medlems-ikke-funnet feil fra filer som er drevet av user.zoo
- det første tallet som returneres av tilfeldig () var ikke helt tilfeldig
- copy () sjekket ikke for selvreferanser
- en feil i SaveTable () når den andre dimensjonen av et bord ble dimensjonert til null
- sort () kastet en unødvendig feil for lengde-0 lister
- feiltolking av null kommentar '| *** |' med et ulikt antall '*' s
- Forbedringer:
- søkeveier av nye {} definisjoner nå alltid gå gjennom manuset som definerte det, ikke nødvendigvis den omsluttende script ***
- lagt resize () for å user.zoo
- lagt min (), max () funksjoner til user.zoo
- sort () nå sorterer lister samt tabeller
- ny () godtar ulike kilde variabler for type og data li>
- copy () returnerer en feilkode
- bedre argument å sjekke for SaveTable ()
Kommentarer ikke funnet