Welcome, Guest. Please login or register.


Author Topic: HiSoft Pascal (Read 35911 times)

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #90 on: 2013.November.20. 21:59:08 »
pfff... az bug lehet, hogy a PRED és a SUCC nem működik az általunk létrehozott felsorolás típusokon? (19-es hibakódot generál):

VAR NYELVEK:(ANGOL,NEMET,SPANYOL,OLASZ);
majd
WRITELN(SUCC(NEMET))

de a WRITELN(SUCC(FALSE)) működik... :smt017

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 31.0.1650.57 Chrome 31.0.1650.57
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #91 on: 2013.November.20. 22:27:12 »
öööö.... passz

write(succ(ord(nemet)))
így már működik :-)
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #92 on: 2013.November.20. 22:43:29 »
Nekem ez a típusdeklaráció magas a HiSoft-ban...!?
Vicces egy olyan Pacal, amiben nem lehet pl. résztartomány típust létrehozni. A {$R+} opció dísznek van.

PROGRAM PROBA;
TYPE BYTE=0..255;
VAR A:BYTE;
BEGIN
  A:=300;
  WRITE(A)
END.

A program simán kiírja a 300-at... :smt017
A
VAR A:0..255;
deklarációval ugyanez a helyzet.
« Last Edit: 2013.November.20. 22:55:38 by Lacika »

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 31.0.1650.57 Chrome 31.0.1650.57
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #93 on: 2013.November.21. 00:10:13 »
csak az L, O, S, I, A, P fordítási opciók vannak az EP változatban (a C-t kihagyták - Spectrumban és CPC-ben benne van)
R nem volt a spectrum változatban sem :-)
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #94 on: 2013.November.21. 09:37:26 »
csináltam egy verziót, amiben gyárilag definiálva van a PI konstans :-)
eljárásokat se bonyolult "beégetni" :-) (bár ahhoz fordítható forráskód kéne)

egyébként az eredeti verzióban az utolsó 293 byte az csak szemét volt, itt a tisztázott változat, PI-vel
« Last Edit: 2013.November.21. 09:55:02 by Povi »
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #95 on: 2013.November.21. 11:48:04 »
Quote from: Lacika
Az nem túl szimpatikus, hogy a write másképp működik, mint TP-ben.:ds_icon_frown:
Minden egész szám után automatikusan ír egy space-t, gondolom, az a baj, ugye?
a 33b7-re írj egy 3-ast, akkor nem fog :-)
Pascal-ban, ha van EPDOS-od, akkor írd be még fordítás előtt:
:W 33B7H 3
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #96 on: 2013.November.21. 13:05:12 »
Quote from: Povi
Minden egész szám után automatikusan ír egy space-t, gondolom, az a baj, ugye?
a 33b7-re írj egy 3-ast, akkor nem fog :-)
Ha ennyi mindent javítasz rajta, van egy javaslatom: hagyjuk békén az eredeti 1.1-es verziót, és legyen 1.2-es. Ez a számok utáni automatikus space nagyon zavaró, és TP-ben nem így van. (Más Pascal változatot meg nem ismerek...)
És ha már 1.2-es verzió, említed, hogy lehetne berakni eljárásokat. Egy SETVAR (vagy akárhogy hívjuk) praktikus lenne benne, esetleg GETTIME, SETTIME, GETDATE, SETDATE, rendszerhívás? :oops:

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #97 on: 2013.November.21. 13:18:13 »
sííímán :-)
még arra gondoltam (de az már nagyon advanced lenne), hogy egy fordítási opcióval lehetne beállítani, hogy írjon-e space-t a számok után, vagy ne (csak hogy a HiSoft-tal is kompatibilis maradjon)... Persze nem ígérek semmit :-)
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #98 on: 2013.November.21. 13:22:22 »
Quote from: Povi
sííímán :-)
És ha már így adod az ember alá a lovat...
FILE kezelést (is) pótló OPEN és CLOSE eljárások, valamint a megadott csatornára írás?
Esetleg GET, és JOY függvények.

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 31.0.1650.57 Chrome 31.0.1650.57
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #99 on: 2013.November.21. 18:20:08 »
gyakorlatilag bármit meg lehet csinálni, amit PROCEDURE-val és FUNCTION-al meg lehet, "csak" gyorsabb lesz, ha gyárilag "be van égetve" :-)
hogy miért is? mert PROCEDURE és FUNCTION hívás esetén egy csomó mindent állít (pl. a verem beállítása, a paraméterek átadása az IX regiszteren keresztül történik, az nem túl gyors stb.). Ha pedig alapból tudja, akkor a fordító gondoskodik arról hogy a paraméterek már be legyenek töltve az eljáráshoz szükséges regiszterekbe :-)
« Last Edit: 2013.November.21. 18:24:22 by Povi »
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Linux (Ubuntu) Linux (Ubuntu)
  • Browser:
  • Chrome 28.0.1500.71 Chrome 28.0.1500.71
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #100 on: 2013.November.22. 18:13:52 »
újdonságok a letölthető (nem végleges) verzióban:
PI konstans

