Vlákno názorů k článku Programovací jazyk Forth a zásobníkové procesory (8) od Emil Jeřábek - "Standardní programovací jazyk Pascal" žádné řetězce s délkou...

  • Článek je starý, nové názory již nelze přidávat.
  • 1. 3. 2005 15:54

    Emil Jeřábek (neregistrovaný)
    "Standardní programovací jazyk Pascal" žádné řetězce s délkou omezenou 255 nemá. Původní standard (ISO 7185:1983) zná pouze řetězce s konstantní délkou "packed array [1..N] of char". Nový standard (ISO 10206:1991) má předdefinovaný typ "string (N)", který se syntakticky chová jako typové schéma. V obou případech je potenciální délka řetězce omezená pouze rozsahem typu integer. Je snad zbytečné dodávat, že "způsob úschovy řetězce v operační paměti" standard nijak neřeší, to je věc implementace.
  • 1. 3. 2005 20:46

    tisnik (neregistrovaný)
    Mate pravdu, misto standardniho Pascalu (tj. Pascalu dle standardu) jsem myslel Turbo prekladace od Borlandu. Ja vim, ze se zrovna tyto prekladace od standardu odlisuji (pojeti souboru atd.), ale v tomto pripade mi nedoslo, ze standardni Pascal opravdu datovy typ retezce neznal (pouze konstantni retezec).

    Mimochodem, kdyz uz jsme u toho Pascalu: Nikdy mi nebylo jasne, co to vlastne je write a writeln. Procedury to asi nejsou ze? Spis se mi to vzdycky vymykalo ze vsech Pascalovskych gramatik. (ptam se jenom z toho duvodu, ze se mi nechce cist tu ISO normu, urcite to tam nekde bude zminene).
  • 2. 3. 2005 14:11

    Emil Jeřábek (neregistrovaný)
    Write a writeln jsou procedury. Sice ponekud netypicke (maji specialni syntax pro seznam argumentu), plati pro ne podobna omezeni jako pro jine preddefinovane procedury a funkce (nelze je predat jako argument jine funkci, a nelze je reexportovat z modulu), ale presto procedury. To mj. znamena, ze jejich jmena nejsou klicova slova, ale identifikatory, lze je tudiz zastinit jinou deklaraci (napr. "var write: integer;").
  • 3. 3. 2005 12:47

    tisnik (neregistrovaný)
    Aha, takze to je takova Pascalovska perverze :-) Normalni uzivatel nema moznost vytvaret procedury s promennym poctem parametru, ale tvurce Pascalu tuto moznost evidentne mel (nic proti, touto vlastnosti trpi spousta jazyku, akorat se Pascal z me neznameho duvodu uci na skolach). Jak vlastne vypada hlavicka takoveto procedury?