SWAP(x : integer) : integer
  fölcseréli az alsó és felső bájtot

GOTOXY(x,y : integer)
  pozicionálja a kurzort a szöveges képernyőn

CLRSCR
  képernyőtörlés

tervek:

a PAGE parancs módosítása úgy, hogy a nyomtatóra chr(12)-t küldjön, a képernyőre chr(26)-ot
a 14f7h címen lévő byte mutatja, hogy mi az alapértelmezett output (0=képernyő, 1=printer)

a help szöveg kiíró rutint ki akarom cserélni gyorsabbra, mert jelenleg karakterenként írja, ráadásul menet közben vizsgálja, hogy nagybetűt kell-e írnia, és ha igen, akkor azt átszínezi pirosra - szóval nem túl gyors, de legalább idegesítően lassú :-)
... és még sok más

jelenleg az baj, hogy tényleg kéne már a szerkeszthető fordítható forráskód, mert a runtime részbe nem nagyon találok üres helyet, ahova bármit is lehetne pakolni (a pascal fordító és a lefordított 5-ös fejlécű állomány eleje ugyanaz), így most pl. a gotoxy parancsot is kb. makrószerűen fordítja, ahelyett, hogy csak egy call-t írna, ami a runtime részben lévő címre mutatna.
*** Speicherplatz zu klein

Offline Z80System

  • EP addict
  • *
  • Posts: 3916
  • Country: hu
  • OS:
  • Windows 7/Server 2008 R2 Windows 7/Server 2008 R2
  • Browser:
  • Chrome 31.0.1650.57 Chrome 31.0.1650.57
    • View Profile
Re: HiSoft Pascal
« Reply #101 on: 2013.November.22. 18:16:58 »
Quote
hogy tényleg kéne már a szerkeszthető fordítható forráskód, 

Na de nem azt csinálod éppen ?
Z80 System

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 31.0.1650.57 Chrome 31.0.1650.57
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #102 on: 2013.November.22. 18:23:39 »
de igen, de van egy-két zűrzavaros dolog még benne :-)
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 2928
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 25.0 Firefox 25.0
    • View Profile
    • http://www.ep128.hu
Re: HiSoft Pascal
« Reply #103 on: 2013.November.22. 20:26:52 »
Quote from: Povi
tervek:
SETVAR, TOGGLE, ASK parancs nincs a tervek között?
Ha van külön CLRSCR, a PAGE szót vissza lehetne írni.
« Last Edit: 2013.November.22. 20:42:00 by Lacika »

Offline Povi

  • EP addict
  • *
  • Posts: 1869
  • Country: hu
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Chrome 31.0.1650.57 Chrome 31.0.1650.57
    • View Profile
    • http://povi.fw.hu
Re: HiSoft Pascal
« Reply #104 on: 2013.November.22. 21:09:13 »
a PAGE-t megcsinálom úgy, ahogy terveztem, nem bonyolult, legalább kompatibilis marad a specci verzióval is :-) a setvar stb. parancsok is belekerülnek :-)
*** Speicherplatz zu klein