SIMULA erfarenhetsutbyte

Andra KOM-möten frän denna tid  separator  Om ÅÄÖ i dessa filer



(228) 79-08-05 16:10 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Textsökning Martin Nilsson (studerande vid KTH) har på uppdrag av FOA skrivit mycket snabba rutiner för sökning genom en text efter en viss deltext. De nya rutinerna är 2-3 ggr snabbare än t.ex. existerande SEARCH-procedur i LIBSIM vid sökning efter exakt en viss deltext. Vill man att små bokstäver skall kännas igen mot stora vid sökningen, så är de nya rutinerna 5-10 ggr snabbare än tidigare möjligheter i Simula och även 5-10 ggr snabbare än de textsökningsrutiner som finns inbyggda i TECO och SOS. Ovanstående gäller vid sökning genom mer än ett par rader, vid mycket små sökningar är vinsten inte så stor. Vinsten är också störst om det ord man söker efter innehåller 5-10 tecken, sökning på en enda bokstav är inte så optimerad. Huvudprincipen för sökalgoritmen är att om man söker efter ett fembokstavigt ord så kollar man bara var femte bokstav i texten och ser efter om den ingår i ordet via snabb tabellslagning. Gör bokstaven inte det, skippar man fyra bokstäver före nästa kontroll. Den nya algoritmen tillåter också vissa specialmönster vid sökningen. T.ex. känner ?R igen radens början eller slut, ?T känner igen en eller flera blanka, ?A känner igen godtycklig bokstav o.s.v. Se vidare inlägg 222 i "SIMULA erfarenhet". Martins rutiner är skrivna för anrop från SIMULA men kan lätt modifieras för anrop från andra programmeringsspråk.
(228)
(280) 79-08-05 19:45 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (Ärende saknas) Original: (1721) 79-07-07 18:49 JACOB PALME Kommentar till :1608: Vid QZ dyker detta problem upp om man använder monitorkommandot DEBUG för att starta länkningen och om ens program anropar någon av de program som beror av svenska bokstäver. En enkel lösning är att skriva LOAD<RETURN>REENTER istället, det ger samma effekt som DEBUG men inte detta KOM --- Sid 3 --- (Erfarenhetsutbyte för) SIMULA användare fel vidl laddningen.
(1721)
(280) (kommentar i 793)
(282) 79-08-05 19:45 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (Ärende saknas) Original: (1751) 79-07-13 18:18 JACOB PALME Garbage collector Ni lär ha problem med garbage collector i Linköping för program som blir så stora att minnet blir virtuellt. Vad göra? Man kan tänka sig en algoritm som bara garbar när minnet når viss maximigräns angiven av användaren. Man kan också tänka sig garbning på "befallning". T.ex. en procedur integer procedure free_memory, som garbar och returnerar hur mycket mer minne man kan allokera innan minnet är fullt. samt en procedur garbage_limit(limit,extension) där limit är den gräns vid vilken man skall garba. Om man lyckas frigöra mindre än "extension" minne vid en garb, så ökas "limit" med "extension" till nästa garb. Kanske vore bra ge folk vid LIDAC algoritm som gör att man kan experimeterna själv lite med olika parametrar, så att ni kan pröva lite själv om vilken algoritm som är bäst.
(1751)
(282) (kommentar i 406)
(406) 79-08-06 18:41 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :282: av Överföring från LIDAC Ärende: Garbage Collection Jag har försökt skriva en rutin som ser till att ett visst minimum av minne finns tillgängligt efter anrop. Rutinen, som bygger på automtisk avallokering av block vari ingen ef-allokering (TEXT eller NEW xxx) /byt /ef-/ref-/ ägt rum, ser ut så här: OPTIONS(/E/-I/-D); EXTERNAL INTEGER PROCEDURE loadword,loadbyte; ! ALLOC(x) will ensure that at least x words will be available. ! It will return number of words left until next GC.; INTEGER PROCEDURE alloc(request); INTEGER request; IF request > 0 THEN BEGIN INTEGER spaceleft,static_address; static_address:= loadbyte(8R002200 000135, 0); spaceleft:= loadword(static_address+8R154) ! YSALIM; - loadword(static_address+8R141) ! YSADEALL; - 15; IF spaceleft >= request THEN alloc:= spaceleft ELSE BEGIN array spaceÄ1:requestÅ; alloc:= loadword(static_address+8R154) - loadword(static_address+8R141) - 15; END; END alloc; Finns på Ä105,201Å t v.
(406)
(683) 79-08-08 17:48 KOM-administratören Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Är detta tillåtet? Jag har fått klagomål på att DEC 10 Simula tillåter följande konstruktion. Konstruktionen påstås vara felaktig och göra det svårare flytta simula-program från DEC 10 till andra Simula-system: CLASS a; BEGIN REAL PROCEDURE p(x); REAL x; INSPECT THIS A DO P:= 3.0; END;
(683) (kommentar i 733, 755)
(695) 79-08-08 19:05 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (Ärende saknas) Original: (1608) 79-06-11 03:50 ANDERS STRÖM Problem Jag får problem när jag försöker länka ett simula program. Hittills har jag diagnostiserat följande: I modulen ISOLTR från LIBSIM används en global referens till .OCSPC, vliken inte är definierad. Denna .OCSPC refereras från .OCSP som alltså ligger i ISOLTR. Jag har en tillfällig lösning, att först länka in modulen OCSP från SIMLIB och där få en annan definition av .OCSP, och senare strunta i att .OCSP blir dubbeldefinierad. Jag är dock inte speciellt nöjd med denna lösning, är det någon som förstår vad jag gör för fel, eller är det någon annans fel.
(1608) * * (kommentar i :1609:)
(695)
(697) 79-08-08 19:06 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (Ärende saknas) Original: (1609) 79-06-11 08:53 LARS LINDWALL Kommentar till :1608: Det är nog LIDACs fel tyvärr. Vi har inte exakt samma revisionsstatus på SIMULA-kompilatorn som på SIMLIB. Det finns ett SIMLIB på OLD:, som kanske funkar bättre. Vi kommer inom några dagar att ta en alldeles ny SIMULA i drift. Jag hoppas att alla problem löser sig i och med detta, speciellt de garbage collection problem som många haft.
(1609) (kommentar i :1721:)
(697)
(733) 79-08-08 19:57 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :683: av KOM-administratören Ärende: Är detta tillåtet? Det var jag som skrev ovanstående inlägg, av misstag under fel namn.
(733)
(755) 79-08-09 10:16 stefan r arnborg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :683: av KOM-administratören Ärende: Är detta tillåtet? Det här är ett av de olyckliga fall där Common Base inte är särskilt välformulerad. Jag skulle kunna åta mig att argumentera både för att det är tillåtet (det står utan tvekan att procedurnamnet får förekomma till vänster i tillordning inuti procedurkroppen) och otillåtet (eftersom det inte är riktigt samma p som står där). Det förvånar mig att det fungerar, möjligen beror det på ett fel som kan orsaka mer allvarliga bekymmer för ännu mer komplicerade program.
(755) (kommentar i 836)
(793) 79-08-09 14:50 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :280: av Överföring från LIDAC Ärende: (Ärende saknas) Kan inte ny sida rensas bort på något sätt?
(793) (kommentar i 838)
(836) 79-08-09 18:37 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :755: av Wigert Sonered Ärende: Är detta tillåtet? Karel Babcisky (ansvarig för Simula på IBM) vill att vi skall ge åtminstone varning, för att ge bättre kompatibilitet, då IBM inte tillåter konstruktionen ifråga.
(836)
(838) 79-08-09 18:38 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :793: av Lars Enderin FOA1 Ärende: (Ärende saknas) Det var ett misstag i mitt överföringsprogram. Jag skrev "ändra sidstorlek 0" men i Linköping skall det heta "sidstorlek 0", de har en äldre Simula-version. Felet är numera rättat.
(838)
(958) 79-08-10 16:28 Jacob Palme Mottagare: Bo Einarsson. Mottaget: 79-08-10 16:29 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA på minidatorer Denna vecka har jag deltagit i en internationell SIMULA-kurs. Det har därvid framkommit att mycket arbete just nu pågår på att ta fram SIMULA-system för mini- och mikrodatorer. Bl.a. finns skäl vänta sig att det kommer att finnas SIMULA i framtiden på Data General Nova, Vax-11, Prime och på Intels framtida större mikrodatorer. Intresset för SIMULA världen över ökar starkt just nu. I USA är det bl.a. Caltech (ett stort universitet) och Intel (största mikro- datortillverkaren) som har mycket stor användning av SIMULA. Intel gör t.ex. huvuddelen av sin datorstödda design av kretsar i SIMULA.
(958)
(1186) 79-08-13 11:50 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Ctrl-C intercept Jag håller på med en interpretator för ett nybörjarspråk i SIMULA. Själva exekveringen interpreteras med ung. följande class: CLASS sats; VIRTUAL: PROCEDURE do_specific; BEGIN . . . INNER: Detach; WHILE TRUE DO BEGIN do_specific; IF FALSE THEN BEGIN fel: avbrottssats:-THIS sats; Detach; END ELSE Resume(efterföljare); END; END of CLASS sats; Jag skulle nu vilja att, om man trycker ^C under exekvering skall skall programmet hoppa till "fel"- labeln, men om man gör något annat (och trycker ^C) åker man direkt ut. Är detta, eller något liknande möjligt?
(1186) (kommentar i 1226)
(1226) 79-08-13 12:49 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1186: av Christer Wikmark SU/ADB Ärende: Ctrl-C intercept Det är möjligt att anropa en kodsnutt som gör att ctl-C fångas upp. Dessvärre är det svårt att därefter förändra något i SIMULA- programmet. Önskvärt vore att man kunde anropa en MACRO-10-kodad rutin med en parameter (Boolean dekl. i yttersta blocket?) som ändras till TRUE om ctl-c-intercept skett. KOden blir då BEGIN BOOLEAN ctl_c; ... CLASS .. ... IF ctl_c THEN fel: .... Man saknar verkligen en standardiserad hantering av "flaggor" här! Men kanske finns det ngt ledigt ord i STATIC-arean (dvs i början på minnet, vissa fält som aldrig flyttas)? Som alt. kan man därvid tänka sig att 1) ctl-c sätter visst innehåll i ett dylikt ctl-c-fält. 2) en spec procedur (med hjälp av loadadr etc) som avläser innehållet i fältet i fråga (och sätter tillbaks innehållet). Ctl-c-rutinen gör m a o inget annat än ändrar fältet och låter sedan exekveringen fortsätta. Kan kanske fungera?
(1226) (kommentar i 1291, 1472)
(1291) 79-08-13 13:49 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1226: av Mats Ohlin Ärende: Ctrl-C intercept Även detta kunde väl täckas av förslaget till Controlled Error Handling i Simula-handboken del 3, appendix B.
(1291) (kommentar i 1355)
(1355) 79-08-13 15:28 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1291: av Jacob Palme FOA1 Ärende: Ctrl-C intercept Jovars, men risken finns att det aldrig blir implementerat. Ctl-c är ju lite speciellt - och på många sätt enklare eftersom det här inte blir några större problem med "recovery". Väl?
(1355) (kommentar i 1417)
(1417) 79-08-13 16:40 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1355: av Mats Ohlin Ärende: Ctrl-C intercept Det är lite trist att implementera massor med olika specialrutiner (findinfile hör också dit) istället för ett mer generellt system av typ Controlled Error Handling.
(1417) (kommentar i 1421)
(1421) 79-08-13 16:44 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1417: av Jacob Palme FOA1 Ärende: Ctrl-C intercept Instämmer! Men vad göra ....?
(1421) (kommentar i 1488)
(1472) 79-08-13 18:34 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1226: av Mats Ohlin Ärende: Ctrl-C intercept Det är ju möjligt att ha flaggan i själva rutinen också (non-reentrant visserligen). Man kunde ju ha en procedur med lämplig parameter för återställning eller test. Ev kunde man behöva stacka undan tidigare ^C-hanteringsrutinadress.
(1472) (kommentar i 1965)
(1488) 79-08-13 21:50 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1421: av Mats Ohlin Ärende: Ctrl-C intercept Agera mer bestämt mot SDG och SSG. Vi kanske skulle göra ett vanligt namnupprop för vissa angelägna ändringar?
(1488) (kommentar i 1555)
(1553) 79-08-14 10:56 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Controlled Error Handling Det mest kontroversiella ifråga om "controlled error handling" är vad som skall hända när ett kontrollerat fel inträffar. Stefans förslag anger två förslag: a) Att exekveringen fortsätter med något slags defaultresultat, och att man kan testa om fel inträffar genom att anropa en testrutin som avläser flaggor. b) Att hopp sker vid fel till en viss label i yttersta blocket i huvudprogrammet. Kontroversiellt är också vilken standardlista på fel som skall finnas. Stefans förslag anger följande lista: 1) Floating point underflow 2) Overflow or division by zero 3) I/O transmission error 4) End of file error 5) Edit overflow 6) Incorrect text for de-editing 7) Array index out of range 8) Incorrect parameter to mathematical function 9) Time limit exceeded 10) All the errors listed above 11-99999) Remaining errors that can be intercepted Borde Control-C föras in i listan? Om ja, så bör det formuleras mer generellt, de flesta datorer använder BREAK-tangenten där DEC 10 använder Control-C. Man skulle kunna börja med alternativet att kunna testa på fel efteråt, som är mindre kontroversiellt.
(1553)
(1555) 79-08-14 11:00 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1488: av Tommy Ericson QZ Ärende: Ctrl-C intercept SDG-SSG-s största problem tror jag är att ingen vill göra jobb åt dem. För att godkänna en standard kräver de att standartexten är synnerligen väl genomarbetad, kort, koncis, klar, entydig. Den bör vidare vara genomdiskuterad så att alla existerande Simula-system kan implementera den. Den bör inte vara knuten till speciella egenheter hos en viss dator. Detta innebär att förslag bör sändas runt och synpunkter samlas in i några varv med SDG-s medlemmar. Om någon är villig göra detta jobb, är chanserna betydligt större att få igenom saker i SDG. Man bör givetvis också resa till SDG-s möten eller vidtala någon som reser dit att tala för sin sak. Nästa SDG-möte blir i September i år, och Lars Enderin och Mats Ohlin skall vara med.
(1555) (kommentar i 1559)
(1569) 79-08-14 11:53 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: USETI Ibland önskar jag mig en möjlighet att läsa i godtycklig ordning i en sekventiell fil. Detta kan (ev) åstadkommas på två sätt. A. En rutin BOOLEAN PROCEDURE useti(inf,blockno); som returnerar TRUE om angivet block existerade. Nästa inimage ger då ÄrestenÅ av första raden i blocket. B. En option till directfile som förutom READONLY även innebär att brytkaraktärer respekteras på samma sätt som för infile. Vad sägs? Flera som saknar denna facilitet? Är det svårt att åstadkomma tro?
(1569) (kommentar i 1619)
(1619) 79-08-14 13:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1569: av Mats Ohlin Ärende: USETI Hur vet man vilket block man vill åt? Måste man inte ha en funktion som talar om var man är också, för senare användning i USETI? Förresten skulle man vilja ange exakt vilken byte man skall starta läsningen i. Detta kan översättas till blocknummer och byte-pointer i bufferthuvudet. För att USETI skall fungera bra bör man ha endast en buffert (/B:1) eller sätta synkron mod på kanalen. Det vore inte så svårt att implementera en rutin med angivna förutsättningar. Samma rutin med olika parametrar kunde användas för att avläsa position resp positionera sig.
(1619) (kommentar i 1641)
(1641) 79-08-14 13:52 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1619: av Lars Enderin FOA1 Ärende: USETI Låter spännande. Tanken var att man med hjälp av USETI kunde skriva en rutin som bläddrade i en MAN-fil (och kanske börjar med att läsa index) och som kan lista önskad del av manualen. Den nya textsökningsrutinen vore också bra i sammanhanget. Finns den redan? INTEGER PROCEDURE useti(inf,byte); REF (Infile) inf; INTEGER byte; ! Hämtar vid nästa inimage in angivet block. Blocknummer = ! byte//128, byte-i-blocket = Mod(byte,128). Returnerar 0 ! om OK, annars -1. Om byte = 0 returneras aktuellt byte- ! värde;
(1641) (kommentar i 1663)
(1663) 79-08-14 14:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1641: av Mats Ohlin Ärende: USETI Textsökningsrutinen FSRCH och startrutinen STSRCH finns på Ä105,3323Å. Inkluderad i VIDED redan och finns även på Ä105,1745Å. Har ej ännu kopierats till något LIBSIM, men skall komma.
(1663)
(1965) 79-08-15 17:47 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1472: av Lars Enderin FOA1 Ärende: Ctrl-C intercept En variabel (t.ex. BOOLEAN) som deklarerats i yttersta blocket ligger väl alltid kvar på samma adress hela tiden? Isåfall kan man ju skriva en: PROCEDURE ctrap(ctrl_c_given); BOOLEAN ctrl_c_given; som initierar ^C-interceptet så att ett ^C innebär att variabeln plötsligt får värdet TRUE. Värdet på denna variabel kan sedan testas på lämpliga ställen i programmet.
(1965) (kommentar i 1987)
(1987) 79-08-15 19:27 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :1965: av Örjan Ekeberg (NADA) Ärende: Ctrl-C intercept En variabel i yttersta blocket ligger inte fast. Vid t.ex. allokering av många i/o buffertar flyttas den. Men den effekt du åsyftar når man enkelt med en EXTERNAL BOOLEAN PROCEDURE ctrl_c_given. Dock väldigt farligt, tycker jag. Tänk om en bug i programmet gör att teststället aldrig passeras!
(1987)
(2661) 79-08-20 17:54 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (Ärende saknas) Original: (1977) 79-08-20 10:09 LARS-HENRIK ERIKSSON Kommentar till :1838: Har han månne använt algoritmen i CACM oktober 1977?
(1977) * (kommentar i :1984:)
(2661)
(2663) 79-08-20 17:55 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (Ärende saknas) Original: (1984) 79-08-20 17:35 JACOB PALME Kommentar till :1977: Ja, den algoritmen har använts!
(1984)
(2663)
(4071) 79-08-23 18:36 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Några jämförelsesiffror rörande SIMULA-ALGOL. Utförligare siffror finns i filen ALGOL.RESÄ13,120Å. Manufacturer DEC Univac IBM DEC DEC Model system-10 1100 360/370 system-10 system-10 Language Simula Simula Simula Algol Fortran Compiler core req. in bits 1.1 M 1.3 M 1.0 M 0.7 M 1.2 M COMPILATION TIME: About 20000 lines/minute on a KL10 CPU. (Including the production of a compiler listing.) Manufacturer DEC Univac IBM DEC DEC Model KL10 1108 370/168 KL10 KL10 Language Simula Simula Simula Algol Fortran Compilation lines/minute 20 000 5 000 12 000 34 000 9 000 RUN TIME SYSTEM EFFICIENCY: (Tested with the so-called Wichmann mix, pure Algol, no I/O, with array bounds check, 5000 iterations.) Manufacturer DEC Univac IBM DEC Model KL10 1108 370/168 KL10 Language Simula Simula Simula Algol Statements/ second 37 100 46 300 102 000 22 000
(4071) (kommentar i 4088)
(4088) 79-08-23 18:52 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4071: av Jacob Palme FOA1 Ärende: Några jämförelsesiffror rörande SIMULA-ALGOL. Utförligare Vad blir siffrorna utan array bounds check?!?
(4088) (kommentar i 4374)
(4143) 79-08-24 00:31 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Jämföra CHARACTER:s Jag har problemet att på ett enkelt sätt göra CHARACTER c1,c2 IF c1=c2 THEN osv där jämförelsen skall ge TRUE även för 'a'='A' För ögonblicket har jag en speciell procedure uprank som räknar ut rank för motsvarande tecken i shift-läget. Litet klumpigt. Finns det något enklare sätt? (en variant är naturligtvis att kopiera de textsträngar som skall jämföras och göra storbokstav på dem innan man börjar jämföra character för character. - men det ger alltså en kopieringsoperation som väl kanske är litet klumpig den med (t1kopia:=t1; t2kopia:=t2; storbokstav(t1kopia); storbokstav(t2kopia); l1: IF t1kopia.More THEN c1:=t1kopia.Getchar ELSE GO TO exit; l2: IF t2kopia.More THEN c2:=t1kopia.Getchar ELSE GO TO exit; IF c1=c2 THEN .... Inte vidare elegant det heller.)
(4143) (kommentar i 4177, 4181)
(4177) 79-08-24 09:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4143: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Proceduren UPCOMPARE(master, test) kan användas om man vet att den andra parametern (test) har bara stora bokstäver. Se DOC:SIMLH3.MAN. Någon procedur som gör båda till stora bokstäver före jämförelse finns inte men kan väl lätt göras med utg.pkt från UPCOMPARE. Dessutom är inte svenska bokstäver behandlade i UPCOMPARE. Någon procedur för CHARACTER-jämförelse utan hänsyn till skift finns inte heller i LIBSIM men är väl lätt att göra, om det är det du vill ha.
(4177) (kommentar i 4248)
(4181) 79-08-24 09:26 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4143: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Svårt att generellet säga vad som är effektivast. Om värdet av c1 (c2) inte behövs borde texterna kunna jämföras direkt (spec om t1kopia och t2kopia är lika långa!). Ej behövs då heller Setpos(1) före loopen (==> IF t1kopia=t2kopia ....). Om man är intresserad av hur lång match man har så är det kanske enklast med kod a la LIBSIM:MENU. F ö är det väl så att det som regel är så att endast den ENA av t1/t2 kan innehålla små bokstäver (om t2 är en tidigare inmatad text bör den redan har gjorts om kanske?). Då kan man väl skriva:: WHILE t1.more AND t2.More DO BEGIN c1:= t1.Getchar; c2:= t2.Getchar; IF c1=c2 THEN !exact;.... ELSE IF Rank(c1) - Rank(c2) = shift THEN !Low-up equiv; ...; END; Om även c2 kan innehålla små bokstäver kunde testen ändras till Abs(Rank(c1)-Rank(c2)) = shift ?
(4181) (kommentar i 4239)
(4199) 79-08-24 09:59 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Delbara SIMULA-program Följande brevsvar illustrerar hur man kan göra:
(4195) 79-08-24 09:57 Lars Enderin Mottagare: Christer Wikmark Svar till :4111: Ärende: HIGH-SEGMENTERING Problemet var att LIBSIM:(ISOLTR) skulle vara i low segment. Förresten - tills LIBSIM blir uppdaterat - använd ISOLTR.* och QZCPU.* från Ä13,134Å - fungerar också på 2020-orna med svenska bokstäver och QZ-konvertering. Här kommer en lista på en modifierad HASTA.MIC: 00100 .R LINK 00200 */SYMSEG:NONE/RUNAME:'A 00300 'A.MAP/MAP 00400 *AT 00500 *SYS:SIMLIB/INCLUDE:(OCSP,ALOG.,CFRXIT) 00550 *SYS:LIBSIM/INCLUDE:(ISOLTR) 00600 */SEGMENT:HIGH REL:SIMHGH 00700 */SEGMENT:HIGH TD,TR,EXM,SYNT,AP 00800 */SEGMENT:HIGH SYS:LIBSIM/SEARCH 00900 */SEGMENT:HIGH SYS:SIMLIB/SEARCH,REL:HELPER/SEARCH 00950 *REL:MAKSHR 01000 */GO 01050 .START 01100 .SSAVE Kommentarer: Om du tar över mina REL- och ATR-filer för QZCPU. och ISOLTR, skall du byta ut rader enligt: 00550 *ISOLTR 00750 */SEGMENT:HIGH QZCPU Rad 00950 och 1050 gör programmet HELT delbart - EXE-filen innehåller inget lowseg. Vid start skapas ett lowseg från en kopia i hiseg. Om lowseg är litet, blir minnesoverhead litet, med fördelen av ett helt delbart program. VIDED är laddad enligt denna mall.
(4195)
(4199) (kommentar i 4276)
(4205) 79-08-24 10:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA på KS10 (2020) Enligt DOC:KS10.DOC bör SIMULA fungera utan problem på 2020. Det kan ev dyka upp problem vid underflow, eftersom UFA resp DFN används på ett par ställen i trap-rutinen, dock inte vad jag vet för SIMULA-kod, möjligen för att hjälpa någon rutin ur FORLIB att få ett vettigt resultat. Jag föredrar ar (att) ignorera detta ev problem tills det dyker upp. Det verkar också som buffrad I/O vore ineffektiv, vilket skulle innebära att Directfile blir relativt sett effektivare och att man lika gärna kan ha en enda buffert för sekvensiella filer, kanske helst större än 128 ord - t ex 512 eller 1024 ord. Kräver relativt omfattande omprogrammering av RTS. För Directfile vore det bra att kunna använda Image direkt för dump-mod i/o, men då måste Image.Length vara en lämplig multipel av 128*5 - 2, om man inte tolkar om Location så att man kan avrunda till en sådan multipel.
(4205)
(4239) 79-08-24 11:43 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4181: av Mats Ohlin Ärende: Jämföra CHARACTER:s Problemet med LIBSIM:MENU:s avtolkning är att den inte tillåter förkortning av kommandon typ GÅ SIM ERF (GÅ SIMULA ERFARENHETS...) Principen Rank(c1)-Rank(c2)=shift är elegant, men spricker på åäö ÅÄÖ som inte har samma shiftavstånd på DEC10 (om jag läste rätt i manualen).
(4239) (kommentar i 4378)
(4248) 79-08-24 11:55 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4177: av Lars Enderin FOA1 Ärende: Jämföra CHARACTER:s Det jag vill ha är alltså en procedur för CHARACTER jämförelse utan hänsyn till skift och som fungerar även för ÅÄÖåäö. Kanske borde en sådan ingå i LIBSIM. Tyvärr blir det en systemberoende procedur.
(4248) (kommentar i 4290)
(4276) 79-08-24 13:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4199: av Lars Enderin FOA1 Ärende: Delbara SIMULA-program Det visade sig att DLOG., använd via ILOG, måste laddas in i lowseg från SIMLIB. Det finns några stycken sådana rutiner tagna från FORLIB som icke är reentranta (delbara) eftersom de lagrar data i programarean. Jag har ingen lista f n - någon borde göra en.
(4276) (kommentar i 4310)
(4290) 79-08-24 13:43 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4248: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Pröva JFRTKN.*Ä13,134Å. .MAC-filen innehåller spec. Tillsvidare bör även ISOLTR och QZCPU laddas med från Ä13,134Å. Se TJFRTK.SIM som testar.
(4290) (kommentar i 4292, 4308)
(4308) 79-08-24 14:54 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4290: av Lars Enderin FOA1 Ärende: Jämföra CHARACTER:s Du har gjort en INTEGER PROCEDURE som ger resultaten -1 0 eller 1. Jag förstår inte riktigt hur likheten mellan tecknen avspeglar sig i heltalsresultatet! Jag tyckte inte det framgick riktigt av kommentaren i början av jfr.macÄ13,134Å Varför inte bara en BOOLEAN PROCEDURE förresten?
(4308) (kommentar i 4595)
(4374) 79-08-24 17:08 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4088: av Mats Ohlin Ärende: Några jämförelsesiffror rörande SIMULA-ALGOL. Utförligare Utan Array Bound check har jag bara siffror för DEC 10. Där är det 30 800 statements/sec för Algol och 39 600 statements/sec för Simula. OBS dock att siffrorna för IBM och Univac är med array bound check. IBM-s array bound check är dock inte lika fullständig som den DEC-10 SImula gör.
(4374)
(4378) 79-08-24 17:15 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4239: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Jag brukar göra så att när jag skall avtolka kommandosträngar från användare gör jag alltid "STORBOKSTAV" på dem som första åtgärd. Nackdel med detta är om man vill kunna skilja stor och liten bokstav i användarens kommando. Exempel: Användaren skriver till VIDED switchen "/COUNT:Sida" och VIDED skriver felaktigt "SIDA 3" o.s.v. överst på varje sida istället för "Sida 3" som användaren ville ha.
(4378) (kommentar i 4384)
(4384) 79-08-24 17:25 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4378: av Jacob Palme FOA1 Ärende: Jämföra CHARACTER:s Jag har i dapu löst det så att text proceduren fråga lämnar ifrån sig en strippad referens till Sysin. Denna text har jag gjort storbokstav på. Därmed underlättas all vidare avtolkning av användarens svar. Man kan t.ex. skriva IF t="ALLA" THEN ... IF t.Sub(1,1)="S" THEN osv. Utan tanke på att testa på småbokstavsvarianter. Men som Jacob påpekade finns det ju situationer då man vill spara just det som användaren skriv in med små och stora bokstäver blandade. För detta ändamål har jag en global text som heter 'inskrivenrad' som innehåller en exakt kopia av det användaren skrev in. Ur denna text hämtas fotnoter, kommentarer och liknande som skall sparas i budgetar och prislistor. Vad gällde kommandotolkningen så vill jag inte ha alternativen enbart representerade som stora bokstäver. Då får jag utskrifter av typen Tvetydigt kommando: Hj Kan vara något av alternativen: HJÄLP / HJUL / HJORT i stället för den något trevligare utskriften Kan vara något av alternativen: Hjälp / Hjul / Hjort Om kommandoalternativen är långa, så är det avsevärt mer lättläst att få dem utskrivna med små och stora bokstäver blandade.
(4384) (kommentar i 4394)
(4394) 79-08-24 17:31 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4384: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Små och stora bokstäver i menyalternativ - bra synpunkt! Varning för "bortslängda" textdeskriptorer. Tester av typen IF t.sub(1,1) = "T" kan undvikas (kostsamma). Skriv hellre ngt av: Ät.Setpos(1);Å IF t.Getchar = 'T' ... IF fetchar(t,1) = 'T' .... Ät12:- Image.sub(1,2);Å i loop sedan: IF t12 = "AB" THEN ...
(4394) (kommentar i 4418)
(4418) 79-08-24 20:05 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4394: av Mats Ohlin Ärende: Jämföra CHARACTER:s Är det verkligen så kostsamt med "bortslängda" textdeskriptorer av den typ som bildas av t.Sub(5,1)="T" THEN ... Om fetchar(t,5) skall var effektivare så förutsätter det att fetchar har implementerats effektivt i Assemblykod, och alltså inte i Simulakod. (Vad säger Gunnar Eklund? Finns fetchar i Univacs Simulabibliotek, och där effektivt implementerat?) Tekniken att låta en text peka ut en bit av Image och sedan i en lop med Inimage testa på texten är attraktiv. Tyvärr är den inte så ofta tillämpbar. (Alltså: t:-fil.Image.Sub(5,4); Inspect fil do while not endfile do begin IF t="ALLA" THEN GO TO exit; Inimage END; )
(4418) (kommentar i 4637)
(4448) 79-08-25 09:45 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Binär in- och utmatning Procedure BINI (binär inmatning av ett heltalsord) och BOUTI (binär utmatning av ett heltalsord) går inte att använda för directfiler. Visserligen kan man använda den generella och långsamma "OUTPUT" och "INPUT", men borde det kanske finnas snabbare enordsprocedure för binär i/o även för direktaccessfiler?
(4448) (kommentar i 4597)
(4477) 79-08-25 19:57 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Dialogsystem och kommandotolk Klassen dialogsystem i DAPU innehåller nu en kraftfullare kommandotolk i stort sett fungerande på samma sätt som i KOM. (Jag har fått kod av Torgny Tholerus.) Funktionerna i dialogsystem finns i stort sett beskrivna i FOA 2 rapport C 20289 som kan beställas från FOA 2 rapportcentral.
(4477) (kommentar i 4537)
(4537) 79-08-26 13:55 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4477: av Lars-Åke Larsson Ärende: Dialogsystem och kommandotolk Vad spännande. Vilka är ändringarna sen sist? Finns det möjlighet att få menyerna utskrivna i det format som KOM använder (för folk som är vana vid KOM kan det vara en fördel att få menyerna i detta format.)
(4537) (kommentar i 4744)
(4552) 79-08-26 16:56 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Frontcompare Jag jämförde just a) upto(string,config.length) = config b) frontcompare(string,config) med hjälp av pretim. Det visade sig att frontcompare var 3 ggr så snabb! Underligt när det är samma sak som görs nästan! config var 15 tecken lång i mitt försök!
(4552) (kommentar i 4601)
(4595) 79-08-27 12:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4308: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Resultatet från JFRTKN kan användas för alfabetisk sortering, utan hänsyn till ÅÄÖ-s placering dock, men med små bokstäver likvärdiga med stora. Sålunda är JFRTKN('a', 'A') = 0, JFRTKN('a', 'B') = -1 (trots att Rank('a') > Rank('B')). Jag tycker det är tråkigt att kasta bort information genom att bara testa på likhet. Boolean har ju en väldigt begränsad värde -mängd jfrt med INTEGER. Ev kunde man returnera skillnaden mellan teckenvärdena (i övre skift) direkt som värdet av JFRTKN.
(4595)
(4597) 79-08-27 12:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4448: av Jacob Palme FOA1 Ärende: Binär in- och utmatning Jag började för en tid sedan att göra om BINI och BOUTI så att de fungerade på Directfile också, men fann att det var så mycket administration bakom kulisserna att jag inte tyckte det lönade sig att dubblera koden i INPUT/OUTPUT. Det är möjligt att jag har fel.
(4597)
(4601) 79-08-27 12:18 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4552: av Jacob Palme FOA1 Ärende: Frontcompare FRONTCOMPARE är snabbare vid helordsorientering!
(4601) (kommentar i 4766)
(4637) 79-08-27 13:42 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4418: av Lars-Åke Larsson Ärende: Jämföra CHARACTER:s Om inte "fixed-field"-varianten är tillämplig blir det besvärligare. Ibland kan man testa bort en del a la: Setpos(p); IF Inchar = 'A' THEN ! Start extensive tests on "LLA" ...; Själv använder jag ofta SCANTO (trots att den genererar en subtext). Typ: verb:- scanto(Image,' '); skip(Image,' '); parm:- scanto(Image,' '); ...etc
(4637)
(4662) 79-08-27 14:23 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Booleska uttryck I förslaget för ADA (nytt hgönivåspråk utvecklas av/för Dep of Def USA) finns en ide' ang logiska uttryck. Som bekant kräver ALGOL att samtliga operander i uttryck av typen A AND B OR C... skall evalueras. UNIVAC-SIMULA avviker f n på denna punkt och tillåter t ex IF a =/= NONE AND a.x > 0 THEN - detta kommer sannolikt att tas bort i framtida utgåvor av UNIVAC-SIMULA. I ADA förslås 2 nya operatorer: "AND THEN" resp "OR ELSE". Detta ökar avsevärt läsligheten av uttryck som annars blir i stil med: WHILE (IF t.More THEN t.Getchar = 'A' ELSE FALSE) DO; eller värre: IF (IF (IF Letter(c) THEN TRUE ELSE c = 'ö' OR c = 'Ö') THEN Abs(c1-c2) = shift ELSE FALSE) THEN vilka i st kan skrivas: WHILE IF t.More AND THEN t.Getchar = 'A' DO; resp IF (Letter(c) OR ELSE c = 'ö' OR ELSE c = 'Ö') AND THEN Abs(c1-c2) = shift THEN ... Snyggt va? En fördel är också att inga nya reserverade ord behövs - ngt att ta upp i SDG?
(4662) (kommentar i 4682, 4694, 4756)
(4682) 79-08-27 15:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4662: av Mats Ohlin Ärende: Booleska uttryck Jag tycker du kan ta upp det i SDG!
(4682)
(4694) 79-08-27 15:38 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4662: av Mats Ohlin Ärende: Booleska uttryck Bra! Fast extra skrivmöda (som dock skulle kunna elimineras genom en enkel macro-processor, när kommer det?)
(4694)
(4744) 79-08-27 16:48 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4537: av Jacob Palme FOA1 Ärende: Dialogsystem och kommandotolk Ändringarna är enbart att man nu kan förkorta kommandon på samma sätt som i KOM. Det gör bl.a. att det blir realistiskt att ha kommandon av typen ÄNDRA LISTA ÄNDRA VERSION ÄNDRA KONTO alltså man kan ha en klass av kommandon som börjar på samma eller snarlika ord. Tidigare var man tvungen att skriva kommandot från början av kommandot t.ex. ÄNDRAV för ÄNDRA VERSION Jag har inte infört KOM:s sätt att skriva ut menyer, utan man får f.n. fortfarande menyalternativen angivna med en siffra framför varje. Och det är då legalt att svara med en siffra när man väljer (alt svarar man med ett kommando). Vi har funnit att mycket ovana användare är hjälpta av att kunna svara med en siffra. Vi har heller inte KOM:s format (Vill du) ändra version utan i stället Vill du 'ändra version' Det är dock fullt realistiskt att modifiera dialogsystem att kunna klara KOM:s sätt att skriva ut. Men det gör jag inte förrän någon verkligen behöver det.
(4744) (kommentar i 4770)
(4756) 79-08-27 16:54 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4662: av Mats Ohlin Ärende: Booleska uttryck Införande av AND THEN samt OR ELSE tycker jag vore jättebra. Skulle definitivt öka läsbarheten hos en del program! Borde snarast tas upp på SDG!
(4756)
(4766) 79-08-27 17:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4601: av Lars Enderin FOA1 Ärende: Frontcompare Ja, "a = b" för texter borde kanske också använda helordsjämförelser vid helordsorienterade texter!
(4766)
(4770) 79-08-27 17:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4744: av Lars-Åke Larsson Ärende: Dialogsystem och kommandotolk Ifråga om format så tycker jag inte att ert eller KOM-s är bättre, utan enda skäl för KOM-s format är om man vill göra ett program som skall köras av folk som är vana vid KOM. Angående siffror på menyer så har de en stor nackdel. Det är att folk lär sig utantill numret på vanliga alternativ i vanliga menyer. Och sedan har man ingen chans att ändra menyerna. Det finns därmed en risk att man inte kan anpassa systemens struktur efter användarnas krav, därför att man tvingas låsa fast sig vid den ursprungliga menystrukturen.
(4770) (kommentar i 4774)
(4774) 79-08-27 17:17 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :4770: Ärende: Dialogsystem och kommandotolk Betr siffror i menyalternativ. De nackdelar du anger tycker vi övervägs av fördelarna. Nämligen att den "blyge" användaren tycker att det är naturligt och lätt att svara på en meny med en siffra. Vi kan dock i våran utbildning säga till folk att dom inte får låsa fast sig vid siffror. Visar det sig att dom gör det, så att vi inte får ändra menyer, så KOMMER vi att helt ta bort siffrorna. Siffrorna har varit värdefulla i några menyer då det varit svårt att hitta vettiga kommandosvar. Det är allts menyer som saknar kommandon, och där man enbart kan svara med en siffra. - Det problem du antytt finns där, men som sagt: vi anser att fördelarna överväger nackdelarna. I DAPU är det bara mycket oerfarna användare som alls skriver ut menyerna. Folk övergår mycket snabbt till helt kommando- styrd dialog, där kommandoalternativen inte alls skrivs ut.
(4774) (kommentar i 4779, 4793)
(4779) 79-08-27 17:20 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Jacob Palme FOA1. Mottaget: 79-08-27 17:36 Kommentar till :4774: av Lars-Åke Larsson Ärende: Dialogsystem och kommandotolk Kommandostyrd dialog - folk övergår till - - kan användarna även där svara med siffror (utan att se menyerna?). Eller är det endast nyckelord (motsv) i dessa fall?
(4779) (kommentar i 4786)
(4786) 79-08-27 17:39 Lars-Åke Larsson Mottagare: Jacob Palme FOA1. Mottaget: 79-08-27 17:39 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4779: av Mats Ohlin Ärende: Dialogsystem och kommandotolk Nej, svara med siffror kan de bara göra när de sett en meny (som alltså innehåller siffror)
(4786)
(4791) 79-08-27 17:42 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Kommandot DEBUG Jack Sandberg på FRI laddade ett Simula program i följande sekvens: setsrc till Ä226,264Å lib Därefter DEBUG på ett eget program. Fick då Multiply defined values .CGSP in Module ISOLTR Vid fortsatt körning inträffade allvarliga fel i samband med felaktig konvertering av åäö Jack påstår att han fått lära sig använda kommandot på Simulakursen. Jag som aldrig lärt mig kommandot, har inte heller drabbats av ovantstående problem
(4791) (kommentar i 4799)
(4793) 79-08-27 17:42 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4774: av Lars-Åke Larsson Ärende: Dialogsystem och kommandotolk i EIES-systemet (amerikanskt telemötessystem) har dom av detta skäl helt låst sig för sin ursprungliga menystruktur. Denna struktur är dåligt anpassad till nya grejor dom lagt till senare, varför dessa inte kommer in på ett snyggt sätt i systemet. Alternativ 1 i första menyn följt av alternativ 4 i andra menyn i deras system betyder samma som "brev"-kommandot i vårt system. Deras system tillåter type-ahead (vilket är trevligt för användare vid hårt belastade datorer) och man avskiljer type-ahead med komma-tecken. Den som vill skriva brev lär sig således snart att man gör det genom att skriva "1,4". "+" innebägr "gå till toppmenyn". Man kan alltså när som helst i dialogen börja skriva brev med kommandot "+1,4". Det är för att slippa sånt som vi inte har några siffror i KOM-systemet!
(4793)
(4799) 79-08-27 17:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4791: av Lars-Åke Larsson Ärende: Kommandot DEBUG Detta problem har kommenterats förut - beror på implementeringen av DEBUG-kommandot i LINK, vilket leder till felaktig laddningsordning när man använder svenska bokstäver via någon av procedurerna STORBOKSTAV, LITENBOKSTAV m fl. Svårt att åtgärda utan att skriva om LINK en del. Botemedel: .LOAD + .REENTER i st f .DEBUG
(4799)
(4937) 79-08-28 09:52 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Timetogo Nedanstående procedur ger återstående CPU-tid: (TIMETO.SIM) 00100 OPTIONS(/E); 00200 EXTERNAL INTEGER PROCEDURE andint, gettab; 00300 REAL PROCEDURE timetogo; 00400 COMMENT Remaining time in jiffies over jiffies/second. 00500 The time returned is in seconds.; 00600 timetogo:=andint(gettab(8R40, -1), 8R000077 777777)/gettab(8R11, 8R44) timetogo:= andint(gettab(8R40, -1), 8R77777777) / gettab(8R11, 8R44);
(4937) (kommentar i 4955)
(4955) 79-08-28 10:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :4937: av Lars Enderin FOA1 Ärende: Timetogo Bör in i LIBSIM tycker jag.
(4955)
(5288) 79-08-29 08:43 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Elsa-Karin Boestad-Nilsson. Mottaget: 79-08-29 09:35 Mottagare: VIDED erfarenhetsutbyte Mottagare: Jacob Palme FOA1. Mottaget: 79-08-29 09:37 Kommentar till :5226: av Jacob Palme FOA1 Ärende: filnamn, som börjar på å ä ö. SIMRTS (och därmed FINDOUTFILE m fl) bör nog inte acceptera åäöÅÄÖ i filnamn. Kommer förmodligen att ändras i nästa version (5). Man kan i alla fall specificera godtyckliga filnamn genom att använda konstruktionen Äooooo.. där o är en oktal siffra (0-7).
(5288) (kommentar i 5318)
(5304) 79-08-29 09:21 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: COMBINEDSIMULATION Jag släpper i dag ovanstående paket som jag fått från Danmark. Alla medföljande programsnuttar är inte provade. Paketet ligger på ppn Ä1050,2032Å och det är tre filer som är av intresse. De heter wcombs.hlp, wcombs.txt och wcombs.lib. Den sista är skapad med LIBMAN. Jag avser att starta en konferens med namnet COMBINED- SIMULATION där ni kan meddela om ni har tagit en kopia på filerna och där vi kan utbyta erfarenheter av och synpunkter på paketet.
(5304)
(5774) 79-08-30 13:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Laddning i high segment av SIMULA-program Jag har undersökt vilka moduler som inte kan laddas i ett skrivskyddat high segment och vilka SIMULA-konstruktioner det motsvarar. Se f ö SIMULA Language Handbook del 2, App F. Modulen "DATAN" ersätter numera "DATAN.", och modulerna SIN, SINH, SQRT, TANH har numera en avslutande punkt i namnet, sålunda "SIN." etc. Modulen EXP1 används INTE! Uttrycket i ** i överföres till typen r ** i genom att basen konverteras från integer till real först. Följande program har använts för testen: (HITEST.SIMÄ1116,134Å tillsvidare) BEGIN !Test which SIMLIB routines are non-reentrant; REAL r1,r2,r; INTEGER i1,i2,n; LONG REAL l1,l2,lr; lr:= r:=.5; n:= 5; COMMENT Examples show required SIMLIB modules. All modules must be writeable, (normally loaded into the low segment), except for SQRT, SIN., TAN, which are marked (R) (=reentrant) SIMULA code ! Uses module Which uses ; r1:= Arccos(r); ! ACOS. ATAN. SQRT(R) ; r1:= Arcsin(r); ! ASIN. ATAN. SQRT(R) ; r2:= Ln(r); ! ALOG. ; r2:= Arctan(r); ! ATAN. ; l2:= Arctan(lr); ! DATAN ; r2:= Cosh(r); ! COSH. EXP. ; l2:= Exp(lr); ! DEXP. ; l2:= lr ** n; ! DEXP.2 ; l2:= lr ** lr; ! DEXP.3 DEXP. DLOG. ; l2:= Ln(lr); ! DLOG. ; l2:= Sin(lr); ! DSIN. ; l2:= Cos(lr); ! DSIN. ; l2:= Sqrt(lr); ! DSQRT. ; r1:= Exp(r); ! EXP. ; i1:= n ** n; ! EXP2 EXP. ALOG. ; r2:= r ** n; ! EXP2 EXP. ALOG. ; r2:= r ** r; ! EXP3 EXP2 ALOG. EXP.; r2:= Sin(r); ! SIN. ; r2:= Cos(r); ! SIN. ; r2:= Sinh(r); ! SINH. ; r2:= Cosh(r); ! COSH. ; r2:= Sqrt(r); ! SQRT (R) ; r2:= Tan(r); ! TAN (R) ; r2:= Tanh(r); ! TANH. ; END; Man tar med så många av dessa som man använder i sitt program och skriver SYS:SIMLIB/INCLUDE:(modul,modul,....) Man kan ju börja med att ta en MAP vid vanlig laddning av programmet i low segment och kolla vilka moduler av ovanstående som finns med. Utom dessa från FORLIB kopierade moduler måste följande SIMLIB-moduler laddas i low segment i varje program: (OCSP,CFRXIT). Om man använder STORBOKSTAV eller relaterade moduler måste man också ta med REL:LIBSIM/INCL:(ISOLTR) i low segment. Övr LIBSIM-moduler som måste vara i lowseg: SAVE, FREEZE, RUN (bara om de används förstås). SAVE utnyttjar FREEZE. ISOLTR kommer ev att flyttas till SIMLIB i version 5 av SIMULA. F n kan jag inte komma på fler moduler som inte får vara i high segment. Om man får ?Ill mem ref bör man kolla vilken modul som är inblandad genom att se i MAP-en som LINK producerar. Se f ö HELP SIMHGH.
(5774) (kommentar i 5842)
(5792) 79-08-30 14:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: TIMETOGO Provade den vid LIDAC, och då visade det sig att den gav resultatet 0 för ett interaktivt vanligt jobb. LIDAC har inte SET TIME vid inloggning som på QZ! Samma gettab som ger antalet återstående clock ticks (jiffies) ger också besked om core limit för jobbet (bitarna 0-9) om jobbet är ett batchjobb (bit 10) och om det körs från SYS: (bit 11). Använd gettab(-1, 8R40) och t ex bitfield(..., 10, 1) för att ta reda på om programmet körs i batch. Skall kolla vad som händer för COJOB.
(5792) (kommentar i 5895)
(5895) 79-08-30 18:24 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :5792: av Lars Enderin FOA1 Ärende: TIMETOGO TIMETOGO bör väl returnera ett mycket stort tal när ingen tidsgräns alls finns.
(5895) (kommentar i 5907, 7495)
(5907) 79-08-30 18:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :5895: av Jacob Palme FOA1 Ärende: TIMETOGO Nuvarande version på Ä13,134Å returnerar 335544.32 = 2^24*0.02 i detta fall. Detta är nästan 4 dygn! Värdet är 1 jiffy mer än maxvärdet i tidsfältet. 00010 ! TIMETOGO - Shows cpu time left for job. ; 00050 ! Remaining time in jiffies over jiffies/second.; 00090 ! The time returned is in seconds. If no time ; 00095 ! limit is set, 2^24) jiffies is returned. ; 00122 ! If a jiffy is 0.02 seconds, timetogo will ; 00136 ! return 335544.32 seconds in that case. ; 00150 OPTIONS(/E/-D/-I); 00200 EXTERNAL INTEGER PROCEDURE andint, gettab; 00300 REAL PROCEDURE timetogo; 00600 BEGIN 00700 INTEGER i; 00800 i:= andint(gettab(8R40, -1), 8R77 777777); 00900 IF i=0 THEN i:= 8R100 000000; 01000 timetogo:= i/gettab(8R11, 8R44); 01100 END timetogo;
(5907)
(7423) 79-09-05 11:10 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Controlled Error Handling - Transfer Failure För programmet för överföring av inlägg mellan olika KOM-system i Stockholm och Linköping behöver jag en rutin, som gör att mitt program kan hantera felavbrottet "Transfer failure" på en TSK-device. (D.v.s. när den ena datorn går ner.) Utan en sådan rutin finns det risk att en del inlägg blir kopierade två gånger till andra sidan.
(7423)
(7489) 79-09-05 12:52 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: - Original: (2013) 79-08-21 13:27 LARS LINDWALL Kommentar till :2010: Det är jag benägen att instämma i även om det finns undantag i t ex kösituationer då det kan vara obehagligt med cntrl-c. I varje fall måste det krävas en utförlig och begriplig dialog på svenska efter ett cntrl-c om man inte hamnar i monitorn. Jag håller helt med om att SOS inte är bra på den punkten, i varje fall inte för noviser.
(7489) (kommentar i 7491)
(7491) 79-09-05 12:52 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :7489: av Överföring från LIDAC Ärende: - - Original: (2023) 79-08-22 13:49 LARS-HENRIK ERIKSSON En lösning på problemet är att Ctrl-C interceptet slås av inuti programmets egen Ctrl-C rutin, så att ett andra Ctrl-C tar en ut till monitorn. Denna lösning används i PROLOG och fungerar bra där.
(7491)
(7493) 79-09-05 12:54 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: - Original: (2103) 79-09-01 01:17 ANDERS STRÖM Jämförelse av CHARACTER Det hela verkar vara fråga om att avbilda från mängden CHARATER till en annan mängd (en delmängd utan små bokstäver), och sedan jämföra. En sådan avbildning kan lämpligen implementeras som en array på 128 element.
(7493) (kommentar i 8410)
(7495) 79-09-05 12:55 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :5895: av Jacob Palme FOA1 Ärende: TIMETOGO - Original: (2199) 79-09-04 19:08 ANDERS STRÖM Hur skiljer du då en mycket stor tidsgräns från ingen tidgräns alls.
(7495) (kommentar i 7497)
(7497) 79-09-05 12:56 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :7495: av Överföring från LIDAC Ärende: TIMETOGO - Original: (2207) 79-09-05 10:19 JACOB PALME I praktiken behöver man rutinen "timetogo" för att ordna med att programmet avslutar på ett snyggt sätt innan cpu-tiden är slut. För denna praktiska användning spelar det ingen roll om rutinen returnerar ett mycket stort tal eller oändligt tal vid dator som saknar tidsgräns. * Hade den däremot returnerat 0 vid ingen tidsgräns, så skulle program skrivna och uttestade vid maskin med tidsgräns plötsligt inte funka om man körde dem vid dator utan tidsgräns. (Såvida inte programmeraren varit mycket förutseende.)
(7497) (kommentar i 8184, 8412)
(8184) 79-09-07 11:41 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :7497: av Överföring från LIDAC Ärende: TIMETOGO - Original: (2240) 79-09-07 00:47 ANDERS SUNDQVIST Innebär inte Timetogo=0 alltid att det inte finns någon tidsgräns. Om återstående tid råkar vara noll så åker man väl hursomhelst ut till monitorn???
(8184) (kommentar i 8203)
(8410) 79-09-07 21:11 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :7493: av Överföring från LIDAC Ärende: - - Original: (2254) 79-09-07 13:21 LARS ENDERIN 180 ord är oftast onödigt mycket!
(8410)
(8412) 79-09-07 21:11 Överföring från LIDAC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :7497: av Överföring från LIDAC Ärende: TIMETOGO - Original: (2264) 79-09-07 17:14 ANDERS STRÖM Det här med kompatibilitet är svårt, vilket ditt exempel visar. Men jag tycker nog att man kan kräva visst förutseende från den programmerare som använder "timetogo".
(8412) (kommentar i 8428)
(8428) 79-09-08 09:41 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :8412: av Överföring från LIDAC Ärende: TIMETOGO Är det inte Murphys lag som säger: Alla körvarianter av ett program som inte uttestats kommer förr eller senare att spåra ur!
(8428)
(8448) 79-09-08 12:14 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: SIMDDT önskemål a) Proceduren "SUB" tillgänglig i SIMDDT b) Om man sätter en breakpoint på rad n, men den i själva verket hamnar på en annan, senare rad, skall SIMDDT ge varning om detta.
(8448) (kommentar i 9870)
(9137) 79-09-11 16:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Ny upplaga av handboken del 3. En ny tryckt upplaga av Simula-handboken del 3 finns nu att erhålla från FOA 1 Rapportcentral och QZ manualförsäljning. Den nya upplagan är daterad Augusti 1979. Den innehåller väsentliga nyheter jämfört med förra tryckta upplagan, daterad Mars 1977. Jag tror priset är 50 kr.
(9137)
(9870) 79-09-15 10:16 Göran Lyman (ÅTER 8 okt.) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :8448: av Jacob Palme FOA1 Ärende: SIMDDT önskemål Finns det någon möjlighet att stega sig igenom ett program utan att sätta breakpoints på varje rad?
(9870) (kommentar i 10188)
(9970) 79-09-15 21:45 Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: FÖRBRYLLANDE LÄNKNING VID EXTERNKOMPILERING Ett SIMULA-program som anropar en extern procedur kompileras olika beroende på huruvida den finner procedurens attributfil som egen fil eller i LIBSIM.ATR. Om externproceduren är en fortransubrutin som nyttjar en biblioteksrutin ur t ex NAG och man försöker kommandot .EX MAIN,EXTPRO,REL:NAG/LIB så fungerar detta endast när EXTPRO.ATR hämtats ur LIBSIM.ATR, annars får man %LNKFLE Lookup error... Ä Please retype...Å och om man då skriver om REL:NAG hittar länkaren NAG-rutinen. Detta är alltså en fördel med att ha attributfiler i LIBSIM.ATR men en nackdel är att om man glömmer specificera någon fil, t ex .EX MAIN,REL:NAG/LIB så får man ?LNKUGS Undefined global symbol EXTPRO ... och kastas ut i monitorn ohövligt men effektivt. Jag har aldrig sett någon LINK-10-manual och begriper inte orsaken men jag begriper att många andra inte heller begriper det här och att fenomenet skapar elände och sorg i de djupa leden.
(9970) (kommentar i 9986, 10231, 10267)
(9986) 79-09-16 09:34 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :9970: av Henrik Eriksson QZ Ärende: FÖRBRYLLANDE LÄNKNING VID EXTERNKOMPILERING Huvudprincipen i SIMULA är att om du har rätt deklarationer i ditt källprogram, inklusive i vissa fall OPTIONS(/S...) av lämplig utformning, så skall det räcka för dig att skriva ".EX MAIN" och inget mer för att få laddning och exekvering. Tyvärr är det väldigt svårt att få detta att funka i alla fall. Lars Enderin kan nog besvara din fråga mer utförligt.
(9986)
(10188) 79-09-17 10:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :9870: av Göran Lyman Ärende: SIMDDT önskemål Nej. Det finns vissa principiella svårigheter, t ex att följa ett proceduranrop, som kanske inte leder tillbaka till satsen efter anropet. För att få en fullständig stegning skulle man behöva modifiera runtime-systemet en hel del med en icke försumbar effektivitetsminskning som följd. I princip skulle man behöva sätta en brytpunkt på varje sats i förväg.
(10188) (kommentar i 10213)
(10213) 79-09-17 11:54 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :10188: av Lars Enderin FOA1 Ärende: SIMDDT önskemål En dyr och komplicerad lösning vore att modifiera FQCRED att lägga in anrop till ENTERDEBUG i st f uppdatering av räknarna. Ev kan man byta ut alla sådana satser mot enterdebuganrop med någon lämplig editor.
(10213)
(10267) 79-09-17 12:47 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :9970: av Henrik Eriksson QZ Ärende: FÖRBRYLLANDE LÄNKNING VID EXTERNKOMPILERING "En fortran-subrutin som utnyttjar en bibl..." är litet oklart! Utgörs koden till EXTPRO av en subrutin i NAG eller har du också en EXTPRO.FOR och EXTPRO.REL på din area, som i sin tur refererar till någon rutin i NAG? I det senare fallet borde det inte vara något problem om du lägger till REL:NAG/SEARCH i kommandot, som du har gjort. Problemet uppstår väl när du har EXTPRO.ATR som refererar till en ingång i NAG.REL, dvs ATR-fil och REL-fil har inte motsvarande namn och/eller finns inte på samma area (i motsvarande bibliotek eller separata filer). Jag har faktiskt funderat på att man i huvudet till en extern SIMULA-specifikation, svarande mot en rutin kodad i MACRO-10 eller FORTRAN, skulle kunna tala om var REL-mdulen skulle sökas upp, dvs ett avsteg från symmetriprincipen. Ex: OPTIONS(/E:FORTRAN, TIM2GO,"REL:LIBFOR"); REAL PROCEDURE tim2go;; Kanske för ovanligt för att ta upp tid med.
(10267)
(10695) 79-09-17 19:31 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ytterligar önskemål om SIMDDT Det vore mycket trevligt om man med något nivånummer el dyl som gick att ta fram vid deb. av rekursiva procedurer. När jag testar dylika kånns inte SIMDDT sårskilt anvåndbar.
(10695) (kommentar i 10697)
(10697) 79-09-17 19:50 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :10695: av Christer Wikmark SU/ADB Ärende: ytterligar önskemål om SIMDDT En sådan ändring kräver tillägg i RTS eller kompilator och kommer förmodligen inte att göras. Kan du inte lägga till någon variabel som får värdet av en global variabel vid ingången i proceduren? Den globala variabeln ökas med 1 vid ingång och minskas med ett vid utgång.
(10697) (kommentar i 10730)
(10730) 79-09-17 22:54 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :10697: av Lars Enderin FOA1 Ärende: ytterligar önskemål om SIMDDT Jo, jo, givetvis, men jag använder rek. proc. i så många program att en dylik facilitet skulle vara mycket trevlig (dock ska man givetvis inte ändra RTS för den sakens skull), (med motsvarande resonemang kunde man ju ta bort input-outputfaciliteterna likaväl)
(10730) (kommentar i 11023)
(11023) 79-09-18 12:45 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :10730: av Christer Wikmark SU/ADB Ärende: ytterligar önskemål om SIMDDT Rekursionen syns väl rätt bra med CHAIN och vill man titta inne i någon instans "på vägen" är det ju bara att göra INS/RET plus lämpligt O (O * t ex).
(11023) (kommentar i 11030)
(11030) 79-09-18 12:46 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11023: av Mats Ohlin Ärende: ytterligar önskemål om SIMDDT ska du nu spara input med kommandot: "O *" kan du ju lika gärna skriva "O*" mens du ändå håller på.
(11030)
(11267) 79-09-18 17:45 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11263: av Christer Wikmark SU/ADB Ärende: Kolla filnamn Kanske Mats Ohlin kunde fixa till en procedur han har för att klara detta?
(11267) (kommentar i 11448, 11663)
(11448) 79-09-19 10:11 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11267: av Lars-Åke Larsson Ärende: Kolla filnamn Se filerna GETUFD (skaffar en infileref till ett ufd) samt GETFIL (skaffar en text med filnamn). PPN 13,201.
(11448)
(11663) 79-09-19 17:11 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11267: av Lars-Åke Larsson Ärende: Kolla filnamn Se filer under Ä13,201,UFDÅ. Rutinen MYUFD skaffar en ref. till egna UFD:et. Rutinen UFDLST ger en lång lista på alla filnamn under visst UFD. UFDT och GT visar exempel på användning.
(11663) (kommentar i 11669)
(11669) 79-09-19 17:19 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11663: av Mats Ohlin Ärende: Kolla filnamn Man kan på samma sätt även läsa SFD:n genom UFDLST(NEW Infile("abc.sfd"));
(11669)
(11785) 79-09-20 09:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LOOKFILE Finns på Ä13,134Å, kommer i LIBSIM: 00100 COMMENT * lookfile, SIMULA specification; 00200 OPTIONS(/E:CODE,lookfile); 00300 BOOLEAN PROCEDURE lookfile(filespec); 00400 VALUE filespec; TEXT filespec; 00500 COMMENT Looks up the file according to FILESPEC, returns TRUE if found 00600 ; 00700 00800 !*;! MACRO-10 code !*;! 00900 01000 TITLE lookfile 01100 ENTRY lookfile 01200 SUBTTL SIMULA utility, Lars Enderin May 1979 01300 01400 ;!*** Copyright 1979 by the Swedish Defence Research Institute. *** 01500 ;!*** Copying is allowed. *** 01600 01700 01800 sall 01900 search simmac,simmcr,simrpa 02000 macinit 02100 02200 ;! Local definitions ;! 02300 02400 result==ZBI%S 02500 filespec==result+1 02600 02700 lookfile: PROC 02800 EXEC CPNE ;! Allocate a file object 02900 XWD 0,IOIN ;! Infile prototype 03000 SETON ZFIFND(XWAC1) ;! Flag special case 03100 SETON ZFIBNW(XWAC1) ;! Want no buffers either 03200 LD filespec(XCB) ;! Copy the parameter 03300 STD OFFSET(ZFISPC)(XWAC1) 03400 EXEC CSEN 03500 IFON ZIFEND(XWAC1) 03600 SETOM result(XCB) ;! Found 03700 EXEC IOCL 03800 BRANCH CSEP 03900 EPROC 04000 LIT 04100 END;
(11785) (kommentar i 11789, 12011)
(11789) 79-09-20 09:34 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11785: av Lars Enderin FOA1 Ärende: LOOKFILE Borde vara snabbare för en enstaka fil än Mats Ohlins lösning.
(11789)
(12011) 79-09-20 16:31 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :11785: av Lars Enderin FOA1 Ärende: LOOKFILE är det lämpligt att kombinera denna rutin med en check på legalt fil-spec-format? Integer resultat i så fall? +1 found, 0 not found, -1 UFD protection failure, -2 illegal device, -3 illegal path (t ex)?
(12011)
(14079) 79-09-27 12:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: Overlay i SIMULA? Då och då framförs till mig olika önskemål om utvidgningar i VIDED, som i och för sig vore lätta att göra, men som jag inte gärna vill göra därför att de skulle uppta utrymme i minnet för alla andra som kör VIDED och inte behöver dem. Exempel: Kommando för att summera kol 1 och kol 2 på skärmen och skriva summan i kol 3. Interaktivt förstås. Man skulle alltså önska sig en möjlighet att ladda in denna objektkod i minnet först när någon behöver den. Huruvida koden laddas in i low- eller high-segment spelar för mig ingen roll, men man vill ju helst att man fortfarande skall kunna ha shareable high segment med övriga VIDED-användare. Går detta att göra?
(14079) (kommentar i 14115)
(14115) 79-09-27 13:46 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14079: av Jacob Palme FOA1 Ärende: Overlay i SIMULA? Från och med monitorversion 7.00 kommer ett kommando MERGE, som adderar specificerad .EXE-fil till användarens primärminnsebild. Jag kan inte tänka mig att man glömt göra en motsvarande UUO för detta. Och med det skulle dina problem vara lösta, du kan ha hur många specialutvidgningar som önskas (med reseervation för att jag inte har fullständig information om hur MERGE kommer att fungera).
(14115) (kommentar i 14198)
(14198) 79-09-27 15:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14115: av Tommy Ericson QZ Ärende: Overlay i SIMULA? Det fordras också support för detta kommando i loadern, så att LINK-10 kan ordna referenserna till den nya EXE-filen. Det är vidare ett SIMULA-problem i sammanhanget att Garbage Collector vill ha alla prototyper (datastruktur- beskrivningar) tillgängliga.
(14198) (kommentar i 14238)
(14238) 79-09-27 16:39 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14198: av Jacob Palme FOA1 Ärende: Overlay i SIMULA? Menar du att alla tillägg skulle laddas av LINK? Det menar inte jag: då någon ny modul behövs gör SIMRTS eller en egen rutin MERG. på sökt modul. Simula vill kanske också upp- datera vissa statiska länkar?
(14238) (kommentar i 14247)
(14247) 79-09-27 16:42 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14238: av Tommy Ericson QZ Ärende: Overlay i SIMULA? SIMULA-kompilatorn bygger på att alla länkar skall kunna lösas av LINK. Att låta länkar lösas dynamiskt vid exekveringen kräver antagligen stora och svåra ändringar i både kompilator och run-time-system.
(14247) (kommentar i 14257)
(14257) 79-09-27 16:58 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14247: av Jacob Palme FOA1 Ärende: Overlay i SIMULA? Men det är inte desto mindre än mycket intressant möjlighet...
(14257)
(14636) 79-09-28 18:11 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: DECsystem-10 SIMULA Language Handbook, part III Rättelse till den tryckta upplagan utgiven i Augusti 1979: Page 65 line 20 reads: ?S Matches any letter, digit, national character or the beginning or the end of a line. Should read: ?S Matches all characters except letters, digits and national characters. Also matches the beginning and the end of a line.
(14636) (kommentar i 14638)
(14638) 79-09-28 18:23 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14636: av Jacob Palme FOA1 Ärende: DECsystem-10 SIMULA Language Handbook, part III Var finns denna upplaga på disk? DOC: och Ä13,134,simdocÅ bör uppdateras??
(14638) (kommentar i 14650)
(14650) 79-09-28 18:49 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14638: av Mats Ohlin Ärende: DECsystem-10 SIMULA Language Handbook, part III Jag har bett QZ uppdatera DOC. 13,134,simdoc brukar väl bara uppdateras fullständigt vid nya releaser?
(14650) (kommentar i 16334)
(15400) 79-10-02 11:32 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Ärende: Portabilitet. Mottaget Mail: Det vore förträffligt om du slutade att använda ID som variabelnamn . På univac finns nämligen ett attribut id i varje fileobject. Och när man gör inspect på en fil så når man sen fel variabel. Univac fileref.id innebär samma sak som dec filename(filref) Gunnar Comment by L. LARSSON Simula borde standardiseras!
(15400) (kommentar i 15415)
(15415) 79-10-02 11:47 Lars Enderin Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :15400: av Lars-Åke Larsson Ärende: Portabilitet. Gäller detta även för det nya SIMULA-systemet för UNIVAC? Man kanske skulle ha valt ett längre och ovanligare namn än ID. I DEC-10 SIMULA finns endast Breakoutimage som nytt filattribut.
(15415) (kommentar i 16115)
(15733) 79-10-02 22:05 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: inmatning av ^Z Om man matar in ctrl-Z så stängs Sysin (och ny inimage ger felavbrott). Nu är problemet att jag inte lyckas "återställa" Sysin. (Open gab v felet att filen redan var Öppen; endfile fick inte sättas till FALSE; och att ta bort /* från imagen misslyckades också). Vad kan jag gÖra ?
(15733) (kommentar i 15743, 15797)
(15743) 79-10-02 22:14 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :15733: av Christer Wikmark SU/ADB Ärende: inmatning av ^Z Försök med att stänga Sysin och öppna den igen när du upptäcker Endfile. Nedanstående program fungerade för mig: 00100 begin 00200 text t; 00300 outtext("test"); outimage; 00400 inimage; 00500 IF sysin.Endfile then 00600 begin t:-sysin.image; Sysin.Close; Sysin.Open(t); Inimage END; 00700 Outtext(sysin.image.strip); outimage; 00800 end; Om jag svarar programmet med kontroll Z så blir jag sedan tydligen hängande på en Inimage. Och denna skrivs sedan ut korrekt.
(15743) (kommentar i 15745)
(15745) 79-10-02 22:17 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :15743: av Lars-Åke Larsson Ärende: inmatning av ^Z Jag tror inte att du får ett portabelt program med den där metoden. På Univac tror jag att vi måste döda jobbet om man skriver in Endfile tecken från terminalen. Men det kanske Karl Gunnar Eklund kunde svara på. (Värst av allt är att han talade om för mig för några veckor sedan hur det förhöll sig! Suck!)
(15745)
(15797) 79-10-03 09:44 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :15733: av Christer Wikmark SU/ADB Ärende: inmatning av ^Z Sysin "stängs" inte, får bara en EOF-indikation, som inte kan återställas annat än genom en OPEN-UUO. För att få denna att fungera i SIMULA måste man anropa Close och därefter Open för Sysin. Spara Image i en temporär textvariabel (Image :- NOTEXT i Close) och använd den sparade referensen som argument till Open. ENDFILE är definierad som en BOOLEAN PROCEDURE, ej en variabel, och kan alltså inte ändras med tilldelningssats i Simula-koden. Innehållet "/*" i endfile-image är ärvt från 360 SIMULA.
(15797) (kommentar i 16187)
(16115) 79-10-03 19:37 Karl Gunnar Eklund (DAPU/ENEA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :15415: av Lars Enderin FOA1 Ärende: Portabilitet. Även den nya utgåvan av UNIVAC-simula innehåller ID som attribut till alla typer av filer.
(16115)
(16122) 79-10-03 19:55 Karl Gunnar Eklund (DAPU/ENEA) Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Mera portabilitet: åäö-ÅÄÖ Den nya utgåvan av univac-simula tillåter att man använder nationella tecken i iedntifierare om man ger kompilatorswitchen %NATIONAL ON ; Men till skillnad från dec behandlas övre och lägre skift av dessa nationella tecken inte som likvärdiga. Detta är väl inte så allvarligt för oss, som flyttar program från dec till univac, men går man bakvägen kan det ju trassla till sig. Finns det rekommendationer av hur detta skall hanteras, och , i så fall , vilket av systemen följer den?
(16122) (kommentar i 16365)
(16187) 79-10-03 22:34 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :15797: av Lars Enderin FOA1 Ärende: inmatning av ^Z Nej, det finns ju ingen anledning varför sysin skulle stängas (vet inte vad jag fick för mig i förvirringen). Vad man skulle velat haft var en "rewind"-funktion för sysin. Finns det f.ö. någon sådan macro-proc för infiler?
(16187) (kommentar i 16241)
(16209) 79-10-04 08:36 Stefan Arnborg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: tektronix koordinatbord. Vi har en tektronix koordinatometer som ska användas med ett simulaprogram. Enligt brux ska den producera två koordinater packade i fem characters varje gång man trycker på en knapp. Men nu producerar den i stället ^Z följt ac fem tecken men ingen vagnretur. Koordinatupppacknings- rutinen måste ju ha alla fem tecknen, men den bör också lämnas när tecknen har kommit så att man kan t ex skriva ut en ny fråga meddetsamma efter tryckningen. Först använde jag inchar för koordinattecknen, men då kommer ju inte tecknen in förrän efter ett tag. Nu använder jag Insinglechar, men då kommer inte femte tecknet med förrän man fortsatt skriva något efter koordinatangivelsen. Hur ska man göra?
(16209) (kommentar i 16273)
(16241) 79-10-04 09:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :16187: av Christer Wikmark SU/ADB Ärende: inmatning av ^Z Vid EOF måste man som sagt stänga och öppna igen. En MACRO-procedur skulle behöva göra samma sak. Beträffande "rewind" för Sysin är den knappast meningsfull för terminalinput, och för andra enheter än TTY, t ex DSK, fungerar Close+Open som "rewind". Jag har gjort en procedur INFPOS(inf,pos) som positionerar REF(Infile)inf till tecknet pos (INTEGER) från starten av första blocket i filen. Kommer i release 5.
(16241)
(16273) 79-10-04 10:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :16209: av Stefan Arnborg Ärende: tektronix koordinatbord. Pröva den nya proceduren INCHW.MACÄ13,134Å! .ATR och .REL finns också, samt ett testprogram TINCHW.SIM.
(16273)
(16334) 79-10-04 11:56 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :14650: av Jacob Palme FOA1 Ärende: DECsystem-10 SIMULA Language Handbook, part III DOC:SIMLH3.MAN är uppdaterad.
(16334)
(16365) 79-10-04 12:36 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :16122: av KJELL-ÅKE HOLMBERG Ärende: Mera portabilitet: åäö-ÅÄÖ En identifierare må innehålla <bokstav>(<bokstav>ö<siffra>ö_). ALGOL-definitionen ger utrymme för att tillåta nationella karaktärer vid definitionen av "letter". I SDG Recommendatoin no. 4 "Hardware Recommendations" står dock: "Some implementations may restrict the set of letters to only one case (e.g. upper case letters only). For this reason, it is recommended that no distinction be made between the upper and lower case version of a letter. In the interest of program portability, it is recommended to use the english alfabet only, refraining from the use of national letters." Att UNIVAC-SIMULA skiljer på ö-Ö å-Å ä-Ä är därmed ett direkt fel OM koderna för dessa tecken är definierade. -- Även om man bör undvika de nationella tecknen.
(16365)
(16945) 79-10-05 17:18 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Prel annons I syfte att förbättra standardiseringsarbete avseende SIMULA (fr a i anknytning till SIMULA Standards Group och SIMULA Developent Group) pågår försök att finansiera en sådan verksamhet. En för- utsättning för att ett sådant, svenskt projekt skall komma till stånd är att lämplig person (eller flera) går att finna. Ang tänkbara arbetsuppgifter se filen SIMSTA.VISÄ13,201Å. Svar till mig eller Jacob Palme.
(16945)
(16947) 79-10-05 17:19 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Rättelse Filen finns på SIMSTA.VIS Ä13,120Å!
(16947)
(17309) 79-10-08 14:55 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Är FOR-loopar ineffektiva? Testade skillnaden mellan följande 2 konstruktioner: a) FOR i:= 36 STEP -1 UNTIL 2 DO ; b) i:= 36; WHILE i > 1 DO BEGIN i:= i-1 END; a) var ca 8% långsammare! När jag lade till "j:=j+1" efter resp DO (BEGIN) fick jag resultatet att a) nu var ca 17% långsammare(!). How come?
(17309) (kommentar i 17370)
(17370) 79-10-08 17:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :17309: av Mats Ohlin Ärende: Är FOR-loopar ineffektiva? Svar: Inte särskilt! 00100 Följande kod genereras i första 2 fallen (GOTO=JRST): 00200 00300 a: ;FOR i:= 36 STEP -1 UNTIL 2 DO ; 00400 MOVEI 1, STEP ;Adress till STEP-elementet 00500 HRRZM 1, -4(15) ; sparas i displayvektorn 00600 MOVEI 3, ^D36 ;Initialvärde för I (i:= 36) 00700 MOVEM 3, I(15) 00800 GOTO UNTIL ;Gå till test på i>2 00900 STEP: SOS 3, I(15) ;STEP -1 01000 UNTIL: CAIL 3, 2 ;UNTIL 2 01100 GOTO astat ;>=2, utför satsen 01200 GOTO aout ;<2, ut ur loopen 01300 astat: ;Styrd sats (tom) 01400 GOTO Ö-4(15) ;Återhopp till STEP-kod 01500 aout: 01600 01700 b: ;i:= 36; WHILE i>1 DO BEGIN i:= i-1 END; 01800 MOVEI 3, ^D36 ;i:= 36; 01900 MOVEM 3, I(15) 02000 while: MOVE 3, I(15) ;WHILE i 02100 CAIG 3, 1 ; > 1 02200 GOTO bout 02300 SOS 3, I(15) ;DO BEGIN 02400 GOTO while ;END; 02500 bout: 02600 02700 Som synes utförs 4 instruktioner i loopen i båda fallen. Indirekt- 02800 adresseringen på rad 1400 står förmodligen för det mesta av de 8%-en, 02900 resten är litet generellare (krångligare) initiering (3 instruktioner 03000 mer). Jag tycker skillnaden är försumbar. 03100 03200 I andra fallet tillkommer instruktionen AOS 3,j(15) i båda looparna. 03300 Jag kan inte förklara varför %-skillnaden blir större då. 03400 Kanske mätningarna inte är helt korrekta? Kan CACHE-referenserna 03500 vara ofördelaktigare för den något längre FOR-loopen?
(17370) (kommentar i 17386)
(17386) 79-10-08 17:23 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :17370: av Lars Enderin FOA1 Ärende: Är FOR-loopar ineffektiva? Vore det möjligt/lämpligt att särbehandla fallen med STEP-elementet lika med en konstant (spec +1 och -1)?
(17386) (kommentar i 17394)
(17394) 79-10-08 17:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :17386: av Mats Ohlin Ärende: Är FOR-loopar ineffektiva? Det görs ju!!!!! SOS och AOS används ju! Den enda optimering jag kunde tänka mig i FOR-loopen vore att särbehandla fallet med ett enda STEP-UNTIL-element och då inte lagra adressen i display-vektorn utan hoppa direkt. Detta skulle spara 2 instr(exekveras bara en gång dock) och en minnesreferens (ingen indirekt adressering). Jag tycker det är petitesser i varje fall!
(17394) (kommentar i 17396, 17412)
(17396) 79-10-08 17:35 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :17394: av Lars Enderin FOA1 Ärende: Är FOR-loopar ineffektiva? Man skulle kunna spara en (i allmänhet överhoppad) instruktion i loopkoden om man vet att det bara finns ett list-element i FOR-listan. Detta förutom vad jag sagt i det kommenterade inlägget. Om sluttesten är mot 0 (vilket i allmänhet förutsätter en mindre vanlig bakåtloop) kan man kanske spara in en instruktion till. Allt detta är på bekostnad av en något större och långsammare kompilator - tveksam optimering! En rejäl optimering skulle givetvis ha loopvariabeln i ett register hela tiden, flytta ut lokala invarianter etc, men det har aldrig varit en målsättning!
(17396)
(17412) 79-10-08 18:02 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :17394: av Lars Enderin FOA1 Ärende: Är FOR-loopar ineffektiva? Mitåt! Vi kan nog avsluta detta "ärende". Vad gäller FOR kontra WHILE-loop kan man tydligen i alla fall lungt rekommendera WHILE-konstruktionen, som i mitt tycke ofta ger tydligare kod.
(17412) (kommentar i 17462)
(17462) 79-10-09 09:06 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :17412: av Mats Ohlin Ärende: Är FOR-loopar ineffektiva? tydligare kod: kanske mest beroende på alla onödigheter i FOR-satsen? FOR i:= 36 DOWNTO 1 DO s; eller FOR 36 DOWNTO 1 DO s; skulle väl lätt konkurrera ut WHILE-konstruktionen.
(17462)
(17905) 79-10-10 11:58 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Ärende: TXTPTR Lars Enderin har skrivit en rutin som visat sig väldigt användbar. Rutinen heter TXTPTR och ligger i LIBSIM på FOA:- arean. Den kan ersätta COPY av en textkonstant vid anrop av rutiner som inte kan ta textkonstanter som parametrar, i fall man inte skall ändra den text man kopierar, utan bara skall läsa eller skriva ut den. Argument till rutinen är en TEXTKONSTANT, och resultatet av rutinen är en textpointer. Rutinen borde vara farlig och kunna leda till obegripliga fel om man av misstag försöker skriva i de texter den returnerar, men hittils har allt funkat bra för mig. Exempel I: outstring(sysout,txtptr( "!13!!10!första raden .... " "!13!!10!andra raden ... " "!13!!10!tredje raden ... " o.s.v. till "!13!!10!sjuttonde raden ... ")); Exempel II: data:- txtprt("!12!!17!!15!!23! o.s.v. hundratals tal"); data.setpos(index); i:= rank(data.getchar); I exemplet I skriver du ut en massa text och sparar både minne och CPU-tid jämfört med konventionell kodning. I exemplet II sparar du massor av minne jämfört med att lagra dina data i en array och initialisera den.
(17905) (kommentar i 17971)
(22841) 79-10-25 15:09 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Ärende: SIMDDT's prompter (på svenska ledtext) Litet i förväg (i version 5 av Simulasystemet permanent) har vi bytt den intetsägande promptern "*" i SIMDDT till den mer upplysande "SIMDDT>". Man kan även få SOS att presentera sig tydligare med kommandot /PROMPT (motsats /NOPROMPT, kan ligga i SOS-raden i SWITCH.INI) varvid SOS säger "SOS>" vid kommandomod, "SOS,D>" och "SOS,C>" vid konfirmeringsmod resp. kopieringsmod.
(22841)
(25044) 79-11-02 14:13 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :25036: av Lars-Åke Larsson Ärende: 1022 vs SIMULA Kan man bedöma Simula-1022-interface så angeläget att vi bör överväga hyra in extern konsult som under Lasses ledning gör jobbet?
(25044) (kommentar i 25064, 25070)
(25064) 79-11-02 14:24 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :25044: av Jacob Palme FOA1 Ärende: 1022 vs SIMULA Kanske -- det är beroende av hur mycket vi skall satsa på 1022. Men det är å andra sidan kanske beroende av just om ett SIMULA- interface kan skapas...
(25064)
(25070) 79-11-02 14:34 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :25044: av Jacob Palme FOA1 Ärende: 1022 vs SIMULA Jag tror att man seriöst skall överväga detta! De mest krävande arbetsinsatserna i Dapu har berört sådant som vi kunnat få väsentliga bitar av från 1022. Det är också sådana bitar som det fordrats erfarna programmerare för att göra. Gör man program där exekveringskostnaden inte är avgörande, utan där programutvecklingskostnaden blir dominerande, så tror jag att 1022 utnyttjande är välmotiverat. Möjligheten att för systemunderhåll gå in direkt via 1022 och påverka databasen är nog också ytterligt värdefull. Just för FOA:s miljö där programutvecklingskostnaderna oftast slår igenom kraftigt, tror jag att 1022 kunde vara vettigt att satsa på. Om det dessutom visar sig att man inte förlorar så mycket effektivitet i maskinhänseende genom att utnyttja 1022, så bör 1022 kunna få ännu vidare tillämpningar. Men här saknar jag erfarenhet för att kunna säga något alls. Om FOA går in och gör sådana insatser att 1022 kunde köras under Simula, så bör man nog se till att det blir körbart under såväl TOPS10 som TOPS20. SIMULA-TOPS10/20-KOM är en så slagkraftig kombination att den verkligen borde komma till bredare utnyttjande både inom försvaret och inom svensk industri och förvaltning.
(25070)
(25291) 79-11-04 17:40 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Kommentarer inuti textsträngar För initialiseringstabeller och liknande är ofta textkonstanter mest kompakta i SIMULA. Men tyvärr blir sådana tabeller väldigt oläsliga därför att inga slags kommenterar godtas inuti textkonstanter. Finns det möjlighet ordna så att antingen % eller !-kommentare godtas inuti textkonstanter? Exempel: numbers:- txtprtr( % 1 2 3 4 5 6 7 8 9 10 "ett två tre fyra fem sex sju åtta nio tio" % 11 12 13 14 15 16 17 18 19 "elva tolv tretton fjorton femton sexton sjutton arton nitton");
(25291) (kommentar i 25363)
(25363) 79-11-05 12:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :25291: av Jacob Palme FOA1 Ärende: Kommentarer inuti textsträngar % -kommentarer är förmodligen enklast att tillåta. Skall se på det.
(25363)
(26449) 79-11-08 18:36 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Stoppa SIMDDT Hur gör man för att komma ut i monitornivå istället för till SIMDDT vid programfel i simulaprogram?
(26449) (kommentar i 26568)
(26453) 79-11-08 18:53 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: HIDDEN PROTECTED När vi just nu håller en prog.metodik-kurs med SIMULA på univ. försöker vi propagera för anv. av hidden och PROTECTED fr. a. vid skrivandet av "paket" (eller "referensramar"). Då upplever man då och då behov av att hela paketet skulle kunna hid.prot.-deklarera ingående classers lokala attribut, dvs inom referens-klassen var allt åtkomligt mellan klasserna, men för subklasser till paketet (eller prefixerade block) var vissa attribut osynliga.
(26453) (kommentar i 26594)
(26568) 79-11-09 10:23 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26449: av Jacob Palme FOA1 Ärende: Stoppa SIMDDT 00100 COMMENT * errmsg, SIMULA specification; 00200 OPTIONS(/E:QUICK,errmsg); 00300 PROCEDURE errmsg(txt,allowdebug); 00400 NAME txt; TEXT txt; BOOLEAN allowdebug; 00500 COMMENT Causes the message TXT to be output before SIMDDT 00600 is entered by intercepting the UUO handling. If allowdebug 00700 is TRUE, proceed to call SIMDDT, otherwise exit to monitor. 00800 The text TXT should contain cr-lf (!13!!10! in text constants) if 00900 more than line is to be output. ERRMSG will add an initial and a 01000 final cr-lf. 01100 ; Ovanstående procedur finns på arean Ä13,134Å. Kommer i LIBSIM.
(26568) (kommentar i 26592)
(26592) 79-11-09 12:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26568: av Lars Enderin FOA1 Ärende: Stoppa SIMDDT Modifierad nu så att errmsg(NOTEXT, FALSE) kommer att ge direkt uthopp till monitornivå vid fel. Ingen utskrift alls (inga CRLF) om TXT == NOTEXT alltså. Obs att ERRMSG måste laddas i low segment (görs alltid vid vanlig laddning) och att parametern bör vara en konstant! (Måste vara en konstant faktiskt).
(26592) (kommentar i 26596)
(26594) 79-11-09 12:20 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26453: av Christer Wikmark SU/ADB Ärende: HIDDEN PROTECTED Det är riktigt (och det diskuterades en hel del när def. spikades) att man inte kan skydda selektivt på detta sätt. En del knep finns dock: 1. Run-time-check med flaggor. Definera flagga(or) som är HIDDEN PROTECTED och som skyddar vissa proceduranrop (eller klass- kroppssekvenser). Flaggan kan då sättas på/av inifrån paketet. T.ex. Hindra NEW x: CLASS packet; HIDDEN PROTECTED flag; BEGIN BOOLEAN flag; CLASS x; BEGIN <attr dekl> IF flag THEN error; .... END x; flag:= TRUE; END packet; Närhelst packet självt vill göra NEW x görs först flag:= FALSE; Omedelbart efter NEW x sätt flaggan åter till TRUE. 2. Omdeklaration: CLASS packet; HIDDEN PROTECTED temp; BEGIN CLASS temp; BEGIN REAL hemlig; END; temp CLASS user; BEGIN PROCEDURE hemlig;; ! Dummy!!; ... END user level; END packet; Inne i packet kan man alltid komma att REAL hemlig genom omedelbar kvalification (QUA eller WHEN på temp) -- användaren "ser" bara dummy-hemlig och saknar nödvändigt klass-id för att nå REAL hemlig (ity temp är HIDDEN PROTECTED). (Några "rena" temp-objekt skapas aldrig.)
(26594) (kommentar i 26846)
(26596) 79-11-09 12:21 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26592: av Lars Enderin FOA1 Ärende: Stoppa SIMDDT Så anropet skall då vara : errmsg("",FALSE) ..?
(26596) (kommentar i 26606)
(26606) 79-11-09 12:34 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26596: av Mats Ohlin Ärende: Stoppa SIMDDT I detta avseende är NOTEXT en konstant! F ö är "" helt ekvivalent med NOTEXT som parameter. Villkoret är att textinnehållet inte får ha flyttat sig mellan ERRMSG-anropet och ett felavbrott då strängen skrivs ut, eftersom den inte kopieras in. Med den nya TEXT PROCEDURE txtptr(t); NAME t; TEXT t; kan man skaffa sig textreferenser till konstanter. Parametern TXT till ERRMSG skall också vara en main-text, eftersom ändå TXT.Main skrivs ut (faktiskt bara till första null-tecken, eftersom OUTSTR-UUOn fungerar så).
(26606) (kommentar i 26627, 26904)
(26627) 79-11-09 12:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26606: av Lars Enderin FOA1 Ärende: Stoppa SIMDDT Ber om ursäkt! Mitt inlägg var avsett som en liten vits! NOTEXT är ju lite tvetydigt ibland. Det är en konstant text- referens till den tomma strängen ""....
(26627) (kommentar i 26645)
(26645) 79-11-09 13:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26627: av Mats Ohlin Ärende: Stoppa SIMDDT Ok, kanske bäst att inte förvirra läsarna för mycket, eller hur?
(26645)
(26846) 79-11-09 20:49 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :26594: av Mats Ohlin Ärende: HIDDEN PROTECTED Tack för tipsen! Dock, när man försöker lära ut något som likanr /liknar/ strukturerad programmering och SIMULA som naturligt modellerings- verktyg, känns dylika "trick" något dubiösa. (Flear elever har i alla fall i början svårt att känna för HIDDEn ocg PROT.)
(26846)
(27009) 79-11-11 12:38 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INCHW Vad är det för skillnad mellan INCHW och INSINGLECHAR, förutom att INCHW skall ha ioindex som parameter, medan INSINGLECHAR skall ha filreferens som parameter. Klarar INCHW av enteckensinmatning från andra än den kontrollerande terminalen, vilket ju INSINGLECHAR inte klarar. Om inte, vad är det i så fall för skillnad mellan INCHW och GETCH?
(27009) (kommentar i 27128)
(27128) 79-11-12 11:07 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27009: av Ärende: INCHW INCHW tar inmatning från vilken terminal som helst, obuffrat och utan att kräva bryttecken. Alltså en generell GETCH.
(27128) (kommentar i 27365)
(27365) 79-11-12 17:08 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27128: av Lars Enderin FOA1 Ärende: INCHW Jag har för mig att du någon gång sagt att det inte går att ta inmatning en-teckensvis annat än från kontrollerande terminal. Men du har alltså löst problemet nu!
(27365) (kommentar i 27443)
(27443) 79-11-12 17:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27365: av Jacob Palme FOA1 Ärende: INCHW Det gick inte i tidigare monitorversioner - denna TRMOP är relativt ny (1 el 2 år).
(27443) (kommentar i 27453, 27475)
(27453) 79-11-12 18:12 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27443: av Lars Enderin FOA1 Ärende: INCHW Då kan jag äntligen ändra i VISTA-paketet så att man kan använda cursor up, cursor down o.s.v. när man spelar fotboll mellan två terminaler med FOOT-programmet.
(27453) (kommentar i 27479)
(27479) 79-11-12 18:53 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27453: av Jacob Palme FOA1 Ärende: INCHW INCHW är med i nya SYS:LIBSIM, men ej dokumenterad i LIBSIM.HLP och SIMLH3.MAN. Tillsvidare gällr följande som dokumentation: CHARACTER PROCEDURE inchw(iox); INTEGER iox; Läser ett tecken från en terminal som har i/o index = iox, utan att vänta på bryttecken. IOX kan fås via LIBSIM-proceduren IONDX, som tar en Outfile-referens som argument. En terminal med numret n har ioindex= 8R200000 + n. Fungerar som GETCH, men för godtycklig terminal.
(27479)
(27481) 79-11-12 19:00 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27475: av Christer Wikmark SU/ADB Ärende: INCHW Jag har nyss testat TRMOP. 1 (.TOSIP), som skippar om en godtycklig terminal (given av io index) har tecken i bufferten. Den fungerar verkar det som (använd XTRMOP(1, ioindex, 0), som ger värdet 1 vid skip). Glöm inte att läsa tecknen! XTRMOP(3, ioindex, 0) kan användas för att rensa bufferten.
(27481)
(27483) 79-11-12 19:12 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Nytt LIBSIM LIBSIM har moderniserats i väntan på SIMULA version 5. Se DOC:LIB911.DOC. Ex: QZCPU har införts. Testar om processorn är 1) Någon av QZ-s KL10-or 2) DEC-2020 på NADA eller ADB. Samma information (finns i modulen ISOLTR) används av t ex LITENBOKSTAV, TAGORD. Flera rättelser har införts. Flera nya och omarbetade procedurer kommer i version 5, som jag tänkte testa på NEW: först.
(27483)
(27739) 79-11-13 14:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INCHW, INSINGLECHAR I motsats till vad som påstås i nuvarande upplaga av SIMLH3.MAN, kan man faktiskt använda INSINGLECHAR för att läsa enstaka tecken från godtycklig terminal (som man kan använda som inmatningsenhet till programmet). INCHW är i detta fall något effektivare - testar ej på DSK, egen TTY, PTY etc och använder I/O index (UDX = Universal Device Index) direkt i st f att referera till filobjektet först och utföra motsvarigheten till proceduren IONDX före själva inläsningen. Det är litet av en designmiss att UDX inte finns i filobjektet alltid, men det var inte så aktuellt när SIMRTS konstruerades.
(27739) (kommentar i 28409)
(27803) 79-11-13 16:43 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Ärende: Flera ingångar till samma fil. Finns det något standardiserat vad gäller att från samma program ha flera kanaler öppna samtidigt till samma fil? Dvs är följande legalt: REF(Directfile) d1,d2; d1:-new directfile("a"); d2:- new directfile("a/acess:RONLY"); Sedan gör man accesser till olika delar av d1 resp. d2 för läsning. Fördel: Om inputbufferten till d1 innehåller information som man successivt betar av, samtidigt som man måste ut på filen och läsa, så undviker man onödiga läsoperationer med denna teknik. Finns det några nackdelar? Det fungerar både på DEC och på Univac. På Univac behöver man inte specificera Readonly. Men vi har inte kollat vad som händer om man börjar skriva på båda kanalerna.
(27803) (kommentar i 27813, 42165)
(27813) 79-11-13 16:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :27803: av Lars-Åke Larsson Ärende: Flera ingångar till samma fil. Jag kan f n inte se några större problem. Har inte sett något förbud enligt någon SIMULA-standard. Teoretiskt skulle man väl kunna skriva på flera kanaler så länge man inte skriver på samma ställe i filen. Det går inte på DEC-10 förrän man inför FILOP i st f LOOKUP/ENTER, vilket kräver stor omarbetning av I/O. ENQUE/DEQUE bör också implementeras och skulle kunna arbeta ända ned till recordnivå, åtminstone fil-block-nivå.
(27813)
(28409) 79-11-15 01:17 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :27739: av Lars Enderin FOA1 Ärende: INCHW, INSINGLECHAR Finns det någonstans (tillgängligt) dokumenterat hur fil-objekt 'ser ut' på MACRO nivå? T.ex. hur man hittar kanalnummer, buffertpekare o.dyl.
(28409) (kommentar i 28449, 28451)
(28451) 79-11-15 09:50 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :28409: av Örjan Ekeberg (NADA) Ärende: INCHW, INSINGLECHAR Svar i "Simula implementering".
(28451)
(29029) 79-11-16 15:36 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29005: av Lars-Åke Larsson Ärende: Finns viss fil. EXTERNAL BOOLEAN PROCEDURE lookfile(filspectext) returnerar TRUE om filen finns.
(29029) (kommentar i 29063)
(29063) 79-11-16 16:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29029: av Jacob Palme FOA1 Ärende: Finns viss fil. Allokerar inga buffertar, släpper i/o-kanalen!
(29063) (kommentar i 29145)
(29145) 79-11-17 13:23 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29063: av Lars Enderin FOA1 Ärende: Finns viss fil. Den där proceduren fanns inte beskriven i senaste upplagan av Simulahandboken del 3. Däremot fanns den på DOC: arean. Kunde ni inte ha en fil i vilken det successivt läggs in uppdateringar som avser handböckerna. Så att uppdateringarna hela tiden läggs i slutet av filen. Så kunde man ta ut en kopia av filen ibland och kolla att man har en någorlunda uppdaterad handbok. Det är ganska bra att ha tycker jag. Åtminstone om man programmerar väldigt mycket.
(29145) (kommentar i 29418)
(29179) 79-11-17 18:39 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: TXTPTR - kostnadsjämförelse Jag har gjort några testjämförelsekörningar mellan TXTPTR och andra sätt att koda. Jämförelserna följer: Example 1: Corresponding conventional code outstring(sysout,txtptr( outimage; "!13!!10!First line ..." outtext("First line ..."); outimage; "!13!!10!Second line ..." outtext("Second line ..."); outimage; ... ... "!13!!10!Last line ..." outtext("Last line ..."); outimage; "!13!!10!")); forceout(sysout); The program sequence above was tested coded in three ways (Output of 8500 lines on a KL10 CPU): CPU time Core requirement Coding method 0.66 s 1.9 K words Left example above 2.96 s 3.6 K words Corresponding conventional code 0.80 s 6.6 K words Left example above but with "copy" instead of "txtptr". The use of TXTPTR will thus save lots of CPU time and core. Another example of the use of TXTPTR: INTEGER ARRAY iaÄ1:1000Å; TEXT initia; INTEGER i; inita:- txtptr("!1!!13!!12!!16! .... "); FOR i:= 1 step 1 until 1000 DO iaÄiÅ:= rank(inita.getchar); Corresponding conventional code: iaÄ1Å:= 1; iaÄ2Å:= 13; iaÄ3Å:= 12; iaÄ4Å:= 16; .... Comparison of these two ways of initializing a large constant array: CPU time Core requirement Coding method 28 ms 2.5 K words Example using TXTPTR 3 ms 8.1 K words Corresponding conventional code 29 ms 5.7 K words Same code as for TXTPTR but using COPY instead of TXTPTR In this case, TXTPTR required much less core, but the corresponding conventional code required much less CPU time. However, initialization is usually only done once in a program, and thus core requirement is often more important than CPU time for initialization parts of a program. TXTPTR will of course save even more in case you want to keep a table of constants in core, but only have to look up a small part of the table contents in each execution.
(29179)
(29266) 79-11-18 17:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Release 4A vid QZ? Eller 4B? Borde inte den Simula-version som vi har vid QZ kallas 4B. Program som vi har går t.ex. ofta inte att kompilera med release 4A, (som inte har "!13!!10!" i texter t.ex.).
(29266) (kommentar i 29424)
(29418) 79-11-19 12:20 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29145: av Lars-Åke Larsson Ärende: Finns viss fil. Önskemålet är befogat. Att det inte genomförts får jag ta på mig skulden för - jag har helt enkelt inte hållit ordning på LIBSIM tillräckligt bra. Kanske ändå bättre att lägga uppdateringar först i filen, liksom i SYS:NEWS.TXT? En annan sak är massiva uppdateringar; man måste nog ta ut en helt ny lista då. Det kan också bli förvirrande med alltför täta uppdateringar.
(29418) (kommentar i 29432)
(29424) 79-11-19 12:26 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29266: av Jacob Palme FOA1 Ärende: Release 4A vid QZ? Eller 4B? Kanske det. Är det lönt att ändra?
(29424)
(29432) 79-11-19 12:43 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29418: av Lars Enderin FOA1 Ärende: Nyheter i LIBSM Kanske en ny konferens? En editerad kopia av denna (som tas ut till spec fil då o då) kunde utgöra underlag för en fil LIBSM.NEW. Helst skulle detta vara en i huvudsak skrivskyddad konferens. Ev diskussion om nyheterna skulle föras i detta möte. /byt LIBSM/LIBSIM/
(29432)
(29620) 79-11-20 08:31 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: "class infile" FÖrsöker fÖrtvivlat skapa subklasser till "infile" men får klagomål på "blocknivån". Hur ska man göra?
(29620) (kommentar i 29632, 29842)
(29632) 79-11-20 09:06 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29620: av Jan Linne'll Ärende: "class infile" Det går inte att skapa subklasser till CLASS FILE över huvud taget.
(29632)
(29694) 79-11-20 10:46 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LIBSIM nyheter Ny skrivskyddad konferens, dvs bara jag kan skriva i den. Kommentarer och brev till LIBSIM nyheter hamnar här (SIMULA erfarenhetsutbyte).
(29694)
(29824) 79-11-20 12:57 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Hur gÖr man för att stoppa ett simulaprog( med ^C), lagra "coreimage" på skiva, sedan ladda tillbaka coreimagen och fortsätta exekveringen? Vad händer med öppna filer (speciellt om man "väntar några dar" med att fortsätta exekveringen)?
(29824) (kommentar i 29847)
(29842) 79-11-20 13:16 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :29620: av Jan Linne'll Ärende: "class infile" Jag tror att det är en begränsning i DEC10-simula att man inte kan skapa subklasser till Infile,Outfile osv. På Univac tror jag däremot att det går. En fälla för den som försöker skriva portabla program. Rent praktiskt kan man lösa problemet t.ex. så här: link class filhållare(attribut,atribut); .... begin REF(Infile) infilen; Mera attribut och procedurer. Ev. "main"-kod i klassen. T.ex. Into(filhållarkö); END; Man har alltså en klass med de önskade tilläggsattributen. Klassen innehåller också en pekare till den aktuella filen.
(29842) (kommentar i 29851)
(29847) 79-11-20 13:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :29824: av Jan Linne'll Ärende: Spara SIMULA-prog Gör inte så! Det lär inte fungera för FORTRAN heller. Om du vill åstadkomma motsvarande effekt, men planerat, skall du lägga in anrop till SAVE (LIBSIM-procedur, se SIMLH3.MAN) på lämpliga avbrottställen. Förresten, FREEZE liknar mer vad du vill göra. Öppna filer kan man f n inte ha (utom SYSIN, SYSOUT).
(29847)
(30138) 79-11-21 11:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :29851: av Lars Enderin FOA1 Ärende: "class infile" Det var för att IBM-simula hade denna begränsning som vi valde att ha den i DEC-10-simula. På den tiden ansåg vi att portabilitet av Simula-program mellan DEC 10 och IBM hade mycket hög prioritet!
(30138)
(30324) 79-11-21 16:20 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Retur vid kompileringsfel Borde eg vara bekvämast om man vid kompilering (ej batch! och kanske ej heller vid samtidig kompilering av flera filer) direkt kom tillbaka till editorn med senast rättade fil (om .SIM). Nu hamnar man som ofta i LINK med regelmässigt värdelöst resultat.
(30324) (kommentar i 30370)
(30370) 79-11-21 16:52 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30324: av Mats Ohlin Ärende: Retur vid kompileringsfel Kanske det ja! SAIL har ett sådant interface med SOS. Man kommer till rätt rad t o m tror jag. För TECO verkar det svårt att hitta rätt rad. Men är inte sådana finesser rätt lågprioriterade? Det skulle väl ta ngn dag att koda och testa, men....
(30370) (kommentar i 30395, 30485)
(30395) 79-11-21 17:41 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30370: av Lars Enderin FOA1 Ärende: Retur vid kompileringsfel Det vore i alla fall bra om kompilatorn efter felupptäckt lät bli att köra LINK.
(30395) (kommentar i 30535)
(30485) 79-11-21 22:01 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30370: av Lars Enderin FOA1 Ärende: Retur vid kompileringsfel Om det bara är en dags arbete tycker jag i alla fall att det är värt besväret, i synnerhet om man kommer till rätt rad, men gäller det bara vid ett kompileringsfel eller det första.
(30485) (kommentar i 30533)
(30533) 79-11-22 09:21 Stefan Arnborg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30485: av Mats Wallin FOA1 Ärende: Retur vid kompileringsfel UCSD har en vided-liknande editor. När man fått fel i ett pascalprogram kommer man in i editorn med cursor på felet och felmeddelandet på nedersta raden. Jag vet inte om man kan få flera fel i en kompilering utpekade så här, men användarna av UCSD-systemet (PASCAL för mikrodator) är mycket nöjda med den här finessen. Jag skulle nog prioritera en sån här sak mycket högt i kategorin 'programutvecklingshjälpmedel'. Men som sagt, det är ju svårt att anpassa simula till alla existerande editorer på dec-10. Det kanske räcker med vided? (Då blir förstås alla som kör på långsamma linjer sura!)
(30533) (kommentar i 30539, 30766)
(30535) 79-11-22 09:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30395: av Tommy Ericson QZ Ärende: Retur vid kompileringsfel EXECUTE spärras ju genom .JBERR, men varför skall SIMULA uppföra sig annorlunda än andra kompilatorer? Det är ju TMP:SIM som innehåller LINK!-raden. Man skulle i så fall inte köra LINK eller kanske inte något angivet program alls? Men om man vill ha den effekten ändå, t ex köra SIMULA från ett SIMULA-program och återfå kontrollen via t ex raden DSK:xxxxxx! ?
(30535) (kommentar i 30555)
(30539) 79-11-22 09:33 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30533: av Stefan Arnborg Ärende: Retur vid kompileringsfel Jag skulle i första hand anpassa till SOS. I så fall kunde man skicka kontrollen till rätt rad kanske, men ett problem är att SIMULA inte håller reda på sidnummer, som SOS behöver. Jag vet inte heller vad SOS kräver i TMP-filen i så fall. Kan Tommy Ericson ta reda på det? VIDED måste anpassas att lyda kommandon via TMP-fil också. Helst samma som SOS, men det går väl inte? TECO är litet värre - det är svårt att ge en unik sträng att söka på, men det borde ju gå att hitta rätt rad ungefär, förutsatt att man håller reda på sidgränser. Kanske en tabell med sidnummer/första rad på sidan skulle behövas i SIMULA-kompilatorn. Sidnummer vore bra att ha i felmeddelandet ändå när man använder SOS och VIDED för redigering av SIMULA-program. Det verkar att ta mer än en dag nu när jag tittar närmare på det - kanske en vecka?
(30539) (kommentar i 30644, 30770)
(30555) 79-11-22 10:17 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30535: av Lars Enderin FOA1 Ärende: Retur vid kompileringsfel Det var en nöt. Om det som kompilerades inte var huvudprogrammet funkar väl inte .JBERR? Samt vid termination error? Vore det vettigt att vid fel bara ignorera just LINK! ? Troligen skulle en koppling till editor vara av större glädje för flertalet, fixare hittar alltid på något nytt.
(30555)
(30644) 79-11-22 13:34 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :30539: Ärende: Retur till editor vid kompileringsfel. Det är faktiskt mycket lätt att ordna. Skriv bara filen TMP:EDT med innehåll <blank>fil.ext<crlf> P<rad>/<sidnr><crlf> och kör SOS i CCLentry. Men det går att göra mycket bättre än så: SAIL har stor frihet att välja vad som ska göras vid felupptäckt. Prova ett felaktigt SAIL-program (.SAI), t.ex. BEGIN goto blaha; x_ 0 END; kompilera, och svara H då SAIL skriver "^" i vänstra kolumnen. Dom är inte så dumma i Stanford. Titta på Kap 4 i DOC:SAIL.DOC t.ex. På QZ finns vissa manualer att köpa också.
(30644)
(30766) 79-11-22 16:44 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30533: av Stefan Arnborg Ärende: Retur vid kompileringsfel UCSD är väl en Pascal-interpretator, inte en kompilator?
(30766) (kommentar i 31942)
(30770) 79-11-22 16:46 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30539: av Lars Enderin FOA1 Ärende: Retur vid kompileringsfel VIDED läser ju TMP:EDS, så där kunde man väl lägga in någon switch om vilken rad man vill gå till!
(30770)
(31818) 79-11-26 12:26 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ATR-filer Varför skapas ny ATR-fil om man kompilerar om en klass där man infört en hidden protected variabel. Det är inte särskilt lustigt om det är ett stort programpaket och det är ännu värre om det är flera programmerare som programmerar olika delar(klasser) med väl definierade interfaces.
(31818) (kommentar i 31836)
(31836) 79-11-26 12:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :31818: av Jan Linne'll Ärende: ATR-filer I ATR-filen ingår bl a information om hur långt från ett visst blocks början en variabel är placerad. Ny ATR-fil måste definitivt skapas i följande fall: 1) Man gör en tidigare åtkomlig variabel oåtkomlig. I så fall måste man ju hindra denna variabel från att refereras. 2) Man inför en ny variabel och gör den HIDDEN (eller PROTECTED) och flyttar därmed på andra attribut i klassen. Flyttning är oftast oundviklig, eftersom variabler sorteras med icke-ref (INTEGER, REAL, BOOLEAN etc) först, därefter TEXT och sist REF och ARRAY. Endast om man kan lägga den nya variabeln sist skulle man kunna undvika ny ATR-fil, men bara om man inte tillåter subklasser eller prefixade block! Offset för första attributet i en subklass eller första variabeln i ett prefixat block beror nämligen på offset för sista variabeln i prefixet. 3) Om man lägger till ett nytt procedur- klass- label- eller switch-attribut, går det åt ytterligare en eller flera unika identifierare, som allokeras successivt från den första. I allmänhet får alltså något attribut senare i ATR-modulen en ny identifikation, vilket kräver helt ny ATR-fil. Svaret är alltså att nya ATR-filer skapas för att det är nödvändigt!
(31836)
(31942) 79-11-26 17:15 Stefan Arnborg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :30766: av Jacob Palme FOA1 Ärende: Retur vid kompileringsfel Det är väl en smaksak vad man kallar den. Bra är den iallafall.
(31942)
(32314) 79-11-27 16:30 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Ta betalt för SIMULA FOA kommer sannolikt att ta betalt för SIMULA av installationer utanför QZ hädanefter. Trolig taxa blir 4000 kr/år för universitet och 12000 kr/år för övriga installationer. Dock finns ännu en viss chans att Digital istället tar över allt ansvar för SIMULA.
(32314) (kommentar i 32561, 32676, 32682, 32743)
(32561) 79-11-28 15:26 Lars Blomberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32314: av Jacob Palme FOA1 Ärende: Ta betalt för SIMULA Vad kommer det att kosta för FILIP?
(32561) (kommentar i 33102)
(32682) 79-11-28 19:50 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32314: av Jacob Palme FOA1 Ärende: Ta betalt för SIMULA Kunde ni inte finna former för att ta betalt i proportion till utnyttjande eller i proportion till anläggningens storlek. För en liten DEC20-anläggning som kanske bara kör ett fåtal program i Simula, så tycker jag inte att 12000 låter sådär väldigt billigt. Kör man mycket så låter priset däremot väldigt lågt.
(32682) (kommentar i 32848, 33104)
(32836) 79-11-29 11:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32743: av Stefan Arnborg Ärende: Ta betalt för SIMULA Det skall vara 4A(310). Här har vi 4A(330)+ett par rättelser, bl a nyare LIBSIM. DECUS fick problem med bandet eftersom de slog ihop mina mödosamt uppdelade saveset till ett, varvid vissa filer blev TOPS-20-versiom, de flesta TOPS-10 (samma filnamn, olika versioner, i ett par saveset). TOPS-20-versionen är inte up to date i EXE-filerna heller - måste göras av köparen.
(32836)
(32848) 79-11-29 12:09 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32682: av Lars-Åke Larsson Ärende: Ta betalt för SIMULA För 1022 t ex så betalar man olika köpepris beroende på vilken CPU-typ man har. Digital tar däremot lika mycket betalt för programvara oberoende om den används på kraftfullt SMP-system eller på liten DEC-2020.
(32848)
(32998) 79-11-29 18:08 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: GPSS och GPSSST Dessa nämns i DOC:SIMLH3.MAN, men man hittar dem inte (om man inte känner till FOA-arean). Hör de till distributionspaketet? Borde de inte läggas på SYS- eller REL-arean? DOC-filen sammalunda.
(32998) (kommentar i 33106)
(33102) 79-11-30 08:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32561: av Lars Blomberg Ärende: Ta betalt för SIMULA FILIP är ju inom FOA, så det blir ingen kostnad. Sannolikt inte inom försvaret överhuvudtaget. LIDAC däremot får väl betala 4000 kr/år om dom vill ha nya versioner av SIMULA i framtiden, men det är väl inte så blodigt?
(33102) (kommentar i 33176)
(33104) 79-11-30 08:37 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32682: av Lars-Åke Larsson Ärende: Ta betalt för SIMULA (Ironi) Det är en kupp från oss stordatoranvändare, förstår du vill, för att främja ekonomin hos våra maskiner. (Slut ironi). Vi vill väl bara inte krångla till det för oss för mycket. Skall man gå in på taxa efter användning, kan man göra det hur krångligt som helst för sig. Skall en stor maskin som bara kör Simula enstaka gånger betala mer än en 2020 som kör Simula jämt jämt?
(33104) (kommentar i 33122)
(33106) 79-11-30 08:42 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :32998: av Tommy Ericson QZ Ärende: GPSS och GPSSST Vi är lite tveksamma till hur många applikationspaket som bör ingå i SYS:LIBSIM. Bl.a. blir ju söktiderna långa för alla, speciellt om man lägger dit stora paket av typ GPSSS. Är det någon som använder GPSSS?
(33106) (kommentar i 33165, 33174)
(33165) 79-11-30 10:23 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33106: av Jacob Palme FOA1 Ärende: GPSS och GPSSST Det är just nu aktuellt på NADA. En hel kurs elektriker om jag inte minns fel, starkström.
(33165)
(33174) 79-11-30 10:39 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33106: av Jacob Palme FOA1 Ärende: GPSS och GPSSST Det viktiga är att informationen i SIMLH3 bör vara korrekt. Var man sedan placerar ett objekt har mindre betydelse. Varför blir söktiderna långa då man lägger in stora (till skillnad från de många små) moduler i LIBSIM? Är icke dessa filer indexerade, dvs. söktiden en funktion av antalet delar snarare än delarnas storlek?
(33174) (kommentar i 33222)
(33176) 79-11-30 10:40 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33102: av Jacob Palme FOA1 Ärende: Ta betalt för SIMULA Man kan ju jämföra med vad Digital tar betalt per år för några vanliga kompilatorer (priset är i dollar/år, obs att 1 DEC-dollar motsvarar ungefär 6 svenska kronor!): Fortran-10 950 Cobol 1300 algol 750 APL-SF 1500
(33176) (kommentar i 33186)
(33186) 79-11-30 10:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33176: av Sven Olofsson QZ Ärende: Ta betalt för SIMULA Är detta underhålls- eller hyrespriser? D.v.s. måste man därutöver betala ett köpepris för att överhuvudtaget få tillgång till produkten? Vi avser ju att ta ut allt på hyra/år och inte ta någon inköpsavgift.
(33186) (kommentar i 33224)
(33222) 79-11-30 11:49 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33174: av Tommy Ericson QZ Ärende: GPSS och GPSSST Söktiderna bör inte bli längre för stora moduler än för små, men reorganisering tar ju längre tid.
(33222)
(33224) 79-11-30 11:53 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33186: av Jacob Palme FOA1 Ärende: Ta betalt för SIMULA Det är underhållspriser. Till detta kommer köpepris. Listpriserna är: Fortran-10 10000 algol 10000 APL-SF 20000 Cobol 13000 (Priserna är i dollar.) Då man köper ett nytt DEC-system får man dock en massa rabatt på programvara i proportion till hur mycket hårdvara man köper. Programvaran ingår också oftast i paketpris med hårdvaran så att det är svårt att veta exakt vad man betalar. Generellt gäller dock att programvarupriserna stiger medans hårdvarupriset sjunker.
(33224) (kommentar i 33540)
(33540) 79-12-01 12:03 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :33224: av Sven Olofsson QZ Ärende: Ta betalt för SIMULA För att kunna jämföra de priser vi planerar med Digitals, så får man räkna om den fasta kostnaden till årlig. Med 7 års avskrivning får man då: Programvara Enbart underhåll Köp plus underhåll Fortran-10 4200 kr 13000 kr Cobol 6000 kr 18000 kr APL-SF 8000 kr 25000 kr Algol 4000 kr 12000 kr Detta skall alltså jämföras med vad vi planerar att ta för Simula, 4000 kr/år för universitet, 12000 kr/år för övriga. Jag tycker våra taxeförslag verkar rimliga!
(33540)
(34200) 79-12-04 17:04 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Monitorkommandon från simula Hur bär man sig åt för att göra ett monitorkommando inifrån ett simulaprogram?
(34200) (kommentar i 34229)
(34229) 79-12-04 17:53 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :34200: av Lennart Borgman LTH Ärende: Monitorkommandon från simula Det finns flera olika metoder. Beror på vad du vill göra. För vissa kommandon finns det LIBSIM-procedure som gör samma sak. Ex. proceduren RENAME gör det som man gör med monitor- kommandona RENAME och DELETE, proceduren TRMOP gör det som man gör med monitorkommandona SET TTY ..., t.ex. SET TTY FILL 3. En annan metod är att avbryta ditt SIMULA-program, anropa MIC som utför en MIC-fil (som ditt Simula program skapat) och sedan åter anropa samma eller ett annat SIMULA-program. Vill du komma tillbaka till samma program igen måste du stänga alla filerinnan du anropar MIC. En tredje metod är att använda PTY-hantering, för att starta ett SUBJOBB. Du kan då via ditt huvudjobb skicka kommandon till subjobbet som om ditt huvudjobb vore kontrollerande terminal till subjobbet, och även läsa vad subjobbet svarar. Om du anger mer vad det är du vill göra, kan jag ge dig råd vilken metod du bör välja.
(34229) (kommentar i 34320, 34565)
(34320) 79-12-05 10:09 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :34229: av Jacob Palme FOA1 Ärende: Monitorkommandon från simula Använd XTRMOP hellre än TRMOP (snabbare, allokerar inte minne, något annorlunda anropssekvens).
(34320)
(34565) 79-12-05 16:49 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :34229: av Jacob Palme FOA1 Ärende: Monitorkommandon från simula Jag tänkte bara göra något så enkelt som ett indirect DIRECT, istället för en förfärligt massa Lookfile. Det går förståss om jag gör SAVE på programmet och använder någon MIC, men det verkar vara att ta i lite för mycket.
(34565) (kommentar i 34569)
(34569) 79-12-05 16:51 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :34565: av Lennart Borgman LTH Ärende: Monitorkommandon från simula Under Ä13,201,UFDÅ finns ett antal hjälprutiner för att läsa i UFD:et vilka filer man har. Kanske kan något där passa?
(34569) (kommentar i 34724)
(34724) 79-12-06 13:31 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :34569: av Mats Ohlin Ärende: Monitorkommandon från simula DIRHND.SIMÄ13,134Å innehåller verktyg för läsning av UFD och SFD samt "Wild card"-sökning efter filnamn av typen A??B.*, *.SIM, A*.BC? Jag är inte helt nöjd med uppläggningen av DIRHND (finns i LIBSIM), men den används i SIMATR-programmet.
(34724)
(35138) 79-12-07 10:31 Björn Bergström Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: simdbm Hur får man tag på SIMDBM.RNO och SIMDBM.HLP som tydligen (SLH:III, sid 6) finns på LIBSM1.PAC eller LIBSM2.PAC. /FILPAC L,LIBSM1.PAC ger bara besked om att ingen .CMD fil finns, vilket ju är fullt klart om man bara letar på mitt ppn.
(35138) (kommentar i 35167)
(35167) 79-12-07 10:43 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :35138: av Björn Bergström Ärende: simdbm Detta är ett fel i handboken. Sök i stället på arean DSKE:Ä13,134,LIBSIMÅ, ev ...,SIMDOCÅ och ....,SIMUTIÅ
(35167)
(35191) 79-12-07 10:52 Kalle Mäkilä Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Industrial application Detta är ju ett huvudtema inom ASU nästa år, både den årliga konferensen och en workshop ägnas ämnet. Vad räknas egentligen till ämnet ? Databasapplikationer ? System för dokumentation ? Eller måste tillämpningarna ha en direkt anknytning till något industriföretag ? Finns det sådana applikationer i Sverige på gång just nu ? Att det förekommit simuleringar av produktionsprocesser känner jag till.
(35191) (kommentar i 35204)
(35204) 79-12-07 10:58 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :35191: av Kalle Mäkilä Ärende: Industrial application Vid diskussioner om temat på Simulakonferensen i Italien, s~å framhölls att alla fördrag inte MÅSTE handla om industriella tillämpningar. Men genom att ange industriella tillämpningar som tema, hoppades man kunna få personer med erfarenhet av sådana tillämpningar att ställa upp. Det ansågs att man måste trycka extra hårt på ämnet (dvs ange det som tema) för att få fram några föredrag. Har du något intressant att berätta om, så tycker jag att du skall sända in en kort beskrivning.
(35204)
(35729) 79-12-09 21:04 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Illegal memory reference Jag har lyckats få ett mystiskt fel, kallat ZYQ016. Har konsulterat manualen, men ej lyckats förstå något. Vem kan jag fråga?
(35729) (kommentar i 35781)
(35781) 79-12-10 12:00 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :35729: av Lennart Borgman LTH Ärende: Illegal memory reference Har du alltså läst handbokens förklaring och inte förstått någonting? Du bör skriva en felrapport och skicka den till mig. Kopiera t ex sid 224 i del II av SIMULA-handboken (senaste upplagan). Om du gör programmet tillgängligt för mig kan jag försöka hitta felet, förutsatt att det är upprepbart. Felet bör inte uppstå i rena SIMULA-program med array bounds check och qualification check (som normalt är påslagna).
(35781) (kommentar i 36409)
(36237) 79-12-11 10:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA 4B(330) SIMULA-systemet på SYS har hittills haft versionen 4A(330). Utan att ändra något annat har versionen ändrats till 4B(330), detta för att skilja denna version bättre från 4A(310), som skickats till DECUS för länge sedan. De som beställer version 5 från oss kommer tills vidare att få 4A(310) + SYS:, HLP:, DOC:, REL:-filer för version 4B(330).
(36237)
(36658) 79-12-12 09:20 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA version 5 När kommer SIMULA ver 5 att finnas tillgänglig?
(36658) (kommentar i 36672, 36690)
(37451) 79-12-14 12:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :37441: av Tommy Ericson QZ Ärende: MIC-kontroll Har prövat .TOCLR - privilegierat! Ute alltså!
(37451) (kommentar i 38831)
(37708) 79-12-14 21:16 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CALLMIC Går det bra med inmatning från annat medium än terminalen, tex en fil, för att MIC skall släppa kontrollen då, om .TOCLR är priviligierad.
(37708) (kommentar i 37797)
(37797) 79-12-15 18:26 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :37708: av Mats Wallin FOA1 Ärende: CALLMIC nej
(37797)
(37875) 79-12-16 09:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: XTRMOP snabbare än TRMOP Jag har just bytt ut alla anrop av TRMOP mot XTRMOP i VIDED. Resultat: 5% mindre CPU-tid. TRMOP lär överhuvudtaget vara långsammare än andra UUO-s som gör samma sak. Så kanske kan jag vinna en del om jag använder någon annan UUO än TRMOP för att t.ex. testa på om det finns type ahead (teckenvis) eller inte! Att den enda lilla ändringen från TRMOP till XTRMOP gav hela 5% CPU-tidsvinst förvånar mig! Det är ju ändå bara en väldigt liten del av koden som upptas av TRMOP-ar.
(37875)
(37916) 79-12-16 19:36 Tommy Ericson (QZ) Mottagare: DEC-10 erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Ny CPU installerad Bland nyheterna kan noteras att vissa demonstrationsprogram på GAM-arean inte fungerar korrekt om de använder absolutadressering på terminalen.
(37916) (kommentar i 37919)
(37919) 79-12-16 19:38 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :37916: av Tommy Ericson QZ Ärende: Ny CPU installerad Om du har sparade program som använder VISTA-paketet bör du ladda om det för att få med sen senaste versionen av QZCPU (som känner till samtliga serienummer för QZs DEC-10 system (4 st.).
(37919)
(37951) 79-12-16 23:47 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LOCAL CLASS attributes När jag körde ett program med anrop som i texten nedan blev jag lite förvånad. BEGIN CLASS a; BEGIN PROCEDURE prov;; CLASS local;; END; REF(a)pa; pa:-NEW a; pa.prov; END Vid kompileringen kommer nämligen följande: SIM361 E INVALID REMOTE ACCESS, CLASS A HAS LOCAL CLASS ATTRIBUTES Vad tusan ska nu detta vara bra för? Proceduren prov har ju inget med den lokala klassen att göra. Ännu underligare blir det förståss om man byter 'pa.prov;' mot 'INSPECT pa DO prov;'. Då går kompileringen bra!
(37951) (kommentar i 37987)
(37987) 79-12-17 11:21 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :37951: av Lennart Borgman LTH Ärende: LOCAL CLASS attributes Det är inte förvånande, för det är en restriktion som finns beskriven i handböckerna (tom Common Base tror jag). Däremot har man ju som slutanvändare av SIMULA inte nån större förståelse för restriktionen, som finns enbart av implementationstekniska skäl. (fast jag blev också snopen första gången)
(37987) (kommentar i 38021)
(38021) 79-12-17 12:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :37987: av Mats Wallin FOA1 Ärende: LOCAL CLASS attributes Restriktionen finns i CB 7.1.2: The remote identifier X.A is valid if the following conditions are satisfied: 1) The value of X is different from NONE. 2) The object referenced by X has no class attribute declared at any prefix level equal or outer to that of C. Condition 1 corresponds to a run time check which causes a run-time error if the value of X is NONE. Condition 2 is an ad hoc rule intended to simplify the language and its implementations.
(38021)
(38295) 79-12-18 00:24 Sten-Åke Tärnlund Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :37952: av Lennart Borgman LTH Ärende: LOCAL CLASS attributes återse 38293
(38295)
(38355) 79-12-18 10:26 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Man lär så länge man lever Idag, efter att ha använt SIMULA ganska intensivt i fyra år, upptäckte jag att det finns nåt som heter logicalname för filer. Och att det finns "latmansspecifikation" med *, mm. mm.
(38355)
(38777) 79-12-19 14:20 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Upcase på enskilt tecken Vissa interaktiva program begär ibland bara ett en-tecken-svar från användaren. Till ex. "Svara J(a) eller N(ej):". Vid sådana tillfällen kunde en enkel rutin som förvandlar ett tecken till UPPER CASE vara behändig. T ex: CHARACTER PROCEDURE upc(c); CHARACTER c; upc:= IF 'a' <= c AND c <= 'z' THEN Char( Rank(c) - ( Rank('a')-Rank('A') ) ) ELSE c; Så kan man sedan bekvämt skriva: Outtext("......"); Breakoutimage; Inimage; c:= upc(Inchar); IF c = 'Y' THEN .... ELSE IF c = 'N' THEN ... etc. utan att behöva skriva den längre koden IF c = 'y' OR c = 'Y' .... Kandidat för LIBSIM? Skall även en motsv STORC också med (för åäö)?
(38777) (kommentar i 38791, 38827, 38829)
(38791) 79-12-19 14:44 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :38777: av Mats Ohlin Ärende: Upcase på enskilt tecken IF c = 'A' OR c = 'a' skrivs kompaktare IF jfrtkn(c, 'A') = 0 JFRTKN är alltså en ny LIBSIM-procedur tillgänglig nu. Fungerar för ÅÄÖ.
(38791)
(38827) 79-12-19 16:06 Tommy Ericson (QZ) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :38777: av Mats Ohlin Ärende: Upcase på enskilt tecken Absolut! Jag har sedan länge haft en egen sådan (MACRO-kodad) procedur UPC(c), ofta använd.
(38827)
(38829) 79-12-19 16:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :38777: av Mats Ohlin Ärende: Upcase på enskilt tecken Bara en procedur skulle behövas tycker jag, tveksamt om ÅÄÖ behövs.
(38829) (kommentar i 39086)
(39086) 79-12-20 13:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :38829: av Lars Enderin FOA1 Ärende: Upcase på enskilt tecken Jag har nu gjort en egen UPC.MAC, kommer i LIBSIM så småningom.
(39086)
(40296) 79-12-26 18:37 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Datum-kontroll-rutin: DATECHECK Jag har skrivit en Simularutin DATECHECK som kontrollerar-korrigerar datumangivelser inmatade från användarterminaler. TEXT PROCEDURE datecheck(date); VALUE date; TEXT date; Rutinen returnerar ALLTID en legal datumtext på formatet "1979-12-26" vad man än ger för parameter. Om parametern är någotsånär begriplig omformuleras den till rätt format, ev. felande fält tas från dagens datum. Exempel: "1979-12-26" går igenom oförändrat "1979 12 26" görs om till "1979-12-26" "12 26" görs om till "1979-12-26" där körningens årtal fylls på. Ger man bara månad, fyller rutinen på aktuellt årtal och månad. Ger man NOTEXT eller helt obegriplig parameter, får man dagens datum helt och hållet ut ur rutinen. Rutinen finns just nu på 1116,4373.
(40296) (kommentar i 40308, 40696, 41173)
(40308) 79-12-27 00:09 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :40296: av Jacob Palme FOA1 Ärende: Datum-kontroll-rutin: DATECHECK Hoppas den läggs in i LIBSIM så småningom.
(40308)
(40696) 79-12-28 16:50 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :40296: av Jacob Palme FOA1 Ärende: Datum-kontroll-rutin: DATECHECK Jag har nu på förslag av Torgny Tholerus modifierat DATECHECK så att den (a) godtar datum av formatet 791228 (b) en Boolesk parameter "nofoture". Om denna är sann justeras datum i framtiden ner till dagens datum. Skriver man t.ex. idag "30" så blir det "1979-11-30" ty det är den senaste månad i vilket datumet "30" är "nofoture". Pröva FOA:KOMDAY om du vill kolla hur det funkar.
(40696) (kommentar i 40760)
(40846) 79-12-30 11:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :40760: av Mats Wallin FOA1 Ärende: Datum-kontroll-rutin: DATECHECK Ja, stavfel. Dock spelar det ju ingen roll i Simula vad man påstår att en boolesk parameter heter (något som är diskutabelt, BUDGOL var bättre på denna punkt). I BUDGOL skrev man inte som i Simula: datecheck(datum,true) utan man skrev datecheck(date:datum,nofuture:true) vilket jag nog tycker är bättre!
(40846)
(41040) 80-01-01 18:37 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: bug (eller snarare brist) i getitem + tagord Det borde åtminstone finnas dokumenterat att getitem samt tagord då alla ord i en text är lästa, och parametern är en sub-text, sätter pos efter mt.main.length och inte efter t.length, som simlh3 låter antyda (ännu bättre om proc. satte pos efter t.length, men det kanske blir mer komplicerat ?).
(41040) (kommentar i 41153, 41175)
(41153) 80-01-02 12:50 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41040: av Christer Wikmark SU/ADB Ärende: bug (eller snarare brist) i getitem + tagord Va! Kan man sätta POS högre än LENGTH+1. Det trodde jag inte var legalt i Simula!
(41153)
(41173) 80-01-02 13:05 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :40296: av Jacob Palme FOA1 Ärende: Datum-kontroll-rutin: DATECHECK Någon sorts felindikation vore väl bra? Antingen en signallerande (namn)parameter eller annan indikation via returnerad text. POS hos texten kan flagga om något var fel (och standarddatum=dagens) returnerats. POS = 1 helt OK, POS = 2 OK men dag saknas, POS = 3 felaktig parameter ( dagens datum).
(41173)
(41175) 80-01-02 13:08 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41040: av Christer Wikmark SU/ADB Ärende: bug (eller snarare brist) i getitem + tagord Förstår inte riktigt, kan du förklara dig utförligare?
(41175) (kommentar i 41428)
(41428) 80-01-02 20:47 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41175: av Mats Ohlin Ärende: bug (eller snarare brist) i getitem + tagord En aning mittåt. Det verkar som om pos sätts till length+2 snarare. Length+1 vore nog naturligare.
(41428) (kommentar i 41567)
(41567) 80-01-03 13:49 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41428: av Christer Wikmark SU/ADB Ärende: bug (eller snarare brist) i getitem + tagord Du har rätt, det var en lus! Rättelse kommer snart i LIBSIM. Pos skall ALDRIG kunna vara > Length + 1, så det var inte en "brist" utan ett regelrätt fel av mig. Det är tydligt att GETITEM (INITEM) och TAGORD (INORD) inte används mycket eftersom ingen tidigare upptäckt felet.
(41567) (kommentar i 41626, 41992)
(41626) 80-01-03 15:12 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41567: av Lars Enderin FOA1 Ärende: bug (eller snarare brist) i getitem + tagord Slutsatsen i sista meningen är kanske inte helt självklar. Inte säkert att man upptäcker felet, även om man använder någon av de nämnda rutinerna. Normalt testar man väl på More alternativt ekvivalenta Pos > Length.
(41626) (kommentar i 41652)
(41652) 80-01-03 15:27 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41626: av Mats Ohlin Ärende: bug (eller snarare brist) i getitem + tagord Ok, jag kom på det sedan!
(41652)
(41690) 80-01-03 17:01 Giltighetstid -744052418 dagar. Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN
(41690) (kommentar i 41703, 41783)
(41703) 80-01-03 17:19 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41690: av Gunnar Lindell QZ Ärende: Outtext Det är nog helt enligt definitionen - om texten given till Outtext inte ryms i resten av Image (fr o m Pos) görs en implicit Outimage först. Men om texten är längre än Image sker felavbrott. Tyvärr, tycker jag, eftersom det ibland är besvärligt att gardera sig mot denna typ av fel. I synnerhet som Sysin:s och Sysout:s image- längd styrs av terminalparametern WIDTH (om TTY -- vilket ju är normalt). Med hjälp av proceduren outstring i LIBSIM kan man alltid mata ut godtycklig text på terminalen (under förutsättning att den har automatisk s k "wrap around", dvs själv genererar en lokal CRLF-skevens vid radslut). Annars kan man alltid lätta skriva en egen variant av Outtext som gör ngt i stil med: PROCEDURE outt(t); VALUE t; TEXT t; IF t.Length > Length THEN BEGIN Outtext(t.Sub(1,Length)); outt(t.Sub(Length+1,t.Length-Length)); END ELSE Outtext(t);
(41703) (kommentar i 41763)
(41763) 80-01-03 18:41 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41703: av Mats Ohlin Ärende: Outtext Texten var längre än hela image och bröts flera gånger (det var en riktigt lång text), så jag tycker fortfarande det är en smula märkligt. Men kanske inte mycket att orda om.
(41763) (kommentar i 41838)
(41838) 80-01-04 10:38 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41763: av Gunnar Lindell QZ Ärende: Outtext Ett annat sätt att skriva ut långa texter är (om terminalen accepterar det) att skriva: temp:- Image; Image:- longtext; Outimage; Image:- temp; Vad menar du med "bröts flera gånger"?
(41838) (kommentar i 41994)
(41992) 80-01-04 14:11 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41567: av Lars Enderin FOA1 Ärende: bug (eller snarare brist) i getitem + tagord Jag har använt getitem, tycker den borde användas mer. Men jag testar alltid på MORE och då blir inte det problem ni diskuterar.
(41992) (kommentar i 41998, 42180)
(41994) 80-01-04 14:14 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41838: av Mats Ohlin Ärende: Outtext En test som man skriver ut kan bli bruten (uppdelad på rader) a) av SIMULA-programmet b) av DEC-s operativsystem om man har TTY CRLF och TTY WIDTH c) av terminalen om denna har automatisk CRLF vid radslut Det är inte så alltid lätt att se på terminalen vilket program som brutit textraderna.
(41994)
(41998) 80-01-04 14:27 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41992: av Jacob Palme FOA1 Ärende: bug (eller snarare brist) i getitem + tagord En viktig och kanske inte helt uppmärksammad skillnad mellan GETITEM och TAGORD är att förutom att ÅÄÖ accepteras som bokstav av TAGORD, även underscore (_) accepteras p s s som siffra i identifierare. Härigenom är tagord idealisk när man skriver program som bearbetar SIMULA-kod.
(41998)
(42180) 80-01-04 19:05 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :41992: av Jacob Palme FOA1 Ärende: bug (eller snarare brist) i getitem + tagord I allmänhet är säkert more tillräcklig, men i aktuellt fall hade jag dessutom en "explicit" pos-integer som skulle få ett värde, varfÖr frågan om det fanns More eller ej var ointressant. Appropå More vore det trevligt om det fanns en proc. Stripmore som gjorde kollen om pos<=strip.length, vilket blir lite tjatigt (och något mindre effektivt antar jag) att skriva.
(42180) (kommentar i 42476)
(42220) 80-01-05 01:19 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Simula på IBM. Har fått några förfrågningar från Forsvarets Datatjenste i Danmark. Man undrar bl.a. Innebär det några problem att köra reentranta program i simula på IBM? Kan man åstadkomma programkontrollerad segmentering av Simulaprogram på IBM, på ett effektivt sätt. (Det kan man inte under Tops-10 på DEC.) Förutsätter väl att man från en terminal kan hålla igång flera jobb som kan "prata" med varandra på något sätt. Hur sköter man kommunikationen mellan subprogram? Vad skiljer externkompileringen på IBM från DEC-simula ? Fungerar direktfiler likadant på IBM som på DEC?
(42220) (kommentar i 42244, 42480)
(42244) 80-01-05 10:12 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42220: av Lars-Åke Larsson Ärende: Simula på IBM. Svar på några av dina frågor: a) IBM har en segmentering i tre segment, initiering, körning, avslutning, men det har man i allmänhet inte så mycket nytta av. Hela det egna programmet ligger i initieringen. b) IBM-s "externkompilering" innebär att man enbart låter de externa klasserna gå igenom första passet i kompilatorn. Övriga pass genomgås först vid kompilering av huvudprogrammet, och då för samtliga externkompilerade klasser också. OBS att vissa felutskrifter på extern- klasserna därmed kommer först när man kompilerar huvud- programmet.
(42244)
(42382) 80-01-06 21:51 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: DATECHECK Datecheck levererade idag (6 jan) 1980-01-07 på datecheck(7,TRUE); så ska re vel inte va va (vaa va enl tt).
(42382) (kommentar i 43195)
(42476) 80-01-07 13:24 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42180: av Christer Wikmark SU/ADB Ärende: STRIPMORE Har diskuterat med Lars Enderin huruvida man kan ordna så att man kan "spionera" på filobjektet och där se hur lång den inmatade raden verkligen var. Vore väl bra va? Jämför t ex NUMBERED. INTEGER PROCEDURE inlength(inf); REF (Infile) inf; skulle då returnera längden av senast Inimage:ade image. Men OM det inte finns plats i flobjektet att lagra denna information måste den kanske lagras globalt, varvid proceduren blir parameterslös (som NUMBERED) och resultatet får gälla senast utförda Inimage. Men det blir ju ingen större inskränkning - man torde ju vilja anropa Inlength omedelbart efter utförd Inimage. Vad säger Lasse?
(42476) (kommentar i 42505, 42529)
(42480) 80-01-07 13:26 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Inger Mårtensson. Mottaget: 80-01-07 23:02 Kommentar till :42220: av Lars-Åke Larsson Ärende: Simula på IBM. Direktfil fungerar inte riktigt lika -- tyvärr. Dessutom är det ganska ineffektivt gjort på IBM. SCB lär ha fixat egna I/O-rutiner för direktaccess. Kanske Björn Bergabo vet mera?
(42480) (kommentar i 43750)
(42529) 80-01-07 14:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42476: av Mats Ohlin Ärende: INLENGTH Det finns f n inte tillräcklig info sparad för att denna procedur skall kunna skrivas direkt utan RTS-ändringar. Det som finns är en bytepointer (använd av SIMDDT) som pekar på första tecken efter sista från en Infile inlästa tecken. Pekaren pekar alltså normalt på en tillagd blank i Image, såvida inte hela Image fylldes via Inimage utan tillägg av extra blanka. Tyvärr vet man inte 1) Vilken fil Image tillhör 2) Var Image börjar Man skulle kunna ge filen som parameter förstås, men då kan man få verkligt underliga resultat om man har fel fil som parameter. Det är möjligt att kolla om pekaren verkligen hör till filen, men då blir koden så pass lång att det knappast lönar sig jämfört med Strip. Bäst vore förmodligen att göra plats i filobjektet för antal tecken inlästa i Image och att lagra dessa. Tveksamt om nyttan av detta är tillräckligt stor. I så fall borde man förresten lagra info om ev radnummer och bryttecken på samma gång. Kanske något att tänka på vid en revision av I/O.
(42529) (kommentar i 42719)
(42719) 80-01-07 20:31 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42529: av Lars Enderin FOA1 Ärende: INLENGTH Allt det skulle givetvis vara bra, men en boolean proc stripmore(t); text t; vore inte dum den heller !
(42719) (kommentar i 42737)
(42737) 80-01-07 21:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42719: av Christer Wikmark SU/ADB Ärende: STRIPMORE Jag gjorde en sådan, se STRIPM.*<13,134> för att slippa motivera varför jag inte tycker den behövs! Kopiera den för all del, den kanske försvinner om ingen annan vill ha den!
(42737) (kommentar i 43203)
(42789) 80-01-08 08:50 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Layout på standardklasser Infile osv. Rätt ofta är det någon som undrar hur dessas internlagrings- struktur ser ut, men infrmationen finns inte samlad på ett enda ställe och är inte helt lätt att finna. Tycker ni inte att det vore ett önskvärt tillägg till SIMLH2? eller del 3 i fall det är enklare. Tills vidare en fil att lägga på DOC:-arean?
(42789) (kommentar i 42813)
(42813) 80-01-08 09:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42789: av Tommy Ericson QZ Ärende: Layout på standardklasser Infile osv. Det finns vissa skäl att hemlighålla internstrukturen för att lättare kunna ändra den vid en revision, som bl a Tommy önskar! Det blir svårt nog för mig att föra in större ändringar i MACRO-koden men kan bli mycket värre för dem som ev använder numeriska offset för att komma åt vissa fält, t ex io-kanal. VARNING alltså för att gå in för djupt i strukturerna! Ingenting garanteras i följande releaser!
(42813)
(43195) 80-01-08 19:03 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :42382: av Mats Wallin FOA1 Ärende: DATECHECK OjOjOjdå.
(43195)
(43328) 80-01-09 08:47 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: F(X)=0 Är det någon som har ett simulaskrivet program som löser algebraiska ekvationer av 5:e ordningen och lägre som jag kan få ta del av?
(43328) (kommentar i 43601)
(43601) 80-01-09 14:36 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :43328: av Göran Lyman Ärende: F(X)=0 Vad menas med "löser". 5:egradsekv år som bekant "svårlöst".
(43601) (kommentar i 43637)
(43637) 80-01-09 15:27 LennartS Månsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :43601: av Jan Linne'll Ärende: F(X)=0 Jo, om man använder numeriska metoder så uppstår inte de principiella svårigheterna vid lösning av fjärdegradare och högre.
(43637)
(44932) 80-01-11 10:24 Lars Enderin Mottagare: LIBSIM nyheter (SIMULA) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :44590: av Lars Enderin FOA1 Ärende: Nyheter Jan 1980 Nyheterna är nu införda. Dessutom måste användare av VISTA och FORM ändra EXTERNAL-deklarationerna: TRMOP ersätts av XTRMOP (snabbare variant, rekommenderas även i andra program): Lägg till EXTERNAL CHARACTER PROCEDURE inchw; EXTERNAL BOOLEAN PROCEDURE QZCPU; I version 5 kommer sådana ändringar inte att behövas, endast omkompilering.
(44932)
(44998) 80-01-11 11:00 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CALLMIC Jag använder CALLMIC med två st argument =/= NOTEXT och vill således att programmet som jag kör skall fortsätta att exekvera. Efter återhopp till programmet ställs en fråga men jag får inte tillfälle att svara på den då det av ngn anledning kommer in ett ^C. Vad gör jag för fel? Hur skall det rättas till?
(44998) (kommentar i 45049, 45527, 45630)
(45049) 80-01-11 12:14 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :44998: av Göran Lyman Ärende: CALLMIC Programmet skrev även ut "ABORT ON FATAL ERROR".
(45049) (kommentar i 45537)
(45527) 80-01-11 17:44 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :44998: av Göran Lyman Ärende: CALLMIC Jag tror att det är något som trasslar pga protectioncoden hos din mic-fil. Det förefaller som om att om MIC lyckas deleta filen, så ger ett följande uppslag av filen från MIC, upphov till ett allvarligt fel. Följande programsnutte fungerar dock: BEGIN EXTERNAL INTEGER PROCEDURE callmic,save; EXTERNAL BOOLEAN PROCEDURE scratchfile,tmpout; EXTERNAL TEXT PROCEDURE tmpnam,conc; EXTERNAL PROCEDURE run; BEGIN INSPECT NEW Outfile("marHLP.tmp<257>") DO BEGIN Open(Blanks(80)); Outtext(".revive"); Outimage; Outtext(".Copy goran.simÄ226,264Å<057>=goran.simÄ226,264Å/N"); Outimage; Close; END; callmic("marHLP.tmp","HPKONV.sav"); Outtext("här är vi igen!"); Outimage; Outtext("eller hur?"); breakoutimage; inimage; Outtext("ja just det"); outimage; END; END; Observera protection-koden hos mic-filen. Du kanske via proceduren rename kan sänka protectionkoden efteråt, och därefter deleta filen via scratchfile.
(45527) (kommentar i 45543)
(45537) 80-01-11 17:49 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :45049: av Göran Lyman Ärende: CALLMIC Det verkar som MIC bryter pga att MIC-filen städats bort. Ett sätt att kringgå detta är att 1. Döpa micfilen till t ex MIC.TMP<277> 2. Först i MIC.TMP skriva '<REVIVE> ... 3. Sist i MIC.tmp skriva '<SILNECE> (ser snyggt ut då). 4. Vid återkomst till CALLMIC-anropade programmet, via LIBSIM:RENAME döda MIC.TMP (FORCE=TRUE).
(45537)
(45543) 80-01-11 17:55 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :45527: av Lars-Åke Larsson Ärende: CALLMIC Två själar - en tanke! OBS dock att RENAME kan sköta DELETE på en gång, så SCRATCHFILE behöver inte anropas.
(45543) (kommentar i 46084)
(45630) 80-01-11 19:14 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :44998: av Göran Lyman Ärende: CALLMIC Testa ny version CALMICÄ13,201Å. Nu måste man själv anropa RENAME(<micfilnamn>,NOTEXT,TRUE) efter anropet av CALMIC (OBS stavningen), om man angett SAVFILE. Felet med ABORT fixat för de fall SAVFILE=NOTEXT; MIC-filen appendas nu med '<SILENCE>.PROT <000> micfil .DEL micfil .MIC RETURN ; så slipper man ABORT-diagnosen.
(45630) (kommentar i 45643)
(45643) 80-01-11 19:26 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :45630: av Mats Ohlin Ärende: CALLMIC OBS! Anropet till RENAME får inte göras förrän EFTER första terminalinmatningstillfälle!! Annars får man samma ABORT- problem som tidigare. Se CALMIC.SIM-kommentaren.
(45643)
(46084) 80-01-14 12:23 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :45543: av Mats Ohlin Ärende: CALLMIC I SLH del 3 står det inget om att prot code måste vara<2xx> varför inte??
(46084) (kommentar i 46096)
(46096) 80-01-14 12:38 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46084: av Göran Lyman Ärende: CALLMIC Missen i CALLMIC (och dess dok.) var att jag aldrig testade fall där det återuppvaknande programmet begärde inmatning från terminalen. Därfödrog jag den förhastade slutsatsen att ABORT-diagnosen (som då kom först vid programslut), inte hade någounktion. Prot <2xx> krävs för att (gamla) CALLMIC skall misslyckas att ta bort MIC-filen, vilket borde varit standard. Men på den tiden fanns inte RENAME... Vad säger Göran och övriga?: Skall nya CALMIC in i LIBSIM? Synpunkter? -- Vill ogärna ändra i (gamla) CALLMIC, emedan användare ev kan ha gjort sig beroende av dess sätt att fungera. Dock skall jag ändra dok. så att <2xx> rekommenderas.
(46096) (kommentar i 46182, 46253)
(46182) 80-01-14 14:16 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46096: av Mats Ohlin Ärende: CALLMIC Den bör defenitivt in i LIBSIM då CALLMIC inte fungerar i alla fall utan har vissa begränsningar.
(46182)
(46253) 80-01-14 16:03 Rolf Wasteson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46096: av Mats Ohlin Ärende: CALLMIC Det är lite tråkigt att ha flera procedurer som gör ungefär samma sak. Jag tycker att proceduren skall in så alltså bör den gamla ut. För att klara alla 'gamla' användningar av CALLMIC, kan man väl ha proceduren kvar tills vidare men stryka den ur dokumentationen. Om möjligt också att man vid kompilering av ett program med 'gamla' CALLMIC får ett varningsmeddelande.
(46253)
(46446) 80-01-14 20:54 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: BEGIN - END Det vore trevligt med något snabbt program som bara kollade att BEGIN-END matchade i en fil. Simed tar (i varje fall på DEC20) rätt lång tid för större filer.
(46446) (kommentar i 46450, 46460, 46466)
(46450) 80-01-14 21:16 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46446: av Christer Wikmark SU/ADB Ärende: BEGIN - END En option till SIMED kanske?
(46450) (kommentar i 47236)
(46452) 80-01-14 21:18 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED NADA vill ha SIMED som monitorkommando på NADA/DEC-2020. Något att införa på alla QZ:s DEC-datorer?
(46452)
(46460) 80-01-14 21:38 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46446: av Christer Wikmark SU/ADB Ärende: BEGIN - END Ett sådant program måste dock känna igen textkonstanter, kommentarer, end-kommentarer, %-rader.
(46460)
(46466) 80-01-14 21:50 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46446: av Christer Wikmark SU/ADB Ärende: BEGIN - END Ganska snabbt med .R SIMED-xxx/-C/I:0/E:000 dock. Håller med 46460 att det ju krävs viss analys om man skall klara textkonstanter, char.konst ('!', '"') och olika slags kommentarer (end-comment, !...; och %....). Men om ingen utskrift utan endast diagnoser önskas, går det säkert att skriva ett mycket snabbare program. En variant med att ha SIMED som kommando vore väl att ordna ett snyggt anrop från SOS till SIMED (och tillbaks igen ev)? Kan man i SOS (som i TECO) ange att visst SYS-program skall anropas när man lämnar editorn?
(46466) (kommentar i 46474)
(46474) 80-01-14 21:54 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46466: av Mats Ohlin Ärende: BEGIN - END I SOS skriver man: /RUN=programnamn och avslutar sedan editeringen med G
(46474)
(47038) 80-01-15 17:24 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED Vore bra om SIMED vägrade att editera filer som inte har extension SIM eller ALG då SIMED läser TMP:EDS (via "R SIMED;").
(47038)
(47213) 80-01-15 20:35 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SCANCHAR Analog till SCANINT etc. Liksom FETCHAR ger den ej felavbrott om NOT t.More (i satsen c:= scanchar(t)) utan Char(0). Finns det behov?
(47213) (kommentar i 47384)
(47236) 80-01-15 21:07 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :46450: av Sven Olofsson QZ Ärende: BEGIN - END Låter bra, tycker jag!
(47236)
(47384) 80-01-16 10:50 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47213: av Lars Enderin FOA1 Ärende: SCANCHAR Så SCANCHAR(t) är identiskt med fetchar(t,t.Pos) ? Har inget emot att den läggs upp - ser ju logiskt och snyggt ut (jfr SCANINT, SCANREAL).
(47384) (kommentar i 47389)
(47389) 80-01-16 10:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47384: av Mats Ohlin Ärende: SCANCHAR Nej inte exakt så! Pos ändras ju som av GETCHAR, om inte Pos = Length + 1, vilket ger Char(0) och oförändrad Pos. FETCHAR ändrar ju inte Pos!
(47389) (kommentar i 47393)
(47393) 80-01-16 10:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47389: av Lars Enderin FOA1 Ärende: SCANCHAR Javisst - ökar motivet att införa SCANCHAR tycker jag.
(47393)
(47888) 80-01-17 10:34 Lars Enderin Mottagare: LIBSIM nyheter (SIMULA) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor Ärende: Ändringar för 7.00 + ett par nya procedurer Ny LIBSIM igen. Se HELP NEWS, DOC:LIB801.DOC (uppdaterad). Viktigaste ändring: TTYNUMBER klarar att koppla till en terminal (connect) så att den sedan kan användas av programmet. OPNDEV testar om t ex en terminal är ledig. IOCHNL kan användas för att få en io-kanal och markera den som upptagen, även för att frigöra den. Kanalen kan sedan användas för i/o i MACRO-10-procedurer eller t o m i SIMULA-programmet direkt med utnyttjande av någon CALLI-funktion via XCALLI. SCANCHAR är en säkrare GETCHAR, analog med SCANINT: CHARACTER PROCEDURE scanchar(t); NAME t; TEXT t; scanchar:= IF t.More THEN t.Getchar; Ger alltså Char(0) om t är "slut".
(47888) (kommentar i 47897)
(47906) 80-01-17 10:40 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CAL(!)MIC Får jag inte att fungera heller, jag gör en inline från terminalen efter calmic, och därefter rename på micfilen, men likafullt får jag ABORT ON ...
(47906) (kommentar i 47946)
(47946) 80-01-17 11:48 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47906: av Mats Wallin FOA1 Ärende: CAL(!)MIC När jag fick det att fungera hade jag prot code satt tiil <257> och använde CALMICÄ13,201Ä.
(47946)
(47988) 80-01-17 12:42 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor Ärende: Terminal-i/u i SIMULA-program Användning av terminaler för in/utmatning i SIMULA. -------------------------------------------------- Vissa SIMULA-program använder en eller flera terminaler utom den styrande för i/u. Före ANF-10 och nätverken var det enkelt - varje fast kopplad terminal hade ett bestämt fysiskt namn, t ex "TTY55". Man kunde skriva NEW Outfile("TTY55:") och alltid få samma fysiska terminal om den var ledig. Med monitorkommandot .ASSIGN TTY55: T: (kolon ej nödv.) kunde man också reservera terminalen och ge den det logiska namnet T (t ex), som kunde användas i st f TTY55 som "device". Efter införandet av nod_linje-specifikationerna måste man ta reda på aktuellt terminalnamn med något program eller göra INITIA på terminalen själv. TEXT PROCEDURE ttynumber(node, lineno) skrevs för detta ändamål. TTYNUMBER finns i SYS:LIBSIM. ASSIGN kunde inte användas med nod_linje (tror jag). Fasta terminaler var ständigt tillgängliga om ingen annan använde dem. I monitorversion 7.00 kan man inte längre anta att en "fast" terminal är åtkomlig direkt. Man måste först koppla den till systemet (connect). Detta kan nu göras av en ny version av TTYNUMBER, som använder XCALLI med koden 8R157 (NODE.) och funktionskoden .NDTCN (Terminal CoNnect, 8R10). Nod och linje är som förut fasta. Obs att terminal- och nodnummer är oktala, ttynumber(8R12, 8R77) ger t ex fysiskt nummer (för tillfället) på terminalen nr 77 på nod 12 (12_TTY77). Obs att t:- ttynumber(8R2, 8R33) ger subtexten "11" t ex. t.Main är då "TTY11:" och kan användas direkt som filspecifikation. Dessutom kan man nu använda monitorkommandot ASSIGN, t ex ASSIGN 2_TTY33 T, för att koppla till terminalen 33 på nod 2 och ge den logiska enhetsnamnet T (frivilligt argument). Man får också reda på det fysiska namnet, t ex "TTY11 assigned". Endera "T:" eller "TTY11:" kan sedan användas som filspecifikation. För att skriva ut på en pappersterminal behöver man i allmänhet starta den på något sätt. TERMINET och GNT kan startas (från standby-läge) med vissa styrkoder. Man kan också sätta marginal och tabulatorlägen. Närmare detaljer kan inte ges här. FOA:TTYPRI klarar flera skrivande terminaler.
(47988)
(48048) 80-01-17 14:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47897: av Lars Enderin FOA1 Ärende: Ändringar för 7.00 + ett par nya procedurer En liten detalj: Koden för SCANCHAR bör motsvara IF t.More THEN scanchar:= t.Getchar;
(48048) (kommentar i 48055)
(48048) 80-01-17 14:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47897: av Lars Enderin FOA1 Ärende: Ändringar för 7.00 + ett par nya procedurer En liten detalj: Koden för SCANCHAR bör motsvara IF t.More THEN scanchar:= t.Getchar;
(48048) (kommentar i 48055)
(48055) 80-01-17 15:05 Larp& F Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48048: av Mats Ohlin
(48055)
(47897) 80-01-17 10:36 Lars Enderin Mottagare: LIBSIM nyheter (SIMULA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :47888: av Lars Enderin FOA1 Ärende: Ändringar för 7.00 + ett par nya procedurer Jag skulle ha lagt in detta inlägg i går, men glömde att stoppa in det efter redigering. FOA:LIBSIM kommer att rensas på sådant som finns i SYS:LIBSIM.
(47897) (kommentar i 48048)
(48137) 80-01-17 16:03 Björn Bergström Mottagare: Kalle Mäkilä. Mottaget: 80-01-18 12:41 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: FETCH Jag har gått bet på en sak då jag utnyttjat FETCH: jag har nämligen råkat skriva in två records med samma nyckel vid ett par tillfällenblir den tidigare lagrade record'en oåtkomlig för vanlig uppkallning (nyckel drekt på prompter), men finns kvar i databasen och kommer med vid sökning med .and respektive .or. .delete tar bara bort den nyaste record'en, och när jag försökt städa med hjälp av SOS direkt i filen blir den tydligen förstörd. (Tack och lov misstänkte jag det och kopierade först). Kan jag bli av med dessa onödiga records utan att reorganisera hela databasen med dbdump,spec och dbload? Hälsningar Björn B lägga
(48137) (kommentar i 48195, 48651)
(48195) 80-01-17 16:55 Tommy Ericson QZ Mottagare: Kalle Mäkilä. Mottaget: 80-01-18 12:51 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48137: av Björn Bergström Ärende: FETCH Med programmed PUB:DIRED kan man editera direktaccessfiler. SOS är direkt olämpligt, TECO går att använda om man är försiktig?
(48195) (kommentar i 48216, 48657)
(48216) 80-01-17 17:24 Lars-Åke Larsson Mottagare: Kalle Mäkilä. Mottaget: 80-01-18 12:55 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48195: av Tommy Ericson QZ Ärende: Pub:dired för editering av direktaccessfiler. Dired saknar möjlighet att söka på viss teckensträng, så vitt jag vet. Vore bra att få ett sådant kommando implementerat i DIRED. F.n. kan man dock till nöds använda SOS och F-kommandot där. Men man bör nog akta sig för att redigera med SOS. Tyvärr får man heller inte grepp om vilken rad man hamnat på, eftersom oskrivna rader troligen ignoreras av SOS. Men som sagt: Möjlighet i DIRED att söka på viss teckensträng skulle smaka smaskens.
(48216) (kommentar i 48258, 48666)
(48258) 80-01-17 18:54 Jacob Palme För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Sven-Erik Pettersson (ENEA). Mottaget: 80-01-22 14:53 Kommentar till :48216: av Lars-Åke Larsson Ärende: Pub:dired för editering av direktaccessfiler. När jag skall editera direktaccessfiler brukar jag alltid först konvertera till sekventiella filer med PUB:MAKEDF, så editera och sedan konvertera tillbaka med samma program. Gör HELP MAKEDF för mera information.
(48258)
(48501) 80-01-18 10:21 Mats Ohlin Mottagare: Datorers användning (ej bara DEC-10) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Scientific American I decembernumret av Sci.Am. skriver den kända datalogen, prof. Jerome Feldman om Programmeringsspråk. I artikeln finns följande passus - " The use of functions .... and the use of modular programs are basically an extension of this idea. The model for the languages that facilitate this effort is Simula, a langauge that was developed in Norway for the purpose of simulating systems such as traffic flow (nåja...). In Simula each object of interest (say each road intersection) is represented as a separate module with its own subprogram and data. The student records described above could be made into modules by including procedures for printing, updating and similar tasks in their definition. Programs that required information from the records would then invoke those procedures." En trevlig snabb-presentation av SIMULA. Framställningen 'vinklar' det hela litei riktning mot samarbete mellan rel. självständiga program/enheter/. Idag ligger ju som regl allt inom samma huvudprogram (separatkompilering är ju hittills mest ett trick för att spara cputid). Men utvecklingen av UNIVAC-SIMULA är kanske ett litet steg på väg - vad som saknas är möjligheten till mer reellt definierade externa strukturer (klasser) vilka kunde fungera som kommunikations- medier såväl som arbetande enheter i systemet. Vad jag menar är att enseparatkompilerad klass kan ses som en extern beskrivning av en datastruktur som är helt oberoende av andra program. Därvid kan denna sep. klass (eller eg objekt av denna klass) fungera som strukturbeskrivning vid utbyte av info mellan olika processer. Nästa steg i tankeledet är att denna info-länk själv kan utföra vissa manipulationer i samband med informationsutbytet. Härmed ses då alla SIMULA-processer (program) på en maskin såsom enheter i en och samma SIMULA-miljö. Ungefär som när man på DEC-10 gör .SYS och ser vilka som kör just nu, borde ett SIMULA-(del)-program kunna 'se sig om' och titta efter vilka andra SIMULA-processer som för tillfället är aktiva (alt. kan aktieras : .DIR .EXE ), hur man kommunicerar med de andra (saknas analog funktion) osv. Tanken svindlar...
(48501) (kommentar i 48990)
(48538) 80-01-18 10:56 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Directfiler och editorer. Jag brukar ha ett tecken i sista positionen på en del directfiler jag har (+ rätt längd så de slutar (med CRLF) på en ordgräns), vilket medför att man kan editera dessa directfiler med både SOS och VIDED.
(48538) (kommentar i 48540)
(48540) 80-01-18 10:59 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48538: av Mats Wallin FOA1 Ärende: Directfiler och editorer. Det var smart!
(48540) (kommentar i 48567)
(48657) 80-01-18 12:55 Kalle Mäkilä Mottagare: Tommy Ericson QZ. Mottaget: 80-01-18 13:30 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48195: av Tommy Ericson QZ Ärende: FETCH TECO kan i enstaka fall användas på SIMULA direktfiler, men knappast på SMDBM-filer som kan innehålla följder av helt tomma block. Dessa tar väl TECO bort (och SOS med flera editorer ?). Effekten blir förödande för SIMDBM som arbetar med interna relativadresser inom filen.
(48657)
(48666) 80-01-18 13:02 Kalle Mäkilä Mottagare: Lars-Åke Larsson. Mottaget: 80-01-18 16:52 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48216: av Lars-Åke Larsson Ärende: Pub:dired för editering av direktaccessfiler. Sökning enbart är inte tänkt som funktion i DIRED. Men man kan göra t ex C1-200 change:/ABAX/ABAX/ då söker DIRED på raderna 1-200 efter strängen "ABAX" och byter den mot strängen "ABAX", och - märk väl - listar enbart de rader där ändring gjrts (inklusive radnummer). Detta har än så länge fyllt mitt eget behov av sökning. För övrigt är det fritt fram för vem som helst att "adoptera" DIRED för vidareutveckling, om det nu är ett program som används. Att döma av debatten i ämnet tycks i varje fall några personer vara förtrogna med DIREDs användning. Koden är föga komplicerad.
(48666) (kommentar i 49001)
(49001) 80-01-18 18:37 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :48666: av Kalle Mäkilä Ärende: Pub:dired för editering av direktaccessfiler. En annan möjlighet som jag funderat på vore att modifiera VIDED för direktfiler. Algoritmen för att läsa in och ut data behöver då ändras i VIDED, men VIDED-s vanliga kommando kunde användas för att redigera filer, med tillägg för något kommando för att uppsöka viss rad i direktfilen. En direktfil kunde se ut ungefär så här på skärmen: !0000123!Detta är image nummer 123 i denna direktfil, denna image är längre än en rad, som du ser. !0000124!Och här kommer image nummer 124. !0000127!Helt tomma image skrivs inte ut alls.
(49001)
(50660) 80-01-23 13:10 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CALMIC eller var ligger felet. TEXT savfile,micfile; PROCEDURE createmicfile; BEGIN micfile:-Copy("MIC.TMP <257>"); INSPECT NEW Outfile(micfile) DO BEGIN Open(Blanks(50)); Outtext(".REVIVE .R QUOLST"); Outimage; Close; END; savfile:-Copy("TEST1.SAV"); END CMF; WHILE TRUE DO BEGIN createmicfile; calmic(micfile,savfile); Inimage; rename(micfile,NOTEXT,TRUE); END; END; END; User: 731,2032 Str used quota:(in) (out) left:(in) (out) system free DSKB: 1110 2400 1000 1290 -110 46885 DSKD: 0 5000 0 5000 0 23122 ?LOOKUP or ENTER error (003) on FILE: - MIC DSK:MIC.TMP Enter new file desc * Detta fel kommer sporadiskt. Är det någon som har en förklaring? Före programmet ligger en hög med extern-deklarationer.
(50660) (kommentar i 50708)
(50695) 80-01-23 13:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: COMPLEX, användning av typkonverteringsprocedurer COMPLEX Jag har hjälpt Roland Erickson på FOA 3 med en klass COMPLEX som utnyttjar FORLIB-rutinerna för komplex aritmetik. Jag skrev en klass efter hans mall och gjorde interface-procedurer i MACRO-10 (QUICK) för anrop av FORLIB-rutinerna. Om någon är intresserad av COMPLEX finns den i filerna CX.*Ä13,134Å. CX.LIB är källfiler packade med LIBMAN. I går gav han mig frågan hur man skulle ta hand om ett resultat från en FORTRAN COMPLEX FUNCTION i SIMULA. Jag rådde honom att göra så här: Skriv ett SIMULA-huvud: OPTIONS(/E:FORTRAN, zzz); LONG REAL PROCEDURE zzz(...); .....; Ta hand om resultatet i SIMULA-programmet på följande sätt: EXTERNAL INTEGER PROCEDURE intlre; EXTERNAL REAL PROCEDURE reaint; EXTERNAL LONG REAL PROCEDURE zzz; EXTERNAL CLASS complex;+ övr deklarationer nödv före SIMULA version 5; REF(complex) z; LONG REAL re_im; REAL re, im; re_im:= zzz(....); re:= reaint(intlre(re_im, 0)); !Plocka upp ord 0 av re_im som INTEGER. !Ändra typen till REAL. Oförändrat bitmönste r. im:= reaint(intlre(re_im, 1)); !Motsv för ord 1 (andra ordet). z:- NEW complex(re, im); !Skapa complex-objekt. ...
(50695) (kommentar i 50699)
(50699) 80-01-23 13:42 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :50695: av Lars Enderin FOA1 Ärende: COMPLEX, användning av typkonverteringsprocedurer Klassen COMPLEX gjorde jag för länge sedan. Har den allmänt intresse? Skall den placeras i LIBSIM eller vara ett separat bibliotek, som fallet är nu?
(50699)
(50708) 80-01-23 13:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :50660: av Göran Lyman Ärende: CALMIC eller var ligger felet. En sak borde du ändra på: Använd TMPNAM("MIC") i st f "MIC.TMP" så får du ett namn som är unikt för jobbet. Dessutom tas filen bort automatiskt vid KJOB (åtm om protection är låg nog). Felkoden (003) säger "File being modified". Protection behöver väl inte vara <257> numera om man lägger in '<SILENCE> först i filen i st.
(50708) (kommentar i 50720)
(50720) 80-01-23 14:13 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :50708: av Lars Enderin FOA1 Ärende: CALMIC eller var ligger felet. Om jag använder micfile:-tmpnam("MIC") så får jag abortutgång när jag kommer tillbaka till programmet första gången.
(50720)
(52285) 80-01-28 14:45 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SCALESTEP Om man anropra proc SCALESTEP med argument (-1,1.9,itics) så får man som resultat (-1.5,2.0,7) och proceduren har värdet .5. Borde det inte vara (-1.0,2.0,6) och procedurvärde = .5?
(52285) (kommentar i 53707)
(53390) 80-01-30 12:11 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CALMIC Äsch, nu fungerade inte CALMIC igen, dvs det fungerade, men den irriterande felutskriften ABORT ON FATAL ERROR etc. kom ut på terminalen, dock efter run-programmet, i detta fall CHARGE. Jag hade alltså ordentligt haft inmatning från terminalen först. Det har också fungerat tidigare, så deet kanske är MIC som bråkar.
(53390) (kommentar i 53681)
(53681) 80-01-30 16:10 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :53390: av Mats Wallin FOA1 Ärende: CALMIC Jag råkade ut för samma sak igår. Är felet reproducerbart?
(53681) (kommentar i 53691)
(53691) 80-01-30 16:17 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :53681: av Göran Lyman Ärende: CALMIC Mitt testprogram CALLTÄ13,201Å fungerar just nu. Kanske när belastningen är stor att MIC-jobbet inte riktigt hänger med?
(53691)
(53707) 80-01-30 16:38 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :52285: av Göran Lyman Ärende: SCALESTEP Frånsett ordningsföljden på argumenten (skall vara (max,min,tics)) får jag just den effekt du efterlyser. Möjligtvis - om -1 har något avrundningsfel och alltså eg är -1-eps att du kan få ett annat resultat - ?
(53707) (kommentar i 53815)
(53815) 80-01-31 08:02 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :53707: av Mats Ohlin Ärende: SCALESTEP Det är när scalestep beräknar Entier(-1.0/.5) som det strular till sig man får som resultat -3 som naturligtvis beror på något litet epsilon i .5 som ju inte kan representeras exakt. Skulle man inte kunna göra om scalestep så att man i stället för att dividera med .5 (och de andra värdena i proceduren) multiplicerade med 1/.5 =2 resp 1/de andra värdena?
(53815) (kommentar i 53851, 54889)
(53851) 80-01-31 09:46 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :53815: av Göran Lyman Ärende: SCALESTEP .5 representeras exakt! (=8R200400000000). Det är ju 2 ** -1!
(53851) (kommentar i 53922)
(53922) 80-01-31 12:34 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :53851: av Lars Enderin FOA1 Ärende: SCALESTEP Det tänkte jag inte på. Finns det då något annat sätt att lösa problemen med SCALESTEP.
(53922)
(54565) 80-02-02 08:39 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LPT: filer Finns det något sätt att få /NOHEAD effekt, när man använder LPT:-filer i SIMULA ?
(54565) (kommentar i 54583)
(54583) 80-02-02 11:39 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54565: av Christer Wikmark SU/ADB Ärende: LPT: filer Om du definerar din fil som NEW outfile istället för NEW printfile så gör Simula ingen sidindelning.
(54583) (kommentar i 54648)
(54648) 80-02-02 17:23 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54583: av Jacob Palme FOA1 Ärende: LPT: filer Jag har den redan som outfile (använder nästan aldrig printfiles). Det Är inte sidindelningen jag vill komma ifrån, utan att printern skriver ut ett huvud per sida (dvs jag vill uppnå /nohead-effekten i print-kommandot).
(54648) (kommentar i 54678)
(54678) 80-02-03 13:11 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54648: av Christer Wikmark SU/ADB Ärende: LPT: filer Ett sätt att styra det vore kanske att sända över den till printern med hjälp av en mic-fil innehållande lämpligt kommando. (Man använder alltså CALLMIC). Men det är ju litet klumpigt. Man borde alltså kunna göra NEW Outfile(lpt:minfil/NOHEAD)
(54678) (kommentar i 54687)
(54687) 80-02-03 13:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54678: av Lars-Åke Larsson Ärende: LPT: filer Nu förstår jag äntligen vad frågan gäller. Christer Wikmark vill skriva direkt från Simula-program på device LPT: utan att gå omvägen via en skivminnesfil på egen area. Eftersom jag aldrig gör så (alltför stor risk att felaktiga filer skrivs ut, jag vill kolla att körningen gick OK innan jag gör PRINT eller LIST på filera), så förstod jag inte frågan tidigare.
(54687) (kommentar i 54778)
(54778) 80-02-03 21:21 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54687: av Jacob Palme FOA1 Ärende: LPT: filer Fungerar det inte med NOHEAD som switch till QUEUE i SWITCH.INI?
(54778) (kommentar i 54813)
(54813) 80-02-04 11:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54778: av Mats Wallin FOA1 Ärende: LPT: filer Nej! Detta är ett känt problem. QUEUE är inte inblandad - används bara för PRINT etc.
(54813) (kommentar i 54817)
(54817) 80-02-04 11:26 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54813: av Lars Enderin FOA1 Ärende: LPT: filer I framtida monitorversioner kommer det att finnas en ny QUEUE UUO (från program anropbar monitorfunktion) med vilken man kan köa filer till radskrivaren med switchar som NOHEADER.
(54817)
(54937) 80-02-04 16:29 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :54889: av Mats Ohlin Ärende: SCALESTEP -1 var inte-1 utan -1.00000000030 och då räknar SCALESTEP rätt.
(54937)
(56079) 80-02-06 21:40 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED Vore bra ifall SIMED i stället för att använda ledtexten "*" skrev: SIMED> Denna typ av ledtexter (som f ö används under TOPS-20) börjar även sprida sig till TOPS-10. I nya versionen av GALAXY (version 4) som kommer till 7.01 så används denna typ av ledtext genomgående.
(56079) (kommentar i 56244)
(56244) 80-02-07 10:19 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :56079: av Sven Olofsson QZ Ärende: SIMED I SIMULA version 5 inför jag SIMULA> i kompilatorn, vilken dock inte används så ofta på ett sådant sätt att det syns.
(56244) (kommentar i 56296)
(56296) 80-02-07 11:14 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :56244: av Lars Enderin FOA1 Ärende: Ledtext Alla bäckar små...
(56296)
(57039) 80-02-08 17:19 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA implementering är nu medlem i detta möte
(57039)
(57041) 80-02-08 17:22 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED Numera kan man direkt skriva .SIMED (eller t o m bara SIM) och därvid få samma effekt som .R SIMED; (dvs senaste editerade .SIM-fil).
(57041) (kommentar i 57123)
(57123) 80-02-08 19:25 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :57041: av Mats Ohlin Ärende: SIMED Jaha, man får väl gissa att SIMED används direkt oftare än SIMULA.
(57123) (kommentar i 57189)
(57189) 80-02-09 10:04 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :57123: av Mats Wallin FOA1 Ärende: SIMED Simula anropar du ju normalt med monitorkommandona COMPILE, LOAD och EXECUTE!
(57189)
(57229) 80-02-09 11:15 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMDDT anrop En rutin skulle jag ha stor nytta av. Det är en variant av ENTERDEBUG som tar som parameterer ett SIMDDT-kommando. Därefter utförs automatiskt "PROCEED" eller "EXIT" beroende på om den logiska parametern till ENTERDEBUG var TRUE eller FALSE. Exempel: ENTERDEBUG(TRUE,"CHAIN") Skulle starkt underlätta uttestning av batchjobb. Även: ENTERDEBUG(FALSE,"ALL") Visserligen kan man, ibland, åstadkomma samma sak via väl planerade CTL-filer. Men ibland är det svårt att få att funka, speciellt om man vill kunna fortsätta exeveringen efteråt.
(57229) (kommentar i 57564, 57638)
(57564) 80-02-11 11:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :57229: av Jacob Palme FOA1 Ärende: SIMDDT anrop Det går att göra via rutiner som redan finns i LIBSIM. Skall testa. Man kan nämligen stoppa in kommandon i tty-bufferten via (X)TRMOP.
(57564)
(57638) 80-02-11 13:09 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :57229: av Jacob Palme FOA1 Ärende: SIMDDT anrop Följande program visar hur man kan göra. Testat både direkt, COJOB och BATCH (TDEBCO:SIM<13,134>) : 00100 BEGIN !Test of internally generated SIMDDT commands; 00200 EXTERNAL INTEGER PROCEDURE xcalli, xtrmop, absadr; 00300 EXTERNAL PROCEDURE exit; 00400 EXTERNAL TEXT PROCEDURE txtptr; 00500 00600 INTEGER udx, txtadr; 00700 TEXT t; 00800 !SIMDDT commands: CHAIN <LF> PROCEED <LF> . Null to finish string, oth erwise 00900 extra characters may be placed in the tty input buffer. 01000 Keep commands short to be able to cram more into buffers.; 01100 t:- txtptr("CH!10!" 01200 "P!10!" 01300 "!0!"); 01400 udx:= xcalli(8R115, -1, TRUE, 0);!TRMNO.; 01500 xtrmop(8R3, udx, 0); !Clear terminal input buffer; 01600 xtrmop(8R21, udx, absadr(t)); !TRMOP. .TOTYP, place string in buff; 01700 xcalli(8R72, 100, FALSE, 0); !HIBER 100 msec; 01800 exit(2); !Call SIMDDT; 01900 END; Kommentarer: Rad 1400: UDX kan man också få via IONDX(Sysout), om Sysout är terminalen. 1500: Type-ahead måste bort (men finns inte i batch). 1600: absadr(t) måste användas som argument. 1700: Synkroniseringsproblem kan uppstå, åtminstone när man kör interaktivt. Vänta därför litet. SLEEP kan också användas. 1800: Speciell användning av exit. ENTERDEBUG också användbar.
(57638)
(57805) 80-02-11 17:27 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: Sortering i SIMULA Har skrivit några hjälpprocedurer för sortering av texter i SIMULA. Klarar även sekundära nycklar och olika ordning (upp eller ner). Se SORT.SIMÄ13,201Å (och .EXE) m fl filer. SORTTEXT är den modul som kan vara en kandidat för LIBSIM. TEXTFILE är en procedur som skapar en text av en fil-ref. (Ett generellt sort-progm skall naturligtvis inte ha den begränsning som SORT/TEXTFILE har i exemplet.) FILESIZE kommer sannolikt också på LIBSIM så småningom. Tacksam för synpunkter.
(57805)
(58684) 80-02-13 17:34 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Jacob Palme FOA1. Mottaget: 80-02-13 18:17 Ärende: Test på monitorversion Koden i följande program visar f n monitorversion som strängen "0700", svarande mot 7.00. Om man ger parametrarna gettab(...) , 18, 18 till bitfield får man värdet 8R700000. Version 6.03A skulle då ge 8R60301. Med sista parametern = 6 får man 8R07, dvs monitornivån bara. Nästa två siffror är releasenummer. EXTERNAL INTEGER PROCEDURE bitfield, gettab; BEGIN EXTERNAL TEXT PROCEDURE octal; TEXT t; t:- Blanks(4); Outtext("Monitor version: "); Outtext(octal(t, bitfield(gettab(8R11, 8R34), 18, 12))); Outimage; END; (Fel ovan, 8R70000 får man med 18, 18).
(58684)
(58768) 80-02-13 19:57 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :58751: av Lennart Borgman LTH Ärende: KOM:s kommandostruktur Jo, det är jag som har plockat ut det "gottaste" av dialogbitarna ur Dapu-systemet och anpassat meny-utskrifterna så att de ansluter sig till KOM-s format. Det finns en preliminär upplaga av handbok för systemet i filen HAND.LPTÄ226,264Å Vill du ha den så gör PRINT/nohead hand.lptÄ226,264Å Handboken består av 100 sidor text, men innehåller då också programkoden för systemet. Samt de hjälptexter som genererar handboken. Dokumentationen är uppbyggd kring ett program som är ett exemepel på hur man kan utnyttja programpaketet. Paketet heter MENYDIALOGSYSTEM. Du kan köra programmet genom att skriva RUN MINIÄ226,264Å
(58768) (kommentar i 58770)
(58770) 80-02-13 19:58 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :58768: av Lars-Åke Larsson Ärende: KOM:s kommandostruktur MENYDIALOGSYSTEM är skrivet i SIMULA och f.n. endast anpassat till DEC-10, men kan naturligtvis med viss arbetsinsats konverteras till andra system.
(58770)
(59839) 80-02-16 11:57 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: F040 infoutbyte Mottagare: DEC-10 erfarenhetsutbyte För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Mottagare: Programvaror utbyte tips distribution Ärende: Ny rapport. PROGRAMMERARHANDBOK FÖR PROGRAMPAKETET MENYDIALOGSYSTEM. Sammanfattning. -------------- Hur dialogen mellan en dator och en människa utformas har stor betydelse för hur ovana datoranvändare lyckas hantera stora och komplicerade program från en dataterminal. Datorn bör i sådana situationer ha möjlighet att visa alternativvalsfrågor, samt vid behov också kunna skriva ut hjälptexter, som förklarar olika frågor, som användaren ställs inför. Det är också viktigt att dialogen kan anpassas efter de behov, som en mera erfaren användare har. MENYDIALOGSYSTEM är ett generellt programpaket för hantering av menydialoger och hjälptexter. Det kan kombineras med i stort sett godtyckliga tillämpningsprogram skrivna i programmeringsspråket SIMULA. MENYDIALOGSYSTEM understödjer menyhantering, kommando- tolkning och hjälptexthantering. Dialogens utformning är anpassad till den form som används av konferenssystemet KOM. Ett demonstrationsprogram finns tillgängligt på DEC-10 systemet vid Stockholms Datamaskincentral (QZ). Programmet kan startas med kommandot .DO FOA:MINI MENYDIALOGSYSTEM är baserat på dialogrutinerna från system DAPU, som utvecklats för försvarsgrenarnas behov av datorstöd i budgeteringsarbetet. Rapporten finns f.n. på filen HAND.LPTÄ226,264Å och omfattar ung. 100 sidor text inklusive programlistor. ******************************************************************* De som önskar få ett exemplar av ovanstående rapport, ombedes sända ett brev till mig härom. Det är svårt att veta hur stort intresset är, och därmed hur många exemplar som bör tryckas. *******************************************************************
(59839) (kommentar i 60033, 60158, 60170, 60336, 60426, 60540, 60646, 61612, 61798, 63335, 65335, 66290, 66413)
(61692) 80-02-21 10:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :61550: av Lars Enderin FOA1 Ärende: SIMULA version 5 finns nu på NEW! Testa så mycket som möjligt! Det kommer att krävas en del omkompileringar p g a nya LIBSIM-moduler (nya ATR-filer) och för att dra nytta av nyheterna. Jag har testat det nya systemet i komplicerade situationer och inte hittat några nya fel. Ett program som sparats med SAVE kan köras utan att ha med NEW i söklistan eftersom SIMR5?.EXE och SIMDD5.ABS finns på SYS: Gamla program använder filer med en 4-a i namnet. Däremot krävs NEW för kompilatorn, eller R NEW:SIMULA för kompilering. NEW i SWITCH.INI är enklast och rekommenderas. Vi räknar med en testperiod på ett par veckor på NEW, varefter version ersätter 4B på SYS och version 4b flyttas till OLD.
(61692) (kommentar i 61788)
(61788) 80-02-21 13:02 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :61692: av Lars Enderin FOA1 Ärende: SIMULA version 5 finns nu på NEW! De nya filerna finns på NEWD: = DSKD:<1,5> + de tre filerna SIMR51.EXE, SIMR52.EXE, SIMDDT.ABS på SYSC: Ingenting annat än SIMULA-filer finns f n på DSKD:<1,5>. DIRECT NEWD: ger sålunda en lista på alla intressanta filer utom ovan nämnda.
(61788) (kommentar i 61790)
(61790) 80-02-21 13:03 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :61788: av Lars Enderin FOA1 Ärende: SIMULA version 5 finns nu på NEW! SIMDDT.ABS skall vara SIMDD5.ABS. Inga nyheter i SIMDDT i förhållande till version 4B.
(61790) (kommentar i 61819)
(61819) 80-02-21 13:21 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :61790: av Lars Enderin FOA1 Ärende: SIMULA version 5 finns nu på NEW! SIMHGH.HLP finns just nu på NEWC:, kommer nog att flyttas till NEWD: Obs att NEW:SIMHGH.REL skall användas vid laddning i hiseg, inte REL:SIMHGH som tillsvidare är version 4B. Dumt att man inte lätt kan sätta version på annat än EXE-filer, framför allt dumt att PIP (COPY) tar bort version om det finns någoLIBSIM-proceduren FILCOPY tar inte bort ev version!
(61819)
(61854) 80-02-21 13:45 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Spännande se vad ni tycker om version 5 av Simula Lars Enderin har jobbat i ett år nu med att göra version 5, där den stora nyheten är den förenklade hanteringen av EXTERN- deklarationen. Den har genomförts därför att en FORUM-omröstning för några år sedan visade att denna förbättring var det som då bedömdes klart mest önskvärt i Simula.
(61854)
(61933) 80-02-21 16:01 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: FINDFILE Proceduren FINDFILE är lämplig att använda som ersättning för både FINDDIRECTFILE, FINDINFILE, FINDOUTFILE och FINDPRINTFILE. Den anropas enligt SIMLH3.MAN med parametrarna FILESPEC (TEXT) och FILEREF (REF till någon filtyp) och ger TRUE om den lyckas skapa ett filobjekt ok, samt returnerar FILEREF:- NEW ....file(filespec). Dessutom fungerar FINDFILE i vissa fall bättre i förhållande till FILE DAEMON.
(61933)
(61935) 80-02-21 16:03 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Anders Hillbo. Mottaget: 80-09-28 14:15 Ärende: Tydligare lägesmarkering! För att tydligt markera lägen och inte få dem inflyttade av SIMED brukar jag numera skriva så här t ex: top:! ----; IF blabla THEN BEGIN ... GOTO top; END; ... dvs ! börjar en kommentar som slutar med semikolon på raden under. Sådana kommentarer flyttas inte av SIMED. Eftersom lägen bör undvikas, bör man i gengäld markera dem tydligt. I ADA skulle man skriva <<top>> i stället, vilket också syns tydligt.
(61935)
(62123) 80-02-21 21:20 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: DEBUG i version 5 DEBUG-kommandot fungerar nu bra även för program som använder svenska bokstäver. Bokstavstabellen har flyttats till SIMLIB och laddas normalt med i ALLA program (bara 6 ord). En aning extra kod tillkommer men krånglet blir avsevärt mindre.
(62123)
(62135) 80-02-21 21:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: LIBSIM nyheter (SIMULA) För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: INFPOS i LIBSIM v 5 INFPOS gör nu inga onödiga inläsningar av filblock som redan finns i bufferten. För en Infile vetnu SIMRTS vilket block som ligger i aktuell buffert (om inte någon MACRO-10-procedur har saboterat räknaren, bör undvikas) och kan undvika att läsa i onödan. Det mycket speciella argument, mellan 9*640 och 10*640, som tidigare kunde användas för att ange att inneliggande block skall användas, är nu illegalt. FILPOS har tillkommit. Efter INFPOS(fil, n) skall FILPOS(fil) vara = n. FILPOS kan ta godtycklig filreferens, ej begränsad till Infile.
(62135)
(62577) 80-02-22 15:11 Lars Enderin Mottagare: LIBSIM nyheter (SIMULA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: NEW:LIB002.DOC innehåller nyheter för version 5.
(62577)
(63028) 80-02-24 18:44 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Simula Release 5 fungerar perfekt Jag har prövat Simula Release 5 några dagar nu i alla program jag skriver, och det har fungerat helt perfekt hittils. Grattis Lasse!
(63028) (kommentar i 63215)
(63215) 80-02-26 10:26 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :63028: av Jacob Palme FOA1 Ärende: Simula Release 5 fungerar perfekt Det kanske beror på att jag bl a använt VIDED som testexempel! Jag har i dag t ex fått reda på av Mats Wallin att LASTLOC inte fungerar. Behöver bara kompileras om. Ändring kommer snarast.
(63215) (kommentar i 63249)
(63249) 80-02-26 11:51 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :63215: av Lars Enderin FOA1 Ärende: Simula Release 5 fungerar perfekt Ändring av LASTLOC finns nu på NEW:.
(63249) (kommentar i 63257)
(63257) 80-02-26 12:03 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :63249: av Tommy Ericson QZ Ärende: Lastloc Yipeee
(63257)
(63331) 80-02-26 13:27 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INFPOS INFPOS fungerar något annorlunda i version 5, eftersom blocknummer för aktuell buffert är känd numera. Det behövs alltså inget special- argument för att tala om att man skall läsa i samma blcok som förra gången. Detta gäller dock inte om man läser i RIB (block 0, anges med ett bytenummer i intervallet -640 till -5). I detta fall läses blocket om för varje gång, eftersom blocknummer 0 kan innebära att inget block ännu har lästs in. Det är alltså lämpligt att läsa allt man vill ha i RIB efter en enda INFPOS, med successiva INPUT eller BINI-anrop. Just nu är LIBSIM(infpos) inte riktigt kurant, men rättelse är på väg snarast.
(63331)
(63829) 80-02-27 15:28 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INSPECT på outfile Jag får kompileringsfel (SIM 371,"Expression is not a valid statement") när jag försöker använda INSPECT som i följande utdrag: REF(Outfile) tab; TEXT vattennamn,tabnamn; REAL bottendjup,svängardjup,maxdistans,thetamax,thetamin; REAL avståndsupplösning; REAL brytpunktx,brytpunkty; !-----------------------------------------; tabnamn:-inline("Tabellens namn:",NONE); tab:-NEW Outfile(tabnamn); INSPECT tab DO BEGIN ! =>; Outtext("Körning med");Setpos(13);Outtext(vattennamn);Outimage; ! =>; Outimage; Outtext("Maxdistans=");Outreal(maxdistans,0,6);Setpos(19); Outtext("Bottendjup=");Outreal(-bottendjup,0,5);Setpos(36); Outtext("Avståndsupplösning=");Outreal(avståndsupplösning,0,4); ! =>; Outimage; Outtext("Svängardjup=");Outreal(-svängardjup,0,5);Setpos(19); Outtext("Thetamax=");Outreal(thetamax,0,7);Setpos(36); ! =>; Outtext("Thetamin=");Outreal(thetamin,0,4);Outimage:Outimage; END inspect tab; !----------------------------------; Felen ligger i de rader som är markerade med pilar enligt felmeddelan- dena. Jag kan inte begripa annat än att jag måste ha gjort något annat fel,för visst skall det gå att använda INSPECT så här? Kan någon lära mig hur det skall göras? (hela programmet finns på LJUD2.SIM Ä1350,4350Å men det vimlar av bugs ännu,så försök inte köra det)
(63829) (kommentar i 63835, 64580)
(63835) 80-02-27 15:32 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :63829: av Björn Bergström Ärende: INSPECT på outfile Måste inte filen öppnas först?
(63835) (kommentar i 63899)
(63899) 80-02-27 16:12 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :63835: av Göran Lyman Ärende: INSPECT på outfile Jadå.Jag öppnar med tab.open(Blanks(80)) omedelbart före INSPECT. (Hade tydligen glömt att kopiera den raden). Kommer nå't i fel ordning,eller vad är det?
(63899) (kommentar i 64336)
(64336) 80-02-28 10:18 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :63899: av Björn Bergström Ärende: INSPECT på outfile inte behöver man göra Open före INSPECT inte!!
(64336) (kommentar i 64352)
(64352) 80-02-28 10:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :64336: av Mats Wallin FOA1 Ärende: INSPECT på outfile Open eller inte är irrelevant eftersom det är kompilatorn som klagar, och den kollar inte sådant. Det verkar vara fel på något som inte syns i utdraget, som kanske inte är exakt kopierat.
(64352)
(64608) 80-02-28 15:38 Christer Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :64580: av Lars Enderin FOA1 Ärende: INSPECT på outfile Hela felet består i att du har råkat skriva Outimage: på rad 25600.
(64608) (kommentar i 64674)
(64674) 80-02-28 16:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :64608: av Christer Pettersson Ärende: INSPECT på outfile Sådana fel har jag sett förr, men kom aldrig att tänka på den möjligheten nu. Outimage: deklarerar ju om Outimage! Lömskt att : och ; är så lika. Det kanske gått bättre att se om det fanns litet blanka mellan satserna.
(64674)
(64776) 80-02-28 19:29 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Hur mycket minne man tar. Ville med kontroll T få en grov uppskattninge av hur mycket minne en viss SIMULA-konstruktion tog. Sedan jag snott åt mig minne i ett litet program gjorde jag Inimage, så att jag fick tid att göra kontroll T. Resultatet efter EXECUTE blev då kanske 120+12 P Om jag gjorde kontroll C och START efteråt, så blev resultatet storleksordningen 85+12 P Jag förstår ingenting!
(64776) (kommentar i 64922)
(64824) 80-02-28 22:38 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Minne och kontroll T. Om man gör load save och sedan run på nedanstående program får man helt olika uppgifter om allokerat minne när man gör kontroll T vid INimage efter utskriften. Varför? 00100 BEGIN 00200 INTEGER n,dim; text mall; n:=5000; dim:=Inint; 00250 mall:-blanks(9*dim); 00300 BEGIN TEXT ARRAY t(1:n); INTEGER i; 00400 FOR i:=1 STEP 1 UNTIL n DO t(i):-copy(mall); 00500 Outtext("skapat"); Outimage; Inimage; 00600 END; 00700 END; Gör run på programmet. Svara t.ex. 1<return> Tryck på kontrollT efter utskriften "skapat". Gör ^C. Därefter run på programmet igen och jämför några gånger. Olika resultat varje gång för mig. Ibland ganska stor skillnad. Trycker man på kontroll T flera gånger innan loopen är avslutad, så kan man ibland t.o.m. få se ännu mer minne allokerat. Vad händer egentligen? Det är värdefullt att kunna mäta sin minnesförbrukning i program. Men då måste ju mätningarna vara reproducerbara. Hur gör man för att få säkra mätningar?
(64824)
(64922) 80-02-29 10:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Dapu Arbetsmöte. Sändare: Lars-Åke Larsson För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :64776: av Lars-Åke Larsson Ärende: Hur mycket minne man tar. Minnesallokeringsalgoritmen försöker minimera kostnaden m h t debiteringsalgoritmen, vilket leder till att minnet kan svänga en del. I böjan av exekveringen är det inte så lätt att beräkna optimalt minne (insvängning), och för korta exekveringar hinner väl inte någon systematisk optimering visa sig. Det är ju bara vid garbage collection som processen kontrolleras, och det behövs några stycken för att svänga in sig. Det är inte heller reproducerbart. Pröva i stället med POOLTOP, en LIBSIM-procedur enligt följande: INTEGER PROCEDURE pooltop(gccode); INTEGER gccode; COMMENT Returns address of first unused word in data area. Forces a garbage collection if gccode=1. No gc if gccode=0. Other values reserved for the future, currently treated like 0. ; POOLTOP(1) ger utnyttjat minne från adress 0. Om man tar skillnaden mellan värdena före och efter viss kodexekvering får man reda på hur många 36-bits-ord som tillkommer. Obs att procedurer försvinner vid återhopp utan att garbage collector är inblandad, om ingenting har allokerats som skall vara kvar, t ex en text. POOLTOP(1) inuti procedurkod inkluderar givetvis procedurdata. POOLTOP(0) ger ingen GC och kan kanske ibland vara mer användbart.
(64922) (kommentar i 64974)
(64974) 80-02-29 10:42 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :64922: av Lars Enderin FOA1 Ärende: Hur mycket minne man tar. Det här var en mycket användbar och bra procedur. Hoppas att den läggs in i Simula manualen del 3 och att det läggs in referenser i index till ordet "minnesallokering" t.ex. Som en följd av mätningar med pooltop har jag just beslutat att gå en annan väg än jag tänkt mig med viss programvara i Dapu. - Vid behov av flyttning av Simulaprogram t*ill Univac så måste man tänka på minnesallokering eftersom dataarean där är mera fix än på DEC. Man får inte gå över en viss gräns.
(64974) (kommentar i 64983, 64985)
(64983) 80-02-29 10:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :64974: av Lars-Åke Larsson Ärende: Hur mycket minne man tar. Dock har Univac och Simula olika algoritmer, skillnaden påverkar dock huvudsakligen pooltop-värdet utan garbage collection.
(64983)
(64985) 80-02-29 10:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :64974: av Lars-Åke Larsson Ärende: Hur mycket minne man tar. Jodå, allt i LIBSIM kommer i SIMLH3.MAN så småningom. Ska försöka komma ihåg att ta med "Memory allocation", "core" etc i index. Jag var inte säker på om jag skulle göra den mera maskinoberoende genom att räkna om till bitar e dyl, men man kan ju betrakta värdet som en multipel av en integers längd. Behöver man någon procedur för att se hur mycket minne man har kvar att spela på?
(64985)
(65115) 80-02-29 14:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA/FORTRAN/SIMULA-interface Följande långa inlägg beskriver nyheter som kommer efter litet mer tester.
(65115) (kommentar i 65128)
(65128) 80-02-29 14:37 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :65115: av Lars Enderin FOA1 Ärende: SIMULA/FORTRAN/SIMULA-interface Finns det någon som gärna skulle vilja anropa SIMULA-procedurer från FORTRAN-kod? I så fall kanske jag har lösningen nu. I DEC-10 SIMULA har man ju alltid kunnat anropa subrutiner skrivna i FORTRAN för att t ex invertera en matris eller göra något annat för vilket det finns färdiga uttestade rutiner som det inte lönar sig att översätta till SIMULA. Vissa begränsningar finns ju på parametrarna och man kan inte använda FOROTS-funktioner, t ex i/o, speciellt inte formatterad i/o. Eventuella enkla felutskrifter fångas upp av LIBSIM- modulen FORSIM, som kan utvidgas om behov finns och någon har tid och möjlighet att skriva koden. Man har hittills inte kunnat anropa en SIMULA-procedur från en FORTRAN- rutin, inte ens kunnat ha en annan FORTRAN-rutin som parameter till en från SIMULA anropad FORTRAN-rutin (förkortas FR i forts). I vissa fall vore det säkert bra att ha sådana möjligheter. Jag har nyligen fått listor på MACRO-10-kod som gör det möjligt att anropa en SIMULA-procedur (SP) från en FR. Koden är skriven i Kiel av tre personer och var något svårläst eftersom den var ofullständig, okommenterad och saknade symboliska namn nästan helt. Utgående från den har jag åstadkommit kod som verkar fungera. För att komma till rätta med garbage collector har jag tvingats införa ett par modifikationer i SIMRTS och SIMLIB som gör att den ursprungliga parameterlistan ligger stilla över anropet av en FR, även om denna FR anropar en SP (eventuellt rekursivt t o m). Jag skulle gärna vilja ha ett realistiskt exempel att testa, gärna flera. Nya procedurer är 1) PROCEDURE SIMEQUIV(sp, fp) associerar sp med fp, där fp är en speciell procedur skriven i MACRO-10 men presenterad för SIMULA- och FORTRAN-systemen som en FORTRAN-procedur med parameterlista identisk med sp-s. Obs! Gör GCFREZE(-1), se nedan. 2) INTEGER PROCEDURE FORIFA(fp) ger som resultat en integer som innehåller en hoppinstruktion som leder till starten av FORTRAN-koden i fp. Man kan alltså ge en FR som parameter till en FR den vägen. 3) INTEGER PROCEDURE gcfreze(x); INTEGER x; COMMENT Prevent or allow garbage collection of data pool. IF x < 0, freeze GC for values below YSATOP(XLOW). IF x = 0, thaw (no freeze). IF x > 0, freeze below that address. Returns old freeze value. GCFREZE(-1) kan användas för att garantera att hittillsvarande data ej flyttas av garbage collector. POOLTOP(1) kan anropas före GCFREZE för att ta bort skräp. Eftersom SIMEQUIV utför motsvarande GCFREZE(-1), bör GCFREZE(0) anropas när man inte längre behöver associera någon SP med någon FR. Poolen får inte vara "frusen" när man skapar nya filer om inte buffertutrymme redan finns från en gammal stängd fil eller har reserverats via /R:spcfil. Dessutom finns kod för att föra över parametrar från FORTRAN till SIMULA efter att ha satt upp procedurblocket - SIMPRO, anropas från en FR skriven i MACRO enligt följande mall: COMMENT * fordum, SIMULA specification; OPTIONS(/E:FORTRAN,fordum); INTEGER PROCEDURE fordum(x, y, i); NAME i; INTEGER x, y, i; COMMENT Associate with a SIMULA proc with corresp spec. ; !*;! MACRO-10 code !*;! TITLE fordum, test of SIMULA-FORTRAN-S-F-S interface ENTRY fordum EXTERN SIMPRO SIXBIT 'FORDUM' ;! Useful for trace? fordum: JSP 1, SIMPRO BLOCK 2 ;! Space for dynamic Simula proc addr END; SIMPRO finns i samma modul som SIMEQUIV. Parameterkorrespondensen kontrolleras både av SIMEQUIV och av SIMPRO.
(65128) (kommentar i 65242, 65246)
(65275) 80-02-29 18:51 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65242: av Lars Enderin FOA1 Ärende: SIMULA/FORTRAN/SIMULA-interface Det verkar farligt. Fortran kan ju som bekant addressera sig vart som helst.
(65275) (kommentar i 65598)
(65564) 80-03-03 11:26 Nils-Bertil Ericsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65246: av Lars Enderin FOA1 Ärende: SIMULA/FORTRAN/SIMULA-interface Ja det skulle vara bra med text-parametrar till SIMULA/FORTRAN, Ex. då skulle man kunna använda alla rutiner i GCS-paketet (ett grafiskt paket)
(65564) (kommentar i 65602, 66634)
(65598) 80-03-03 12:05 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65275: av Tommy Ericson QZ Ärende: SIMULA/FORTRAN/SIMULA-interface Varför skulle detta vara speciellt farligt? Det farliga är ju i så fall att överföra array-adresser eller överhuvud taget några adresser TILL FORTRAN, och det har man ju alltid kunnat. I själva verket är det väl i så fall farligt att överhuvud taget anropa FORTRAN. Det blir väl inte farligare av att FORTRAN anropar SIMULA-procedurer. Möjligheten att anropa FORTRAN-rutiner infördes ju för att kunna utnyttja uttestade biblioteksrutiner.
(65598) (kommentar i 65609)
(65602) 80-03-03 12:07 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65564: av Nils-Bertil Ericsson Ärende: SIMULA/FORTRAN/SIMULA-interface TEXT kan komma att tillåtas så småningom. Kräver litet ändringar i kompilatorn och SIMLIB.
(65602)
(65609) 80-03-03 12:16 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65598: av Lars Enderin FOA1 Ärende: SIMULA/FORTRAN/SIMULA-interface Ja, det var arrayerna jag avsåg.
(65609)
(66121) 80-03-04 10:32 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65246: av Lars Enderin FOA1 Ärende: SIMULA/FORTRAN/SIMULA-interface En viktig användning av Simula/Fortran koppling för oss är användning av underprogrambibliotek tex grafiska paketet GPGS. Det är ett ganska stort paket med en del i/o i Fortran. Användarna förväntas skriva nya drivrutiner för sina speciella grafiska terminaler. Vi vill kunna anropa GPGS från Simula och kunna införa nya funktioner programmerade i Simula i GPGS.
(66121) (kommentar i 66142)
(66290) 80-03-04 13:06 Staffan Löf Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Mottagare: Programvaror utbyte tips distribution För kännedom: F040 infoutbyte För kännedom: Staffan Löf. Mottaget: 80-03-05 10:36 För kännedom: Lars-Åke Larsson. Mottaget: 80-03-04 17:31 Kommentar till :59839: av Lars-Åke Larsson Ärende: Ny rapport. Jag vill ha ett ex av rapporten !!
(66290)
(66634) 80-03-04 20:42 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :65564: av Nils-Bertil Ericsson Ärende: SIMULA/FORTRAN/SIMULA-interface Jag har nu gjort en försöksimplementering som tillåter typen TEXT (ej TEXT ARRAY eller TEXT PROCEDURE, ej NAME) och dessutom tillåter PROCEDURE som specifikation på parametrar till FORTRAN-rutiner. Aktuell procedur kan vara kodad i FORTRAN eller SIMULA. FORIFA kan därmed utgå. SIMEQUIV måste skrivas om litet för att passa den nya implementeringen. Textsträngar kan ges som parametrar även från FORTRAN till SIMULA, däremot kan textvariabler inte skickas SIMULA-FORTRAN-SIMULA.
(66634) (kommentar i 66636)
(66636) 80-03-04 20:46 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :66634: av Lars Enderin FOA1 Ärende: SIMULA/FORTRAN/SIMULA-interface Om en TEXT-parameter från SIMULA till FORTRAN inte är en main-text, dvs t.main =/= t, görs en Copy före överföring. En main-text är alltid en användbar ASCIZ-sträng. I FORTRAN-koden bör text specificeras som t ex REAL ARRAY t(1) för att adressen, inte värdet, skall överföras. I SIMULA-huvudet skall givetvis TEXT användas.
(66636)
(67178) 80-03-05 20:17 Lars-Åke Larsson Mottagare: Jacob Palme FOA1. Mottaget: 80-03-06 08:55 För kännedom: Lars Enderin FOA1. Mottaget: 80-03-06 09:58 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :67151: Ärende: VIDED Tack Jacob! Nu tror jag att jag förstått varför jag inte lyckades själv med mitt lilla Simula-program för att göra samma sak. Så vitt jag kan se är det så här: Om ett record innehåller Char(12) i första position så får man detta som ett helt record som är tomt för övrigt när man gör INimage; Men man bör tydligen ta hand om det genom att göra Outchar(char(12)); på sin fil. Därefter göra ny inimage och kopiera över den med outtext innan man gör sin Outimage på filen. Om man sedan läser samma fil, så får man med inimage in ett record innehållande char(12) men som är tomt för övrigt. Läsning och skrivning är alltså inte symmetriska operationer här! Skall det vara så? VIDED tycks i alla fall förvänta sig att första raden på en ny sida skall börja med Char(12) och att första radens text följer direkt.
(67178) (kommentar i 67306)
(67306) 80-03-06 09:00 Jacob Palme Mottagare: Lars-Åke Larsson. Mottaget: 80-03-06 11:24 För kännedom: Lars Enderin FOA1. Mottaget: 80-03-06 10:00 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Lars-Åke Larsson Kommentar till :67178: av Lars-Åke Larsson Ärende: VIDED Ja, just så funkar det. En annan möjlighet är att göra BREAKOUTIMAGe istället för OUTIMAGE på rader som slutar med char(12). Simulas standard säger inget om hur detta skall fungera. Den utgår såvitt jag kan förstå från att koder för sidformattering skrivs med proceduren EJECT och det finns inget i Simulas standard om att överhuvudtaget läsa koder för sidframmatning. Observera att Digital Equipments metod att lagra sidframmatnings- kod i form av ett form-feed-tecken i en fil som egentligen är en sekventiell tecken-ström inte är något som alla datorer gör. Många andra datorer har andra metoder att lagra formatterings- information än med tecken i sekventiell teckenström. Vi kan knappast ändra DEC 10 Simula nu, när säkert många gjort sig starkt beroende av det nuvarande sättet att fungera. Det finns många andra osymmetrier i DEC 10 Simula. Det finns t.ex. ingen möjlighet att med ett standardprogram kopiera en fil med följande text: "rad 1 <RETURN>rad 2", ty de blanka tecknen mellan "1" och RETURN-koden går inte att detektera.
(67306)
(67524) 80-03-06 15:05 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :59382: av Gunnar Lindell QZ Ärende: SIMED Man kunde tänka sig att då TMP-fil finns, alltid köra senast SIMED:ade fil snarare äm senast editerade. Men jag är rädd att det kan bli förvirrande. Skall fundera på saken.
(67524)
(67728) 80-03-06 17:38 Lars Enderin Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :67419: av Lars Enderin FOA1 Ärende: NAG Jag testade D01AAF (numerisk integration) med en SIMULA-funktion som parameter. Det gick först inte så bra, eftersom SIMULA kvaddade några register, men sedan jag sparat alla register och infört separat stack för FORTRAN och SIMULA fungerar testexemplet precis som väntat!
(67728) (kommentar i 67846)
(67846) 80-03-06 20:32 Tommy Ericson QZ Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :67728: av Lars Enderin FOA1 Ärende: NAG Gratulerar! Att inte kunna använda de rutiner som har en funktions- beräkning som parameter har gjort det onödigt besvärligt att använda de så fylliga Fortranbiblioteken från Simula tidigare.
(67846)
(68390) 80-03-07 17:09 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: Nyare SIMULA-version på NEW Den SIMULA-version 5(362) som nu finns på NEW, innehåller ett bättre SIMULA/FORTRAN interface. <type> PROCEDURE är nu tillåten parameterspecifikation för externa FORTRAN-procedurer, vilket t ex gör flera NAG-rutiner direkt anropbara från SIMULA. Även TEXT-parametrar är tillåtna till FORTRAN (ej TEXT ARRAY, ej TEXT by name dock). I FORTRAN-koden specificeras lämpligen motsvarande parameter som REAL txtpar(1) för att kunna användas vidare, tyvärr dock inte motsvarande en TEXT i en SIMULA-procedur. Däremot kan en textsträng skickas som parameter från FORTRAN till SIMULA: CALL txtwri('From FORTRAN with love') t ex, där txtwri är en SIMULA-procedur, endera parameter eller associerad med viss kod genom proceduren SIMEQUIV, ny i LIBSIM.
(68390)
(68803) 80-03-09 17:01 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Grunderna i Simula. Ibland snubblar jag på grundläggande grejor i Simula. T.ex. t:-blanks(20); IF t = Notext then outtext(" t = NOTEXT ") IF T = NOTEXT then outtext(" t = notext"); IF t NE NOTEXT THEN outtext(" t NE NOTEXT"); outimage; Producerar som resultat t NE NOTEXT Jag trodde att man skiljde på t=/=NOTEXT resp t==NOTEXT samt t NE NOTEXT och t=NOTEXT. Tänk att jag klarat mig så länge, utan att veta det!
(68803) (kommentar i 68807, 68811)
(68807) 80-03-09 17:12 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :68803: av Lars-Åke Larsson Ärende: Grunderna i Simula. Detta berör den diskussion som f n pågår inom SIMULA Development Group ang ev revision av textbegreppet. NOTEXT är en konstig figur; dels en ref-konstant som refererar till en unik "icke-text". Men den har också ett värde = den tomma strängen "". Så "" = NOTEXT är sant. NOTEXT har alltså längden 0 och man kan aldrig återvinna en gammal main-text. T:- Blanks(20); T:- T.Strip; B:= T.Main == NOTEXT; !Nu B = TRUE;
(68807) (kommentar i 68890)
(68821) 80-03-09 18:18 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :68811: av Jacob Palme FOA1 Ärende: Grunderna i Simula. Lustigt nog innehöll en mycket tidig version av DEC-SIMULA (långt innan officiell release) ett fel av just denna innebörd. Svårigheten ligger alltså inte i att tekniskt åstadkomma denna effekt, utan "standardiseringspolitiskt".
(68821) (kommentar i 69006)
(68890) 80-03-10 10:46 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :68807: av Mats Ohlin Ärende: Text i simula Vad som gärna kunde ändras (problem för alla de som anpassat sig efter nuv. standard förståss) är parameterhanteringen av text. Om man i undervisningen äntligen lyckats lära eleverna hur ref-variabler hanteras i procedurer, kommer TEXT-hanteringen som en smärre chock och virrar till begreppen igen! Vore snyggt om text-variabelns "box" följde med (förändrad) när proceduren lämnades, utan att behöva NAME-deklareras.
(68890)
(68987) 80-03-10 13:33 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: AND THEN och OR ELSE Jag har för mig att jag sett en blänkare om rubr. faciliteter.... Hur går det? När kommer det?
(68987) (kommentar i 68995, 69345)
(68995) 80-03-10 13:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :68987: av Lars Lindwall Ärende: AND THEN och OR ELSE Om 10 år? Eller troligare, aldrig!
(68995) (kommentar i 69004)
(69004) 80-03-10 13:48 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :68995: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE Varför det? Jag tycker> fz
(69004) (kommentar i 69014)
(69345) 80-03-10 22:09 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :68987: av Lars Lindwall Ärende: AND THEN och OR ELSE Finns i förslaget till ADA. Har skrivit till SDG och föreslagit införande. Har dock inga större förhoppningar...
(69345) (kommentar i 69779)
(69547) 80-03-11 12:10 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69289: av Lars Enderin FOA1 Ärende: NAG.ATR Om Henrik och Viggo går med på det, kan vi väl ta med det i Release 5-distributionsbandet. OBS att vi bör tala om i dokumentationen vad vi gjort.
(69547)
(69627) 80-03-11 12:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ARRAY-parametrar till SIMULA-procedurer från FORTRAN Har man tagit hmhm i båten ... Jag finner att vissa rutiner, t ex D02AGF för lösning av diffekvationer, dels har arrayer som parametrar, dels anropar parameterrutiner som har arrayparametrar. Man måste alltså klara av att hantera arrayparametrar från FORTRANmen bara sådana som från början är definierade i SIMULA, annar får man för mycket trassel. Jag håller på att testa ut det nu. Problemet är att få reda på dimensionen, vilket man måste göra genom att pröva sig fram.
(69627)
(69779) 80-03-11 17:02 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69345: av Mats Ohlin Ärende: AND THEN och OR ELSE Flera av våra SIMULA-användare lider av problemet att både A och B utvärderas i uttrycket A AND B, även om A är false. Varför är det nödvändigt att utvärdera B i ett sådant läge, speciellt om utvärderingen av B inte ändrar några andra variablers värde?
(69779) (kommentar i 69783, 70031, 70270)
(69783) 80-03-11 17:09 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69779: av Lars Lindwall Ärende: AND THEN och OR ELSE Nödvändigt och nödvändigt... Som många andra svagheter i SIMULA är det en konsekvens av kravet att ALGOL så långt som möjligt skall vara en sann delmängd av SIMULA. I ALGOL är inte utvärderings- ordningen definierad - tvärtom den är explicit 'undefined'. Så så länge får man skriva det klumpiga IF (IF .. THEN .. ELSE ..) THEN .....
(69783) (kommentar i 69789)
(69789) 80-03-11 17:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69783: av Mats Ohlin Ärende: AND THEN och OR ELSE Var står det i Algol-rapporten eller Common Base att ordningen är odefinierad? Jag har alltid trott att vänster-höger alltid gäller!
(69789) (kommentar i 69798, 71191)
(69798) 80-03-11 17:24 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69789: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE Vissa SIMULA-användare på DEC-10 hävdar att det här problemet är rätt specifikt för DEC-10 implementationen av SIMULA. Andra implementationer (t ex UNIVAC) utvärderar aldrig B i A and B om A är false. Olika implementatörer (heter det så?) har tydligen olika uppfattningar om huruvida formalismen eller effektiviteten är viktigast....
(69798) (kommentar i 69808)
(69808) 80-03-11 17:28 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69798: av Lars Lindwall Ärende: AND THEN och OR ELSE Jag tror inte den nya UNIVAC-Simula optimerar. Den är mycket striktare än den gamla. IBM-Simula optimerar inte heller vad jag vet. UNIVAC-Simula (den gamla) innehåller allt möjligt ostandardiserat och borde inte få kallas Simula enligt standardiseringsgruppens normer.
(69808) (kommentar i 69880)
(69832) 80-03-11 17:38 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NAG Det behövdes som sagt ytterligare ändringar i SIMLIB för att klara av alla NAG-rutiner. När den nya versionen kommer upp på NEW klarar man även arrayer som förs över från SIMULA till FORTRAN och tillbaka, däremot ej rena FORTRAN-arrayer. Behövdes t ex för D02AGF, se nästa inlägg. Dessutom kan man från FORTRAN överföra en text dels som en sträng ('....'), dels i en array med en dimension (vektor). Texten anses sluta före första Char(0) (=ASCIZ).
(69832) (kommentar i 69874)
(69844) 80-03-11 17:44 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Test av NAG 00100 OPTIONS(/P:"NAG test (D02AGF), SIMULA/FORTRAN interface"/S:"REL:NAG"); 00200 BEGIN 00300 EXTERNAL PROCEDURE nagsim; !Brings in SIMULA version of P01AAF; 00400 EXTERNAL fortran PROCEDURE d02agf; !Differential equations; 00500 00600 INTEGER n1, n, m1, ifail, i, j; 00700 REAL h, x, x1, r, dum; 00800 REAL ARRAY mat, cpy(1:3, 1:3), c(1:6, 1:3), wspace(1:3, 1:9); 00900 REAL ARRAY param, parerr, error, g, g1(1:3); 01000 PROCEDURE prsol(param, resid, n1, err); 01100 INTEGER n1; 01200 REAL resid; 01300 REAL ARRAY err, param; 01400 BEGIN 01500 Outtext("Current parameters "); 01600 FOR i:= 1 STEP 1 UNTIL n1 DO Outreal(param(i), 6, 16); 01700 Outimage; 01800 Outtext("Residuals "); 01900 FOR i:= 1 STEP 1 UNTIL n1 DO Outreal(err(i), 4, 14); 02000 Outimage; 02100 Outtext("Sum of residuals squared"); Outreal(resid, 4, 12); 02200 Outimage; 02300 Outimage; 02400 END; 02500 02600 PROCEDURE subtitle(t); NAME t; TEXT t; 02700 BEGIN 02800 Eject(Line+3); Outtext(t); Outimage; Outimage; 02900 END; 03000 03100 PROCEDURE aux(f, y, x, param); 03200 REAL x; REAL ARRAY f, y, param; 03300 BEGIN 03400 f(1):= y(2); 03500 f(2):= (y(1)**3-y(2))/(2*x); 03600 END; 03700 03800 PROCEDURE rnaux(x, x1, r, param); 03900 NAME x, x1, r; 04000 REAL x, x1, r; REAL ARRAY param; 04100 BEGIN 04200 x:= 0.1; 04300 x1:= 16; 04400 r:= 16; 04500 END; 04600 04700 PROCEDURE bcaux(g, g1, param); 04800 REAL ARRAY g, g1, param; 04900 BEGIN 05000 REAL z; 05100 z:= 0.1; 05200 g(1):= 0.1 + param(1)*Sqrt(z)*0.1 + 0.01*z; 05300 å
(69844)
(69874) 80-03-11 18:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69832: av Lars Enderin FOA1 Ärende: NAG SIMULA på NEW är uppdaterat nu.
(69874)
(69880) 80-03-11 18:18 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69808: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE Om man vill kunna flytta SIMULA-program mellan datorer av olika fabrikat så är det viktigt att alla följer samma princip ifråga om utvärdering av logiska uttryck. DEC-10 SIMULA följer det som är standard i alla Simula-system utom UNIVAC, och UNIVAC skall ändras, hoppas vi. DEC-10 SIMULA optimerar dock på UNIVAC-s sätt i de fall där kompilatorn kan inse att det inte ger någon skillnad. Således optimeras t.ex. IF A AND SIN(X) < 0.5 THEN men inte IF X.GETCHAR = X.GETCHAR THEN.
(69880) (kommentar i 70071)
(70031) 80-03-12 07:38 Sven-Erik Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram). Sändar e: Lars-Åke Larsson Kommentar till :69779: av Lars Lindwall Ärende: AND THEN och OR ELSE I Univac simula utvärderas inte både a och b i IF A AND B , pgas kompilator-fel. Detta kan vara värt att observera om man vill flytta program till denna typ av maskin. Inlägget skall inte uppfattas som ev reklam för att använda den maskinen istället.
(70031)
(70071) 80-03-12 09:43 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69880: av Jacob Palme FOA1 Ärende: AND THEN och OR ELSE Tyvärr måste jag ge dig bakläxa på det här: Ingen optimering i någondera fallet! För säkerhets skull tittade jag i koden med hjälp av DDT.
(70071) (kommentar i 70818)
(70270) 80-03-12 13:39 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69779: av Lars Lindwall Ärende: AND THEN och OR ELSE Nödvändigt är det väl inte, men jag tycker det är skönt att det är definierat så (OCH FRAMFÖR ALLT ATT DET INTE ÄR ODEFINERAT), för då är det betydligt lättare att överblicka vilka eventuella bieffekter en utvärdering kan få. Dessutom går det ju att skriva IF (IF A THEN B ELSE FALSE) THEN... om det verkligen är exakt det du önskar. Var inte så CPU-tidsmedveten. (Säger jag som inte vet vad det handlar om.)
(70270) (kommentar i 70283)
(70283) 80-03-12 13:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :70270: av Mats Wallin FOA1 Ärende: AND THEN och OR ELSE Det är väl snarare läsbarhet än CPU-tid man är ute efter, eller mindre cpu-ti och ändå bra läsbarhet.
(70283) (kommentar i 70800)
(70800) 80-03-13 13:29 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :70283: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE Det finns flera situationer där man inte vill ha B beräknat om A är falskt i uttrycket A AND B, exempelvis IF t.More AND t.Getchar='X' THEN ... Här får man ett runtimefel om More är falskt men ändå gör getchar. Jag vill med detta exempel visa att det inte är enbart CPU-tids besparingar som är skälet till att man vill tolka A AND B som IF A THEN B ELSE FALSE
(70800) (kommentar i 70814)
(70814) 80-03-13 13:45 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :70800: av Anders Ström SSRC Ärende: AND THEN och OR ELSE Jag tycker faktiskt att "IF t.more AND t.getchar = 'X' THEN" inte är särskilt snygg programmering.
(70814) (kommentar i 70842)
(70842) 80-03-13 14:02 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :70814: av Jacob Palme FOA1 Ärende: AND THEN och OR ELSE Men det skulle bli snyggt om man kunde skriva AND THEN, vilket jag aldrig har förnekat vore bra. Problemet är att få tillräckligt många med sig ...
(70842) (kommentar i 71095)
(70846) 80-03-13 14:05 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :70818: av Jacob Palme FOA1 Ärende: AND THEN och OR ELSE Det är nog rätt trassligt att ge sig in i den kompilatordelen. Jag vill minnas att Stefan Arnborg hade en del besvär med det här. Det passar inte riktigt in i designen.
(70846)
(71095) 80-03-13 19:47 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :70842: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE En vesäntlig anledning till att man borde ha and then och or else är, tycker jag, att man tillåter sido-effekter i funktioner (här är ADA definitivt snyggare, om än mindre praktisk i vissa fall). Det eventuellt "snygga" med det odefinierade i AND- och OR-villkors utvärderingsordning vore väl om man kunde se villkoret som verkligt utan bi-effekter?
(71095)
(71191) 80-03-14 01:28 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :69789: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE Minns inte numret på avsnittet men titta på den del som berör evaluering av uttryck. Återkommer när jag kommer över en ALGOL-rapport. Ingenting i CB om detta ; dvs ALGOL gäller!
(71191) (kommentar i 71235)
(71235) 80-03-14 08:57 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :71191: av Mats Ohlin Ärende: AND THEN och OR ELSE Har tittat i en algolrapport och inte hittat något specifikt om evaluering av boolska uttryck. Hänvisas bara till evaluering av aritmetiska uttryck. Överhuvudtaget är väl den semantiska beskrivningen i rapporten rätt ofullständig.
(71235) (kommentar i 71417)
(71417) 80-03-14 10:18 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :71235: av Jan Linne'll Ärende: AND THEN och OR ELSE Enligt planer inom SSG/SDG skulle vid det här laget finnas en fullständig "Report on the SIMULA Language" eller vad den skall kallas, som skulle innehålla den senaste reviderade Algol-rapporten + en reviderad SIMULA Common Base, allt i maskinläsbar form, som vi skulle ha fått på remiss eller till påseende någon gång förra året. En bok var planerad på Springer-Verlag (inte Axel Springer) som har publicerat "Lecture Notes in Computer Science". Jag vet inte vad som hänt med dessa planer. Kanske SCALA-projektet har tagit resurserna på Norsk Regnesentral. Det står i varje fall "evaluated from left to right" på flera ställen i "Revised Report ..." 1962 t ex 3.3.5. Precedence of operators. The sequence of operations within one expression is generally from left to right, with the following additional rules: ... I 3.3.3 sägs betr. aritmetiska uttryck med "if clauses": This selection (av vilket aritmetiskt uttryck som skall utvärderas) is made as follows: The Boolean expressions of the if clauses are evaluated one by one in sequence from left to right until one having the value TRUE is found. ... 3.4.6. ger motsvarande regler som 3.3.5 för Boolska uttryck. SIMULA-utvecklingen är baserad på "Revised Report".
(71417) (kommentar i 71487)
(71487) 80-03-14 12:05 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :71417: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE I Revised report avsnitt 3.3.3 Semantics (3. Expressions) står bl a: "The order of evaluation of primaries within an expression is not defined. If different orders of evaluation would produce different results, due to the action of side effects of functions designators, then the program is undefined." Samma stycke återfinnes även i Modified Report samma avsnitt.
(71487) (kommentar i 71519)
(71953) 80-03-15 09:14 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :71519: av Lars Enderin FOA1 Ärende: AND THEN och OR ELSE Inte i mitt ex heller.
(71953)
(72506) 80-03-17 20:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NAG-biblioteket för numeriska beräkningar. Nu finns ett fullständigt NAG.ATR svarande mot NAG.REL på REL- arean. Jobbet att skapa alla procedurhuvuden i SIMULA och därav ATR-filerna genom kompilering har gjorts av Viggo (och Henrik) Eriksson. Jag har bidragit med proceduren NAGSIM för felutskrifter utan FOROTS och med modifikationer i kompilatorn och i SIMLIB för att tillåta procedurer som parametrar. I SIMULA version 5, som man får genom switchen new till PATH eller i LOGIN-raden i SWITCH.INI, kan man utnyttja NAG fullt, inklusive procedurer i SIMULA som används som parametrar. Ett anrop av EXTERNAL PROCEDURE nagsim leder till att rätt felutskrifts-rutiner P10AAF (+P01AAZ) laddas in. OPTIONS(/S:"REL:NAG") ger automatisk sökning av bilioteket och senare automatisk inladdning av rätt REL-filer.
(72506) (kommentar i 72536)
(72536) 80-03-17 20:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :72506: av Lars Enderin FOA1 Ärende: NAG-biblioteket för numeriska beräkningar. Om man vill se vad som finns, kan man använda NEW:SIMATR. Med DISPLAY-option kan man få en kompilerbar SIMULA-representation av utvalda moduler.
(72536)
(73090) 80-03-19 01:44 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Proceduren IDSIXBIT i SYS:LIBSIM Är behäftad med ett fel som visas med följande program BEGIN EXTERNAL TEXT PROCEDURE idsixbit; Outtext(idsixbit(8r212223242500,8r414243444546)); Outimage; END Resultatet blir "12345ABCDEF" i.st.f "12345 ABCDEF", dvs. det första argumentet får inte innehålla avslutande blanktecken.
(73090) (kommentar i 73195)
(73183) 80-03-19 09:11 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :73088: av Tommy Ericson QZ Ärende: Definition av Sysin och Sysout Jovisst, jag är medveten om problemet. Har inte haft tid att åtgärda.
(73183)
(73195) 80-03-19 09:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :73090: av Tommy Ericson QZ Ärende: Proceduren IDSIXBIT i SYS:LIBSIM Den var inte avsedd att klara av inbäddade blanka. Kan kanske komma att modifieras. PUTSIX är en procedur som ofta är effektivare, men kräver att en text redan finns. Se NEW:LIB002.DOC.
(73195) (kommentar i 73518)
(73518) 80-03-19 15:23 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :73195: av Lars Enderin FOA1 Ärende: Proceduren IDSIXBIT i SYS:LIBSIM Aha, en sparsam procedur var just vad jag behövde!
(73518)
(74261) 80-03-20 18:47 Lars Enderin Mottagare: LIBSIM nyheter (SIMULA) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LIBSIM.HLP och SIMLH3.MAN för version 5 Ovannämnda filer finns i en första version på NEW:, där de kan läsas t ex med programmet READ eller skrivas ut. Synpunkter mottages.
(74261) (kommentar i 74264)
(74264) 80-03-20 18:51 Lars Enderin Mottagare: LIBSIM nyheter (SIMULA) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :74261: av Lars Enderin FOA1 Ärende: LIBSIM.HLP och SIMLH3.MAN för version 5 Alla nyheter som stegvis dokumenterats på DOC: och NEW: finns medtagna.
(74264)
(78840) 80-04-01 18:43 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :78333: av Christer Wikmark SU/ADB Ärende: Vista och VT100 Jag instämmer. Förklaringen är att jag bara hade en VT100 till låns under 3 timmar, och på den tiden hann jag inte med mer. Dock har jag numera infört HP2648, som tekniskt liknar VT100 i sina koder, så det borde inte vara svårt att införa VT100 i original. Känner du till om VT100 har styrkoder för delete line, insert line m.m. Om sådana finns, borde ju VIDED använda dem!
(78840) (kommentar i 78922)
(78922) 80-04-01 23:49 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :78840: av Jacob Palme FOA1 Ärende: Vista och VT100 Jag har inte kunnat upptäcka några delete/insert character/line - kommandon, men däremot har den möjl. till att dynamiskt definiera delar av skärmen (topp - bottenrad) som "skärm" och negativ scrollning, vilket skulle kunna användas för snygg delete/insert av rad. (Dessutom idealisk för -Z kommandot).
(78922) (kommentar i 78924, 79261)
(78924) 80-04-02 00:28 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :78922: av Christer Wikmark SU/ADB Ärende: Vista och VT100 Förlåt, delete line har den (enligt ANSI-standard ESCÄ1K el. dyl, har jag för mig).
(78924)
(79165) 80-04-02 15:03 LennartS Månsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Är filen stängd ? Finns det verkligen inget attribut till Out-, In-,Direct-, Printfile som säger om filen är öppnad eller inte. Mitt problem är att jag i en biblioteksklass har en lista med filer som användaren har definierat, jag har alltså referenser till filerna men ingen möjlighet att komma åt namnet på filen. När programmet skall avslutas vill jag alltså göra close på samtliga filer för att slippa att hamna i SIMDDT. Skulle nu användaren ha stängt någon fil i listan utan att plocka ut den ur listan med filer så försöker jag alltså stänga en redan stängd fil och får ett run-time-fel pga av det. Finns det inget sätt att kolla om filen är stängd innan anropet av close ?
(79165) (kommentar i 79174, 79369, 79448)
(79174) 80-04-02 15:26 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79165: av Lennart Månsson FOA2 Ärende: Är filen stängd ? Du kan testa på om filens image pekar på notext eller ej.Pekar den på notext så är den stängd.
(79174) (kommentar i 79356)
(79308) 80-04-02 23:56 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: SIMDDT och externa moduler När jag har en modul som inte refereras direkt från huvudprogrammet så verkar inte SIMDDT känna till radnummer i modulen. Jag kan inte göra display på modulen heller. Om jag däremot tar med denna modul bland externdeklarationerna i huvudprogrammet så känner SIMDDT till modulen. Är detta någonting som vi får leva med i release 5?
(79308) (kommentar i 79374, 80899)
(79356) 80-04-03 09:27 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79174: av Göran Lyman Ärende: Är filen stängd ? Det är väl dock inte helt säkert, även om det är troligt. Jag har flear program som gör Open(NOTEXT);, men det beror väl på vilken tillämpning det gäller.
(79356)
(79374) 80-04-03 09:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :79308: av Anders Ström SSRC Ärende: SIMDDT och externa moduler Jaså, det visste jag inte! Skall se om det går lätt att rätta. Det måste finnas referenser till externa radnummertabeller i huvudprogrammet; dessa har tydligen missats.
(79374)
(79432) 80-04-03 11:20 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79426: av Lennart Månsson FOA2 Ärende: Är filen stängd ? Jag föreslår att du upprätthåller flyttbarhet genom att skriva INSPECT fil DO IF Image=/=NOTEXT THEN Close; och alltså låter bli att ha IMage==NOTEXT när filen är öppen. Kanske Mats Wallin, kan kommentera varför han hålls med sådana habrovinker? Är de nödvändiga? Alla program måste inte göras flyttbara, men det är nyttigt att öva sig att skriva sådana, och att tänka på varför man överger flyttbarhetsmöjligheten.
(79432) (kommentar i 79434)
(79434) 80-04-03 11:23 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79432: av Lars-Åke Larsson Ärende: Image == NOTEXT Jag har sådana "habrovinker" när jag använder några av LIBSIM:s externprocedurer för I/O som inte går via Image, tex insinglechar eller outchr eller putstring.
(79434) (kommentar i 79436)
(79436) 80-04-03 11:25 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79434: av Mats Wallin FOA1 Ärende: Image == NOTEXT Är det något som hindrar att du ändå har en kort IMage, för att klara test på closed via test på Image=/=NOTEXT? Men för all del, insinglechar är ändå inte flyttbar, och programmet är väl hårt beroende på just dessa procedurer antar jag.
(79436) (kommentar i 79465, 79616)
(79450) 80-04-03 11:45 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79369: av Lars Enderin FOA1 Ärende: Är filen stängd ? Två själar ...
(79450)
(79465) 80-04-03 12:00 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79436: av Lars-Åke Larsson Ärende: Image == NOTEXT Nejdå, föralldel, det skulle jag mycket väl kunna ha, det är bara det att vitsen med detta aldrig fallit mig in. Jag tycker det ju vore bra mycket bättre med en (DEC-10-specifik förstås) boolsk procedur closed.
(79465)
(79487) 80-04-03 12:14 LennartS Månsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Är filen stängd ? Just för det paketet jag håller på med nu så har jag redan förstört flyttbarheten, så då kunde jag ju lika väl använda BOOLEAN PROCEDURE ISOPEN. Å andra sidan har kontroll på att filerna inte är öppnade med Open(NOTEXT) så den andra metoden bör ju gå lika bra.
(79487) (kommentar i 79595)
(79595) 80-04-03 13:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LIBSIM nyheter (SIMULA) För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :79487: av Lennart Månsson FOA2 Ärende: Är filen stängd ? I version 5 på NEW: finns nu BOOLEAN PROCEDURE isopen(x); REF(FILE) x; som ger TRUE för öppen filreferens, annars FALSE. NONE ger "Object NONE". Uppdaterad LIBSIM.HLP och SIMLH3.MAN på NEW. SIMLH3.MAN kan t ex läsas med SIMDOC enligt inlägg i SIMULA erf....
(79595) (kommentar i 79618)
(79616) 80-04-03 13:21 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79436: av Lars-Åke Larsson Ärende: Image == NOTEXT Fördel med image == NOTEXT är att man automatiskt får felutskrift om man använder av misstag image-beroende i/o-rutiner. Det är en fördel då blandning av image-beroende och image-oberoende i/o ofta ger icke önskvärd effekt.
(79616)
(79867) 80-04-04 17:08 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INFPOS och /BUFFERS:1 Måste man ha /BUFFERS:1 när man öppnar en fil om INFPOS skall fungera? Eller är det bara en rekommendation?
(79867) (kommentar i 79871)
(79871) 80-04-04 17:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79867: av Jacob Palme FOA1 Ärende: INFPOS och /BUFFERS:1 Efter vad jag förstår måste det vara ett krav.
(79871) (kommentar i 80215)
(79918) 80-04-05 12:34 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Assign DSK SYSOUT ger illegal UUO med nya kompilatorn fungerar OK med gamla kompilatorn för ett av mina program.
(79918) (kommentar i 80217)
(80215) 80-04-08 12:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79871: av Mats Ohlin Ärende: INFPOS och /BUFFERS:1 Det är ett krav. Ett alternativ är att ha synkron input, mne det kan inte specificeras via SIMULA f n och ger väl ingen fördel.
(80215)
(80217) 80-04-08 12:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :79918: av Jacob Palme FOA1 Ärende: Assign DSK SYSOUT ger illegal UUO med nya kompilatorn Mera information behövs. Kompilatorn är f ö inte inblandad.
(80217) (kommentar i 80310)
(80235) 80-04-08 12:32 Mats Wallin Mottagare: (QZ-program för) grafisk presentation (2D) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CALCOMP-ruteiner De CALCOMP-rutiner som finns beskrivna i programmerarhandboken kan anropas (i exemplen) från FORTRAN, PL/1 och ALGOL. Hur är det med SIMULA?
(80235) (kommentar i 80273)
(80273) 80-04-08 13:11 Sven Olofsson QZ Mottagare: (QZ-program för) grafisk presentation (2D) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :80235: av Mats Wallin FOA1 Ärende: CALCOMP-ruteiner Gör "FIL HLP:CALSIM.HLP" till KOM eller "HELP CALSIM" till monitorn så får du hjälp.
(80273) (kommentar i 80291, 80293)
(80298) 80-04-08 13:32 Mats Wallin Mottagare: (QZ-program för) grafisk presentation (2D) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :80293: av Lars Enderin FOA1 Ärende: CALCOMP-ruteiner Var finns CALSIM då??
(80298)
(80310) 80-04-08 13:39 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :80217: av Lars Enderin FOA1 Ärende: Assign DSK SYSOUT ger illegal UUO med nya kompilatorn Är det meningen att det skall vara så, eller är det ett fel som du avser att rätta?
(80310) (kommentar i 80331)
(80331) 80-04-08 13:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :80310: av Jacob Palme FOA1 Ärende: Assign DSK SYSOUT ger illegal UUO med nya kompilatorn Felet rättat nu.
(80331)
(80446) 80-04-08 16:13 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Lus? Blev mycket förvånad när jag upptäckte att ett program som utnyttjar !nn!-konventionen i textsträngar plötsligt matade ut !nn! explicit. Inspektion av källkoden visade att SIMED hade ändrat texten till: .....!1" "3!!10!...." Undrar just om inte kompilatorn borde klara detta?? Eller skall jag modifiera SIMED (vid tillfälle)? Men även en intet ont programmerare skulle kunna råka ut för denna "fälla"...
(80446) (kommentar i 80451, 80461)
(80461) 80-04-08 16:25 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :80446: av Mats Ohlin Ärende: Lus? Jag har kollat i standarden, och det verkar som om uppdelning av <ISO code> på två rader inte är tillåtet. Standarden säger att <simple string> ::= "<char seq>" och att <char seq> ::= <empty> ! <char seq> <ISO code> ! <char seq> <non-quote> ! <char seq> <text quote> Standarden säger vidare att <simple string> måste stå på en enda rad men att en <string> kan vara uppdelad på flera <simple string> på olika rader. Så du bör nog ändra i SIMED.
(80461)
(80467) 80-04-08 16:32 Lars Enderin Mottagare: (QZ-program för) grafisk presentation (2D) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LIBSIM nyheter (SIMULA) Kommentar till :80293: av Lars Enderin FOA1 Ärende: CALCOMP-ruteiner Jag har lagt in CALSIM i NEW:LIBSIM.
(80467)
(80857) 80-04-09 13:49 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: Filstorlek Jag behöver se hur stor u^0cÄ1L A/ L w<*p6L0s1h 6
(80857) (kommentar i 80955)
(80899) 80-04-09 14:33 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :79308: av Anders Ström SSRC Ärende: SIMDDT och externa moduler Det verkar inte så lätt att ändra detta utan att samtidigt få effekten att man inte behöver deklarera externa procedurer i huvudprogrammetalls om de finns deklarerade tidigare i extern-referens-träde t. Jag är tveksam om man skall införa detta.
(80899) (kommentar i 81035)
(80955) 80-04-09 16:40 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :80857: av Mats Wallin FOA1 Ärende: Filstorlek Pröva FILESI.*Ä13,201Å.
(80955) (kommentar i 81140)
(81035) 80-04-09 19:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :80899: av Lars Enderin FOA1 Ärende: SIMDDT och externa moduler Om man bara klart anger i dokumentationen att man måste i huvudprogrammet deklarera alla SIMULA-rutiner som man vill kunna komma åt via SIMDDT, så är väl detta också rimligt. Det är ju aldrig någon nackdel mer än det extra besväret att deklarera dem i huvudprogrammet!
(81035) (kommentar i 81133)
(81133) 80-04-10 09:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :81035: av Jacob Palme FOA1 Ärende: SIMDDT och externa moduler Det gäller sålunda bara procedurer, klasser anses deklarerade om de är deklarerade någonstans i external-trädet.
(81133) (kommentar i 81175)
(81175) 80-04-10 10:58 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :81133: av Lars Enderin FOA1 Ärende: SIMDDT och externa moduler Externa procedurer som är attribut funkar också då?
(81175) (kommentar i 81192)
(81178) 80-04-10 10:59 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SCHEDU Kan man från SIMULA enkelt läsa av detta värde? (som ges av monitorkommandot SCHEDU alltså!).
(81178) (kommentar i 81205)
(81192) 80-04-10 11:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :81175: av Mats Ohlin Ärende: SIMDDT och externa moduler Ja det skall det göra.
(81192)
(81205) 80-04-10 12:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :81178: av Mats Wallin FOA1 Ärende: SCHEDU Kommandot heter SCHED. Informationen får man med GETTAB(8R11, 8R17) (%CNSTS). Se DOC:GETTAB.700, sök på %CNSTS. No operator = 8R400 No remote ttys = 8R10 Batch jobs only = 8R4 No remote logins = 2 No login except CTY = 1
(81205) (kommentar i 81216)
(81956) 80-04-11 17:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA programutveckling Jag har just fått ett reklambrev från en engelsk programvaru- utvecklingsfirma (Robin Hills Limited) som gör reklam för sin kompetens att utveckla Simulaprogram för körning på olika datorer. Företaget säljer även Simulasystem på vissa datorer. Firman skriver att Simula är mycket lämpligt för interaktiva och realtidstillämpningar på IBM-datorer, speciellt med användning av programvaror för åtkomst till VSAM-filer från både CMS och TSO och för uppringbara linjer och VMCF virtuell-maskin- kommunikation under CMS. Firman anger att man gör sin egen programutveckling i SIMULA i första hand på DEC-maskin, "which provides by far the best environment for SIMULA program development".
(81956)
(82234) 80-04-14 00:32 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Ulla Göthberg. Mottaget: 80-04-16 13:58 Kommentar till :82193: av Sören Tirfing Ärende: Att Titta på klassinstanser med SIMDDT OUTPUT <refvariabel>.* ska visa alla variabler hörande till en speciell klassinstans.
(82234) (kommentar i 83719)
(82399) 80-04-14 13:09 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA version 5 på SYS Ny SIMULA-version SIMULA version 5 är nu aktuell SYS-version efter att en tid ha testats på NEW-arean. Det nya i version 5 är främst omarbetad hantering av externa moduler och deklarationer. Inga "överflödiga" deklarationer behövs. "HELP SIM5" ger mer information. Den gamla SIMULA-versionen finns på OLD: tillsvidare. Gamla program kan köras oförändrade, och gamla REL- och ATR-filer kan användas tillsammans med nya. Omkompilering rekommenderas för att dra nytta av alla nyheter.
(82399)
(82649) 80-04-14 17:40 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Direktfiler Det är problem med att oskrivna records i Direktfiler inte innehåller blanka utan troligen NUL-tecken efter "/*" i det nya SIMULA-system som har lagts upp idag.
(82649) (kommentar i 82651)
(82708) 80-04-14 19:20 Peter Siklosi Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: TTYer. Jag behöver testa om en viss tty är ledig (dvs. att den går att öppna från ett Simula-program), hur gör jag lättast från ett Siumla-program?
(82708) (kommentar i 82748)
(82748) 80-04-15 07:59 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :82708: av Peter Siklosi NADA Ärende: TTYer. PROCEDURE Open(filename); NAME filename; TEXT filename; BEGIN TEXT t,lin,node; CHARACTER c; INTEGER i1,i2; t:-Copy(filename); node:-scanto(t,'_'); IF node == t THEN t:-conc("TTY",t.Strip,":") ELSE BEGIN lin:-rest(t); t:-NOTEXT; c:=fetchar(lin,1); IF c<'8' AND c>'0' THEN t:-lin ELSE BEGIN IF upcompare(lin,Copy("tty")) THEN BEGIN lin.Setpos(4); lin:-rest(lin); c:=fetchar(lin,1); IF c<'8' AND c>'0' THEN t:-lin; END; END; i1:=getradix(8,t); i2:=getradix(8,node); t:-ttynumber(i2,i1).Main; END; utfil:- findoutfile(t); IF utfil ==NONE THEN utfil:-Sysout; END; Open(Copy("2_36")); Denna kanske går att använda. Du måste ha med ett antal externa procedurer av olika slag. Lycka till!
(82748)
(82830) 80-04-15 10:35 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Kalle Mäkilä. Mottaget: 80-04-21 08:51 Kommentar till :82651: av Mats Ohlin Ärende: Direktfiler Det kanske vore bra att kunna skilja på interna oskrivna records och end of file - records, även om ENDFILE kan användas för detta. Om ändringen medför stora problem kan jag ordna så att det fungerar som förut, med litet mer overhead. Ändringen är en biprodukt av en rättelse enligt en felrapport från Oslo. Kanske problem i SIMDBM?
(82830) (kommentar i 85149)
(83006) 80-04-15 16:09 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Nya kompilatorn I den gamla kompilatorn gick följande konstruktion bra: EXTERNA CLASS vektorÄ1050,2032Å; men i den nya får jag lov att skriva: EXTERNAL CLASS vektor="vektor<1050,2032>" det skall vara externaL i bägge fallen. Det går kanske bra med Ä och Å i det senare fallet det har jag inte provat. Måste jag skriva på detta sätt?
(83006) (kommentar i 83020)
(83020) 80-04-15 16:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83006: av Göran Lyman Ärende: Nya kompilatorn Det förra sättet var tillåtet genom en lucka i syntaxanalysen. "" har krävts av standardiseringsskäl. Du behöver inte upprepa namnet inom "" faktiskt. <> är ekvivalent med ÄÅ för bättre läsbarhet på terminaler med svensk standard. Svaret är alltså ja (utom att du inte behöver upprepa filnamnet om det är samma som procedur/klass-namnet).
(83020)
(83109) 80-04-15 17:48 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Endfile/records. Om ni inte återställer systmet till att fungera som förut, så får ni väl också ta och uppdatera handboken så att det där framgår att ni enbart garanterar att första två tecknen i endoffilerecord är /*
(83109) (kommentar i 83182)
(83182) 80-04-15 22:09 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83109: av Lars-Åke Larsson Ärende: Endfile-records Fixat på NEW nu (PATH /NEW t ex).
(83182) (kommentar i 83990)
(83575) 80-04-16 16:05 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: floating point overflow Jag får envist detta fel när jag försöker provköra en klass jag gjort för att ha noggranna värden på trig-funktioner tillgängliga och kunna anropa dem/få resultat i grader i stället för radianer. Kan någon ge mig ett tips?Så här ser det ut i stort sett: Huvudprogram: 00100 external text procedure inline,upcase; 00125 external long real procedure scanreal; 00150 external class trig; 00175 00200 trig(true) begin 00300 long real x; text t,ta; 00400 ta:- copy(blanks(3)); 00500 igen:t:- inline(">",NONE); 00600 x:=scanreal(t); 00700 ta:=t.sub(1,3); upcase(ta); 00800 outtext("Svar:"); 00900 if ta="SIN" then outfix(sinus(x),18,30); 01000 if ta="COS" then outfix(cosinus(x),18,30); 01100 if ta="TAN" then outfix(tangenten(x),6,30); 01200 if ta="COT" then outfix(cotangenten(x),6,30); 01300 if ta="ATA" then outfix(arctangenten(x),6,30); 01400 if ta="ASI" then outfix(arcsinus(x),6,30); 01500 if ta="ACS" then outfix(arccosinus(x),6,30); 01600 if ta="ACT" then outfix(arccotangenten(x),6,30); 01700 if ta="GRR" then outfix(gr_rad(x),20,30); 01800 if ta="RGR" then outfix(rad_gr(x),20,30); 01900 outimage; 02000 goto igen; 02100 end tst; Den klass det hela rör sig om innehåller diverse knep för att få den önskade effekten: Utdrag: CLASS trig(grader); BOOLEAN grader; ------------- LONG REAL PROCEDURE gr_rad(arg_gr); LONG REAL arg_gr; gr_rad:= arg_gr*pi/180; ------------- LONG REAL PROCEDURE sinus(x1); LONG REAL x1; sinus:=(IF grader THEN Sin(gr_rad(x1)) ELSE Sin(x1); ------------ etcetera för övriga funktioner; ----------- LONG REAL ett,pi; ett:=1; pi:=4*Arctan(ett); END trig; Alltihop finns som trig.sim och tst.sim på 1350,4350 om någon gitter titta på det
(83575) (kommentar i 83593)
(83719) 80-04-16 23:20 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Ulla Göthberg. Mottaget: 80-04-18 13:04 Kommentar till :82234: av Tommy Ericson QZ Ärende: Att Titta på klassinstanser med SIMDDT I SIMULA version 4 kunde man inte komma åt 'location' för en Directfile i SIMDDT, men det ska väl betraktas som en attribut- procedur och inte variabel. Kan man läsa av location i SIMDDT version 5? (ofta ett fundamentalt värde när man letar efter logikfel i program som hanterar directfile's tycker jag).
(83719) (kommentar i 83760)
(83760) 80-04-17 09:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Ulla Göthberg. Mottaget: 80-04-18 13:04 Kommentar till :83719: av Örjan Ekeberg (NADA) Ärende: Att Titta på klassinstanser med SIMDDT LOCATION är inte åtkomlig. Ingen ändring av SIMDDT i version 5 i själva verket. Kan inte lova att få tid för en sådan ändring. Vilka attribut skulle vara intressanta att få tillgång till via SIMDDT (utöver nuvarande)?
(83760)
(83821) 80-04-17 13:17 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: DEC-10 erfarenhetsutbyte Kommentar till :80980: av Mats Ohlin Ärende: Att leta i stora dok-filer. SIMDOC har numera även en facilitet för extrahering av text (logg- funktion). Kommandot L öppnar ny logg alt. stänger pågående. OBS att man ofta, när man kommit till rätt sida, kan ha fördel av att skriva N(ästa) för att direkt söka fram till relevant del av sidan.
(83821)
(83969) 80-04-17 16:31 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: HIDDEN och PROTECTED. Jag lyckades just göra HIDDEN på en massa variabler jag inte gjort PROTECTED på. Ska det gå numera?
(83969) (kommentar i 83996, 90267)
(83990) 80-04-17 17:13 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83182: av Lars Enderin FOA1 Ärende: Endfile-records Och när kommer den versionen upp på SYS ?
(83990) (kommentar i 84021, 84122)
(83996) 80-04-17 17:16 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83969: av Lennart Borgman LTH Ärende: HIDDEN och PROTECTED. HIDDEN och PROTECTED är helt oberoende. HIDDEN avgör synlighet i subklasser, PROTECTED avgör synlighet "utifrån" via dot-notation, INSPECT-satser etc.
(83996) (kommentar i 84007)
(84007) 80-04-17 17:38 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83996: av Jacob Palme FOA1 Ärende: HIDDEN och PROTECTED. Det trodde jag inte!!?! Enligt definitionen måste ett attribut vara PROTECTED innan man kan göra HIDDEN. Se handboken del 1: -------------------------------------------------------------- Page 128 DECSYSTEM-10/20 SIMULA LANGUAGE HANDBOOK, PART I CHAPTER 2.5.7.1 Attributes of a class may only be specified PROTECTED in the heading of the class where the attribute is declared. Attributes of a class may, however, be declared HIDDEN in a subclass to it. Such a HIDDEN specification will only be valid for subclasses to the class where the HIDDEN specification is placed. An attribute may not be specified HIDDEN except when it is specified PROTECTED in the same class or in a superclass. --------------------------------------------------------------- Fel i version 5?
(84007)
(84021) 80-04-17 17:48 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83990: av Lars-Åke Larsson Ärende: Endfile-records När jag ber om det + 0-48 tim?
(84021)
(84023) 80-04-17 17:49 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NICE Har tittat som hastigast på NICE. Några kommentarer: + mycket snyggare struktur + avancerad indentering för FOR, WHILE, INSPECT flerrads := (:-) m m - bryter ej av långa rader - klarar ej att undertrycka indentering av %.... - ungefär dubbelt så dyrt att köra (+) smidigt TMP-core-hantering (-) innehåller en del buggar som är rättade sedan länge i SIMED (-) hanteringen av ÅÄÖ måste justeras
(84023)
(84034) 80-04-17 17:54 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Sorteringsrutin. Jag behöver en sorteringsrutin som kan klara sortering av en fil innehållande uppemot 4000 poster. Posterna är av fast längd och viss del av posten kan anges vara sorterings- nyckel. Programmet måste skrivas i SIMULA för att vi skall kunna flytta det till UNVAC. SORT-programmet på DEC duger alltså inte. Någon som har detta på hög?
(84034) (kommentar i 84140, 84208)
(84122) 80-04-17 20:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83990: av Lars-Åke Larsson Ärende: Endfile-records Uppe nu.
(84122) (kommentar i 84144)
(84142) 80-04-17 21:33 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :84140: av Mats Ohlin Ärende: Sorteringsrutin. Min erfarenhet från DEC-10 är att sortering av smärre datavolymer (< 5000 poster) med fördel sker på detta sätt direkt i minnet. Om sortering på flera nycklar önskas; pröva gärna SORTTEÄ13,201Å. Ex på (enkelt) drivprogram i SORTÄ13,201Å.
(84142)
(84144) 80-04-17 21:33 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :84122: av Lars Enderin FOA1 Ärende: Endfile-records Vad är skillnaden i effektivitet mellan de båda alternativen?
(84144) (kommentar i 84166)
(84208) 80-04-17 22:18 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :84034: av Lars-Åke Larsson Ärende: Sorteringsrutin. (detta är en ersättning för raderade 84140 - synd att man inte bara kan byta ut det) Sorteringsrutin. Enklast är att lägga upp texterna i en text array samt sätta arr(i):- arr(i).Sub(pos,len) för nyckeln och sedan köra SORTTA (eller SORTTD), varefter återställning till maintexter med arr(i):- arr(i).Main. SORTT? finns i LIBSIM, SIMLH3 innehåller koden; annars kan du (enklare) ta den från DSKE:Ä13,134,LIBSIMÅ.
(84208)
(87118) 80-04-24 15:20 Lars Hellvig Mottagare: PASCAL erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Ärende: Simula eller Pascal? Jag behöver snabbt få ihop ett program på DEC:en som läser en textfil, gör några enkla saker med orden, och skriver ut resultaten. Man har sagt mig att Simula är ett lämpligt språk, eller kanske Pascal. Jag har inte använt något av språken, har inte gått någon kurs, och har inte tid att sätta mig och läsa hela böcker. Jag tror jag skulle kunna spara mycket tid om jag fick utgå från ett färdigt program i stället och modifiera det sedan. - Är det någon som har ett litet fungerande program som läser en textfil, gör något, och skriver ut något (ev. på en fil), som jag skulle kunna få låna?
(87118) (kommentar i 87126, 87476, 87706)
(87126) 80-04-24 15:23 Lars Enderin Mottagare: PASCAL erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :87118: av Lars Hellvig QZ Ärende: Simula eller Pascal? Kan du ge exempel på operationer och vad du menar med ord - vanliga svenska eller engelska ord?
(87126) (kommentar i 87136)
(87136) 80-04-24 15:33 Lars Hellvig Mottagare: Lars Enderin FOA1. Mottaget: 80-04-24 15:34 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Lars Enderin FOA1 Svar till :87126: Ärende: Simula eller Pascal? Texterna är på svenska och består av repliker från olika personer, de ser ut ung. så här: NN: prat prat, prat prat. Till en början gäller det att räkna ord och repliker, per informant (NN, MM, etc). Sedan kanske att räkna repliker med vissa ord i, eller skriva ut alla repliker från en viss person, etc.
(87136) (kommentar i 87147)
(87147) 80-04-24 15:45 Lars Enderin Mottagare: Lars Hellvig QZ. Mottaget: 80-04-28 13:23 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :87136: av Lars Hellvig QZ Ärende: Simula eller Pascal? Det ser ut att ligga bra till för SIMULA. Orden och skiljetecknen kan läsas med EXTERNAL TEXT PROCEDURE tagord. Raderna läses med Inimage från filen. Ord kan skiljas från skiljetecken med EXTERNAL CHARACTER PROCEDURE fetchar; EXTERNAL BOOLEAN PROCEDURE bokstav; ... Någon annan kanske har tid att skisseo &T P TTU öÄ
(87147)
(87293) 80-04-24 18:27 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Undefined global symbols När jag just skulle exekvera ett program fick jag följande utskrift GETCH 35625 BITFIE 35566 ZYLIMIN 13707 SLEEP 26677 %LNKDLT Execution deleted Så vitt jag kan se så har jag external-deklarerat de procedurer det rör sig om, utom ZYLIMN, som jag inte vet vad det är.
(87293) (kommentar i 87319)
(87319) 80-04-24 19:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :87293: av Lennart Borgman LTH Ärende: Undefined global symbols ZYLIMN är ingången i IMIN. Du kanske har någon underlig uppsättning externbibliotek etc. Pröva med att skriva ,SYS:LIBSIM/REL/SEARCH sist i EXECUTE-kommandot! Om du INTE hade externdeklarerat hade du väl fått fel i SIMULA, inte i LINK. Använder du många egna externa, eget LIBSIM etc? Jag har haft problem med att få rätt information till LINK men har fått det att fungera med komplicerade kedjor av externa. Om problemen fortsätter kanske jag borde gå in och titta på filerna. Meddela mig per brev i så fall.
(87319)
(87476) 80-04-25 14:27 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :87118: av Lars Hellvig QZ Ärende: Simula eller Pascal? Kan du inte nämna något om vad du vill åstadkomma, så kanske det blir lättare att hitta en bra 'prototyp'.
(87476) (kommentar i 87484)
(87484) 80-04-25 14:31 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :87476: av Mats Ohlin Ärende: Simula eller Pascal? Jag har för ro skull gjort en prototyp sim använder SIMSET. Se TEXTAN.SIMÄ13,134Å. Ev frågor undviker jag elegant genom att ta semester en vecka.
(87484)
(87496) 80-04-25 14:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Överflödiga externdeklarationer Om man får olösta referenser vid laddning av SIMULA-program kompilerade med version 5 kan det bero på att man har externdeklarationer, speciellt i huvudprogrammet, som inte motsvaras av något anrop av proceduren. Speciellt för QUICK-procedurer, t ex GETCH, SLEEP etc är detta aktuellt. Man bör alltså numera ta bort onödiga extern-deklarationer. Obs att i kedjan CLASS A, A CLASS B, .... behöver endast den innnersta använda klassen deklareras, övriga följer med på köpet. Om man gör externa procedurer eller klasser till attribut följer de också med, däremot inte om de deklareras innanför en procedur-kropp eller i ett inre block i en klass.
(87496)
(87836) 80-04-28 13:48 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Amerikansk Simula-användares erfarenheter Jag har just fått en amerikansk Simula-användares rapport om sina erfarenheter av DEC 10 Simula. Kort sammanfattning: - Han hade tänkt sig använda "events" (alltså rutiner som "vaknar" automatiskt när vissa förhållanden råder) vilket inte fanns i Simula. - SIMULA hade bra möjlighet för abstrakta datatyper, vilket han hade stor nytta av, bl.a. för att dölja statistik- insamling från själva simuleringslogiken. - När små programmeringsfel gav fel blockstruktur fick han ofta mängder av irrelevanta felutskrifter. - Han misslyckades med att få separatkompilering att fungera användbart för hans behov. - SIMDDT var mycket bra och användbart.
(87836) (kommentar i 88057)
(88057) 80-04-28 16:33 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :87836: av Jacob Palme FOA1 Ärende: Amerikansk Simula-användares erfarenheter WAITUNTIL kan man enkelt implementera - om man vill betala den ibland avsevärt förhöjda körkostnaden. Graham Birtwistles system DEMOS innehåller en kompromissvariant med olika vänteköer. Blockstruktur - generellt problem för många ALGOL-liknande språk. Kanske borde SIMED (NICE?) läras att kolla BEGIN-END-strukturen bättre. Kräver ngn sorts konvention i END-kommentarer. Typ END myproc .....; Om man upptäcker sep. kompilering "för sent" är det ofta omöjligt att i efterhand spalta upp en modul i flera.
(88057) (kommentar i 88061)
(88061) 80-04-28 16:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88057: av Mats Ohlin Ärende: Amerikansk Simula-användares erfarenheter Jag föreslog för länge sedan att kompilatorn skulle kolla och ge varningar för END-kommentarer med viss struktur av typ "END myproc". Förslaget kom aldrig till seriös behandling i SDG, tyvärr.
(88061)
(88168) 80-04-28 22:27 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: -Q och Q Om jag läser DOC:SIMLH2.MAN rätt så ska man kunna sätta på och stänga av genereringen av kvalifikations-test-kod fram och tillbaka i samma program genom: Options(/-Q) och Options(/Q). Men när jag kompilerar följande program: 00100 BEGIN 00200 CLASS a;; 00300 a CLASS b;; 00400 REF(a) aref; 00500 REF(b) bref; 00600 OPTIONS(/-q); 00700 bref:-aref; 00800 OPTIONS(/q); 00900 END så får jag meddelandet IMPLICIT QUALIFICATION CHECK på rad 700 trots att kontrollen borde vara avslagen då. Samma problem med version 4-kompilatorn.
(88168) (kommentar i 88184, 88189)
(88170) 80-04-28 22:31 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Avkodning av filnamn. FINDIN(OUT,DIRECT)FILE sväljer filnamn av typen: A.B.C som tolkas som A.C ! Även NEW In(Out,Direct)file gör på samma sätt som tur är, men det är väl ändå inte meningen att det ska vara så?
(88170) (kommentar i 88394)
(88189) 80-04-29 00:56 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88168: av Örjan Ekeberg (NADA) Ärende: -Q och Q Se DOC:SIMULA.DOC avsnitt 3, 1:a punkten. Pga av ett svårkorrigerat fel i kompilatorn träder /(-)A och /(-)Q i effekt satsen FÖRE den föregående! Skriv i st f "OPTIONS(/Q);" ==> ";OPTIONS(/Q);" så fungerar det.
(88189)
(88205) 80-04-29 02:19 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMSET vid separatkompilering. Jag har använt följande metod för att åstadkomma globala data som kan användas av separatkompilerade procedurer. (I det verkliga problemet är det många fler procedurer som använder samma gemensamma data). Options(/E); BEGIN CLASS globals; BEGIN EXTERNAL CLASS globals; !globala data; EXTERNAL PROCEDURE proc; END; REF(globals) g; g:-NEW globals; Options(/E); INSPECT g DO BEGIN EXTERNAL CLASS globals; !använder globala data; PROCEDURE proc(g); REF(globals) g; proc(g); INSPECT g DO BEGIN !o.s.v.; !använder globala data; END END; END; Har någon något förslag för hur man ska göra om man nu vill att SIMSET ska vara tillgänglig i alla tre programdelarna? (T.ex. data av typen REF(Head) i globals)
(88205) (kommentar i 88207, 88688)
(88207) 80-04-29 02:43 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88205: av Örjan Ekeberg (NADA) Ärende: SIMSET vid separatkompilering. Nej, tyvärr. Ett "context"-begrepp har länge efterlysts i SIMULA. Den enda (men begränsade utvägen) är att göra: Simset CLASS globals; BEGIN ... vissa procedurer ....END; globals CLASS level1; BEGIN ... vissa andra procedurer ...END; level1 CLASS level2; etc... M.a.o. högst begränsat vad gäller möjligheterna att fritt kombinera vilka procedurer man vill ha med. Virtuella procedurer ger dock viss möjlighet till omdefiniering av procedurer (på alla nivåerna faktiskt -- även om omdef. sker på yttersta nivå!).
(88207)
(88209) 80-04-29 03:05 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Reklam för FETCHAR (och UPC) Ett vanligt problem i texthanteringssammanhang i SIMULA är följande: Det gäller att i en fil (ev TTY) söka efter en rad som innehåller ett visst tecken i en viss position (oftast = 1). Inte sällan ser man exempelvis IF Image.Sub(1,1) = "?" THEN ... Betydligt effektivare (c:a 3 ggr) är IF fetchar(Image,1) = '?' THEN ... som dessutom har fördelen att aldrig kunna ge run-time-avbrott (Image.Sub(x,1) ger fel om x <= 0 eller x > Length). Vill man testa på viss bokstav som kan vara liten eller stor skriver man t ex: IF upc(fetchar(Image,1)) = 'N' THEN .... OBS att fetchar är av typ QUICK - en sorts mkt snabba procedurer med parameterhanteringen via register, varför argument 1 måste vara 'enkelt' - fetchar(infile_ref.Image,x) går ej; använd då INSPECT infile_ref DO fetchar(Image,x) -- med den extra fördelen (it 5 L 5FÖ_R%
(88209) (kommentar i 88488)
(88394) 80-04-29 14:23 Torgny Tholerus Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88170: av Örjan Ekeberg (NADA) Ärende: Avkodning av filnamn. KOM fungerar på precis samma sätt, och jag tycker det inte är så väldigt felaktigt. Det är väl bra att ett "konstigt" filnamn försöks få en vettig betydelse? Att lägga in en massa felutskrifter för alla teoretiskt möjliga fall tycker jag är ganska onödigt.
(88394) (kommentar i 88424, 89142)
(88424) 80-04-29 14:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88394: av Torgny Tholerus FOA1 Ärende: Avkodning av filnamn. Jämför "ABCDEFGHI.JKLMNOP" som tolkas som "ABCDEF.JKL". T.ex. kan man skriva "R GAM:ADVENTURE" istället för "R GAM:ADVENT" och det är väl bra att det är så i detta fall i alla fall!
(88424)
(88488) 80-04-29 16:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88209: av Mats Ohlin Ärende: Reklam för FETCHAR (och UPC) UPC verkar en trevlig procedur. Finns den i LIBSIM? Är den effektivt assemblykodad? Jag har länge saknat en UPCASE-procedur för CHARACTER-variabler.
(88488) (kommentar i 88650)
(88650) 80-04-29 23:48 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88488: av Jacob Palme FOA1 Ärende: Reklam för FETCHAR (och UPC) Ja, den finns i LIBSIM och är en Quick-procedur.
(88650)
(88688) 80-04-30 01:55 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88205: av Örjan Ekeberg (NADA) Ärende: SIMSET vid separatkompilering. Ett alt. till SIMSET kan ibland vara ett själv bygga upp sin listhantering - Lars Enderin och jag diskuterade för många år sedan en klass BEAD som var en sorts "selfcontaining circular list", varvid omgivande klass inte behövdes. Han har nog den någon stans. BEAD saknade speciellt huvud men inkluderade mekanismer för att gå runt exakt ett varv (dvs besöka samtliga element i listan en gång); liksom motsvarigheterna till Into, Out etc.
(88688) (kommentar i 88706, 90195)
(88706) 80-04-30 02:10 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88688: av Mats Ohlin Ärende: SIMSET vid separatkompilering. BEAD.SIM följer: ----------------------------------------------------------- OPTIONS(/E); CLASS bead; HIDDEN PROTECTED hsuc,hpred; BEGIN REF(bead)hsuc,hpred; REF (bead) PROCEDURE suc; IF hsuc=/=THIS bead THEN suc:-hsuc; REF (bead) PROCEDURE pred; IF hpred=/=THIS bead THEN pred:-hpred; PROCEDURE follow(x); REF(bead)x; BEGIN hsuc:-x.hsuc; hsuc.hpred:-x.hsuc:-THIS bead; hpred:-x END follow; PROCEDURE precede(x); REF(bead)x; BEGIN hpred:-x.hpred; hpred.hsuc:-x.hpred:-THIS bead; hsuc:-x END precede; PROCEDURE into(x); REF(bead)x; BEGIN hpred:-x.hpred; hpred.hsuc:-x.hpred:-THIS bead; hsuc:-x END into; PROCEDURE out; BEGIN hpred.hsuc:-hsuc; hsuc.hpred:-hpred; hpred:-hsuc:-THIS bead; END out; INTEGER PROCEDURE cardinal; BEGIN REF(bead)x; INTEGER i; x:-THIS bead; WHILE x.hsuc =/= THIS bead DO BEGIN i:=i+1; x:-x.hsuc END; cardinal:=i+1 END cardinal; BOOLEAN PROCEDURE singular; singular:=hsuc =/= THIS bead; PROCEDURE doforeach(p); PROCEDURE p; BEGIN REF(bead)x; FOR x:-THIS bead, x.suc WHILE x=/=THIS bead DO p(x); END; BOOLEAN PROCEDURE exists(such,that); NAME such,that; REF(bead)such; BOOLEAN that; BEGIN REF(bead)x; such:-x:-THIS bead; GO TO l; WHILE x =/= THIS bead DO l: IF that THEN BEGIN exists:=TRUE; GO TO out END ELSE such:-x:-x.hsuc; out: END exists; hsuc:-hpred:-THIS bead; END of class bead; ---------------------------------------------------- OBS proceduren exists som använder Jensen's device för att hitta ett visst element. T ex bead CLASS mybead; BEGIN REAL attr;.... END; REF (bead) b1,bwindow; b1:- .... !Bygg upp en cirk. lista med ingång via b; IF b1.exists(bwindow,bwindow QUA mybead.attr >= 0 AND bwindow QUA mybead.attr <= 3) THEN BEGIN ! Nu pekar bwindow på det första element som uppfyllde villkoret 0<= attr <= 3 ; END ELSE ..<fanns ej...>;
(88706)
(89142) 80-04-30 22:00 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88394: av Torgny Tholerus FOA1 Ärende: Avkodning av filnamn. Jag håller med om att det inte är så väldigt felaktigt, men inte stämmer det väl riktigt med SIMULAs grundfilosofi att gissa sig till en vettig betydelse när något ser "konstigt" ut, istället för att ge ett felmeddelande?
(89142) (kommentar i 89155)
(89155) 80-05-01 11:07 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89142: av Örjan Ekeberg (NADA) Ärende: Avkodning av filnamn. Det är en grundfilosofi i SIMULA som vi har stora svårigheter med att undvika. Vill man göra ett produktionsprogram som skall köras av andra än sina programmerare, så vill man ha ett program som mjukt anpassar sig efter användarna, inte ett som skriker ut obegripliga felutskrifter. En miss i SIMULA beroende på att man hade andra värderingar då än nu.
(89155)
(89245) 80-05-02 13:30 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: SIMULA borde ge ?-rad vid E-fel Om något fel av typ E eller värre inträffat under en SIMULA-kompilering, så borde SIMULA-kompilatorn ge en felutskriftsrad som börjar med ?. Lämpligen bör kompileringen helt avslutas först, inkl. produktion av ev. LST-fil, och allra allra sist skriver SIMULA ut en rad med t.ex. texten "?SIMULA - Compilation errors have occured" eller något sådant. Om detta hade funnits i SIMULA, så hade jag undvikit att av misstag lägga upp en VIDED-version med ett kompileringsfel i på FOA-arean i går, felet nu rättat, hoppas ingen drabbades, felet inträffar enbart bör filer med .VI? som extension.
(89245)
(89306) 80-05-03 10:05 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: "closeopen" eller "forceout" för direktfiler Om man gör ett program som gör en del saker som kan spåra ur, och då och då rapporterar sina delresultat i en DIRECTFILE, så vill man gärna att vid maskinföc T q4h0T1V
(89306) (kommentar i 89370)
(89370) 80-05-03 20:11 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89306: av Jacob Palme FOA1 Ärende: "closeopen" eller "forceout" för direktfiler Jag vet inte om det finns, men jag skulle också vilja ha precis just det, jag gör en hel del såna fel- och loggrapporter.
(89370) (kommentar i 89374)
(89374) 80-05-04 10:56 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89370: av Mats Wallin FOA1 Ärende: "closeopen" eller "forceout" för direktfiler I mitt fall behöver jag det för ett program som skall göra det möjligt för personer som inte kör KOM att få regelbundna utskrifter en gång i veckan ur vissa KOM-konferenser. Programmet noterar i en databas vilka utskrifter som gjorts, så att inte samma person får samma utskrift fler gånger. För att undvika att samma person får samma utskrift flera gånger om maskinen skulle gå ner under det programmet körs, så uppdateras databasen direkt efter varje utskrift. Jag gör nu "close" följt av "open" på databasen, men tror att detta är lite onödigt, när allt jag vill åstadkomma är att säkerställa att bufferten töms till filen.
(89374) (kommentar i 89391)
(89415) 80-05-04 21:48 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Kommentar till :89391: av Sören Tirfing Ärende: "closeopen" eller "forceout" för direktfiler Då kanske vi kan få en rutin CLOSEOPEN som får ingå i Simulamanualen del 3!? (Vi har behov av sådan procedur i Dapu också.)
(89415) (kommentar i 89685)
(89685) 80-05-05 16:35 Giltighetstid -23265353657 dagar. Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN
(89685) (kommentar i 89701, 89812)
(89689) 80-05-05 16:42 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Hitta filer från SIMULA-program Finns det något sätt att från ett SIMULA-program hitta filer som man packat ihop i ett Libman-bibliotek? Jag har ett antal filer med hydrografiska data som vart och ett upptar netto 1 block och brutto 5 block. Ett program skall läsa in data från en av filerna när man under körning ger filnamn. Dessa småfiler har jag lagt i ett libmanbibliotek för att spara litet utrymme,men måste nu kopiera ut dem på arean innan jag kör mitt program.(OK,jag borde ha gjort en direktfil för dessa data (de skrivs vid behov av programmet också),och på så sätt löst det från början. Men nu förutsåg jag inte detta,och programmerar lika långsamt som Jolly Jumper spelar schack.)
(89689) (kommentar i 89703)
(89703) 80-05-05 16:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89689: av Björn Bergström Ärende: Hitta filer från SIMULA-program INTEGER PROCEDURE libmember(inf, member) finner början av filen member i infilen inf. Resultatet är antal ord i filen. Man kan kopiera ut filen via INPUT - OUTPUT.
(89703) (kommentar i 89705)
(89705) 80-05-05 16:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89703: av Lars Enderin FOA1 Ärende: Hitta filer från SIMULA-program LIBMEMBER finns i LIBSIM. Källkoden i LIBMEM.SIMÄ13,134Å.
(89705) (kommentar i 89712)
(89712) 80-05-05 17:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89705: av Lars Enderin FOA1 Ärende: Hitta filer från SIMULA-program Mittåt! Finns f n INTE i LIBSIM. Använd min SIM-fil.
(89712) (kommentar i 89794)
(89794) 80-05-05 20:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89712: av Lars Enderin FOA1 Ärende: Hitta filer från SIMULA-program Och ATR+REL!
(89794)
(89812) 80-05-05 21:59 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89685: av Örjan Ekeberg (NADA) Ärende: "closeopen" eller "forceout" för direktfiler Den kod man använder för att få sitt block utskrivet bör ligga i en separat procedur, så att man kan byta ut denna vid eventuell förflyttning till annan dator.
(89812)
(90195) 80-05-06 12:27 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :88688: av Mats Ohlin Ärende: SIMSET vid separatkompilering. Det var ju bra att SIMSET:s otillgänglighet vid separatkompilering togs upp. Jag har ett par gånger behövt SIMSET i externdeklarerade klasser. Det största problemet tycker jag är att man inte kan skapa objekt ur klasser med detta prefix. Ofta när man vill kombinera olika externdeklarerade klasser är , som jag ser det, enda vettiga alternativet att skapa objekt ur klasserna. Dvs hade varit om man fått lov att göra det. För att komma runt det här har jag någon gång skrivit egna köer, men de har blivit hopplöst långsamma, det är inget jag egentligen har tid att jobba med. Skulle det inte vara möjligt antingen att: 1) Se till att SIMSET alltid är tillgänglig, utan prefixning, den är ju rätt liten. 2) Tillåta skapandet av objekt ur underklasser till SIMSET. 3) Åtminstonde ha dessa möjligheter som alternativ vid kompileringen. Det har tycker jag vissa fördelar framför att ytterligare ideer om köer blir allmänt använda i SIMULA.
(90195)
(90242) 80-05-06 13:39 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :89701: av Lars Enderin FOA1 Ärende: "closeopen" eller "forceout" för direktfiler Jag tror att SIMULA DEVELOPMENT GROUP antagit en standard där man sa att den procedur vi just nu diskuterar skulle heta CHECKPOINT. Även ENQUE/DEQUE ingick i samma standardförslag, de har ju nära anknytning till detta.
(90242)
(90267) 80-05-06 13:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :83969: av Lennart Borgman LTH Ärende: HIDDEN och PROTECTED. Exempel tack!
(90267)
(90279) 80-05-06 14:23 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: FQC Det verkar som om rubr. program inte funkar på version 5. Vad kan detta bero på?
(90279) (kommentar i 90285)
(90293) 80-05-06 14:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :90285: av Lars Enderin FOA1 Ärende: FQC På PUB: skulle det vara; det var mkt riktigt inte senaste versionen. Ny FQCRED finns f n på <13,201>. Mats Ohlin får ge klartecken för överföring till PUB:.
(90293) (kommentar i 90430)
(90430) 80-05-06 16:31 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM. Sändare: Lars Enderin FOA1 Kommentar till :90293: av Lars Enderin FOA1 Ärende: FQC Det är klart för överflyttning av FQCRED.EXE fr Ä13,201Å till PUB:.
(90430) (kommentar i 90553, 90679)
(90553) 80-05-06 18:40 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :90430: av Mats Ohlin Ärende: FQC OK, fixade FQCRED.EXE upplagd på PUB:-arean.
(90553)
(90679) 80-05-07 08:58 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :90430: av Mats Ohlin Ärende: FQC FQCLST borde laddas om!
(90679) (kommentar i 90896, 92696)
(90896) 80-05-07 12:49 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :90679: av Lars Enderin FOA1 Ärende: FQC FQCLST.EXEÄ13,201Å klar för PUB.
(90896) (kommentar i 91009)
(91009) 80-05-07 14:16 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :90896: av Mats Ohlin Ärende: FQC Fixat.
(91009)
(91438) 80-05-08 13:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Unknown RADIX-50 Symbol code (LNKURS) Följande program ger fel vid laddning: BEGIN EXTERNAL TEXT PROCEDURE rest; EXTERNAL REF(q) PROCEDURE p; EXTERNAL CLASS q; END; Externa moduler: p.mac: COMMENT * p, SIMULA specification; OPTIONS(/E:CODE,p); EXTERNAL CLASS q; REF(q) PROCEDURE p(r); REF(q) r; !*;! MACRO-10 code !*;! ... q.sim: OPTIONS(/e); CLASS q;; Om man flyttar deklarationen EXTERNAL CLASS q före .... PROCEDURE p blir det inget laddningsfel. Man skall alltså deklarera kvalificerande externa klass före extern-deklarationen för en procedur som har denna klass som kvalifikation eller som har parameter kvalificerad med den externa klassen eller en subklass av den. Ganska ovanligt fall, kanske inte kommer att rättas i kompilatorn.
(91438) (kommentar i 91440)
(91440) 80-05-08 13:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :91438: av Lars Enderin FOA1 Ärende: Unknown RADIX-50 Symbol code (LNKURS) I allmänhet går programmet att köra (LOAD+START).
(91440) (kommentar i 91542)
(91542) 80-05-08 17:01 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :91440: av Lars Enderin FOA1 Ärende: Unknown RADIX-50 Symbol code (LNKURS) Jag har nu lagt in felutskrift för detta fall. PATH /NEW ger tillgång till version 5(366) av SIMULA. Tyvärr skrivs felutskriften ut två gånger, men det kan man tåla. SIM203 E QUALIFYING CLASS XXXX NOT YET DECLARED
(91542)
(91629) 80-05-08 18:19 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :91608: av Lennart Borgman LTH Ärende: Ny sida. Om filen innehåller ABC<CR><LF><FF>DEF så får du i simula in tre IMAGE: ABC <FF> DEF Om filen däremot innehåller ABC<FF>DEF så får du i simula in två IMAGE: ABC<FF> DEF Du testar alltså på FF genom att först göra STRIP och sedan kolla sista tecknet i strippad image.
(91629) (kommentar i 91686)
(92104) 80-05-09 17:20 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92090: av Lennart Borgman LTH Ärende: Tecknet ö Försök med /C128 S?:<ESC>oe<ESC>ef
(92104) (kommentar i 92108)
(92108) 80-05-09 17:23 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92104: av Lars Enderin FOA1 Ärende: Tecknet ö Ledsen, men jag förstår inte. Var lägger jag detta? Vad är det?
(92108) (kommentar i 92118)
(92114) 80-05-09 17:25 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Små tillägg och förbättringar i SIMULA På NEWD: finns f n nya filer, som bör flyttas till ordinarie system-areor. PATH /NEW ger tillgång. Bl a kan långa rader läsas in efter anrop av proceduren ERCTLI. Se LIBSIM nyheter.
(92114)
(92118) 80-05-09 17:25 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92108: av Lennart Borgman LTH Ärende: Tecknet ö Detta är SOS-kommandon!
(92118) (kommentar i 92144)
(92144) 80-05-09 17:48 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92118: av Lars Enderin FOA1 Ärende: Tecknet ö Jag proövade, det gick inte. Alla mellanrum blev oe. (I en provfil.)
(92144) (kommentar i 92150, 92194)
(92150) 80-05-09 17:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92144: av Lennart Borgman LTH Ärende: Tecknet ö .TECO fil.ext *<fnxÅyÅ;>ÅÅexÅÅ kanske går. Å står för <ESC>, fn motsvarar S i SOS, x byts mot y.
(92150) (kommentar i 92158)
(92190) 80-05-09 18:24 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: Omkompilering OM man kompilerar om en fil som har protection <055> på rel och atr-filerna så ändras protection till <057> för atr-filen. Det är inte bra.
(92190) (kommentar i 92203, 103934)
(92194) 80-05-09 18:29 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92144: av Lennart Borgman LTH Ärende: Tecknet ö SOS>s^^ö(ESC)oe(ESC)ef där ^^ = (CTRL)^ borde också gå bra.
(92194)
(92203) 80-05-09 18:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92190: av Lars-Åke Larsson Ärende: Omkompilering Medgives. Trodde inte det var så. Skall se på det om någon vecka.
(92203)
(92218) 80-05-09 19:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92090: av Lennart Borgman LTH Ärende: Tecknet ö SIMULA kan tyvärr inte tillåta ÅÄÖ längre när vi byter till svensk standard, ty då försvinner hakparenteserna. Troligen bäst låta SIMULA fungera som förut så att gamla program går att kompilera.
(92218) (kommentar i 92420, 92704)
(92296) 80-05-10 00:43 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lennart Borgman LTH. Mottaget: 80-05-12 13:51 Ärende: Printfiles Om jag skapar en printfile och skriver en rad på denna, sedan jag öppnat den, så läggs AUTOMATISKT en form-feed ut före min rad. Skall det vara så?
(92296) (kommentar i 92301)
(92301) 80-05-10 00:52 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92296: av Lars-Åke Larsson Ärende: Printfiles Ja så är det. Se följande utdrag ur SIMLH1: CLASS PRINTFILE further orients the prefixing CLASS OUTFILE towards typewriter terminal (TTY:) or line printer output. The PROCEDURES OPEN and CLOSE take the pattern of those local to OUTFILE but in addition OPEN positions to the top of the next page.
(92301) (kommentar i 92323)
(92323) 80-05-10 01:44 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92301: av Mats Ohlin Ärende: Printfiles Då borde det väl bara vara för appendade filer som man genererar en extra form-feed. Eller helst bara när man gör append på en redan existerande fil. Nu blir väl resultatet att det alltid läggs ut en hel blank sida i början på alla filer. Men så är det ju det där med standard.... Dvs hur har reglerna tolkats på andra system.
(92323) (kommentar i 92371)
(92371) 80-05-10 14:36 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lennart Borgman LTH. Mottaget: 80-05-12 13:51 Kommentar till :92323: av Lars-Åke Larsson Ärende: Printfiles Efter något funderande så tror jag att det är naturligt att det läggs ut en form-feed i början av filen. Vill man sedan skriva ut filen på en printer av något slag så börjar då utskriften med att positionera printern till början av en sida innan texten kommer ut.
(92371)
(92462) 80-05-11 01:26 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Fel. Jag är rädd att en av våra elever har hittat ett fel i SIMULA-5: Följande (något hoppiga) program ger Illegal UUO med SIMULA-5 men går bra med SIMULA-4. BEGIN EXTERNAL CLASS c; c BEGIN pass: outtext (" pass:"); GOTO command; END; END; OPTIONS(/E); CLASS C; VIRTUAL : LABEL pass; BEGIN command: outtext (" command:"); outimage; GOTO pass; outtext (" inner"); INNER; END;
(92462) (kommentar i 92486)
(92466) 80-05-11 01:29 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: Formfeed till TTY: när kompileringsfelen skrivs ut. Jag har hört irriterade rykten om att SIMULA-kompilatorn genererar Formfeed ibland, mitt i listan över felmeddelanden. Är det så? Isåfall: varför?
(92466) (kommentar i 97491)
(92484) 80-05-11 09:49 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92420: av Christer Wikmark SU/ADB Ärende: Tecknet ö Jo, det vore en möjlighet. Så har ju IBM-Simula.
(92484)
(92486) 80-05-11 09:50 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92462: av Örjan Ekeberg (NADA) Ärende: Fel. Lars Enderin har semester nästa vecka, så detta kan inte åtgärdas förrän efter Kristi-Himmelsfärds-helgen. Men stora tack för hjälpen att spåra fel i systemet, det uppskattar vi MYCKET.
(92486) (kommentar i 92821)
(92536) 80-05-11 14:34 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92494: av Jacob Palme FOA1 Ärende: Försök till uppskattning av antal Simula-programmerare Men bara 65 medlemmar i detta möte!!! 65/211!! Egendomligt!
(92536) (kommentar i 92572, 92580)
(92696) 80-05-12 13:17 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Kommentar till :90679: av Lars Enderin FOA1 Ärende: FQC Såsmåningom borde vi införa en annan benämning på FQCxxx. Vi har ju SIMDDT, FORDDT, PASDDT och SIMED, PASED, (borde ha FORED) så varför inte SIMFQC, PASFQC etc??
(92696) (kommentar i 92855)
(92704) 80-05-12 13:23 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92218: av Jacob Palme FOA1 Ärende: Tecknet ö Övergång till svensk standard kan väl inte betyda att ÅÄÖ inte kan användas!!!!
(92704) (kommentar i 92857)
(92798) 80-05-12 15:35 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu Arbetsmöte Ärende: Checksiffra. Vi behöver i Dapu en procedur för beräkning av checksiffra för våra konton. Borde inte en sådan procedur ingå i Simula-biblioteket? Har någon redan en sådan procedur kanske?
(92798) (kommentar i 92809, 93978)
(92809) 80-05-12 15:44 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu Arbetsmöte Kommentar till :92798: av Lars-Åke Larsson Ärende: Checksiffra. Vilken sorts checksiffra? Den vanliga snusken för personnummer eller nån av de mer intrikata varianterna?
(92809) (kommentar i 92879)
(92821) 80-05-12 16:12 Yngve Sundblad (787 7147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92486: av Jacob Palme FOA1 Ärende: Fel. Den studerande har upptäckt felet vid körning av en av mina programmeringsuppgifter(platsbokning). Det kan renodlas ännu mer (jag upptäckte det själv i dag och visste inte att det var rapporterat): OPTIONS(/E); CLASS a; BEGIN lage: Outchar('*'); END separatkompileras och anropas av följande huvudprogram BEGIN EXTERNAL CLASS a; a BEGIN Outchar('%'); Outimage; GOTO lage; END END varvid *% kommer ut och Illegal UUO inträffar med SIM5 medan programmet går OK (oändlig slinga av *% *% *% ... med gamla Simulasystemet). Lägger man in klassen a i källversion går programmet OK även med SIM5.
(92821) (kommentar i 92971, 94769, 126674)
(92843) 80-05-12 16:26 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92580: av Jacob Palme FOA1 Ärende: Försök till uppskattning av antal Simula-programmerare 27 personer som programmerar i SIMULA på Nadja! Knappast!! Det beror väl på att nästan alla elever kör under SFD-n med programmerarnummer 100 (och därför väl bara räknas som 1 person). Antalet elever som lär sig programmera i SIMULA på Nadja varje år är drygt 1000 st! Uppskattningen att bara 50% av programmerarnumren skulle vara verkliga personer verkar också på tok för låg. Det är bara en handfull som är specialnummer.
(92843)
(92855) 80-05-12 16:32 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92696: av Staffan Romberger Ärende: FQC Verkar vettigt. Fil FQC.HLP bör finnas kvar med hänvisning till SIMFQC.
(92855)
(92857) 80-05-12 16:34 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92704: av Staffan Romberger Ärende: Tecknet ö Simulas standard tillåter inte ÅÄÖ i identifierare i SIMULA- program. Att tillåta det är en lokal avvikelse som vi gjort i DEC-10-Simula. Men som inte längre kan fortsätta vid övergång till svensk standard, eftersom ju Ä = vänster fyrkantparentes och Å = höger fyrkantparentes, och dessa används vid matriser m.m. Givetvis kan man däremot använda ÅÄÖ i texter och characters.
(92857) (kommentar i 92896, 93070)
(92879) 80-05-12 16:53 Sven-Erik Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu Arbetsmöte Kommentar till :92809: av Mats Wallin FOA1 Ärende: Checksiffra. checksiffran skall beräknas enligt personnummervarianten men med skillnaden att även bostäver ingår i konton.
(92879) (kommentar i 92940)
(92896) 80-05-12 17:14 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Kommentar till :92857: av Jacob Palme FOA1 Ärende: Tecknet ö Det vore önskvärt om det gick att använda ÅÄÖåäö i identifierare även med svensk standard. Fyrkantparenteser finns ju inte i svensk standard så dem behöver vi ju inte ta hänsyn till!! Nåja, allvarligt talat så borde man kunna göra så (åtminståne som option) att ÅÄÖåäö tolkas som bokstäver och använda ( ) även som indexparenteser. Ännu trevligare vore det om man fick använda accent grave (ascii 96) resp. tilde (ascii 126) som indexparenteser. (de 'råkar' nämligen se ut som hakparenteser på alla våra terminaler).
(92896) (kommentar i 92900)
(92940) 80-05-12 18:41 Jack Sandberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu Arbetsmöte Kommentar till :92879: av Sven-Erik Pettersson (ENEA) Ärende: Checksiffra. Det är klart att man skulle kunna använda modulo 10- metoden även för alfanumeriska strängar bara man kunde ge varje tecken ett specifikt och allmängiltigt numeriskt värde. Sen kunde man omvandla modulo-10-metoden t ex till modulo-40-metoden och att på så sätt konstruera en checkbokstav till alfasträngar exv konto A2556B-T Då duger alltså inte RANK som gerolika värden på olika maskiner! Men jag tycker vi ska med all kraft motverka checksiffor el dyl i alfasträngar; Jag vill aldrig heta JACK-R och dessutom skulle metoden bli ganska ensam till att börja med i våra system och så småningom får man väl skämmas för att man hittat på något så jävligt. Nej jag tycker att man kan hållla sigmed checksiffra enbart där den är vedertagen och NÖDVÄNDIG
(92940) (kommentar i 92949, 93313)
(92971) 80-05-12 20:10 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92821: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Fel. Usch, hopp tillbaka in i ett objekts redan genomlöpta satser borde knappt få förekomma. Det känns ungefär som hjärtmassage på redan avlidna.
(92971) (kommentar i 93129, 93348)
(93070) 80-05-13 08:06 Sven-Erik Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92857: av Jacob Palme FOA1 Ärende: Tecknet ö I Univac-simula har man numera switchen NATIONAL för att ange att man använder ÅÄÖ i identifierare
(93070) (kommentar i 93109)
(93109) 80-05-13 09:42 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93070: av Sven-Erik Pettersson (ENEA) Ärende: Tecknet ö Men kan man ha BÅDE stora och små bokstäver på Univac?
(93109) (kommentar i 93473)
(93133) 80-05-13 10:04 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: FILESIZE Jag skulle vilja ha första parametern till FILESIZE som i RENAME, dvs antingen REF (Infile) eller TEXT, för annars är jag tvungen
(93133)
(93256) 80-05-13 12:55 Jack Sandberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu Arbetsmöte Kommentar till :92949: av Jacob Palme FOA1 Ärende: Checksiffra. JA, OCH PÅ SAMMA SÄTT KAN MAN VÄL KONSTRUERA REDUNDANS I ALFASTRÄNGAR SÅ ATT RISKEN FÖR FÖRVÄXLING BLIR LITEN MELLAN OLIKA BEGREPP. VI HÅLLER JU PÅ MED SÅNT NÄR VI LÄGGER UPP KOMMANDOSTRUKTURER OCH REDUNDANSEN BEHÖVER JU INTE VARA MATEMATISKT KONSTRUERAD SOM I PERSONNR UTAN KAN JU VARA FÖRNUFTSMÄSSIGT KONSTRUERAD. OM MAN VILL UNDVIKA FÖRVÄXLING MELLAN OLIKA ALFANUMERISKA KONTON T EX SÅ KAN MAN VÄL GÖRA KNTONA TILLRÄCKLIGT OLIKA OCH ATT DEN VÄGEN VÄGA MELLAN BEKVÄMLIGHET OCH SÄKERHET.
(93256) (kommentar i 93356)
(93278) 80-05-13 14:43 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED Finns det någon motsvarighet till det här på Univac? Är SIMED överförbart till Univac? (Jag tänker på min stackars kompis, som letar begin och end i sina simula-filer.)
(93278) (kommentar i 93316)
(93316) 80-05-13 16:02 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93278: av
(93316) (kommentar i 93475)
(93416) 80-05-13 18:42 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Maj-Britt Kåhre. Mottaget: 80-05-14 08:07 Ärende: Hur bör STORBOKSTAV m.fl. fungera vid TTY NO QZ Just nu så antar "STORBOKSTAV" med flera alltid att en fil är med QZ-standard vid QZ-CPU-er, även om TTY NO QZ är satt. Är detta lämpligt? QZ skall ju snart gå över till svensk standard, och det blir säkert under en övergångsperiod blandat mellan båda standarderna. Är det inte bäst då att STORBOKSTAV fungerar olika beroende på värdet av TTY QZ vid QZ-CPU-nummer (men alltid SISLTR för andra CPU-er). Tacksam för snabbt besked, då detta påverkar koden i ett program som en praktikant just nu håller på att skriva hos oss.
(93416) (kommentar i 93987)
(93447) 80-05-13 22:39 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93348: av Jacob Palme FOA1 Ärende: Hoppsatser tillbaka i klasser: Ganska ofta kan man väl klara vänsterexemplet ovan genom att införa en virtual proc checkdata. Undrar förresten varför jag upplever virtual procedures som något mycket trevligt, men virtual labels (switchar får väl också vara virtual) som sällsynt oestetiska ?
(93447) (kommentar i 93528)
(93473) 80-05-14 08:12 Sven-Erik Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93109: av Lars-Åke Larsson Ärende: Tecknet ö Ja sen i somras är UNIVAC-simula full ASCII men som villkor för att använda åäö måste man ange kompilatorswitchen %NATIONALS. (åäö i identifierare skulle det vara). En helt annan sak är ju det problem som man får med standardeditorn genom att det skiljer på små och stora bokstäver vilket ju inte är så roligt vid sökning och substituering. Vi har löst detta på ett någorlunda sätt (för läsbarhet) genom att köra "inventerad simed" dvs reserverade ord med små bokstäver och identifierare som STORA bokstäver och inte blandat små och stora.
(93473)
(93475) 80-05-14 08:15 Sven-Erik Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93316: av Lars-Åke Larsson Ärende: SIMED kompilatorswitchen %INDENT=<steg>; ger indentering av kompileringslistan om man kör batch, obs alltså bara i utskriften och inte i filen.
(93475)
(93528) 80-05-14 10:05 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93447: av Christer Wikmark SU/ADB Ärende: Hoppsatser tillbaka i klasser: Okej, jag utvidgar mitt exempel med en lång serie subklasser till varandra, som gör mer och mer utförliga "indatacheckar". Då blir det svårt att göra det snyggt med procedurer. Dessutom är proceduranrop ganska ineffektiva, medan CALL, RESUME och INNER är effektiva och billiga satser, varför jag gärna försöker använda dem istället för proceduranrop.
(93528)
(93978) 80-05-15 21:09 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu Arbetsmöte Kommentar till :92798: av Lars-Åke Larsson Ärende: Checksiffra. Jag har på band en version a la BLOCK (BLACK?) - bättre än metoden för personnummer påstås det. Ngn gång i nästa vecka kan jag kanske hitta den (är ledig f n).
(93978)
(93987) 80-05-16 01:30 Örjan Ekeberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :93416: av Jacob Palme FOA1 Ärende: Hur bör STORBOKSTAV m.fl. fungera vid TTY NO QZ Verkar farligt att utgå från att TTY-parametern är riktigt satt tycker jag. Det kan ju vara ett program av typen SIMED som bara arbetar med filer och då vill man ju inte att programmet ska vara beroende av hur man råkar ha terminalparametrarna satta. Tyvärr finns det väl ingen lyckad lösning på problemet, det bästa är kanske ändå att försöka byta standard vid en bestämd tidpunkt överallt.
(93987)
(94769) 80-05-19 20:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :92821: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Fel. Felet nu rättat i SIMP3.EXE5(366) som snart kommer upp på SYS. Fel adress för alla lägen i externa klasser! Som tur är används inte sådant så ofta. Fråga till Mats Ohlin: Finns det inte något sådant läge i SAFEIO med varianter? Flera LIBSIM-klasser som har lägen? I så fall bör de kompileras om.
(94769) (kommentar i 94783, 95601)
(94987) 80-05-20 14:46 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Closeopen Bestämdes något om vad rutinen för att tvinga fram utskrift av buffert i Directfile skall heta? Finns den redan i LIBSIM?
(94987) (kommentar i 95083)
(95083) 80-05-20 16:04 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :94987: av Lars-Åke Larsson Ärende: Closeopen Jag tror det stod "checkpoint" i det standardförslag som behandlats vid SDG flera gånger. Om det någonsin antagits vet jag dock inte.
(95083)
(95510) 80-05-21 14:32 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Efterlysning: Editorer. I en del sammanhang behöver man sätta olika slag av texteditorer i händerna på en användare. Man ställer då ibland kraven .att kunna nå editorn från ett applikationsprogram .att editorn skall vara enkel att handskas med för en ovan användare. De generella editorerna typs TECO,SOS och VIDED är då inte användbara. Man tvingas oftast skriva sin egen editor för en viss tillämpning. Ibland har man t.o.m. behov av flera olika editorer i samma programsystem (gäller bl.a. DAPU). Varje gång man skriver en sådan editor, tvingas man mer eller mindre "återuppfinna hjulet". Dvs man tvingas konstruera den programvara som hanterar en in och en utfil samt byter ut eller lägger till rader i denna. Ovanpå detta system lägger man själva editorns dialog mot användaren. Det syns mig vettigt att man har tillgång till en eller flera grundläggande editorer som kan förses med lämplig användardialog för olika tillämpningar. Och att dessa editorer då är ordentligt dokumKL= '*;9 Jag kan se två typer av editorer: 1. För hantering av fri text. Med inlagring av extra rader där man vill. Och med vissa möjligheter att söka efter textsträngar. 2. För inläggning av text, men där PLATSEN där en viss rad skall läggas in, styrs av en "masterfil". Efterlysning: ÄR DET NÅGON SOM HAR NÅGON PROGRAMVARA FÖR DET HÄR OMRÅDET?
(95510) (kommentar i 95697)
(95601) 80-05-21 16:25 Yngve Sundblad (787 7147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :94769: av Lars Enderin FOA1 Ärende: Fel. Heder och tack. Hoppas den nya, felfriare versionen snarast förs över även till NADJA. Synd att man inte får ha INNER inuti WHILE-slinga, då hade jag inte tvingats programmera med GOTO. (Eller kanske tur eftersom felet kanske inte upptäckts så snart annars).
(95601) (kommentar i 95795)
(95795) 80-05-21 23:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :95601: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Fel. Undrar just varför inte INNER i WHILE-loop kunde vara tillåtet? Lägen t ex inne i sådana är ju OK.
(95795) (kommentar i 95838)
(95838) 80-05-22 08:47 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :95795: av Mats Ohlin Ärende: Fel. INNER är ju inte en vanlig sats utan får endast förekomma på yttersta nivån i en klass, och delar därmed upp klassens satser i två grupper. INNER står ju för satserna i eventuella subklasser. Dessutom får det ju bara finnas ett INNER. Skulle man f ö kunna uppnå intressanta effekter genom att tillåta flera INNER? Subklassernas satser, uppdelade av INNER, skulle då ersätta successiva INNER i prefixet. Leder dock till implementationssvårigheter - 1 eller 0 INNER förutsätts av alla implementationer nu. OM INNER skulle tillåtas i WHILE-sats, bör det tillåtas även i villkorssats (IF-THEN-ELSE) och compound-sats BEGIN <satser> END. Någon får väl lämna ett förslag till SDG eller SSG.
(95838) (kommentar i 96452)
(96452) 80-05-23 09:53 Yngve Sundblad (787 7147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :95838: av Lars Enderin FOA1 Ärende: Fel. Att tillåta ett INNER på yttersta blocknivån i klasskroppen (och inuti WHILE-DO ..., IF-THEN-ELSE och i sammansatta satser borde väl inte leda till några implementationssvårigheter. Jag trodde det var så tills simulasystemet korrigerade min världsbild. Jag undrar om inte Common Base kan tolkas på bägge sätten?! Nej förresten, hittade ett gammalt ex på inst, det står klart att INNER bara får finnas fristående på yttersta nivån. Borde vara annorlunda, ska vi skriva till simulagruppen?
(96452) (kommentar i 96475)
(96475) 80-05-23 10:38 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :96452: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Fel. Några implementationssvårigheter finns knappast. Kontrollen på rätt använt INNER görs i syntax-analysen på ett sätt som passar dåligt in i strukturen - att modifiera denna kontroll borde vara enkelt - dvs man tillåter INNER så länge blocknivån inte är ändrad av deklarationer, FOR-loop, INSPECT (finns det mer?). Common Base är dock det viktigaste hindret, och jag undrar om det kan undanröjas. Gör ett förslag, men kom ihåg att väl genomarbetade och formellt presenterade förslag prioriteras.
(96475) (kommentar i 96592)
(96592) 80-05-23 12:55 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :96475: av Lars Enderin FOA1 Ärende: Fel. Nästa möte med SSG (Simula Standards Group) blir i Augusti i år. Förslag till det mötet bör snarast sändas till SSG, c/o Norsk Regnesentral, Postboks 335, Blindern, Oslo 3, Norge.
(96592)
(97491) 80-05-27 12:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :92466: av Örjan Ekeberg (NADA) Ärende: Formfeed till TTY: när kompileringsfelen skrivs ut. Jag har inte hört något sådant. Kan det inte vara ett form-feed från SIMULA-koden, som ju delvis skrivs ut för varje felmeddelande? JAg skulle vilja se ett exempel för att kunna motivera tidsåtgången för att belägga eller vederlägga påståendet.
(97491)
(97894) 80-05-28 01:34 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: GETFIL En procedur som utför motsvarigheten till DIR/F finns f n på Ä13,201,UFDÅ. Se testexempel i GT.SIMÄ13,201,UFDÅ. Man kan ange godtycklig filspec med * och/eller ?. Aktuell för senare införande i LIBSIM. Synpunkter mottages tacksamt. Bättre namn -- FILNAM kanske? Eller DIRECT t o m?
(97894) (kommentar i 127932)
(97931) 80-05-28 03:18 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: SORT Ett program som sorterar mindre filer (< 50 block) med samma snabbhet som SYS:SORT finns på Ä13,201Å (namn SORT). Utnyttjar procedurerna SORTTE, SORTXA,SORTXD på samma area. Inladdning av texten sker m h a proceduren TEXTFILE.
(97931)
(99971) 80-05-29 17:12 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Temporära filer (TMPNAM) LIBSIM-proceduren TMPNAM är mycket användbar för att skapa temporära filer för att t ex testa ett direktfilprogram: df:- NEW Directfile(tmpnam("TST")) skapar filen "021TST.TMP" (om jobbnumret är 21), som AUTOMATISKT försvinner när man loggar ut! Dessutom kolliderar man inte med andra jobb på samma ppn.
(99971)
(100053) 80-05-29 21:12 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Ärende: SIMULA version 5(372) Ett förargligt fel i Directfile är nu rättat. Yttrade sig i att databasen för GAM:QZORD, QZDRO plötsligt vid uppdatering fick stora luckor, som uppstod då 1) Filen var skriven t o m sista ordet i sista blocket 2) Man läste till Endfile och därefter skrev nästa Image, alltså först i ett till dess obefintligt block. När man då stängde filen ansågs hela sista blocket skrivet, så att man nästa gång hoppade över resten av detta och började på nästa block. Just nu finns rättelsen på NEWD: men jag hoppas någon snäll driftsystemperson flyttar filerna till standardplatserna. PATH /NEW fungerar annars.
(100053) (kommentar i 100062, 100066)
(100062) 80-05-29 21:31 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :100053: av Lars Enderin FOA1 Ärende: SIMULA version 5(372) Den rättade versionen av simulas runtime-system är nu upplagd på SYS:-arean (även på DEC-2020-datorerna ADB och NADJA).
(100062) (kommentar i 100064)
(100064) 80-05-29 21:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :100062: av Sven Olofsson QZ Ärende: SIMULA version 5(372) Tack, snabbt arbetat!
(100064)
(100204) 80-05-30 11:05 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LOCATION i SIMDDT I den senaste versionen 5(372) kommer man åt LOCATION med SIMDDT och kan t o m ändra den, vilket ICKE rekommenderas och görs på egen risk. Location är ett Directfile-attribut, vilket säkert alla känner till.
(100204) (kommentar i 100410, 101284)
(100460) 80-05-30 17:14 Lars-Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA RTS Finns det något sätt att hindra SIMULA från att swappa högsegment stup i ett? Det är mycket irriterande i program som ofta öppnar och stänger filer.c
(100460) (kommentar i 100469, 100485)
(100616) 80-05-31 10:59 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :100489: av Lars Enderin FOA1 Ärende: SIMULA RTS QZ bör bara ha en version på SYS, den som bedöms mest optimal för QZ och dess kunder. Att ha två versioner, en med ett och en med två segment, ger ju mindre optimalt utnyttjande av minnet eftersom denna del delas mellan flera samtidiga användare. Det är möjligt att det numera, med billigare primärminne, är optimalt att ha ensegmentversion istället för tvåsegment- version. QZ-s taxor premierar dock tvåsegmentversionen.
(100616)
(100792) 80-06-01 12:14 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Överföring QZ-NADJA Original: (105) 80-06-01 12:04 JACOB PALME Alla inlägg i detta möte överförs automatiskt mot motsvarande möte i KOM-systemet vid QZ. Överföring görs varje kväll kl 22:40. Ev. kan en överföring ordnas mitt på dagen också. * Flera möten kan på detta sätt överföras mellan QZ och NADJA. Framför önskemål till mig.
(100792)
(101189) 80-06-02 16:22 Lars-Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :100485: av Lars Enderin FOA1 Ärende: SIMULA RTS Jag märker det genom att 1) jag har SET WATCH satt och 2) mitt program går väldigt långsamt i vissa lägen.
(101189)
(101193) 80-06-02 16:25 Lars-Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :100489: av Lars Enderin FOA1 Ärende: SIMULA RTS Om skillnaden bara är 5P tycker jag att SIMR50 borde finnas på SYS:. Om debiteringen inte är större för högsegment än lågsegment (vilket den inte borde vara, tycker jag), så måste väl en 5P-ökning inte spela någon roll mot stroleken på lågsegmentet!
(101193) (kommentar i 101197)
(101197) 80-06-02 16:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101193: av Lars-Henrik Eriksson ADB-Uppsala Ärende: SIMULA RTS Jag är böjd att hålla med dig. Jacob Palme verkar dock ha motsatt uppfattning. Många småprogram får dock märkbar debiteringsökning, dessutom är det ju progressivt - stor "marginalskatt".
(101197) (kommentar i 101252)
(101276) 80-06-02 19:24 Lars-Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101252: av Jacob Palme FOA1 Ärende: SIMULA RTS Maskinen belastas förvisso mindre med ett högsegment. Dels krävs en hel del CPU-tid (och diskaccesser får man anta) att byta hiseg, dessutom måste ju både SIMR51 och SIMR52 vara i minnet samtidigt om flera användare exekverar SIMULA-program i olika faser av exekvering (vilkde nog i allmänhet gör). Av denna anledning krävs faktiskt mera minne med SIMR51 & SIMR52 eftersom de tillsammans är större än SIMR50. Hur debiteras förresten användningen av shareade högsegment? Det rimligaste vore väl att kostnaden på något sätt delades lika mellan alla användare av segmentet, och i så fall borde SIMR50 bli billigare. Rent allmänt tycker jag att man skall ha mycket mera än 5P att vinna om man tillgriper sådana medoder som swappning av högsegment.
(101276)
(101284) 80-06-02 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :100204: av Lars Enderin FOA1 Ärende: LOCATION i SIMDDT LOCATION i SIMDDT Original: (185) 80-06-02 13:39 ÖRJAN EKEBERG (NADA) Tack. Men i framtida versioner kommer man väl att hindras från att ändra på attributet?
(101284) (kommentar i 101322)
(101322) 80-06-03 08:50 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101284: av Överföring från NADJA Ärende: LOCATION i SIMDDT Det kräver specialkod. Frågan är om det är värt det. Att Location nu kunde bli tillgängligt berodde på att jag observerade att jag hade ökat till helord, vilket gjorde LOC (det dolda attributet enligt Common Base) till en vanlig variabel. Sak samma gäller förresten för ENDFILE. Om man ändrar får man skylla sig själv. (För vanliga variabler som Image t ex har jag en makro som är lätt att placera in i den symboltabell som redan finns för varje systemklass. Ingen SIMDDT-ändring krävs alltså.) Någon gång kanske jag kan ändra SIMDDT + symboltabell så att delar av ord blir tillgängliga.
(101322)
(101488) 80-06-03 15:04 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SORTIA Var finns beskrivning till denna procedur?
(101488) (kommentar i 101490, 101518)
(101490) 80-06-03 15:11 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Ingemar Eriksson. Mottaget: 80-06-16 17:35 Kommentar till :101488: av Göran Lyman Ärende: SORTIA SIMLH3.MAN har full beskrivning av SORTTA. SORTIA är helt analog, vilket anges ganska otydligt i handboken.
(101490) (kommentar i 102583)
(101789) 80-06-04 12:07 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Ärende: ERRMSG ERRMSG("", FALSE) skall ge retur till monitorn utan någon utskrift på terminalen. Mats Ohlin har påpekat att detta inte är sant. Jag har nu gjort en ändring av SIMRTS och ERRMSG som "tystar" SIMRTS om första parametern är "" == NOTEXT. SIMDDT tystas om andra parametern är FALSE. Dokumentation av de bitar i RTS som avgör detta finns i SIMHGH.HLP, f n på NEWD:. LIBSIM.REL, .ATR bör placeras på SYS, övriga kan vänta ett tag. SIMR5?.EXEÄ1,5Å och SIMHGH.RELÄ1,5Å innehåller ändringen och nås genom PATH /NEW. LIBSIM innehåller dessutom uppdaterade VISTA och FORM.
(101789) (kommentar i 102216, 102575)
(101931) 80-06-04 15:25 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101408: av Mats Ohlin Ärende: CCL-entry RUNPROG Blir mycket enkelt att anropa an rad andra program med hjälp av proceduren RUNPROG (fn på Ä13,201Å med ex i RUNRET o RN2; GÖR /LIB 13,201 först dock). Så här ser anropande program ut: -------------------------------------------------------- BEGIN EXTERNAL INTEGER PROCEDURE entrypoint="Ä13,134Å"; EXTERNAL TEXT PROCEDURE tmpmsg; EXTERNAL PROCEDURE runprog; IF entrypoint = 1 THEN BEGIN Outtext("NOW back to RUNRET...."); Outimage; Outtext(tmpmsg); Outimage; END ELSE ! fresch; BEGIN Outtext("RUNRET now calling RUNPROG..."); Outimage; runprog("SYS:PIP^TTY/T:=SWITCH.INI^" "SYS:DIRECT%*.INI^" "RN2^Msg to RN2^" ".^Back at last!"); END; END program -------------------------------------------------------- Programnamnet '.' indikerar det egna programmet (RUNRET kunde det också stått). Formatet är "Prog1^text1^Prog2^text2..." Om <prog> kräver /RUNOFFSET:1/RUN:<prog> i st f <prog>! skrivs "...%text..." i st f " ....^text...". TMPMSG är en procedur som läser programmets egen TMPfil( dvs TMP:<3 första tecknen i programnamnet>).
(101931)
(102216) 80-06-05 12:20 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101789: av Lars Enderin FOA1 Ärende: ERRMSG Alla berörda filer nu upplagda. PATH /NEW behövs alltså ej för att komma åt dem.
(102216) (kommentar i 102254)
(102254) 80-06-05 13:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102216: av Gunnar Lindell QZ Ärende: ERRMSG Ok, tack. Jag tror inte det blir några nya fel pga ändringen, men vill snabbt ha rapport om ev sådana! Testen blir ju effektivare om man lägger filerna på SYS.
(102254) (kommentar i 102300)
(102575) 80-06-05 19:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101789: av Lars Enderin FOA1 Ärende: ERRMSG ^C-REENTER kunde fortfarande ställa till trassel även om man "tystat" RTS. Rimligen försöke man inte detta i så fall, men om man har begärt "Ingen SIMDDT" fungerar numera REENTER som CONTINUE efter ^C. Nytt SIMLIB på NEWD: klarar av detta.
(102575)
(102583) 80-06-05 20:05 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :101490: av Lars Enderin FOA1 Ärende: SORTTA Är proceduren SORTTA skriven i Simula eller i assembler i den version som ligger i biblioteket?
(102583) (kommentar i 102591)
(102591) 80-06-05 20:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102583: av Lars-Åke Larsson Ärende: SORTTA Alla SORT-procedurer är skrivna i SIMULA av Mats Ohlin, utom SORTDN, som jag skrev efter hans mall. Har inte haft tid att skriva någon i MACRO-10, fastän man numera skulle kunna ha samma rutin för alla array-typer, eftersom specifikationen enbart ARRAY accepterar vilken typ som helst för CODE- eller QUICK-procedurer. Algoritmen innebär ju också en minnesallokering för en hjälparray, vilket dock inte hindrar att man skriver en QUICK-procedur med stor försiktighet, ingamellanresultat finns ju, man bara ser till att spara parametrarna över ev GC. Tidsvinsten är kanske inte så stor trots allt.
(102591) (kommentar i 102597)
(102720) 80-06-06 08:52 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Klassen "logga" Jag har tydligen försökt mig på något jag inte begriper: Jag vill ha en klass med procedurer för att göra anteckningar i en fil under exekvering av ett program,t ex för debugging. Trodde det gick att göra som följer: Prefigerad klass: 00100 OPTIONS(/E); 00200 CLASS logga(filnamn); 00300 VALUE filnamn;TEXT filnamn; 00400 BEGIN 00500 00600 PROCEDURE notera(någonting); 00700 VALUE någonting;TEXT någonting; 00800 BEGIN 00900 TEXT u; 01000 u:-Copy(någonting); 01100 IF logg.Image.Pos + u.Length + 1 > 80 THEN 01200 logg.Outimage; 01300 logg.Outtext(u);logg.Setpos(Pos+1); 01400 END notera; 01500 01600 PROCEDURE sluta; 01700 BEGIN 01800 logg.Outimage;logg.Close; 01900 END sluta; 02000 02100 REF(Outfile) logg; 02200 TEXT t; 02300 t:-Copy(filnamn); 02400 logg:-NEW Outfile(t); 02600 logg.Open(Blanks(80)); 02700 END logga; "Huvudprogram": 00100 BEGIN 00200 EXTERNAL CLASS logga; 00300 logga("LOGFIL.ABC") BEGIN 00350 TEXT t; 00375 t:-Copy("C"); 00400 notera("A"); 00500 notera("B"); 00600 notera(t); 00700 sluta; 00800 END; 00900 END; Kan någon ge ett tips? Jag hade väntat mig "A B C" i LOGFIL.ABC men får "AC".
(102720) (kommentar i 102809, 102813, 103026, 103051)
(102752) 80-06-06 09:51 Giltighetstid -23265353657 dagar. Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN
(102752) (kommentar i 102756, 102788)
(102782) 80-06-06 10:32 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102756: av Lars Enderin FOA1 Ärende: SIMDDT på SIMSET-objekt mm Om man har långa listor och inte vet exakt vart man skall, är det tom jobbigt att skriva INSPECT SUC och OUTPUT identifikation även om man kan förkorta kommandona. Då brukar jag göra en fil med just dessa två kommandon, som heter tex X, och bara ge kommandot ÖX, alltid snabbar det upp lite. (Man kan ju naturligtvis ha en för framåtmarsch och en för bakåtdito)
(102782)
(102788) 80-06-06 10:38 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102752: av Björn Bergström Ärende: Breakoutimage Ja, det går bra, men du måste stoppa in en <CR> först i den andra texten, alltså: Outtext("ABC"); Breakoutimage; Outtext("!13!XXX"); Breakoutimage; !eller Outimage; . .
(102788) (kommentar i 120641)
(102809) 80-06-06 11:29 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102720: av Björn Bergström Ärende: Klassen "logga" Inte blir det fel därför att det är något du inte förstått! Däremot kan man kanske skylla felet på din programmerings-stil. Om du använder INSPECT så råkar du inte lika lätt ut för det här felet, som är ganska vanligt. PROCEDURE notera(någonting); VALUE någonting;TEXT någonting; BEGIN TEXT u; u:-Copy(någonting); IF logg.Image.Pos + u.Length + 1 > 80 THEN logg.Outimage; logg.Outtext(u);logg.Setpos(Pos+1); END notera; Om du i stället skrivit så här, hade det gått bättre: PROCEDURE notera(någonting); VALUE någonting; TEXT någonting; INSPECT logg DO BEGIN IF Pos+någonting.Leength>79 THEN Outimage; Outtext(någonting); Setpos(Pos+1); END notera; Du kunde naturligtvis använt Outchar(' ') i stället för din Setpos också. Det fel du hade gjort var att du skrev logg.Setpos(Pos+1), när du borde ha skrivit logg.Setpos(logg.Pos+1) Jag försöker själv alltid använda INSPECT därför att det är så lätt att råka ut för just den här typen av fel, som också är ganska svåra att hitta.
(102809)
(102813) 80-06-06 11:43 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102720: av Björn Bergström Ärende: Klassen "logga" En liten detalj: på raderna 2200:2400 använder du en kopia t av filnamn. Onödigt: skriv bara logg:- NEW Outfile(filnamn);
(102813) (kommentar i 102819)
(102819) 80-06-06 11:48 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102813: av Lars Enderin FOA1 Ärende: Klassen "logga" Det är inte heller snyggt att ha ett klassattribut med så kort och intetsägande namn som T. Enbokstaviga namn, kanske också två-teckens-namn, bör reserveras för högst lokala >;mFÖ9o)ETKOM
(102819)
(102884) 80-06-06 12:42 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102756: av Lars Enderin FOA1 Ärende: SIMDDT på SIMSET-objekt mm Och när du hittat rätt objekt skriver du "OUTPUT *" för att få ut alla det hittade blockets data.
(102884)
(103026) 80-06-06 15:02 Lars-Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102720: av Björn Bergström Ärende: Klassen "logga" En till liten detalj: vad jag förstår så testar du om en notering kommer att få plats i logg.image innan du gör outtext och gör outimage annars. Detta är onödigt, ty outtext gör själv exakt samma test (tror jag).
(103026)
(103051) 80-06-06 15:49 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102720: av Björn Bergström Ärende: Klassen "logga" Ytterligare en kommentar: Egen variabel U behövs ej emedan implicit Copy redan gjord vid parameteröverföringen (VALUE). En liten grej till: "logg.Image.Pos" skrivs kortare "logg.Pos".
(103051)
(103083) 80-06-06 16:41 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Klassen "logga" Tackar för överväldigande respons och hjäpsamhet!
(103083)
(103141) 80-06-06 17:53 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMDDT och radnumrering Någonstanns i ett långt Simula-program hade jag gjort ett förargligt fel. Tyvärr kunde jag inte se exakt varr, utan behövde veta vissa variabelvärden. Men det var ju inget problem, bara att gå in i SIMDDT, trodde jag. Nu var det bara det att radnumren i CHAIN-listan inte alls stämde med den plats i programmet där de tänkbara anropen stod. Och de var som sagt flera. Vadan detta?
(103141) (kommentar i 103225)
(103225) 80-06-07 08:41 Lars-Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :103141: av Lennart Borgman LTH Ärende: SIMDDT och radnumrering Det kan väl inte ha varit så enkelt att du har redigerat/numrerat om din källkodsfil efter kompileringen. (Ibland händer sådana missöden utan att man tänker på det)
(103225)
(103236) 80-06-07 09:11 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Brytpunkter i SIMDDT på fel rad När man sätter en breakpoint i SIMDDT, så hamnar den ibland inte på begärd rad, utan på en senare rad, därför att SIMDDT inte kunde sätta på begärd rad. Ett önskemål, ej hög proritet, vore att SIMDDT gav en varning i detta fall.
(103236) (kommentar i 103273)
(103273) 80-06-07 14:16 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :103236: av Jacob Palme FOA1 Ärende: Brytpunkter i SIMDDT på fel rad Något otrevligt man ofta råkar ut för är följande fenomen. 100 Procedure sammansatt( ); 200 deklarationer... 300 BEGIN 400 PROCEDURE delfunktion; 500 Begin .... END; 600 deklarationer... 700 egen kod för proceduren sammansatt; 800 END; Om man sätter ett stopp på raden 100, så får man inte stoppet när proceduren sammansatt anropas som kanske tänkt var utan i stället hamnar stoppet vid anropet av "delfunktion". Vill man ha stoppet vid anrop av sammansatt måste man lägga breakpoint på raden 700. Hoppas jag inte far med osanning på någon detalj nu!
(103273) (kommentar i 103615)
(103279) 80-06-07 14:59 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: Skrivbart high segment! Vad skulle krävas för tillägg för att kunna använda sig av skrivbart high segment i SIMULA? Skrivbart high segment skulle kunna användas för vissa slag av program som kräver interaktion mellan terminaler som samtidigt kör samma program. Jag kan se följande behov: a) Möjlighet att lägga vissa data i high segment. Trevligast vore naturligtvis att lägga vanliga SIMULA-data i high segment, men med tanke på garbage collection och sånt blir det väl svårt att implementera. En möjlighet vore att modifiera koden för directfile, så att man kan öppna en speciell typ av directfile där data skrivs i high segment istället för att skrivas ut på skivminne. Därmed kan man använda alla SIMULA-s normala i/o-procedurer, locate, inimage, outimage, output och input för att flytta data till/från det skrivbara high-segmentet. b) En enque/deque-facilitet knuten till skrivning i high- segment och som använder high-segment och inte DEC-10-ans normala enque/deque-facilitet. c) En standardiserad mekanism för att hålla reda på vilka jobb som just nu kör med det skrivbara high-segmentet, med tabeller över jobb-nummer t.ex. d) Felavbrotts- och control-c-rutin som noterar i tabellerna ovan att jobb faller bort. Lämpligen bör alla felavbrott vara av typ NOPROCEED för att inte blockera andra samtidiga jobb. I produktionsversion bör SIMDDT vara spärrat för att hindra en användare att kunna stoppa övriga genom olämpligt placerade breakpoints.
(103279)
(103615) 80-06-09 09:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :103273: av Lars-Åke Larsson Ärende: Brytpunkter i SIMDDT på fel rad På rad 200 bör stå "specifikationer...". Parametrar deklareras inte, de specificeras!
(103615)
(103934) 80-06-09 20:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :92190: av Lars-Åke Larsson Ärende: Omkompilering Rättat i version 5(373), nu på NEWD: i väntan på att flyttas till SYS:. Versionsnummer samma som nuvarande SYS-version. Problemet var alltså i ditt fall att ATR-filen blev otillgänglig från annat projekt vid ändring. Jag har DEFPROT:015 för att undvika sådana problem, men måste då skydda vissa filer explicit.
(103934)
(104889) 80-06-12 11:44 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: GETTYPE Saknas i LIBSIM (NOT READY). På Ä13,201Å finns en (ineffektiv) SIMULA-version. Definitionen kanske borde ändras till den i GETTY2Ä13,201Å i stället; den senare bearbetande hela texten och som svar ger en text med indikation om vilka sorts textdelar som påträffats (R = real item, I = integer item, W = ord som innehåller bokstäver, X = annat (ett tecken) samt - = om texten (efter att ha skippat ev inledande blanka) gav NOT More). Man kan då enkelt testa: t:- inline("....); IF gettype(t) = "WIR" THEN BEGIN arg1:- getitem(t); intarg:= scanint(t); realarg:= scanreal(t); END
(104889)
(105671) 80-06-13 19:02 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Control-c Kan man förhindra att enn användare kommer ner på monitornivå om han gör Control-c i ett Simula-program? Tidigare inlägg i den här frågan antyder att det kan dröja innan DEC-10 Simula har någon standardiserad rutin för det här. Är det någon som skrivit en egen?
(105671) (kommentar i 105673, 106072, 106105)
(105673) 80-06-13 19:21 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :105671: av Lennart Borgman LTH Ärende: Control-c Det finns ett flertal, skrivna för olika behov. Jag har t.ex. en rutin som heter VDACTC och som gör att så fort användaren gör CONTROL-C, så anropas programmet FOA:VDEMO. Den kan säkert lätt ändras så att annat av dig angivet program anropas när användaren skriver CONTROL-C. VDACTC finns på en DEC-tape, jag kan plocka ner den om du behöver den, dock tidigast på måndag!
(105673)
(105837) 80-06-15 10:13 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Snabbare simulakompilering med LIBSIM-procedurer Jag har många program som använder många externprocedurer som hämtas från olika håll. En stor majoritet av dem hämtas dock från SYS:LIBSIM. Kompilering tar ganska lång tid. Jag undrar om det går fortare om jag deklarerar de rutiner som jag vet finns i SYS:LIBSIM enligt följande mönster: EXTERNAL TEXT PROCEDURE scanto="SYS:LIBSIM";
(105837) (kommentar i 106034)
(106034) 80-06-16 08:50 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :105837: Ärende: Snabbare simulakompilering med LIBSIM-procedurer Knappast, eftersom varje referens då behandlas individuellt. Bättre är kanske att ändra söklistan så att SYS:SIMLIB kommer först, t ex genom att skriva OPTIONS(/-S/S:"FOA:LIBSIM,<,>,SYSC:LIBSIM"); som ger sökning först i SYSC:LIBSIM, sedan UFD:t, sedan FOA:LIBSIM. Obs att nya versioner av SYS:LIBSIM-moduler måste anges explicit om de finns någon annanstans. Detta bör kanske förbättras.
(106034) (kommentar i 106320, 106898)
(106072) 80-06-16 10:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :105671: av Lennart Borgman LTH Ärende: Control-c STOPKC.MAC<13,134,EXP> kör LOGOUT vid ^C-stopp. Modifieras enkelt till annat program genom att byta ut LOGIN mot något annat. Tar hand om overflow, illegal memory reference (inkl Object NONE) mm på samma sätt.
(106072)
(106320) 80-06-16 16:41 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106034: av Lars Enderin FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Varför SYSC:LIBSIM och inte SYS:LIBSIM?
(106320) (kommentar i 106361)
(106361) 80-06-16 17:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106320: av Jacob Palme FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer För att inte SYS:LIBSIM skall komma in på sin gamla plats, tänkte jag. Det var åtm förr inte möjligt att flytta ett bibliotek i listan, men det är nog det nu - har glömt hur det är implementerat men skall kolla.
(106361)
(106673) 80-06-17 12:58 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Oskrivbara tecken. Skulle någon snabbt kunna tala om vad som händer om man lägger in t ex 'sub' (char 26) i en text, läser detta tecken med Getchar och sedan försöker skriva ut rank för tecknet. Vi har nägot fel på vårt grafiska bord och har en reparatör här , det är därför som jag skulle bli glad över ett snabbt svar.
(106673) (kommentar i 106675, 106852, 106858)
(106675) 80-06-17 13:05 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106673: av Lennart Borgman LTH Ärende: Oskrivbara tecken. Skriva ut Rank för tecknet går naturligtvis utmärkt, det har inget med att göra om tecknet är skrivbart eller ej.
(106675)
(106852) 80-06-17 16:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106673: av Lennart Borgman LTH Ärende: Oskrivbara tecken. Det borde givetvis bli siffran 26. Däremot kan du ibland få effekt att vissa tecken förändras vid överföring till/från terminalen. Det har inget med SIMULA att göra, utan beror på DEC-10-an. Med LIBSIM-proceduren OUTCHE kan du mata ut tecken utan att de ändras. För terminaltest kan ibland programmet FOA:TERMTE vara användbart.
(106852)
(106858) 80-06-17 16:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106673: av Lennart Borgman LTH Ärende: Oskrivbara tecken. Char(26) är ju ^Z, vilket inte kan läsas in med Inimage, men det kanske inte hör hit (ger End-of-file). Däremot bör det gå att skriva ut direkt.
(106858) (kommentar i 106957)
(106898) 80-06-17 16:41 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106034: av Lars Enderin FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Det blev en ENORM förbättring Jag testade det på ett program jag har, och fick ner kompileringstiden (elapsed time, alltså verklig väntetid vid terminalen) från 41 sekunder till 14 sek! Samma resultat vid flera försök omväxlande med den ena och den andra varianten. Mitt exempel var kanske ett extremfall, jag valde ut ett program som jag visste använde många procedure i SYS:LIBSIM. Men ändå!!! Man undrar nästan om inte sökning i SYS:LIBSIM först borde vara default????
(106898) (kommentar i 106902, 107410, 107413, 107867)
(106902) 80-06-17 16:44 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106898: av Jacob Palme FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Det går bra att skriva "SYS" istället för "SYSC", det gick ännu fortare, bara 11 sek, men det var kanske bara slumpen. Alltså: Alla som använder mycket LIBSIM-procedurer och vill ha snabbare kompilering, skriv OPTIONS(/-S/S:"FOA:LIBSIM,<,>,SYS:LIBSIM"); ('FOA:LIBSIM,' kan uteslutas om du inte använder någonting därifrån!)
(106902) (kommentar i 106959)
(106957) 80-06-17 17:18 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106858: av Lars Enderin FOA1 Ärende: Oskrivbara tecken. Jag tror jag förstår vad det var för fel nu. Försök följande program: BEGIN TEXT t1, t2; t1:-Blanks(1); t1.Putchar('c'); t2:-t1; t2.Getchar; Outimage; END; Det ger en felutskrift, pos för t2 är 2 när getchar ska göras. Ska det vara så? Tack för svaren. Vårt grafiska bord tycks ha lagat sig självt nu. Liksom skrivaren, som inte fungerade i går. Gör era prylar likadant?
(106957) (kommentar i 106961)
(106959) 80-06-17 17:19 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106902: av Jacob Palme FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Problem uppstår om du vill ha en egen version av sådant som finns i SYS:LIBSIM. Du blir då tvingad att ange detta explicit, t ex EXTERNAL CLASS pty="<,>", vilket innebär att du måste ändra källprogrammet när du övergår till SYS:LIBSIM(pty) igen. Antagligen blir jag tvungen att införa läsning av UFD med sökning efter ATRfiler i st f att använda LOOKUP för alla externa moduler som i själva verket finns i LIBSIM. F ö bör OPTIONS(/-S:"DSK:"/S:"<,>") snabba upp sökningen genom att hindra sökning på LIB: vid misslyckade LOOKUP-er. I st f "<,>" kan man skriva "DSKD:<,>" om man har sina permanenta filer på DSKD, vilket snabbar upp ytterligare genom att monitorn inte behöver titta på t ex DSKB. Obs att detta inte fungerar om man kör under ett SFD och vill ta ATR- filer därifrån eller ev från ett annat UFD som man har satt som default path. För mig betyder t ex <,> det samma som <13,134> just nu, men jag kan ha satt path till <13,134,test> eller <13,1071> eller <13,134,libsim> t ex och då är inte <,> ekvivalent med DSK: (- ev LIB:). Den beskrivna metoden fungerar om man aldrig har egna versioner av SYS:LIBSIM-moduler och rekommenderas då. "<,>" kan bytas ut mot "<->" om man vill söka på DSK: efter SYS:LIBSIM. Obs att LIB: numera kan innehålla många areor (via PATH) och kan ta lång tid att genomsöka efter en icke existerande fil.
(106959) (kommentar i 107415)
(106961) 80-06-17 17:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106957: av Lennart Borgman LTH Ärende: Oskrivbara tecken. Det skall vara så! t1.Putchar('c') sätter t1.Pos till 2. t2:- t1 kopierar pekaren t1, inklusive Pos. Skriv alltså t2.Setpos(1) eller använd fetchar(t2, 1)! (EXTERNAL CHARACTER PROCEDURE fetchar).
(106961)
(107413) 80-06-18 21:53 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106898: av Jacob Palme FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Är nog många program som skulle kunna notera samma vinst... Kanske ordningen borde vara: eget LIBSIM, SYS:LIBSIM, enskilda .ATR-filer. Egna ATR kan skrivas .....="Ä-Å"; om man vill att egna filen skall "gå före".
(107413) (kommentar i 107546)
(107415) 80-06-18 21:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106959: av Lars Enderin FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Kanske vore det bra om kompilatorn kunde läsa SWITCH.INI där lämplig standardsättning av t ex /S kunde anges. SWITCH.INI läggs väl numera i minnet; i alla fall ger upprepade TYPE inte några läsoperationer efter 1:a gången -- så det blir i så fall inga extra lästa block. Men det kompilcerar kompilatorn förståss, så kanske vore det bättre att ändra default i stället!
(107415) (kommentar i 107505)
(107505) 80-06-19 09:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :107415: av Mats Ohlin Ärende: Snabbare simulakompilering med LIBSIM-procedurer Om man ändrar default borde man dessutom läsa SWITCH.INI för att t ex jag skall kunna testa ut nya varianter (rättade) för SYS:LIBSIM. Om ATR-filen inte ändras går det ju genom att explicit ange rel-filen vid laddningen, men ändå.
(107505) (kommentar i 107548)
(107546) 80-06-19 10:04 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :107413: av Mats Ohlin Ärende: Snabbare simulakompilering med LIBSIM-procedurer Det är lite farligt att låta SYS:LIBSIM gå före egna filer. Råkar man döpa en egen EXTERN-modul till samma namn som en rutin i SYS:LIBSIM, får man obegripliga fel. Jag tycker nog att SIMULA för nybörjare bör fungera som nu, men att vi påminner tydligt på många ställen att de vana användarna kan optimera kraftigt med annan OPTIONS, men samtidigt då varnar dem för riskerna med detta.
(107546)
(107548) 80-06-19 10:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :107505: av Lars Enderin FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Att läsa SWITCH.INI är kanske inte så dumt.
(107548)
(107629) 80-06-19 12:26 Anders Hillbo För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Lars Enderin FOA1 Ärende: NOCHECK För ett tid sedan så försökte jag göra en procedur: options(/EXTERNAL:QUICK,NOCHECK,inc); INTEGER PROCEDURE inc; Som skule användas: "inc(a);inc(a,7);". Där man inkrementerar "a" med 1 normalt och med andra parametern om den finns. För att klara detta behöver man kolla antalet parametrar. Efter att ha tittat efter i SIMLH2 (App. E sid 197) och sett att detta antal skulle ligga negativt i vänster halvord av AC2, gjorde jag programmet enligt den specificationen. Tyvärr inkrementerades variabeln alltid med 1. Jag kollade med DDT för flera olika kombinationer och det låg alltid -1,,nnn i AC2. Vid en rundfråga på NADA så fann jag att att många (även jag) hade använt NOCHECK, men ingen hade haft någon anledning att kolla antalet parametrar och några erfarenheter fanns alltså inte. (Jag gick även igenom SYS:LIBSIM med SIMATR (för procedurer med variabelt antal parametrar) för att se om någon använde det, men där fanns bara "CODE, NOCHECK"). Nå, har jag bara klantat mig, eller är det så ovanligt att man använder det här, att felet inte upptäckts förut, eller är kanske dokumentationen inte riktig?
(107629) (kommentar i 107664, 107684)
(107664) 80-06-19 12:48 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :107629: av Anders Hillbo Ärende: NOCHECK Troligen har jag gjort fel. Skall undersöka vid tillfälle (i höst?). Beklagar att jag har dåligt med tid fram till slutet av sept. Den där lilla flexibiliteten kanske du kan vara utan, dvs alltid ange andra parametern?
(107664)
(107715) 80-06-19 13:42 Anders Hillbo Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :107684: av Lars Enderin FOA1 Ärende: NOCHECK Det är helt okey, jag ville bara påpeka problemet.
(107715)
(107735) 80-06-19 14:10 Lennart Borgman För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Ärende: Non-existent device CHDSK: Vad är detta och vad beror det på? Jag har lagt in ="Ä673,3171,grafÅ i mina externdeklarationer och får då detta problem.
(107735) (kommentar i 107774, 107831)
(107867) 80-06-19 16:42 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :106898: av Jacob Palme FOA1 Ärende: Snabbare simulakompilering med LIBSIM-procedurer Någon större förändring i kostnaden blir det dock inte! Åtminstone ger några experiment jag gjort inte några sådana resultat. Däremot kan antalet egna filer (totalt) spela stor roll. Skall man kompilera om många filer kan det löna sig att lägga över på temporär disk och tillfälligt ta bort den ordinarie.
(107867)
(107883) 80-06-19 17:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :107684: av Lars Enderin FOA1 Ärende: NOCHECK Jag har nu rättat felet (det andra existerade inte). SIMP2.EXE och SIMULA.DOC på NEWD: f v b SYS och DOC.
(107883) (kommentar i 107915, 107919, 107923)
(108102) 80-06-22 15:26 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: SIMDDT-satsen SCHEDULED Om man sätter en breakpoint i en separatkompilerad klass eller procedur som ligger utanför SIMULATION (men anropas från en aktiv SIMULATION) får man ut "NO SCHEDULED PROCESSES". Sätter man däremot breakpointen inne i simuleringen får man ut en lista över händelseregistret. Skall det fungera så?
(108102)
(108292) 80-06-23 11:17 Lennart Borgman Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Mats Wallin FOA1 Kommentar till :107863: av Lars Enderin FOA1 Ärende: Non-existent device CHDSK: Jag la in switchen /s:"<...>" i huvudprogrammet, men det hjälpte inte. Hur får man reda på vilken del ,som inte laddats? Trots att jag alltså anger explicit i texten med ="<673,3171,bas>" så missyckas laddningen, men däremot inte kompileringen. Bryr sig LINK inte alls om externdeklarationerna i Simula-programmet?
(108292) (kommentar i 108316, 108414)
(108316) 80-06-23 12:19 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :108292: av Lennart Borgman LTH Ärende: Non-existent device CHDSK: Det kan kanske vara speciella problem med filer på SFD-er. För REL-filer på ett UFD finns två speciella block-typer som kan läggas in i en REL-fil för att begära laddning av en annan REL-fil, endera obetingat eller i "library search mode". Det senare användes av SIMULA- kompilatorn för att ange att motsvarande ATR-fil har hittats på angiven area. Obetingad laddning skulle göra det omöjligt att ha en uppdaterad version av REL-filen med i kommandot för laddning av programmet. Problem kan uppstå om detta block läses för tidigt av LINK, dvs innan behov av referens till motsvarande ingång(ar) i modulen har noterats. Om man använder bibliotek ökar chanserna för att LINK hittar rätt modul vid rätt tidpunkt avsevärt. För moduler på SFD-n läggs en ASCIZ-sträng ut, dvs en bit av ett LINK- kommando t ex procÄ123,456,sfdnamnÄ/SEARCH Detta kommando uppfattas kanske av LINK som likvärdigt med ett s k REQUEST-block enligt ovan. Jag är inte säker - det verkar finnas flera problem under TOPS-20, där endast den senare metoden används. Det enklaste sättet att få med dina moduler är att göra ett eget LIBSIM och lägga allt där.
(108316)
(108307) 80-06-23 12:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Kommentar till :107844: av Lennart Borgman LTH Ärende: Non-existent device CHDSK: Förstår inte svaret. Jag har angett TRE möjliga parenteser, varav 2 accepteras av SIMULA-kompilatorn. De som du angav ser fel ut i KOM-inlägget men är antagligen okom kompilatorn accepterade dem.
(108307)
(107844) 80-06-19 16:19 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Kommentar till :107831: av Lars Enderin FOA1 Ärende: Non-existent device CHDSK: Ja, jag hade de parenteser du skriver.
(107844) (kommentar i 107863, 108307)
(107831) 80-06-19 16:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Kommentar till :107735: av Lennart Borgman LTH Ärende: Non-existent device CHDSK: Ofullständig information. Har du verkligen ÄÅ (Ärlig, Åke) och inte ÄÅ (hakar). Använd i stället <>, som alltid kommer ut rätt oberoende av kodkonventioner.
(107831) (kommentar i 107844)
(107735) 80-06-19 14:10 Lennart Borgman För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Ärende: Non-existent device CHDSK: Vad är detta och vad beror det på? Jag har lagt in ="Ä673,3171,grafÅ i mina externdeklarationer och får då detta problem.
(107735) (kommentar i 107774, 107831)
(108949) 80-06-24 15:49 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Tecken, stora och små kan vara rätt så knepiga, speciellt om man vill använda svenska sådana. (Det håller ni väl med om, alla ni som inte har TTY NO QZ.) Mest besvärligt är det när man vill jämföra två olika text- stängar och först vill konvertera till stora bokstäver. Ännu mer besvärligt blir det om man vill använda någon annans extern- kompilerade moduler, som innehåller teckenkonvertering, fast för annan bokstavskodning än den man själv använder. Skulle det inte kunna finnas någon variant av upcase, som kontrollerade använd standard och konverterade därefter? Även om det inte heller vore problemfritt så vore det i alla fall användbart.
(108949) (kommentar i 108982)
(108982) 80-06-24 16:12 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :108949: av Lennart Borgman LTH Ärende: Tecken, stora och små Hur skulle denna upcase veta vilken standard som används? Det finns (vad jag vet) två olika internrepresentationer som används på QZ, dels SIS och dels QZ. Sättningen av flaggorna QZ och ZQ talar inte om vilken av internrepresentationerna som används, utan ger en transformationsvektor för att konvertera mellan interrepresentation och terminalkoder (det finns dock en viss korrelation till internrepresentationen).
(108982) (kommentar i 108999)
(108999) 80-06-24 16:29 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :108982: av Anders Ström SSRC Ärende: Tecken, stora och små Proceduren "storbokstav" i SYS:LIBSIM och dess motsvarighet "litenbokstav" gör konvertering även av ÅÄÖ. Man kan tala om för proceduren vilken intern-teckenrepresentation man har genom att en gång vid körningens början anropa någon av procedurerna QZLTRS (ger QZ-standard), SISLTRS (ger svensk SIS-standard), ISOLTRS (enbart engelska bokstäver, storbokstav blir alltså då identisk med upcase) eller NATLTRS (där man själv via parameter kan ange vilka tecken (högst 6) som är "nationella"). Även LIBSIM-procedurerna BOKSTAV, MENY, TAGORD och INORD påverkas av denna teckenstandard. Se vidare kapitel 6 i Simula-handboken del 3.
(108999) (kommentar i 109001, 109276)
(109001) 80-06-24 16:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :108999: av Jacob Palme FOA1 Ärende: Tecken, stora och små Man kan t o m ha olika standard i olika delar av programmet genom att växla mellan de nämnda procedurerna QZLTRS etc.
(109001) (kommentar i 109079)
(109079) 80-06-24 18:04 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :109001: av Lars Enderin FOA1 Ärende: Tecken, stora och små Eftersom det går ett rykte om att QZ kommer att konvertera (ha, ha) till SIS, kanske man inte skall lägga ned så mycket möda på att få .TT QZ och .TT NO QZ att passa ihop i alla situationer.
(109079)
(109276) 80-06-25 07:54 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :108999: av Jacob Palme FOA1 Ärende: Tecken, stora och små Blir behandlingen av stora och små bokstäver korrekt om man anger SISLTRS och har NO QZ?
(109276) (kommentar i 109326)
(109382) 80-06-25 11:17 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Breakoutimage, LF och CR. Finns det någon anledning att följande procedur ska kunna misslyckas vid något tillfälle om texten t är ung 1000 tecken lång och innehåller en hel del CR och LF? 00100 PROCEDURE out_long_text(t); 00200 TEXT t; 00300 BEGIN 00400 INTEGER i1,i2; 00500 i2:=t.Length; 00600 FOR i1:=1,i1+128 WHILE i1<=i2 DO BEGIN 00700 IF i2-i1>=127 THEN Outtext(t.Sub(i1,128)) 00800 ELSE Outtext(t.Sub(i1,i2-i1+1)); 00900 Breakoutimage;END; 01000 END; Antingen producerar denna procedur vid vissa tillfällen en extra LF eller så gör vår terminal det och i så fall är det fel på den. (Raden efter vilken den extra LF kommer är ganska kort.)
(109382) (kommentar i 109411)
(109411) 80-06-25 11:58 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :109382: av Lennart Borgman LTH Ärende: Breakoutimage, LF och CR. Om du inte skriver "TTY NO CRLF" så lägger DEC-10-s monitor till extra CRLF ibland. Detta kan möjligen vara orsaken till ditt problem. Ett annat sätt att göra samma sak i SIMULA är följande: PROCEDURE out_long_text(t); TEXT t; BEGIN TEXT oldimage; oldimage:- sysout.image; sysout.image:- copy(t); breakoutimage; sysout.image:- oldimage; END; "copy" kan undvikas om det är acceptabelt att t blankas. En tredje möjlighet, mycket effektiv men DEC-10-bundet, är "outstring(sysout,t)".
(109411) (kommentar i 109489)
(109528) 80-06-25 14:22 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Funktionen CHAR Jag försöker använda en egen sådan, skriven i Fortran (del av GPGS). Det går illa, drabbas av 'Device check for RPB0', ill mem ref etc. Måsta jag använda speciellt stark magi för att länka in denna min egna CHAR??
(109528) (kommentar i 109530, 110184)
(109530) 80-06-25 14:30 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :109528: av Sören Tirfing Ärende: Funktionen CHAR Att använda egen Char är inget problem, det är bara att deklarera den på vanligt sätt, EXTERNAL CHARACTER PROCEDURE char; Att den är skriven i FORTRAN försvårar väl inte det hela mer än att du måste skriva en egen dummy-SIMULA-variant på vanligt sätt. Men det har du väl?
(109530) (kommentar i 109618)
(109618) 80-06-25 16:14 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :109530: av Mats Wallin FOA1 Ärende: Funktionen CHAR Jodå, jag har tillverkat attributfiler. Länkningen sker med en MIC som tvingar saker till High/Low segment, kan det vara nått som hamnar fel? Måste man verkligen göra så, jag har gjort en del halvhjärta de försök med LOAD men inte fått ihop det. Det enda som är speciellt med mitt program är att det anropar några F-n rutiner.
(109618) (kommentar i 109649)
(110184) 80-06-26 17:10 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :109528: av Sören Tirfing Ärende: Funktionen CHAR Du byter ut den CHAR som finns i GPGS mha tex MAKLIB. (Gäller FORTRAN biten). Om du vill ändra på Simula-atributet måste du pss byta ut CHAR i GPGS.ATR... Tänk på att Simula inte (vad jag vet) får anropa FORTRAN-procedur med en textparameter!!!!!! T ex skapa en procedur i MACRO (med annat namn tex CHARS) som i sin tur anropar FORTRAN..
(110184) (kommentar i 110205, 111455)
(110205) 80-06-26 17:20 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :110184: av Bengt Lund-Jensen Ärende: Funktionen CHAR Men jag har ju fixat attributfiler mha simula kompilatorn och den sa inget om att det var en text som argument!
(110205) (kommentar i 110368)
(110368) 80-06-27 10:21 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :110205: av Sören Tirfing Ärende: Funktionen CHAR Något kan ha hänt i laddningen. Ett bättre sätt att kunna köra GPGS från Simula: Pga att Fortan laddas delvis i högsegmentet om något redan finns där (i GPGS diverse MACRO-subrutiner) så får man laddningsproblem om man startar på vanligt sätt med LOAD eller EXECUTE. Om man nu modifierar MACRO-rutinerna så att de hamnar i lågsegmentet (tar bort TWOSEG.. och RELOC 400000) så kan man ladda på vanligt sätt dvs utan att köra LINK explicit. (Detta gäller Simulaversionen på QZ i varje fall). Dessutom har QZ bytt simulaversion för ett tag sedan varvid vissa ändringar vid explicit länkning behövdes. Har motsvarande skett vid LIDAC??? Förresten vore det appropå ovanstående intressant att få veta gången vid laddning av Simulaprogram. Som det nu verkar laddas SImulas-runttime-system in sist??? Vore det inte bättre att först ladda in Simula-systemet i högsegmentet och sedan börja ladda resten på lämliga ställen??? I så fall kunde den delar av Fortran-subrutiner som så önskar få hamna i högsegmentet????
(110368) (kommentar i 111449)
(111449) 80-06-30 12:17 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :110368: av Bengt Lund-Jensen Ärende: Funktionen CHAR Normalt laddas ju ingenting i hiseg vare sig i SIMULA- eller FORTRAN-program. Hiseg kommer in när programmet startas genom explicit GETSEG. I SIMULA finns två high-segment varav det ena används vid starten och vid NEW ...file väsentligen, det andra övrig tid. I TOPS-20 SIMULA finns bara ett hiseg, även i kompilatorn, eftersom virtuellminneshanteringen är bättre där. Laddningen av ett SIMULA-program styrs, om endast huvudprogrammet ges i LOAD/EXECUTE/DEBUG-kommandot, av inlagda "request-block" som begär laddning av de externfiler som svarar mot refererade atr-filer, dvs samma filnamn med extension REL i st f ATR. Dessa filer laddas om de innehåller någon refererad olöst referens. Detta är mycket bekvämt men kan någon gång klicka i den nya versionen av SIMULA p g a olämplig ordning mellan referenser. Obs att endast SIMULA har detta bekväma sätt att ladda. LINK-10 kompletterar med att ladda olösta referenser ur SIMLIB om möjligt, t o m FORLIB söks igenom har jag för mig om det finns olösta referenser efter sökning i SIMLIB. Laddning av ett SIMULA-program i hiseg är inte det normala sättet men kan spara resurser och lämnar mer plats för data i lowseg. Alla komplikationer med detta är inte helt utredda. Obs att ett program tar väsentligt större plats som EXE-fil om det är laddat i hiseg än om SIMRTS inte är laddat med programmet, som är laddat i lowseg.
(111449)
(111455) 80-06-30 12:20 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :110184: av Bengt Lund-Jensen Ärende: Funktionen CHAR Texter är numera tillåtna. Se DOC:SIMLH2.MAN, Page 189 (App E.1). Procedurer är också tillåtna som parametrar.
(111455)
(111402) 80-06-30 10:49 Lars Enderin Mottagare: MACRO(-10 -) erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Mats Ohlin För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :110429: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Monitorversion Utmärkt! Alltså GETTAB Ä%CNMNTÅ = Ä112,,11Å, som ger följande värden: 0 - okänd monitor 1 TOPS-10 (.CNT10) 2 ITS (.CNITS) 3 TENEX (.CNTNX) 4 TOPS-20 (.CNT20) I SIMULA alltså monitortype:= gettab(8R112,8R11); och i MACRO-10 MOVE ac, Ä%CNMNTÅ GETTAB ac, error
(111402)
(112339) 80-07-02 12:14 Jacob Palme Mottagare: VIDED erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :112195: av Örjan Ekeberg (NADA) Ärende: Fel! Då var det inte det fel jag trodde det var. Den felkod du anger betecknas i SIMULA-manualen bara som "transfer failure" och det säger ju inte mycket om varför. För några år sedan fick vi klagomål från Intel i USA att de fick obegripliga "transfer failure" efter flera timmars exekvering av stora SIMULA- program. Själv har jag aldrig drabbats av detta.
(112339)
(112516) 80-07-02 16:43 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Text som tillåter T.SUB(1,0).MAIN == T.MAIN CLASS newtext(i_value,i_main); TEXT i_value, i_main; HIDDEN PROTECTED i_value, i_main; BEGIN TEXT PROCEDURE n_main; n_main:- i_main; TEXT PROCEDURE n_value; n_value:- i_value; TEXT PROCEDURE n_sub(i,j); INTEGER i,j; n_sub:- NEW newtext(i_value.sub(i,j),i_main); BOOLEAN PROCEDURE equal(another); REF (newtext) another; equal:= another.n_main = i_main AND another.n_value = i_value; END;
(112516) (kommentar i 113648)
(112618) 80-07-03 11:27 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA på minidatorer Här i Lund håller Göran Eriksson och några till på att göra en SIMULA-kompilator för en minidator. Hur ser framtiden ut för SIMULA på den här fronten? Finns det inte några på FOA, som gör en kompilator för en minidator?
(112618) (kommentar i 112785, 114693)
(112785) 80-07-03 17:56 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: VAX-11/780 - erfarenhetsutbyte. Sändare: -Jan Åman Kommentar till :112618: av Lennart Borgman LTH Ärende: SIMULA på minidatorer Nej, men Norsk Regnesentral i samarbete med Edinburgh University håller på med en SIMULA-kompilator skriven i SIMULA, i avsikt att vara portabel och möjlig implementera på minidator. De första två implementationerna planeras på VAX-11 och Univac system 11, knappast särskilt små datorer direkt! Hur går det för gruppen i Lund. Hur långt har man kommit? Blir systemet i någon mening portabelt mellan olika slags minidatorer?
(112785) (kommentar i 178610, 180150)
(112842) 80-07-03 22:45 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Switchen FILES:n I simlh2 finns en något kort beskrivning av denna switch som jag skulle vilja få förklarad. Där står att default är 0. Innebär det att när man skall räkna ut värdet på den att man inte skall räkna med SYSIN(OUT) ? Annars vore det väl lämpligare med default 2 eftersom dom alltid är med. Kan man excludera SYSIN(OUT) i ett program som inte behöver dem för att minska programets storlek?
(112842) (kommentar i 113516)
(112886) 80-07-03 22:48 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: 12 messages have been sent by: Original: (974) 80-06-29 17:13 PER DANIELSSON Kommentar till :943: av Transfereringar (till) QZ Vad är det här? Behöver det vara öppet?
(112886)
(113516) 80-07-07 12:23 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :112842: av Magnus Karlson ADB/SU Ärende: Switchen FILES:n Sysin/out finns alltid med och kan inte tas bort. Inräknas inte i FILES.
(113516)
(113648) 80-07-07 15:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :112516: av Jacob Palme FOA1 Ärende: Text som tillåter T.SUB(1,0).MAIN == T.MAIN Är detta en felrapport eller enbart ett kuriosum? Förklara!
(113648) (kommentar i 113652)
(113652) 80-07-07 15:05 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :113648: av Lars Enderin FOA1 Ärende: Text som tillåter T.SUB(1,0).MAIN == T.MAIN Nej, ingen felrapport. Jag ville pröva om man kunde skriva ett KOM-inlägg vars hela text var skriven i SIMULA. Men uppenbar- ligen blev det därmed inte helt entydigt!
(113652)
(114167) 80-07-09 08:33 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NOTEXT:s egentliga karaktär. Jag har länge förundrats över en smärre inkonsekvens i SIMULA:s behandling av NOTEXT. Om man läser div. program, t.ex. ur LIBSIM slås man av i ungefär hälften av programmen behandlas NOTEXT som en textkonstant, dvs. det står t := (<>) NOTEXT, i den andra hälften som en textreferens med :- och =/=. Hur ska det egentligen vara? Visserligen fungerar väl båda lika bra vad jag kan förstå, men någon konsekvens ska man väl ha? Vad säger t.ex. Common Base?
(114167) (kommentar i 114171, 114761)
(114171) 80-07-09 08:49 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114167: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. NOTEXT är både en textreferens och ett textvärde, operator avgör vilket som är aktuellt. Det jag retat mig mest på är att värdet NOTEXT inte matchar Blanks(n) utan endast Blanks(n).Strip. Texter över huvud taget hamnade lite "snett" i definitionen, de skulle kunnat inrymmas i en något utökad klassdefinition genom att tillåta värdestilldelningar och -jämförelser mellan klassinstanser. Man skulle då kunna kopiera hela objekt med en instruktion (ref_var_ny := ref_var_gammal) och jämföra två klassinstanser del för del.
(114171) (kommentar i 114173)
(114173) 80-07-09 08:56 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114171: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Tack för svaret. Ytterligare en följdfråga bara: vad läggs i variabeln t om man utför tilldelningarna 1: t:- NOTEXT; resp. 2: t:= NOTEXT; ? Läggs det in en adress till NOTEXT eller sätts längden till 0? Eller?
(114173) (kommentar i 114177)
(114177) 80-07-09 09:01 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114173: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. I fall 1 pekar t på NOTEXT, vars längd är 0. I andra fallet blankas hela t, med bibehållen längd, det är de enklaste sättet att blanka en text, eller en del av, t.Sub(20, 10):= NOTEXT tex funkar också bra.
(114177) (kommentar i 114183, 116105)
(114183) 80-07-09 09:08 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114177: av Mats Wallin FOA1 Ärende: NOTEXT:s egentliga karaktär. Det är just det senare som visar oegentligheten: T:- Copy("blurb"); T:= NOTEXT; IF t=NOTEXT THEN ok ELSE inconsistency
(114183) (kommentar i 114189, 114203, 115065)
(114189) 80-07-09 09:10 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114183: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Just vad jag också upptäckte i morse! Tyvärr råkar man visst ut för 'inconsistency' där.
(114189) (kommentar i 115827)
(114203) 80-07-09 09:27 Sven-Erik Pettersson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114183: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Vad som medför inkonsistensen är ju att ett villkor för att två textobjekt ska vara lika är både att dom har samma längd och samma innehåll. Med den definitionen kan inte blanks(10) och NOTEXT vara lika.
(114203) (kommentar i 114207)
(114207) 80-07-09 09:49 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114203: av Sven-Erik Pettersson (ENEA) Ärende: NOTEXT:s egentliga karaktär. Jag menar att, eftersom t:= NOTEXT fyller en godtyckligt lång text t med blanka så borde även vid en jämförelse NOTEXT mot- svara en lika lång text som den andra operanden. Dra parallellen med klasser: <refvar> = NONE om alla dess delar har sitt initialvärde samt <refvar>:= NONE åstadkommer detsamma. Tyvärr skulle det då bli för lätt att göra fel med operatorerna, antar jag...
(114207) (kommentar i 114215, 114766)
(114215) 80-07-09 10:21 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114207: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Vore inte en annan möjlighet att låta t := NOTEXT sätta t.length = 0? Så har jag i alla tider trott att det gick till.
(114215) (kommentar i 114444)
(114354) 80-07-09 14:08 Peter Siklosi NADA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Anf-10 Hur kollar man ifrån ett Simula-program om en viss dator, nod (inom anf-10) är uppkopplad dvs. om datorn ifråga inte är nere? T. ex. kolla om nod 7 (NADJA) är uppe eller nere. PS. Hade tänkt skriva ett program som t ex körs i från Dec-10 QZ och varje minut kollar om t ex Nadja är uppe och i så fall sätter igång och piper, om Nadja är nere kan man då köra programmet på Qz och då upptäcka när Nadja kommer upp.
(114354) (kommentar i 114364, 114410)
(114364) 80-07-09 14:19 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114354: av Peter Siklosi NADA Ärende: Anf-10 Jag har ett sånt program, fast jag kör det från FILIP och väntar på att QZ skall starta. Men jag har valt att bara göra en MIC, som med NODE 1 (eller 7) kollar om den är uppe, och i så fall piper, annars gör sleep i en minut.
(114364)
(114410) 80-07-09 16:14 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114354: av Peter Siklosi NADA Ärende: Anf-10 Du kan även utföra en NODE. UUO med funktionskoden .NDRNN(=2) som ger felretur om specificerad nod inte är tillgänglig. Kan utföras med rutinen XCALLI från SYS:LIBSIM.
(114410)
(114444) 80-07-09 18:06 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114215: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. Det vore väl inte så konsistent med t:="text text" som inte sätter om längden 8och inte bör göra det heller, väl).
(114444) (kommentar i 114446)
(114446) 80-07-09 18:19 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114444: av Christer Wikmark SU/ADB Ärende: NOTEXT:s egentliga karaktär. Eller snarare inkonsistent med t1:=t2;
(114446) (kommentar i 114537)
(114537) 80-07-10 08:35 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114446: av Christer Wikmark SU/ADB Ärende: NOTEXT:s egentliga karaktär. I och för sig har du rätt i att det vore inkonsekvent, men frågan är vilket som är rätt? Jag menar: är det inte rimligt att efter t1 := t2; så ska man kunna testa på likhet UTAN att göra t1.strip? Man kanske borde låta t1 := t2 sätta om längden om det inte blir för svårt.
(114537) (kommentar i 114548)
(114548) 80-07-10 08:41 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114537: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. Ja, efter t1:- t2; får man ju referenslikhet, så lite inkonsekvent är det kanske, men det går väl knappast att kombinera med att man vet hur lång en text är, och att detta värde inte ändras så länge man håller sig till := och inte :-.
(114548) (kommentar i 114578)
(114578) 80-07-10 09:13 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114548: av Mats Wallin FOA1 Ärende: NOTEXT:s egentliga karaktär. TEXT gamla, nya; gamla:- copy("123456789"); nya:- copy("ABCD"); Om man nu utför satsen "gamla:= nya" så är det definierat så att man fyller på gamla så långt något finns i nya, och fyller ut resten av gamla med blanka. Om då "gamla == NOTEXT" så är det ju logiskt att det enbart blir utfyllnad med blanka (sedan noll, alltså inga, tecken flyttats över). Det är alltså helt logiskt efter definitionen att "gamla:= NOTEXT" blankar hela gamla, och samtidigt helt logiskt att därför inte följer att "gamla = NOTEXT".
(114578) (kommentar i 114783)
(114643) 80-07-10 10:32 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Variablers position efter GC Kan man räkna med att en variabel placerad på yttersta nivå i ett program behåller sin position under hela exekveringen eller kan GC flytta om den? Jag skall göra en Error traping rutin och tänkte komunisera med programet med hjälp av boolska variabler placerade i yttersta blocket.
(114643) (kommentar i 114716, 115067)
(114693) 80-07-10 11:54 Rolf Wasteson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :112618: av Lennart Borgman LTH Ärende: SIMULA på minidatorer Vilken minidator?
(114693)
(114716) 80-07-10 12:10 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114643: av Magnus Karlson ADB/SU Ärende: Variablers position efter GC Om du inte öppnar/stänger några filer kan du lita på att den ligger kvar. Vill du öppna/stänga filer kan du se till att buffert- utrymme allokeras före exekveringens början. Se handboken del 2 kapitel 8. Det finns en procedur, jag tror den heter GCFREEZE, som kan stoppa garbage collection helt eller delvis.
(114716) (kommentar i 114729)
(114761) 80-07-10 13:40 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114167: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. Det är skillnad på värde och referens det gäller. Om jag skriver "... t = NOTEXT .." eller " .. t == NOTEXT " spelar ingen roll (utom att det senare fallet går ca 3 ggr fortare!). Däremot är det stor skillnad på "..t:= NOTEXT;" och " ..t:- NOTEXT;"! I första fallet BLANKAS innehållet i t (om t redan == NOTEXT händer ingenting). I andra fallet SÄTTES t att peka på NOTEXT.
(114761) (kommentar i 117126)
(114729) 80-07-10 12:33 Bengt Lund-Jensen Mottagare: Jacob Palme FOA1. Mottaget: 80-07-10 13:42 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 Svar till :114716: Ärende: Variablers position efter GC Ger inte procedure ALCOR (i SIMLIB) allokering av minne som inte rörs vid en GC?
(114729)
(114766) 80-07-10 13:46 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114207: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Men ":=" för texter betyder inte att texterna blir lika. Om t = "123" och vi gör t:= "AB" , så är nu t = "AB " och alltså är t = "AB" FALSE!! Vill man ha texten "AB" i t (längd=2) måste man skriva antingen: 1) t:- Copy("AB"); eller 2) t:- t.Sub(1,2); t:= "AB";
(114766)
(114783) 80-07-10 13:53 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114578: av Jacob Palme FOA1 Ärende: NOTEXT:s egentliga karaktär. 1) "Om då "gamla == NOTEXT"" ska vara "Om då "nya == NOTEXT"". 2) Hur lyder egentligen definitionen av VÄRDET NOTEXT?
(114783) (kommentar i 114801)
(114801) 80-07-10 14:02 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114783: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Värdet av NOTEXT är den tomma strängen "". Men det är tillåtet att kolla längd, Pos mm även om en textvariabel skulle peka på NOTEXT (t:- NOTEXT; tl:= t.Length;)
(114801) (kommentar i 114860)
(114860) 80-07-10 15:34 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114801: av Mats Ohlin Ärende: NOTEXT:s egentliga karaktär. Det här börjar bli rörigt! Jag efterlyser en smula konsekvens vid behandling av NOTEXT. Eller ligger det någon djup tanke bakom den nuvarande ordningen?
(114860) (kommentar i 115831)
(114928) 80-07-10 16:53 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: text-hantering och tilldelning Det snygga med TEXT (tycker jag) är att det oftast kan betraktas som en class, detta gäller ju dock verkligen inte := . Det vore dÄrför mycket snyggare om dagens := i stället implementerades som t.Fill_with(txt); vilket ju snarare är vad som sker. Möjligen kunde := vara kvar för de som föredrar att se TEXT som någon slags elementär datatyp, men då också verkligen göra tilldelning (dvs ändra längd).
(114928) (kommentar i 115093, 115833, 116456)
(115065) 80-07-10 23:37 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114183: av Tommy Ericson QZ Ärende: NOTEXT:s egentliga karaktär. Är det egentligen bara med notext man får en oegentlighet T:- Copy("blurp"); TT:- Copy("bla"); T:= TT; F t=tt THEN nja ELSE nja; !eller ....
(115065)
(115067) 80-07-10 23:42 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114643: av Magnus Karlson ADB/SU Ärende: Variablers position efter GC Man kan ju allokera variabler i ett assembler program och länka in dessa tillsammans med rutiner för åtkomst av variablerna.
(115067) (kommentar i 115360)
(115093) 80-07-11 08:30 Lennart Pettersson 043 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114928: av Christer Wikmark SU/ADB Ärende: text-hantering och tilldelning Bra förslag!
(115093)
(115360) 80-07-11 15:05 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :115067: av Anders Ström SSRC Ärende: Variablers position efter GC Tack för tipsen. Det sista verkar var den säkraste om man skall göra en rutin som kan andvändas i flera program utan att man behöver kontrolera vilket.
(115360)
(115443) 80-07-11 16:56 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SCAN12 Inte sällan har man behov av att plocka isär en textsträng i olika delsträngar. T ex filspec. typ DEV:FIL.EXT<Proj,Prog,... ..ev sfd..>. Proceduren SCAN12 har konstruerats för att underlätta programmeringen i sådana lägen. SCAN12 har tre parametrar: R1 (Integer) Rank på den char som inleder sökt sträng R2 ( -"- ) - " - " - " - avslutar - " - " - T (text by name) usprunglig text (input) samt den text som blev 'över' efter att delsträng hittats (output). Till T kopieras m a o de delar av T som inte ingick i (C1)<SCAN12-resultat>(C2). Om R1 < 0 anses T inledd med motsv tecken OM det saknades i T. Om R2 < 0 anses T avslutad med motsv tecken OM det saknades. Negativa värden motsvarar Char(Abs(Rx)). Värdet 0 kan användas för att ange obligatorisk inledning/avslutning. Anrop: SCAN12(T,R1,T2); Exempel i efterföljande inlägg.
(115443) (kommentar i 115445)
(115445) 80-07-11 16:56 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :115443: av Mats Ohlin Ärende: SCAN12 TEXT t1,dev,fil,ext,ppn,proj,prog; TEXT ARRAY sfdÄ1:8Å; INTEGER sfdlevel; t1:- inline("File spec:",Sysin); dev:- SCAN12(t1,0,Rank(':')); ppn:- SCAN12(t1,Rank('Ä'),-Rank('Å')); IF ppn == NOTEXT THEN ppn:- SCAN12(t1,Rank('<'),-Rank('>')); proj:- SCAN12(ppn,0,Rank(',')); prog:- SCAN12(ppn,0,-Rank(',')); WHILE ppn =/= NOTEXT DO BEGIN sfdlevel:= sfdlevel+1; sfdÄsfdlevelÅ:- SCAN12(ppn,0,-Rank(',')); END sfd loop; fil:- SCAN12(t1,0,-Rank('.')); ext:- t1; Något för LIBSIM? Tacksam för synpunkter. Koden finns på Ä13,201Å.
(115445) (kommentar i 115454)
(115454) 80-07-11 17:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :115445: av Mats Ohlin Ärende: SCAN12 LIBSIM - Ja, med exemplet!
(115454)
(115827) 80-07-13 11:55 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114189: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. Operatorn = jämför texter lexikografiskt. ""<" "!
(115827)
(115831) 80-07-13 12:02 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114860: av Lennart Pettersson NADA Ärende: NOTEXT:s egentliga karaktär. Varje textreferens med längd 0 är == (refererar till samma deltext som) NOTEXT. Konstanten NOTEXT kan ses som representerad av en textreferens med First position=1, Current Position=1, Length=0 och en "otillåten" referens som referens till textvärdet. Det är tillåtet att göra NOTEXT.Length etc
(115831)
(115833) 80-07-13 12:07 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114928: av Christer Wikmark SU/ADB Ärende: text-hantering och tilldelning Isamband med att vi på NADA skriver en "Fortsatt programmering i Simula" har vi försökt att beskriva hanteringen av TEXT just med klassbegreppet. En ny "systemklass" zt att använda som programprefix och en klass ztext för textreferenser och en klass ztv för textvärden. Naturligtvis blir syntaxen lite annorlunda. :- och := får göras till procedurer etc.
(115833)
(116105) 80-07-14 10:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114177: av Mats Wallin FOA1 Ärende: NOTEXT:s egentliga karaktär. Adressen till NOTEXT är 0. I själva verket representeras NOTEXT av två noll-ord (Pos = 1 representeras som 0).
(116105) (kommentar i 116135)
(116172) 80-07-14 12:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :116135: av Christer Wikmark SU/ADB Ärende: NOTEXT:s egentliga karaktär. För att ge "trap" vid försök till åtkomst. Avbrottet fångas upp och analyseras, varvid felutskriften "OBJECT NONE" genereras. Om man representerar NONE med 0 måste man lägga till instruktioner här och där för att testa på NONE, t ex i uttrycket THIS Head.First. Metoden lär ha uppfunnits av C.A.R. Hoare i samband med ALGOL W och användes i IBM 360 SIMULA, men togs där bort i samband med anpassning till virtuellt minne, eftersom den bara fungerar om adressen NONE inte kan vare sig läsas eller skrivas. Det lär inte ha behövts så mycket ny kod för att ersätta det tidigare värdet på NONE med 0, så det kanske man skulle ha gjort från början. Vi hade f ö NONE högre upp i adressrymden tidigare, men eftersom t ex VMDDT och PFH ligger där uppe, flyttade vi ned adressen 32000 oktalt.
(116172)
(116214) 80-07-14 14:01 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: REAL PROCEDURE som parameter till FORTRAN 1) Är standardfunktioner i allmänhet att betrakta som en i förväg definierad REAL PROCEDURE??? 2) I så fall var ligger skillnaden som gör att en standardfunktion inte får ges istället för en REAL PROCEDURE som parameter till FORTRAN-subrutin. (Jag kom just på att jag inte testat med subrutin skriven i Simula (dvs om Simula får anropa Simula med standardfunktion)).
(116214) (kommentar i 116216)
(116216) 80-07-14 14:09 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :116214: av Bengt Lund-Jensen Ärende: REAL PROCEDURE som parameter till FORTRAN Standardfunktion kan tydligen inte användas som parameter till Simulaprocedur heller. Igen skillnad mellan Fortran och Simula- subrutiner således. (återkommer när jag läst lite i manulen)
(116216) (kommentar i 116279, 119988)
(116308) 80-07-14 16:39 Yngve Sundblad (787 7147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: Fel i Simset?! I samband med bokskrivandet uppstod frågan om vad man för göra med Linkage och jag gjorde följande testprogram Simset BEGIN Linkage CLASS lgsub; BEGIN END; REF(lgsub) lgsr; REF(Linkage) lgr; lgsr:-NEW lgsub; ! lgsr:-lgsr.Prev; lgr:-lgsr; lgr:-lgr.Prev; lgr:-lgsr; lgr:-lgr.Suc; END Kompilatorn accepterar inte satsen med ! utan ger felutskrift om att kvalifikationerna LGSUB och LINK inte är kompatibla, men Prev är ju kvalificerad LINKAGE!!! Däremot går det bra att använda Prev på lgr (som det ska) och programmet går att köra (finns på t1.simÄ102,104Å)
(116308)
(116456) 80-07-14 23:42 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114928: av Christer Wikmark SU/ADB Ärende: text-hantering och tilldelning Original: (930) 80-07-14 09:40 HANS KöHLER Inlägget 896 tycker jag var det vettigaste som jag har läst i debatten om := (felaktigt kallat för NOTEXT-debatt) ! Endast en inbiten SIMULA-brukare kan tänkas godta den nuvanrande formens inkosekventa innebörd. Men hur kan någon lyckas lära ut sådant till nybörjare utan att de tar skada?
(116456)
(117126) 80-07-16 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :114761: av Mats Ohlin Ärende: NOTEXT:s egentliga karaktär. NOTEXT:s karaktärslöshet. Original: (1658) 80-07-14 15:20 PER DANIELSSON Håhåja, SIMULA är uppenbarligen inte världens bästa språk för textbehandling ...
(117126) (kommentar i 117147, 117227)
(117147) 80-07-16 23:33 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117126: av Överföring från NADJA Ärende: NOTEXT:s egentliga karaktär. Svenska är kanske bättre men annars så tyckker jag nog att textbehandlingen i Simula är utmärkt. De krångliga fallen är få och kan ofta undvikas.
(117147) (kommentar i 117151)
(117151) 80-07-16 23:40 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117147: av Lennart Borgman LTH Ärende: Textbehandling i Simula. Problemen med textbehandling i Simula, har mest att göra med att man av effektivitetsskäl avstår från att kopiera texter. T.ex. man får en text i Sysin och skaffar sig referenser till delar av denna text. Men man läser inte in någon ny text från Sysin, förrän deltexterna redan är färdigbehandlade. Senare inför man en ändring i programmet och ställer en kontrollfråga till användaren. Och lyckas därmed kvadda sina ännu obearbetade texter. Nog för att man kan ha råd att alltid kopiera det som läses från terminalen, men motsvarande problem gäller även för filer på vilka man kanske har avsevärt tätare läsningar.
(117151)
(117227) 80-07-17 09:28 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Symbolbehandlande språk med tillämpningar. Sändare: -Jan Åman Kommentar till :117126: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Jag har erfarenhet av fyra olika språk för textbehandling: LISP, SNOBOL, SIMULA och TECO. SNOBOL har de klart bästa och snyggaste textbearbetande kommandona. Tyvärr är SNOBOL dålig för programstrukturering, vilket motverkar denna fördel. QZ-DEC-10-s SNOBOL-system FASBOL är också uselt ur interaktiv programutvecklingssynpunkt. TECO är som språk betraktat ganska trist, men har mycket goda interaktiva möjligheter. SIMULA har hyggligt goda textbehandlingsmöjligheter i kombination med goda programstruktureringsmöjligheter. LISP är sannolikt numera bra för textbehandling, men på den tiden jag prövade LISP så var i/o av textdata dåligt, men det var tio år sedan, och saker kan ju ha hänt sedan dess. Dock har jag observerat att många LISP-program har svårt med ÅÄÖ vilket kanske tyder på att LISP fortfarande har vissa brister för text- behandling. Observera alltså att man inte enbart kan bedöma vilket språk som är bra för textbehandling, även för textbehandling behöver man goda interaktiva programutvecklingsmöjligheter och goda programstruktureringsmöjligheter!
(117227) (kommentar i 117259, 119986, 178625, 179326)
(117259) 80-07-17 09:36 Martin Nilsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117227: av Jacob Palme FOA1 Ärende: Världens bästa språk för textbehandling I Maclisp är texter Printnames på atomer. Om atomen bara består av "ofarliga" tecken, skriver man den bara som den är, tex ALLAN. Om det finns speciella tecken i, kan man skriva så här öALLAN TAR KAKAN.ö (Det går bra med CRLF mitt i). Eller så kan man sätta in en slashifier: ALLAN/ TAR/ KAKAN/. Man får vara lite försiktig med underliga tecken i Maclisp för de är ofta definierade som READ-macros.
(117259) (kommentar i 118134)
(117477) 80-07-17 18:06 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: HEREIS En procedur som returnerar vanlig "hälsningsfras" a la: PROGXY Version 12(2) - 1980-07-17 at 18:02:25 finns till påseende på <13,201>. Kommer ev på LIBSIM.
(117477)
(117483) 80-07-17 18:13 Yngve Sundblad (787 7147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Erlang Inom avdelningen sällan använda simulamöjligheter har jag nu stött på Erlang, som enligt uppgift ska göra dragningar ur "Erlangfördelningen". jag har studerat mat-stat-referenslitteratur och hittat Erlangs formel och det är nog den som avses men den har en reell parameter, felintensitet, och en heltalsparameter, antal linjer, medan simulaproceduren har två reella parametrar. Studium av simulabeskrivningen av Claes Wihlborgs macroversion av Erlang i runtimebiblioteket för Simula ger vid handen att andra parametern visserligen är reell men används för att styra antalet dragningar. Är det nån som använt Erlang-fördelningen och/eller vet mer?
(117483) (kommentar i 117688)
(117501) 80-07-17 21:02 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Att göra snabb exit ur program. Om man anropar exit(0); på slutet av sitt program så skrivs ändå en blank rad ut innan monitorn skriver sin punkt. Är det monitorn som genererar denna blanka rad ellr är det simula-systemet? Jag avslutar mitt program med att göra form-feed på terminalen, och därefter sända "motor-off" för sedan göra exit(0). Men terminalen lämnas då inte på översta raden på sidan, som tänkt var.
(117501) (kommentar i 118136)
(117549) 80-07-18 08:56 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Fel i SIMULA ver 5? Tidigare kunde man skriva a:=b:=c:=d t ex om a, b, c och d var texter och d var kortare än alla dom andra. Detta är rimligt eftersom skrivsättet uppfattas som kortform för a:=d ; b:=d ; c:=d; Numera krävs av någon anledning l(a)>=l(b)>=l(c) därutöver. Detta verkar vara ett fel...eller?
(117549) (kommentar i 117590, 118374)
(117688) 80-07-18 14:52 Jan Linne'll Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Matematik (svar på frågor, erfarenhetsutbyte m.m.). Sändare: Jacob Palme FOA1 Kommentar till :117483: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Erlang ERLANG-fördelningen är en Gammafördelning med heltalsparameter: En summa av k exponentialfördelade oberoende stokastiska variabler är Erlang-k fördelade. ERLANGS FORMEL är något helt annat. Den anger sannolikheten att all betjäningsställen i ett upptagetsystem är upptagna. (Om ankomstprocessen är en poissonprocess samt betjäningstiderna är exponentialfördelade och oberoende (och oberonde av ankomstprocessen)).
(117688) (kommentar i 117696)
(117696) 80-07-18 15:10 Yngve Sundblad (787 7147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Matematik (svar på frågor, erfarenhetsutbyte m.m.). Sändare: Jacob Palme FOA1 Kommentar till :117688: av Jan Linne'll Ärende: Erlang Tack! Tydligen är matematiska statistiker ointresserade av vad teletekniker håller på med eftersom inte fördelningen (men väl formeln) finns upptagna i stora tjocka uppslagsböcker i matstat. Det du säger talar dock för att beskrivningen av Erlang i DEc-Simula är fel (liksom implementationen), andra parametern, b i beskr, k hos dig, bör väl vara ett heltal!!
(117696) (kommentar i 118271, 120250)
(117718) 80-07-18 15:47 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117590: av Jacob Palme FOA1 Ärende: Fel i SIMULA ver 5? Uttrycket a:=i:= 1.23; (i INTEGER, a REAL) ger a värdet 1! Är detta korrekt? (DEC-ALGOL accepterar inte typ-mix i multipl. assignment, märkte jag när jag försökte testa där.) A borde få värdet 1.23!?
(117718) (kommentar i 117743, 117745, 117749)
(117749) 80-07-18 17:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117718: av Mats Ohlin Ärende: Fel i SIMULA ver 5? Nej, jag skrev fel i inlägg 117590. Tydligen är detta en skillnad mellan Algol och Simula som jag inte tidigare visste om. I "Revised report on the algorithmic language Algol 60" står text som verkar anse att "a:= b:= c" skall vara ekvivalent med "temp:= c; a:= temp; b:= temp;" (Avsnitt 4.2. "Assignment statements"). Men i Simula-definitione, "Simula Common Base Language" avsnitt 6.1.2.1 står ett exempel som verkar innebära att uttrycket skall utföras som "b:= c", "a:= b". Jag hade ingen aning om att Simula och Algol skilde sig på denna punkt.
(117749) (kommentar i 117850, 118138)
(117850) 80-07-18 18:44 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117749: av Jacob Palme FOA1 Ärende: Fel i SIMULA ver 5? Uschligt otrevligt. Dvs att a:=b:=c inte är ekvivalent med b:=a:=c, om a och b är av olika typ. Någon slags varningsutskrift för detta fall borde DEFINITIVT läggas in i kompilatorn!!!
(117850) (kommentar i 117852, 119990)
(117852) 80-07-18 18:47 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117850: av Lars-Åke Larsson Ärende: Fel i SIMULA ver 5? Simula-standard borde också ändras så att kompilator SKALL ge varningsutskrift i de aktuella fallen! Någon ändring av standarden f.ö. på den här punkten är nog varken önskvärd eller genomförbar, eftersom en ändring skulle påverka redan existerande program.
(117852)
(117854) 80-07-18 18:51 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMDBM Kan någon säga var jag hittar en manual om SIMDBM (t. ex. SIMDBM.MAN)
(117854) (kommentar i 117858, 118150)
(117858) 80-07-18 19:07 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117854: av Magnus Persson Ärende: SIMDBM Gör .DIR DSKE:???DBMÄ13,134,*Å Allmänt: Om man vill hitta filer som står omnämnda i Simula- handboken del 3, så kan man oftast hitta dem genom att göra .DIR DSKE:<filnamn>Ä13,134,*Å
(117858)
(118134) 80-07-20 15:05 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117259: av Martin Nilsson Ärende: Världens bästa språk för textbehandling Man kan förstås alltid läsa ett tecken i taget.
(118134)
(118136) 80-07-20 15:09 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117501: av Lars-Åke Larsson Ärende: Att göra snabb exit ur program. Det är monitorn
(118136)
(118138) 80-07-20 15:13 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117749: av Jacob Palme FOA1 Ärende: Fel i SIMULA ver 5? Nej. a:=b:=c är INTE lika med temp:=c;a:=temp;b:=temp!!!! Vad som händer är i stället följande (ursäkta den gräsliga pseudonotationen) pointer ap,bp,cp; ap:-addr(a); bp:-addr(b); cp:-addr(c); temp:=val(cp); val(ap):=temp; val(bp):=temp; (Val(ptr) är alltså det som "ptr" pekar på.)
(118138)
(118150) 80-07-20 15:34 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117854: av Magnus Persson Ärende: SIMDBM Se Ä105,121Å SIMDBM.MEM, NEWDBM.MEM, FETCH.RNO är nog de färskaste versioner. Annrs finns nog det mesta (ev äldre versioner) på DSKE:Ä13,134,SIMDOCÅ.
(118150) (kommentar i 118273, 120758)
(118160) 80-07-20 15:44 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Är de här terminaltyperna skärmar eller skrivare? AJ510 DAS21 PERICO TI820
(118160) (kommentar i 118166, 118326, 118358)
(118271) 80-07-21 10:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117696: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Erlang SIMULA-beskrivningen är tagen ur SIMULA User' Guide för IBM-SIMULA. Antagligen hänger Erlang med från SIMULA I. som väl användes för en del simuleringar av telefonnät, liksom SIMULA används nu för detta, i varje fall i Norge. (User' => User's). Att andra parametern är heltal kanske är principiellt fel men gör väl ingen skada om man bara använder heltal, annars kan det väl betraktas som en generalisering.
(118271)
(118273) 80-07-21 10:35 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118150: av Mats Ohlin Ärende: SIMDBM Se även DSKE:<13,134,LIBSIM> där vissa DOC, MAN, HLP-filer finns.
(118273)
(118326) 80-07-21 12:13 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118160: av Jacob Palme FOA1 Ärende: Är de här terminaltyperna skärmar eller skrivare? AJ510 = Bildskärm TI820 = Snabbskrivande pappersterminal (klarar 1200 baud) De andra två känner jag tyvär inte till.
(118326)
(118358) 80-07-21 12:59 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118160: av Jacob Palme FOA1 Ärende: Är de här terminaltyperna skärmar eller skrivare? DAS21 och PERICOM är skärmterminaler.
(118358)
(118374) 80-07-21 13:34 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117549: av Lars Lindwall Ärende: Fel i SIMULA ver 5? I praktiken uppfattas a:=b:=c:=d som kortform för c:=d; b:=c; a:=b ! I själva verket utvärderas alla adresser till a, b, c först, sedan utförs kopieringen. Det nämnda kravet på längderna är alltså korrekt uppfattat.
(118374)
(118380) 80-07-21 13:56 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Avlusa i Simula just nu. Suck. Vi har ett svårfångat fel i Dapu just nu. Måste köra en följd av program för att komma in i en loop. Och när man så bryter med ^C och REEnter så får man ERROR WHILE PROCESSING ERROR och programmet avslutar automatiskt. och så fick man göra om alltsammans. Och si nästa gång så fungerar det, Men efter proceed fick jag illegal UUO at PC 103536, så då åkte jag ut igen! Äsch!
(118380) (kommentar i 118412, 118456)
(118412) 80-07-21 14:21 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118380: av Lars-Åke Larsson Ärende: Avlusa i Simula just nu. Suck. Om man laddar SIMDDT från början brukar man minska risken att få ERROR WHILE PROCESSING ERROR. Alltså "GET+REENTER+PROCEED".
(118412)
(118456) 80-07-21 15:20 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118380: av Lars-Åke Larsson Ärende: Avlusa i Simula just nu. Suck. Jag har sista veckan (orna?) haft liknande sporadiska problem.
(118456)
(118799) 80-07-22 13:22 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Om jag finge önska mig något i SIMDDT så vore det att kunna skriva ut innehållet i Name-deklarerade parametrar! Ofta har man inte kopior på parametrarna, och då får man det ganska jobbigt, som det nu är ordnat. Jag tycker nog att det vore värt ganska mycket att få denna möjlighet! Vad säger Lars Enderin om möjligheterna att ordna det?
(118799) (kommentar i 118870, 118938, 120643)
(118870) 80-07-22 14:52 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118799: av Lars-Åke Larsson Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Instämmer! Som det nu är får man försöka söka sig tillbaka med INSPECT/RETURN och försöka lista ut aktuellt parametervärde där.
(118870)
(118938) 80-07-22 16:36 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118799: av Lars-Åke Larsson Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Generellt mycket svårt. Antag t.ex. anropet "proc(func);" För att få reda på namn-parameterns värde måste ju funktionen "func" anropas! Men i vissa enkla specialfall vore det ju möjligt, t.ex. när parametern är en enkel variabel eller en konstant.
(118938) (kommentar i 118944)
(118944) 80-07-22 16:42 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118938: av Jacob Palme FOA1 Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Eller av typ integer/real/text/boolean/character (t o m REF?); senast beräknade värde hos parametern finns väl tillgängligt (i "thunken")? Parametrar som är spec. PROCEDURE är ju ganska sällsynta, det kan man säkert avstå ifrån.
(118944) (kommentar i 118958, 120836)
(118958) 80-07-22 16:57 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118944: av Mats Ohlin Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Ja, senast beräknade kan man ju ev. skriva ut även om det ju då kan vara felaktigt.
(118958) (kommentar i 118964)
(118964) 80-07-22 17:01 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118958: av Jacob Palme FOA1 Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Oftast är det väl just det man är ute efter. Men en varning vore kanske på plats: SIMDDT> O tparm Value of TPARM at latest evaluation: TEXT O12345 == .... Vad händer om parametern (ännu) inte evaluerats; nytt SIMDDT-meddelande måste då skrivas ut. Value of TPARM not yet evaluated.
(118964)
(118977) 80-07-22 17:23 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Out på alla parametrar i ett klassobjekt dvs inte en och en , utan alla på en gång med ett enkelt kommando. Jag har fått för mig att det inte är möjligt, men det kanske är fel. Att kunna göra detta tycker jag vore praktiskt.
(118977) (kommentar i 118981)
(118981) 80-07-22 17:27 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118977: av Lennart Borgman LTH Ärende: Out på alla parametrar i ett klassobjekt Pröva OUTPUT XREF.* ! Men om kvalifikationen på XREF är "outer" än det verkliga objektet får man bara ut attribut på nivån svarande mot XREF:s kvalifikation (och uppåt). Man kan då skriva SIMDDT> INSpect XREF SIMDDT> OUTPUT * eftersom INSPECT ger automatiskt rätt kvalifikation.
(118981)
(119099) 80-07-22 23:41 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: HJÄLP! Direktfilshantering! Kan någon tala om hur proceduren locateandtrytoread nedan bör utformas för undvikande av köravbrott i exemplet? Direktfilen är helt tom! 00100 BEGIN 00200 BOOLEAN PROCEDURE locateandtrytoread(dirfil,loc); 00300 REF(Directfile) dirfil; INTEGER loc; 00400 INSPECT dirfil DO BEGIN 00500 IF loc GE Location AND Endfile THEN GO TO exit; 00600 COMMENT: osäkert om ovanstående sats är nödvändig!!; 00700 Locate(loc); Inimage; 00800 locateandtrytoread:= Image.Strip NE "/*"; exit: 00900 END; 01000 01100 REF(Directfile) dir; 01200 dir:-NEW Directfile("dir.tmp"); dir.Open(Blanks(60)); 01300 locateandtrytoread(dir,10); 01400 locateandtrytoread(dir,5); 01500 dir.Close; 01600 END; Om man "backar" tillbaks inom det oskrivna området på filen, och gör Inimage, så inträffar tydligen run-time-avbrott. Hur skall jag gardera mig mot detta? På Univac, så testar man Endfile EFTER Locate men FÖRE Inimage för direktfiler. Men så trodde jag inte man gjorde på DEC-Simula.
(119099) (kommentar i 119104)
(119104) 80-07-23 00:04 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119099: av Lars-Åke Larsson Ärende: HJÄLP! Direktfilshantering! Ha, jag kom själv på hur proceduren bör modifieras: 00010 begin 00015 external integer procedure lastloc; 00100 BEGIN 00200 BOOLEAN PROCEDURE locateandtrytoread(dirfil,loc); 00300 REF(Directfile) dirfil; INTEGER loc; 00400 INSPECT dirfil DO BEGIN 00500 IF loc > lastloc(dirfil) THEN GO TO exit; 00700 Locate(loc); Inimage; 00800 locateandtrytoread:= Image.Strip NE "/*"; exit: 00900 END; 01000 01100 REF(Directfile) dir; 01200 dir:-NEW Directfile("dir.tmp"); dir.Open(Blanks(60)); 01300 locateandtrytoread(dir,10); 01400 locateandtrytoread(dir,5); 01500 dir.Close; 01600 END; 01700 END; Så fungerar det! Skälet till att använda proceduren locateandtrytoread ovan, är att jag vill upprätthålla flyttbarhet för programvaran. Så att den t.ex. går att installera under Univac-simula, som har något annorlunda direktfilshantering. - Då kan jag där ha en annan version av proceduren. Men resten av mitt program behöver inte ändras.
(119104) (kommentar i 119122, 119178)
(119122) 80-07-23 08:16 Nils-Bertil Ericsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119104: av Lars-Åke Larsson Ärende: HJÄLP! Direktfilshantering! På vilket sätt är direktfilhanteringen på Univac-Simula annorlunda ?
(119122)
(119178) 80-07-23 09:58 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119104: av Lars-Åke Larsson Ärende: HJÄLP! Direktfilshantering! En superdetalj: Kaaaan du inte ändra loc>...... till loc<=.... så att GOTO försvinner, det blir så vackert då? (eller ser proc. i själva verket helt annorlunda ut, måhända).
(119178) (kommentar i 119224)
(119211) 80-07-23 10:29 Jacob Palme Mottagare: Lennart Pettersson NADA. Mottaget: 80-07-23 10:41 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119157: av Lennart Pettersson NADA Ärende: Nya VISTA. Om man använder nya VISTA som gäller från 28 juli (och som redan nu används vid NADJA och ADB-datorn) så bör man i huvudprogrammet lägga in ett anrop av LIBSIM-proceduren VDCCOUT omedelbart före slutet av exekveringen. VDCCOUT återställer terminalparametrar till det värde de hade före start av programmet. Ovanstående behövs inte om programmet slutar med CONTROL-C, då anropas VDCCOUT automatiskt. Just nu är det ett problem med laddningsordningen i LIBSIM på NADJA och ADB, som gör att man alltid bör ha med ett anrop av VDCCOUT i huvudprogrammet. Skriv t.ex. EXTERNAL PROCEDURE vdccout; IF FALSE THEN vdccout; Alternativt kan du ladda med .LOAD prog.sim,sys:libsim/search Det senare problemet hoppas vi kunna åtgärda nästa vecka genom att ändra ordningen i SYS:LIBSIM.
(119211) (kommentar i 120645)
(119318) 80-07-23 12:38 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INSPECT a DO INSPECT b DO OTHERWISE Är det inte lite underligt att ovanstående konstruktion är tillåten i Simula. Konstruktioner av typen IF boo THEN IF annanbo THEN är ju inte lovliga. OTHERWISE-delen syftar på a, om någon undrar.
(119318) (kommentar i 120648, 122561, 141019)
(119417) 80-07-23 15:04 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Texthantering. Nedanstående procedur getto, har jag skrivit därför att jag behöver den i en tillämpning. Liknar i mycket scanto. Finns det redan någon motsvarighet i LIBSIM? Finns det annars anledning att lägga in den i LIBSIM? Jag använder den så att vissa fält avslutas med ett VISST tecken. Förekomst av tecknet betyder att fältet fanns och föregick fältet. 00100 OPTIONS(/e); 00200 TEXT PROCEDURE getto(tt,c); NAME tt; TEXT tt; CHARACTER c; 00300 COMMENT Will scan to the next occurence of c. Pos of tt 00400 will be placed after the character found, and the 00500 subtext from previous pos up to but not including the 00600 found character will be returned as result (not copied), 00700 but ONLY if a c is found. Otherwise NOTEXT will be returned, 00800 and pos of tt will not be changed.; 00900 BEGIN TEXT t; INTEGER p; 01000 t:-tt; p:=t.Pos; 01100 WHILE t.More DO 01200 IF t.Getchar=c THEN BEGIN 01300 getto:-t.Sub(p,t.Pos-p-1); tt.Setpos(t.Pos); GO TO out; 01400 END; 01500 out: 01600 END of getto;
(119417) (kommentar i 119612)
(119612) 80-07-24 00:01 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119417: av Lars-Åke Larsson Ärende: Texthantering. SCAN12 har en liknande funktion (finns än så länge bara på Ä13,201Å). Men till skillnad mot SCANTO (och GETTO) utnyttjas EJ aktuell t (tt).Pos. s:- getto(tt,c) motsvaras ungefär av trest:- rest(tt); s:- scan12(trest,0,Rank(c)); med effekten att: 1) om C hittades sätts s till en kopia av den funna texten samt trest:- Copy(<texten efter c>). 2) om C ej fanns blir s:- NOTEXT och trest förändras ej. Har inget emot att GETTO införes annat än att det är svårt att lära sig (samt utnyttja) alla SCANxx-varianter. Samma argument kan förvisso användas mot SCAN12. Ev bör SCAN12 modifieras så att satsen "s.Setpos(1)" tas bort; dvs man börjar sökningen i aktuell Pos snarare än från början. (Vissa följdändringar i koden tillkommer.) I så fall blir SCAN12-varianten av ovanstående ex. förenklad till: s:- scan12(tt,0,Rank(c)); En tredje möjlighet (hänger ni med? Bäst att läsa filerna S12.SIM <13,201> och SCAN12.SIM<dito> först.) vore att tillåta en "omöjlig" Rank hos 2:a parametern, indikerande just det fall där sökning från aktuell t.Pos önskas. T.ex. If the 2nd parm has a value >= 1000 the search will be done from current t.Pos, effectively using Mod(parm2,1000) as working value. M a o SCAN12(tt,1000,Rank(c)) ger då underförstådd 1:a match i tt.Pos (liksom GETTO), medan SCAN12(tt,0,Rank(c)) söker från tt:s början.
(119612) (kommentar i 119970)
(119875) 80-07-24 16:06 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Anser GC att monitorn lägger ut skräp??? BUG i Simula eller?? Jag försöker att fixa till det grafiska paketet GPGS så att all I/O är oberoende av run-time-system dvs gjord via Monitor Calls. Om jag vid "buffered" I/O låter Monitorn sätta upp buffer-ringen verkar Simulas Garbage-Collector lägga rabarber ("eller nånting lika användbart") på (i) buffer-ringen med "Adress check for device XXX" som fel-påföljd. Borde det inte Simula ge "blanka den" i saker som läggs upp via Monitor Calls??? Hur skall man annars bära sig åt för att låta subrutinpaket bli tillgängliga för Simula??? (Efter en natt med felsökning blir man ganska irriterad över att simulas GC ger sig på ställen i minnet som man inte kunde drömma om (om man inte har mardrömmar) att den skulle. (Återkommer när lite av min ilska gått över)).
(119875) (kommentar i 119881)
(119881) 80-07-24 16:15 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119875: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Det finns LIBSIM-procedurer med vars hjälp du kan allokera buffertutrymme som SIMULA inte rör på, allokera I/O- kanaler som SIMULA inte rör på o.s.v. Sedan kan du själv använda detta buffertutrymme och dessa I/O-kanaler hur du själv vill. Du kan inte begära att SIMULA skall låta dina buffertar och kanaler vara i fred om du inte talat om för SIMULA vilka dessa buffertar och kanaler är, vilket du alltså gör med de ovan nämnda rutinerna. Jag vet inte vad de heter, men titta i DOC:SIMLH3.MAN kapitel 7, där borde de finnas beskrivna. (Just i detta ögonblick är DOC ej tillgängligt p.g.a. hårdvarufel.)
(119881) (kommentar i 119894, 120481)
(119894) 80-07-24 16:47 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :119881: Ärende: Anser GC att monitorn lägger ut skräp??? Problemet är att rutinerna skall vara run-time-systems oberoende!! Jag får inte förutsätta vilket RTS jag har. Dessutom om jag definierar entry-points till det RTS jag inte kör under (t ex fortran när jag kör från simula) finns dessa kvar när jag kör via detta RTS (fortran). Mao omöjligt med libsim-rutiner.
(119894) (kommentar i 119899, 119942, 119955)
(119899) 80-07-24 16:54 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119894: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Hur så? Poängen är att även om rutinerna är generella så måste SIMULA-systemet få reda på att viss del av minnet reserverats. Men det minskar väl knappast generaliteten hos dina rutiner?
(119899) (kommentar i 120160)
(119942) 80-07-24 19:14 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119894: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Det borde gå att lösa. T.ex. med en global variabel som talar om huruvida du kör under SIMULA samt dummyentrypunkter lika med SIMULA-s, som automatiskt laddas om du inte kör under SIMULA. Att alltid ladda med LIBSIM-rutinerna är nog ingen större nackdel, de är sannolikt inte stora.
(119942)
(119955) 80-07-24 20:49 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119894: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Enklast löser du problemet genom att i dina rutiner generera i/o-buffertarna (och se till att de laddas i lågsegmentet). /byt/generera/reservera plats (med BLOCK nnn)/
(119955) (kommentar i 120274)
(119970) 80-07-24 21:57 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119612: av Mats Ohlin Ärende: Texthantering. Men lägg då in SCAN12 i LIBSIM, och ändra den så att den läser från aktuell position hos trest, vilket jag tycker är naturligast. Håller gärna med om att det är svårigheter att hålla isär alla procedurer för att scanna - ett viktigt argument mot att införa proceduren getto. Varför har du förrestIn valt namnet SCAN12 på proceduren? Det är rysligt bra med namn, som gör att man förstår procedurens funktion utan att "läsa på".
(119970) (kommentar i 120123, 120248)
(119986) 80-07-24 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117227: av Jacob Palme FOA1 Ärende: Världens bästa språk för textbehandling Bra språk för textbehandling. Original: (1912) 80-07-21 14:04 PER DANIELSSON Ett bra språk som är bra för textbehandling ska ha de egenskaper som ett programmeringsspråk i allmänhet bör ha: bra struktur, snabb exekvering, lätt att lära, interaktivt, mm. Allt kan man förstås inte få på en gång, ett interaktivt språk interpreteras helst på bekostnad av snabbhet. Struktureringsmöjligheterna blir dessutom sämre i interpreterande språk (i alla fall de som jag känner till). En bra lösning är att göra som en del LisPar, interpretera under utveckling av programmet, och sedan kompilera. Tyvärr upfyller inte LisP alla de ovannämnda kraven. Det vore rätt kul om någon försökte sig på att göra en interpretator för blockstrukturerade språk, typ SIMULA eller PASCAL.
(119986) (kommentar i 120485, 120940)
(119988) 80-07-24 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :116216: av Bengt Lund-Jensen Ärende: REAL PROCEDURE som parameter till FORTRAN Original: (1984) 80-07-23 22:07 BJöRN DANIELSSON Är det inte så att anrop av vissa standardprocedurer, t.ex. "abs" använder olika funktioner beroende på om argumentet är INTEGER eller REAL (samma sak med "sin" om argumentet är REAL eller LONG REAL) ? Det funkar likadant i PL/I tror jag, med skillnaden att de verkliga funktionerna har egna namn, så att man kan komma åt dom direkt (för att skicka som parametrar t.ex.). I Algol 68 är "ABS" en operatorklass, och vilken operator som skall användas bestäms av argumentets datatyp (MODE). "sin" är en funktion och kan bara användas för REALs, men det finns även "long sin", "long long sin", o.s.v. Om man vill kan man själv enkelt deklarera en operatorklass "SIN". Och vill man skicka "ABS" som parameter så får man göra som i Simula, fast enklare, t.ex: myproc((INT dummy)INT: ABS dummy, other arguments)
(119988)
(119990) 80-07-24 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117850: av Lars-Åke Larsson Ärende: Fel i SIMULA ver 5? Original: (1986) 80-07-23 22:13 BJöRN DANIELSSON Jag tycker det är mest logiskt att tolka a:=b:=c som a:=(b:=(c)), d.v.s som i Lisp och Algol 68.
(119990) (kommentar i 120487)
(120123) 80-07-25 08:44 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119970: av Lars-Åke Larsson Ärende: Texthantering. Namn man förstår är nog bra,men min (rätt begränsade) erfarenhet av LIBSIM säger nog att man i alla fall är tvungen att läsa på varje gång man utnyttjar en procedur utöver de allra vanligaste. Annars gissar man fel på var pos hamnar,vad som händer vid error condition och allt sådant,vilket bara leder till en massa SIMDDT. Ex scanreal,som höll på att göra mig galen en gång. Den returnerar -maxreal om inget real finns i texten. Resultatet godtas av pro- grammet som just väntar sig ett real,och felavbott uppstår flera led senare pga arcsin (>1) . Måste det vara såhär?
(120123) (kommentar i 120127)
(120127) 80-07-25 08:49 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120123: av Björn Bergström Ärende: Texthantering. Tja, det är klart att det är lite jobbigt att hålla reda på alla procedurer, men som du säger så får man väl läsa på om man använder nån som man inte är säker på. För "måste det vara så här", säger du, det är väl just det som är vitsen, om man skulle få felavbrott direkt, skulle man ju lika bra använda Inreal eller Getreal, vitsen är ju just att man skall ta hand om viss felavkodning själv.
(120127) (kommentar i 120246, 120278)
(120160) 80-07-25 09:30 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119899: av Mats Ohlin Ärende: Anser GC att monitorn lägger ut skräp??? Hur talar man om för Simula att viss del av minnet reserverats så att om Fortran meddelas detsamma, fortran inte blir ilsket (fel i exkvering).
(120160) (kommentar i 121039)
(120170) 80-07-25 10:00 Lennart Borgman Mottagare: Lars Enderin FOA1. Mottaget: 80-07-28 09:22 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ZYQ217 Som den flitige felfinnare jag är , har jag just hittat något nytt. Jag är inte alls övertygad om att det är ett fel i Simula än , men jag skriver ändå till dig för ordningens skull. Jag körde alltså ett program, avslutade exekveringen av det. Därefter gjorde jag omedelbart START, vilket brukar gå bra. Denna gång icke så, utan jag fick ZYQ217 följt av ZYD645 i Simddt.
(120170) (kommentar i 120832)
(120246) 80-07-25 11:19 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120127: av Mats Wallin FOA1 Ärende: Texthantering. Felhantering i programvara som skall kunna användas av "vanligt folk" är en väldigt stor bit! F.ö. vad jag menade med procedurnamn vars funktion man förstår: Det är lättare att i efterhand läsa kod (speciellt sådan som någon annan skrivit) om man ser ungefär vad som händer med hjälp av lämpligt valda procedurnamn och variabelnamn.
(120246)
(120248) 80-07-25 11:31 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119970: av Lars-Åke Larsson Ärende: Texthantering. Förslag till bättre namn på SCAN12 mottages tacksamt. Om SCAN?? skall starta i t.Pos måste man ofta själv sätta t.Setpos(1) mellan anropen. T ex: t:- .... dev:- scan??(t,0,Rank(':')); ppn:- scan??(t,Rank('<'),-Rank('>')); t.Setpos(1); fil:- scan??(t,0,-Rank('.')); I stället för att skapa kopior att returnera kan man enkelt ge en (sub)ref. Men hur göra med "orginalet" (t)? Man kan alltid blanka det returnerade delfältet, men dessa blanka KAN ju ev ha någon signifikans. Alt. får man då flytta om i texten och returnera en subtext: t:- Copy("DEV:FIL.EXT"); fil:- scan??(t,Rank(:),Rank('.')); Nu pekar fil på ubtexten "FIL" och t då lämpligast (?) på en subtext till t ="DEVEX" med t.Main = "DEVEXT ". (medges att exemplet inte är spec praktiskt, men det gäller principen). Samt t.Pos = 4. Blir kanske bra så? En nackdel är att man i vissa fall inte får något kvar: t:- Copy("<13,201>"); ppn:- scan??(t,Rank('<'),-Rank('>')); med resultat t == NOTEXT. Kanske namnet kunde vara PICKUP (the text between C1 and C2)?
(120248) (kommentar i 121518)
(120250) 80-07-25 11:32 Stefan Arnborg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117696: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Erlang Funktionen Erlang i SIMULA är definierad i Common Base som den implementerats i IBM och DEC. Vid simuleringar uppträder faktiskt behov av att ha k icke heltal. Att tekniker hittar på nya namn på saker som sedan gammalt har etablerade namn inom matematiken är inget att göra åt. Matematikerna kan ju inte ändra sig utan att en massa gamla fina artiklar blir oläsliga.
(120250)
(120274) 80-07-25 12:22 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119955: av Tommy Ericson QZ Ärende: Anser GC att monitorn lägger ut skräp??? Ja, fast om du vill använda i/o kanaler måste du ändå kommunicera med SIMULA. En metod, som dock inte är 100%-säker, är att ta kanaler uppifrån och ned, alltså börja med kanal 15, eftersom SIMULA går nerifrån. Fast det kan då bli kollission om många kanaler allokeras.
(120274) (kommentar i 120339)
(120278) 80-07-25 12:24 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120127: av Mats Wallin FOA1 Ärende: Texthantering. Nej, med en väl genomtänkt logik för texthanteringen kan man klara sig med färre mer kraftfulla kommandon (rutiner) och slippa hålla reda på många olika rutiner. Men det går tyvärr inte att göra inom Simulas ram.
(120278)
(120339) 80-07-25 13:39 Bengt Lund-Jensen Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120274: av Jacob Palme FOA1 Ärende: Anser GC att monitorn lägger ut skräp??? Hur är det tänkt i framtiden när Simula börjar använda höga kanalnummer (16 och uppåt), kommer Simula då att fråga Monitorn om ledig kanal???? (Detta vore i så fall rätt praktiskt eftersom man då lättare skulle kunna skriva RTS-oberoende subrutiner. Risken är annars att stora subrutinpaket aldrig kan bli fullt tillgänliga från Simula!!!) (PS Höga kanalnummer är möjligt via FILOP.ar i nyare monitorversioner DS)
(120339) (kommentar i 120650, 120850)
(120481) 80-07-25 17:19 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119881: av Jacob Palme FOA1 Ärende: Anser GC att monitorn lägger ut skräp??? Varför kan man inte begära att SIMULA skall låta ens buffertar vara ifred. SIMULA vet väl vilket minne det allokerat själv. Endast detta skall väl utsättas för GC??
(120481) (kommentar i 120502)
(120485) 80-07-25 17:25 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119986: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling I Linköping finns ju PATHCAL.
(120485) (kommentar i 127950)
(120487) 80-07-25 17:26 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119990: av Överföring från NADJA Ärende: Fel i SIMULA ver 5? Logiskt kan hända. Men det är definierat i Common Base p.s.s. som i Algol, väl?
(120487) (kommentar i 120504)
(120502) 80-07-25 17:34 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120481: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Anser GC att monitorn lägger ut skräp??? Simula-program kan ju dynamiskt allokera mer minne. Och Simula är kodat så att den dynamiska minnesarean måste vara kontinuerlig. Om alltså någon allokerar utrymme omedelbart ovanför Simulas dynamiska pool, kan Simula inte expandera minnet. Däremot borde det inte vara alltför svårt att modifiera Simula så att man ger det en fix pool för dynamiska data och en fix pool för Simula-s egna i/o buffertar m.m. Därefter kan andra program få allokera eget minne, men då får man givetvis köravbrott om de fixa poolerna som Simula fått inte räcker till. Allmänt ger det också avsevärt högre körkostnader med QZ-s debiterings- algoritmer, där ju kostnaden är starkt beroende av allokerat minne.
(120502) (kommentar i 120856)
(120504) 80-07-25 17:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120487: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Fel i SIMULA ver 5? Både Common Base och Algolrapporter innehåller på denna punkt suddigt skrivna beskrivningar som inte verkar vara identiska.
(120504)
(120641) 80-07-26 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :102788: av Mats Wallin FOA1 Ärende: Breakoutimage SIMDDT på SIMSET-objekt mm Original: (2167) 80-07-26 15:42 JAN MICHAEL RYNNING Hmm? Det blir ju maskinberoende! Så här kan du göra: outtext ("ABC"); spacing (0); outimage; outtext ("XXX"); spacing (1); outimage; Parametern till spacing är ett heltal som anger hur många rader som ska matas fram vid varje efterföljande anrop av proceduren outimage.
(120641)
(120643) 80-07-26 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118799: av Lars-Åke Larsson Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. Original: (2169) 80-07-26 16:36 JAN MICHAEL RYNNING Det vore skönt om man kunde göra det, annars måste man ju lägga till utmatningssatser i källprogrammet, kompilera om och köra på nytt. Eller avlusa SIMULA-programmet med DDT ... Ett annat, liknande problem är att det inte går/gick att skriva ut vilket värde en procedur kommer att returnera. Om man har följande: INTEGER PROCEDURE proc (parameters); SPEC parameters; BEGIN calculations; proc := expression; calculations; END; så borde man få sätta brytpunkt/er i proceduren, och göra OUTPUT PROC för att få reda på vilket värde som ligger i den minnescell som innehåller det värde proceduren kommer att returnera.
(120643) (kommentar i 120815)
(120645) 80-07-26 22:41 Överföring från NADJA Mottagare: Lennart Pettersson NADA. Mottaget: 80-07-28 08:06 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119211: av Jacob Palme FOA1 Ärende: Nya VISTA. Original: (2171) 80-07-26 16:43 JAN MICHAEL RYNNING Och om man vill att CONTINUE ska fungera efter anropet EXIT (0), hur gör man då? Alltså, hur får man programmet att sätta tillbaka parametrar som passar för VISTA, om användaren går ur programmet med ^Z, EXIT-kommando eller liknande, och sedan ska kunna ge CONTINUE-kommando för att fortsätta exekveringen?
(120645) (kommentar i 120695)
(120648) 80-07-26 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119318: av Lennart Borgman LTH Ärende: INSPECT a DO INSPECT b DO OTHERWISE Original: (2173) 80-07-26 17:02 JAN MICHAEL RYNNING Nej, både A60 och S67 hanterar urvals- och repetitions- konstruktioner på ett MYCKET underligt sätt. Jag brukar lägga till extra, ofta onödiga BEGIN-END i dylika fall, för att slippa hålla reda på reglerna, som ingalunda är självklara, och för att slippa göra fel, som ofta tar lång tid att hitta. I programspråk, där man har ett ord som avslutar exempelvis IF-satsen, på samma sätt som IF inleder den, FI heter det i A68 och END_IF tror jag det heter i ADA, så uppstår aldrig sådana här problem. Jämför följande: IF IF bool 1 bool 1 THEN THEN IF IF bool 2 bool 2 THEN THEN serial 1 serial 1 ELSE FI serial 2 ELSE FI serial 2 FI FI Ingen som helst tveken om vart respektive ELSE hör!
(120648) (kommentar i 120698)
(120650) 80-07-26 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: MACRO(-10 -) erfarenhetsutbyte. Sändare: Jacob Palme FOA1 Kommentar till :120339: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Original: (2175) 80-07-26 17:28 JAN MICHAEL RYNNING Om man vill använda högre kanalnummer än 17 (20 och uppåt, inte 16 och uppåt), så måste man be monitorn att använda nästa lediga kanal, varvid man alltid får en oanvänd kanal. Så länge man inte releasar kanalen kan ingen korrekt skriven filhanteringsrutin råka få den kanalen av misstag. Efter alla dessa år har DEC gjort det möjligt för sina användare att utnyttja det faktum att monitorn håller reda på vilka kanaler som är lediga, så man slipper göra det själv. Så bortsett från att man måste skriva rutiner för att konvertera filnamnet till internformat, innan man kan öppna filen, bortsett från att man måste ha buffertringar och annan skit i minnet, som ska allokeras och deallokeras, bortsett från den dåliga felhanteringen och bortsett från en massa andra mer eller mindre viktiga saker, så börjar TOPS-10s filhantering faktiskt bli en liten, liten aning mer lik TOPS-20s/TENEXs.
(120650) (kommentar i 120701)
(120695) 80-07-27 09:57 Jacob Palme Mottagare: Lennart Pettersson NADA. Mottaget: 80-07-28 08:07 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120645: av Överföring från NADJA Ärende: Nya VISTA. Bra kommentar. Vi skall ordna en procedur för det också, VDCCIN, men jag tror inte det funkar ännu. Enda möjlighet som finns i dag är att göra NEW VISTA. Tanken är att VDCCIN skall göra följande åtgärder a) Spara gamla värden på TRMOPAR b) Ändra det som behöver ändras för VIDED/VISTA c) Sätta CONTROL-C-intercept VDCCOUT skall återställa TRMOPAR-na till deras värde vid ingång i VDCCIN. Vid CONTROL-C utförs VDCCOUT automatiskt. Vid CONTINUE efter CONTROL-C sätts TRMOP-arna åter som det passar VIDED/VISTA. Den som har egna EXIT(0)-utgångar får alltså skriva VDCCOUT; EXIT(0); VDCCIN; Kanske gör jag istället så att jag definierar en EXIT-procedur i VISTA! Denna procedur kan då också flytta cursorn till nedre högra hörnet före EXIT.
(120695)
(120698) 80-07-27 10:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120648: av Överföring från NADJA Ärende: INSPECT a DO INSPECT b DO OTHERWISE Tack! Logiskt är det sjävklart. Men det blir som med slutparenteserna i LISP - program får ofta långa sekvenser FI FI FI FI. Bästa tycker jag är om man kan låta programmeraren namnge ingångsparenteserna och sedan upprepa namnet på utgången. Ja - jag vet att labels inte är populärt, men det ger lättbegripliga program tycker jag. Alltså: IF huvudvillkor: bool1 THEN IF undervillkor: bool 2 THEN serial 1 ELSE(undervillkor) serial 2 FI(undervillkor) FI(huvudvillkor) Om användaren glömmer "FI(undervillkor)" kan man antingen ge en bra felutskrift eller också låta FI(huvudvillkor) implicera FI på inneslutna oavslutade parenteser. Orden "huvudvillkor" och "undervillkor" väljer givetvis användaren själv som passar hans tillämpning.
(120698) (kommentar i 120792, 122607)
(120758) 80-07-27 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118150: av Mats Ohlin Ärende: SIMDBM Original: (2205) 80-07-27 19:58 PER LINDBERG NADA Vad sägs om ett SIM: ?
(120758)
(120792) 80-07-28 08:17 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120698: av Jacob Palme FOA1 Ärende: INSPECT a DO INSPECT b DO OTHERWISE det börjar lukta jsp.
(120792)
(120802) 80-07-28 08:34 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Nytt VISTA-paket I samband med den nya terminalhanteringen bör program som använder Vista-paketet laddas om. Ny Libsim finns på Sys:
(120802) (kommentar i 120806)
(120806) 80-07-28 08:38 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120802: av Gunnar Lindell QZ Ärende: Nytt VISTA-paket Se för mer information inlägg 119211 !
(120806)
(120815) 80-07-28 08:56 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Kommentar till :120643: av Överföring från NADJA Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. SIMDDT-kommandot OUTPUT * visar även procedurens värde, så varför inte tillåta användaren att fråga explicit?
(120815) (kommentar i 120934)
(120836) 80-07-28 09:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :118944: av Mats Ohlin Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. "Thunken" innehåller bara retur- och omgivnings-information, inga värden. En thunk är en liten subrutin som i det generella fallet först räknar ut den "dynamiska adressen" för ett uttryck, en proceduridentifierare, switch, label etc och returnerar med denna adress i register, därefter räknar ut värden i register om ett värde behövs. (värden => ett värde). Om det bara vore bättre modulariserat i SIMDDT så att man lätt kunde räkna ut en adress för en kvantitet på ett standardiserat sätt, och lika standardiserat och enkelt få värdet, skulle det vara lätt att få ut värden och/eller adresser till namnparametrar av den enkla typen (variabler, value-parametrar eller konstanter), däremot inte för uttryck, array-element eller procedur-identifierare, naturligtvis inte heller för lägen.
(120836)
(120850) 80-07-28 10:24 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120339: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Den bästa lösningen vore om man (läs "jag") implementerade FUNCT. i SIMULA. Används av overlay handler och i 1022-interface bl a för att allokera och släppa i/o-kanaler och minne. Har tittat litet på det men kan knappast göra något före oktober i år. FUNCT. är beskriven i FORTRAN Ref. Man. Jag vore väldigt tacksam om någon annan, t ex på NADJA, försökte implementera FUNCT.
(120850)
(120856) 80-07-28 10:28 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120502: av Jacob Palme FOA1 Ärende: Anser GC att monitorn lägger ut skräp??? 1022 tar hänsyn till sådana krav hos t ex FOROTS vid samkörning. Om man gjorde ett SIMULA-interface till 1022, skulle man behöva implementera FUNCT. som håller reda på kanaler och minne. 1022 flyttar sig själv för att lämna plats för expansion av t ex FORTRANs minnesarea.
(120856)
(120832) 80-07-28 09:24 Lars Enderin Mottagare: Lennart Borgman LTH. Mottaget: 80-07-28 11:40 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :120170: Ärende: ZYQ217 Det verkar inte bra, men omöjligt att uttala sig om orsaken utan reproducerbart exempel.
(120832) (kommentar i 120905)
(120934) 80-07-28 12:52 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120815: av Tommy Ericson QZ Ärende: Göra Out i SIMDDT på Name-dekl. parametrar. SIMDDT är f n inte så högt prioriterat. Jag har bara en handfull arbetsdagar kvar före 1 sept (konferens i USA + sem sista två augusti-veckorna, huvudsakligen sem till dess). Dessutom har jag en tj.resa (DECUS) i september (15-19). SIMULA-releasen skall putsas (en preliminär release skall sändas ut nu, men TOPS-20-versionen är ännu ej testad och inarbetad), dokumentationen uppdateras (> 2 vkr arbete), etc, etc. Får se framåt okt-nov om jag får en andningspaus --- !
(120934)
(120940) 80-07-28 13:07 Martin Nilsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119986: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Vilket? Du får nog säga "somliga LISPar".
(120940) (kommentar i 120952)
(121039) 80-07-28 16:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120160: av Bengt Lund-Jensen Ärende: Anser GC att monitorn lägger ut skräp??? Det finns inget bra sätt jag kan komma på nu, utan att implementera FUNCT. i SIMULA.
(121039)
(121518) 80-07-29 18:10 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120248: av Mats Ohlin Ärende: Texthantering. Appropå namngivningsproblem, har jag nu flera gånger missat namnen initem/getitem, då jag i stället frrsökt med inword/getword. detta p.g.a att de svenska proc. heter inord/tagord. Tagelement el. tagenhet vore mer koncistent kanske.
(121518)
(121916) 80-07-30 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Konstigheter i Directfile ? Original: (2330) 80-07-30 04:52 PETER SVANBERG Efter en del användande av Directfile har jag märkt följande: 1) RTS klagar inte alltid på om man gör Locate(0) ! 2) LOCATION som man kan få ut i SIMDDT har det mest fantasifulla värden (112753 t.ex.), även sedan Locate(n) (n > 0) gjorts ! Dock hamnar den därefter utmatade texten på rätt ställe. Ska det vara så ? Jag har för mig att jag läst någonstans något om LOCATION men finns det någon som kan upprepa eller hänvisa ?
(121916) (kommentar i 121965, 123014, 123453)
(121918) 80-07-30 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Omkvalificering av NONE förbjudet Original: (2332) 80-07-30 05:27 PETER SVANBERG Varför får man inte göra såhär : BEGIN CLASS yttre; ; yttre CLASS inre; ; REF (yttre) yt; REF (inre) inr; ------> inr :- yt QUA inre; END; dvs. varför får man inte kvalificera om en REF-variabel då den == NONE ? (man får avbrott vid exekveringen). Detta förbud medför att man hellre låter bli att kvalificera om vid referens-tilldelningen och istället gör det när man ska använda "inr". Detta medför dock i sin tur att man får en uppsjö varningar för IMPLICIT QUALIFICATION CHECK vid kompileringen. Kommentarer ?
(121918) (kommentar i 122568)
(121965) 80-07-31 09:09 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :121916: av Överföring från NADJA Ärende: Konstigheter i Directfile ? En kommentar utanför din fråga: Om man vill upprätthålla någon form av flyttbarhet för sina program till annat Simula-system, t.ex. Univac-simula, så bör man inte göra LOCATE själv inne i programmen. Man bör använda en separat procedur för detta t.ex. denna: 00010 options(/e); 00055 EXTERNAL INTEGER PROCEDURE lastloc; 00100 BOOLEAN PROCEDURE locateandtrytoread(dirfil,loc); 00200 REF(Directfile) dirfil; INTEGER loc; 00900 INSPECT dirfil DO BEGIN 01000 IF loc > lastloc(dirfil) THEN GO TO exit; 01200 Locate(loc); Inimage; 01300 locateandtrytoread:= Image.Strip NE "/*"; exit: 01400 END; 01600 Comment: Never write "/*" into a record to "delete" it. 01700 This will not work on the univac system; 01800 01900 Comment 02000 I alla lägen där man inte vet om ett record är oskrivet eller 02100 om man kan träffa på Endfile, så skall man positionera sig 02200 med hjälp av ovanstående procedur. 02300 Man bör alltså inte göra Inimage och sedan testa på Endfile. 02400 Utan i stället: 02500 loc:=dirfil.Location 02600 while locateandtrytoread(dirfil,loc) do begin 02700 ... loc:=loc+1 02800 END 02900 oskrivetrecordellerendfile: 03000 ;
(121965)
(122226) 80-07-31 21:02 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Eval av aritmetiskt uttryck (algebraisk notation) Jag behöver en Klass (eller nått) som evaluerar strängar som innehåller aritmetiska uttryck. Den får gärna göra så att den först översätter till ett internformat för senare bruk (samma uttryck ska evalueras ett flertal gånger). Finns detta färdigt?? Vem har det i så fall??
(122226) (kommentar i 122240, 122358)
(122358) 80-08-01 11:25 Kalle Mäkilä Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122226: av Sören Tirfing Ärende: Eval av aritmetiskt uttryck (algebraisk notation) En variant av detta finns i programmet GEMIC på SCB. Möjligen på PPN 126,204. För aktuella uppgifter, ring Märit Leringe tel 140560 eller hör av dig till mig via KOM.
(122358)
(122561) 80-08-01 17:51 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119318: av Lennart Borgman LTH Ärende: INSPECT a DO INSPECT b DO OTHERWISE Skall detta läsas som INSPECT a DO BEGIN INSPECT b DO BEGIN END END OTHERWISE jag skulle vilja läsa det som INSPECT a DO BEGIN INSPECT b DO BEGIN END OTHERWISE BEGIN END END
(122561) (kommentar i 123999)
(122568) 80-08-01 17:58 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :121918: av Överföring från NADJA Ärende: Omkvalificering av NONE förbjudet Det hela är mer generellt än vad som beskrivits, man kan inte kvalificera ett object till en klass utanför den klass objektet är en instans av. Ur detta följer att NONE inte kan kvalificeras om då den tillhör en fiktiv klass som är inre till alla klasser. Jag undrar dock om det finns något sätt att skriva inr:- yt så att man slipper varningen.
(122568)
(122607) 80-08-01 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120698: av Jacob Palme FOA1 Ärende: INSPECT a DO INSPECT b DO OTHERWISE Original: (2450) 80-08-01 19:21 JAN MICHAEL RYNNING Eftersom det finns THEF och ELIF brukar man inte behöva nästa IF-satser så djupt i A68. "OD FI FI OD" är en mer representativ serie slutparanteser. I S67 skulle det antagligen bli "END END END END", eller kanske några END till. Att slutparanteserna har olika namn beroende på om de avslutar en urvals- eller repetitionskonstruktion gör programmet något mer lättläst, och minskar utan tvekan antalet oupptäckta nästningsfel, men en möjlighet att ge namn åt blocken skulle kanske ge ytterligare fördelar. Visserligen kan man skriva kommentarer nästan var som helst i de flesta blockstrukturerade språk, men om man tvingades göra det, kanske programmen skulle bli bättre kommenterade, och om kompilatorerna kollade om kommen- tarerna matchade, skulle de upptäcka fler fel. En för- utsättning är givetvis att man kan ha långa, beskrivande namn på blocken, åtminstone 20-30 tecken, så man inte bara skriver konstiga, svårbegripliga förkortningar som namn.
(122607) (kommentar i 123566)
(122711) 80-08-02 22:40 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: IF-FI DO-OD ETC. Original: (2491) 80-08-01 23:59 PER LINDQVIST Någonstans läste jag att satsparenteser (BEGIN END, etc.) var till för att få kompilatorn att inse vad man vill, och att indenteringen är till för att få människor att inse vad man vill. Själv har jag sällan probelem med felaktiga BEGIN-END, men det beror till stor del på att jag indenterar på ett speciellt sätt. Nämligen så att varje steg åt höger kräver en, och endast en stycken end för att av-indenteras. (Alltså slut på satsparentes). Annars är det mycket populärt att indentera av typen: IF allan=KAKA THEN IF I<K THEN BEGIN FOR i:=1 to 10 do begin satser.... . Hur många "end" som behövs för denna kodsekvens??? Tack vare "slösandet" av indenteringar så är strukturen på programmet förstörd, och man kan inte med en blick se det längre. Inte tror jag IF-FI DO-OD skulle göra saken bättre...
(122711) (kommentar i 122713, 122749)
(122713) 80-08-02 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122711: av Överföring från NADJA Ärende: IF-FI DO-OD ETC. Original: (2512) 80-08-02 15:49 JAN MICHAEL RYNNING Min erfarenhet är att det är enklare att få en snygg och konsekvent indentering i A68, som har riktiga slutparanteser, än i S67 och PASCAL, som saknar såna. Problemet i PASCAL och S67 är att man indenterar mellan BEGIN och END och inte mellan IF och det avslutande semikolonet. Indenteringsstrukturen för IF THEN ELSE FI i A68 är "( ! ! )", medan S67s och PASCALs motsvarande IF THEN BEGIN END ELSE BEGIN END har indenteringsstruktur "! ! ( ) ! ( )", som inte alls lika klart markerar att IF-konstruktionen är en sluten enhet. Om man bara har en sats efter THEN eller ELSE i S67 eller PASCAL, kan man utelämna BEGIN END, varvid indenteringsstrukturen ändras till "! ! ! ( )" exempelvis. Att indenteringsstrukturen skiljer sig, trots att programstrukturen är densamma upplever jag som en klar nackdel. Till sist ett litet exempel på indentering i A68. LOC REAL sum := 0; FOR index FROM UPB array BY - 1 TO LWB array WHILE LOC REAL x, y; get (input file, (x, y, new line)); x > 0 AND y > 0 DO IF x > y THEN sum +:= (array ÄindexÅ := x / y) ELSE array ÄindexÅ := 0 FI OD
(122713) (kommentar i 124001)
(122749) 80-08-03 09:00 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122711: av Överföring från NADJA Ärende: IF-FI DO-OD ETC. Jag instämmer. Jag indenterar också på samma vis. Förutom det skäl du anger så blir indenteringarna i mina program ofta djupa, vilket är ännu ett skäl att inte slösa med dem.
(122749) (kommentar i 127924)
(123014) 80-08-04 14:25 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :121916: av Överföring från NADJA Ärende: Konstigheter i Directfile ? Exempel, körbart och kort, önskas. LOCATION i SIMDDT kan ge värdet ur fel ord, skall kolla.
(123014) (kommentar i 123032)
(123032) 80-08-04 15:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123014: av Lars Enderin FOA1 Ärende: Konstigheter i Directfile ? Nej, det borde inte vara fel ord. I värsta fall ändras location-ordet på annat sätt än avsett. Exempel efterlyses!
(123032)
(123119) 80-08-04 19:42 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Checkpoint Finns det någon definition av den procedur checkpoint som har varit på förslag för att säkra bufferttömning i samband med directfiler. Tänkbar funktion: PROCEDURE checkpoint(dirfil); REF(Directfile) dirfil; INSPECT dirfil DO BEGIN TEXT t; t:-Image; Close; Open(t); END; På vissa system kunde man då säkerställa bufferttömningen utan att genomföra en explicit Close/Open som i exemplet ovan.
(123119) (kommentar i 123244)
(123244) 80-08-05 09:12 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123119: av Lars-Åke Larsson Ärende: Checkpoint Borde utökas med INTEGER actual_location; actual_location:= Location; Close; Open(t); Locate(actual_location);
(123244) (kommentar i 123338)
(123338) 80-08-05 12:50 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123244: av Tommy Ericson QZ Ärende: Checkpoint Ajajaj! Håller gärna med Tommy om att det vore en vettig definition. Men då är det viktigt att checkpoint realiseras på samma sätt på andra datorsystem, eftersom man annars kan få maffiga programfel pga att man kanske missar en Locate i samband med en överflyttning av program. Men namnet CHECKPOINT kom ju upp i ett förslag för några år sedan. Vet ingen något om innehållet i detta förslag f.ö.?
(123338)
(123453) 80-08-05 16:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :121916: av Överföring från NADJA Ärende: Konstigheter i Directfile ? Jag har nu hittat ett fel i Directfile, som gav denna stora Location. Ny SIMR51.EXE, SIMHGH.REL och SIMRPA.UNV finns på NEWD: f v b till SYS:, REL:, resp UNV:
(123453) (kommentar i 123456, 123472, 123532)
(123456) 80-08-05 16:55 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123453: av Lars Enderin FOA1 Ärende: Konstigheter i Directfile ? Även LIBSIM-proceduren OUTPUT berörs, kommer snart att ändras.
(123456)
(123472) 80-08-05 17:25 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :123453: av Lars Enderin FOA1 Ärende: Konstigheter i Directfile ? Nya versioner av SYS:SIMR51.EXE, REL:SIMHGH.REL samt UNV:SIMRPA.UNV upplagda på DEC-10 vid QZ. Även QZ:s DEC-2020-or ADB och NADJA uppdaterade.
(123472)
(123532) 80-08-05 21:41 Peter Svanberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123453: av Lars Enderin FOA1 Ärende: Konstigheter i Directfile ? Hur va det med kontroll av Locate(n) då n <= 0 ? Ska den göra det ?
(123532) (kommentar i 123534)
(123534) 80-08-05 21:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123532: av Peter Svanberg Ärende: Konstigheter i Directfile ? Det finns inget krav att parametern skall vara > 0. ENDFILE återställes inte om det är satt, och man lär få ENDFILE vid OUT-/INIMAGE om man föst gör Locate(n) med n >= 0. (föst=>först)
(123534)
(123566) 80-08-05 23:41 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122607: av Överföring från NADJA Ärende: INSPECT a DO INSPECT b DO OTHERWISE Original: (2712) 80-08-05 09:54 CARL GUSTAF JANSSON Har som prog standard att alltid skriva end of if,end of while,end of proc something etc Vore trevligt om tex SIMED som option stödde någon form av sådan konvention. vilk
(123566) (kommentar i 123827, 127926)
(123827) 80-08-06 15:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123566: av Överföring från ADB Ärende: INSPECT a DO INSPECT b DO OTHERWISE Jag tycker till och med att SIMULA-kompilatorn borde ha en option som kollade någon sådan konvention för end-kommentarer.
(123827)
(123999) 80-08-06 19:45 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122561: av Anders Ström SSRC Ärende: INSPECT a DO INSPECT b DO OTHERWISE Jag oxå! Är det inte så SIMULA tolkar det?
(123999)
(124001) 80-08-06 19:50 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122713: av Överföring från NADJA Ärende: IF-FI DO-OD ETC. Min stil i S67 skulle vara: FOR foo:=lo STEP 1 UNTIL hi DO BEGIN bar; IF zyq=1 THEN kaka; IF allan THEN BEGIN hack; hack END ELSE osv END
(124001) (kommentar i 124051)
(124051) 80-08-06 20:58 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124001: av Lars-Henrik Eriksson ADB-Uppsala Ärende: IF-FI DO-OD ETC. Det ser ju inte ut som jag skriver det, det skulle mer likna: FOR foo:=lo STEP 1 UNTIL hi DO BEGIN bar; IF zyq=1 THEN kaka; IF allan THEN BEGIN hack; hack; END ELSE osv END
(124051) (kommentar i 124083, 124359)
(124083) 80-08-06 21:40 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124051: av Anders Ström SSRC Ärende: IF-FI DO-OD ETC. Ahh, som jag. (BEGIN sist)
(124083) (kommentar i 124159, 124165)
(124159) 80-08-07 09:30 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124083: av Mats Wallin FOA1 Ärende: IF-FI DO-OD ETC. Samma här. Med programmet NICE kan man få fler indenteringar än med SIMED, t.ex. vid FOR-satser m.m., HELP NICE!
(124159) (kommentar i 127930)
(124165) 80-08-07 09:37 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124083: av Mats Wallin FOA1 Ärende: IF-FI DO-OD ETC. Det där med BEGIN sist som i 124051 har jag lärt mig av Mats Wallin och använder nu alltid. Det sparar rader och gör att jag kan se mer av mitt program på en gång på skärmens 24 rader när jag editerar källprogrammet med VIDED.
(124165)
(124359) 80-08-07 14:12 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124051: av Anders Ström SSRC Ärende: IF-FI DO-OD ETC. Jo, så skriver nog de flesta, men jag vill ha matchande BEGIN-END under varandra.
(124359) (kommentar i 124377, 194277)
(124377) 80-08-07 14:30 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124359: av Lars-Henrik Eriksson ADB-Uppsala Ärende: IF-FI DO-OD ETC. För att min indentering skall fungera bra så bör man nog ha en formatterare tillgänglig för att få blockstrukturen korrekt. SIMED brukar formattera precis som jag vill ha det.
(124377) (kommentar i 124451)
(124399) 80-08-07 14:38 Nils-Bertil Ericsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ENQUEUE/DEQUEUE Är det någon som har provat dessa monitor calls för att få multiuseracess på filer i SIMULA.
(124399) (kommentar i 124425, 124431, 124469)
(124425) 80-08-07 15:06 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124399: av Nils-Bertil Ericsson Ärende: ENQUEUE/DEQUEUE Ja, jag har prövat det och det fungerar alldeles förträffligt. I det aktuella fallet används Enq/Deq för att köa access till enskilda block inom filen; io'n görs i dump-mode och sköts av några enkla Macro-10 rutiner. I sammanhanget kan nämnas att även möjligheten att "trappa" (via Pisys.) när ett "enq" blir tillgängligt användes.
(124425)
(124451) 80-08-07 15:19 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124377: av Anders Ström SSRC Ärende: IF-FI DO-OD ETC. simed har en nackdel: man kan vilja ha en if-konstruktion utan sammansatta satser a' la IF allan THEN kaka ELSE hack; t.ex. om kaka/hack är långa. för att få något liknande har jag just prövat nice, men där får man då i gengäld 6 pos:s indentering efter THEN BEGIN. man får nog bekväma sig till att korrigera sådant själv.
(124451)
(124469) 80-08-07 15:27 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124399: av Nils-Bertil Ericsson Ärende: ENQUEUE/DEQUEUE Att få från SIMULA anropbara ENQUEUE/DEQUEUE-rutiner samt CHECKPOINT är av hög prioritet tycker jag. Sedan kan vi börja programmera t.ex. DECWAR-liknande program i SIMULA!!!
(124469) (kommentar i 124477)
(124477) 80-08-07 15:30 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124469: av Jacob Palme FOA1 Ärende: ENQUEUE/DEQUEUE För att göra DECWAR skulle jag hellre använda mig av IPCF. Men för att göra KOM skulle jag använda båda faciliteterna.
(124477) (kommentar i 124487)
(124487) 80-08-07 15:36 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: TEQ arkiv. Sändare: Tommy Ericson QZ Kommentar till :124477: av Tommy Ericson QZ Ärende: ENQUEUE/DEQUEUE Lars Enderin har prövat lite med att göra SIMULA-rutiner för anrop av IPCF. Om jag minns rätt var det problem, ety IPCF-hanteraren i monitorn var väldigt känslig och kraschade så fort den fick något den inte kände igen, och att han hade svårt få fram info om hur godkända IPCF borde se ut.
(124487) (kommentar i 127928)
(124803) 80-08-08 14:26 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Normalfördelningens distributionsfunktion Är det någon som har en sådan till övers, jag har inte hittat att det skulle finnas i Simula systemet.
(124803) (kommentar i 129061, 131618)
(125042) 80-08-11 09:01 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: TRMOP Kan man sätta TTY NOZQ med trmop i ett SIMULA-program? Vilken kod skall det i så fall vara?
(125042) (kommentar i 125083)
(125083) 80-08-11 10:10 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :125042: av Göran Lyman Ärende: TRMOP Libsim-proceduren Xtrmop(Funcod,Udx,Val) används lämpligen, där funcod=8R1776 för ZQ (8R1777 för QZ), Val = 0 för att stänga av ZQ, Udx är universal device index för terminalen, fås med Iondx(Sysout) om det gäller egen terminal.
(125083)
(126589) 80-08-15 13:34 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: COMMON BASE Vad säger CB om ordningen vid utvärdering av ett uttryck som nedanstående: WHILE bol1 and bol2 or bol3 DO.... utvärderas de i ordning 1,2,3 eller är det fritt fram vid implementationen att bestämma ordningen?
(126589) (kommentar i 126595)
(126595) 80-08-15 13:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :126589: av Göran Lyman Ärende: COMMON BASE Detta behandlas INTE i CB, utan man får gå till Algol 60 Revised Report, där jag ur mitt exemplar (använt som referens vid implementeringen av både IBM/Amdahl-SIMULA och DEC-10 SIMULA) anser mig läsa ut att utvärderingen skall ske strikt vänster-höger m h t parenteser och prioritet, vilket också är regeln i dessa SIMULA-system. Den förra UNIVAC-kompilatorn (den första) optimerade boolska uttryck i detta fall så att alla termer inte alltid utvärderades, men den senaste är strikt.
(126595) (kommentar i 135059)
(127057) 80-08-18 12:25 Anders Övergaard Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Plottning Jag skuule vilja plotta mina resultat- filer på QZ:s plotter (ibland flera på samma bild). Finns det någon färdig Simula procedur eller program för detta? Svara till Anders Övergaard via KOM eller tel: 679590 ank 274 Snälla Det brådskar!
(127057) (kommentar i 127069, 127107, 127848)
(127107) 80-08-18 13:39 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127057: av Göran Hagert Ärende: Plottning Titta på DOC:TXPLOT.MAN
(127107)
(127182) 80-08-18 15:16 LennartS Månsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Får ett tal se ut hur som helst ? Betrakta följande program : BEGIN INTEGER i; REAL x; i := 123 456; Outint(i,10);Outimage; x := 1 . 2 3 & - 5 ; Outreal(x,2,10);Outimage; END; Programmet fungerar utmärkt och ger i = 123456 x = 1.2&-5 Ska det vara så och i så fall var i CB eller ALGOL-60-def står det att så är fallet. Jag har tittat i Revised Report on the Algoritmic Language ALGOL 60. Som finns med som appendix i Ekman Fröbergs ALGOL-bok och där kan jag inte hitta något.
(127182) (kommentar i 127188)
(127188) 80-08-18 15:28 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127182: av Lennart Månsson FOA2 Ärende: Får ett tal se ut hur som helst ? I ALGOL-rapporten står det klart definierat att blanka och radslut är fullständigt insignifikanta i ALGOL-program (utom i strängar). Detta står förstås inte speciellt påpekat för tal, antagligen var det därför du inte hittade det. I många ALGOL och SIMULA-system har man valt att låta blanka vara signifikanta inuti identifierare, detta för att slippa använda specialkonstruktioner för reserverade ord. Inom tal finns dock ingen anledning att förbjuda blanka.
(127188) (kommentar i 127234, 127246)
(127234) 80-08-18 16:36 LennartS Månsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127188: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Får ett tal se ut hur som helst ? Aha ! Tack så mycket.
(127234)
(127246) 80-08-18 16:56 Anders Ström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127188: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Får ett tal se ut hur som helst ? Dessutom har man låtit en mängd specialsymboler representeras av reserverade identifierare. "BEGIN" i Algol rapporten var en speciell symbol (ett tecken) och skild från identifieraren BEGIN som består av fem symboler. Blanktecken ingår inte i mängden av symboler för Algol.
(127246)
(127538) 80-08-20 10:58 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Direktfiler. Jag misstänker problem med bufferttömningen i direktfiler. Har dock inte lyckats isolera problemet. Har någon annan haft problem? (Jag kanske är ute och "cyklar".)
(127538)
(127573) 80-08-20 12:19 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Enderin FOA1. Mottaget: 80-09-02 10:58 Ärende: Fel i direktfils-hanteringen. Följande program lämnar resultat som jag inte väntar mig: BEGIN EXTERNAL BOOLEAN PROCEDURE scratchfile; BEGIN REF(Directfile) dirfil; INTEGER i; scratchfile("dir.dct"); dirfil:-NEW Directfile("dir.dct"); dirfil.Open(Blanks(71)); dirfil.Outchar('P'); dirfil.Locate(1); dirfil.Outimage; dirfil.Locate(11); dirfil.Outtext("För Location 11"); dirfil.Outimage; dirfil.Locate(1); dirfil.Inimage; WHILE NOT dirfil.Endfile DO BEGIN i:=i+1; Outint(i,3); Outchar(':'); Outtext(dirfil.Image.Strip); Outimage; dirfil.Inimage; END; dirfil.Close; END; END; Resultat: 1:P 2:/* 3:/* 4:/* 5:/* 6:/* 7:/* 8:/* 9:/* 10:/* 11:/* End of SIMULA program execution. Kommentar: Om man i stället för Locate(11) gör Locate på ett värde som ÄR MINDRE ÄN 10 så skrivs den sista raden verkligen ut. Värden >=10 ger alltså det fel som visas ovan.
(127573) (kommentar i 135436)
(127575) 80-08-20 12:20 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Fel i Direktfils-hanteringen. Även följande program fungerar på ett sätt som jag inte väntade mig. Skillnaden mot föregående är väsentligen en Close-operation före genomläsningen av filen. BEGIN EXTERNAL BOOLEAN PROCEDURE scratchfile; BEGIN REF(Directfile) dirfil; INTEGER i; scratchfile("dir.dct"); dirfil:-NEW Directfile("dir.dct"); dirfil.Open(Blanks(71)); dirfil.Outchar('P'); dirfil.Locate(1); dirfil.Outimage; dirfil.Locate(11); dirfil.Outtext("För Location 11"); dirfil.Outimage; dirfil.Close; dirfil.Open(Blanks(71)); dirfil.Inimage; WHILE NOT dirfil.Endfile DO BEGIN i:=i+1; Outint(i,3); Outchar(':'); Outtext(dirfil.Image.Strip); Outimage; dirfil.Inimage; END; dirfil.Close; END; END; Resultat: 1:P 2:/* 3:/* 4:/* 5:/* 6:/* 7:/* 8:/* 9:/* 10:/* 11:/* 12:/* 13:/* 14:/* 15:/* 16:/* 17:/* 18:För Location 11 19: 20:/* 21:/* 22:/* 23:/* 24:/* 25:/* End of SIMULA program execution. Kommentar: Den dubbla radframmatningen visar sig bero på att en dirfil.Image innehåller en massa icke skrivbara tecken. (NULL-tecken?).
(127575) (kommentar i 127808, 127812, 129421)
(127581) 80-08-20 12:22 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Enderin FOA1. Mottaget: 80-09-02 10:58 Ärende: Äldre Simula-system. Finns det någon äldre variant av Simula-systemet som kunde tänkas fungera bättre än nuvarande vad avser direktfils- hanteringen? Måste man gå tillbaks till gamla kompilatorn då, med dess krav på "onödiga" external-deklarationer?
(127581) (kommentar i 129431)
(127658) 80-08-20 13:34 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Fel i direktfilshanteringen. Det förefaller som att ett sätt att gå runt det fel jag har rapporterat ovan, är att skriva långt in på direktfilen när den skapas. T.ex. Procedure skapa_direktfil(filnamn); Text filnamn; BEGIN INSPECT NEW Directfile(filnamn) DO BEGIN Open(blanks(80)); Locate(200); Outimage; Close; END; END; (förlåt "layouten" - jag brukar inte skriva så.)
(127658)
(127808) 80-08-20 16:38 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127575: av Lars-Åke Larsson Ärende: Fel i Direktfils-hanteringen. Varför ha du recordstorlek 71? Jag har alltid trott att den måste (bör?) vara två mindre än en multipel av fem (=tecken/ord), t.ex. sjuttiotre. (felet finns kvar även med den längden.) /byt/record/post/ svenska skareva
(127808) (kommentar i 127816)
(127812) 80-08-20 16:42 Peter Svanberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Enderin FOA1. Mottaget: 80-09-02 10:59 Kommentar till :127575: av Lars-Åke Larsson Ärende: Fel i Direktfils-hanteringen. Urk, vilket läskigt fel du har hittat! Jag har testat lite och kommit fram till följande: 1) De två programmen i inlägg 127573 resp -575 ger (förstås) samma fil som resultat. Antagligen är det så att det så länge filen är öppnad finns lagrat någonstans vilken record som skrevs på sist, men att det försvinner när man gör Close. 2) Det verkar som det är när man går över block-gränsen med skrivning nummer 2 som det blir fel: 9:onde recorden får (delvis) plats på block 1 men inte 10:onde och då hoppar programmet över hela block 2 och skriver i början av block 3 istället, vilket sedan uppfattas som att det står på record 18 ! (Det blir andra rec-värden om man har annan Imagesize.) 3) Det blir inte nån skillnad om använder någon av de gamla kompila- torerna på OLD:. 4) Den extra radframmatningen skulle kunna bero på att programmet har skrivit/läser helt fel i filen så att det blir en <RT><LF> mitt i en record, för det finns i övrigt bara NULL i filen och det ska ju inte märkas på terminalen.
(127812) (kommentar i 129436)
(127816) 80-08-20 16:48 Peter Svanberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127808: av Tommy Ericson QZ Ärende: Fel i Direktfils-hanteringen. Nej, men det fylls ut (med NULL) så att ett record = ett helt antal ord. Däremot har jag fått lära mig att records inte skrivs över block-gränser utan att det bara är ett helt antal records i varje block, men det är tydligen inte sant.
(127816)
(127924) 80-08-20 22:53 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :122749: av Jacob Palme FOA1 Ärende: IF-FI DO-OD ETC. Original: (3023) 80-08-09 15:47 JAN MICHAEL RYNNING Mina indenteringar också. Det är därför jag indenterar två kolumner per steg i stället för fyra som är standard.
(127924)
(127926) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :123566: av Överföring från ADB Ärende: INSPECT a DO INSPECT b DO OTHERWISE Original: (3027) 80-08-09 16:06 JAN MICHAEL RYNNING Jag brukar nöja mig med "END OF PROCEDURE simsalabim", "END OF simset" och "END OF PROGRAM". Programmet blir så grötigt annars. Men i princip håller jag med dig. Det vore bra om SIMED som option kunde kolla denna typ av kommentarer och även ändra till små och stora bokstäver på lämpligt sätt.
(127926)
(127928) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Enderin FOA1. Mottaget: 80-09-02 10:59 Kommentar till :124487: av Jacob Palme FOA1 Ärende: ENQUEUE/DEQUEUE Original: (3033) 80-08-09 16:12 JAN MICHAEL RYNNING Ähä? Kan IPCFfunktionerna krascha TOPS-10? Skulle inte förvåna mig det minsta. Säg till om det är så så slipper jag få otrevliga bieffekter om jag får för mig att prova hur de funkar.
(127928) (kommentar i 129447)
(127930) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124159: av Tommy Ericson QZ Ärende: IF-FI DO-OD ETC. Original: (3047) 80-08-09 17:18 JAN MICHAEL RYNNING %HLPNIO No info on "NICE" får man på NADJA. Kan du flytta över NICE och tillgänglig dokumentation?
(127930) (kommentar i 127936)
(127932) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :97894: av Mats Ohlin Ärende: GETFIL Original: (3049) 80-08-09 17:48 TOMAS RUDEN Finns GT.SIM på NADJA ? Jag kan inte hitta den där.
(127932) (kommentar i 127934)
(127934) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127932: av Överföring från NADJA Ärende: GETFIL Original: (3073) 80-08-10 14:57 SVEN OLOFSSON QZ Utveckling av Simula-systemet sker endast på QZ:s DEC-10-system. Det gäller speciellt filer under projekt 13 som det ibland refereras till.
(127934)
(127936) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127930: av Överföring från NADJA Ärende: IF-FI DO-OD ETC. Original: (3075) 80-08-10 15:08 SVEN OLOFSSON QZ Programmet NICE (vidareutveckling av SIMED) finns nu även tillgänglig på DEC-2020-systemen NADJA och ADB. "HELP NICE" ger information om tillgängliga switchar. DOC:NICE.MEM ger utförligare beskrivning.
(127936)
(127938) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CALLMIC Original: (3079) 80-08-10 16:28 TOMAS RUDEN Jag har fösökt använda proceduren callmic i program som körs från ett sfd men jag har råkat ut för underliga saker. Jag kan numera inte skapa filer i det SFD't som jag körde programmet från. Programmet ser ut som följer: * 00100 EXTERNAL INTEGER PROCEDURE callmic; 00200 BEGIN 00300 TEXT micfile; 00400 micfile:-Copy("TMPA.MIC"); 00500 INSPECT NEW Outfile(micfile) DO BEGIN 00600 Open(Blanks(80)); 00700 Outtext(".SILENCE"); Outimage; 00800 Outtext(".DIR GRAF=*.GRF/F/W:15"); Outimage; 00900 Close; 01000 END; 01100 01200 Outint(callmic(micfile,"sav.tmp"),3); 01300 END; * Nu undrar jag om det är fel på callmic eller om jag har gjort något fel.
(127938) (kommentar i 127940)
(127940) 80-08-20 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127938: av Överföring från NADJA Ärende: CALLMIC Original: (3091) 80-08-10 21:36 SVEN OLOFSSON QZ Att du inte kan skapa filer i ditt SFD beror på att det har felaktig skyddskod.
(127940) (kommentar i 127942)
(127942) 80-08-20 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127940: av Överföring från NADJA Ärende: CALLMIC Original: (3093) 80-08-10 22:11 ANDERS HILLBO Det verkar faktiskt inte så, både UFD och SFD har <775>. Dessutom har Anders Lansner råkat ut för detta i samband med CALLMIC ett flertal ggr, säger han. Den error man får är ENTER error 26, vilken har ett något kryptiskt förklaring. Det verkar i alla fall som en eller annan bit är fel satta. (No-create och write-lock biten) Den enda CALLMIC gör som kan vara supect är att cleara MIC-status bits med .TOCLR Däremot gör ju den en SAVE och den kanske gör en del saker.
(127942) (kommentar i 127944, 128518)
(127944) 80-08-20 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127942: av Överföring från NADJA Ärende: CALLMIC Original: (3095) 80-08-10 22:29 SVEN OLOFSSON QZ Filen NADJA_DSKC:GRAFF.SFD<114,364> har ivarjefall skyddskod 055. (Enligt KOM STATUS använder den frågande det PPN-et.)
(127944) (kommentar i 127946)
(127946) 80-08-20 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127944: av Överföring från NADJA Ärende: CALLMIC Original: (3099) 80-08-11 09:23 ANDERS HILLBO Vad jag såg så var det (NADJA)DSKB:GRAF2.SFD<114,364>, som det gällde. Men Anders Lansner säger att han har flera obrukbara SFD:er, så fråga honom.
(127946) (kommentar i 127948)
(127948) 80-08-20 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127946: av Överföring från NADJA Ärende: CALLMIC Original: (3171) 80-08-13 13:42 TOMAS RUDEN Mitt SFD DSKB:GRAF.SFD som problemet uppträdde påhade helt skyst skyddskod. Däremot DSKC:GRAFF.SFD skapades med fel sydds- kod av misstag när jag undrade vad som hade hänt. Nu på tisdagen har problemet med GRAF.SFD försvunnit men jag kan fortfarande inte vare sig ta bort eller proteckta om DSKC:GRAFF.SFD . Det verkar som om PIP inte kan påverka mina SFD-filer.
(127948)
(127950) 80-08-20 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :120485: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Världens bästa språk för textbehandling PATHCAL Original: (3201) 80-08-14 16:04 PER DANIELSSON Vad är det?
(127950) (kommentar i 128416)
(128343) 80-08-21 15:00 Anders Hillbo Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Matchning. Förljande program accepteras av SIMULA: EXTERNAL PROCEDURE exit; BEGIN PROCEDURE a; BEGIN END; Det borde det väl ändå inte göra? Det utelämmnade ENDet är ju i och för sig inte viktigt för programmets (synnerligen viktiga) funktion, men syntaktiskt måste det väl vara fel. (Givetvis var det inte i det här programmet jag upptäckte det här utan i ett större, men jag renodlade...)
(128343)
(128416) 80-08-21 16:46 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127950: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling En interaktiv PASCAL-interpretator baserad på INTERLisp, gjord i Linköping. Debug- och programutvecklingsfaciliteterna är visst VÄLDIGT LISP-inspirerade.
(128416) (kommentar i 129198)
(128518) 80-08-21 20:41 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127942: av Överföring från NADJA Ärende: CALLMIC Jag har en del trassel med ett av mina SFD'er (på LIDAC detta är ren info), jag får oxå error 26. Jag har inte använt CALLMIC. Däremot massor av micar (och MICI).
(128518)
(129061) 80-08-22 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124803: av Anders Ström SSRC Ärende: Normalfördelningens distributionsfunktion Original: (3709) 80-08-22 02:43 PER LINDBERG NADA Det är inte systemfunktionen NORMAL(M,S,U); Du är ute efter?
(129061)
(129198) 80-08-23 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :128416: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Världens bästa språk för textbehandling PATHCAL Original: (3840) 80-08-22 23:14 PER LINDQVIST Varfoer goera en PASCAL-interpretator om LISP aer det baesta programmeringsspraaket?
(129198) (kommentar i 129337)
(129243) 80-08-24 01:59 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: External proc. ERRMSG Har akkurat oppdaget en bug i denne TEXT parameteren bör alltid ende med !0! (binär null) hvis ikke vil man som regel få ut mer text enn man trodde hvis programmet får en runtime feil Titta på BUG.SIM på <11,4744> og pröv å kjör det
(129243) (kommentar i 135157)
(129337) 80-08-24 12:03 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129198: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Fråga LiTH-folket!
(129337)
(129431) 80-08-24 15:05 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Enderin FOA1. Mottaget: 80-09-02 10:59 Kommentar till :127581: av Lars-Åke Larsson Ärende: Äldre Simula-system. Du kan väl pröva att kompilera ditt testprogram med .R OLDE:SIMULA eller med .R OLD:SIMULA (ger två olika äldre simula-system) och pröva om det fungerar bättre med dem.) Lars Enderin är tillbaka om en vecka från semestern, då kan han ge mera besked.
(129431) (kommentar i 129882)
(129436) 80-08-24 15:09 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :127812: av Peter Svanberg Ärende: Fel i Direktfils-hanteringen. Skönt att felen fanns även i gamla systemet. Det är alltid extra obehagligt om något gammalt inte längre funkar som det gjorde förut. Eftersom felet inte upptäckts på länge måste det vara något som händer ganska sällan. Själv brukar jag, med kunskap om att det är 640 tecken/block i DEC-10, sätta mina SIMULA direct-filers recordstorlek så att mod(recordstorlek+2,640) = 0.
(129436) (kommentar i 129733, 130298, 135171)
(129757) 80-08-25 09:07 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INTEGER PROCEDURE Output Är det någon som vet om ovanstående procedur är rättad? Lars Enderin skrev ett inlägg om att det skulle vara ett litet fel i Output.
(129757)
(129882) 80-08-25 11:04 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129431: av Jacob Palme FOA1 Ärende: Äldre Simula-system. För att förenkla tester med gamla kompilatorer kan du enklast göra monitorkommandot PATH SYS:=OLDE:,SYS: och sedan köra som vanligt. SET Watch Version kan vara bra för att kolla att inga andra gamla program dyker upp. ("PAth SYS:=" samt "SET Watch NO Version" återställer)
(129882) (kommentar i 132090, 135199)
(130298) 80-08-25 18:07 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129436: av Jacob Palme FOA1 Ärende: Fel i Direktfils-hanteringen. Peter Stendahl har påpekat för mig att det nog bör vara "mod(recordstorlek+2,640) = 0 OR mod(640,recordstorlek+2) = 0".
(130298)
(130751) 80-08-26 11:37 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Blockstrukturen? Vi har följande prefixkedja: Simset CLASS Simino;; Simino CLASS kdisem;; kdisem CLASS ioisem;; ioisem CLASS usisem;; Dessa klasser är externdeklarerade. Huvudprogrammet har denna struktur: BEGIN EXT.... usisem BEGIN CLASS a; BEGIN REF(Head) h; END; Link CLASS b;; END; END of program; Kan någon tala om varför Link och Head ej är definierade?
(130751) (kommentar i 130878)
(130878) 80-08-26 13:50 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :130751: av Lennart Borgman LTH Ärende: Blockstrukturen? Hur är det med HIDDEN PROTECTED ?
(130878) (kommentar i 130941)
(130941) 80-08-26 14:49 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :130878: av Magnus Karlson ADB/SU Ärende: Blockstrukturen? Tack ska du ha. Vi hade just hittat felet och det var det du föreslog. Attributen i Simset och Simulation är ju av outgrundlig anledning skyddade med PROTECT, så att man kan få dem att försvinna. Jag tycker nog att det är lite onödigt att dessa namn, som väl ingen använder till något annat, ska kunna skyddas.
(130941) (kommentar i 130955, 131313)
(130955) 80-08-26 15:25 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :130941: av Lennart Borgman LTH Ärende: Blockstrukturen? Exakt hur blev de skyddade (av misstag)?
(130955) (kommentar i 131947, 132112)
(131313) 80-08-27 00:36 Peter Svanberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :130941: av Lennart Borgman LTH Ärende: Blockstrukturen? Instämmer fullständigt i att Simset INTE borde vara PROTECTad. I ett ganska stort programsystem som jag (och några till) jobbar med har vi måst använda ZIMSET istället, vilket (väl ?) är betydligt långsammare och programförstorande.
(131313) (kommentar i 131588)
(131588) 80-08-27 13:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :131313: av Peter Svanberg Ärende: Blockstrukturen? Känner någon till vad SIMULA STANDARDS GROUP/SIMULA DEVELOPMENT GROUP ev. beslutat ifråga om huruvida SIMSET-attributen skall vara protected?
(131588) (kommentar i 135063)
(131618) 80-08-27 14:25 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124803: av Anders Ström SSRC Ärende: Normalfördelningens distributionsfunktion Det finns ingen, du får ta en från lämpligt bibliotek, (tex IMSL) och gör en externSIMULAdummy. (Jag tror den heter ERF eller DERF eller nåt i IMSL):
(131618)
(131947) 80-08-27 20:49 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :130955: av Lars-Åke Larsson Ärende: PROTECTED Head, Link, Linkage; I mina externdeklarerade klasser har jag ofta en lista över de variabler jag vill kunnna se i subklasser, alltså: NOT HIDDEN var1,var2, ... ; Endast variabler som är är deklarerade PROTECTED berörs av denna lista, övriga variabler är synliga på normalt sätt. Eftersom man inte i sin vildaste fantasi kan föreställa sig en tillämpning där det vore meningsfullt att skydda namnen Head, Link och Linkage från förväxling, så är det svårt att komma ihåg att möjligheten finns. Jag kan inte tänka mig att den kommer till användning annat än genom misstag.
(131947) (kommentar i 135061)
(131949) 80-08-27 21:16 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Blocknivån och externdeklarerade klasser. En av de ur SIMULA-programmerarens synpunkt mer irriterande egenskaperna hos SIMULA är väl begränsningen i rätten att använda klassnamn som prefix. Detta får ju endast göras på den blocknivå deklarationen finns. Måhända är detta påkallat ur kompilatorteknisk synvinkel, men det kan ju också vara en miss. Det är misstänkt likt den nivåuppdelning som används vid Detach-Resume. Den här begränsningen är speciellt märkbar vid användning av externdeklarerade klasser. Den kombineras då med vissa andra svårigheter som t ex att Simset inte alltid är tillgänglig utan måste användas som prefix. Om den externdeklarerade klassen prefixas med Simset så innebär det att det ej är tillåtet att bilda objekt ur denna klass. Dessutom så kan det ju bli krockar om andra externdeklarerade klassser är prefixade med Simset. Mitt föslag att åtgärda dessa problem är följande: 1) Undersök möjligheterna att låta Simset vara definierad alltid. 2) Slopa begränsningarna för tillåten prefixning. Ingen av de här åtgärderna skulle så vitt jag kan se göra gamla program oanvändbara.
(131949) (kommentar i 135224)
(132016) 80-08-27 22:15 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Lars Enderin FOA1. Mottaget: 80-09-02 11:02 Ärende: bug i histd jag tror det er alvorlig bug i denne proceuren titta på histd.sim på <11,4744> pröv åkjör den och du åker rakt ut i ill. mem. ref.
(132016)
(132020) 80-08-27 22:19 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: hidden protected common base nå har jo hidden protected blitt en del av common base kan noen si meg om dttevr implentert helt i överenstemmelse med common base i simula 5(373)?? i tilfelle ikke hvad er förskjellen ??
(132020) (kommentar i 132455)
(132088) 80-08-27 23:09 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Bug i frontcompare? Original: (4188) 80-08-27 00:45 PER LINDBERG NADA Jag tror mig ha hittat ett fel i procedurerna FRONTCOMPARE och UPCOMPARE på LIBSIM. Enligt SIMULA Language Handbook, Part III skall dessa procedurer ta 2 textparametrar, varav den 2:a är NAME-anropad. Jag tror detta NAME saknas. Exempel: BEGIN EXTERNAL BOOLEAN PROCEDURE FRONTCOMPARE; TEXT T1; T1:-Copy("FOO"); IF frontcompare(T1,"FOO") THEN Outchar('F'); Outimage; END förlorar på rad 3 med felmeddelandet SIM366: TEXT CONSTANT IS NOT A VALID ACTUAL PARAMETER FOR REFERENCE MODE... Samma sak händer med Upcompare.
(132088) (kommentar i 132092, 132457)
(132090) 80-08-27 23:09 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129882: av Tommy Ericson QZ Ärende: Äldre Simula-system. Original: (4202) 80-08-27 15:42 TOMMY ERICSON QZ Här på NADJA finns givetvis inte OLDE. OLD betyder DSKC:<1,3>.
(132090)
(132092) 80-08-27 23:09 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132088: av Överföring från NADJA Ärende: Bug i frontcompare? Original: (4213) 80-08-27 18:48 BENGT LUND-JENSEN Du använder andra parametern som om den vore VALUE-specificerad.
(132092) (kommentar i 132108, 132816)
(132108) 80-08-27 23:21 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132092: av Överföring från NADJA Ärende: Bug i frontcompare? enligt simlh3.man for simula 5(373) så er den andra parametern specificerad som VALUE så det er nok en BUG der
(132108) (kommentar i 133559, 135247)
(132112) 80-08-27 23:44 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :130955: av Lars-Åke Larsson Ärende: Blockstrukturen? Original: (3932) 80-08-27 00:31 MAGNUS KARLSON Den gång jag råkade ut för det hade jag i en klass som var prefixerad med simset gjort NOT HIDDEN PROTECTED och glömt att räkna upp link osv.
(132112)
(132455) 80-08-28 13:07 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132020: av Knut Smaaland UiO Ärende: hidden protected common base Jag tror att vår HIDDEN PROTECTED helt följer standarden bortsätt från att vi även har en variant NOT HIDDEN PROTECTED som inte ingår i standarden.
(132455) (kommentar i 132830)
(132457) 80-08-28 13:08 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132088: av Överföring från NADJA Ärende: Bug i frontcompare? Skriv "IF frontcompare(T1,txtptr("FOO"))"... i stället. TXTPTR deklareras som en EXTERNAL TEXT PROCEDURE.
(132457)
(132816) 80-08-28 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132092: av Överföring från NADJA Ärende: Bug i frontcompare? Original: (4583) 80-08-28 00:10 PER LINDBERG NADA Ja, det ska den vara enligt S.L.H.
(132816)
(132830) 80-08-28 23:34 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132455: av Jacob Palme FOA1 Ärende: hidden protected common base NOEN TANKER OM ÅWA BORT NOT HIDDEN PROTETED I NESTE VWRSION AV FOA-SIMULA ?? FÖR Å KOMMA ÖVERNS MED COMMON-BASE ??
(132830) (kommentar i 132909)
(132909) 80-08-29 08:12 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132830: av Knut Smaaland UiO Ärende: hidden protected common base Nej, det tror jag inte. Det finns ju andra saker i Common Base (som inte just rör HIDDEN & PROTECTED) som inte är i enlighet med DEC-SIMULA, åtminstone sånt som redan är gjort i DEC-SIMULA som fortfarande bara är på förslag till SDG. (Rätta mig om jag har fel.)
(132909) (kommentar i 132911, 133375)
(133206) 80-08-29 14:23 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: DIRECTFILE Finns det något program som gör om sekvensiella filer till 'direkt'-filer?
(133206) (kommentar i 133208)
(133208) 80-08-29 14:24 Lennart Pettersson NADA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133206: av Göran Lyman Ärende: DIRECTFILE Jadå, PUB:MAKEDF.
(133208)
(133375) 80-08-29 16:25 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132909: av Mats Wallin FOA1 Ärende: hidden protected common base Det är inte osannolikt att NOT HIDDEN PROTECTED förs in i Common Base någon gång. Vad som behövs är någon som skriver en bra stringent definition av exakt hur NOT HIDDEN PROTECTED skall fungera. Om så görs, kommer SDG att godkänna det som tillägg enligt beslut vid senaste SDG-mötet. Vem har tid göra det?
(133375)
(133559) 80-08-29 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132108: av Knut Smaaland UiO Ärende: Bug i frontcompare? Original: (4664) 80-08-28 23:00 PER LINDBERG NADA Jo, just vad jag tyckte.
(133559) (kommentar i 133626)
(133626) 80-08-30 10:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133559: av Överföring från NADJA Ärende: Bug i frontcompare? Jag vill inte att frontcompare skall bli långsammare i exekvering genom mindre effektiv hantering av andra parametern. Jag använder frontcompare i många program för vilka CPU-tiden har betydelse. I de fall jag vill ha en textkonstant som andra parameter använder jag hellre TXTPTR, t.ex. frontcompare(config,txtptr("ABC")) eller ännu hellre: Initiering utanför central loop: Q_ABC:- txtptr("ABC"); Inuti central loop: frontcompare(config,q_abc);
(133626) (kommentar i 133696)
(133639) 80-08-30 10:22 Jacob Palme Mottagare: SIMULA implementering Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133604: av Knut Smaaland UiO Ärende: Error while processing error Följande åtgärder brukar minska riskerna för "error while processing error": a) Starta körningen med "GET+REENTER+PROCEED", inte med "RUN". Eller med "DEBUG+PROCEED" istället för "EXECUTE". b) Stoppa helst inte med CONTROL-C+REENTER, utan vid i förväg satta SIMDDT-breakpoints eller anrop på "ENTERDEBUG". c) Om du tvingas stoppa med CONTROL-C+REENTER, sätt därefter omedelbart en breakpoint 1-2 rader fram i programmet och skriv PROCEED. Gör därefter resten av felsökningen via satta breakpoints.
(133639)
(133658) 80-08-30 11:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Blandning av % och !-kommentarer SIMULA har ju numera en ny slags kommentarer, med "% " i kolumn 1-2. Dessa kommentarer kan innehålla godtyckliga tecken, även ";", och avslutas alltid vid radens slut. Men i DEC-10-SIMULA kan dessa kommentarer inte stoppas in inuti vanliga kommentarer. Följande är alltså inte tillåtet: COMMENT detta är en vanlig kommentar % Detta är en %-kommentar och ";" ingår i den nu fortsätter den vanliga kommentaren och slutar här:; Är detta verkligen rätt. Vad anser SDG?
(133658) (kommentar i 133698, 135065)
(133696) 80-08-30 21:51 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133626: av Jacob Palme FOA1 Ärende: Bug i frontcompare? det er försåvift försåelig det men da bör simlh3.man endras i samsvar med dette.
(133696)
(133698) 80-08-30 22:03 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133658: av Jacob Palme FOA1 Ärende: Blandning av % och !-kommentarer för 3-4 dager siden ringte jag til NR og frågade om akkurat dete her och om hva som stod i common base om detta så vidt jag kan skjönne så er den kommentar konstruksjonen med en % linje midt inni som du viste syntaktisk korrekt i fölge nye common-base og fölgelig må dec10-simula ha implementert dette felaktigt. en annen ting er at tolkningen av det som står etter % er implementasjonsavhengig (hvilket tullball) det med at "% " ska fungera som kommentar er ikke vedtatt av SDG det er et förslag til common-base fra j. palme og fölgelig er ikke nödvendigvis % blablablafoo foo et korrekt simula program på alla maskiner
(133698) (kommentar i 133757)
(133725) 80-08-31 00:36 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMDDT Har fått följande MAIL-brev: From P. LÖTSTEDT Postmark:26-Aug-80:09:17:15 To S. OLOFSSON Subject SIMDDT Jag har ett huvudprogram som anropar ett antal classer och procedurer. Man behöver ju numera bara ange de externa modulerna i huvudprogrammet som direkt anropas av huvudprogrammet. När man kör SIMDDT tycks det dock vara annorlunda. Om en procedur ej är externt deklarerad i huvudprogrammet får man ett ZYD-fel som lyder (ungefär) "Invalid module name". När sedan proceduren blir externt deklarerad i huvudprogrammet går det bra. Skall det vara så? From P. LÖTSTEDT Postmark:26-Aug-80:09:18:58 To S. OLOFSSON Subject SIMDDT igen Felet är: ZYD636 INVALID MODULE NAME
(133725) (kommentar i 133759)
(133759) 80-08-31 09:55 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133725: av Sven Olofsson QZ Ärende: SIMDDT Det stämmer. Moduler som man vill köra SIMDDT på måste deklareras i huvudprogrammet.
(133759)
(134107) 80-08-31 11:34 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: PATH Original: (4757) 80-08-30 13:27 TOMAS RUDEN Finns det någon metod att från simula ta reda på vilket path man befinner på. PS. Har jag använt rätt benämning DS.
(134107) (kommentar i 135073)
(134812) 80-09-02 00:56 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: FÖR STORE SIMULA PROGRAM JAG HAR ET GANSKE STORT SIMULA PROGRAM (SOM BARE VOKSER OCJ VOKSER ETTER SOM JAG JOBBAR MED DET) I GÅR SÅ PRÖVDE JAG Å KOMPILERA OM EN AV MODULENE (EN EXTERN KLASSE PÅ TRE FYRA TUSEN LINJER KOD) DA FIKK JAG FELMELDING FFRÅ KOMPILATOREN SOM SA ERROR TOO LARGE PROGRAM OCH DET VAR DET HELE DEN SA IKKE NOE OM HVA DET VAR FÖR MYCKE AV FÖR DYPT BLOCKNIVA FÖR MÅNGA EXPRESSIONS FÖR MANAG VARIABLER FÖR MÅNGA PROSEDYRER KUN TOO LARGE PROGRAM?? I AKKURAT DENNE ENE MODULEN I PROGRAMMET SÅ VAR DET GANSKE GREIT DEN BESTÅR NESTEN UTELUKKNADE AV EN MENGDE PROSEDYREKALL OCH ICKE STORT ANNET SÅ JEG DELTE DEN BARE I TO MINDRE MODULER OG DET GIKK BRA MEN AV OG TIL SÅ VIL PROGRAMMET MODULEN VÄRE SLIK AT MAN LURER PÅ HVA DET ER MAN FÖR MYCKE AV VAR DET IKKE EN IDE OM KOMPILATOREN SKREV UT HVA SLAGS TABELL DET VAR SOM OVERFLOWET ?? SLI AT MAN UMIDDELBART VET HVA MAN SKAL REDUCERE PÅ ELLER ER ALL TABELL PLASSEN TIL KOMPILATOREN ET STORT FELLES OMRÅDE SLIK AT DET ER DET SAMME HVA MAN REDUCERER PÅ BARE PROGRAMMET/MODULEN BLIR LITT MINDRE I EN ELLER ANNEN FÖRSTAND ??
(134812) (kommentar i 135277)
(134930) 80-09-02 09:27 Lars Lindwall Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Långa texter Finns nåt bra sätt att hantera textkonstanter som är så långa att de går över radgräns? Man skall väl inte behöva dela upp dem i bitar och använda CONC?
(134930) (kommentar i 134938, 135481)
(134938) 80-09-02 09:41 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :134930: av Lars Lindwall Ärende: Långa texter avsluta raden och delen av konstanten med endast ett citationstecken; inled därefter den följande raden med ett citationstecken och fortsätt konstanten (simed gör automatiskt så om det tvingas avdela en rad i en textkonstant).
(134938) (kommentar i 134954)
(134954) 80-09-02 10:04 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :134938: av Maj-Britt Kåhre Ärende: Långa texter Alltså: t:- Copy("ABC" "DEF" "GHIJKL"); är helt ekvivalent med t:- Copy("ABCDEFGHIJKL");
(134954) (kommentar i 134956)
(135059) 80-09-02 13:35 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :126595: av Lars Enderin FOA1 Ärende: COMMON BASE Korrekt. Anledningen till att motsatsen ibland hävdats torde vara dokumentet A supplement to the ALGOL 60 Revised report (Aug 76) där det står: "3.3.5 Precedence of operators It should be noted that although the precedence of operators determines the order on which the operations are performed, the order of evaluation of the primaries for these operations is not defined." Men SIMULA är - som Lars Enderin framhåller - definierat med Revised Report (Jan 63) som bas. A supplement... är snarare en föregångare till den nya ALGOL definitionen: Modified Report (Nov 76).
(135059)
(135061) 80-09-02 13:50 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Kommentar till :131947: av Lennart Borgman LTH Ärende: PROTECTED Head, Link, Linkage; Anledningen till att synliga attribut i SIMSET (och SIMULATION) är spec. PROTECTED är just att man skall kunna göra dem HIDDEN om man vill. NOT HIDDEN (resp NOT PROTECTED) är lite farliga konstruktioner som just kan leda till denna typ av problem. Kompilatorn borde kanske tala om vad som verkligen blev gömt vid användning av NOT-konstruktioner (i warning?).
(135061) (kommentar i 135483)
(135063) 80-09-02 13:53 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :131588: av Jacob Palme FOA1 Ärende: Blockstrukturen? Jo, så är beslutat. Men NOT.. är inte inkluderat i definitionen (allt ur minnet; har inte pakat upp alla papper ännu).
(135063)
(135065) 80-09-02 14:02 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :133658: av Jacob Palme FOA1 Ärende: Blandning av % och !-kommentarer Om jag känner SDG rätt så är %... ett s k "compiler directive" och spec %<blank> en sorts "dummy-rad" eller "compiler comment" som skall ignoreras före vidare bearbetning i kompilatorn. Alltså skall Jacobs ex ovan anses vara korrekt och DEC-SIMULA gör i så fall fel (om COMMENT avslutas vid ";" i rad 2). Jämför %INDENT %SOURCE etc som ju kan placeras var som helst oavsett programstrukturen.
(135065)
(135073) 80-09-02 14:15 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :134107: av Överföring från NADJA Ärende: PATH Lars Enderin har skrivit en del rutiner för detta. Se t.ex. <105,201,LATE> DEFAUL.* test i DT.SIM. När jag just prövade hittade jag dock ett fel: Ett steg längre ned (under <,,LATE,X> gav texten DSK:LATE.SFDÄ105,201,XÅ och ytterligare ett steg Ä,,LATE,X,YÅ gav ingen info om Y! Så kanske bäst att vänta tills Lars Enderin kollat detta närmare.
(135073) (kommentar i 137037)
(135157) 80-09-02 16:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129243: av Knut Smaaland UiO Ärende: External proc. ERRMSG Detta är inte tillräckligt dokumenterat men en följd av att OUTSTR (TTCALL 3,) används, vilken matar ut tecken på terminalen upp till första Char(0). Textkonstanter har alltid denna egenskap och eftersom endast textkonstanter rekommenderas som parameter, borde felet aldrig uppträda. Obs att parameterns adress lagras, vilket ej garbage collector vet, därav rekommendationen att använda oflyttbara texter.
(135157)
(135171) 80-09-02 16:48 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129436: av Jacob Palme FOA1 Ärende: Fel i Direktfils-hanteringen. Tyvärr kan man inte dra den slutsatsen. Kompilatorn har nämligen ingenting med detta att göra, däremot run-time-systemet.
(135171) (kommentar i 135187)
(135187) 80-09-02 16:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135171: av Lars Enderin FOA1 Ärende: Fel i Direktfils-hanteringen. Jag testade med gamla SIMR4?.EXE, vilket gav RÄTT resultat. Antagligen en följd av en annan korrektion, som nu måste omprövas (tyvärr....).
(135187)
(135199) 80-09-02 17:03 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :129882: av Tommy Ericson QZ Ärende: Äldre Simula-system. Dessvärre finns inte version 4 på OLD:, så det går inte att testa hur v4 uppförde sig, men jag har testat genom att ändra namnet på RTS i programmet till SIMR42 i st f SIMR52 (finns i SIXBIT i SIMLIB-delen av ett laddat program). Tyvärr finns inget enkelt sätt att göra denna ändring utan att söka med DDT (och ändra med DDT eller FILDDT).
(135199)
(135224) 80-09-02 17:17 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :131949: av Lennart Borgman LTH Ärende: Blocknivån och externdeklarerade klasser. 1) Detta är en språkändring, eftersom det skulle innebära att alla program vore prefixade med SIMSET, eller att Link, Head, Linkage och tillhörande procedurer vore självständiga standard-klasser resp -procedurer. I och för sig trevligt, men troligen inte genomförbart. I så fall skulle man säkert komma med önskemål om att integrera Simulation också. 2) Detta är en ur implementationssynpunkt mycket viktig begränsning som gör program mycket mer effektiva eftersom samma basadress kan användas av hela klassen, som är ett sammanhängande datasegment.
(135224)
(135247) 80-09-02 17:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :132108: av Knut Smaaland UiO Ärende: Bug i frontcompare? Fel i handboken. Skall vara referens-mod, dvs varken VALUE eller NAME. SIMATR kan användas för att kontrollera sådant.
(135247) (kommentar i 135487)
(135277) 80-09-02 17:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :134812: av Knut Smaaland UiO Ärende: FÖR STORE SIMULA PROGRAM Felmeddelandet SIM415 E PROGRAM TOO LARGE, Capacity LIMIT EXCEEDED förklaras i S L H 2 med att någon av de "code streams" som skapas i pass 2 har överskridits. Ytterligare förklaring torde inte ge mer information till en programmerare än som redan finns, nämligen att koden bör kapas i mindre delar.
(135277) (kommentar i 135296)
(135296) 80-09-02 17:52 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135277: av Lars Enderin FOA1 Ärende: FÖR STORE SIMULA PROGRAM Det finns folk som har modifierat kompilatorn till att klara större program. Men jag tror att en del sådana modifieringar är ganska riskabla och kan ge upphov till obehagliga resultat.
(135296)
(135436) 80-09-02 22:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :127573: av Lars-Åke Larsson Ärende: Fel i direktfils-hanteringen. Felet är nu rättat på NEW: Filer på NEWD: tillhörande SIMULA-systemet kan flyttas till resp ordinarie areor. Edit 376 berör ett fel i HISTD, 377 är rättelse för Directfile.
(135436) (kommentar i 135489, 135591)
(135481) 80-09-03 02:32 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :134930: av Lars Lindwall Ärende: Långa texter OUTTEXT( "TITA DÅ LARS" "LARS" "LINDWALL" "DETTA ER "EN ENASTE" "TEXT CONSTANT" "HAR INTE ENGÅNG DRÖMT" "OM OCH BRUKA CONC" "EN GÅNG" "SER DU HOR DU GJÖR DET ????"); OUTIMAGE; OUTTEXT("EN ANNA SAK" "TITTA I POSTKASSEN" "JAG HAR SENDT MIN MAKLIB" "I DAG" ); OUTIMAGE
(135481) (kommentar i 135564, 136074)
(135483) 80-09-03 02:38 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135061: av Mats Ohlin Ärende: PROTECTED Head, Link, Linkage; JA!!! ENIG I DET OCH DESSUTEN BURTE!! KOMPILATOREN TALA OM AT NOT KONSTRUKSJONER INTEÖ ER EN DEL AV COMMON BASE !!!!
(135483) (kommentar i 135962)
(135487) 80-09-03 02:55 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135247: av Lars Enderin FOA1 Ärende: Bug i frontcompare? TJA???? SIMATR KAN ANVENDES FÖR AT FINNE UT OM LIBSIM OCH HANDBOKEN STEMMER ÖVERENS . INTE NOE MER!! EN ANNA VIKTIG SAK ER AT SIMULA BRUKER LESER HANDBOKEN , INTE SIMATR DUMPER AV LIBSIM
(135487) (kommentar i 135571)
(135564) 80-09-03 09:25 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135481: av Knut Smaaland UiO Ärende: MAKLIB Hade problem med att indexera LIBSIM.REL under TOPS-20. Är detta ett fel i MAKLIB som är rättat i din version? Eller är det något annat intressant som är rättat/ändrat?
(135564) (kommentar i 136884)
(135571) 80-09-03 09:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv Kommentar till :135487: av Knut Smaaland UiO Ärende: Bug i frontcompare? Ok, helt klart, ville bara påpeka möjligheten med SIMATR. Det är ett litet helsike att hålla handböckerna up to date. Skulle vara intressant med ett program för kontroll av sådan info som parameterspec. Antagligen är det dock snabbare att låta SIMATR dumpa alla LIBSIM-moduler och kolla visuellt mot handboken.
(135571) (kommentar i 136886)
(107629) 80-06-19 12:26 Anders Hillbo För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Lars Enderin FOA1 Ärende: NOCHECK För ett tid sedan så försökte jag göra en procedur: options(/EXTERNAL:QUICK,NOCHECK,inc); INTEGER PROCEDURE inc; Som skule användas: "inc(a);inc(a,7);". Där man inkrementerar "a" med 1 normalt och med andra parametern om den finns. För att klara detta behöver man kolla antalet parametrar. Efter att ha tittat efter i SIMLH2 (App. E sid 197) och sett att detta antal skulle ligga negativt i vänster halvord av AC2, gjorde jag programmet enligt den specificationen. Tyvärr inkrementerades variabeln alltid med 1. Jag kollade med DDT för flera olika kombinationer och det låg alltid -1,,nnn i AC2. Vid en rundfråga på NADA så fann jag att att många (även jag) hade använt NOCHECK, men ingen hade haft någon anledning att kolla antalet parametrar och några erfarenheter fanns alltså inte. (Jag gick även igenom SYS:LIBSIM med SIMATR (för procedurer med variabelt antal parametrar) för att se om någon använde det, men där fanns bara "CODE, NOCHECK"). Nå, har jag bara klantat mig, eller är det så ovanligt att man använder det här, att felet inte upptäckts förut, eller är kanske dokumentationen inte riktig?
(107629) (kommentar i 107664, 107684)
(135591) 80-09-03 09:46 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135436: av Lars Enderin FOA1 Ärende: Fel i direktfils-hanteringen. Berörda filer nu flyttade till ordinarie areor.
(135591) (kommentar i 135612)
(135612) 80-09-03 10:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135591: av Gunnar Lindell QZ Ärende: Fel i direktfils-hanteringen. Tack! Upptäckte just att LIBSIM<OUTPUT> berördes också av edit 377. Ny LIBSIM.REL på NEWD: SIMULA.HLP borde också få nytt versionsnr i texten, skall fixa det.
(135612) (kommentar i 135621)
(135621) 80-09-03 10:19 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135612: av Lars Enderin FOA1 Ärende: Nya SIMULA-filer SIMULA.EXE - rättar ett fel i samband med laddning av moduler från SFD-er (det blev ibland "CHDSK:" i st f "DSK:") Edit 374. SIMULA.DOC - VIDED page overflow-meddelande borttaget. SIMULA.HLP - version och månad ändrad. LIBSIM.REL - direktfilfel rättat. Samtliga på NEWD:
(135621)
(135789) 80-09-03 14:14 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Kalle Mäkilä. Mottaget: 80-09-04 21:34 Ärende: SIMDBM Har haft bekymmer med att fält blir hopplöst långa genom successiv uppdatering. Jag har t ex ett fält "hänvisningar" på alla poster som efter ett tag blivit flera tiotal referenser av typen IDR 8/80:223ff. När man sedan skall fylla på en ny referens så måste ju hela fältet skrivas om,vilket blir enformigt. Ett fält för varje referens verkar inte särskilt tilltalande. Jag har nu i SPEC-manualen sett att fältet kan definieras som TEXT ARRAY,vilket verkar lockande. Men jag kan ingenstans hitta någon anvisning om hur detta utnyttjas. Vet någon?
(135789) (kommentar i 135889, 136928)
(135889) 80-09-03 16:03 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135789: av Björn Bergström Ärende: SIMDBM Du lägger in element (t ex i FETCH) separerade m h a Å
(135889) (kommentar i 135899)
(135899) 80-09-03 16:27 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135889: av Magnus Persson Ärende: SIMDBM Ja,så långt har jag oxå kommit. Men hur utnyttja det? Kan jag adressera arrayens element på något sätt? D v s om jag nu har ett fält hänvisning (hur styr jag arrayens storlek?) där jag lyckats peta in föjande information: IDR 8/80:222 MR 10/79:121 DODAR80:121f EACIS79:35ff vart och ett utgörande ett element i hänvisning: Hur lägger jag in ett nytt element? Hur presenteras elementen vid sökning? Hur många element kan jag lägga in?
(135899)
(135962) 80-09-03 18:09 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135483: av Knut Smaaland UiO Ärende: PROTECTED Head, Link, Linkage; Varför skall man trakasera folk med långa varningsmeddelanden därför dom använder än konstruktion som är mycket bekvämare och oftast ger mycket mindre fel eftersom man direkt upptäcker om man har glömt att ta med något i NOT HIDDEN PROTECTED. Jag tycker att det är en mycket bättre konstruktion eftersom man oftast vet exact vad man vill ska kunna användas på lägre nivåer.
(135962) (kommentar i 136076, 136892, 137438)
(136074) 80-09-03 22:29 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135481: av Knut Smaaland UiO Ärende: Långa texter Fattas det inte lite blanktexken i texterna?
(136074) (kommentar i 136280)
(136076) 80-09-03 22:30 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135962: av Magnus Karlson ADB/SU Ärende: PROTECTED Head, Link, Linkage; Det bör man göra därför att om de inte har stor nytta av ngt icke-standard så bör de få diskrepansen påpekad (de kanske vill skriva portabla program). De som verkligen HAR nytta av dett skall kunna slippa trakasseri medelst switch till kompajlern.
(136076) (kommentar i 136278)
(136278) 80-09-04 09:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136076: av Lars-Henrik Eriksson ADB-Uppsala Ärende: PROTECTED Head, Link, Linkage; Det visar sig i själva verket att mycket få program någonsin kommer att flyttas, så portabiliteten är mindre betydelsefull.
(136278) (kommentar i 136395)
(136280) 80-09-04 09:18 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136074: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Långa texter Detta är ett notoriskt fel när man delar upp texter i bitar. Bör uppmärksammas. Det är ganska ofta man glömmer ' ' före e sträng som skrivs ut efter t ex Outint.
(136280)
(136395) 80-09-04 12:16 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136278: av Lars Enderin FOA1 Ärende: PROTECTED Head, Link, Linkage; DUMHETER att påstå att portabilitet är mindre betydelsefullt! Skall man jobba åt flera olika organisationer så får man finna sig i en uppsjö av olika datortyper. Och då blir portabilitetsfrågor och standard mycket viktiga.
(136395) (kommentar i 136412, 136894)
(136412) 80-09-04 12:32 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136395: av Lars-Åke Larsson Ärende: Portabilitet Du har rätt i att för vissa tillämpningar portabilitet är betydelsefull. På vissa företag kan den vara livsviktig, t ex på INTEL, som enligt dekret från företagsledningen skall gå över till IBM370 från DEC-10. Ingenjörerna, av vilka många är "SIMULA hackers" är inte alls glada över detta utan försöker behålla DEC-10 - vet inte om de lyckas i längden. Problemet är väl huvudsakligen dåliga debug-faciliteter och rister i monitor-kommunikation i IBM-Simula. Det verkar som de kommer att gå över till MAINSAIL (Machine Independent SAIL) p g a detta. F ö har, ironiskt nog, det universitet som har hanterat KA10-Simula nu tvingats gå över till CYBER och måste kasta en massa SIMULA-program eftersom inget LIBSIM finns, dessutom kanske de inte ens får SIMULA. Frågan är om vi skall begränsa LIBSIM t ex för att få bättre portabilitet, ta bort allt DEC-10-specifikt, m a o ansluta oss till det minst utvecklade systemet?
(136412) (kommentar i 136418, 136429, 136547, 136705, 137288)
(136429) 80-09-04 12:55 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136412: av Lars Enderin FOA1 Ärende: Portabilitet Nej, det tycker jag inte att vi skall göra. Men det är väldigt värdefullt om man kan anvisa alternativa vägar att lösa ett problem på en annan dator. Det finns ett antal regler man kan följa när man skriver program för att upprätthålla flyttmöjlighet. Vi borde kanske jobba mer med att utveckla dessa. Och hur assign av filer skall gå till, vore väldigt värdefullt om det fanns "definierat" i LIBSIM. Dvs en procedur som ger en gränsyta som kan konstrueras på ett flertal system. Kommunikation MELLAN program borde också standardiseras. Det gäller alltså att definiera procedurer som kan realiseras på nästan alla system. Det mest flagranta fallet av bristande standard gäller direkt- filshanteringen. Men om man där använder den BOOLEAN PROCEDURE locateandtrytoread(dirfil,loc) som jag tidigare skrivit om, så bör man ha isolerat sina problem väl. Men det finns nog ett antal områden som borde kartläggas mera systematiskt än vad som hittills skett.
(136429)
(136547) 80-09-04 15:32 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136412: av Lars Enderin FOA1 Ärende: Portabilitet Minsann! Gå över från DEC till IBM! Jag trodde att vi hade lämnat stenåldern bakom oss!
(136547) (kommentar i 136577)
(136577) 80-09-04 15:42 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136547: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Portabilitet Antagligen resultatet av någon ekonomisk kalkyl, där programmerar- önskemål inte vägt särskilt tungt.
(136577) (kommentar i 136610)
(136610) 80-09-04 16:00 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136577: av Lars Enderin FOA1 Ärende: Portabilitet Som vanligt har man inte räknat in programmerarnas produktivitet och välbefinnande i kalkylen, utan man utgår ifrån att programmerarna blir lika produktiva och glada med en IBM som med en DEC.
(136610) (kommentar i 136683)
(136683) 80-09-04 16:43 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136610: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Portabilitet Tja, när vi startade Dapu så utsattes vi för hårda påtryckningar att utveckla systemet på Univac samt att också använda etablerade metoder (läs COBOL och inte några av FOA:s tokigheter som kanske passar för Teknisk/Vetenskaplig Data- behandling och inte för utveckling av Administrativa system). Intressant är att man trots våra avsevärda framgångar inte förefaller benägna att dra några konsekvenser härav. Och alltså börja tillämpa en del av våra metoder även i andra projekt. - Att så är fallet torde enligt min åsikt bero av att beslutsfattarna har tappat kontakten med den verklighet som vi konstruktörer upplever. Och de förefaller dessutom som regel vara ganska belåtna med denna situation.
(136683) (kommentar i 137290)
(136705) 80-09-04 17:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136412: av Lars Enderin FOA1 Ärende: Portabilitet Ur portabilitetssynpunkt är det bättre med procedurer av typ "DOTYPEOUT" än procedurer av typ "XCALLI". Ty det är mycket lättare skriva om "DOTYPEOUT" till annan dator än skriva om "XCALLI". Nackdel med den förra metoden är dock att mängden procedurer i LIBSIM då blir mycket större.
(136705) (kommentar i 137455)
(136884) 80-09-04 19:32 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135564: av Lars Enderin FOA1 Ärende: MAKLIB nej det eneste vi har lagt inn er /update switchen, ang. tops20 vet jag inte jag bruker kunn tops10 men jag har inte noe problem med aa indeksere atr.filer
(136884)
(136886) 80-09-04 19:38 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135571: av Lars Enderin FOA1 Ärende: Bug i frontcompare? ja det må väre et jävligt jobb kanskje en ide med en switch til simatr som bare skriver ut selve procedure headingen, och inte all den andre info'en , så kan man senare bruke en teco-macro för å editera inn simatr.dumpen til f.ex simlh3.rnm ?? så ville man i hvert fall alltid få selve headingen rett??
(136886) (kommentar i 137617)
(136892) 80-09-04 19:53 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135962: av Magnus Karlson ADB/SU Ärende: PROTECTED Head, Link, Linkage; helt enig med deg not hid.. prot.... er mucke greiere och enklare enn slik det er i common base. men jag synes det er mycket viktigare å holde seg til en standard jag ville gjerne ta extra arbetet med å bruke hidden prot... hvis jag fikk en kopilator som ga ?error... hvis man brukte not hidden protected man för heller pröva å arbeta för at endra standarden i retning av å tillate begge deler.
(136892) (kommentar i 137568)
(136894) 80-09-04 19:55 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136395: av Lars-Åke Larsson Ärende: PROTECTED Head, Link, Linkage; hurra !! seg bara i få så skal jag spendera en öl på deg.
(136894)
(136922) 80-09-04 21:42 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: portabilitet - libsim her ved UiO er det en mengde simula brukere, svärt många av disee er amatörer egentlig när det gjelder databehandling, men de bruker mye tid och penger på å skriva store programmer som de ganska ofte sender til andre lignenede fagfolk och ikke-databehandlere andre stans i verden. mange av disse bruker alt mulig rart som de finner i libsim dels fordi de ikke gidder å lage det selv men kanskje oftest fordi de ikke klarer det. och senn så sender de sakene sine avgårde, dissee brukerne har som regel aldri hört om common-base engång och de tror at alle maskiner som har simula också har et libsim som dec-simula har. slik er verden dessverre ikke. en god ting ville väre om foa kunne distribuera til exmpel et simsim rel/atr och simsim.sim hvor så många som mulige av libsim procedurene var programmerat i common-base simula. ved bruk av simsim så ville ting ta lengre tid men det ville väre lettare å sende program avgårde. i tilleg kunne man tenka seg at procedurer som til exempel xcalli etc. när de ble kallade skrev ut en felmelding och en förklaring om at den er maskinuavhengig och at den egentlig skla funka slik och slik. jag tror at svärt många ville bli glada för en slik ting/sak. det er kanskje en god ide jag har kommit med, men jag er jo klar över det sörgelige faktum at dögnet bara består av 24 timmar. jag har faktisk tenkt på å lga nocke slik selv et par ganger. men det får venete til jag blir rentenist.
(136922)
(137037) 80-09-04 22:48 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135073: av Mats Ohlin Ärende: PATH Original: (5713) 80-09-04 21:29 TOMAS RUDEN Problem. Jag kan inte nå Ä105,201Å som tydligen är ett konto på DEC-10.
(137037)
(137288) 80-09-05 08:26 Sven-Erik Pettersson (ENEA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136412: av Lars Enderin FOA1 Ärende: Portabilitet Jag tror nog inte att varningsutskrifter över portabilitetsproblem är någon viktig sak i kompilatorlistor, däremot är de ju mycket viktigt att de finns samlade på ett ställe i en manual och inte bara ligga spridda i hela manualen. Det är väl ändå så att man när man skriver ett system har ganska klart för sig var systemet skall rulla.
(137288) (kommentar i 137461, 138052)
(137290) 80-09-05 08:31 Sven-Erik Pettersson (ENEA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136683: av Lars-Åke Larsson Ärende: Portabilitet Man skall väl inte lägga all skuld på beslutsfattarna för dom lutar väl sig lite mot systemkonstruktörerna och det kan ju bero på dessas oförmåga eller ovilja att "hänga med i utvecklingen".
(137290)
(137438) 80-09-05 11:34 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :135962: av Magnus Karlson ADB/SU Ärende: PROTECTED Head, Link, Linkage; Svar: därför att de (folk) skall vara medvetna om att de avviker från fastställd standard.
(137438) (kommentar i 138155)
(137455) 80-09-05 11:55 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136705: av Jacob Palme FOA1 Ärende: Portabilitet För sådana procedurer som endast anropas ett mindre antal gånger (ej i 'inre' loop) borde lösningen kanske vara något i stil med vad FOA föreslog SDG för några år sedan: TEXT PROCEDURE SYSTEM(T); (VALUE T;) TEXT T; Antalet olika accepterade argument kunde ev vara olika på olika system; men en viss mini-mängd borde kunna definieras: SYSTEM("JOBID") SYSTEM("DATE") etc. Okänt argument ger lämpligen svaret NOTEXT. Men steget från ovanstående metod till en klass SYSTEM(INFO) är inte långt och ger fördelen av att ge kompilatorcheck: MYSYSTEM:- NEW SYSTEMINFO; now:= MYSYSTEM.CPUTIME; etc. (Fast nu har vi återigen problemet med de många procedurnamnen; MEN nu utan risk för kollision med andra användardefinierade identifierare -- förutom SYSTEMINFO.)
(137455) (kommentar i 137645)
(137461) 80-09-05 12:03 Rolf Wasteson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137288: av Sven-Erik Pettersson (ENEA) Ärende: Portabilitet Nej inte bara samlade i en manual. Man borde kunna slå varningarna på och av med en kompilatorswitch. Ger mycket bättre möjlighet att upptäcka icke-standard-konstruktioner som man använt,än den manuella metoden.
(137461)
(137568) 80-09-05 13:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136892: av Knut Smaaland UiO Ärende: NOT HIDDEN PROTECTED Det är väl också principiella synpunkter - iden med en abstrakt datatyp är att allt skall vara dolt som man inte explicit sagt att det skall vara synligt.
(137568) (kommentar i 138058)
(137617) 80-09-05 13:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :136886: av Knut Smaaland UiO Ärende: Bug i frontcompare? Jo, jag har gjort ansatser i den riktningen, men det blir litet komplicerat att organisera om handboken så att det passar ihop. Sammanfattningen skall naturligtvis också göras automatiskt.
(137617)
(137645) 80-09-05 14:30 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137455: av Mats Ohlin Ärende: Portabilitet Ååh, tänk om någon orkade sätta ihop klassen SYSTEMINFO !!
(137645) (kommentar i 137705, 138056)
(137705) 80-09-05 15:33 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137645: av Tommy Ericson QZ Ärende: Portabilitet Om ni tror att det vore en vettig väg att gå, så kanske vi skulle lägga upp ett KOM-möte kring detta. För att så småningom kunna få ihop något i LIBSIM som senare kanske kunde göras till standard.
(137705) (kommentar i 138411)
(138052) 80-09-05 22:43 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137288: av Sven-Erik Pettersson (ENEA) Ärende: Portabilitet NEJ!!! det har man ikke. spör bare de som jobber i systemgruppen på qz hvor mange arbeidstimer pr. år som går med til å fixe opp ting i ulike programmer på grunn av inkompatibhlitet. blant annet fordi de som har laget programmene har benyttet seg av spesielle features i kompilatoren og på maskinen de har sittet og utviklet på.
(138052) (kommentar i 138068)
(138056) 80-09-05 22:48 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137645: av Tommy Ericson QZ Ärende: Portabilitet ja bare skriv procedurene du så skla jeg melde meg frivillig til å sette det hele i sammen. (ha)
(138056) (kommentar i 138070)
(138058) 80-09-05 22:52 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137568: av Jacob Palme FOA1 Ärende: NOT HIDDEN PROTECTED ja helt enig med deg i at not ..... burde ha värt i common base. du har jo anledning til åpresse på har du ikke? di sitter i enten ssg eller sdg.
(138058) (kommentar i 138213)
(138068) 80-09-05 23:03 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138052: av Knut Smaaland UiO Ärende: Portabilitet Man kan bara instämma. Men jag kan tycka att den som inte vill vara 'portabel' ska kunna få vara det utan att slösa papper/tid, men då ska det krävas en aktiv insats från personen, t.ex. via en OPTIONS-sats eller en kompilatorswitch.
(138068) (kommentar i 138080, 138413)
(138070) 80-09-05 23:09 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138056: av Knut Smaaland UiO Ärende: Portabilitet Jag menar att definiera vad som ska vara med, vad procedurerna ska heta osv. I DEC-10-Simula finns redan det mesta skrivet av flera flitiga, framför allt Lars Enderin. Problemet är bara att sammanställa en (någorlunda) maskinoberoende standard. De faci- liteter som saknas på en implementation ger lämpligen NIL till svar. De flesta MACRO-10-kodade procedurer i LIBSIM finns också definierade i ren Simula i SLH del 3.
(138070) (kommentar i 138084, 138211)
(138080) 80-09-05 23:16 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138068: av Tommy Ericson QZ Ärende: Portabilitet ja enig. en ting forresten options ?? nå har jo "% " i de to förste posisjonene på linjen blitt definert som comment-line i fölge common bas kanskje man burte begynne å tenke på å bytte ut options(.....); med % options,....... switches ?? det skulle jo ikke väre så alvorlig mye arbeid skulle jeg tro. og det ville helt klart representere en forbedring.
(138080) (kommentar i 138209, 138415)
(138108) 80-09-05 23:59 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Blockstrukturen? Original: (5901) 80-09-05 02:38 PER LINDBERG NADA Kommentar till :5785: av Transfereringar (till) QZ Undrar hur länge Intel kommer att få ha kvar sina programmerare?
(138108)
(138155) 80-09-06 00:35 Magnus Karlson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137438: av Mats Ohlin Ärende: PROTECTED Head, Link, Linkage; Jag tycker bara det ibland verkar som att det är viktigare att följa standard förslagen istället för att utföra det jobb man har på snabbaste och bästa sätt. Just i detta specifika fall är jag förvånad att SDG inte redan från början insåg att en sats av typen NOT HIDDEN osv skulle vara både bekvämare och ge större säkerhet(det är väl till störe säkerhet som standard ska verka?).
(138155) (kommentar i 138168)
(138168) 80-09-06 01:45 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138155: av Magnus Karlson ADB/SU Ärende: PROTECTED Head, Link, Linkage; ja egentlig så er vel det viktigere (å fölge standarden) standarder skal vel ikke bare sikre större grad av sikkerhet, minst like viktig er det å sikre at man oprettholder en så stor grad av portabilitet som mulig. skriv et formelt forslag til rettelse til common base som inkluderer bruken av not hid...... og send det til sdg gode sjanser for at du lykkes med å få det inn. (det ville blitt en lettelse)
(138168)
(138209) 80-09-06 10:14 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138080: av Knut Smaaland UiO Ärende: Portabilitet Vad SSG och SDG beslutat är a) %<kommando> skall innebära kompilatorswitch, men vad som följer efter % är inte standardiserat med det undantaget, att "% " skall vara kommentar. Således: Det skall vara "%options" och inte "% options". "% options" skall bara ge en kommentar! Ja, denna ändring står på önskelistan. Vi tycker dock det är bättre att vi väntar tills det kommer en standard för vad som skall stå efter "%-tecknet".
(138209) (kommentar i 138290)
(138211) 80-09-06 10:18 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138070: av Tommy Ericson QZ Ärende: Portabilitet Man kanske bör lägga till att många av procedurerna i DEC-10- Simula-handboken del 3 har tillkommit och fått sin utformning efter diskussioner i SSG och SDG. (Exempel: INPUT, OUTPUT, INPUTWAIT, CHECKINPUT m.m. som ingående diskuterats i SSG och SDG och modifierats till följd därav.) Det finns inga SSG/SDG- beslut om standardisering av dessa procedurer, men vi har inte heller gjort saker helt efter eget huvud utan i hög grad hört SSG/SDG-s åsikt och låtit den påverka utformningen. Många av dessa procedurer har också varit uppe som standard- förslag i SSG eller SDG och blivit "nästan" godtagna. Att det inte helt blivit antagna beror på bristande tid att driva saken vidare (och inte på att vi var oense i sak om hur procedurerna skulle fungera). Ovanstående gäller givetvis INTE de procedurer som står i det speciella kapitlet för DECsystem-10-beroende procedurer i handboken.
(138211)
(138213) 80-09-06 10:19 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138058: av Knut Smaaland UiO Ärende: NOT HIDDEN PROTECTED Vid förra SSG-mötet sa man att bara en bra definition kom på "NOT HIDDEN PROTECTED" så var man välvillig till att införa den i standarden. Vem skriver en bra definition? Helst i överenstämmelse med DEC-10-implementationen!
(138213)
(138290) 80-09-06 15:18 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138209: av Jacob Palme FOA1 Ärende: Portabilitet jammen!!! hvis dere endrer til % options så kan det funke som compiler direktiv på dec10simula og det vil fremdeles kompilere på andre maskiner.
(138290)
(138354) 80-09-06 18:33 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA användarkonferens 1981 Denna konferens blir i Geneve den 9-11 september 1981.
(138354)
(138387) 80-09-06 21:06 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: external & search-list jeg tror det er en alvorlig feil i eneten simlh2.man eller i compiler'en på dette punktet. se på fölgnede program: options(/-s/s:"bug"/s:"sys:libsim"); begin external text procedure upcase; text t; upcase(t); end; tenk så at bug. sim/atr inneholder en upcase, programmet over vill kalle på upcase fra libsim ikke fra bug, compileren vil ikke engang protestere om bug rel/atr ikke finnes. en annen ting: WARNING!! det virker som om det som står om default search list dsk: dsk:libsim sys:libsim er fei og at alle requester vil bli tilfredsstilt fra sys:libsim hvis mulig. en annen ting: hvis man har options(/s:"bug"); og external ... noe som finnes i sys:libsim bör allikevel compiler'en gjöre en lokkup på dsk:bugÄ-Å og eventuellt protestere hvis bug /rel/atr ikke finnes ??
(138387) (kommentar i 139029, 139364)
(138411) 80-09-06 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :137705: av Lars-Åke Larsson Ärende: Portabilitet Blockstrukturen? Original: (6423) 80-09-06 14:51 JAN MICHAEL RYNNING Jag tror det är det bästa sättet att göra det på.
(138411)
(138413) 80-09-06 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138068: av Tommy Ericson QZ Ärende: Portabilitet Blockstrukturen? Original: (6425) 80-09-06 14:55 JAN MICHAEL RYNNING Kan inte SIMULA läsa default-switchar från SWITCH.INI som många andra program? Då kan man ju sätta upp sin switch- och varningsprofil där, så kan alla få som de vill.
(138413) (kommentar i 138440)
(138415) 80-09-06 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138080: av Knut Smaaland UiO Ärende: Portabilitet Blockstrukturen? Original: (6427) 80-09-06 14:59 JAN MICHAEL RYNNING Har det utarbetats någon standard för hur man ska kunna ange att en option bara ska användas om man kompilerar programmet på en viss kompilator på en viss dator?
(138415) (kommentar i 138442, 138493)
(138440) 80-09-06 23:26 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138413: av Överföring från NADJA Ärende: Portabilitet nei simula kan ikke lese switch.ini (den burte vel kanskje kunne det)
(138440) (kommentar i 138489, 138491)
(138442) 80-09-06 23:31 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138415: av Överföring från NADJA Ärende: Portabilitet NEI! dessverre overhodet ikke. Dessverre så er det ikke utarbeidet noen standard for å håndtere det med options i det hele tatt. Men det er på tide at det blir gjort , synes jeg.
(138442) (kommentar i 141906)
(138489) 80-09-07 09:16 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138440: av Knut Smaaland UiO Ärende: Portabilitet Kompilatorer brukar inte läsa SWITCH.INI. Men nu när Digital infört specialoptimerad läsning av SWITCH.INI kanske vi skall införa det i SIMULA.
(138489) (kommentar i 138634)
(138491) 80-09-07 09:18 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138440: av Knut Smaaland UiO Ärende: Portabilitet En nackdel med SWITCH.INI är att program blir mindre portabla, ity att information om programmet flyttas från det som porteras (.SIM-filen) till fil som kanske inte följer med vid porteringen (SWITCH.INI). Det är därför tveksamt om kompilatorer bör läsa SWITCH.INI.
(138491)
(138493) 80-09-07 09:21 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138415: av Överföring från NADJA Ärende: Portabilitet Nej, men lämpligt är väl att skriva något i stil med COMMENT%IF TOPS20 OPTIONS(/....); COMMENT%IFNOT TOPS20; OPTIONS(/....); COMMENT%IFEND TOPS20; Då kan man lätt med hjälp av COCOS selektera TOPS10 resp TOPS20-versionen av programmet. Givetvis kan även andra än OPTIONS-satser selekteras till och från med COCOS. Att få COCOS inbyggt i kompilatorn vore trevligt!
(138493) (kommentar i 138674, 138681)
(138634) 80-09-07 15:31 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138489: av Jacob Palme FOA1 Ärende: Portabilitet så vidt jeg vet er det bare fortran som leser switch.ini
(138634) (kommentar i 141904)
(138674) 80-09-07 20:31 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138493: av Jacob Palme FOA1 Ärende: Portabilitet Om man inför konstanter och garanterar att IF FOO THEN bla bla bla inte generar någon kod om konstanten FOO är FALSE slår man två feta flugor i en smäll!
(138674) (kommentar i 139224)
(138681) 80-09-07 21:50 Anders Hillbo Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138493: av Jacob Palme FOA1 Ärende: Portabilitet Det vore mycket bra om det fanns i kompilatorn. Men om man i samband med det också lade in möjligheten att definera "macros" som man bl a har i SAIL, så skulle man kunna definera: %DEFINE upto = " STEP 1 UNTIL " och andra liknande trevligheter som gör livet lite lättare...
(138681) (kommentar i 139315)
(139029) 80-09-08 13:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138387: av Knut Smaaland UiO Ärende: external & search-list 1) Obs att som du skrivit söks SYS:LIBSIM före BUG, eftersom sökordningen är omvänd, vilket skulle framgå tydligt av dokumentationen. 2) Det är möjligt att vid laddningen LINK råkar läsa request-blocken i en sådan ordning att SYS:LIBSIM tillfredställer kravet på UPCASE t ex, fastän man ville ha UPCASE från DSK:LIBSIM. Det är ganska svårt att vara absolut säker på rätt ordning när man har samma entry i flera moduler. Ett sätt att garantera att du får rätt REL-modul för t ex UPCASE är att ändra namn på ENTRY i OPTIONS och ENTRY-direktivet till MACRO (+ ingången förstås). Jag är alltså inte helt säker på hur sådant fungerar i alla (o)möjliga kombinationer av bibliotek och separata filer på olika areor. Fick bort rätt många löss genom att jobba med VIDED.
(139029) (kommentar i 139321)
(139099) 80-09-08 16:05 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: endfile Hur skall man testa på endfile vid inmatning från terminal utan att få felavbrott (EOF in inimage)? Jag trodde man kunde göra WHILE NOT ENDFILE DO ett antal inimage med delar av en text och gå vidare när man avslutar sista raden med ^Z,men det funkar tydligen inte.
(139099) (kommentar i 139117, 139119, 139147, 139226)
(139117) 80-09-08 16:35 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139099: av Björn Bergström Ärende: endfile Man gör helst: (men det kanske du vet.) Inimage; WHILE NOT Enfile DO BEGIN sats; sats; . . inmatning & bearbetning . . Inimage; END; så fångar man Endfile. Men för att åter kunna göra inmatning, från Sysin tex, så måste man göra Close och Open igen. (Sysin.Close; Sysin.Open(Blanks(80)); eller spara image om du vill)
(139117)
(139119) 80-09-08 16:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139099: av Björn Bergström Ärende: endfile Efter ENDFILE måste man dessvärre stänga och åter öppna terminalen (vanligen Sysin) enligt följande exempel: TEXT sysin_image; sysin_image:- Sysin.Image; IF Sysin.Endfile THEN BEGIN Sysin.Close; Sysin.Open(sysin_image); END;
(139119)
(139147) 80-09-08 17:07 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139099: av Björn Bergström Ärende: endfile Observera att du får olika beteende om du avslutar en icke-tom rad med ^Z jämfört med om du sänder ^Z ensamt. Prova t.ex ett sånt här program: 00100 BEGIN 00200 WHILE NOT Endfile DO BEGIN 00300 Inimage; 00400 Outtext("Ok"); Outimage; 00500 END; 00600 END
(139147)
(139224) 80-09-08 18:24 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138674: av Sören Tirfing Ärende: Portabilitet OBS att SIMULA tillåter: IF FUU GOTO inside; IF FOO THEN BEGIN bla; inside: bla; bla; END; så det räcker inte att med att testa på att FOO är konstant FALSE!
(139224) (kommentar i 139263, 140542, 141908)
(139226) 80-09-08 18:28 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139099: av Björn Bergström Ärende: endfile Följande kod gick bra för mig: lastitem; WHILE NOT ENDFILE DO BEGIN i:= inint; lastitem; END; Denna kod klarade även att avsluta loopen OK vid ^Z från terminalen.
(139226) (kommentar i 139331)
(139263) 80-09-08 18:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139224: av Jacob Palme FOA1 Ärende: Portabilitet Jag hade samma sak i tankarna, men undrar om man till varje pris skall klara sådan bakåtkompatibilitet. Det bör ju bli felutskrift i alla fall - möjligen skulle man i så fall hoppa till ett läge i ett omgivande block (om läget "inside" faller bort och det finns ett likadant läge utanför). Bäst vore att behålla koden i så fall, vilket skulle ge problem om de enda referenserna sker bakåt. Jag tvivlar dock på att det kommer att implementeras.
(139263)
(139315) 80-09-08 19:52 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138681: av Anders Hillbo Ärende: Portabilitet ja jo literals macros etc. kan nok brukes til trevliga ting. om de brukes med måte. men slike ting bör i hvert fall ikke inn i compiler'en ved DEC10 gjennom slike möter / uttalleser i KOM, men derimot etter godkjenning i sgd/ssg. NB! Ärndet for disse innleggene/kommentarene.
(139315) (kommentar i 139333)
(139321) 80-09-08 19:58 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139029: av Lars Enderin FOA1 Ärende: external & search-list jeg tror compiler'en gjör det feil også. test det på en maskin/monitor hvor du har både set watch files og set watch version og fökg med under kompilering/loading. (hvis du har god tid , men det har du jo ikke så kan du jo låne palme's PPN her ved UiO)
(139321)
(139331) 80-09-08 20:18 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139226: av Jacob Palme FOA1 Ärende: Endfile & Lastitem Eftersom Lastitem är en Boolean procedure räcker det gott med WHILE NOT Lastitem DO i:= Inint;
(139331) (kommentar i 139346)
(139333) 80-09-08 20:23 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139315: av Knut Smaaland UiO Ärende: Utveckling av Simula Jag instämmer med både Anders (Hillbo) och Knut (Smaaland). Jag förstår att SSG är en konservativ samling, men SDG borde vara mer aktivt! (SSG = Simula Standards Group, SDG = Simula Development Group)
(139333)
(139346) 80-09-08 20:45 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139331: av Tommy Ericson QZ Ärende: Endfile & Lastitem ja det rekker med while not lastitem ....... men jeg tror ikke det gir samme resultat i image din variant vil gi /* i image når lastitem eqv true men det tror jeg ikke du får når du bruker inimage; while .. endfile do inimage; varianten.
(139346) (kommentar i 139401, 140262)
(139364) 80-09-08 21:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138387: av Knut Smaaland UiO Ärende: external & search-list I detta fall sökes som sagt SYS:LIBSIM först, eftersom det står sist av de två filerna. Eftersom UPCASE finns i LIBSIM, behöver man inte göra LOOKUP på BUG.ATR. BUG.ATR måste f ö vara indexerad för att sökas som bibliotek. Jag testade på NADJA och såg att LOOKUP gjordes i rätt ordning. Om nu UPCASE är omdefinierad som SIMULA-procedur kan ju ingen förväxling heller ske vid laddningen, dvs man får SIMULA-varianten ur BUG.ATR om BUG söks före SYS:LIBSIM. Säg till om det är oklart i SIMLH2, det kan det mycket väl vara.
(139364) (kommentar i 139366, 141214)
(139366) 80-09-08 21:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139364: av Lars Enderin FOA1 Ärende: external & search-list Jag testade med omvänd lista: /-s/s:"SYS:LIBSIM"/s:"BUG" och det blev riktigt - jag hade lagt en SIMULA-version av UPCASE i BUG.SIM, kompilerat och indexerat BUG.ATR - jag fick SIMULA-versionen. Förklara närmare vad du hade väntat dig! Kanske borde man skriva listan i sökordning, men det är kanske för sent att ändra nu. Jag sökte en analogi med inre block, dvs det senast deklarerade är mest åtkomligt, dessutom var det lättare att implementera i första versionen.
(139366) (kommentar i 139454)
(139401) 80-09-08 22:35 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139346: av Knut Smaaland UiO Ärende: Endfile & Lastitem Nej, man får samma resultat med Inimage; WHILE NOT Endfile DO BEGIN x; Inimage END; som med WHILE NOT Lastitem DO x; vad beträffar Sysin.Image efter slingan, som i båda fallen innehåller "/*".
(139401) (kommentar i 139456)
(139454) 80-09-09 01:09 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139366: av Lars Enderin FOA1 Ärende: external & search-list det er visst en misforståelse ute og går her et sted. men först en annen bug (sendte fel-rapport i går) hvis du i options statementet ditt utelater " rundt bug så dör simula meio to unassigned channel, men det er så. med fölgende options statement: options(/-s/s:"bug"/s:"sys:libsim"); mener du da at syss:libsim skla sökes i för bug ?? vil det i tilfelle si at hvis du har med sys:libsim i din search-list så kan du ikke unngå at den blir sökt i först?? På meg så virker det som det er tilfelle her ved UiO men det kan da ikke väre riktig?? har akkurat värt inne på min egen terminal og testet igjen nå med fölgende program: p.sim options(/-s/s:"bug"/s:"sys:libsim"); begin external text procedure upcase; upcase; end; og upcase.sim: options(/e); text procedure upcase; begin outtext("bugbug"); outimage; end; kompilerer upcase opretter bug.atr/rel med bare upcase i og indekserer bug.atr/rel med maklib sier så .comp/comp p og simula klager på linjen upcase; fordi det ikke er noen parametere til upcase. ER dette virkelig riktig ???
(139454) (kommentar i 139632)
(139456) 80-09-09 01:14 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139401: av Tommy Ericson QZ Ärende: Endfile & Lastitem ja selvfölgeg ja selvfölgelig, du har rett jeg begynner å bli for trett, sorry.
(139456)
(139632) 80-09-09 10:53 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139454: av Knut Smaaland UiO Ärende: external & search-list Det har tydligen inte framgått tydligt nog av dokumentationen att om man skriver /S:"A"/S:"B" så SÖKS B IGENOM FÖRST, SEDAN A, dvs OMVÄNT mot skrivordningen. Läs igenom mina kommentarer igen! Jag hävdar att det är riktigt som du har fått det, med den definition av sökordningen soom jag angivit i dokumentationen. (o blir dubbelt ibland).
(139632) (kommentar i 139975)
(139975) 80-09-09 20:26 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139632: av Lars Enderin FOA1 Ärende: external & search-list javel, hvis sökeordningen er som du sier så gjör jo simula det rett men hvor i dokumentasjonen står det? var akkurat innom på mitt kontor og leste i kapittel 7 i simlh2.man om search-list men kunne ikke se at det stod der.
(139975) (kommentar i 140772)
(140055) 80-09-09 23:46 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SYS:LIBSIM.REL och .ATR är nu bytta mot rättade versioner. Original: (5105) 80-09-09 21:58 TOMMY ERICSON QZ
(140055) (kommentar i 140080)
(140080) 80-09-10 00:27 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140055: av Överföring från ADB Ärende: SYS:LIBSIM.REL och .ATR är nu bytta mot rättade versioner. Gäller givetvis även QZ (nu kommer det här att föras över till ADB igen, suck).
(140080)
(140179) 80-09-10 09:12 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Breakoutimage på printfile. Genom diverse trassel lyckades jag lära mig att Sysout är en printfile. Imanualen stod det dock ingenting om att breakoutimage ändrade radnummer, vilket var ganska tråkigt, eftersom detta annars hade kunnat kompensera för att Inimage inte ändrar radnummer, fastän ju positionen på skärmen ändras. Vis av diverse tidigare tvister med manualer provade jag i alla fall. Och turligt nog visade det sig att Breakoutimage ändrar radnummer! (Borde kanske ändras i manualen?)
(140179) (kommentar i 140380)
(140262) 80-09-10 10:59 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139346: av Knut Smaaland UiO Ärende: Endfile & Lastitem Personligen brukar jag rekommendera användare att undvika procedurer som ger implicit anrop av Lastitem (liksom Lastitem självt): T ex INTEXT, INREAL, ININT. Säkrare och med bättre möjligheter till kontroll och diagnostik om man själv kodar av aktuell 'image' med scanto/scanint/scanreal/getitem -- m a o konstruktionen: GO TO start; (oops!) WHILE .... DO BEGIN ....action on input ..... t:- inline("...>",Sysin); skip(t,' '); t1:- scanto(t,' '); x1:= scanint(t); IF x1 < 0 then ....error...; p:= t.Pos; x2:= scanreal(t); IF t.Pos = p THEN ....error, neg value ok...; ... inimage; END loop; /byt WHILE ..../WHILE NOT Endfile/
(140262) (kommentar i 140361, 140509)
(140361) 80-09-10 13:13 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140262: av Mats Ohlin Ärende: Endfile & Lastitem Minsann! Glömde jag inte ange att START: skulle sitta omedelbart före t:- inline...
(140361) (kommentar i 140511)
(140363) 80-09-10 13:15 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Rapport (över) program-ändringar Ärende: SIMED Version 2(25) Ny rättad version av SIMED som även klarar kommandon av typ .R SYSC:SIMED-.... och .RUN SIMED<1,4>-.... nu på SYS.
(140363)
(140380) 80-09-10 14:09 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140179: av Lennart Borgman LTH Ärende: Breakoutimage på printfile. Precis vad jag hade tänkt klaga på, line-counter inkrementeras.
(140380) (kommentar i 140390, 141910)
(140390) 80-09-10 14:51 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140380: av Tommy Ericson QZ Ärende: Breakoutimage på printfile. Vad är det för fel med att line-counter incrementeras? Jag kan bara finna att det är praktiskt.
(140390) (kommentar i 140497)
(140497) 80-09-10 19:43 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140390: av Lennart Borgman LTH Ärende: Breakoutimage på printfile. Line counter skall väl inte inkrementeras om inte ny rad tas! Man bör inte fixa ett fel (i inimage) med ett annat (i breakoutimage)
(140497) (kommentar i 140778)
(140509) 80-09-10 20:22 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140262: av Mats Ohlin Ärende: Endfile & Lastitem Helt enig med M O . Bruker aldri annet en inimage, selv.
(140509) (kommentar i 141862)
(140511) 80-09-10 20:24 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140361: av Mats Ohlin Ärende: Endfile & Lastitem det var ikke så farlig at du glemte det! man kan jo bare fjerne goto'en så kompilerer det OK.
(140511) (kommentar i 140520, 140980)
(140520) 80-09-10 20:45 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140511: av Knut Smaaland UiO Ärende: Endfile & Lastitem Just det, ta bort GOTO-snusket ur koden.
(140520) (kommentar i 140562, 140715, 141860)
(140772) 80-09-11 10:26 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139975: av Knut Smaaland UiO Ärende: external & search-list Jag kan faktiskt inte heller finna något om omvänd sökordning. Jag har troligen bara skrivit om det i Techn. Doc. Konstigt att ingen har frågat förr! Jag kom på ett skäl för att söka "baklänges": Om man lägger till ett nytt bibliotek vill man rimligtvis att det skall sökas före standard-areorna, i sht om man har med någon ersättning för någon standardmodul.
(140772) (kommentar i 141033)
(140778) 80-09-11 10:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140497: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Breakoutimage på printfile. Det är svårt att säga vad som är rätt här. Jag lutar dock åt att SIMULA-systemet gör det som oftast ger rätt resultat. Motivering: Breakoutimage introducerades som motsvarighet till DEC-Algols procedur BREAKOUTPUT just med tanke på att man via terminalen skulle svara på samma rad och avsluta med CRLF. Om man använder BREAKOUTIMAGE på annat sätt har man liksom missat poängen. Att det är fel på Inimage kan man väl knappast säga - felet är att SIMULA-definitionen inte inkluderar terminaler eller generellt interaktiva i/u-enheter, dvs SIMULA vet egentligen inte något om kopplingen mellan Sysin/Sysout. Att en operation på Infile-n Sysin skulle ändra på ett attribut (LINE) hos Printfile-n Sysout är litet långsökt.
(140778) (kommentar i 140922)
(140922) 80-09-11 15:27 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140778: av Lars Enderin FOA1 Ärende: Breakoutimage på printfile. Helt rätt. Jag böjer mig. Egentligen borde ju SYSIN och SYSOUT vara samma objekt, en ny klass IOFILE. Kanske något för SDG?
(140922) (kommentar i 141868)
(140980) 80-09-11 16:25 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140511: av Knut Smaaland UiO Ärende: Endfile & Lastitem Nja, ...action...exekveras 1:a gång utan att några värden (från t). Man saknar REPEAT-UNTIL...
(140980)
(141019) 80-09-11 16:55 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :119318: av Lennart Borgman LTH Ärende: INSPECT a DO INSPECT b DO OTHERWISE Tvärtom menar du väl...? INSPECT a DO INSPECT b DO s OTHERWISE t; blir det (på DEC).
(141019) (kommentar i 141039)
(141033) 80-09-11 17:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140772: av Lars Enderin FOA1 Ärende: external & search-list Varning dock: Om man anger OPTIONS(/S:"MYLIB") kommer MYLIB.ATR att sökas före DSK:, vilket man kanske inte alltid vill. /S:"MYLIB,DSK:" kan då anges i stället.
(141033)
(141039) 80-09-11 17:08 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141019: av Mats Ohlin Ärende: INSPECT a DO INSPECT b DO OTHERWISE Du har helt rätt!
(141039)
(141214) 80-09-11 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139364: av Lars Enderin FOA1 Ärende: external & search-list search-list (i SIMLH2) Original: (7430) 80-09-11 16:08 ANDERS STRöM Jag har för mig att jag hade en del problem att förstå hur man adderade till söklistan. Ex Options(/s:"FOO") adders då FOO till först eller sist. Det stod så mycket om baklänges att jag trodde att FOO las sist, och alltså söks först. Jag har för mig att det i verkligheten är tvärtom FOO läggs först och söks sist.
(141214) (kommentar i 141322)
(141322) 80-09-12 09:28 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141214: av Överföring från NADJA Ärende: external & search-list Det är som du först trodde.
(141322)
(141663) 80-09-12 17:40 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Outchar(esc); Eject(1); Med denna sekvens fÖrsÖkte jag sudda en tektronix-terminal. Det gick dock inget vidare. Efter stor fÖrvirring kom jag fram till att detta berodde på att terminalen fick motta sekvensen <ff><esc> istället fÖr den omvända. Det är förmodligen logiskt, men kan ställa till problem i den del sällsynta fall, speciellt när man inte känner till det. Borde det inte stå i Simula- manualen?
(141663) (kommentar i 145842)
(141705) 80-09-12 20:28 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: LOWC Det vill säga inversen till UPC, finns den? Om inte, vore det jobbigt att skriva den? Inte maximalt nödvändigt, jag har en egen SIMULA-kodad version.
(141705) (kommentar i 145845)
(141860) 80-09-13 15:26 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140520: av Mats Wallin FOA1 Ärende: Endfile & Lastitem Jag och Mats Wallin jobbade ömsevis på samma program för några år sedan. Varje gång jag varit inne i programmet dök det upp några GOTO. Och varje gång Mats Wallin var inne lyckades han operera bort mina GOTO-s genom snygga WHILE-konstruktioner.
(141860)
(141862) 80-09-13 15:27 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140509: av Knut Smaaland UiO Ärende: Endfile & Lastitem Ja, jag brukar själv mest använda inimage och egen inläsning med egen kontroll som Mats Ohlin föreslår. Men ibland kan lastitem vara en bra lösning på små tillfällighetsprogram som man snabbt vill få fungerbara.
(141862) (kommentar i 141892)
(141868) 80-09-13 15:32 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140922: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Breakoutimage på printfile. Ja, och det har diskuterats då och då i många år. Kanske blir det av någon gång. Alla existerande program får skrivas om!
(141868) (kommentar i 142000)
(141892) 80-09-13 16:20 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141862: av Jacob Palme FOA1 Ärende: Endfile & Lastitem lastitem er kjekk å bruke for å skippe over blanke synd det ikke er et text atributt som lastitem som vil holde seg på current image. dvs. la väre å lese inn nye image. Det hadde värt en grei måte å skippe blanke på.
(141892) (kommentar i 142217, 142579)
(141904) 80-09-13 16:39 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138634: av Knut Smaaland UiO Ärende: Portabilitet Ska SIMULA läsa defaultswitchar från SWITCH.INI? Original: (7577) 80-09-12 14:06 JAN MICHAEL RYNNING I så fall är det både FORTRAN och A68 som läser SWITCH.INI!
(141904) (kommentar i 141912)
(141906) 80-09-13 16:39 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :138442: av Knut Smaaland UiO Ärende: Portabilitet Blockstrukturen? Original: (7579) 80-09-12 14:08 JAN MICHAEL RYNNING Det är samma problem med PASCAL, A68 och ADA bland annat. Ingen tycks ha löst det, ingen verkar ha försökt på allvar.
(141906)
(141908) 80-09-13 16:39 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :139224: av Jacob Palme FOA1 Ärende: Portabilitet Blockstrukturen? Original: (7584) 80-09-12 14:12 JAN MICHAEL RYNNING Förskräckligt! I A68 är det lyckligtvis omöjligt att göra så eftersom labeln inside bara existerar i det inre blocket och därför inte kan refereras till utifrån.
(141908) (kommentar i 141969, 142585)
(141910) 80-09-13 16:40 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :140380: av Tommy Ericson QZ Ärende: Breakoutimage på printfile. Original: (7596) 80-09-12 14:52 JAN MICHAEL RYNNING Elever på NADA som kör med /R får ibland problem med extra sidframmatningar i listfilen. Program som är avsedda att kommunicera med terminalen brukar innehålla ganska många BREAKOUTIMAGE, och det blir inte färre för att somliga inte vet hur BREAKOUTIMAGE fungerar och använder den ur- skillningslöst. Resultatet kan bli att tabeller och bilder blir avbrutna med bara ett par rader per sida. Jag anser att radräknaren inte bör ändras vid BREAKOUTIMAGE eftersom programmet inte matar ut något radframmatningstecken.
(141910) (kommentar i 141971)
(141912) 80-09-13 16:40 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141904: av Överföring från NADJA Ärende: Portabilitet Ska SIMULA läsa defaultswitchar från SWITCH.INI? Original: (7638) 80-09-12 21:10 ANDERS STRÖM Link läser switchar från SWITCH.INI om den startas med .R LINK.
(141912) (kommentar i 142552)
(141969) 80-09-13 16:54 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141908: av Överföring från NADJA Ärende: Portabilitet du blander ikke sammen begrepene block og compound-statement nå da?? det var ikke none block i det eksemplet som palme skrev.
(141969) (kommentar i 142215, 142548)
(141971) 80-09-13 16:57 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141910: av Överföring från NADJA Ärende: Breakoutimage på printfile. ja det t9or jeg at jeg er enig i. Det höres i hvert fall fornuftig ut sånn i förste omgang.
(141971) (kommentar i 145857)
(142000) 80-09-13 17:11 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141868: av Jacob Palme FOA1 Ärende: Breakoutimage på printfile. Inte nödvändigtvis. SYSIN och SYSOUT kunde vara samma objekt, och attributen ordnade på sådant sätt att de såg likadana ut som nuvarande, för de flesta program (usch vilken svenska)
(142000)
(142054) 80-09-13 18:17 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Simula används i USA! Ur senaste NTIS-bandet N80-24040/1: A Simula program for investigating a class of queueing networks. AD-A084 562/8: An abstract type for statistics collection in SIMULA. AD-A048 215/3: Design for a CMS Simula file system with 4 character sets. Det mesta verkar gjort på DEC 10 också!
(142054) (kommentar i 142199)
(142199) 80-09-14 04:09 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142054: av Jacob Palme FOA1 Ärende: Simula används i USA! heia simula. tenk om man kommer dit hen noen gang, at man kan gå ut i det private näringsliv når man er ferdig på universitetet, og regne med å få jobbe med simula?? men det krever vel en ny generasjon eler to av databehandlere för det skjer. utrolig hvor konservative folk i en slik bransje kan väre. En egentlig uhyre ekspansiv og ung bransje men med en utrolig konservativ holdning hos mange av utöverne.
(142199) (kommentar i 142306, 142386, 142550)
(142215) 80-09-14 08:34 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141969: av Knut Smaaland UiO Ärende: Portabilitet Blockstrukturen? Original: (8088) 80-09-13 23:50 BJÖRN DANIELSSON Ja, men i Algol 68 finns inga statements överhuvudtaget och därför heller inga compound-statements.
(142215)
(142217) 80-09-14 08:34 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141892: av Knut Smaaland UiO Ärende: Endfile & Lastitem endfile Original: (8099) 80-09-14 01:21 ANDERS STRÖM Överhuvudtaget saknar jag filoperationerna på texter. Jag vill exempelvis ha Inint att fungera på en text, och inte bara på en fil. Som det är nu så kan man bara med svårighet utnyttja positionen i en text.
(142217) (kommentar i 142449, 142554, 142658)
(142306) 80-09-14 08:43 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142199: av Knut Smaaland UiO Ärende: Simula används i USA! INTEL i USA har gått ut med annonser om lediga jobb där de bl.a. önskat sig folk med kunnighet i SIMULA-programmering!
(142306)
(142386) 80-09-14 11:17 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142199: av Knut Smaaland UiO Ärende: Simula används i USA! Den eventueela dag som nÄringslivet accepterat SIMULA som driftsspråk har säkert universiteten redan gått över till nåågot ännu modernare språk i undervisningen.
(142386) (kommentar i 142457)
(142457) 80-09-14 17:59 Nils-Bertil Ericsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142386: av Christer Wikmark SU/ADB Ärende: Simula används i USA! SIMULA används redan av svenskt näringsliv i begränsad omfattning. För att öka användningen måste man dock skjuta alla gamla FORTRAN- och COBOL-knuttar som finns på alla företags dataavdelningar, dessvärre är dessa personer, p.g.a. deras anställningstid, nu i arbetsledande ställningar vilket gör introduktion av moderna språk betydligt svårare. Autentiskt uttalande av en datachef (anställda på dataavdelningen = 50) "Vi skal lösa alla företagets dataproblem i ett programmeringsspråk på en och samma maskin" (COBOL på ICL2960)??
(142457)
(142548) 80-09-14 22:50 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141969: av Knut Smaaland UiO Ärende: Portabilitet Blockstrukturen? Original: (8169) 80-09-14 16:10 JAN MICHAEL RYNNING En sammansatt sats är ett block utan deklarationer. Men om någon av delarna står i THEN-delen av en IF-sats är det en sluten en- het, som man inte bör kunna komma in i på annat sätt en genom att satisfiera villkoret i IF-satsen vid exekveringen av denna.
(142548) (kommentar i 142696, 145347)
(142550) 80-09-14 22:50 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142199: av Knut Smaaland UiO Ärende: Simula används i USA! Konservativa SIMULA-programmerare. Original: (8175) 80-09-14 16:15 JAN MICHAEL RYNNING Om två generationer av programmerare kommer det nog kännas minst lika hemskt att behöva programmera i SIMULA, som det känns i dag för SIMULA-programmerare att komma ut och vara tvungna att gå över till FORTRAN. Tror ni SIMULA är det slutgiltiga programmeringsspråket? Ha ha ha!
(142550) (kommentar i 142587, 143705, 143731, 143777, 145355)
(142552) 80-09-14 22:50 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141912: av Överföring från NADJA Ärende: Portabilitet Ska SIMULA läsa defaultswitchar från SWITCH.INI? Original: (8177) 80-09-14 16:16 PER DANIELSSON Link läser switchar från SWITCH.INI om den startas med .R LINK. Det är lite synd att LINK inte läser från SWITCH.INI även om den startas i CCL mode. Jag vill t.ex. gärna att symboltabellen ska laddas med by default, och då får jag antingen modifiera LINK (jobbigt, tveksamt om källkoden är tillgänglig), eller göra ett program som appendar på lämpliga switchar i TMP:SVC. Båda metoderna är inte direkt roliga.
(142552) (kommentar i 143169)
(142554) 80-09-14 22:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142217: av Överföring från NADJA Ärende: Endfile & Lastitem associate (a text with a file) Original: (8183) 80-09-14 16:19 PER DANIELSSON kan man enkelt göra i A68. Märkligt att inte fler her upptäckt vad man kan åstadkomma med A68!
(142554) (kommentar i 143051, 145345)
(142579) 80-09-14 23:29 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141892: av Knut Smaaland UiO Ärende: Endfile & Lastitem Ett sätt (på DEC) är att skriva skip(t,' '); (SKIP enkel att definiera i ren SIMULA). OBS Dock att Lastitem även skippar TABs. Men TABs förekommer sällan TTY-inmatning (men kanske desto oftare i filer?). Ett annat sätt är: Open(Blanks(nn)); ilast:- Image.Sub(nn,1); ifront:- Image.Sub(1,nn-1); totimage:- Image; ilast:= "*"; .... Image:- ifront; Inimage; Image:- totimage; Lastitem; IF Pos = nn THEN !There was nothing else in the image; ELSE ...
(142579)
(142583) 80-09-14 23:30 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142449: av Knut Smaaland UiO Ärende: Endfile & Lastitem Misstänker att Anders Ström efterlyser möjligheten att SUCCESSIVT "beta av" en text (a la Inint); dvs som SCANINT m fl gör.
(142583) (kommentar i 143655)
(142587) 80-09-14 23:38 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142550: av Överföring från NADJA Ärende: Simula används i USA! Hur lång är en programmerargeneration? Även om SIMULA (självklart) inte är det slutliga programmerarspråket (om det nu någonsin kommer att finnas ett sådant...), så är jag inte beredd att hålla med det första påståendet (:"Om två progr-gen:er ...lika hemskt /med/ SIMULA som... idag ... FORTRAN.").
(142587) (kommentar i 143047, 143733)
(142658) 80-09-15 09:14 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142217: av Överföring från NADJA Ärende: Endfile & Lastitem Det är bara att använda SYS:LIBSIM<scanint, scanreal> etc.
(142658)
(142696) 80-09-15 09:56 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142548: av Överföring från NADJA Ärende: Portabilitet nä. en sammansatt sats är en sammansatt sats och inte "ett block utan deklarationer". ett läge t ex är en deklaration i sig; om man har ett läge i ett block är det inte definierat utanför blocket, däremot går det som sagt bra att m h a lägen hoppa in i sammansatta satser. att then-grenen vore en "sluten enhet" har du nog hittat på själv.
(142696) (kommentar i 143657)
(143047) 80-09-15 19:52 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142587: av Mats Ohlin Ärende: Simula används i USA! Det är dock jag!
(143047) (kommentar i 143254)
(143051) 80-09-15 19:53 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142554: av Överföring från NADJA Ärende: Endfile & Lastitem Det kan nog bero på rapporten! Om någon kan ge mig en enkel förklaring på hur VW-grammatiken fungerar så skall jag med nöje lära mig A68. (Jo jag HAR försökt läsa den, och jag som brukar säga "ju abstraktare desto bättre".. Där fick jag).
(143051) (kommentar i 143665)
(143169) 80-09-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142552: av Överföring från NADJA Ärende: Portabilitet Ska SIMULA läsa defaultswitchar från SWITCH.INI? Original: (8423) 80-09-14 23:56 TOMMY ERICSON QZ Det enklaste är att du gör en MICro för ändamålet.
(143169) (kommentar i 143171)
(143171) 80-09-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143169: av Överföring från NADJA Ärende: Portabilitet Läsa från SWITCH.INI Original: (8533) 80-09-15 15:44 PER DANIELSSON Jag har en egen LINK som appendar på TMP:SVC, som funkar nästan. Den behöver bara snyggas upp lite, MICron är så långsamma!
(143171) (kommentar i 143198)
(143198) 80-09-15 22:56 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143171: av Överföring från NADJA Ärende: Portabilitet jajasägerdådet. den tid du offrat på ett eget LINKinterface skulle du sparat in flerfaldigt genom att använda en mic. Men du tycker säkert att det är roligt att förbättra hjulet också.
(143198) (kommentar i 144269)
(143621) 80-09-16 19:18 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Breakoutimage bör göra det den gör just nu, tycker jag. Däremot vore det trevligt med en procedur till, som gjorde samma sak som breakoutimage, men utan att räkna upp radnummer.
(143621)
(143623) 80-09-16 19:21 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: In- och utmatning. Ett definitivt önskemål för vilket programspråk som helst borde vara att man helt kan kontrollera in- och utmatning inifrån språket. För ett högnivåspråk som Simula borde inte implementationer som åsidosätter sådana önskemål godkännas.
(143623)
(143655) 80-09-16 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142583: av Mats Ohlin Ärende: Endfile & Lastitem Original: (8668) 80-09-16 00:11 ANDERS STRÖM Kanske inte så mycket beta av en text som att bygga upp en text steg för steg. Jag har en tillämpning där jagjag bygger upp två texter parallellt, och sedan mata ut dem med Outtext. När det gäller att beta av textobjektet använder jag redan rutiner ur Libsim som utgår från aktuell pos, så där fungerar det bra.
(143655) (kommentar i 143932)
(143657) 80-09-16 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142696: av Maj-Britt Kåhre Ärende: Portabilitet Blockstrukturen? Original: (8672) 80-09-16 00:19 ANDERS STRÖM Du har säkert rätt vad gäller definitionen av simula. (stryk säkert) Resonemanget var snarast vad som borde gälla, och där måste jag hålla med om att det inte borde vara tillåtet att hoppa in i THEN-grenen. Eller vad är semantiken i följande programavsnitt: ... IF b THEN GOTO l; ... FOR i:= 1 STEP 1 UNTIL n DO BEGIN ... l: ... ... END; ...
(143657) (kommentar i 143659, 145349)
(143659) 80-09-16 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143657: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8682) 80-09-16 09:36 TOMMY ERICSON QZ FOR-satser är en slags block, hopp in i sådana är inte tillåtna i Simula, däremot i Fortran, men där under förutsättning att man inte ändrat styrande variabel...
(143659) (kommentar i 143661, 143807, 145351)
(143661) 80-09-16 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143659: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8690) 80-09-16 11:01 ANDERS STRÖM Du har rätt. Jag testade inte, men jag tittade i Common Base (den ligger bredvid terminalen), men jag läste inte tillräckligt noga. Hur som helst så är det inte detta som är det väsentliga; Jag tycker inte om skrivningar av typen: IF x THEN GOTO l; ... IF y THE l: foo(0); ... Jag kan inte beskriva riktigt varför, troligen är det beroende på att man blandar två metoder att strukturera; Dels att använda goto, och dels att använda strukturerade satser. /THE/->/THEN/
(143661) (kommentar i 143663, 144265, 144301)
(143663) 80-09-16 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143661: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8698) 80-09-16 11:54 PER DANIELSSON Labels borde vara implicita deklarationer och som sådana inte existera utanför sin range!
(143663)
(143665) 80-09-16 22:43 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143051: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Endfile & Lastitem associate (a text with a file) Original: (8700) 80-09-16 11:56 PER DANIELSSON Man behöver inte läsa rapporten! Man bör t.o.m. helst inte läsa rapporten om man vill hålla sig vid sunda vätskor. Däremot är den utmärkt som referens att slå i när man undrar över något.
(143665)
(143705) 80-09-16 23:46 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142550: av Överföring från NADJA Ärende: Simula används i USA! Original: (6349) 80-09-16 08:02 CARL GUSTAF JANSSON NEj, men Simula håller sig ändå rätt bra! Aktörsspråken som nu börjar dyka upp är ju till sin filosofi starkt simulaorienterade. Tror personligen på Systembeskrivande språk av Simulatyp För programmering av stora system, något som kommer att få ökad betydelse. Däremot vore det trevligt om progspråk av Logikprogrammerings typ kunde integreras för att lösa specifika komplexa problem!
(143705) (kommentar i 143898)
(143707) 80-09-16 23:46 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Simula gossip Original: (6357) 80-09-16 08:08 CARL GUSTAF JANSSON Har hört att Simula används som huvudspråk i undervisningen vid COMPUTER SCIENCE dept i Stanford.
(143707)
(143731) 80-09-16 23:52 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142550: av Överföring från NADJA Ärende: Simula används i USA! nei, det er det helt sikkert ikke. simula har helt klart store og vesentlige mangler. men i dag hadde det värt godt å få bruke simula i det private näringsliv.
(143731)
(143733) 80-09-17 00:00 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Maj-Britt Kåhre. Mottaget: 80-09-17 12:39 Kommentar till :142587: av Mats Ohlin Ärende: Simula används i USA! hvor lang er programmeregeneration? det kommer litt anpå, i fölge siste statistiske undersökelsen til WHO (world health org....) så er gjennomsnittlig levetid for en simula programmerer ca. 40 år i tilleg til alderen han begynner å jobbe i, hvis begynneralder er ca. 20-30 år. fortran/cobol programmere dör av hjerteinfarkt og nevroser etter ca. 10 års yrkespraksis.
(143733) (kommentar i 143769)
(143769) 80-09-17 08:22 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143733: av Knut Smaaland UiO Ärende: Simula används i USA! Är verkligen SIMULA-orsakade nybörjardödsfall inräknade i dessa siffror? När fellistan vid kompilering blivit kortare än själva källkoden började jag trivas med SIMULA,men inte förr.
(143769) (kommentar i 144326)
(143777) 80-09-17 08:38 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142550: av Överföring från NADJA Ärende: Simula används i USA! Efter alla allvarliga svar på detta nöjer jag mig med att peka på den sista meningen i inlägg 142550 (orig:8175) och låta läsaren dra sina egna slutsatser.
(143777) (kommentar i 145154)
(143898) 80-09-17 12:04 Martin Nilsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143705: av Överföring från ADB Ärende: Simula används i USA! LISP+SIMULA-> Act 1 Prolog + Act 1 -> Intermission Intermission är ett språk som Ken Kahn har hittat på och har en massa skojiga egenskaper. Problemet f n med ACTOR-språk är att det är svårt att göra effektiva implementationer. Men det kommer förhoppningsvis!
(143898) (kommentar i 143919)
(143932) 80-09-17 12:58 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143655: av Överföring från NADJA Ärende: Endfile & Lastitem Som PUTTEXT (i LIBSIM) fast kanske även motsvarande PUTINT, PUTREAL? PUTCHAR finns ju redan. Annars kan man ju lätt skriva egna varianter: BOOLEAN PROCEDURE putint(t,x,w); NAME t; TEXT t; INTEGER x,w; BEGIN TEXT s; s:- t; IF s.Length-s.Pos+1 >= w THEN BEGIN s:- s.Sub(s.Pos,w); s.Putint(x); t.Setpos(t.Pos+w); putint:= TRUE END was space enough; END of putint;
(143932) (kommentar i 144328)
(144265) 80-09-17 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143661: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8793) 80-09-16 23:28 TOMMY ERICSON QZ Jag håller med dig. Men vad göra då man saknar REPEAT - UNTIL? Eller ännu hellre LOOP s1; EXIT IF cond; s2; LOOPEND. Pascal (DEC-10) och SAIL har även den senare strukturen. Man vill inte repetera satser i onödan, ju.
(144265) (kommentar i 144267)
(144267) 80-09-17 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: PASCAL erfarenhetsutbyte. Sändare: Tommy Ericson QZ Kommentar till :144265: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8817) 80-09-17 02:07 ANDERS STRÖM LOOP s1; EXITIF cond; s2; LOOPEND är en generell loop-konstruktion som täcker både WHILE (s1 är tom) och REPEAT (s2 är tom).Naturen är dock så vist innrättad att det ser bra ut med: WHILE TRUE DO BEGIN s1; IF cond THEN GOTO l; s2; END; l: Åtminstone tycker jag att det ser bra ut, att hoppa ur en sammansatt sats är inte alltför onaturligt, medan det omvända (att hoppa in) ... När vi ändå är inne på blockstrukturer kan jag inte hålla mig från ett litet exempel i Pascal. CASE i OF 1: 2: writeln(i); 2: goto 2 END Vad sägs om den?
(144267) (kommentar i 144271, 144330)
(144269) 80-09-17 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143198: av Tommy Ericson QZ Ärende: Portabilitet Läsa från SWITCH.INI Original: (8851) 80-09-17 08:06 PER DANIELSSON Jag hade en MIC först, men den gick så trögt om man ville ha defaults & sånt (utan arg medför förra arg). Hjulet tror jag att jag kan ha lite svårt att förbättra, men att förbättra CUSPar lite med hjälp av MACRO-10 program är ju skojigt!
(144269) (kommentar i 144273)
(144271) 80-09-17 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: PASCAL erfarenhetsutbyte. Sändare: Tommy Ericson QZ Kommentar till :144267: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8865) 80-09-17 09:12 TOMMY ERICSON QZ Kompileras exemplet med två lägen 2: ?
(144271) (kommentar i 144275)
(144273) 80-09-17 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144269: av Överföring från NADJA Ärende: Portabilitet Läsa från SWITCH.INI Original: (8867) 80-09-17 09:12 TOMMY ERICSON QZ Ja, det var det där med skojigheten jag ville få fram!
(144273)
(144275) 80-09-17 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: PASCAL erfarenhetsutbyte. Sändare: Tommy Ericson QZ Kommentar till :144271: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (8893) 80-09-17 11:02 ANDERS STRÖM Bra fråga. Den första 2: är en label som man kan göra goto till. De bägge andra är case-labels. En sats får inledas med en label, och detta gäller även inom en gren i en case-sats.
(144275)
(144301) 80-09-17 23:45 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143661: av Överföring från NADJA Ärende: Portabilitet Blockstrukturen? Original: (6546) 80-09-17 12:48 STEFAN CEDERHOLM Håller fullständigt med dig. Anser dock att skrivningar av den typ du angav inte ger någon struktur alls.
(144301)
(144326) 80-09-18 01:54 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143769: av Björn Bergström Ärende: Simula används i USA! DET STO INGENTING OM AKKURAT DET
(144326)
(144328) 80-09-18 01:59 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143932: av Mats Ohlin Ärende: Endfile & Lastitem JA DET ER KANSKJE TRYGGEST Å SKRIVE SINE EGNE PUT????? PROCEDURES, DET ER ALVORLIGE BUGS I PUTFIX,PUTREAL,OUTFIX,OUTREAL DE VIRKER OVERHODET IKKE I OVERENSSTEMMELSE MED COMMON BASE. PRÖV FOR EXEMPEL OUTFIX (3,09,120,120); DU FÅR ET GANSKE PUSSIG RESULTAT. TILSVARENDE MED PUTFIX(3.3,120,120); ; DET VAR DE SAMME BUGS I FORRIGE VERSJON AV SIMULA LITT SKUFFENDE AT DE IKKE ER RETTET.
(144328) (kommentar i 145488)
(144330) 80-09-18 02:06 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144267: av Överföring från NADJA Ärende: Portabilitet HVIS MAN SVNER REPEAT UNTIL I SIMULA SÅ KAN MAN JO BARE BYTTE LITT PÅ ORDENE. (SÅ VIDT JEG HUSKER SÅ ER REPEAT UNTIL SOM OMTRENT EN FORTRAN DO-LOOP DET VIL SI DEN GJÖRES MINST EN GANG. HVA MED Å BRUKE: FOR I:=1,WHILE B DO BEGIN ; END; DENNE GÅR OGSÅ EN GANG BESTANDIG!! TESTEN PÅ B BLIR IKKE UTFÖRT FÖRSTE GANG. EGENTLIG BURDE MAN TENKE LITT MERE PÅ Å BRUKE FOR...WHILE KONSTRUKSJONER, MAN KAN FÅ TIL DET MESTE MED DE.
(144330) (kommentar i 145353)
(144747) 80-09-19 00:07 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Direktfilshanteringen Har för mig att directfiles diskuterades för några 100 inlägg sedan. Var det något fel som rättades? I så fall, har denna rättning inte genomförts på ADB-2020:an ? Där verkar inte direktfilshanteringen fungera alls just nu! (eller har det inte med SIMULA-systemet att göra ?) Samma program går perfekt på 10:an.
(144747) (kommentar i 145719)
(144793) 80-09-19 09:39 Mats Ohlin Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144757: av Christer Wikmark SU/ADB Ärende: Terminaltyper Det är terminaltypens namn i SIXBIT. I SIMULA (t ex) kan man läsa med IDSIXBIT(XTRMOP(8R1041,IONDX(Sysout),0),0).
(144793) (kommentar i 145865)
(144861) 80-09-19 11:44 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Externkompilering på standardiserade blocknivåer. Externkompilerring ahr vållat mig en hel del besvär. Det har främst varit svårigheter med att foga ihop externdeklarerade moduler till nya enheter. Efter mycket om och men har jag kommit fram till en metod som jag trivs med. Jag tror att en hel del ompompileringar skulle kunna undviskas om alla enades om någon liknande metod. (Alla utom jag kanske redan använder en sådan metod, vad vet jag.) Externdeklarerade paket prefixade med Simset låter sig svårligen sammanfogas på något annat sätt än genom omkompilering. Detta eftersom man inte kan bilda objekt ur dessa klasser. Det enklaste är att låta sådana klasser alltid ligga på nivå 1 (dvs options(/E);) Övriga externdeklarerade klasser kan man bilda objekt ur . Om de kompileras på nivå två så är det lätt att sammanfoga dem inbördes, och också lätt att foga samman dem med Simset-prefixade klasser. Ett exempel får visa hur jag menar: Två externdeklarerade klasser, kallade a och simst1 fogas samman till en ny externdeklarerad klass simst2. Denna användes sedan i huvudprogrammet, där faciliteter från både a och simst1 är tillgängliga, tillsammans med eventuella nya i simst2. 00100 OPTIONS(/2E); 00200 CLASS a; ; 00300 00400 OPTIONS(/E); 00500 Simset CLASS simst1; ; 00600 00700 OPTIONS(/E); 00800 EXTERNAL CLASS simst1; 00900 simst1 CLASS simst2; BEGIN 01000 EXTERNAL CLASS a; 01100 a CLASS b; BEGIN 01200 PROCEDURE skriv; ; 01300 END; 01400 01500 REF(b) pb; 01600 pb:-NEW b; 01700 END; 01800 01900 Huvudprogrammet: 02000 BEGIN 02100 EXTERNAL CLASS simst2; 02200 simst2 BEGIN 02300 INSPECT pb DO skriv; 02400 END END (Håll med om att ompompilera låter ståtligt, även om det är fel.)
(144861) (kommentar i 144965)
(144965) 80-09-19 14:16 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144861: av Lennart Borgman LTH Ärende: Externkompilering på standardiserade blocknivåer. Själv skulle jag nog lägga CLASS A i simst1 (eller om så önskas; i en mellanliggande klass "simst'1.5'"). SIMST2 samt huvudprogram måste ju i vilket fall omkompileras om man ändrar klass A.
(144965) (kommentar i 145034)
(145034) 80-09-19 16:26 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144965: av Mats Ohlin Ärende: Externkompilering på standardiserade blocknivåer. Jo, det är ju sant att Simst2 och huvudprogrammet måste kompileras om A ändras. Men jag menar alltså att A och Simst1 ska vara externa klasser på allmän area. Om de är kompilerade på detta sätt där går det ju att kombinera dem, vilket inte skulle gått annars. Själva kombineringen sker i Simst2, vilken jag av erfarenhet vet kan bli omfattande.
(145034) (kommentar i 145044)
(145044) 80-09-19 17:12 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145034: av Lennart Borgman LTH Ärende: Externkompilering på standardiserade blocknivåer. Instämmer. Man saknar möjligheten av att kunna kombinera flera prefixklasser på samma nivå; t o m även om de skulle ha en eller flera klasser gemensamma "högre" upp i prefixkedjan. T ex Simset CLASS S1;.... Simset CLASS S2;.... Simulation CLASS SIM;.... S1+S2+SIM BEGIN .... END P s s löses även problemet med "context"; t ex kan klassen S1 innehålla endast en subklass till Link och ger då därmed den praktiska möjligheten att externkompilera subklasser till Link, Process etc och likväl kunna utnyttja dessa i "andra" Simset/Simulation- "sammanhang".
(145044) (kommentar i 145046)
(145046) 80-09-19 17:15 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145044: av Mats Ohlin Ärende: Externkompilering på standardiserade blocknivåer. Funktionellt skulle således S1+S2+SIM fungera som man (idag) hade gjort: Simulation CLASS S1;.... S1 CLASS S2; .. innehåll motsv "gamla" S2... S2 CLASS SIM; ..innehåll motsv "gamla" SIM... SIM BEGIN ... END /byt /som/som om/
(145046)
(145154) 80-09-19 23:43 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143777: av Tommy Ericson QZ Ärende: Simula används i USA! Original: (6906) 80-09-19 13:29 MIA FREDLUND Jag ska högaktningsfullt be att få protestera!!!!! * För det första, vad menar du, Knut Smaaland med att omtala programmerare med HAN? * För det andra, även gamla hundar kan man lära att sitta! Såsom både gammal COBOL-programmerare och arbetsledare (dock med modesta 2-3 underställda) inser jag fördelarna med Simula. Men det gällde kanske bara manliga dito:n???? * För det tredje så tror jag att det finns ett par saker, som gör att det är lite svårt att saluföra Simula: - filhanteringen - alltför stor möjlighet att "smartprogrammera", det sista är ondo, när det är många , som håller på med samma sak samtidigt. (Möjligheten bör inte tas bort, "smarprogrammering" är ibland tyvärr nödvändig, men den bör kunna begränsas.) * För det tredje, apropå konservatism. Det är förfärligt vad GOTO-konstruktion erer diskuteras i det här mötet.
(145154) (kommentar i 145753, 146108, 146420, 149737)
(145345) 80-09-20 17:00 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142554: av Överföring från NADJA Ärende: Endfile & Lastitem Att A68 inte slagit igenom beror enligt professor Barron på att det dröjde så länge efter språkets konstruktion innan det kom några användbara kompilatorer.
(145345) (kommentar i 146422)
(145347) 80-09-20 17:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142548: av Överföring från NADJA Ärende: Portabilitet Instämmer! Att SIMULA inte har det så beror på att man ville bevara kompatibiliteten med Algol 60.
(145347)
(145349) 80-09-20 17:04 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143657: av Överföring från NADJA Ärende: Portabilitet Jag brukar ofta koda med följande logik, som jag upplever naturlig och klar, fast den säkert ogillas av fanatiska GOTO-fiender. Dessa kan kanske förklara varför min stil är olämplig! IF <villkor> THEN BEGIN ... ... IF <felvillkor> THEN GOTO feluthopp; ... IF <felvillkor 2> THEN GOTO feluthopp; ... IF <felvillkor 3> THEN GOTO feluthopp; ... END; IF FALSE THEN feluthopp: BEGIN ... !felåtgärder; END;
(145349) (kommentar i 146418)
(145351) 80-09-20 17:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :143659: av Överföring från NADJA Ärende: Portabilitet En viktig skillnad är dock att de Algol-baserade språken ger felutskrift vid kompilering om man gör icke tillåtna försök till inhopp, medan Fortran-system för det mesta gör något som ibland kan verka vettigt, men som kan vara olika för olika Fortran-system.
(145351) (kommentar i 145554)
(145353) 80-09-20 17:09 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144330: av Knut Smaaland UiO Ärende: Portabilitet Fantastiskt! SIMULA har en REPEAT-UNTIL-konstruktion, bara att jag inte kommit på det förut! Tack!!!
(145353) (kommentar i 145855, 146424)
(145355) 80-09-20 17:16 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :142550: av Överföring från NADJA Ärende: Slutligt programmeringsspråk Ännu har det dock inte dykt upp något programmeringsspråk som motiverat mig att byta från Simula. Visst har Algol 68 och Pascal och ADA vissa fördelar jämfört med Simula, men de har också vissa nackdelar. T.ex. saknar Pascal garbage collector, och Algol 68 är ett så stort språk att alla implementeringar vad jag vet är bara delar av språket. Algol 68 har också vad jag vet en del underligheter i sin hantering av REF-variabler. Exempel: (Jag kan inte Algol 68-s syntax, men exemplet torde ändå vara semantiskt riktigt): REF (REAL) refreal; BEGIN real a, b, c, d, e; refreal:- c; END; Skall refreal fortfarande kunna peka på en variabel inne i blocket efter det att man gått ur blocket. Skall alltså blockets variabler inte avallokeras när man lämnar blocket som är normalt i Algol- lika språk?
(145355) (kommentar i 145559, 146427)
(145488) 80-09-20 23:43 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :144328: av Knut Smaaland UiO Ärende: Endfile & Lastitem endfile Original: (6989) 80-09-20 08:44 CARL GUSTAF JANSSON
(145488)
(145554) 80-09-21 12:56 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145351: av Jacob Palme FOA1 Ärende: Portabilitet Jovisst! Jag brukar implementera globala GOTO i F-N med följande konstruktion: C Main program COMMON /FOO/ IBAR ASSIGN 10 TO IBAR CALL SUB C Hit kommer vi inte. 10 CONTINUE C Men hit! END SUBROUTINE SUB COMMON /FOO/ IBAR GOTO IBAR END Ibland kan man dock bli tvungen att trixa lite för att få kompajlern att acceptera koden. (Vaddå?? Någon som tycker att detta är phul kod? Visst är det det, men vad skall man göra i ett sådant dj-a språk som f-n (ursäkta det dåliga skämtet))
(145554) (kommentar i 145643)
(145559) 80-09-21 13:00 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145355: av Jacob Palme FOA1 Ärende: Slutligt programmeringsspråk Denna konstruktion är syntaktiskt felaktig i A68. En av de 'underligheter' i REF-variabelshanteringen som du talar om är just att man inte får tilldela en pekarvariabel ett pekarvärde med mindre scope än variabeln har. Detta gör att lokalt genererade variabler (förlåt mig alla A68-fans, men jag kan inte den exakta terminologin) kan frisläppas när blocket de skapades i lämnas.
(145559)
(145643) 80-09-21 20:55 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145554: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Portabilitet Naj, det är snygg F-kod. Om du dessutom hade fått med EQUIVALENCE hade jag applåderat!
(145643) (kommentar i 145745)
(145745) 80-09-22 08:15 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145643: av Tommy Ericson QZ Ärende: Portabilitet hmm! implicita STOP och RETURN är väl inte snyggt?? EQUIVALENCE är ovanligt trevlig, det håller jag med om.. (fast det var inte så du menade, antar jag; "och för guds skull, redaktörn, använd aldrig ironi".)
(145745) (kommentar i 146156)
(145753) 80-09-22 08:32 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145154: av Överföring från ADB Ärende: Simula används i USA! GOTO: Ja,jag krypterar allt jag använt GOTO i för att ingen skall upptäcka det,för jag har förstått att det är MYCKET FULT!
(145753) (kommentar i 147183)
(145842) 80-09-22 09:53 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141663: av Lennart Borgman LTH Ärende: Outchar(esc); Eject(1); Detta tycker jag verkar vara ett fult exempel på utnyttjande av (ofullständig) information om vad Eject innebär. Varför inte Outchar(ff) likaså? Ingen åtgärd.
(145842)
(145845) 80-09-22 09:56 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141705: av Mats Wallin FOA1 Ärende: LOWC Inte svårt alls. Tanken var väl att man lika gärna kunde ha jämförelse- tecknet i övre skift som i undre, och övre valdes då som det mest tydliga.
(145845) (kommentar i 145847, 145872)
(145847) 80-09-22 10:01 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145845: av Lars Enderin FOA1 Ärende: LOWC Men det är ju inte bara för jämförelse man önskar den, utan även för faktisk konvertering av stora till små.
(145847) (kommentar i 146070)
(145855) 80-09-22 10:05 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145353: av Jacob Palme FOA1 Ärende: Portabilitet FOR i:= i är bättre än FOR i:= 1 !
(145855) (kommentar i 146699)
(145857) 80-09-22 10:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :141971: av Knut Smaaland UiO Ärende: Breakoutimage på printfile. I så fall blir antalet rader per sida nästan aldrig rätt vid användning av Breakoutimage. Numera blir det nästan alltid rätt vid vettig användning. Röstar för status quo.
(145857)
(145872) 80-09-22 10:24 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145845: av Lars Enderin FOA1 Ärende: LOWC Lars tänker på JFRTKN medan Mats menar UPC -- LOWC?
(145872) (kommentar i 145932)
(145932) 80-09-22 12:24 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145872: av Mats Ohlin Ärende: LOWC Nej, det gjorde jag inte, men jag tänkte på den vanligaste användningen nämligen t ex IF upc(fetchar(Sysin.Image, 1)) = 'Y' THEN !Yes; ...
(145932)
(146070) 80-09-22 16:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145847: av Mats Wallin FOA1 Ärende: LOWC Jag har gjort proceduren nu. F n endast tillgänglig på <13,134,LIB>.
(146070) (kommentar i 146229)
(146084) 80-09-22 16:21 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: RETURN I flera språk finns satsen RETURN, som eventuellt kan ha ett argument. Effekten är återhopp från en procedur och argumentet ger (om det finns) procedurens värde (i FORTRAN är det i stället numret på felutgången tror jag). Är detta önskvärt i SIMULA? Jag skulle lätt kunna skriva en procedur enligt spec: OPTIONS(/E:QUICK,NOCHECK,return); PROCEDURE return; !(procedure value); som skulle avsluta närmast statiskt omgivande procedur och ge den ett värde om så önskas. Anropet måste nog vara på yttersta nivån i en procedur för att inte ge problem med omgivningen (jfr GOTO, som kan ge en hel del omgivningsändringar). Subblock och INSPECT kan eventuellt klaras av dock. Är det dålig programmeringsteknik att använda RETURN och bör det därför inte uppmuntras?
(146084) (kommentar i 146094, 146116, 146136, 146179, 146289)
(146100) 80-09-22 16:44 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146094: av Martin Nilsson Ärende: RETURN Kan du närmare beskriva vad CATCH och THROW innebär? Det dåliga skulle vara att man inte har EN ENDA utgång ur en procedur, men samma sak gäller för någon form av EXIT-sats för utgång ur en loop eller annan lokal omgivning.
(146100) (kommentar i 146549)
(146116) 80-09-22 17:20 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146084: av Lars Enderin FOA1 Ärende: RETURN dett er ikke önskverdig.! Og NB!! det er ikke snakk om önskverdig i SIMULA det er i tilfelle snakk om önskverdig i LIBSIM Ikke snakk om slike ting på en slik måte at folk ikke klart oppfatter forskjellen på simula og libsim. Jeg synes du skule droppe ideen. Det er vel ikke akkurat dårlig programmeringsteknikk og bruke RETURN men jeg synes det er relativt dårlig programmeringsteknikk å gjöre seg altfor avhengig av LIBSIM procedures.
(146116) (kommentar i 146128, 146555)
(146128) 80-09-22 17:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146116: av Knut Smaaland UiO Ärende: RETURN Jag var också tveksam till ide'n när jag fick önskemålet framfört till mig. Jag avstår nog med tanke på komplikationerna vid flyttning av program. Det var ett intressant sätt att utvidga SIMULA på dock.
(146128) (kommentar i 146168)
(146136) 80-09-22 17:51 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146084: av Lars Enderin FOA1 Ärende: RETURN Jag är rädd för att RETURN kan bli en mycket farlig sak, som kan göra det svårt att flytta SIMULA-program till andra system. Hellre då EXITLOOP som bryter närmast omgivande FOR- eller WHILE- loop (kan nog klaras av ett översättningsprogram).
(146136) (kommentar i 147185, 148951)
(146156) 80-09-22 18:09 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: (Datorstödda) telemötessystem - erfarenheter, synpunkter Kommentar till :145745: av Maj-Britt Kåhre Ärende: Portabilitet När man är ironisk i KOM kan det vara lämpligt lägga till texten (OBS ironiskt).
(146156) (kommentar i 146172, 147187)
(146168) 80-09-22 18:17 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146128: av Lars Enderin FOA1 Ärende: RETURN Fast om du redan skrivit rutinen så kan jag väl få en privat kopia ? Jag håller med om kompatibilitetsproblemen, men det är ett snyggt struktureringshjälpmedel ! För den delen inne- håller redan Libsim så mycket att många vid QZ producerade SIMULA-program aldrig kan flyttas till annan masin.
(146168) (kommentar i 146187, 146313)
(146179) 80-09-22 18:35 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146084: av Lars Enderin FOA1 Ärende: RETURN Nackdel är väl att man uppmuntrar folk skriva icke-portabla program.
(146179)
(146187) 80-09-22 18:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146168: av Gunnar Lindell QZ Ärende: RETURN Jag har inte skrivit den!
(146187)
(146229) 80-09-22 19:30 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146070: av Lars Enderin FOA1 Ärende: LOWC Tack.
(146229) (kommentar i 146244)
(146244) 80-09-22 20:02 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :146229: av Mats Wallin FOA1 Ärende: LOWC Finns nu i NEWD:LIBSIM, att flyttas till SYSC: vid tillfälle.
(146244) (kommentar i 146268)
(146268) 80-09-22 20:24 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :146244: av Lars Enderin FOA1 Ärende: LOWC Dessutom finns ny SIMULA.EXE 5(300) på NEWD:
(146268) (kommentar i 146271)
(146271) 80-09-22 20:24 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :146268: av Lars Enderin FOA1 Ärende: LOWC + SIMULA.HLP
(146271) (kommentar i 148298)
(146289) 80-09-22 21:47 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146084: av Lars Enderin FOA1 Ärende: RETURN RETURN är en ypperlig konstruktion! Dessutom kan man ha: LOOP: Ta genast nästa varv i loopen utan att passera resten av koden till det END so måste finnas. EXIT: Avbryt denna loop.
(146289) (kommentar i 146545, 147190)
(146313) 80-09-22 22:28 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146168: av Gunnar Lindell QZ Ärende: RETURN "aldrig kan flyttas..." låter lite hårt. Innehållet i LIBSIM kan grovt kategoriseras enligt: A. Stora applikationsklasser typ SAFEIO, SIMDBM Inga portabilitetsproblem i sig (se dock C nedan). B. Smärre, bekvämlighetsprocedurer, enkla definierade i SIMULA; typ SCANTO, SKIP, REST, UPC etc. Inga p-problem. C. Vissa maskinberoende procedurer typ CPTIME, FINDINFILE etc som är väsentliga för att skriva goda program. Ofta finns någon motsvarighet på andra maskiner; men högre grad av standardisering vore önskvärt. Vissa p-problem; "kortslutning" ibland möjlig, provisorisk lösning.
(146313)
(146418) 80-09-22 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145349: av Jacob Palme FOA1 Ärende: Portabilitet Blockstrukturen? Original: (9904) 80-09-22 01:13 BJÖRN DANIELSSON Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: Simula erfarenhetsutbyte Jag var GOTO-hatare förut men har ändrat mej. Dvs jag tycker att skaparkraften hämmas om man tvingar sej att bara använda BEGIN-, IF- och WHILE-konstruktioner. Men klart användbarare än GOTO är CATCH- och THROW-konstruktionerna i MACLISP. Ex: (CATCH ( ... (THROW <uttryck> FOO) ... ) FOO) FOO är där för att THROW ska hoppa ut ur matchande CATCH, som i så fall får värdet av <uttryck>.
(146418)
(146422) 80-09-22 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145345: av Jacob Palme FOA1 Ärende: Endfile & Lastitem A68 Original: (9894) 80-09-22 00:29 PER DANIELSSON Den första A68an gjordes av nånting som heter Radar Research establishment (tror jag det heter) i England, någongång 1969 eller 1970. Visserligen ett subset, men ändå en bragd eftersom många påstod att det inte skulle gå att göra en kompilator för det där konstiga språket. Algol-68C, som utvecklats i Cambridge (portabel till många maskiner), fanns som prerelease redan 1977 eller 1978 (omkring då). Revised Report on A68 kom ut 1976 om jag inte minns fel. De flesta implementationer av A68 är tyvärr subsets, jag vet bara en som påstås vara fullständig.
(146422)
(146424) 80-09-22 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145353: av Jacob Palme FOA1 Ärende: Portabilitet Blockstrukturen? Original: (9896) 80-09-22 00:39 PER DANIELSSON Man kan också skriva det man vill göra som en Boolean Procedure och skriva: BOOLEAN PROCEDURE foo; BEGIN .... END; . . WHILE foo DO; Bäst på sånt här är (förstås) A68 som tillåter: FOR a FROM b BY c TO d WHILE s1; s2; ... sn DO ss1; ss2; ... ssn OD; där a,b,c och d är "units" och s1.. är "satser". Varje del av konstruktionen (utom DO .. OD) får utelämnas och defaultas då till det man tror.
(146424)
(146418) 80-09-22 22:54 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145349: av Jacob Palme FOA1 Ärende: Portabilitet Blockstrukturen? Original: (9904) 80-09-22 01:13 BJÖRN DANIELSSON Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: Simula erfarenhetsutbyte Jag var GOTO-hatare förut men har ändrat mej. Dvs jag tycker att skaparkraften hämmas om man tvingar sej att bara använda BEGIN-, IF- och WHILE-konstruktioner. Men klart användbarare än GOTO är CATCH- och THROW-konstruktionerna i MACLISP. Ex: (CATCH ( ... (THROW <uttryck> FOO) ... ) FOO) FOO är där för att THROW ska hoppa ut ur matchande CATCH, som i så fall får värdet av <uttryck>.
(146418)
(146427) 80-09-22 22:55 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145355: av Jacob Palme FOA1 Ärende: Slutligt programmeringsspråk pekarvariabler. Original: (9913) 80-09-22 02:14 BJÖRN DANIELSSON Med syntaxen rätt ser programsnutten ut så här: REF REAL refreal; BEGIN REAL a,b,c,d,e; refreal := c END Detta är syntaktiskt riktigt har jag för mej (syntaxen ÄR lite snårig!), men 3:e raden är semantiskt felaktig, eftersom "source" i tilldelningen har mindre scope än "destination". Om alla dekla- rationer skrivs ut i fullständig form blir det lite klarare: REF REF REAL refreal = LOC REF REAL; BEGIN REF REAL a = LOC REAL, b = LOC REAL, c = LOC REAL, d = LOC REAL, e = LOC REAL; refreal := c END Detta innebär att c är av "typ" REF REAL, och identifieras vid deklarationen med värdet av LOC REAL, som vid exekvering allokerar plats för en REAL (dvs ett tal) på stacken. De värden som LOC XXX ger har begränsat scope (= närmast omgivande block innehållande deklarationer). Vill man ha obegränsat scope använder man HEAP XXX, i exemplet: REF REAL c = HEAP REAL, eller i förkortad form: HEAP REAL c; Primitiva värden som t.ex. REALs har givetvis också obegränsat scope, så att vanliga talvärden kan överföras mellan variabler utan krångel. En vettig kompilator bör kunna upptäcka det semantiska felet i exemplet, men det finns tyvärr fall där kontrollen måste göras vid runtime, eller (ve och fasa!) utelämnas. A68-rapporten säger bara att semantiskt felaktiga program "... are not meaningful programs".
(146427) (kommentar i 147145)
(146545) 80-09-23 09:20 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146289: av Sören Tirfing Ärende: RETURN Det var Gunnar Lindell som ville ha det. Att jag övervägde att göra det beror på att det vore relativt enkelt, men kompatibilitetsskälen övertygar mig om det olämpliga i att införa RETURN i LIBSIM. LOOP och EXIT är inte alls lika enkla att införa i LIBSIM utan kräver ingrepp i kompilatorn. Fördelarna är troligen inte så stora att det lönar sig att äventyra flyttbarheten; bäst är att försöka få in det i standarden. LOOP och EXIT behöver dessutom tänkas igenom noga - i BLISS-10 hade man tidigt olämpliga konstruktioner som krävde att man räknade nivåer; sedan införde man ett läge som beteckning på en omgivning så att man kan skriva t ex computation: LOOP ... WHILE ... ... EXIT computation; ... och komma ut ur flera omgivningar på ett snyggt sätt. LOOP har inte samma betydelse som du föreslår här.
(146545)
(146549) 80-09-23 09:20 Martin Nilsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146100: av Lars Enderin FOA1 Ärende: RETURN Se inlägg 146418!
(146549)
(146555) 80-09-23 09:28 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146116: av Knut Smaaland UiO Ärende: RETURN Jag instämmer delvis. Det börjar bli mer och med nödvändigt att dela upp LIBSIM i en 'ren' Simuladel och en DEC-10/20-specifik.
(146555)
(146678) 80-09-23 12:19 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Externa klasser och storleken på programmet Det program jag håller på att skriva har blivit otäckt stort. Dessutom kostar det kosing att ladda det. Kan de här sakerna till någon del bero på att jag använder en hel del externdeklarerade klasser? Kan det vara någon mening att textmässigt lägga ihop allt till ett program plus endast en externdeklarerad modul?
(146678) (kommentar i 146709, 146726)
(146699) 80-09-23 12:42 Kalle Siklosi (kör oftare på NADJA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145855: av Lars Enderin FOA1 Ärende: Portabilitet Sedan fattas bara något efter kommat oxå, dvs FOR i:=i,i WHILE b DO
(146699)
(146709) 80-09-23 12:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146678: av Lennart Borgman LTH Ärende: Externa klasser och storleken på programmet Storleken påverkas knappast, möjligen kan en del gemensamma konstanter ge en viss minskning om man slår ihop modulerna. Laddningen påverkas säkert, med hur mycket har jag ingen aning. Om man lägger ihop allt till större moduler får man större kostnader för redigering och i allmänhet sämre överblick, dessutom riskerar man att få för många rader eller spränga någon annan kompilatorgräns.
(146709)
(146726) 80-09-23 13:24 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146678: av Lennart Borgman LTH Ärende: Externa klasser och storleken på programmet Ett sätt att spara tid och pengar är att dela upp ett stort program i tidsseparerade delar där delprogram <N> efter uträttat arbete anropar sin efterföljare <N+1> osv. Detta kräver givetvis att man kan separera sitt problem på sagda sätt, men kan ofta ha bieffekten att problemet förenklas.
(146726)
(147133) 80-09-23 21:06 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146420: av Överföring från NADJA Ärende: Simula används i USA! Här bör påminnas om existensen av Knuths utsökta artikel "Structured programming with GO TO statements"
(147133) (kommentar i 149474)
(147145) 80-09-23 21:12 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146427: av Överföring från NADJA Ärende: Slutligt programmeringsspråk Nej, detta är inget semantiskt utan ett syntaktiskt fel och skall upptäckas vid kompileringen! (Eftersom A68 är definierad med hjälp av en kontextberoende grammatik, är alla typfel syntaktiska!)
(147145) (kommentar i 148750)
(147183) 80-09-23 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :145753: av Björn Bergström Ärende: Simula används i USA! Konservativa SIMULA-programmerare. Original: (10180) 80-09-23 01:26 ANDERS STRÖM SSRC Det är mycket fult att inte erkänna att de styrstrukturer som erbjuds inte är tillräckliga, utan att man behövt använda GOTO. Rätt använt är även GOTO strukturerat.
(147183) (kommentar i 147947)
(147185) 80-09-23 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146136: av Mats Ohlin Ärende: RETURN Original: (10186) 80-09-23 01:34 ANDERS STRÖM SSRC Det är inte svårare att klara RETURN än EXITLOOP i ett översättnings- program. Jag har en gång skrivit ett program för översättning från SAIL till PASCAL, där jag löste bägge dessa problem. Det var bara att generera några labels och lägga in GOTO.
(147185) (kommentar i 147950)
(147187) 80-09-23 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: (Datorstödda) telemötessystem - erfarenheter, synpunkter Kommentar till :146156: av Jacob Palme FOA1 Ärende: Portabilitet Ironi. Original: (10206) 80-09-23 10:18 PER DANIELSSON Eller använda ett ironiskt tonfall ...
(147187)
(147190) 80-09-23 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146289: av Sören Tirfing Ärende: RETURN Original: (10222) 80-09-23 12:56 LENNART PETTERSSON NADA Nej, det här tycker jag inte om. EXIT är väl bara en 'snygg' maskering av GOTO out; och IF bool THEN LOOP kan väl lika gärna skrivas IF NOT bool THEN <rest of loop>? Ingen anledning att trassla till SIMULAs strukturer för såna saker tycker jag. RETURN däremot vore nog rätt intressant.
(147190) (kommentar i 147192)
(147192) 80-09-23 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147190: av Överföring från NADJA Ärende: RETURN Original: (10254) 80-09-23 16:51 ANDERS STRÖM SSRC RETURN är likaledes ett sätt att dölja ett GOTO.
(147192)
(147458) 80-09-24 00:05 bort Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Blockstrukturen? Original: (7118) 80-09-21 10:09 CARL GUSTAF JANSSON Kommentar till :7073: av Transfereringar (till) QZ Fascinerande! Har inte heller tänkt på detta!
(147458)
(147466) 80-09-24 01:08 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Mangler & features & SIMULA Ganske interressant debatt det har värt her de siste dagene. Utrolig hvordan programmerere hisser seg opp og blir ivrige når det dreier seg om spesille syntaktiske konstruksjoner. (jeg er slik selv) . Visst kan man tenke seg mange tillegg til SIMULA ting som det er hendig å bruke når man programmerer, jeg nevner i fleng: repeat until catch throw exit return exitloop case-statement loop while do repeat while etc. etc. etc. Det er mange hendige konstruksjoner å plukke opp fra ulike språk. Selv synes jeg at det verktöyet jeg trenger finnes i SIMULA, jeg ville gjerne hatt mer. Men gleden ved å vite at jeg bare kan ta et av mine SIMULA programmer og så å si sende hvor som helst de har en simula kompiler og få DET TIL Å GÅ med en gang overskygger fullstendig behovet for mer lettvinte og moderne konstruksjoner enn det som finnes i SIMULA. Det er uendelig godt å kunne programmere i et språk som er såpass standardisert som SIMULA. Hvorfor degradere SIMULAS implementasjons uavhengighet ved å legge til features i dec10 kompilatoren som man egentlig kan klare seg uten ??
(147466) (kommentar i 147468)
(147468) 80-09-24 01:24 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147466: av Knut Smaaland UiO Ärende: Mangler & features & SIMULA Så til det som jeg savner mest i SIMULA: Det er den fullstendige mangel på literals/constants som er i SIMULA. Dette tror jeg egentlig er et så alvorlig problem at SIMULA er relativt ubrukbart til mange applikasjoner. Mangelen på dette har egentlig fått meg til å vurderer mange ganger om jeg skla legge SIMULA helt bort og heller gå over til f.ex. pascal. Jeg er så uendelig fed up med i större programmer å först ha side opp og side ned med deklarasjon av konstanter, og deretter side opp og side ned med intialisering av konstanter. Tenk på hva dette koster av kode!! som både tar plass og cpu-tid!! Tenk bare på det fantastiske overheadet som tabeller med text-constants koster. först deklarasjon av fulle text-variable så text stringen som man egentli er interrssert i, så copy-koden og så plassen til pos&length og det hele. Se for eksempel på et godt interaktivt system laget i simula; man kan tenke seg at det har en direct-file med feilmeldinger & andre meldinger på. og at man har en procedure alla message(n) som displayer record nr. n i direct-filen. I simula så koster det MYE!! og bruke mnemoniske navn på alle n'ene man har i filen. Dette anser jeg å väre en langt mer alvorlig mangel ved SIMULA enn at det har forholdsvis gammeldagse loop-konstruksjoner. DET hadde värt noe å arbeide for å få inn i common base (nemlig bruken av literals/constants) Jeg tror at definitionen av literals/constants kan gjöres på en slik måte at gamle programmer fremdeles kan kompileres og kjöres uten endringer. Egentlig er jeg vel temmelig sikker på det. HVA med å pröve å presse babcicky til å gå med på det?? babcicky=ssg-formann
(147468) (kommentar i 147725, 147971, 148961)
(147725) 80-09-24 12:24 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147468: av Knut Smaaland UiO Ärende: Mangler & features & SIMULA Instämmer i det mesta du säger. Viktigast för att få något igenom i SSG/SDG är att 1. En bra text som inkluderar både en formell definition av ny syntax/semantik på COMMON-BASE-engelska såväl som en motiverande del med argumentation och exempel. 2. Att denna text sänds ut till medlemmarna i SDG (täcker definitions- mässigt även SSG som ju är en delmängd). Helst med önskemål om synpunkter i retur före nästa möte, så att förslagsställaren hinner revidera förslagstexten åtminstone en gång. På så sätt KANSKE man kan få igenom något inom 1.5--2 år. Efter SDG skall ev förändringar i CB beslutas av SSG. Men om eninghet råder inom SDG är detta sista steg inget problem. Skulle vara mycket intressant att se ett utkast till förslag vad gäller konstant-hantering i SIMULA.-- Några funderingar: Enkla variabler typ INTEGER two/2/; och REAL pi/3.14159/; är väl OK. TEXT tx/"content"/ borde också vara "rakt fram". ARRAY aa(1:5)/1,2,3,4,5/,bb(1:5)/3*1.2,2*5.6/; Ser bra ut. REF (xclass) myx/NEW xclass(5,"A")/ måste uteslutas? Men det stösta problemet ligger nog i att säkerställa att en konstant FÖRBLIR 'konstant' och alltså inte ändras. Om man nöjer sig med att kalla det hela för "initialisering" blir det enklare. För texter borde det dock vara möjligt att i deskriptorn märka ut "konstanter" -- helst skulle man dock vilja slippa en helt; men då behövs nästan en ny typ "TEXTVALUE" på vilken man INTE kan göra .MAIN, .PUTCHAR etc.
(147725) (kommentar i 148752)
(147947) 80-09-24 17:21 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :147183: av Överföring från NADJA Ärende: GOTO och struktuerad programmering Mycket av de nya konstruktioner, som man vill införa för att slippa använda de fula GOTO-na, förefaller mig vara tämligen ekvivalenta med GOTO. Varför blir GOTO mindre fult för att man döper det till något annat?
(147947) (kommentar i 147962, 148744)
(147950) 80-09-24 17:23 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147185: av Överföring från NADJA Ärende: RETURN I Simula kan RETURN implementeras utan kompilatorändring, medan EXITLOOP kräver kompilatorändring. Orsak: Alla procedurer ligger i en återhoppslista (kallad "dynamisk omgivning") men det gör inte vanliga loopar.
(147950)
(147962) 80-09-24 17:28 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :147947: av Jacob Palme FOA1 Ärende: GOTO och struktuerad programmering Kan du göra så här med de nya konstruktionerna? begin goto foo; bar: beräkna; goto fum; foo: beräkna; goto bar; fum: beräkna end
(147962) (kommentar i 148747, 148939)
(147971) 80-09-24 17:29 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147468: av Knut Smaaland UiO Ärende: Mangler & features & SIMULA Jag instämmer i att det vore bra med literals i SIMULA. Så ineffektivt är det dock inte. Skriv t.ex. så här (om alla dina konstanter är < 128): INTEGER ARRAY const(1:100); BEGIN TEXT initvalues; initvalues:- txtptr("!1!!2!!3!!15!!17! o.s.v."); WHILE initvalues.more DO const(initvalues.pos):= rank(initvalues.getchar); END; Jag tvivlar på att en kompilator med literals kan ge lika kompakt kod som ovanstående. Skall du exportera programmet ovan till SIMULA-system som saknar TXTPTR så får du byta ut detta mot COPY, vilket gör programmet något mindre effektivt.
(147971) (kommentar i 148652)
(148652) 80-09-25 18:25 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147971: av Jacob Palme FOA1 Ärende: Mangler & features & SIMULA Jeg tenkte vel egentlig ikke så mye på CPU-effektivitet. Det som er verst er all plassen som manglen på constanter medförer, det at man må bruke variabler for allt mulig og det at allåinitialiseringskoden tar så mye plass.
(148652) (kommentar i 148675, 149741, 149975)
(148654) 80-09-25 18:35 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LITERALS/CONSTANTS SIMULA på NORD-10/NORD-100 maskiner (TPH SIMULA) har implementert literals. h Her kommer et lite utdrag av maualen for TPH simula: <literal declaration>::= LITERAL <literal list>; <literal list>::=<literal item>ö<literal item>,<literal list> <literal item>::= <identifier>=<expression> Each <literal item> has the following semantics: The <expression> may be of any type, but it must contain constants only. The <identifier> becomes a symbolic constant. It has the usual scope of normal identifiers, with one important restriction: It is only referenceable after its definition, i.e. in textually succeeding source code. According to this, one may e.g. define a set of symbolic codes thus: LITERAL atype=1,btype=atype+1,ctype=btype+1,dtype=ctype+1; The main justfication for literals is the advantage in code efficiency over the only other method of generating symbolic constants: Declaration and initialization of variables. The improvemnet The improvement in readability is of course also f some value. Dette er hva TPH-SIMULA Ref. manual sier om literaler. kanskje noe å tenke på??
(148654) (kommentar i 148798)
(148675) 80-09-25 19:49 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148652: av Knut Smaaland UiO Ärende: Mangler & features & SIMULA Ja, det är klart har man konstanter som aldrig får ändra sitt värde så kan man spara en del minne på att slippa dubbel- lagring.
(148675)
(148744) 80-09-25 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :147947: av Jacob Palme FOA1 Ärende: GOTO och struktuerad programmering Konservativa SIMULA-programmerare. Original: (10642) 80-09-25 16:17 ANDERS STRÖM SSRC Det är inte det att GOTO är fult, utan att vissa användningar av GOTO är fult. Man tror att genom att introducera diverse kontruktioner för att undvika GOTO så får man bort de "fula" användningarna av GOTO.
(148744)
(148747) 80-09-25 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :147962: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering Ful använding av GOTO Original: (10648) 80-09-25 16:39 PER DANIELSSON kallar jag det där för. Så ska man INTE skriva. Jacob Palmes exempel med feluthopp är en användning som är lämpligare.
(148747)
(148750) 80-09-25 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147145: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Slutligt programmeringsspråk pekarvariabler. Original: (10702) 80-09-25 21:44 BJÖRN DANIELSSON Jo, det är visst ett semantiskt fel, och inte ett syntaktiskt!!! I Algol 68:s syntax ingår t.ex. kontroll av om en identifierare är deklarerad (produktionsträdet går inte att bygga om den inte är det), och "typ"-kontroll på liknande sätt. Men för att göra det generellt och enkelt har man bestämt att adresser till heapen och stacken skall vara SAMMA "typ", nämligen "reference to xxx", där xxx är "typen" (MODE) på det som ska ligga i stacken/heapen. I Revised Report finns inget omnämnande av scope i de delar som beskriver syntaxen! Däremot står det i avsnitt 5.2.1.2. i samband med beskrivningen av syntaxen för "assignations", under rubriken "Semankxå
(148750) (kommentar i 149389, 149456)
(148752) 80-09-25 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147725: av Mats Ohlin Ärende: Mangler & features & SIMULA konstanter i Simula Original: (10704) 80-09-25 22:04 BJÖRN DANIELSSON Eller vad sägs om: REAL r=6.38; REAL rr=2*r; där r och rr initieras vid runtime (om det inte går vid compile-time) och inte kan ändras senare. Men det finns ju förstås redan ett språk som har såna konstruktioner... (och vad sägs om: (1:3)STRING messages = ("foo", "bar", "quux"))
(148752) (kommentar i 148976, 155871)
(148798) 80-09-25 23:13 Mats Carlsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148654: av Knut Smaaland UiO Ärende: LITERALS/CONSTANTS Jämför PARAMETER-satsen i F-N 77 !
(148798) (kommentar i 148863)
(148863) 80-09-26 00:52 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148798: av Mats Carlsson Ärende: LITERALS/CONSTANTS Ja den er ganske bra, synes jeg.
(148863)
(148939) 80-09-26 09:38 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :147962: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering den som skriver sådana program får väl skylla sig själv. ett programspråk är ett verktyg. jag tycker det bör bjuda programmeraren frihe;;6CK?*mVIk.9T
(148939) (kommentar i 149386)
(148951) 80-09-26 09:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :146136: av Mats Ohlin Ärende: RETURN 1) RETURN är lättare att göra via LIBSIM, eftersom omgivande procedur är lätt att hitta (så länge man inte optimerar på något sätt så att vissa procedurer blir mindre "självständiga"). Ett översättarprogram bör också ganska lätt göra om RETURN till GOTO x0000001 e dyl, med läget x0000001: vid procedurens END (kanske krävs att proceduren är ett block som börjar med BEGIN och slutar med END). 2) EXITLOOP är dels kanske litet kortsynt (klarar bara en nivå) och är också svårt att implementera "offline" i LIBSIM, eftersom looparnas kodgränser är svåra att hitta utan hjälp av kompilatorn.
(148951)
(148961) 80-09-26 10:09 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147468: av Knut Smaaland UiO Ärende: Mangler & features & SIMULA Jag är helt enig! (obs norskt uttryck som jag tycker är bättre än "hålla med"). Jag förstår inte det svaga intresset för konstanter under årens lopp. Jag bordeptäckte vi att en VCälv men har låtit anvar den terminal l
(148961)
(148976) 80-09-26 10:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148752: av Överföring från NADJA Ärende: Mangler & features & SIMULA A68 har ju bra konstruktioner i detta fall. Jag ser ingen svårighet med enkla konstantnamn (motsvarande enkla variabler). Man kan tänka sig både REAL PI=3.14159... (konstant) och REAL speed:= 1.0 (initialvärde p g a := i st f =). Exemplet STRING är väl A68 och hör inte hemma i SIMULA-syntaxen.
(148976) (kommentar i 149739)
(149386) 80-09-26 18:05 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :148939: av Maj-Britt Kåhre Ärende: GOTO och struktuerad programmering JA! Det skall man! Om hammaren fortfarande duger bra att slå i spik med!
(149386) (kommentar i 149508, 149652, 150053, 150088)
(149389) 80-09-26 18:06 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148750: av Överföring från NADJA Ärende: Slutligt programmeringsspråk Tusan också! Det BORDE dock gå att skriva syntaxen så att det checkas.
(149389) (kommentar i 149735)
(149456) 80-09-26 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148750: av Överföring från NADJA Ärende: Slutligt programmeringsspråk pekarvariabler. Original: (10757) 80-09-25 23:25 BJÖRN DANIELSSON Scope betyder kanske inte samma sak i Simula och Algol 68. I A68 heter en identifierares textmässiga definitionsområde "range", ett värdes dynamiska giltighetsområde "scope".
(149456) (kommentar i 150135)
(149474) 80-09-26 23:44 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :147133: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Simula används i USA! Original: (8202) 80-09-26 09:29 MIA FREDLUND Jag hoppas att alla förstod att jag inte menade GOTO i sig, utan syftade just på fula konstruktioner mha GOTO. I vissa fall så ger GOTO en snyggare lösning än andra konstruktioner, t ex i WHILE-loopar när annars villkoret kan bli mycket tillkrånglat.
(149474)
(149508) 80-09-27 02:20 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :149386: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering Ska man ha lag på bilbältesanvändning ?
(149508) (kommentar i 149650)
(149652) 80-09-27 17:08 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :149386: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering Jag menar alltså att man skall förbjuda hammare därför att man kan slå sig på tummen med dem OM man kan konstruera nya hammare UTAN denna risk och som FORTFARANDE duger att slå i spik med!
(149652) (kommentar i 149977)
(149735) 80-09-27 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :149389: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Slutligt programmeringsspråk pekarvariabler. Original: (10911) 80-09-27 15:05 BJÖRN DANIELSSON Ja, men då förlorar man möjligheten att skriva generella procedurer: PROC invert matrix = (REF(,)REAL m)VOID: ...... ; vill man kunna skriva utan att behöva ange om argumentet (en matris) ska ligga på stacken eller heapen! Jämför med kontrollen av array-bounds i Pascal och Simula, i Pascal kan dom kollas vid compiletime i högre utsträckning än i Simula, men man förlorar möjligheten att kunna skriva generella procedurer för arrayer (i Pascal).
(149735)
(149737) 80-09-27 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Riktig svenska. Sändare: Jacob Palme FOA1 För kännedom: (Datorstödda) telemötessystem - erfarenheter, synpunkter. Sändare: Jacob Palm e FOA1 Kommentar till :145154: av Överföring från ADB Ärende: Simula används i USA! Han, hon, hen, den, det. Original: (11009) 80-09-27 17:44 JAN MICHAEL RYNNING Det är så långt att skriva "han eller hon", så vi kanske borde gå in för att använda ordet "hen" i den betydelsen. Jag tycker det ordet är användbart, och om tillräckligt många börjar an- vända det, kanske det blir en naturlig del av svenska språket.
(149737) (kommentar i 149764, 149804, 150049, 150470)
(149739) 80-09-27 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148976: av Lars Enderin FOA1 Ärende: Mangler & features & SIMULA konstanter i Simula Original: (11013) 80-09-27 18:19 JAN MICHAEL RYNNING OK, TEXT ARRAY messages (1:3) = ("foo","bar","quux"), eller hur du nu vill ha det i S67. En STRING i A68 är detsamma som en TEXT i S67, fast utan .POS eller .MAIN. Meningen var nog att visa att man ska kunna ha konstanter av alla typer och kunna initiera alla typer av variabler i deklarationen. Och "alla typer" inkluderar naturligtvis strängar (i S67 heter det texter) och indexerade variabler (ARRAYer som de kallas i S67).
(149739)
(149741) 80-09-27 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148652: av Knut Smaaland UiO Ärende: Mangler & features & SIMULA Original: (11015) 80-09-27 18:24 JAN MICHAEL RYNNING Jag skulle inte tycka att bristen på konstanter vore så allvarlig om det vore möjligt att initiera variabler på samma ställe i programmet som man deklarerar dem på. Men eftersom det varken är tillåtet att initiera variablerna i själva deklarationen, eller blanda deklarationer med tilldelningssatser, så måste jag skriva deklarationerna på ett ställe, och tilldelningssatserna på ett annat och det blir svåröverskådligt.
(149741)
(149764) 80-09-28 00:15 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :149737: av Överföring från NADJA Ärende: Simula används i USA! Jo, jag har sett en del använda det. Kanske man skulle ta och övergå?
(149764)
(149977) 80-09-28 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :149652: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering Konservativa SIMULA-programmerare. Original: (11120) 80-09-28 12:32 PER DANIELSSON Förbjud inte! Avråd och propagera istället!
(149977)
(150049) 80-09-29 08:52 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Riktig svenska Kommentar till :149737: av Överföring från NADJA Ärende: Simula används i USA! jag är ganska trött på att behöva läsa "han eller hon" eller "han/hon" bara för att författaren inte kunnat hålla reda på genusen eller (OR, inte XOR) låtit sitt jämlikhetsivrande gå ut över språkbehandlingen. yrkesbenämningar på -e och -are är maskulina, feminina varianter skapas genom att till ordstammen istället lägga -inna resp. -erska.
(150049) (kommentar i 150139)
(150088) 80-09-29 09:12 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :149386: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering två spontana tankar: a) dumheter b) du skulle göra dig i riksdagen jag blir ganska förbenad när någon vill förvägra mig rätten att slå mig på tummen!
(150088) (kommentar i 150123, 150227)
(150135) 80-09-29 10:01 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :149456: av Överföring från NADJA Ärende: Slutligt programmeringsspråk Vad är "reach" då?
(150135) (kommentar i 151786)
(150227) 80-09-29 11:52 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :150088: av Maj-Britt Kåhre Ärende: GOTO och struktuerad programmering Skulle jag göra mig i riksdagen?? Usch vad hemst. Dit aspirerar jag VERKLIGEN inte på att komma! Jag har aldrig viljat förvägra dig rätten att slå sönder din tumme. Däremot ifrågasätter jag det vettiga i att fortsätta tillverka dylika hammare!
(150227) (kommentar i 150230)
(150230) 80-09-29 11:54 Peter Stendahl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :150227: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering men tänk om det finns en efterfrågan på dessa förment livsfarliga verktyg (GOTO)? och om de därtill är så elementära?
(150230) (kommentar i 150233)
(150233) 80-09-29 11:56 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :150230: av Maj-Britt Kåhre Ärende: GOTO och struktuerad programmering Vänta nu! Jag har aldrig förmevat någon rätten att använda GOTO! Det är en utmärkt bra sats, så länge man använder den mer måtta och på rätt ställe.
(150233) (kommentar i 150266)
(150266) 80-09-29 13:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Programmering (av) datorer Kommentar till :150233: av Lars-Henrik Eriksson ADB-Uppsala Ärende: GOTO och struktuerad programmering OM den här diskussionen skall fortsätta, bör den göra det i "Programmering av datorer" och hållas någotsånär saklig. Gör alltså !SUB MOTT SIMULA erf på eventuell kommentar till detta inlägg.
(150266)
(150356) 80-09-29 15:47 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: I vilken ordning exekveras deklarationerna? Vissa deklaratiner ska ju exekveras, t ex INTEGER ARRAY ina(1:intproc); Kan man vara säker på att dessa exekveras i den textmässiga ordning de återfinns i? Gäller detta även klasser? Eller exekveras där alla deklarationer innan satserna i objektet?
(150356) (kommentar i 150426)
(150470) 80-09-29 18:16 Mats Carlsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :149737: av Överföring från NADJA Ärende: Simula används i USA! Eller låna in "hän" från ett vissst grannland. Får en mysig dialektal klang, dessutom.
(150470) (kommentar i 150586, 150662)
(150662) 80-09-30 09:10 Rolf Wasteson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Starta möten (i KOM vid) NADJA (beslut om). Sändare: Jacob Palme FOA1 För kännedom: KOM-systemet (-) grundläggande synpunkter. Sändare: Jacob Palme FOA1 Kommentar till :150470: av Mats Carlsson Ärende: Simula används i USA! Att läsa denna konferens är ganska arbetssamt numera. Verkar ha blivit så sedan överföringen från NADJA börjat ... Kan inte ni som vill diskutera allmänna ämnen som inte har med SIMULA att göra eller har allmän skrivklåda (GOT-diskussionen) göra era inlägg i FRITT FORUM istället så att man slipper eländet. För att kunna motivera KOM (och detta möte) skall det väl användas till erfarenhetsutbyte, inte s..t-snack!
(150662) (kommentar i 150698, 150739, 151030, 151788, 155112)
(150698) 80-09-30 09:30 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Starta möten (i KOM vid) NADJA (beslut om) Mottagare: KOM-systemet (-) grundläggande synpunkter Kommentar till :150662: av Rolf Wasteson Ärende: KOM-möten håller sig inte till ämnet Problemet är följande: Vid QZ har vi många olika KOM-möten, så att det finns ett lämpligt möte för varje ämne. T.ex. i detta fall mötet "Programmering (av) datorer". Vid NADJA finns däremot bara ett fåtal möten. NADJA-nerna tvingas därför skriva sina inlägg i de möten som finns, fast ämnet är fel. Detta drabbar oss vid QZ. Jag kan bara se två möjliga lösningar a) Starta nya möten vid NADJA så fort detta problem dyker upp, t.ex. i detta fall en parallell till QZ-mötet "Programmering (av) datorer" och flytta inläggen dit. b) Sluta överföringen eller tvinga igenom krav på att möten håller sig till ämnet. Jag tycker själv lösning a) är bäst. Ett problem med denna lösning är att den måste tillämpas av någon annan. Jag har nämligen inte rätt att starta möten i NADJA-s KOM-system. Jag vore tacksam om ni som jobbar vid NADJA snarast tänkte över detta problem. Antingen får ni utse någon person som åtar sig att starta de möten som behövs, eller också riskerar ni drabbas av att vi måste stoppa överföringarna, eller också får ni införa en metod för att se till att NADJA-nerna håller sig till ämnet för de möten som idag har överföring till QZ.
(150698) (kommentar i 150704)
(150765) 80-09-30 10:48 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Kopiera Dircetfile Finns det något snabbt och enkelt sätt att kopiera direktfiler i Simula? Speciellt då sådana som har använts till binär utmatning.
(150765) (kommentar i 150767)
(150767) 80-09-30 11:01 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :150765: av Lennart Borgman LTH Ärende: Kopiera Directfile Öppna filen som Infile och kopiera till en Outfile m hj av FILCOPY, som finns i LIBSIM.
(150767)
(151030) 80-09-30 17:14 Mats Carlsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: KOM-systemet (-) avancerade synpunkter. Sändare: Jacob Palme FOA1 Kommentar till :150662: av Rolf Wasteson Ärende: Simula används i USA! Jag avsåg att göra mitt inlägg i Riktig Svenska som var en av mottagarna till det inlägg som startade diskussionen. Förstår inte heller vad det har att göra i Sim erf. Jag märkte inteöverhuvudtaget inte vilket möte jag befann mig i. Troligen kommer man först till Sim erf, sedan till Ri sv, om man har osedda inlägg i båda. Kanske gäller fler debattörer oxå.
(151030) (kommentar i 151242, 151257)
(151242) 80-10-01 08:19 Bengt Alenius QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151030: av Mats Carlsson Ärende: Simula används i USA! Om man är osäker på i vilket möte man är närvarande, kan man ge kommandot 'Vilka', så får man besked!
(151242)
(151786) 80-10-01 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :150135: av Lars Enderin FOA1 Ärende: Slutligt programmeringsspråk pekarvariabler. Original: (11462) 80-09-30 11:06 BJÖRN DANIELSSON "Reach" är det område där identifieraren kan användas. T.ex: BEGIN % blaj; % REAL x; % & mera blaj; % & ytterligare blaj; % BEGIN REAL x; % blaj igen % END; % & blaj blaj END Rader markerade med % är (det första) x:ets range, rader markerade med & är dess reach. Tanken är att x inte får användas innan den deklareras (men den får naturligtvis ingå i procedurer som deklareras innan).
(151786)
(151788) 80-10-01 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :150662: av Rolf Wasteson Ärende: Simula används i USA! - Original: (12049) 80-09-30 23:29 PER DANIELSSON Kan du förklara varför en diskussion om användandet av GOTO inte har att göra i ett möte om SIMULA? Jag tycker att den platsar utmärkt här!
(151788) (kommentar i 151795)
(151758) 80-10-01 22:43 Överföring från NADJA Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: - Original: (12103) 80-10-01 01:23 PER LINDQVIST Mottagare: Simula erfarenhetsutbyte Mottagare: Symbolbehandlande språk med tillämpningar Kommentar till :9904: av Björn Danielsson Ärende: Blockstrukturen? GOTO-fri programmering förutsätter att språket man programmerar i ger vettiga möjligheter. Tillexempelv goto-fri programmering i BASIC eller FORTRAN är väl nära nog omöjligt
(151758) (kommentar i 152428, 152812)
(151795) 80-10-01 22:48 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151788: av Överföring från NADJA Ärende: Simula används i USA! - Original: (12176) 80-10-01 14:33 ANDERS SUNDQVIST FÖRMODLIGEN TACK VARE ATT DET PÅ QZ FINNS ETT MÖTE OM PROGRAMMERING AV DATORER. goto ÄR JU TROTS ALLT INTE NÅGOT SOM BARA FINNS I SIMULA.
(151795)
(151819) 80-10-01 23:46 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: - Original: (8666) 80-09-30 15:39 MIA FREDLUND När hörde någon talas om en programmerarinna sist?????!!
(151819) (kommentar i 151870)
(151821) 80-10-01 23:47 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: MIC Original: (7277) 80-09-23 10:07 BERTIL HANSSON För kännedom: Simula erfarenhetsutbyte. Sändare: Tommy Ericson QZ Mottagare: DEC-2020 vid ADB - erfarenhetsutbyte Kommentar till :6373: av Magnus Karlson Felet/problemet kom sig av att jag använde simulas ex. proc. RUN. Den tar som andra parameter inte runoffset utan runoffset+1! Vad kan anledningen vara till detta? Eller missupfattar jag något??
(151821) (kommentar i 151823)
(151823) 80-10-01 23:47 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151821: av Överföring från ADB Ärende: MIC Original: (8900) 80-10-01 13:40 TOMMY ERICSON QZ Du har inte missuppfattat saken. Jag anser också att det är olyckligt att proceduren RUN i Libsim inte räknar med RUNOFFSET i Digitals terminologi.
(151823) (kommentar i 151954)
(151870) 80-10-02 08:05 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151819: av Överföring från ADB Ärende: - programmös,heter det väl?
(151870)
(151954) 80-10-02 09:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151823: av Överföring från ADB Ärende: MIC Jag medger att det kan vara förvirrande, men det ligger en tanke bakom, nämligen att man skall skilja på omstart och fortsättning genom att avläsa det värde som SAVE (eller FREEZE) returnerar efter att man gjort RUN resp RESTORE (eller bara fortsatt). SAVE returnerar nämligen precis det värde som RUN anropats med (inom intervallet 1 t o m 16). Man kan alltså skilja på flera olika återstarter. RESTORE fungerar som RUN(prog, 0) och är tänkt att användas för ren omstart vid fel t ex. Jag ville alltså primärt skilja på ren fortsättning efter SAVE (FREEZE) och planerad återstart genom värdet på SAVE, som jag tyckte borde vara = argumentet till RUN.
(151954) (kommentar i 152034)
(151984) 80-10-02 10:05 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Kopling SIMULA->FORTRAN>-SIMULA Virker simeguiv i libsim ?? Jeg sliter som en helt med vår SIMULA men klarer ikke å få dette til. Det ender alltid med ill mem ref innen, eller mens SIMCOD blir utfört. Kan SIMULA procedures som kalles fra external FORTRAN procedures gjöre hva som helst? F. eks. I/O ?? Hadde tenkt å benytte dette i arbeidet med å gjöre hele IMSL kjörbart fra SIMULA-mains. Nemlig ved å kode i SIMULA alle de rutinene i IMSL som gjör I/O, det er er enklere enn å kode de i MACRO-10. Hvis jeg önsker å gjöre I/O fra en external MACRO-procedure blir det da krangel om kanalene hvis jeg bare benytter meg av Extended Channels?? Kan jeg, bortsett fra memory managment, se bort fra SIMULA's runtime system, dersom jeg bare benytter meg av Extended Channles
(151984) (kommentar i 152088)
(152030) 80-10-02 11:25 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMEQUIV på QZ Jeg prövde det samme her og det virket helt fint!! Har det blitt gjort noe med SIMEQUIV på QZ etter at dere sendte ut 5(373) ?? Er det noen begrensninger på hva slags parameter som kan overföres mellom den ekte fortran rutinen og videre til SIMCOD ?? Kan SIMCOD betraktes som en helt normal external SIMULA procedure som kan kalles direkte fra SIMULA mainprogram og som selv kan kalle andre SIMULA/FORTRAN/MACRO rutiner ??
(152030) (kommentar i 152100)
(152034) 80-10-02 11:34 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151954: av Lars Enderin FOA1 Ärende: MIC Ingen grunn til å endre på RUN synes jeg, jeg synes ikke det er så viktig med hvorfor entrypoint parametern ble valgt som den gjorde. Det står jo helt KRYSTALLKLART i SIMLH3.MAN hvordan denne parametern er. Leser man beskrivelsen så skulle det ikke väre mulig å gjöre dette feil. Jeg synes i hvert fall at det står HELT KLART at run("mic",2); er det samme som å starte MIC med runoffset:1 .
(152034) (kommentar i 152431)
(152088) 80-10-02 12:27 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :151984: Ärende: Kopling SIMULA->FORTRAN>-SIMULA SIMEQUIV är inte testad så mycket, men samma interface används för själva anropet från FORTRAN till SIMCOD som för procedurer som sänds som parametrar till en FORTRAN-subrutin. Obs dock att proceduren som svarar mot SIMCOD måste "låsas" i minnet så att procedurblocket inte flyttas före anropet från FORTRAN. Låsningen görs lämpligen med GCFREZE(-1) efter anropet av SIMEQUIV. Före anropet av SIMEQUIV bör POOLTOP(1) anropas för att forcera en garbage collection. Om inte tillräcklig plats reserverats för filbuffertar under poolens "golv" kan man få problem med att öppna och stänga filer eftersom ingen mer plats kan åstadkommas utan garbage collection av låst utrymme. Det går dock bra att "töa upp" minnet med GCFREZE(0) och sedan omdefiniera alla de globala procedurerna igen via SIMEQUIV. Det är generellt sett bättre att använda MACRO-10 för sådana procedurer och undvika låsningsproblemet. Koden för FORTRAN-interface finns i PHFO.MAC (<13,617> på QZ), samt SIMEQU.MAC (<13,134,LIB>). Kanalnr > 15 bör kunna användas utan interferens med SIMRTS. Buffertar bör reserveras i koden eller på något sätt i SIMULA-s utrymme för buffertar (se ALCOR i LIBSIM). F ö finns IOCHNL i LIBSIM, reserverar eller släpper kanal bland de ordinarie. Se också FORIFA.BLB<13,134,FOR>
(152088) (kommentar i 152183)
(152100) 80-10-02 12:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152030: av Knut Smaaland UiO Ärende: SIMEQUIV på QZ SIMEQUIV och PHFO på QZ är båda från 4 juni, bör vara samma versioner som på UiO. Beträffande parametrar: Med förbehåll för att jag glömt något: Se f ö SIMLH2 App E.1 Tillåtna typer är INTEGER, (LONG) REAL, CHARACTER, TEXT, BOOLEAN. TEXT bör behandlas som INTEGER/REAL ARRAY i FORTRAN-koden. Arrayer (ej typ TEXT) kan överföras i båda riktningarna, dock endast arrayer som allokerats av SIMULA. SIMULA-procedurer kan överföras till FORTRAN, men FORTRAN-procedurer kan inte överföras till SIMULA direkt från FORTRAN. FORTRAN-procedurer överförs effektivt till FORTRAN även via SIMULA. SIMCOD skall vara en helt normal SIMULA-procedur bortsett från att den inte skall flyttas.
(152100)
(152183) 80-10-02 15:03 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152088: av Lars Enderin FOA1 Ärende: Kopling SIMULA->FORTRAN>-SIMULA I själva verket är det inte procedurkroppen som inte får flyttas - den finns ju inte allokerad annat än under exekvering av dess kod - utan det är den närmaste omgivningen, som ingår i den dynamiska proceduradressen. Jag skulle kunna skriva en variant av SIMEQUIV som lagrar statisk informaion om omgivningen, men denna skulle kunna ge fel om den dynamiska omgivningen ändras eller helt enkelt försvinner. För externa procedurer borde det dock vara helt säkert, eftersom omgivningen är i stort sett betydelselös (inga variabler i huvudprogrammet är synliga utom via parametrar). Även procedurer på yttersta nivån bör vara säkra. Jag skall se om det är möjligt att modifiera SIMEQUIV, möjligen med tillägg av en parameter t ex kallad STATIC, som gör att statiska data sparas i st f dynamisk proceduradress, och att den dynamiska adressen byggs upp vid anropet från FORTRAN innan proceduren anropas.
(152183) (kommentar i 152293)
(152293) 80-10-02 17:20 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152183: av Lars Enderin FOA1 Ärende: Kopling SIMULA->FORTRAN>-SIMULA Ja det hadde värt kjekt med en slik variant av SIMEQUIV. Forövrig takk for svarene! Kom til å tenke på noe, det er jo litt tungvint med kall på SIMEQUIV POOLTOP GCFREZE og det hele, og det at man må ha en dummy transfer-procedure i mellom. Hadde det ikke värt enklere omm man hadde en variant i OPTIONS statementet omtrent som: options(/External:fortran-callable,entry);
(152293) (kommentar i 152315, 152632)
(152315) 80-10-02 17:32 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152293: av Knut Smaaland UiO Ärende: Kopling SIMULA->FORTRAN>-SIMULA En annen ting er at jeg er litt dumm selv når det gjelder å bruke SIMRTS interfacen fra MACRO rutiner, jeg synes egentlig at den er unödig vanskelig og komplisert har faktisk store problemer med å få det til å fungere. Fölgen er at hver gang jeg skriver en MACRO procedure så sier jeg til SIMULA at det er en FORTRAN procedure og så bruker jeg bare FORTRANS parameteroverförings metoder etc. DET klarer jeg alltid å få til å virke. Skyldes sannsynligvis at jeg ikke er vant til alle macroene og symbolene og OPDEF'ene som dere bruker. Det hender jo man kommer over kode-sekvenser som dere har laget hvor det er temmelig langt mellom hver gang man ser et symbol/instruksjon man kjenner igjen fra vanlig MACRO-10 koding. (Selvfölgelig min egen feil)
(152315) (kommentar i 152321, 152449)
(152321) 80-10-02 17:36 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152315: av Knut Smaaland UiO Ärende: Kopling SIMULA->FORTRAN>-SIMULA En annen grunn til å gjöre det via SIMULA I/O er jo at det er svÄrt fort gjort. Jeg så plutselig det store LYSET i natt da jeg fikk det ti å fungere sånn noenlunde. Drömte jo om at man på en lettvint og rask mÅte kunne få all verdens FORTRAN software tilgjengelig fra SIMULA. Om ikke all verdens så i hvert fall rutine pakker som GPGS SURRENDER GRAPHISTO IMSL NAG EAYSY graphics etc.etc.
(152321)
(152428) 80-10-02 21:13 Sören Tirfing Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151758: av Överföring från NADJA Ärende: F-N Programmering i FORTRAN eller BASIC är nära nog omöjligt.
(152428) (kommentar i 152451, 153534)
(152431) 80-10-02 21:15 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152034: av Knut Smaaland UiO Ärende: MIC Rent allmänt är det trevligt med rutiner etc. som är så självklara att man inte behöver läsa manulen, utan att för den skull få det fel.
(152431)
(152449) 80-10-02 21:29 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152315: av Knut Smaaland UiO Ärende: Kopling SIMULA->FORTRAN>-SIMULA Jag har samma erfarenhet som du, jag har inte haft tid att sätta mig in i de speciella MACROn som man bör använda för att skriva CODE-procedurer. Därför skriver jag bara QUICK-procedurer, och utan NOCHECK (vilket ger ganska begränsade möjligheter).
(152449)
(152632) 80-10-03 09:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152293: av Knut Smaaland UiO Ärende: Kopling SIMULA->FORTRAN>-SIMULA När jag tänker närmare på problemet visar det sig att det inte är något problem egentligen, om man deklarerar procedurer motsvarande SIMCOD på yttersta nivån eller som externa, eftersom det då blir det yttre blocket som omgivning till proceduren, och det yttre blocket flyttas aldrig - ligger i inladdad kod. Problem med flyttning av omgivningen uppstår endast då proceduren är deklarerad i ett inre block. Möjligen skulle SIMEQUIV kunna varna för detta om minnet inte är "fruset" vid anropet. Men om man använder externa procedurer behövs inte GCFREZE. Inte heller POOLTOP. Ide'n att ha en ny klass av externa procedurer - "fortran-callable" är kanske inte så dum, men det är väl inte så svårt att en gång för alla göra ett antal "FORTRAN dummies" för varje bibliotek som t ex IMSL och en klass IMSL t ex som associerar ett antal externa SIMULA-procedurer med motsvarande dummy-procedurer via SIMEQUIV. Det finns säkert en del att göra för att göra FORTRAN-interfacet mera flexibelt.
(152632) (kommentar i 152706, 153334)
(152684) 80-10-03 10:29 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: HELPC och INLONG Var finns .atr och .rel till dessa filer?
(152684) (kommentar i 152700)
(152700) 80-10-03 10:57 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152684: av Göran Lyman Ärende: HELPC och INLONG Finns t v i LIBSIMÄ13,201Å. Har lite svårt att veta hur mina förslag till tillägg till LIBSIM mottages - för lite feedback. Nya förslag är VECKA.SIM och HEREIS.SIM på 13,201 - inlagda även de i LIBSIM på detta PPN. Se även LIBSIM.ADD för 'kandidatlista'.
(152700) (kommentar i 152763, 152819)
(152706) 80-10-03 11:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152632: av Lars Enderin FOA1 Ärende: Kopling SIMULA->FORTRAN>-SIMULA Ytterligare diskussion, som börjar bli litet väl teknisk nu, hänvisas till "SIMULA implementering".
(152706)
(152763) 80-10-03 12:06 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152700: av Mats Ohlin Ärende: VECKA.SIM Vad gör den??
(152763) (kommentar i 152797)
(152797) 80-10-03 12:22 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152763: av Göran Lyman Ärende: VECKA.SIM Returnerar tydligen texten "V40" för innevarande vecka 40.
(152797)
(152812) 80-10-03 12:34 Mats Wallin Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :151758: av Överföring från NADJA Ärende: - eller i MIC.
(152812) (kommentar i 152994)
(152819) 80-10-03 12:38 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152700: av Mats Ohlin Ärende: HELPC och INLONG Om jag använder helpc i en separatkompilerad klass och där har deklarerat den som EXTERNAL PROCEDURE helpc="libsim<13,201>"; varför måste jag då deklarera om den i mitt huvudprogram som är prefixerad med den separatkompilerade klassen?
(152819) (kommentar i 152824)
(152824) 80-10-03 12:48 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152819: av Göran Lyman Ärende: HELPC och INLONG 1) Använder du HELPC direkt i huvudprogrammet? I så fall måste du deklarera den, om du inte deklarerar helpc INUTI den separat- kompilerade klassen som ett attribut. Det är bara klasser som deklareras implicit i nuvarande implementation. Det är möjligt att det kommer att ändras så att alla external-deklarationer "ärvs" helt. Litet oklart i den nya Common Base-texten. 2) Om du inte använder den direkt, kan det vara ett laddningsproblem.
(152824)
(153334) 80-10-03 23:32 Sören Tirfing Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152632: av Lars Enderin FOA1 Ärende: Kopling SIMULA->FORTRAN>-SIMULA Ack ja. Jag är inblandad i en fajt mellan GPGS (grafik i fortran) & SIMULA. Tyvärr leder F-N för tillfället. (DVS det är inte så mycket som funkar bra, att få det att gå för det mesta är inte så svårt).
(153334) (kommentar i 153392, 156335)
(153392) 80-10-04 10:57 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :153334: av Sören Tirfing Ärende: Kopling SIMULA->FORTRAN>-SIMULA Att kunna anropa GPGS från SIMULA förefaller vara ett krav från många olika håll. Vid DECUS-Europa visade det sig att bättre FORTRAN-anrops-möjligheter i SIMULA var högt prioriterade krav, och GPGS är väl ett bra testexempel på förbättrade FORTRAN- anropsmöjligheter i SIMULA.
(153392) (kommentar i 153460)
(153460) 80-10-04 16:48 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :153392: av Jacob Palme FOA1 Ärende: Kopling SIMULA->FORTRAN>-SIMULA Ja , skulle tro GPGS var bra å teste på. Kopling GPGS<->SIMULA er også et stort krav hos oss. Her ved UiO er det som regel i forbindelse med numerisk analyse man önsker koplingen. Först bruker man IMSL eller lignende fra SIMULA og siden vil man gjerne ha visualisert resultatene.
(153460)
(153534) 80-10-04 22:43 Överföring från NADJA Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :152428: av Sören Tirfing Ärende: F-N Blockstrukturen? Original: (12747) 80-10-04 18:18 PER LINDQVIST Mottagare: Symbolbehandlande språk med tillämpningar Mottagare: Simula erfarenhetsutbyte BASIC har den fördelen (framför många andra språk) att det är interaktivt, och den lilla saken gör att det går att programmera i, fasten resten inte är så lustigt.
(153534)
(154543) 80-10-05 22:14 Nils-Bertil Ericsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: INPUT - OUTPUT JAG HAR FÅTT PROBLEM MED PROGRAM SOM ANVÄNDER RUTINERNA INPUT OCH OUTPUT. DESSA PROGRAM HAR FUNGERAT BRA TIDIGARE HAR DET ÄNDRATS I DESSA PÅ SENASTE TIDEN ?
(154543) (kommentar i 154654)
(154654) 80-10-06 12:56 Lars Enderin Mottagare: Nils-Bertil Ericsson. Mottaget: 80-10-07 11:11 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Svar till :154543: Ärende: INPUT - OUTPUT Edit 377: Rättelse för Directfile. Det blev en del tomt utrymme i skarven mellan det tidigare sista blocket och nästa, eftersom antal ord var felaktigt beräknade.
(154654) (kommentar i 154659)
(154659) 80-10-06 12:58 Lars Enderin Mottagare: Nils-Bertil Ericsson. Mottaget: 80-10-07 11:12 Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154654: av Lars Enderin FOA1 Ärende: INPUT - OUTPUT Hur yttrar sig felet?
(154659) (kommentar i 155364)
(154754) 80-10-06 14:39 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Ada (det nya programspråket) Ärende: Short circuit conditions Inspirerad av Ada lämnade jag förra året att förslag till SDG ang AND THEN och OR ELSE. Alltså den mekanism som gör att: WHILE (IF t.More THEN c=t.Getchar ELSE FALSE) DO... i st kan skrivas: WHILE IF t.More AND THEN c=t.Getchar DO ... samt i st för: IF (IF x == NONE THEN TRUE ELSE x.age = 0) THEN .. kan man skriva: IF x == NONE OR ELSE x.age = 0 THEN ... Enligt förslaget till Ada från förra sommaren skall regeln gälla att man endast kan ha EN av operatortyperna i samma uttryck. Alltså: <extended bool expr>::= <bool expr>!<bool expr><short circuit oper><extended bool expr> med kravet att i det totala uttrycket inte får finnas både AND THEN och OR ELSE. AND THEN/OR ELSE får alltså lägsta möjliga precendens. Själv tycker jag att man borde kunna tillåta blandning och alltså (i likhet med AND -- OR) sätta AND THEN före OR ELSE. Blir inte svårare eller lättare att läsa än vanliga uttrcyk med båda AND och OR. Exempel: b:= b1 OR ELSE b2 AND THEN b3; tolkas som b:= b1 OR ELSE(b2 AND THEN b3); dvs Om b1 sann: sann Om b1 falsk: Om b2 sann: b3 Om b2 falsk: falsk. Anledning till att jag tar upp frågan är att gruppen i Lund som implementerat SIMULA på Data General har tidigare haft UNIVAC- evaluering av Boolska uttryck (AND = AND THEN etc) men vill gå ifrån detta -- dock utan att tvinga användarna att skriva IF(IF... Så om man vill införa "short circuit conditions" så kan man: 1) följa Adaförslaget med endast EN av AND THEN/OR ELSE i ett och samma uttryck eller 2) införa AND THEN och OR ELSE som generella Boolska operatorer enligt precendesordningen: NOT, AND, OR, IMP, EQV, AND THEN, OR ELSE. Synpunkter?
(154754) (kommentar i 154790, 154885, 155861, 156636)
(154790) 80-10-06 15:31 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154754: av Mats Ohlin Ärende: Short circuit conditions ett litet skrivfel: WHILE t.More AND THEN c=t.Getchar DO ... borde det stå.
(154790) (kommentar i 155729)
(154885) 80-10-06 16:22 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154754: av Mats Ohlin Ärende: Short circuit conditions Det förefaller mig minska risken för misstag om "AND THEN" och "AND" får samma prioritet, resp. "OR ELSE" och "OR". Att Simula skall anpassa sig till Ada finns väl i och för sig inget speciellt skäl för, språken är ju så olika på andra områden! Skälet bör Ada-s läsning är väl sannolikt att användarna kan bli osäkra om evalueringsordningen. Hur är det i Ada - de har kanske inte Simula-s regel att uttryck skall evalueras från vänster till höger?
(154885) (kommentar i 154910, 156000)
(154910) 80-10-06 17:13 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154885: av Jacob Palme FOA1 Ärende: Short circuit conditions Enig med Jacob Palme, operatorene bör ha samme presedens, det blir vel mye lettere å lese hvis det er tilfelle. Jeg synes tanken er svärt god, det blir lettere å skrive ting enkelt og klart hvis man har logiske operatorer som ikke evaluere höyre siden hvis venstre siden slår feil. Hva med å bruke egne symboler på slike operatorer f.ex. CAND COR ? som ikke vil evaluere höyresiden, dersom venstre siden blir false? Synes det er svärt mye klarere enn den foreslåtte THEN/ELSE konstruksjonen. Dessuten så bryter THEN/ELSE konstruksjonen helt med den måte man er vant til å behandle IF-stmts. på i SIMULA>
(154910) (kommentar i 154932)
(154932) 80-10-06 17:39 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154910: av Knut Smaaland UiO Ärende: Short circuit conditions I SIMULA DEVELOPMENT GROUP har man ansett det mycket väsentligt att inte införa nya reserverade ord. Ty sådana ger problem med konvertering av program som använder dessa ord för variabel- namn. Och en viktig målsättning är ju att "det som hittils fungerat" skall fungera även framöver.
(154932) (kommentar i 154940)
(154940) 80-10-06 17:48 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154932: av Jacob Palme FOA1 Ärende: Short circuit conditions Ja enig i det, men jeg synes belastningen ved å renavne identifiere som skulle falle sammen med evt. nye reserverte ord er ganske liten. På den annen side ved å implementere som Mats Ohlin foreslår så risikerer man at programmer som tidligere var klart syntaktiske feil nå fungerer som bare det. Resultatet selvfölgelig mer eller mindre uvistt.
(154940) (kommentar i 154966)
(154966) 80-10-06 18:17 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154940: av Knut Smaaland UiO Ärende: Short circuit conditions Den senare risken verkar inte överhängande.
(154966)
(155112) 80-10-06 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Starta möten (i KOM vid) NADJA (beslut om) Kommentar till :150662: av Rolf Wasteson Ärende: Simula används i USA! - Original: (12817) 80-10-04 23:21 PER LINDQVIST Mottagare: Simula erfarenhetsutbyte Mottagare: Starta möten (i KOM vid) NADJA (beslut om) Det finns inget FRITT FORUM på NAJDA, vilket ger att alla alla möten är lika bra för allmän skrivklåda. Så är iallafall resultatet. (Det är lika ovälkommet överallt)
(155112) (kommentar i 155257)
(155156) 80-10-06 23:46 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Mangler & features & SIMULA Original: (9961) 80-10-06 09:09 LARS ENDERIN Mangler = brister.
(155156)
(155729) 80-10-07 20:22 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154790: av Tommy Ericson QZ Ärende: Short circuit conditions Visst; där ser man hur "det sitter i fingrarna".
(155729)
(155861) 80-10-08 08:47 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154754: av Mats Ohlin Ärende: Short circuit conditions Ytterligare en möjlighet är att som Dijkstra skriva CAND isf AND THEN och COR isf OR ELSE. Det betyder Conditional ... .
(155861)
(155871) 80-10-08 08:55 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :148752: av Överföring från NADJA Ärende: Mangler & features & SIMULA Angående syntax och semantik för "konstanter" och initiering av variabler se bl a Dijkstras A Dicipline of Programming!
(155871)
(156000) 80-10-08 12:15 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154885: av Jacob Palme FOA1 Ärende: Short circuit conditions Samma prioritet? Hur blir det med (IF) a AND b AND THEN c AND d ? Bör väl rimligtvis i så fall tolkas som: (a AND b) AND THEN (c AND d), dvs ordningen blir .. AND, AND THEN, OR, OR ELSE,... M a o: a AND THEN b OR ELSE c OR d tolkas: (a AND THEN b)OR ELSE(c OR d). Slutsats - man måste specifisera ordningen mellan AND/AND THEN resp OR/OR ELSE.
(156000) (kommentar i 156005)
(156005) 80-10-08 12:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156000: av Mats Ohlin Ärende: Short circuit conditions Ordningen specificerar man genom att lägga in AND THEN och OR ELSE i syntaxreglerna på lämpligt sätt. Jag anser att AND THEN och OR ELSE bör läggas "ovanpå" hittillsvarande operatorer. Det finns goda implementeringsskäl för att göra som i Ada och tillåta endast en av operatorerna inom ett uttryck. Obs att detta uttryck kan avgränsas av () så att det trots allt kan finnas flera AND THEN/OR ELSE mellan IF och tillhörande THEN. Jag håller det dock inte för omöjligt att klara av det generella fallet med litet mer besvär i kompilatorn. Jag tror f ö att Ada har litet underlig pritoritetsordning mellan operatorerna.
(156005) (kommentar i 156163)
(156163) 80-10-08 15:36 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156005: av Lars Enderin FOA1 Ärende: Short circuit conditions Håller med; ville bara peka på effekten av Jacob Palmes (Kära DI) förslag. Om du med "ovanpå" avser lägst prioritet (efter EQV) är vi helt eniga. Och kanske bra att tvinga till (...) vid ev blandning av AND THEN/OR ELSE (i likhet med vad som kanske borde vara fallet för AND/OR...!).
(156163) (kommentar i 156906)
(156356) 80-10-08 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: QUICK,NOCHECK Original: (13341) 80-10-08 11:38 LENNART PETTERSSON NADA Någon gång i somras frågade Anders Hillbo om denna option. Problemet var att AC2 inte laddades med de uppgifter som anges i Simula Language Handbook 2 Detta gällde alltså QZ, och nu tror jag att felet finns på NADJA också. Någon som vet besked om detta?
(156356) (kommentar i 156498, 156904)
(156636) 80-10-09 13:15 Yngve Sundblad (säkrare på tel 7877147) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :154754: av Mats Ohlin Ärende: Short circuit conditions Jag tycker att "AND THEN" och "OR ELSE" är olyckliga namn för dessa operatorer, men det är ju försent att ändra i ADA. Om de införs i Simula, vilket vore mycket tacknämligt, i nästan varje program och programmeringsuppgift i Simula jag gör skulle de underlätta, tycker jag de bör kallas CAND (Conditional AND) och COR (Conditional OR) eller några andra väl valda nya reserverade ord, som inte rör till det för användaren som kombination av två gamla reserverade ord.
(156636) (kommentar i 156644, 157710)
(156644) 80-10-09 13:44 Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156636: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Short circuit conditions Bara ett litet tips som ibland löser problemen. if I<=17 and then A(I)>0 and then ln(A(I))=17 then ..... skulle man vilja skriva (om and then funnes i SIMULA). if I>17 then else if A(I)<=0 then else if ln(A(I))=17 then..... kan man då klara sej med i stället. Transformationsregeln P and then ==> not P then else duger förstås inte i allmänna logiska uttryck, då får man ta till not P then false else. Jag stötte i en terminalsal på en teknolog som i kursen Program- och datastrukturer fått lära sej att i ett motsvarande fall skriva while if P then (if Q then R else false) else false do ... (tror jag att det var). Är det bättre...
(156644) (kommentar i 157543, 157806)
(156904) 80-10-09 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156356: av Överföring från NADJA Ärende: QUICK,NOCHECK Original: (13495) 80-10-09 10:00 LARS ENDERIN Detta skall vara rättat i edit 373.
(156904)
(156906) 80-10-09 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156163: av Mats Ohlin Ärende: Short circuit conditions Original: (13497) 80-10-09 10:15 PER DANIELSSON Bra ide' att införa AND THEN och OR ELSE i SIMULA, men kan vi inte kalla operatorerna CAND och COR istället? (Eller ANDF och ORF). Det blir då lättare att låta bli att blanda ihop dem med de vanliga THEN, ELSE , OR osv.
(156906) (kommentar i 157123, 157667, 157671)
(157123) 80-10-10 12:52 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156906: av Överföring från NADJA Ärende: Short circuit conditions Ang CAND/COR: Jag tycker nog bättre om AND THEN/OR ELSE. Argument: Lättare att förstå innebörden. Inga nya reserverade ord (förenklar för vissa preprocessorer, editorer mm). Genom Ada kommer mekanismen att bli känd på just detta sätt.
(157123) (kommentar i 157734, 158023)
(157543) 80-10-10 17:59 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Peter Jensen. Mottaget: 80-11-21 15:46 För kännedom: KOM-administratören Kommentar till :156644: av Henrik Eriksson QZ Ärende: Short circuit conditions Det finns ingenting folk blir så arga över som när deras gamla program inte längre fungerar med en ny release av den kompilator de använder. Och det finns säkert massor av folk som har identifierare i sina program lika med CAND och COR. Det är därför SDG är väldigt tveksam till allt införande av nya reserverade ord.
(157543) (kommentar i 157599, 158019)
(157599) 80-10-10 19:01 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157543: av Jacob Palme FOA1 Ärende: Short circuit conditions Hvis du ser på stemningen i dette mötet så virker det som om den er ganske PRO cand/cor Personlig synes jeg at det er en svärt liten belastning det med at et språk får noen nye symboler av og til. Men et er kanskje fordi jeg selv fölger nöye med på hav som skjer med SIMULA og fordi jeg ofte er inne og retter på mine programmer. Hva med tanken om å legge in en feature ala IBMSIM/CDCSIM i SIMULA kompilatorer som inneholder COMMON-base utvidelser. Det skulle väre ganske enkelt å skifte ut identifiere som cand/cor med noen nye unike identifiere.
(157599) (kommentar i 157634)
(157634) 80-10-10 20:32 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157599: av Knut Smaaland UiO Ärende: Short circuit conditions Att några personer uttalar sig FÖR cand/cor bör nog inte tolkas som att de som inget skriver också är FÖR! Jag är kraftigt mot förändringar som innebär att gamla program inte går igenom nya versioner av kompilatorn. Eftersom jag vet att SDG/SSG i hög grad har samma uppfattning så har jag inte ens tyckt det vara lönt att framföra mina synpunkter. Om vi skall våga använda SIMULA för större administrativa (och andra) tillämpningar som skall ha lång avskrivningstid (användas länge) så måste språket vara stabilt. Det är tillräckligt stökigt med alla ändringar som görs i operativsystemen. Det är alltför lätt att sitta med ett tidsperspektiv på 2-3 år och utifrån detta föreslå förändringar i standarden. Jag hoppas verkligen att SSG/SDG fortsätter att vara så restriktiva som man hittills varit när det gäller att ändra i språket. - Ett viktigt argument att använda SIMULA är just att språket är väldigt stabilt och inte hela tiden ändras.
(157634) (kommentar i 157643, 158021)
(157643) 80-10-10 21:38 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157634: av Lars-Åke Larsson Ärende: Short circuit conditions Ok, enig. Jeg gir meg.
(157643)
(157667) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156906: av Överföring från NADJA Ärende: Short circuit conditions Original: (13592) 80-10-09 23:50 ANDERS STRÖM SSRC Jag har aldrig förstått varför man inte kan använda AND och OR som dessa operatorer. Jag kan inte komma ihåg att jag någon gång har känt behov av att AND skall evaluera bägge operanderna, däremot har jag många gånger svurit över AND som envisas med att evaluera andra operanden om första är falsk. (Ja, jag vet: "KOMPATIBILITET")
(157667) (kommentar i 157669, 157677)
(157669) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157667: av Överföring från NADJA Ärende: Short circuit conditions Original: (13598) 80-10-10 00:00 PER DANIELSSON Funktionen (AND X Y) i MacLisP evaluerar inte andra argumentet om det inte behövs. (Kanske i andra LisPar åxå, jag vet inte). I ALGOL68C finns operatorerna ANDF och ORF. Implementatörerna har skrivit ett förslag i Algol-bulletinen att de (operatorerna) skulle införas som standard i A68, men då hade redan A68-kommitten bestämt sig, så det blev inget... I ett språk där man kan definiera egna operatorer, A68 t.ex. och i viss mån ADA, kan man skriva sina egna CAND och COR.
(157669)
(157671) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156906: av Överföring från NADJA Ärende: Short circuit conditions Original: (13622) 80-10-10 00:49 PER LINDQVIST Kan det inte bli problem med felupptäckning, och -utskrifter. I och med att ELSE or THEN betyder två olika saker, men att de båda ligger mycket 'nära' varandra i syntax-"trädet". IF a AND THEN B THEN.... Mer invecklade fall och B är glömt kan ge problem. Eller ännu värre: IF a OR ELSE b THEN ..... ELSE ....... Om kompilatorn av något skäl på grund av ett fel, tror första elset är det andra (error recovery), då kommer felutskriften alldeles fel. Kanske det tillochmed går att göra ett program där: IF a AND b THEN.... där b är glömt, ochdet uppfattas som 'AND THEN' men att inte någon felutskrift alls ges, p.g.a omgivande delar?
(157671) (kommentar i 157673, 158273)
(157673) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157671: av Överföring från NADJA Ärende: Short circuit conditions Original: (13628) 80-10-10 00:53 PER DANIELSSON Därför bör operatorerna kallas CAND och COR.
(157673) (kommentar i 157675)
(157675) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157673: av Överföring från NADJA Ärende: Short circuit conditions Original: (13640) 80-10-10 01:38 PER LINDQVIST Gör inte simula-kompilatorn redan partiell evaluering av logiska uttryck? I kom-mötet på QZ för några år sedan behandlades saken, och jag vill minnas att någon sade att SIMULA gör så, utom att den anropar alla funktioner i uttrycket, fastän det inte skulle behövas?
(157675) (kommentar i 157730)
(157677) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157667: av Överföring från NADJA Ärende: Short circuit conditions Original: (13665) 80-10-10 14:12 LENNART PETTERSSON NADA En anledning till denna evalueringsordning är ju att SIMULA tillåter operanderna att ha sidoeffekter.
(157677) (kommentar i 157679)
(157679) 80-10-10 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157677: av Överföring från NADJA Ärende: Short circuit conditions Original: (13686) 80-10-10 16:36 ANDERS STRÖM SSRC Om sidoeffekter vore förbjudna i logiska uttryck vore denna diskussion överflödig. Men detta skulle då även fel vara förbjudna. Om jag skriver: IF i<17 AND a(i) THEN ... så tycker jag att det är naturligt att ... inte evalueras om i=20, detta oavsett om a(20) är tillåtet eller inte.
(157679) (kommentar i 158268)
(157683) 80-10-10 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: "MISSING SEMI COLON OR BINARY OPERATOR" Original: (13722) 80-10-10 18:54 JAN MICHAEL RYNNING Om man glömmer sätta ut ett semikolon i ett S67-program får man felutskriften "MISSING BINARY OPERATOR". Eftersom bort- glömt semikolon torde vara den vanligaste orsaken till fel- utskriften anser jag att dennas lydelse borde ändras till "MISSING SEMI COLON OR BINARY OPERATOR". Synpunkter?
(157683) (kommentar i 157732)
(157698) 80-10-10 23:43 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Vidareutveckling av Simula. Kan vi inte öppna ett möte "Vidareutveckling (av) Simula" och dit föra diskussionen om CAND COR AND THEN OR ELSE osv. Så att det här mötet kunde handla om SIMULA (67) och inte mest om hur det borde utvecklas (om det nu skall utvecklas).
(157698) (kommentar i 157843)
(157710) 80-10-10 23:45 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156636: av Yngve Sundblad (säkrare på tel 7877147) Ärende: Short circuit conditions Original: (10482) 80-10-10 08:20 CARL GUSTAF JANSSON Ur undervisningssynpunkt är det tillrådligt att ha nya väldefinierade namn. Att använda AND OR THEN i nya kombinationer är olyckligt!
(157710) (kommentar i 160291)
(157719) 80-10-11 00:44 Anders Hillbo Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NOCHECK Jag har just testat på både QZ och NADJA. På QZ ligger antal i vänster halvord av AC2, på NADJA inte... Versioner av SIMULA.EXE och SIMR2?.EXE är samma på båda datorerna. Vad kan skillnaden bero på????
(157719) (kommentar i 158202)
(157730) 80-10-11 09:17 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157675: av Överföring från NADJA Ärende: Short circuit conditions Simula-standarden säger ju att alla operander i logiska uttryck skall evalueras. Alltså gör DEC-10-Simula detta - i princip. När kompilatorn enkelt kan inse, att en operand inte kan ha några sidoeffekter, så kan kompilatorn dock underlåta att evaluera denna utan risk, vilket den också gör i vissa sådana fall.
(157730)
(157732) 80-10-11 09:18 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157683: av Överföring från NADJA Ärende: "MISSING SEMI COLON OR BINARY OPERATOR" Verkar vettigt!
(157732) (kommentar i 157841)
(157734) 80-10-11 09:18 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157123: av Mats Ohlin Ärende: Short circuit conditions Håller helt med dig!
(157734)
(157806) 80-10-11 15:33 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156644: av Henrik Eriksson QZ Ärende: Short circuit conditions Ja, detta får precis den önskade effekten!
(157806) (kommentar i 157988)
(157841) 80-10-11 16:32 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157732: av Jacob Palme FOA1 Ärende: "MISSING SEMI COLON OR BINARY OPERATOR" Ja det er vettigt, men ofte så vil man väre i den situasjon under parsingen at man ikke kan si om det er ; eller en operator som mamgler. Det kommer også en del an på program teksten för og etter det missing ; og det kommer an på hvor mange items kompilatorens input rutiner ligger på forskudd.
(157841) (kommentar i 157845)
(157843) 80-10-11 16:38 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157698: av Lars-Åke Larsson Ärende: Vidareutveckling av Simula. Jo kanskje det, men da kunne man like godt opprette et möte om design av DRÖMME-språket. Grunnen til at folk skriver om slike ting her er vel det at de ser på foreslåtte endringer i S67 som noe som kan implementeres i overskuelig fremtid i et eksisterende språk. Et möte om videreutvil !rad 1 Et möte om videreutvikling av en ny simula har såpass langsiktige perspektiver over seg at mange ikke vil ha noen särlig interesse av det. Hvorfor ikke et möte om drömmespråket basert på ideene i S67 ?
(157843)
(157845) 80-10-11 17:01 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157841: av Knut Smaaland UiO Ärende: "MISSING SEMI COLON OR BINARY OPERATOR" Det värsta som finns är kompilatorer som "gissar" vad man menar och gissar fel. Därför tycker jag Jan Rynnings förslag är mycket bra - man bör alltid om man låter kompilatorn gissa även ange den gissningsfria men mer svårbegripliga utskriften. Ett annat alternativ vore: MISSING BINARY OPERATOR MAYBE MISSING SEMI COLON
(157845) (kommentar i 158192)
(157988) 80-10-12 17:02 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157806: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Short circuit conditions Visserligen får det den önskade effekten när kompilatorn lyckas se om andra argumentet behöver evalueras, men bara då. Av alla varianter som nämnts eller föreslagits i denna fråga, tycker jag personligen bäst om möjligheten att kunna definiera egna operatorer. Men det är förståss bara en önskedröm. I valet mellan CAND och AND THEN tar jag tveklöst CAND. Visserligen en ny operator, men herregud vad svÅrupptäckta fel man skulle kunna få med AND THEN. Varianten (AND bool) tycker jag är fiffig. Den fordrar ju inga nya operatorer, och dessutom så skulle ju gamla progrm fungera som hittills.
(157988)
(158017) 80-10-12 22:43 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :156498: av Lars Enderin FOA1 Ärende: QUICK,NOCHECK Original: (13850) 80-10-10 23:41 ANDERS HILLBO Jo, det fungerar på QZ, men ej på NADJA, verkar mysko för versionerna är lika på båda.
(158017)
(158019) 80-10-12 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157543: av Jacob Palme FOA1 Ärende: Short circuit conditions CAND och COR Original: (13858) 80-10-11 00:40 BJÖRN DANIELSSON Det naturliga vore väl att om man deklarerar identifierare som heter CAND och COR så upphör den gamla betydelsen av CAND och COR i det blocket. Men införandet av en sådan generell regel skulle nog innebära ännu större ändringar och omvälvningar.
(158019)
(158021) 80-10-12 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157634: av Lars-Åke Larsson Ärende: Short circuit conditions Original: (14077) 80-10-12 16:35 PER DANIELSSON Det finns inga hinder för införandet av CAND/COR av skälet att gamla program (i t.ex. administrativa tillämpningar). Har man kompilerat sitt program på en gammal kompilator så finns det väl ingen anledning att kompilera om det bara för att en ny kompilator har kommit ut. Om man upptäcker fel i sitt program så att det behöver ändras, så kan man ju passa på att ta bort sina ev. identifierare med namnen CAND/COR (görs snabbt och enkelt med en bra texteditor). Om man hittar fel i sitt program är det f.ö. en bra ide' att skriva om det från början, annars lockas man lätt att stoppa in fixas och patchar som till slut gör programmet omöjligt att överblicka. Betr. avskrivningstider så finns det väl ingen anledning till att utvecklingen inom ADB ska behöva stå stilla eller gå långsamt?
(158021) (kommentar i 158308, 158479, 158654, 158706)
(158023) 80-10-12 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157123: av Mats Ohlin Ärende: Short circuit conditions Original: (14087) 80-10-12 17:03 PER DANIELSSON Antagligen en smaksak, men jag tycker att CAND/COR är lättare att förstå än AND THEN/OR ELSE.
(158023) (kommentar i 158704)
(158192) 80-10-13 10:12 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157845: av Jacob Palme FOA1 Ärende: "MISSING SEMI COLON OR BINARY OPERATOR" Jag kan tänka mig att ändra felutskriften ungefär så, men vem har hittat på att semicolon skall skrivas som två ord?!!?
(158192)
(158202) 80-10-13 10:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :157719: av Anders Hillbo Ärende: NOCHECK Skillnaden ligger i SIMP2.EXE om det finns någon. SIMP2.EXE bör troligen bytas ut på NAJDA.
(158202) (kommentar i 158270, 159530)
(158268) 80-10-13 12:22 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157679: av Överföring från NADJA Ärende: Short circuit conditions Ett skäl till att man inte gått över till villkorlig evaulering av logiska uttryck (A AND.. endast om a=sann... etc) är att man vill alltjämt konkurrera med ALGOL; tanken var (åtminstone från början) att skillnaderna mot ALGOL skulle vara så små som möjligt så att man enkelt skulle kunna flytta över ALGOL-program till SIMULA. (IF Inint=1 AND Inint=2 THEN ... förefaller långsökt men först när man ägnat sig åt att flytta program i stor skala upptäcker man alla knepiga fall ....)
(158268)
(158273) 80-10-13 12:28 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157671: av Överföring från NADJA Ärende: Short circuit conditions Låter bestickande men kan det verkligen hända?: var:= IF a AND THEN e1 ELSE e2; kan aldrig bli korrekt. Inte heller: var:= IF a THEN b OR ELSE c;
(158273)
(158308) 80-10-13 13:19 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Programmering (av) datorer. Sändare: Jacob Palme FOA1 Kommentar till :158021: av Överföring från NADJA Ärende: Short circuit conditions Du har säkert rätt så länge det handlar om små program, och så länge som författaren av programmet också är ansvarig för underhållet. Men när ett programsystem börjar bli gammalt och andra än författaren blir ansvarig för underhållet, så får man problem när kompilatorn plötsligt börjar ge felutskrifter i samband med en omkompilering. - För omkompileringar tvingas man förr eller senare till av NÅGOT skäl. - Nyligen råkade vi ut för detta i Dapu pga att vi bytte skivminnesstruktur och inte enkelt kunde länka om accessmekanism. Skriva om program från början tycker jag också att man skall göra. Men det är kanske inte vad du genast ger dig på när du får trubbel med ett stort program som bara är en liten del i ett stort system. Nej, inte behöver utvecklingen inom ADB stå stilla eller gå särskilt långsamt. Men om vi lägger ner några miljoner i utveckling av ett stort programsystem så har vi faktiskt inte råd att skriva av den kostnaden på ett FÅTAL år därför att de verktyg som vi är beroende av utvecklas så snabbt att vi inte kan använda dem när vi kommer in i underhålls/drifts-fasen.
(158308)
(158358) 80-10-13 14:50 Rolf Mellberg Mottagare: Programmering (av) datorer Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: PASCAL erfarenhetsutbyte Ärende: Nytt möte Med jämna mellanrum brukar man här i KOM diskutera GOTO-satsernas eventuella förtjänster. De diskussionerna brukar enligt min mening sällan ge något nytt. I stället kan man diskutera programstrukturering utgående från något lämpligt konkret problem. Därför har jag startat ett speciellt möte för detta. Jag har själv valt att skriva mina exempel i Pascal, men exempeln är enkla och skall inte vålla några problem, för t ex den som jobbar med FORTRAN. Mötet heter: Ett programstruktureringsexempel VÄLKOMNA !!!!
(158358)
(158199) 80-10-13 10:13 Lennart Borgman Mottagare: Programvaror utbyte tips distribution Mottagare: (QZ-program för) grafisk presentation (2D) För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: -Jacob Palme Kommentar till :157725: av Bertil Hansson ADB/SU Ärende: Grafiskt paket i Simula. Jag har i mina lådor bland annat ett grafiskt paket i Simula. Till detta finns en hjälpfil och en manualfil. Alltsammans ligger på <673,3171,graf> och ska vara tillgänglligt för alla. Paketet är avsett för Textronix-terminaler. Det klarar allt från enkla figurer till 2D-diagram. (Rutiner för stapeldiagram har jag en gång skrivit, men inte orkat slutföra eftersom vi inte behövde dem.) Jag gör ibland en del mindre ändringar i paketet, som mest består i införandet av en del nya småprocedurer. Alla dessa ändringar listar jag, med datum, längst bak i manualfilen. Paketet heter SIMRIT. PS Vi har tryckt upp några manualer. Fördelen med dessa är att man slipper klistra in figurerna. PPS Jag tror att det är lite besvärligt att använda paketet när det ligger på ett SFD.
(158199) (kommentar i 158220)
(158654) 80-10-13 21:51 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158021: av Överföring från NADJA Ärende: Short circuit conditions Angående omkompileringer: Kfr. DEC10 og KA floating point instruksjoner.!! Dessuten er det dumt å måtte stole på at ens REL/EXE filer vil fungere evig.
(158654)
(158698) 80-10-13 22:39 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Open för Outfile. Skall det fungera så? Har just upptäckt att Open på en Outfile tycks blanka den Image som man har som argument till Open. Skall det fungera på det sättet? (Jag hittar inget därom i Simula-handboken.) Följande demonstrationsprogram ger olika resultat i filerna ut1.tmp och ut2.tmp. 00100 BEGIN REF(Outfile) ut; 00300 INSPECT NEW Outfile("data.tmp") DO BEGIN Open(Blanks(10)); 00400 Outtext("1111"); Outimage; Outtext("2222"); Outimage; 00500 Outtext("3333"); Outimage; Close 00600 END; 00700 INSPECT NEW Infile("data.tmp") DO BEGIN 00750 Open(Blanks(10)); 00800 Inimage; ut:-NEW Outfile("ut1.tmp"); ut.Open(Image); 00900 WHILE NOT Endfile DO BEGIN ut.Outimage; Inimage END; 00950 Close; ut.Close; 01050 01200 Open(Blanks(10)); 01300 ut:-NEW Outfile("ut2.tmp"); ut.Open(Image); Inimage; 01400 WHILE NOT Endfile DO BEGIN ut.Outimage; Inimage END; Close; 01500 ut.Close; 01600 END; 01700 END;
(158698) (kommentar i 158848)
(158704) 80-10-13 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158023: av Överföring från NADJA Ärende: Short circuit conditions Original: (14185) 80-10-13 00:02 PER LINDQVIST Samma här. Det tog ett bra tag för mig att inse vad som menades med AND THEN och OR ELSE i något ovanstående inlägg. Kanskw jag tänker i 'gamla' spår, men jag tror ändå att en nybörjare/elev skulla ha stora problem att till fullo förstå hur det egentligen fungerar.
(158704) (kommentar i 158710)
(158706) 80-10-13 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158021: av Överföring från NADJA Ärende: Short circuit conditions Original: (14189) 80-10-13 00:06 PER LINDQVIST Man programmerar fortfarande i COBOL, så inte går ADB-programmering framåt direkt.
(158706)
(158708) 80-10-13 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CAND och COR Original: (14199) 80-10-13 01:03 BJÖRN DANIELSSON Ok, man kan inte deklarera egna operatorer i S67, men många tycks ha glömt att man faktiskt får deklarera egna funktioner. Titta på det här exemplet: BOOLEAN PROCEDURE cand(x,y); NAME y; BOOLEAN x,y; cand := IF x THEN y ELSE FALSE; REAL ARRAY foo(1:9); INTEGER i; ... IF cand(i<10, foo(i)=0) THEN ... Fulare än operator-CAND visserligen, men snyggare än AND THEN tycker jag.
(158708) (kommentar i 158712)
(158710) 80-10-13 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158704: av Överföring från NADJA Ärende: Short circuit conditions Original: (14264) 80-10-13 12:49 ANDERS STRÖM SSRC Min erfarenhet är att nybörjare har svårt att förstå den nuvarande funktionen hos AND i Simula.
(158710) (kommentar i 160293)
(158712) 80-10-13 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158708: av Överföring från NADJA Ärende: CAND och COR Original: (14266) 80-10-13 12:52 ANDERS STRÖM SSRC Å fan, att jag inte tänkt på det. Finns det möjlighet att få name-anrop och godtyckligt antal argument med NOCHECK? Vem skriver i så fall Cand och Cor?
(158712) (kommentar i 158878)
(158848) 80-10-14 09:33 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158698: av Lars-Åke Larsson Ärende: Open för Outfile. Skall det fungera så? Märkligt att ingen reagerat tidigare! Det har alltid varit så, men i själva verket är det för INFILE som image skall blankas av Open, inte för OUTFILE, PRINTFILE och DIRECTFILE. Det är alltså tvärtom mot Common Base just nu. Orsaken till att ingen har märkt något är väl att man alltid börjar med en blank image, fastän man inte behöver. Är det någon som kommer att påverkas av att koden för blankning av Image flyttas till Infile-delen av Open?
(158848) (kommentar i 158984)
(158878) 80-10-14 09:49 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158712: av Överföring från NADJA Ärende: CAND och COR 1) Det är svårt att få funktionerna effektiva, eftersom generellt NAME-anrop behövs för alla parametrar utom den första för att undvika oönskad utvärdering. De måste alltså skrivas i Simula eller som CODE-procedurer i MACRO-10 (eller Bliss, om någon kan göra det). Enda större vinsten med MACRO-10 skulle vara NOCHECK, som gör dem mindre effektiva (mer kontroll behövs). Själva anropet tar lika lång tid som för en SIMULA-version. 2) Om man inför dessa procedurer får man ett nytt argument för att INTE införa dem som operatorer senare, eftersom det då kommer att existera program med dessa RESERVERADE ord använda som identifierare. 3) AND och OR tar bara två argument - varför skall funktionerna ta flera? Jag är frestad att skriva CAND och COR i MACRO-10 och placera in dem i LIBSIM för att bana väg för AND THEN och OR ELSE i stället!
(158878) (kommentar i 160285)
(158984) 80-10-14 12:05 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158848: av Lars Enderin FOA1 Ärende: Open för Outfile. Skall det fungera så? Visst kan det bli problem i program om vi ändrar, men jag tycker ändå att vi skall följa Common Base. Spec. med tanke på flyttbarhet till andra Simula-system.
(158984) (kommentar i 159009)
(159009) 80-10-14 12:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158984: av Lars-Åke Larsson Ärende: Open för Outfile. Skall det fungera så? Ja, jag flyttar väl koden snart.
(159009)
(159530) 80-10-14 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158202: av Lars Enderin FOA1 Ärende: NOCHECK Original: (14364) 80-10-13 23:35 ANDERS HILLBO Verkar funka nu!
(159530)
(159534) 80-10-14 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Är detta en bug? Original: (14414) 80-10-14 21:58 JOHNNY ERIKSSON Följande programbit loopar i koden mellan paranteserna om x.mynouns = n i testet på raden innan. % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % REF (thing) PROCEDURE findobject( n ); VALUE n; TEXT n; IF n <> NOTEXT THEN BEGIN REF (thing) x,target; FOR x :- player.inventory,player.location.inventory DO WHILE x =/= NONE DO IF x.mynouns = n THEN target :- ( IF target IN thing THEN multi_object ELSE x ) ELSE x :- x.next; findobject :- target; END; % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % Player.inventory resp. player.location.inventory är pekare till enkellänkade listor av objekt ur klassen thing. Multi_object är en global pekare.
(159534) (kommentar i 159644, 160287)
(159644) 80-10-15 09:28 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :159534: av Överföring från NADJA Ärende: Är detta en bug? I det fallet ändrar du ju inte x i WHILE-loopen! F ö är IF n =/= NOTEXT effektivare än n <> NOTEXT - referensjämförelse resp innehållsjämförelse.
(159644)
(160133) 80-10-15 18:08 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED-NICE. Skall NICE ersätta SIMED? Argument: + så slipper vi underhålla SIMED mer (NICE underhålls t v i Oslo) - dyrare att köra (100%). Fler argument?
(160133) (kommentar i 160144, 160152, 160177, 160197, 160211)
(160144) 80-10-15 18:14 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160133: av Mats Ohlin Ärende: SIMED-NICE. En kontroll visar att NICE är ca 150% dyrare (kostar SIMED*2.5 m a o). Minneskravet är sådant att man nog på vissa håll runt om i världen inte får lov att köra NICE (i Kiel har man coremax=30 K tror jag).
(160144) (kommentar i 160150, 161005)
(160150) 80-10-15 18:19 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160144: av Mats Ohlin Ärende: SIMED-NICE. Jag tyckte efter ett prov att NICE var mycket besvärligt att använda SIMED är enkelt och fungerar bra. Behåll det!!
(160150)
(160152) 80-10-15 18:19 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160133: av Mats Ohlin Ärende: SIMED-NICE. + kan mye mere enn simed + mere fleksibelt + er SIMED kompatiblet hvis man vil + er letter å vedlikeholde - vedlikeholdes ikke i oslo + ganske bug-fritt - dokumentasjonen gir ikke et klart bilde av fleksibiliteten
(160152)
(160197) 80-10-15 18:46 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160133: av Mats Ohlin Ärende: SIMED-NICE. På ADB-maskinen känns t o m SIMED ofta besvärande långsamt! Ännu mer minnes- och tidskrävande NICE vore helt omöjligt där!!
(160197)
(160211) 80-10-15 18:59 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160133: av Mats Ohlin Ärende: SIMED-NICE. Kan man få NICE att indentera lika lite som SIMED? Jag gillar inte många och djupa indenteringar, det blir så lite plats kvar att skriva kod på då inom radlängden 79 tecken.
(160211) (kommentar i 160434)
(160285) 80-10-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158878: av Lars Enderin FOA1 Ärende: CAND och COR Original: (14455) 80-10-14 22:57 PER DANIELSSON Åsikten att CAND/COR borde ta godtyckligt antal parametrar är antagligen en LisP-skada. Fast det blir väl effektivare om det görs på det sättet? Då slipper man anropa funktionen flera gånger om man har fler än två villkor som ska testat tillsammans.
(160285) (kommentar i 160510)
(160287) 80-10-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :159534: av Överföring från NADJA Ärende: Är detta en bug? Original: (14471) 80-10-15 00:16 ANDERS STRÖM SSRC Ja det är troligen en bug i ditt program. Om X=/=NONE och X.MYNOUNS=N i WHILE-satsen så uppdateras aldrig X varför du kommer att loopa över samma X hela tiden.
(160287) (kommentar i 160289, 160295)
(160289) 80-10-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160287: av Överföring från NADJA Ärende: Är detta en bug? Original: (14510) 80-10-15 12:11 MATS OHLIN (Du har glömt x:-x.next vid "träff"). Två små kommentarer: 1. n=/=NOTEXT snabbare än n<>NOTEXT. 2. Layouten kan leda läsaren att tro att NONE-testet utförs även första gången (vilkjet ju inte sker). Kanske tydligare med: FOR x:- p....i..., p...loc...inv.. WHILE x=/= NONE DO (Själv undviker jag helst FOR-listor och skriver gärna x:- ..start... WHILE x=/= NONE DO BEGIN ...... x:- x.next END; )
(160289)
(160291) 80-10-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :157710: av Överföring från ADB Ärende: Short circuit conditions AND THEN (burrrr) och OR ELSE (ryyys). Original: (14562) 80-10-15 19:17 JAN MICHAEL RYNNING AND och OR är två dyadiska operatorer, som evaluerar båda sina argument, som båda är av typ BOOLEAN, och lämnar ifrån sig ett resultat av typen BOOLEAN. I analogi med övriga operatorer i programspråk som A60, A68, S67 och PASCAL. Om namnen på de två operatorerna dessutom skulle ingå som ett av de två orden i nya reserverade ord, med likartad betydelse tror jag det kommer att röra till begreppen avsevärt för de som ska lära sig S67.
(160291)
(160293) 80-10-15 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :158710: av Överföring från NADJA Ärende: Short circuit conditions Boolsk algebra. Original: (14564) 80-10-15 19:24 JAN MICHAEL RYNNING Min erfarenhet är att de flesta nybörjare har svårt för allt som har att göra med boolsk algebra.
(160293)
(160295) 80-10-15 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160287: av Överföring från NADJA Ärende: Är detta en bug? Original: (14578) 80-10-15 19:50 JOHNNY ERIKSSON Jag upptäckte det efter en timmes kamp med (mot) SIMDDT. Men tack iallafall!
(160295)
(160434) 80-10-16 09:42 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160211: av Jacob Palme FOA1 Ärende: SIMED-NICE. Du kan få hver type av indentering akkurat så liten eller så stor du vil.
(160434) (kommentar i 160883)
(160510) 80-10-16 10:16 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160285: av Överföring från NADJA Ärende: CAND och COR Jag tror inte effektiviteten spelar så stor roll här; det effektivaste är i så fall omskrivning a la IF (IF x == NONE THEN FALSE ELSE x.found) THEN ... för satsen IF x =/= NONE CAND x.found THEN ... Med funktionen CAND skulle det bli IF cand(x =/= NONE, x.found) THEN ... vilket kanske är något snyggare men kräver proceduranrop och namnöverföring av "x.found" och tar betydligt längre tid.
(160510) (kommentar i 161596)
(160402) 80-10-16 09:19 Bengt Righard Mottagare: Göran Lyman. Mottaget: 80-10-16 10:09 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Göran Lyman Ärende: SIMDDT Jag kör SIMDDT på följande sätt: debug sk00.sim+sk01.sim+sk02.sim+sk99.sim Med display kommandot kommer jag bara åt kod som ligger i sk99.sim. Finns det något sätt att komma åt all kod? Brytpunkter går att sätta överallt.
(160402) (kommentar i 160493, 160604)
(160604) 80-10-16 11:01 Lars Enderin Mottagare: Göran Lyman. Mottaget: 80-10-16 12:30 Mottagare: Bengt Righard. Mottaget: 80-10-16 11:21 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160402: av Bengt Righard Ärende: SIMDDT Man kan trixa litet med externmoduler som man inte har .SIM-filer för på sin area, men anropar, t ex DISPLAY INLINE RTS frågar då efter ny filspecifikation. Obs att inte alla externa moduler går att utnyttja på detta sätt - QUICK-procedurer har ingen ingång i huvudprogrammets tabell över externmoduler. Man kan också kalla det kompilerade programmet något annat genom att skriva DEBUG SK=SK00.SIM+.... SIMDDT kommer då att leta efter SK.SIM och sedan fråga efter filnamn - man kan då uppge den fil man vill titta på (extension ej nödvändig, den finns redan = SIM).
(160604)
(160883) 80-10-16 16:54 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160434: av Knut Smaaland UiO Ärende: SIMED-NICE. Finns det något program för indentering av SIMULA/PASCAL-program som inte tar dumma hänsyn till dumma radorienterade editorer utan flyttar så att man får en snygg struktur oavsett om detta innebär att rader måste delas upp/slås ihop. (Kommentarerna vill jag gärna ha med början på samma kolumn också!)
(160883) (kommentar i 160975, 161316, 161598)
(160975) 80-10-16 22:07 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160883: av Lars-Henrik Eriksson ADB-Uppsala Ärende: SIMED-NICE. NICE fixer i hvert fall det med kommentarene dine. NICE deler ikke linjer noe särlig, og slår de ikke i sammen, og det er gjort med vilje, for at programmeren selv skal velge hvor linjene skal deles. SIMED deler linjer, Jeg tror ikke det er på grunn av hensyn til linje-orienterte editorer at splittingen/sammenslåingen er begrenset, det er vel mer fordi iherdig splitting av linjer krever en nöyere parsing av inputen.
(160975)
(161005) 80-10-16 23:43 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160144: av Mats Ohlin Ärende: SIMED-NICE. Original: (11317) 80-10-16 11:13 CARL GUSTAF JANSSON Trkigt om SIMED försvann under ovan nämnda villkor. 2.5 * längre exekveringstid skulle kännas besvärande. Detta beror nog på min frekventa användning av (SIMED+ printning) under programutveckling. För denna användning är simed fullt tillräcklig. Har inte kört NICE men anser generellt att det borde finnas flera ambitionsnivåer vid redigering av SIMULA program. Snabb programutveckling <-> Dokumentation
(161005) (kommentar i 161322)
(161316) 80-10-17 13:55 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160883: av Lars-Henrik Eriksson ADB-Uppsala Ärende: SIMED-NICE. Nej, varken SIMED eller NICE slår någonsin ihop rader. Man kan göra något mer eller mindre manuellt genom att först ta bort alla CRLF och sedan byta alla BEGIN mot CRLF-BEGIN och alla END mot CRLF END och alla "FOR " mot "CRLF-FOR " , etc etc och därefter köra SIMED (eller NICE).
(161316) (kommentar i 161716)
(161322) 80-10-17 14:04 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :161005: av Överföring från ADB Ärende: SIMED-NICE. Nja, det var Kcs som gav faktorn 2.5; både minne och Cputid var större än för SIMED.
(161322)
(161596) 80-10-17 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160510: av Lars Enderin FOA1 Ärende: CAND och COR Original: (14912) 80-10-17 10:39 BJÖRN DANIELSSON Precis. Men de flesta inläggen verkade gälla just läsbarheten hos IF (IF (IF ... -uttryck. I många fall ligger konstruktionerna i icke tidskritiska delar av programmet, och då kan väl använda funktionen cand.
(161596) (kommentar i 162126)
(161598) 80-10-17 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :160883: av Lars-Henrik Eriksson ADB-Uppsala Ärende: SIMED-NICE. Strukturorienterad Pretty Print i Simula. Original: (14930) 80-10-17 11:26 BJÖRN DANIELSSON Ett sånt program måste parsa mycket mer än vad SIMED behöver göra. Det vore bra om man kunde utnyttja information från kompilatorn för en sån sak, eller låta kompilatorn innehålla en editor som sätts på med en kompilatorswitch.
(161598) (kommentar i 162071)
(161716) 80-10-18 10:36 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :161316: av Mats Ohlin Ärende: SIMED-NICE. VIDED-s &FI-kommando är ofta bra för att slå ihop rader i SIMULA- program. VIDED borde dock helst automatiskt sätta rätt vänster- marginal, vilket den inte gör idag.
(161716)
(161901) 80-10-19 12:38 Nils-Bertil Ericsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Systemprocedurer Finns det någon systemprocedur som heter Line.? Kör man SIMED så markeras min egna procedur Line på samma sätt som t.ex Outtext, inimage, empty osv.
(161901) (kommentar i 161914)
(161914) 80-10-19 15:45 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :161901: av Nils-Bertil Ericsson Ärende: Systemprocedurer Är inte LINE ett attribut till PRINTFILE som ger dig aktuellt radnummer på sidan?
(161914) (kommentar i 161936)
(161936) 80-10-19 18:05 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :161914: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Systemprocedurer jo
(161936)
(162071) 80-10-20 09:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :161598: av Överföring från NADJA Ärende: SIMED-NICE. Kompilatorn bör inte belastas med någondera alternativet. Det enda tänkbara vore i så fall att utnyttja de temporära filer som innehåller information från pass 1 till pass 2, tillsammans med symboltabellen (pass 1 => pass 3) och källprogramfilen. Dessa filer tas normalt bort vid slutet av kompileringen, så man måste alltså undertrycka detta om man vill använda informationen för strukturering. En annan möjlighet vore att ersätta Pass 2 + 3 med en struktureditor om en switch sätts vid kompileringen, kanske t o m fortsätta med pass 2 efter redigeringen, men sådant har jag definitivt inte tid med tyvärr.
(162071)
(162126) 80-10-20 11:32 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :161596: av Överföring från NADJA Ärende: CAND och COR Många gånger kan det vara just tidskritiskt: WHILE (IF t.More THEN t.Getchar = c ELSE FALSE) DO ;
(162126)
(162377) 80-10-20 16:02 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Prefix-level Om man har OPTIONS(/2E) i klassen Gts, vad är det då för fel med att skriva så här: 00100 BEGIN BEGIN 00200 EXTERNAL CLASS gts; 00300 gts BEGIN Inimage; END; 00400 END; END Enligt kompilatorn så är det fel 'block level'.
(162377) (kommentar i 162405)
(162405) 80-10-20 16:21 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :162377: av Lennart Borgman LTH Ärende: Prefix-level Du har bara en blocknivå. Innanför första BEGIN finns inga deklarationer, dvs. bara en sammansatt sats.
(162405) (kommentar i 162411)
(162411) 80-10-20 16:40 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :162405: av Tommy Ericson QZ Ärende: Prefix-level Jag provade faktiskt med den varianten också, dvs med enn deklaration framför andra BEGIN.
(162411) (kommentar i 162431)
(162431) 80-10-20 17:00 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :162411: av Lennart Borgman LTH Ärende: Prefix-level Den EFFEKTIVA block-nivån är bara 1! En deklaration mellan de två BEGIN gör bara att ett REDUCERAT subblock bildas, som har samma displaynivå som huvudprogrammet. Nya effektiva nivåer får man med 1) prefix-block (inkl huvudprogr.) 2) CLASS, 3) PROCEDURE, 4) inre block i klass, connection eller FOR-loop.
(162431)
(162527) 80-10-20 20:40 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: AND THEN/OR ELSE Om dessa tycker jag inte, däremot skulle jag kunna tänka mig CAND / COR.
(162527)
(162529) 80-10-20 20:42 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED / NICE Ingen av de gör precis vad jag vill, men kasta för allt i världen inte bort SIMED. Är det så betungande med underhållet?
(162529)
(163888) 80-10-23 11:47 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: HIDDEN Ett stort tack till Lars Enderin för att han rättat HIDDEN så att det nu fungerar i de mest osannolika kombinationer.
(163888) (kommentar i 163911)
(163892) 80-10-23 11:48 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Ärende: Virtuell minneshantering i DEC-Simula Hur skriver man ett program med så effektiv virtuell minneshantering som möjligt?
(163892) (kommentar i 164655, 164739)
(163911) 80-10-23 12:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :163888: av Lennart Borgman LTH Ärende: HIDDEN Det är inte HIDDEN som rättats (vad det nu skulle betyda), utan anrop av procedurer via "dot notation" (x.p) eller INSPECT .... DO ... p ... som nu fungerar även om den klass som p är attribut till är HIDDEN. Det kommer en rättelse till som klarar av (osannolika) omdeklarationer också.
(163911) (kommentar i 164585)
(164192) 80-10-23 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Ärende: Fel i Simula-kompilatorn på DEC-maskinerna. Original: (16267) 80-10-23 15:39 HANS RIESEL (NADA) Om man kör följande program begin integer j; long real x; x:=1&&10; j:= entier(x/3&&0); outtext("entier(1&&10/3&&0); outint(j,15); outimage end blir resultatet 3333333312 i st f 3333333333. Kan det bero på, att entier för long real går via short real, så att bitarna 28-35 förloras? (3333333312=10000*(5^6-1)*2^6 där tydligen avkortning skett från 5^6 till 5^6-1.)
(164192) (kommentar i 164194, 164196)
(164194) 80-10-23 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :164192: av Överföring från NADJA Ärende: Fel i Simula-kompilatorn på DEC-maskinerna. Original: (16287) 80-10-23 17:03 PER DANIELSSON Ja, tydligen. Efter att ha räknat ut x/3&&0 gör SIMULA en FIXR (FIX and Round), som bara avrundar från enkel precision till heltal. Samma sak (nästan) råkar man ut för om man byter ut LONG REAL till REAL i ditt program, eftersom taldelen bara har 27 bittar.
(164194)
(164196) 80-10-23 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :164192: av Överföring från NADJA Ärende: Fel i Simula-kompilatorn på DEC-maskinerna. Original: (16308) 80-10-23 19:13 JAN MICHAEL RYNNING Maskininstruktionen DFDV (double floating divide), som används för att utföra division mellan flyttal i dubbel precision, räknar rätt till sista biten i detta fall. Felet ligger i S67s entier-funktion.
(164196) (kommentar i 164268)
(164268) 80-10-24 10:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :164196: av Överföring från NADJA Ärende: Fel i Simula-kompilatorn på DEC-maskinerna. Ok, det är nog en miss att Entier inte är generisk, dvs fungerar olika för olika argumenttyp (REAL resp LONG REAL). I Algol anropas en subrutin, som nog kan implementeras i SIMULA också, men jag hinner knappast med det om jag inte får hjälp med korrekt instruktionssekvens. Om jag har en sådan subrutin går ändringen snabbt.
(164268)
(164585) 80-10-24 18:11 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :163911: av Lars Enderin FOA1 Ärende: HIDDEN Viktigt att vi informerar Norsk Regnsentral om detta, så att deras nya SCALA-kompilator funkar likadant.
(164585)
(164653) 80-10-24 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: REALTIME. Original: (16429) 80-10-24 12:26 LENNART PETTERSSON NADA I Simula Language Handbook finns en klass med detta namn beskriven (del 2, appendix A). Jag bara undrar: finns det några planer på att implementera den på NADJA? Finns den på QZ än, förresten? KORREKTION: del 2 <=> del 3, förstås!
(164653) (kommentar i 164732)
(164655) 80-10-24 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Kommentar till :163892: av Lennart Borgman LTH Ärende: Virtuell minneshantering i DEC-Simula Original: (16449) 80-10-24 16:33 JAN MICHAEL RYNNING Till att börja med byter man till operativsystemet TOPS-20, som har märkbart effektivare hantering av virtuellt minne än TOPS-10.
(164655) (kommentar i 164727, 165209)
(164727) 80-10-25 10:25 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Kommentar till :164655: av Överföring från NADJA Ärende: Virtuell minneshantering i DEC-Simula Hur menar du att Lennart Borgman skall göra för att byta till TOPS-20? Han har ju ingen egen dator!
(164727) (kommentar i 176039)
(164732) 80-10-25 10:43 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :164653: av Överföring från NADJA Ärende: REALTIME. Paketet ifråga finns sedan fyra år på QZ. Det finns på DSKE:REALTI.*Ä13,134,SIMUTIÅ. Torde vara lätt att kopiera över till NADJA. Ett demopaket för att testa REALTI finns i FOA:FOOT.EXE på QZ. Ett enkelt fotbollsliknande spel där två olika personer vid olika skärmar i realtid kan spela fotboll med varandra. OBS: Bara den ena skärmen skall vara inloggad, den andra skärmen assignas från den inloggade skärmen. REALTI klarar för närvarande bara radvis, inte teckenvis inmatning från använda terminaler. När den gjordes, för fyra år sedan, klarade DEC-10-ans operativsystem inte teckenvis inmatning från andra än den kontrollerande terminalen i kombination med hibernate-väntan på input från flera terminaler. REALTI har inte använts mycket vid QZ. Däremot vet jag att Forsvarets Forskningstjeneste i Danmark byggt upp stora komplexa realtidsspel med många samtidigt inblandade parter vid olika terminaler, utgående från REALTI.
(164732) (kommentar i 165294)
(164739) 80-10-25 11:09 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :163892: av Lennart Borgman LTH Ärende: Virtuell minneshantering i DEC-Simula Simula Language Handbook del 3 (DOC:SIMLH3.MAN) beskriver en del om detta på sid 61ff, kapitel 4.6. Tyvärr är det mesta som där beskrivs inte implementerat. POOLTOP och GCFREEZE finns dock implementerade. Man kan vinna något på att ha ett stort program, istället för flera separatkompilerade moduler, när man kör virtuellt. Kan spara 10 % av körkostnaden. Orsak: Varje separatkompilerad modul innehåller info av olika slag. Med en modul samlas info av samma slag på samma ställe i minnet. Det kan vara en fördel att planera sitt program så att man försöker undvika alltför mycket garbage collection. Det är tänkbart att man ibland kan optimera sina program genom att planera garbage collection med hjälp av pooltop. Den allmänna regeln, som ju gäller alla programmeringsspråk, är att försöka strukturera sitt program i moduler av kod som utförs "en modul i taget", t.ex. ordna programmet i flera på varande följande "pass" som bearbetar data vidare från pass till pass. Varje pass bör vara relativt långt (minst några sekunder CPU-tid) och givetvis bör inget pass göra några referenser till sådant som hör till ett annat pass.
(164739)
(165294) 80-10-27 15:11 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :164732: av Jacob Palme FOA1 Ärende: REALTIME. Jag har nu kopierat över REALTI.SIM, .ATR, .REL till NADJA_<13,134>.
(165294)
(165747) 80-10-28 09:57 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: BEAD CLASS bead skrev jag för länge sedan som alternativ till Simset. Största fördelen skulle vara att externa procedurer och klasser kunde ge resultat och ta parametrar som vore subklasser till bead. Som bekant går det inte för Link t ex. Dessutom innehåller bead en generell procedur för att söka igenom en hel lista och tillämpa ett villkor - DOFOREACH. Klassen följer här: OPTIONS(/E); CLASS bead; HIDDEN PROTECTED hsuc,hpred; BEGIN REF(bead)hsuc,hpred; REF (bead) PROCEDURE suc; IF hsuc=/=THIS bead THEN suc:-hsuc; REF (bead) PROCEDURE pred; IF hpred=/=THIS bead THEN pred:-hpred; PROCEDURE follow(x); REF(bead)x; BEGIN hsuc:-x.hsuc; hsuc.hpred:-x.hsuc:-THIS bead; hpred:-x END follow; PROCEDURE precede(x); REF(bead)x; BEGIN hpred:-x.hpred; hpred.hsuc:-x.hpred:-THIS bead; hsuc:-x END precede; PROCEDURE into(x); REF(bead)x; BEGIN hpred:-x.hpred; hpred.hsuc:-x.hpred:-THIS bead; hsuc:-x END into; PROCEDURE out; BEGIN hpred.hsuc:-hsuc; hsuc.hpred:-hpred; hpred:-hsuc:-THIS bead; END out; INTEGER PROCEDURE cardinal; BEGIN REF(bead)x; INTEGER i; x:-THIS bead; WHILE x.hsuc =/= THIS bead DO BEGIN i:=i+1; x:-x.hsuc END; cardinal:=i+1 END cardinal; BOOLEAN PROCEDURE singular; singular:=hsuc =/= THIS bead; PROCEDURE doforeach(p); PROCEDURE p; BEGIN REF(bead)x; FOR x:-THIS bead, x.suc WHILE x=/=THIS bead DO p(x); END; BOOLEAN PROCEDURE exists(such,that); NAME such,that; REF(bead)such; BOOLEAN that; BEGIN REF(bead)x; such:-x:-THIS bead; GO TO l; WHILE x =/= THIS bead DO l: IF that THEN BEGIN exists:=TRUE; GO TO out END ELSE such:-x:-x.hsuc; out: END exists; hsuc:-hpred:-THIS bead; END of class bead; Jag har inte lagt in den i LIBSIM därför att 1) Jag inte är säker på att den innehåller det man vill att den skall innehålla. Bör den vara mera generell eller mera begränsad? 2) jag inte har funderat ut någon lämplig tillämpning som exempel. Jag skulle nu vilja byta ut INPUTWAIT mot en mera flexibel modul (klass) som innehåller subklasser till BEAD som "interrupt-element" och i samband med det vill jag fråga om det är någon som har ideer om eventuella modifikationer av BEAD innan den läggs in i LIBSIM.
(165747) (kommentar i 165907)
(165907) 80-10-28 13:17 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :165747: av Lars Enderin FOA1 Ärende: Inputwait Skall inputwait modifieras kan det väl vara aktuellt fundera på att tillåta väntan även på enteckensinmatning. Användaren bör på något sätt få välja vilken typ av inmatning han vill vänta på, om det går att ordna.
(165907) (kommentar i 165931)
(165931) 80-10-28 13:49 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :165907: av Jacob Palme FOA1 Ärende: Inputwait Jag har redan gjort en variant som gör detta, även en variant på inputcheck: inpwait, inpcheck tror jag de kallas. Jag gjorde dem som hjälp åt Jurek Hollenberg men har inte gjort dem allmänt tillgängliga just därför att jag inte tycker inputwait är bra att bygga på. Vad man väntar på styrs genom en HIBER-UUO, som kan göras från SIMULA med XCALLI. Jag vill ta ut koden i inputwait och inputcheck och placera motsvarande faciliteter i en klass med möjligheter till detaljkontroll av vad man skall vänta på. Just nu kan jag inte göra något åt det, ville bara förbereda marken genom att diskutera BEAD här.
(165931)
(165961) 80-10-28 14:16 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: DOC:LIBUNI.DOC På tips från Lasse (Enderin) har jag fått reda på ovanstående fil. Den innehåller en förteckning över alla i SYS:LIBSIM förekommande externmoduler, sorterade efter den unika identifieraren, exvis 7%MÅY0, som man ibland får i felmeddelande från Link. Praktisk ibland, jag tyckte vetskapen om den skulle spridas lite till.
(165961)
(166385) 80-10-28 22:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Original: (17082) 80-10-28 01:48 PETER SVANBERG ...har jag märkt att det är. Följande två program borde - trodde iallafall jag - ge samma utskrift: BEGIN : PROGRAM test REAL r; : r = 1111.24 r := 1111.24; : WRITE(5,101) r Outfix(r,7,15); Outimage; : 101 FORMAT(1X,F15.7) END : STOP : END Men ack vad jag bedrog mig: 1111.239902 respektive 1111.2400000 Vadan denna stora skillnad? Är det inte lite konstigt eller är det jag som är dum?
(166385) (kommentar i 166628, 166639)
(166628) 80-10-29 13:10 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166385: av Överföring från NADJA Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Skillnaden i det konverterade resultatet för 1111.24 mellan SIMULA- och FORTRAN-versionen är faktiskt bara 1 bit! Om man lägger till denna bit med DDT får man i SIMULA-programmet utskriften 1111.240055. Kanske innhåller FOROTS någmekanism som avrundar med hänsyn till noggrannheten och då föredrar nollor.
(166628)
(166639) 80-10-29 13:21 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166385: av Överföring från NADJA Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Simula-programmet skriver faktiskt ut 1111.2399902, alltså bara ett fel på 1&-5, vilket stämmer med värdet på sista biten, som är ungefär 2^(-17) = 0.76&-5. Jag ifrågasätter alltså uttrycket "denna STORA skillnad".
(166639) (kommentar i 166643, 166650, 168129)
(166643) 80-10-29 13:24 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166639: av Lars Enderin FOA1 Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Någon numeriker som behärskar MACRO-10 får gärna titta på konverterings- rutinerna, som finns bl a i TX.MAC<13,617>.
(166643)
(166650) 80-10-29 13:27 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166639: av Lars Enderin FOA1 Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Om x görs till LONG REAL och konstanten = 1111.24&&0, skrivs den ut exakt med 7 decimaler.
(166650) (kommentar i 166826)
(166729) 80-10-29 15:27 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Kompilera om externa klasser och procedurer! Om du har några klasser eller procedurer som inte är omkompilerade sedan version 5 tillkom, kan du få mystiska fel om du försöker använda dem, i specialfallet att du har en av de MACRO-10-procedurer som anropas liksom SIMULA-procedurer (OPTIONS(/E:CODE...), som externdeklaration i din egen klass eller procedur, t ex CONC, och inte deklarerar den även i huvudprogrammet (eller i någon annan extern klass eller procedur). Detta är alltså ett skäl för omkompilering, men man kan förstås deklarera t ex CONC i huvudprogrammet om man vill.
(166729) (kommentar i 166753)
(166753) 80-10-29 15:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166729: av Lars Enderin FOA1 Ärende: Kompilera om externa klasser och procedurer! Felet yttrar sig som ?LNKUGS Undefined global symbol 7%ÅMY0 i detta fall (CONC behandlas inte av kompilatorn vid kompilering av huvudprogrammet). F ö är det inte bara externa CODE-procedurer som kan bli missade, även externa FORTRAN-procedurer och klasser som inte deklareras i huvudprogrammet.
(166753)
(166826) 80-10-29 17:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166650: av Lars Enderin FOA1 Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Jag har för mig att man från början avrundade ett tal i enkelprecision med hänsyn till andra halvan av talet i dubbel precision. Detta gjordes i kompilatorn, men stämde inte med run-time-systemet, dvs om man läste in talet 1111.24 fick man inte exakt samma tal som konstanten 1111.24 representerades med. Det ändrades då så att RTS och kompilator gav samma resultat. Skälet för trunkering i st f avrundning är att det blir mycket krångligare att konvertera ett tal från long real till real om man skall avrunda, i synnerhet för negativa tal. Nu kapar man helt enkelt andra ordet av ett tal i dubbel precision och får då ett litet större fel men snabbare och kortare kod. Jag tror Algol har en subrutin för konverteringen.
(166826)
(168129) 80-11-01 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :166639: av Lars Enderin FOA1 Ärende: Skillnader mellan SIMULA och FORTRAN vid utskrift av flyttal Original: (18037) 80-11-01 15:22 PETER SVANBERG Jag ger mig. Jag har just upptäckt att FORTRAN är lite väl förtjust i nollor: Ett program som kollar precisionen på datorn genom att kolla för vilket N som 1+2^(-N) blir 1 (en vanlig uppgift på termi- nalövningar på NADA) testade jag i FORTRAN och SIMULA, vilket gav följande resultat (programmen håller på t.o.m. då Y=1): N 2^(-N) 1+2^(-N) FORTRAN N= 23 X= .11920929000E-06 Y= 1.00000010000 N= 24 X= .59604645000E-07 Y= 1.00000010000 N= 25 X= .29802322000E-07 Y= 1.00000000000 N= 26 X= .14901161000E-07 Y= 1.00000000000 N= 27 X= .74505806000E-08 Y= 1.00000000000 N= 28 X= .37252903000E-08 Y= 1.00000000000 SIMULA N= 23 X= 1.1920928955E-07 Y= 1.00000011921 N= 24 X= 5.9604644775E-08 Y= 1.00000005960 N= 25 X= 2.9802322388E-08 Y= 1.00000002980 N= 26 X= 1.4901161194E-08 Y= 1.00000001490 N= 27 X= 7.4505805969E-09 Y= 1.00000001490 N= 28 X= 3.7252902985E-09 Y= 1.00000000000 FORTRANs utskriftsrutin är tydligen inte så bra. (Att Y är samma för N=26 och 27 i SIMULA beror på avrundning vid additionen.)
(168129)
(168133) 80-11-01 22:42 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 För kännedom: LE arkiv. Sändare: Lars Enderin FOA1 Kommentar till :167848: av Jacob Palme FOA1 Ärende: Versionsnummer Original: (18017) 80-11-01 13:28 JAN MICHAEL RYNNING Jag skulle hemskt gärna vilja ha möjlighet att ange fullständigt versionsnummer på programmet i OPTIONS eller med switch till kompilatorn. Sätt upp det på önskelistan!
(168133) (kommentar i 168299, 168435)
(168093) 80-11-01 17:40 Tommy Ericson QZ Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 Kommentar till :168065: av Jacob Palme FOA1 Ärende: Versionsnummer Det är ovanligt att kompilatorer läser av version på källkodsfil och vidarebefordrar till .REL-filen. Men om det finns ett versions- nummer i .REL-filen så hamnar det normalt även i .EXE-filen.
(168093) (kommentar i 168184)
(168184) 80-11-02 10:31 Jacob Palme Mottagare: DEC-10 erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168093: av Tommy Ericson QZ Ärende: Versionsnummer Jag prövade att med FUR förse en REL-fil med versionsnummer, och gjorde sedan "LOAD" och "SAVE". Det blev INTE något versions- nummer på EXE-filen!
(168184) (kommentar i 168429, 168926)
(168299) 80-11-02 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168133: av Överföring från NADJA Ärende: Versionsnummer Original: (18222) 80-11-02 12:05 ANDERS SUNDQVIST annars kan man ju ha följande lilla macro snutt,som man kan länka in i sitt program: title version whoed=1 ; who edited version=1 ; version number minver=1 ; minor version number edit=140 ; edit numbe loc 137 byte (3) whoed (9) version (6) minver (18) edit reloc end detta ger versionsnummer 1A(140)-1
(168299) (kommentar i 168345, 168922)
(168345) 80-11-02 23:00 Torgny Tholerus Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168299: av Överföring från NADJA Ärende: Versionsnummer Detta är exakt den metod jag använder för KOM.
(168345)
(168429) 80-11-03 12:59 Lars Enderin Mottagare: DEC-10 erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168184: av Jacob Palme FOA1 Ärende: Versionsnummer Nej, så enkelt är det inte - för att versionen skall hamna i EXE-filen måste den finnas i koden som en tilldelning av ett värde till .JBVER (med adressen 8R137), alltså motsvarigheten till MACRO-10-koden LOC 137 värde på versionsordet RELOC Detta ger information i REL-filen som LINK sedan utnyttjar. Obs att den om flera sådana tilldelningar finns i det som laddas gäller dn sist angivna versionen, vilket normalt innebär att om t ex SIMRTS laddas med får programmet samma version som SIMRTS.
(168429)
(168435) 80-11-03 13:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168133: av Överföring från NADJA Ärende: Versionsnummer I och för sig inte så svårt. Kanske ännu bättre att ha en switch för ASCIZ-info till LINK, där strängen "/VERSION:...." kunde vara en del. Man kunde då också t ex ange att man vill ha in någon speciell REL-fil, t ex en fil som innehåller definitioner av globala flaggor enligt SIMHGH.HLP. Tyvärr kan man inte ha flera switchar som börjar på samma bokstav p g a den primitiva switch-hanteringen i kompilatorn (och SIMRTS), så man får välja t ex K som namn på en sådan switch.
(168435)
(168521) 80-11-03 15:14 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168495: av Lars-Åke Larsson Ärende: Avläsa eget ppn från Simula-program. Du kan använda tillämpliga delar av denna gamla procedur som jag hade liggande: OPTIONS(/e/-d/-i); EXTERNAL INTEGER PROCEDURE bitfield, gettab; TEXT PROCEDURE ppn(jobnumber); INTEGER jobnumber; BEGIN INTEGER w, w1, i, rank0; TEXT p; BOOLEAN significant; p:- Blanks(15); ! Absolute maximum; rank0:= Rank('0'); p.Putchar('Ä'); w:=gettab(2,jobnumber); FOR i:= 0 STEP 3 UNTIL 33 DO BEGIN IF i=18 THEN BEGIN p.Putchar(','); significant:=FALSE END; w1:= bitfield(w,i,3); IF w1 NE 0 THEN significant:= TRUE; IF w1 NE 0 OR significant THEN p.Putchar(Char(rank0+w1)); END; p.Putchar('Å'); ppn:- p.Strip; END PPN; (bör kanske ändras till att inte generera nytt textobjekt varje gång)
(168521) (kommentar i 168533, 168561)
(168561) 80-11-03 16:17 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168521: av Tommy Ericson QZ Ärende: Avläsa eget ppn från Simula-program. Tack så mycket! Den proceduren fungerade ju. Och via xcalli kan man få tag på jobbnumret (fick jag veta av Tommy, det står f.ö. i LIBSIM-manualen). Följande testprogram fungerar alltså: 00100 begin 00200 external text procedure ppn; 00250 external integer procedure xcalli; 00300 begin integer JOBNR; 00400 jobnr:=xcalli(8r30,0,false,0); 00500 outtext(ppn(jobnr)); outimage 00600 end; 00700 end; Med hjälp av KOM och goda vänner, så fixar sig saker! Tack än en gång!
(168561) (kommentar i 168592)
(168592) 80-11-03 16:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168561: av Lars-Åke Larsson Ärende: Avläsa eget ppn från Simula-program. Jag gjorde oberoende av Tommy Ericson en egne version, som jag modifierade efter att ha sett hans: PPNTEXT.*<13,134> för tillfället. Skillnaden är att jobbnummer inte är inblandat. OPTIONS(/P:"PPNTEXT, make Äproj,progrÅ text string"/E/-D/-I); COMMENT Creates the text "Ä123,456Å" from the value 8R123000456, i e proj*2^18 + programmer no. If ppn = 0, the logged-in ppn is returned; EXTERNAL INTEGER PROCEDURE bitfield, xcalli; TEXT PROCEDURE ppntext(ppn); INTEGER ppn; BEGIN TEXT t; CHARACTER c; INTEGER d, i; BOOLEAN significant; IF ppn = 0 THEN ppn:= xcalli(8R24, 0, FALSE, 0); t:- Blanks(15); t.Putchar('Ä'); FOR i:= 0 STEP 3 UNTIL 33 DO BEGIN IF i = 18 THEN BEGIN t.Putchar(','); significant:= FALSE END; d:= bitfield(ppn, i, 3); significant:= significant OR d > 0; IF significant THEN t.Putchar(Char(8R60+d)); END; t.Putchar('Å'); ppntext:- t.Strip; END ppntext; Ett problem är att man kanske inte vill ha eget ppn i detta läge utan default path, som kan vara ett helt annat ppn och innehålla sfd-er. I LIBSIM borde kanske läggas en klass som innehåller allt detta.
(168592)
(168638) 80-11-03 17:12 Mats Ohlin Mottagare: Lars-Åke Larsson. Mottaget: 80-11-03 17:14 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Lars-Åke Larsson Svar till :168495: Ärende: Avläsa eget ppn från Simula-program. Kanske så här (hade faktiskt en sådan) - du får lägga in Ä Å själv: OPTIONS(/e); EXTERNAL TEXT PROCEDURE radix,conc; EXTERNAL INTEGER PROCEDURE gettab; TEXT PROCEDURE ppn; BEGIN INTEGER ippn; ippn:= gettab(2,-1); ppn:- conc(radix(8,ippn//2^18),",",radix(8,Mod(ippn,2^18))); END;
(168638) (kommentar i 168641, 168645, 168653)
(168641) 80-11-03 17:16 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168638: av Mats Ohlin Ärende: Avläsa eget ppn från Simula-program. Det var en kort variant! Tack Mats!
(168641) (kommentar i 168662)
(168653) 80-11-03 17:22 Mats Ohlin Mottagare: Lars-Åke Larsson. Mottaget: 80-11-03 17:22 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168638: av Mats Ohlin Ärende: Avläsa eget ppn från Simula-program. 2^18 kan med fördel utbytas mot 8R1 000 000.
(168653) (kommentar i 168671)
(168662) 80-11-03 17:29 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168641: av Lars-Åke Larsson Ärende: Avläsa eget ppn från Simula-program. Att den blev så kort beror främst på att jag använder RADIX för konvertering till (oktal) text.
(168662)
(168671) 80-11-03 17:32 Lars Enderin För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168653: av Mats Ohlin Ärende: Avläsa eget ppn från Simula-program. Det visar sig att det som egentligen önskades var en fullständig filspecifikation för en fil. Detta åstadkommer man med hjälp av LIBSIM-proceduren FILSPC, som klarar av alla möjliga path's etc. Läs specifikationen noga! Obs särskilt 1-an i sista biten om andra parametern inte väljs = 0!
(168671) (kommentar i 168851)
(168847) 80-11-03 20:18 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168495: av Lars-Åke Larsson Ärende: Avläsa eget ppn från Simula-program. Jag har en egen externprocedur PPN, som lämnar resultatet som en text a la <105,2016>.
(168847)
(168851) 80-11-03 20:21 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168671: av Lars Enderin FOA1 Ärende: Avläsa eget ppn från Simula-program. Ibland undrar man hur mycken tid som läggs ner på dubbel(trippel- etc) arbete. Här frågar Lars-Åke om en ppn-procedur, och så dyker det raskt upp fyra personer med varsin. Hade vi inte KOM skulle det väl vara ännu mer...
(168851) (kommentar i 169162)
(168922) 80-11-03 22:49 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168299: av Överföring från NADJA Ärende: Versionsnummer Original: (18457) 80-11-03 12:02 JAN MICHAEL RYNNING Det är inte lika enkelt. Framför allt måste man hålla reda på och redigera två skilda filer. Då är det faktiskt enklare att skriva versionsnumret som kommentar i programmet, och peta in det på rätt ställen med något program, eller genom att göra D in i .JBVER före SAVE.
(168922) (kommentar i 168924)
(168924) 80-11-03 22:49 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168922: av Överföring från NADJA Ärende: Versionsnummer Original: (18462) 80-11-03 12:10 ANDERS SUNDQVIST Om inte annat, skulle detse snyggare ut om man kunde skriva nåt i stil med OPTIONS(/version:(versÄ,minverÄ,editÄ,who)); det andra är bara nödlösningar.
(168924)
(168926) 80-11-03 22:49 Överföring från NADJA Mottagare: DEC-10 erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168184: av Jacob Palme FOA1 Ärende: Versionsnummer Original: (18411) 80-11-03 04:53 ÖRJAN EKEBERG (NADA) En .REL-filkan ha versionsnummer i två olika meningar. Dels kan den, precis som alla andra filer, ha det versionsnummer som ligger i filens RIB-block och som bl.a. skrivs ut vid DIRECT. Detta versionsnummer överför LINK-10 (tyvärr) inte till .JBVER och därmed .EXE-filen. Dels kan den ha en instruktion till LINK-10 att ladda ett versionsnummer i adress .JBVER som därvid dyker upp som versionsnummer på .EXE-filen.
(168926)
(168929) 80-11-03 22:49 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CADSIM Original: (18510) 80-11-03 17:29 DAG SUNDMAN Det lär finnas en simula-klass vid namn CADSIM som simulerar bla kontinuerliga och analoga kopplade diff.ekvationer. Är det någon som vet var den finns? Dokumentation?? Jag väntar med hoppet tänt Dag Sundman
(168929) (kommentar i 169045)
(169045) 80-11-04 09:34 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168929: av Överföring från NADJA Ärende: CADSIM Paketet förvaltas av FOA 221 där vi även har ett annat paket COMBINEDSIMULATION, som kan samma konster och lite till. Se även KOM-mötet COMBINEDSIMULATION.
(169045)
(169162) 80-11-04 12:14 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :168851: av Mats Wallin FOA1 Ärende: Avläsa eget ppn från Simula-program. Jag har en jag med (inbyggd i PTY). Men jag tyckte det fanns så många förslag ändå, så jag nämnde inte min rutin.
(169162) (kommentar i 169190)
(169471) 80-11-04 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 Kommentar till :168400: av Lars Enderin FOA1 Ärende: Versionsnummer Original: (18724) 80-11-04 14:24 JAN MICHAEL RYNNING Ditt förslag är mer generellt. Om man får lägga ut godtyckliga strängar i .REL-filen, kan man även ge andra LINK-direktiv, för- utom /VERSION. OPTIONS(/V:"/VERSION:2A(373)-5"); skulle det allt- så kunna komma att heta. Nog med förslag? Eller finns det någon, som kan komma på något mer generellt, mer användbart?
(169471) (kommentar i 169682)
(169682) 80-11-05 10:15 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 Kommentar till :169471: av Överföring från NADJA Ärende: Versionsnummer I så fall tror jag att switchen skall kallas TEXT.
(169682) (kommentar i 169717)
(169717) 80-11-05 10:44 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :169682: av Lars Enderin FOA1 Ärende: Versionsnummer Hellre ett namn på switchen som klargör att det är något som skall skickas till LINK. Vilka "bokstäver har vi lediga"?
(169717) (kommentar i 169724)
(169724) 80-11-05 10:53 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :169717: av Jacob Palme FOA1 Ärende: Versionsnummer Jag har inventerat: BFGJKMOTUVXZ finns lediga. Ingen av dessa bokstäver verkar kunna antyda LINK, utom möjligen K, som ingår i ordet LINK, men är en smula långsökt. TEXT har däremot en vettig tolkning - huvudprodukten av en kompilering är ju en REL-fil, och det är där TEXTen läggs in. Dessutom kallas denna typ av information ASCII text i LINK-manualen.
(169724) (kommentar i 169808, 170233)
(169742) 80-11-05 11:09 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Ärende: Varning Sekvensfilshantering-Portabilitet-Univac. Jag har på DEC-10-Simula ibland utnyttjat följande: infil:-NEW Infile("test"); infil.Open(...); Inimage; utfil:-NEW Outfile("test"); utfil.Open osv. Dvs jag har först öppnat en infil, och sedan skapat en utfil med samma namn. Som alltså senare skall automatiskt ersätta min gamla infil. Det förefaller som om detta ger upphov till LOOPNING och annat otrevligt på UNIVAC-Simula.
(169742) (kommentar i 169772)
(169772) 80-11-05 11:53 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :169742: av Lars-Åke Larsson Ärende: Varning Sekvensfilshantering-Portabilitet-Univac. Man får tydligen skapa filen med ett annat namn först och sedan ta bort den gamla och döpa om den nya, om det nu går i Univac-Simula.
(169772) (kommentar i 170568)
(169808) 80-11-05 12:20 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :169724: av Lars Enderin FOA1 Ärende: Versionsnummer Vad sägs om "TRANSFER" det är ju något som skall "skickas vidare" till LINK från kompilatorn via REL-filen.
(169808) (kommentar i 169827, 169845)
(169827) 80-11-05 12:39 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :169808: av Jacob Palme FOA1 Ärende: Versionsnummer I så fall vore X lika bra, Xfer används ofta i st f Transfer.
(169827)
(170233) 80-11-05 21:23 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :169724: av Lars Enderin FOA1 Ärende: Versionsnummer OPTIONS(/TEXT:"info till LINK") är nu implementerat på NEW. PATH /NEW gör denna version = 5(410) lätt tillgänglig vid kompilering. Man kan nu t ex skriva OPTIONS(/T:"/VERSION:5A(450)"); varvid LINK kommer att sätta denna version på programmet om inte annan information (senare läst av LINK) ändrar version. Med T-switchen kan man också ge andra switchar till LINK och kräva att vissa REL-filer skall laddas t ex. /VERSION bör man nog bara ge i huvudprogram för att inte förvirra.
(170233) (kommentar i 170307, 170329, 170573)
(170307) 80-11-05 22:21 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170233: av Lars Enderin FOA1 Ärende: Versionsnummer Bra, det ska jag använda ofta!
(170307) (kommentar i 170325)
(170325) 80-11-05 22:29 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170307: av Tommy Ericson QZ Ärende: Versionsnummer Fixen kommer vel med på den neste SIMULA-tapen? Et bra tiltak, (den switchen) !
(170325) (kommentar i 170333)
(170329) 80-11-05 22:31 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170233: av Lars Enderin FOA1 Ärende: Versionsnummer Om man vill ha den yttersta finessen: version 5A(345)-4 t ex med "WHO" definierad med -4 i detta fall, måste man ge /VERS:"5A(345)-4" till LINK. Obs att man då måste skriva dubbla "": OPTIONS(/T:"VERS:""5A(345)-4""") alltså.
(170329) (kommentar i 170470, 170571)
(170333) 80-11-05 22:31 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170325: av Knut Smaaland UiO Ärende: Versionsnummer Ja den kommer med.
(170333)
(170568) 80-11-06 10:42 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Dapu (- Att tänka på vid) Konvertering till Univac (av Simulaprogram) Kommentar till :169772: av Lars Enderin FOA1 Ärende: Varning Sekvensfilshantering-Portabilitet-Univac. Döpa om!!!??? Det går nog inte!!
(170568)
(170571) 80-11-06 10:44 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170329: av Lars Enderin FOA1 Ärende: Versionsnummer Det verkar gå bra med /T:"VERS:5A(345)-4" också. Jag blev lurad av ett tidigare fel i min kod.
(170571)
(170573) 80-11-06 10:47 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170233: av Lars Enderin FOA1 Ärende: Versionsnummer Ang "..också ge andra switchar till LINK..". Har du något exempel på hur man skall skriva?
(170573) (kommentar i 170647)
(170647) 80-11-06 12:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170573: av Mats Ohlin Ärende: Versionsnummer Jag har inte testat mer än /VERSION och att ladda DDT, ex /T:"/VERS:2,SYS:DDT". Filnamn räknas helt enkelt upp med komma emellan, switchar ges endera efter filnamn eller fristående. Man kan dela upp texten på flera rader liksom för textkonstanter. Jag har satt en godtycklig gräns på 500 tecken för att fånga upp fel i tid. Eftersom man har begränsad kontroll över textens placering i input till LINK kan man inte använda alla tänkbara switchar om man inte styr helt vilka moduler som skall laddas in. Man kan i princip räkna upp alla relfiler man vill ha in och placera dem var man vill.
(170647) (kommentar i 170683)
(170683) 80-11-06 13:07 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170647: av Lars Enderin FOA1 Ärende: Versionsnummer Kan OPTIONS(/T) skrivas var som helst i Simula-programmet? Eller bara före början!
(170683) (kommentar i 170695)
(170695) 80-11-06 13:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170683: av Jacob Palme FOA1 Ärende: Versionsnummer Var som helst. Se ny SIMCOM.HLP, f n på NEWD:, snart på HLP:. Bara /T ger ingen effekt alls. Man bör helst bara skriva en /T-switch för att inte fragmentera REL-filen för mycket, men det har ganska liten betydelse. I REL-filen kommer texten ut före, efter eller emellan olika textkonstanter om det finns sådana, beroende på var man skriver /TEXT:"...".
(170695) (kommentar i 170735)
(170703) 80-11-06 13:18 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Ärende: SIMULA version 5A(410) Denna version, som avses vara nästa exportversion, finns nu på NEWD:, kopieras, hoppas jag , snart till SYS:, DOC:, HLP:, REL: som vanligt. Senaste tillägget är /T:"LINK-info", mest för att kunna sätta en användbar versionskod på program.
(170703) (kommentar i 170781)
(170735) 80-11-06 14:00 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170695: av Lars Enderin FOA1 Ärende: Versionsnummer Det naturliga är ju att skriva den nya options-satsen raden innan den rad där man skriver något i stil med outtext("Välkommen till VIDED version 4B"); så att man lätt kan ändra de två versionsnumren på en gång.
(170735) (kommentar i 170757)
(170757) 80-11-06 14:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :170735: av Jacob Palme FOA1 Ärende: Versionsnummer För utskriften kan du ju använda PUTVERSION(8R137).
(170757)
(172142) 80-11-09 20:00 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: VISTA-paketet för VT100-terminaler VISTA-paketet har nu anpassats till VT100 utan att behöva ställa om denna till Vt52-mod. Bl.a. innebär detta följande: a) Blinkning och intensifierad text kan användas. c) Om width-parametern till VISTA är >= 80 ställs VT100 automatiskt om i 132 tecken/rad-mod. d) Om width-parametern till VISTA är <= 40 används dubbelbreda tecken (max 40/rad). Du kan pröva detta i t.ex. FOA:QSIM, som nu använder dubbelbreda tecken på VT100-terminaler. GAM:CAT använder dubbelbreda tecken om man skriver .TTY WIDTH 40 innan man anropar CAT, annars inte. Ändrade VISTA finns t.v. endast på <105,1745> (inte i SYS:LIBSIM).
(172142)
(173254) 80-11-11 14:49 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LOOKFILE Har denna procedure ändrats nyligen? Tidigare tålde den anrop av typen LOOKFIL(HLP:XXX.HLP) men nu hittas inte filen även om den finns på HLP-arean.
(173254) (kommentar i 173394)
(173394) 80-11-11 16:33 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :173254: av Göran Lyman Ärende: LOOKFILE Nej, LOOKFILE har inte ändrats, däremot uppstod en icke förutsedd effekt av en RTS-ändring, som gjorde att en i/o-kanal inte öppnades om för HLP: (hade tidigare varit öppen för DSK: och ej släppt riktigt). HLP: behandlades då som DSK:. Rättat på NEWD: nu - Tillämpliga filer flyttas snart med QZ-s hjälp till SYS: och REL: hoppas jag. PA /NEW tillsvidare!
(173394) (kommentar i 173465, 173863)
(173526) 80-11-11 19:02 Jacob Palme Mottagare: Terminaler - synpunkter och erfarenheter m.m. Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: VISTA för VT100-terminaler VISTA-paketet har nu anpassats till VT100 utan att behöva ställa om denna till Vt52-mod. Bl.a. innebär detta följande: a) Understrykning eller reverserad text kan användas. b) Blinkning kan användas på sådana VT100 som har denna option. c) Om width-parametern till VISTA är >= 80 ställs VT100 automatiskt om i 132 tecken/rad-mod. OBS att man då bara får 14 rader på skärmar som saknar Advanced Video Option. d) Om width-parametern till VISTA är <= 40 används dubbelbreda tecken (max 40/rad). Du kan pröva detta i t.ex. FOA:QSIM, som nu använder dubbelbreda tecken på VT100-terminaler. GAM:CAT använder dubbelbreda tecken om man skriver .TTY WIDTH 40 innan man anropar CAT, annars inte. Ändrade VISTA finns t.v. endast på <105,1745> (inte i SYS:LIBSIM).
(173526)
(175046) 80-11-13 13:58 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM För kännedom: Viggo Eriksson. Mottaget: 80-11-14 11:09 För kännedom: Henrik Eriksson QZ. Mottaget: 80-11-14 22:37 Ärende: Fel i REL:NAG.ATR Följande procedur hade fel specifikation; ARRAY-parametrarna var specificerade enbart REAL: !Name:G02CAF; OPTIONS(/E:FORTRAN,G02CAF); PROCEDURE g02caf(n,x,y,result,ifail) ;!BI%OG0!; NAME ifail; INTEGER n; REAL ARRAY x, y,result; INTEGER ifail; !...; Rättat i DSKE:NAG.ATR<13,134,SIMSYS>, som bör kopieras till REL:. Felet upptäcktes av Christer Pettersson FOA 185 vid försök att skriva om ett F-N-program till SIMULA. Filen G02CAF.SIM, avbildad ovan, fick jag fram genom att köra SIMATR mot det rättade NAG.ATR. Rapportera liknande fel i KOM så att de kan rättas! Hur mycket används NAG från SIMULA?
(175046) (kommentar i 175082, 176418)
(175276) 80-11-13 20:38 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Ärende: Bättre funktion för PTY Nu kan man återigen styra flera PTY-er från ett SIMULA-program. Rättade versioner av SIMHGH.REL, SIMR5?.EXE, SIMDD5.ABS (ändrat felmeddelande, TTY=>DEVICE i ZYQ053), SIMLH2.MAN (meddelandet ändrat) på NEWD:, nås före flyttning med PATH /NEW
(175276) (kommentar i 175531)
(176039) 80-11-14 18:21 Kalle Mäkilä Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Kommentar till :164727: av Jacob Palme FOA1 Ärende: Virtuell minneshantering i DEC-Simula På STFI som har QZ gamla DEC-10-processor men litet minne är alla SIMULA-program kolossalt Dyra att köra (även t e VIDED) Jag tror det beror på virtuell minneshanteringen. Om någon enkel åtgärd kan vidtas borde kontakt tas Med Hans Magnusson, STFI. Jag har tidigare uppmanat honom rådfråga Lars Enderin.
(176039) (kommentar i 177768)
(176065) 80-11-14 20:00 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :175443: av Lars Enderin FOA1 Ärende: class universal Detta vore trevligt att ibland faktiskt! (de flesta s k aktörsspråken (som t ex ACT1, Smalltalk och Director, vilka inte skiljer så strikt på beskrivning och förekomst) har ju någon form av "uraktör" som alla andra föds ur).
(176065) (kommentar i 180376)
(176418) 80-11-15 20:12 Viggo Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :175046: av Lars Enderin FOA1 Ärende: Fel i REL:NAG.ATR Samma sak gäller G02CBF.
(176418) (kommentar i 177988)
(177768) 80-11-16 22:50 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: DEC-10 erfarenhetsutbyte Kommentar till :176039: av Kalle Mäkilä Ärende: Virtuell minneshantering i DEC-Simula - Original: (22021) 80-11-16 15:26 PER DANIELSSON Vadå dyra? Är det inte deras egen dator? Eller menar du resurskrävande i den meningen att systemet går trögt?
(177768)
(177983) 80-11-17 10:53 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :176253: av Jacob Palme FOA1 Ärende: Overlay i Simula a) Jag tror inte GETSEG byter hela hiseg, däremot rekommenderades det att ta bort hiseg med CORE före GETSEG för att inte tillfälligt kräva för mycket minne. Detta görs av SIMRTS vid GETSEG och ställer antagligen till problem genom att ta bort PFH (och VMDDT ibland). Endera bör man kanske ta bort CORE före GETSEG eller gå över till ensegmentsversion med en aning dyrare körningar som följd.
(177983) (kommentar i 179884)
(177988) 80-11-17 10:55 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :176418: av Viggo Eriksson Ärende: Fel i REL:NAG.ATR Kan du fixa ny version?
(177988) (kommentar i 178221)
(178221) 80-11-17 13:54 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :177988: av Lars Enderin FOA1 Ärende: Fel i REL:NAG.ATR Jag har rättat NAG.ATR i DSKE:NAG.ATR<13,134,SIMSYS>. Dessutom har jag ändrat NAGSIM så att felmeddelande kommer ut vettigt via P01AAF (inte testat förut, misstag). Ny NAGSIM.REL finns på DSKD:<13,134,LIB> samt DSKE:<13,134,LIBSIM>. Rättelse av REL:NAG.REL via FUDGE2 eller MAKLIB kanske QZ kan göra (utbyte av NAGSIM).
(178221) (kommentar i 179618)
(178610) 80-11-17 20:15 -Jan Åman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Mottagare: Knut Smaaland UiO. Mottaget: 80-11-17 23:18 Kommentar till :112785: av Jacob Palme FOA1 Ärende: SIMULA på minidatorer Hur långt har arbetet med SIMULA-kompilator på VAX hunnit?
(178610) (kommentar i 178703)
(178639) 80-11-17 21:18 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Undefined Global symbols. Jag råkade nyss ut för ett otrevligt fel: Fick undefined global symbol vid länkning av ett mycket stort program. DEt visade sig bero på att jag i huvudprogrammet av misstag hade en externdeklaration till en procedur som jag sedan inte använde. Och denna procedur hade i sin tur en externdeklaration till en annan procedur. Och därmed så kom det av någon anledning ut en feldiagnos. Alltså: Oförklarliga undefined global symbols KAN bero på att man har externdeklarerat en procedur som man inte använder.
(178639) (kommentar i 178641)
(178641) 80-11-17 21:19 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :178639: av Lars-Åke Larsson Ärende: Undefined Global symbols. Utan Lars Enderins hjälpsamhet hade inte felets orsak uppdagats så snart som nu skedde. -
(178641) (kommentar i 178649)
(178649) 80-11-17 21:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :178641: av Lars-Åke Larsson Ärende: Undefined Global symbols. Grundorsaken till detta fel är att så fort man deklarerar en extern klass eller procedur i huvudprogrammet får man en referens till koden via dess radnummertabell, vars adress läggs i huvud- programmets radnummertabell. Detta gäller även om inget anrop finns. Existensen av anrop måste i sin tur kollas genom hela externdeklarationsträdet, och f n finns det ingen mekanism för att överföra denna information eller ens att lagra den någonstans i varje kompilering. Det sorts fel som Lars-Åke Larsson fick är troligen ovanligt. Mitt största motiv till att försöka göra något åt problemet är att man då kan undvika att ladda med procedurer och klasser som man inte använder, vilket gör det möjligt att ha ganska stora klasser med många extern-procedurer som attribut och bara välja ut dem man använder vid laddningen. Man skulle t o m kunna separera procedur- och klass-attribut till egna moduler som inte alltid laddades med, bara om de användes i programmet, vilket skulle göra det praktiskt möjligt att skapa stora tillämpningsklasser som bara behövde delvis belasta programmet vid körning. Tyvärr hinner jag nog inte göra något åt problemet i år.
(178649) (kommentar i 178661, 179401, 200606)
(178661) 80-11-17 21:41 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :178649: av Lars Enderin FOA1 Ärende: Undefined Global symbols. Det FINNS faktiskt ett enkelt sätt att sopa detta problem under mattan, nämligen att kopiera in alla, både direkta och indirekta, externreferenser. Då skulle man förutom den onödiga proceduren (OWNPPN) dra in den ändå mer onödiga proceduren (PPN) som refereras indirekt. Dessutom skulle man få in radnummertabeller för indirekt refererade procedurer, vilket man nu inte får, vilket gör att man har svårt att göra DISPLAY på sådana eller sätta brytpunkter i SIMDDT. Nackdelen är att det tar ganska lång tid att eliminera alla dubletter av deklarationer som ärvs nedåt, men å andra sidan kan man skära ned deklarationerna ytterligare.
(178661)
(178703) 80-11-17 23:19 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :178610: av -Jan Åman Ärende: SIMULA på minidatorer FERDIG!
(178703) (kommentar i 178706)
(178706) 80-11-17 23:20 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :178703: av Knut Smaaland UiO Ärende: SIMULA på minidatorer Kommer riktignok ikke ut på markedet för over nyttår.
(178706) (kommentar i 178752, 180152)
(178752) 80-11-18 08:38 Alf Brunström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :178706: av Knut Smaaland UiO Ärende: SIMULA på minidatorer Vad kommer kompilatorn att kosta? SIMULA på VAX skulle väl mot rimliga insatser ge oss i Umeå tillgång till synnerligen intressant programvara, VIDED, VIDEDP, VISTA, FORM, lokal KOM med överföingar till "Centrala KOM"?...
(178752) (kommentar i 178834, 179123)
(178966) 80-11-18 13:32 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NICE Version 2(100) av NICE finns nu tillgänglig på NEW:-arean. I NEW:NICE.HLP är skillnader mellan nuvarande SYS:-version 2(64) och den nya versionen markerade med asterisker. Även ny NEW:NICE.MEM- manual finns. Ifall inga klagomål inkommer så läggs NEW:-versionen på SYS:-arean.
(178966)
(178978) 80-11-18 13:43 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Ärende: Hur man tar reda på vad B8%K1Y betyder. Ibland kan man kan få felmeddelanden från LINK-10 med någon symbol som B8%K1Y, som är genererad som unikt namn av Simula-kompilatorn för någon ingång i en extern Simula-klass eller -procedur. Om ingången finns i SYS:LIBSIM, bör man kunna slå upp den i DOC:LIBUNI.DOC, som genererats av SIMATR med "switchen" U (I st f Display). Om man inte hittar symbolen där, kan man själv använda SIMATR för att göra motsvarande lista över egna ATR-filer. Man kan också använda "DISPLAY" i SIMATR för att se vilka unika symboler varje ATR-file refererar till, utgående från externdeklarationer i huvudprogrammet i första hand. På sås sätt kommer man förr eller senare fram till vilken modul som fattas (sås=>så).
(178978)
(179123) 80-11-18 17:26 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :178752: av Alf Brunström Ärende: SIMULA på minidatorer Jeg vet ikke hva den vil koste. Rette man å spörre er Jo Piene på NR adr: Norsk Regnesentral Forskningsveien 1B Oslo 3 Norge eller han kan nåes over telefon 466930 Jo Piene kan også nåes gjennom QZ-KOM, eller du kan henvende deg til mötet Norsk Regnesentral FOA kontakter flere fra NR vil väre innom der av og til. Ellers så er vel det greieste å bare ringe NR helt uformelt. Jo Piene er prosjekt-koordinator for S-PORT prosjektet.
(179123) (kommentar i 179154)
(179154) 80-11-18 18:46 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :179123: av Knut Smaaland UiO Ärende: SIMULA på minidatorer Numret är alltså 00947 2 466930 (Oslo, Norge).
(179154) (kommentar i 179881)
(179203) 80-11-18 21:02 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Tomas Moll. Mottaget: 80-11-19 10:16 Ärende: Standardidentifierare Jag håller just nu en mycket elementär SIMULA-kurs,och satt och drog igenom DEC-SIMULA:s standardidentifierare och reserverade ord. Döm om min förvåning när jag i listan hittade ord som jag faktiskt inte kände igen. Jag har dock inte sysslat med annat än SIMULA (i stort sett) de senaste fem åren. Känner du igen dem? På kul har jag gjort en liten lista på nio ord, som en liten frågelek, och du (JA, DU) skall (om du har lust) avgöra vilka som är STANDARDIDENTIFIERARE, alltså inte reserverade ord eller av mig påhittade nonsensord. Och du får förstås inte köra SIMED, men det har jag gjort på facitfilen som kommer som nästa inlägg. Tryck alltså inte på RETUR direkt och läs nästa inlägg nu, utan tänk efter först. Här är orden: after discrete erlang history linear outer short tanh weight. I och för sig kanske detta test säger en del om vilka tillämpningar jag pysslat med under årens lopp, men jag blev i alla fall snopen.
(179203) (kommentar i 179208)
(179208) 80-11-18 21:03 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179203: av Mats Wallin FOA1 Ärende: Standardidentifierare Facit: 00010 AFTER 00020 Discrete 00030 Erlang 00040 history 00050 Linear 00060 outer 00070 SHORT 00080 Tanh 00090 weight ursäkta radnumren. Jag har uppenbarligen inte pysslat så mycket med statistiska tillämpningar, för det var Discrete och Linear som jag inte omedelbart snappade på.
(179208) (kommentar i 179412)
(179326) 80-11-18 23:54 Kari Dubbelman SSRC Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :117227: av Jacob Palme FOA1 Ärende: Världens bästa språk för textbehandling Menar du DEC-teco eller MIT-teco? Om man betraktar TECO som programmeringsspråk är skillnaden avsevärd. MIT-Teco är fortfarande ett write-only language men har mycket mera muskler än DEC-TECO.
(179326) (kommentar i 181871)
(179618) 80-11-19 14:13 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :178221: av Lars Enderin FOA1 Ärende: Fel i REL:NAG.ATR Nu är REL:NAG.REL och NAG.ATR rättade enligt ovan.
(179618)
(179665) 80-11-19 14:46 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Klassers storlek vid run-time Vilken av följande varianter ger den kortaste koden vid kompilerning? 00050 Variant 1: 00100 BEGIN 00200 CLASS a; BEGIN ... END; 00300 a CLASS b1; BEGIN sats1; END; 00400 a CLASS b2; BEGIN sats2; END; 00500 00600 REF((b1) pb1; REF(b2) pb2; 00700 pb1:-NEW b1; pb2:-NEW b2; 00800 END; 00850 00875 Variant 2: 00900 BEGIN 01000 CLASS a; BEGIN ... END; 01100 a CLASS b(i); INTEGER i; BEGIN 01200 IF i=1 THEN sats1 ELSE sats2; END; 01300 01400 REF(b) pb1, pb2; 01500 pb1:-NEW b(1); pb2::-NEW b(2); 01600 END;
(179665) (kommentar i 179689)
(179689) 80-11-19 15:30 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179665: av Lennart Borgman LTH Ärende: Klassers storlek vid run-time Variant 2 blir kortast, hela 12 ord! Alltså obetydligt i detta sammanhang anser jag. Man vinner mycket mer på OPTIONS(/-D/-I) som tar bort ca 60 ord i detta fall. Jag gjorde exemplen kompilerbara enligt följande: 00010 OPTIONS(/-d/-i); 00100 !(179665) 80-11-19 14:46 Lennart Borgman 00200 Mottagare: SIMULA erfarenhetsutbyte 00300 Ärende: Klassers storlek vid run-time 00400 Vilken av följande varianter ger den kortaste koden vid kompilerning? 00500 00600 Variant 1:; 00700 BEGIN 00800 CLASS a; BEGIN ; END; 00900 a CLASS b1; BEGIN sats1:; END; 01000 a CLASS b2; BEGIN sats2:; END; 01100 % 01200 REF(b1) pb1; REF(b2) pb2; 01300 pb1:-NEW b1; pb2:-NEW b2; 01400 END; 01500 01600 % Variant 2:; 01700 % BEGIN 01800 % CLASS a; BEGIN ; END; 01900 % a CLASS b(i); INTEGER i; BEGIN 02000 % IF i=1 THEN sats1: ELSE sats2:; END; 02100 % 02200 % REF(b) pb1, pb2; 02300 % pb1:-NEW b(1); pb2:-NEW b(2); 02400 % END; 02500 % !(179665) ; Variant 2 fick jag genom att placera % på de andra raderna i stället. Jag tycker det är en suboptimering att göra sina program kortare på detta sätt.
(179689)
(179706) 80-11-19 15:51 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: PTYFIL OM någon har ett program som använder PTYFIL och laddades före 15 November - ladda om det! Proceduren är ändrad tillsammans med en ändring i SIMR52.EXE. Kan ge ?Illegal address annars.
(179706)
(179766) 80-11-19 17:18 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LST-filer Om man kompilerar med R SIMULA,*PROG/L så skapas ju filen PROG.LST . Vad händer med denna fil? Kommer den att skrivas ut och listan skickas, eller måste man begära det? Jag hade de här två raderna i en CTL-fil, och hoppades få en lista, men det fick jag inte. Kan det bero på at jag gjort SUBMIT med /OUTPUT:NOLOG ? När jag sedan tog mig till terminalen för att skriva ut PROG.LST så försvann den. Ska de här filerna försvina "av sig själva"?
(179766) (kommentar i 179768)
(179768) 80-11-19 17:26 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179766: av Lennart Borgman LTH Ärende: LST-filer Du må be om å få skrevet ut filen PROG.LST. Hvis du ber om å få den skrevet ut med en PRINT-kommando så vil den forsvinne etter at den er skrevet ut. Sier du derimot PRINT PROG.LST/PRESERVE så vil den ikke bli fjernet etter at den er skrevet ut. At du ikke fikk ut noe har neppe noe med /output:0 å gjöre. Det du kunne sagt i stedet for .r simula prog/list er for eksempel comp prog(L)/list da ville du fått den ut fra en batch-job. eller comp/cref prog cref ville også gitt ut en liste.
(179768) (kommentar i 180178)
(179881) 80-11-19 22:50 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :179154: av Lars Enderin FOA1 Ärende: SIMULA på minidatorer - Original: (22617) 80-11-18 23:04 SÖREN TIRFING Dial slowly!!!!
(179881)
(179884) 80-11-19 22:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :177983: av Lars Enderin FOA1 Ärende: Overlay i Simula Original: (22670) 80-11-19 16:43 JAN MICHAEL RYNNING Borde vi inte gå över till ensegmentversionen av SIMULA på NADJA? Eftersom alla SIMULA-program använder båda segmenten tar tvåsegmentversionen totalt upp mera minne, om inte ett av segmenten är utswappat. Men det segment som ligger kvar är inte avsevärt mindre än ensegmentversionen, om jag minns rätt, så man tjänar ganska lite minne på att ha två segment. Eftersom NADJA har långsamma diskar bör man försöka undvika swapping, och eftersom två segment torde öka swappingen, tror jag NADJA skulle få bättre performance med ensegment- versionen.
(179884) (kommentar i 179886)
(179886) 80-11-19 22:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179884: av Överföring från NADJA Ärende: Overlay i Simula Original: (22685) 80-11-19 19:00 ÖRJAN EKEBERG (NADA) Det verkar vettigt. Finns ensegmentversion av Simula tillgängligt och klar att ta i bruk? Kan det bli problem vid övergången t.ex. om en modul använder 2-seg-versionen och en annan i samma program den nya? Innebär detta att man inte kan flytta .REL-filer mellen Oden och Nadja utan omkompilering?
(179886) (kommentar i 179888, 181714)
(179888) 80-11-19 22:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179886: av Överföring från NADJA Ärende: Overlay i Simula Phult trix. Original: (22687) 80-11-19 19:10 JAN MICHAEL RYNNING Om man lägger upp ensegmentsversionen som SIMR51.EXE i stället för SIMR50.EXE, så får även alla gamla program ensegmentver- sionen vid körning (RUN eller EXECUTE på gammal .REL-fil). Det har åtminstone gått att göra så med version 4 av SIMRTS.
(179888) (kommentar i 180201)
(180150) 80-11-20 09:08 Jörgen Pihl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :112785: av Jacob Palme FOA1 Ärende: SIMULA på minidatorer Tja, man får jo en VAX för ca 500 kSEK, dvs ca 2 års lönekostnad. Det är väl en smådator ?
(180150) (kommentar i 182121)
(180152) 80-11-20 09:09 Jörgen Pihl Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :178706: av Knut Smaaland UiO Ärende: SIMULA på minidatorer Kostnad ?
(180152) (kommentar i 180799)
(180178) 80-11-20 09:25 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179768: av Knut Smaaland UiO Ärende: LST-filer COM prog.sim/dl skulle jag ha skrivit - DL = DLIST ger filen DSK:PROG.LST, medan COM prog.sim/LIST ger LPT:PROG.LST, som ju numera skrivs ut direkt.
(180178) (kommentar i 180182)
(180182) 80-11-20 09:26 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :180178: av Lars Enderin FOA1 Ärende: LST-filer Att sätta ut extension .SIM snabbar upp COMPIL en del; ingen lookup efter PROG.FOR behöver t ex göras.
(180182)
(180201) 80-11-20 09:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179888: av Överföring från NADJA Ärende: Overlay i Simula Det bör vara SIMR52. Jag skall ladda en ny SIMR50.EXE och göra nytt SIMLIB.REL och placera dem på ODEN_NEWD: Jag lutar åt att byta till ensegmentsversion som standard även på ODEN. Jag tror att nuvarande lösning är en suboptimering och dessutom sämre i virtuellminne.
(180201) (kommentar i 180270)
(180270) 80-11-20 11:03 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: GRIPE (i) KOM Kommentar till :180201: av Lars Enderin FOA1 Ärende: Overlay i Simula På ODEN_NEWD: finns nu ensegmentsversionen SIMR50.EXE och ensegments- version av SIMLIB.REL = SIMLI0.REL. Man kan kopiera över dessa till NADJA_NEW: och om man vill testa enkelt, döpa om SIMLI0 till SIMLIB och sätta PATH/NEW. Man kan även skriva EX prog.sim,NEW:SIMLI0/REL/SEA om man inte vill byta SIMLIB. SIMR50.EXE kan f ö placeras på SYS: direkt utan risk. Övergång till SIMR50 på ODEN bör troligen göras snart.
(180270)
(180376) 80-11-20 12:29 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :176065: av Christer Wikmark SU/ADB Ärende: class universal Avsaknaden av CLASS Universal har ibland tvingat mig till halsbrytande programavsnitt oc konstruktioner. Speciellt när jag skrev en databas som använde Input oc Output (LIBSIM-procedurernna). En utvidgning av det här slaget förefaller inte särskilt svår att införa.
(180376)
(180678) 80-11-20 17:00 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Sortering av fil Ibland har man behov att sortera smärre filer (före eller efter annan bearbetning) under kontroll avett SIMULA-program. En kandidat för LIBSIM finns i FILESOrt.SIM<13,201>. Anropet blir mycket enkelt: FILESORT(infil,utfil,nycklar); "Nycklar" är en text som skall innehålla ett eller flera par av nyckelposition samt nyckellängd. Negativ nyckelpos. indikerar omvänd sorteringsordning. NOTEXT ger stigande sortering på hela radlängden. (OBS att man inte behöver ange maxlängd!) Om OK returnerar FILESORT (INTEGER PROCEDURE) ett positivt tal lika med antalet sorterade rader. Felmeddelanden undertryckes om nyckeltexten inledes med ! .
(180678) (kommentar i 180681, 180836)
(180681) 80-11-20 17:01 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :180678: av Mats Ohlin Ärende: Sortering av fil Så här kort kan man sedan skriva ett skapligt sorteringsprogram: BEGIN EXTERNAL PROCEDURE thanks; EXTERNAL TEXT PROCEDURE inline,upcase,rest,hereis,scanto; EXTERNAL INTEGER PROCEDURE filesort; EXTERNAL REF (Infile) PROCEDURE findinfile; EXTERNAL REF (Outfile) PROCEDURE findoutfile; INTEGER i; TEXT t,tinf,toutf,key; REF (Infile) inf; REF (Outfile) outf; Outtext(hereis); Outimage; t:- upcase(inline(">",Sysin)); toutf:- scanto(t,'='); tinf :- scanto(t,'/'); key:- rest(t); outf:- IF toutf = "TTY:" THEN Sysout ELSE findoutfile(toutf); inf :- IF tinf = "TTY:" THEN Sysin ELSE findinfile(tinf); i:= filesort(inf,outf,key); Outtext(toutf); Outtext(" <-- "); Outtext(tinf); Outimage; IF i < 0 THEN Outtext("Error:") ELSE Outtext("No. of records sorted:"); Outint(i,6); Outimage; thanks("Bye!"); END. (thanks och hereis finns i LIBSIM<13,201>, FILESO.* på DSK:<13,201>).
(180681) (kommentar i 180685, 180794)
(180685) 80-11-20 17:03 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :180681: av Mats Ohlin Ärende: Sortering av fil Programmet i 180681 finns att köra med .RUN SORTEX<13,201>
(180685) (kommentar i 180725)
(180725) 80-11-20 17:38 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :180685: av Mats Ohlin Ärende: Sortering av fil Det kanske bör påpekas att Filesort gör en 'in-core sort' varför endast måttligt stora filer bör sorteras på detta sätt. Uppåt c:a 250 block är nog gränsen; ofta har tillämpningsprogrammet en hel del kod och data som också kräver plats, varför den praktiska gränsen ligger under 100 block. Men inte alltför sällan har man mycket mindre filer än så. Man kan med proceduren FILESIZE(INF,2) (LIBSIM) kontrollera hur stor en fil är. FILESORT kan vara uppåt en 70% dyrare ön SYS:SORT (för stora filer), för mindre filer är skillnaden ofta mindre eller ingen (beror lite på hur mycket minne SYS:SORT suger åt sig).
(180725)
(180794) 80-11-20 19:03 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :180681: av Mats Ohlin Ärende: Sortering av fil Her kommer et annet, skapelig og lite sorterings program: 00010 OPTIONS(/C); 00020 00030 Simulation 00040 BEGIN 00050 00060 Process 00070 CLASS sorter; 00080 BEGIN 00090 Outint(Time,20); Outimage; 00100 END class sorter; 00110 00120 WHILE NOT Lastitem DO 00130 BEGIN 00140 ACTIVATE NEW sorter 00150 AT Inint; 00160 END; 00170 00180 Hold(99999999); 00190 00200 END program;
(180794) (kommentar i 181978)
(180799) 80-11-20 19:10 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: VAX-11/780 - erfarenhetsutbyte Kommentar till :180152: av Jörgen Pihl Ärende: SIMULA på minidatorer Se innleggene: 179123 & 179154
(180799)
(180966) 80-11-21 07:52 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: THANKS Ännu en ny procedur. Vad gör den, Mats Ohlin?
(180966)
(181061) 80-11-21 09:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Nytt SIMULA-bibliotek på SIM: ? För att inte belasta LIBSIM med allt nytt skulle man kunna skapa ett nytt bibliotek på arean SIM:, som jag kan hantera. Kanske ett annat namn än LIBSIM vore lämpligt - har inget bra förslag ännu dock. Nackdelen med LIBSIM är att man kan behöva flytta ordinarie LIBSIM till SIM: senare. Även specialbibliotek kunde läggas där, som CXLIB för COMPLEX-hantering. Förslag, synpunkter? Vad skall f ö ligga på SIM: - källkod för användbara program som SIMED, NICE, SIMATR, SIMDOC etc?
(181061) (kommentar i 181536, 181984, 185612)
(181536) 80-11-21 18:23 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181061: av Lars Enderin FOA1 Ärende: Nytt SIMULA-bibliotek på SIM: ? Kanske UTISIM (Utilities for SIMULA) el dyl ? Förutom "kända" programs källkoder, gärna lite av varje dokumentation om och kring mer specifika SIMULA-prylar än som motiveras på DOC-arean.
(181536)
(181714) 80-11-22 14:09 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :179886: av Överföring från NADJA Ärende: Overlay i Simula Vid den tidpunkt när vi valde att göra SIMULA med två segment hade vi bara 96K primärminne på maskinen! Svårt föreställa sig idag att man kunde klara sig med så lite minne. Fast vi hade en snabb trumma för swapping - den finns inte kvar längre.
(181714)
(181871) 80-11-22 15:17 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-22 16:24 Kommentar till :179326: av Kari Dubbelman SSRC Ärende: Världens bästa språk för textbehandling Original: (22811) 80-11-20 07:27 PER LINDQVIST Vad är ett WOL (write only language)?
(181871) (kommentar i 181874)
(181874) 80-11-22 15:18 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-22 16:26 Kommentar till :181871: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Original: (22836) 80-11-20 11:43 JAN MICHAEL RYNNING Ett WOL (Write Only Language) är ett programspråk, som man skriver program i, men helst inte läser gamla program skriv- na i det, eller ändrar i sådana. F-N lär användas som WOL.
(181874) (kommentar i 182118)
(181877) 80-11-22 15:18 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Help Original: (22993) 80-11-21 13:03 PER SJÖHOLM Jag har en separat compilerad modul som anropar gpgs/grafhisto den gick bra att comp. men när jag skall använda den från mitt huvudprogram så får jag fel "T" och att den hittar ej mina procedurer .ATR . Min external procedur plotta är dekl i huvudprogrammet.Plotta är inlagt i LIBSIM på mitt konto.Men något saknas , vore tacksam på förslag på åtgärder.
(181877) (kommentar i 181879, 181881)
(181879) 80-11-22 15:18 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181877: av Överföring från NADJA Ärende: Help Original: (23007) 80-11-21 15:26 ÖRJAN EKEBERG (NADA) Mottagare: Per Sjöholm. Mottaget: 80-11-21 15:26 Mottagare: Simula erfarenhetsutbyte Har du flyttat rutinerna till LIBSIM efter det att du kompilerade plotta så kan det kanske bli problem.
(181879)
(181881) 80-11-22 15:18 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181877: av Överföring från NADJA Ärende: Help (help) Original: (23020) 80-11-21 15:42 PER SJÖHOLM För kännedom: Örjan Ekeberg (NADA). Mottaget: 80-11-21 15:46 Mottagare: Simula erfarenhetsutbyte Jag fick det att fungera med OPTIONS(/S:"GPG:GPGSHG"); i mitt huvudprogram.Men varför måste detta finnas i hp, jag har ju angivit det i min procedure plotta? Kan det finnas ytterligare något lösning?
(181881) (kommentar i 182721)
(181978) 80-11-22 17:43 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :180794: av Knut Smaaland UiO Ärende: Sortering av fil Hur effektiv är den jämfört med t.ex. QUICKERSORT?
(181978) (kommentar i 181993)
(181984) 80-11-22 17:45 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181061: av Lars Enderin FOA1 Ärende: Nytt SIMULA-bibliotek på SIM: ? Nackdel med att lägga saker på "SIM:" är att man då i sina applikationsprogram kanske skriver saker i stil med EXTERNAL INTEGER PROCEDURE xyz="sim:xyz" eller "OPTIONS(/S:"SIM:xyz")" och då blir ju ens applikationsprogram onödigt importabla.
(181984) (kommentar i 184292)
(181993) 80-11-22 17:53 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181978: av Jacob Palme FOA1 Ärende: Sortering av fil Den er faktisk ikke så ille som man skulle tro ved förste öyekast. Jeg har faktisk sammenlignet den med en 3 4 andre enkle sorterings algoritmer, og på små datamengder så går den bra. Forutsetningen for at den ikke skal tape voldsomt er selvfölgelig at det andre er programmert i ren SIMULA og ikke i LIBULA som for eksempel M Ohlins program.
(181993) (kommentar i 185606)
(182118) 80-11-22 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-23 20:38 Kommentar till :181874: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Original: (23273) 80-11-22 16:01 PER LINDQVIST Okommenterad assembler är ett helt säkert WOL.
(182118) (kommentar i 182250)
(182121) 80-11-22 22:45 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Jörgen Pihl. Mottaget: 80-11-24 16:16 Kommentar till :180150: av Jörgen Pihl Ärende: SIMULA på minidatorer Original: (23284) 80-11-22 16:11 ANDERS SUNDQVIST Vad innehåller då det systemet?
(182121) (kommentar i 182984)
(182250) 80-11-23 10:02 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-23 20:38 Kommentar till :182118: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling När jag tvingas skriva något i assembler så brukar jag skriva kommentarer inne i MAKRO-programmet skrivna i SIMULA.
(182250) (kommentar i 182329)
(182329) 80-11-23 16:15 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-23 20:38 Kommentar till :182250: av Jacob Palme FOA1 Ärende: Världens bästa språk för textbehandling Er ikke helt sikker på om jeg skjönner hva du sier, men er det at kommentarene i macro-programmet er skrevet i SIMULASK?? slik altså: skipa ;goto x addi t1,3 ;t1:=t1+3; caie c,"y" ;x: if c....... etc.? Hadde det ikke värt bedre å la kommentarene väre i svensk/engelsk prosa i stedet? Slik at de ga et klart tekstlig uttrykk for hva makroprogrammet gjorde?
(182329) (kommentar i 182405)
(182405) 80-11-23 19:13 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-23 20:39 Kommentar till :182329: av Knut Smaaland UiO Ärende: Världens bästa språk för textbehandling Nej, snarare att jag skriver en SIMULA-liknande sats motsvarande 5-10 makro-satser, följd sedan av dessa makro-satser. Men jag är ingen van MACRO-programmerare, däremot van vid SIMULA. Jag brukar ofta testa ut algoritmerna i SIMULA innan jag kodar om dem i MACRO. Bl.a. har jag lättare att själva genom läsning av egen kod se fel i den om jag skriver den i SIMULA först.
(182405) (kommentar i 184304)
(182721) 80-11-24 10:01 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181881: av Överföring från NADJA Ärende: Help Om du skriver EXTERNAL ... PROCEDURE ... = "GPG:GPGSHG"; för varje procedur ur detta bibliotek kommer du att få denna information överförd till huvudprogrammet. Nackdelen är att sökningen blir litet mindre effektiv och att du inte kan få med egna varianter utan att räkna upp dem vid laddningen. Å andra sidan är det väl inte så betungande att skriva denna OPTIONS-sats i huvudprogrammet.
(182721)
(184290) 80-11-25 23:05 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMED Original: (23371) 80-11-22 20:38 PER LINDBERG NADA För kännedom: Simula erfarenhetsutbyte. Sändare: Gunnar Lindell QZ Mottagare: NADJA - erfarenhetsutbyte vid användning av DEC-2020 vid NADA har underligheter för sig. Jag gjorde fel och skrev: SIMED /I:2/NOTABS i stället för SIMED /I:2/-TABS i SWITCH.INI -och SIMED fick plötsligt för sig att lägga in RADNUMMER i mina filer. Enligt HLP:SIMED:HLP finns ingen NOTABS-switch. Men det gör det visst, för SIMED klagade inte på den, och nånting hände ju. VAD är detta?
(184290) (kommentar i 184366, 184841, 192879)
(184292) 80-11-25 23:05 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181984: av Jacob Palme FOA1 Ärende: Nytt SIMULA-bibliotek på SIM: ? Original: (23464) 80-11-22 23:42 SÖREN TIRFING Inte om man låter kompilatorn säka SIM: automatiskt, och alltså inte behöver speca det explicit.
(184292) (kommentar i 184444)
(184294) 80-11-25 23:05 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Transportproblemet. Original: (23562) 80-11-23 11:15 DAG SUNDMAN Jag kommer att titta lite på optimering av transporter innom ett lager. Vet någon om någon gjort något liknande tidigare?? Dag S
(184294) (kommentar i 184830)
(184296) 80-11-25 23:05 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Sortering av fil Original: (23587) 80-11-23 13:31 BJÖRN DANIELSSON Kommentar till :23183: av Transfereringar (till) QZ !
(184296)
(184298) 80-11-25 23:06 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: (En liten parentes) Original: (23604) 80-11-23 14:10 PER DANIELSSON Kommentar till :23171: av Transfereringar (till) QZ Jag tycker att vi borde ansluta oss till DEC-standarden NOD::DEV: i.st.f. NOD_DEV:
(184298) (kommentar i 184300)
(184300) 80-11-25 23:06 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :184298: av Överföring från NADJA Ärende: (En liten parentes) Original: (23628) 80-11-23 14:30 ANDERS SUNDQVIST Är det verkligen standard för ANF, gäller inte det DECNET?
(184300) (kommentar i 184302)
(184302) 80-11-25 23:06 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :184300: av Överföring från NADJA Ärende: (En liten parentes) Original: (23636) 80-11-23 15:07 PER DANIELSSON Just det, jag skrev DEC-standard.
(184302)
(184304) 80-11-25 23:06 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-25 23:07 Kommentar till :182405: av Jacob Palme FOA1 Ärende: Världens bästa språk för textbehandling Original: (24060) 80-11-24 16:01 JAN MICHAEL RYNNING Vad jag tror Jacob Palme menar, och vad jag själv och andra här på NADA brukar använda sig av, är att skriva kommentarer i något högnivåspråk med flexibla styr- strukturer, exempelvis A68, PASCAL eller S67, så att vi kan skriva överskådliga kommentarer, innehållande IF-THEN-ELSE-FI och FOR-FROM-BY-TO-WHILE-DO-OD motsvar- ande de maskininstruktioner för hopp och tester, som vi använder i assemblerprogrammet. Mellan dessa styrord kan man skriva en valfri blandning av syntaktiskt kor- rekta satser och förklarande kommentarer. Huvudsaken är att man får bättre överblick, än om man översätter maskininstruktionerna till vanligt språk, genom att kommentera med "ladda ackumulatorn med 1", "hoppa till läget xyz123" och så vidare.
(184304) (kommentar i 184307, 184310, 186651)
(184307) 80-11-25 23:06 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-25 23:07 Kommentar till :184304: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Original: (24072) 80-11-24 16:17 ANDERS SUNDQVIST Jag hoppas verkligen att du inte har för vana att skriva kommentarer av den sista typen.
(184307)
(184310) 80-11-25 23:06 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-25 23:07 Kommentar till :184304: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Kommentarer till assembler. Original: (24280) 80-11-25 12:22 PER DANIELSSON Ibland kan det bli lite väl krystat om man till varje pris försöker göra sina kommentarer av typen högnivåspråk ...
(184310)
(184366) 80-11-26 00:27 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :184290: av Överföring från NADJA Ärende: SIMED Månne läser Simed i förstone bara av första bokstaven i switchen och tolkade NOTABS som NUMBERED ?
(184366)
(184444) 80-11-26 09:29 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :184292: av Överföring från NADJA Ärende: Nytt SIMULA-bibliotek på SIM: ? Det skulle gå bra om man bara söker på separata ATR-filer. För att söka automatiskt på alla bibliotek som kan finnas, måste kompilatorn ändras litet så att sådana biblioteksfiler som finns på areor i söklistan, också tillförs söklistan. Det är inte alls säkert att man vill göra så. Det kan bli alltför okontrollerat och alltför många onödiga filläsningar. Man kan ju ha olika special- bibliotek för att separera tillämpningar.
(184444)
(184830) 80-11-26 18:41 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: Jacob Palme FOA1. Mottaget: 80-11-26 18:42 Mottagare: Lars Enderin FOA1. Mottaget: 80-11-26 19:40 Kommentar till :184294: av Överföring från NADJA Ärende: Transportproblemet. Det er flere som har gjort det. Ta en titt i Norsk Regnesentrals publikasjonsliste over SIMULA-publikasjoner, jeg mener det står noen publikasjoner om slike ting der. Hvis de ikke er gått ut da. Jacob Palme og/eller Lars Enderin kan sikkert sakffe deg en kopi av en slik publikasjonsliste.
(184830)
(184841) 80-11-26 18:48 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :184290: av Överföring från NADJA Ärende: SIMED Jag och Lars Enderin har skrivit en ny SCAN-procedur NSCAN för SIMULA som klarar både /-<switch> och /NO<switch>. Men SIMED använder nog inte den ännu.
(184841)
(185413) 80-11-27 12:11 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Monitortyp M hj av LIBSIM-proceduren GETTAB kan man ta reda på om programmet körs på ett TOPS-10, TOPS-20 eller annat system: EXTERNAL INTEGER PROCEDURE bitfield, gettab; INTEGER cnmnt, mnt, mns, mnc; cnmnt:= gettab(8R11, 8R112); !8R112 000011 = %CNMNT enligt UUOSYM; mnt:= bitfield(cnmnt, 18, 6); 1=TOPS-10, 2=ITS, 3=TENEX, 4=TOPS-20. Om cnmnt < 0 : Okänd monitor. mnt är huvudtypen. mns:= bitfield(cnmnt, 24, 6) är "DIGITAL subtype", mnc:= bitfield(cnmnt, 30, 6) är "Customer subtype". Båda vanligen 0.
(185413) (kommentar i 187133)
(185512) 80-11-27 14:12 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: 2 frågor 1) Var hittar man VISTA.SIM ?? 2) När SIMDDT inte hittar källkoden vid *display verkar det omöjligt att komma ur frågeloopen som begär ny filspec. Måste man verkligen döda alltihop för att komma loss? (Och därmed bli tvungen att köra om hela SIMDDT-sessionen för att få samma läge?
(185512) (kommentar i 185535)
(185535) 80-11-27 14:45 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185512: av Björn Bergström Ärende: 2 frågor 1) Har hittat den. 2) Undrar fortfarande.
(185535) (kommentar i 185544)
(185544) 80-11-27 15:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185535: av Björn Bergström Ärende: 2 frågor Du kan svara med vilken fil som helst, eller NUL:
(185544) (kommentar i 185553)
(185553) 80-11-27 15:32 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185544: av Lars Enderin FOA1 Ärende: 2 frågor Javisst, men då försöker SIMDDT hitta den, misslyckas och upprepar frågan. Eller lägger det av om man ger NUL:?
(185553) (kommentar i 185633)
(185606) 80-11-27 16:20 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181993: av Knut Smaaland UiO Ärende: Sortering av fil LIBULA ja. Erkänner att jag använt tre rutiner som inte definierats i SIMULA; 1) kontroll av alltför lång rad till Inimage (Longimage) 2) Array-bound-checking 3) Avläsning av filstorlek (Filesize). Problemet är att jag ogärna vill lägga in något i LIBSIM som inte ger så stor säkerhet mot felavbrott som möjligt. I en viss mening blir därvid koden mindre flyttbar; det är däremot inte speciellt svårt att ta bort de delarna om man vill flytta till andra system som saknar motsvarigheter till dessa rutiner. Tänk dock vad bra det vore om det fanns ett universellt standard- bilbliotek definierat. Min förhoppning är att ett sådant så småningom skall kunna växa fram (och därvid utgör vårt LIBSIM en uppsättning förslag till vilka funktioner man kan tänka sig och hur de skulle kunna vara utformade). Det är ju inte så att vi helt hejdlöst "öser" på med hjälprutiner närhelst vi ser ett behov.
(185606) (kommentar i 185722)
(185612) 80-11-27 16:23 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :181061: av Lars Enderin FOA1 Ärende: Nytt SIMULA-bibliotek på SIM: ? I kompilatorn kunde finnas information om två device där bibliotek kunde ligga. Önskvärt med olika namn?? Kan väl bägge heta LIBSIM? Exv kunde man ha dev1= SYS dev2 = SIM eller (om man lämnar SYS ifred:) dev1= SIM dev2 = PUB.
(185612)
(185633) 80-11-27 16:58 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185553: av Björn Bergström Ärende: 2 frågor Du skall givetvis ange en fil som du får läsa! NUL: betyder att man alltid hittar filen, men får endfile omedelbart, resp all output försvinner för utmatningsfiler.
(185633) (kommentar i 186020)
(185722) 80-11-27 18:10 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185606: av Mats Ohlin Ärende: Sortering av fil Ja det hadde värt flott med ett maskinuavhengig SIMLIB, som var "godkjent" av SDG for ekesempel. Den debatten har jo värt oppe her i Sim... erf... tidligere. Er det noen som vet om SDG/SSG noen gang har interessert seg for noe ala et Common Base SIMLIB ?
(185722) (kommentar i 185734, 185798)
(185734) 80-11-27 18:22 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185722: av Knut Smaaland UiO Ärende: Sortering av fil Jo det har diskuterats i SDG i många år. Problemet är främst att SDG vill ha en utförlig dokumentation (formellt uppställd) med användningsexempel, motivering etc. Och att göra det för var och en av modulerna är ett stort jobb (och ett stort jobb för SDG att 'smälta'). Större delen av de äldre delarna av LIBSIM har faktiskt diskuterats i SDG. Men eftersom det i praktiken mest var en omedelbart akut fråga för DEC-SIMULA blev det ingen riktig fart...
(185734)
(185798) 80-11-27 19:11 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185722: av Knut Smaaland UiO Ärende: Sortering av fil Norsk Regnesentral har frågat oss om de kan få tillgång till LIBSIM-rutinerna (speciellt då de som är skrivna i SIMULA) för att göra dem allmänt tillgängliga inom SCALA-projektet. Vi har svarat positivt men diskuterar fortfarande detaljerna med Norsk Regnesentral.
(185798)
(186020) 80-11-28 08:30 Björn Bergström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185633: av Lars Enderin FOA1 Ärende: 2 frågor Det där måste Du förklara! NUL: fungerar tydligen som ett slags "device wildcard", O.K., det löser mitt problem, som var att jag inte visste var källkoden fanns när SIMDDT gav felavbrott i en extern modul. Men vad innebär det att jag får EOF ? Och att output förloras ?
(186020) (kommentar i 186107, 187382)
(186107) 80-11-28 10:23 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: DEC-10 erfarenhetsutbyte Kommentar till :186020: av Björn Bergström Ärende: NUL: "Wildcard" (= "Joker") är inte rätt uttryck. Device NUL: finns för att man enkelt skall kunna kortsluta in- resp utmatning. Dvs om man försöker läsa från NUL: får man omedelbart Endfile, vilket i SIMDDT-fallet innebär att ingenting finns att visa på skärmen, men att SIMRTS i varje fall "hittar filen". Vid utmatning fungerar NUL: som ett "svart hål", dvs alla data sväljs utan att lagras på någon fil. Kan användas för att undertrycka en fil man för tillfället inte vill ha men tillåta programmet att gå som vanligt f ö. "Wildcard" används som beteckning på '*' och '?' i filspecifikationer. "Device wildcard" fungerar inte i de flesta program. "ALL:" är något sådant för alla monterade filstrukturer. "DSK:" ger alla strukturer i jobbets söklista + ev "library path".
(186107) (kommentar i 188004)
(186184) 80-11-28 11:45 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: -5-2 Jag har blivit lite förvirrad när det gäller evalueringsordningen för aritmetisk uttryck med unärt "-". Ska -5-2 bli -3 eller -7 och ska -5^2 bli 25 eller -25. Jag klarar inte att utläsa svaret ur Algolrapporten och att låta TOPS-10 implementationen bestämma är väl inte helt ok. Svar med motivering välkomna!
(186184) (kommentar i 186494, 187384, 188547)
(186494) 80-11-28 16:57 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186184: av Staffan Romberger Ärende: -5-2 -5-2=-7 -5^2=-25
(186494) (kommentar i 186537)
(186537) 80-11-28 17:45 Torgny Tholerus Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186494: av Knut Smaaland UiO Ärende: -5-2 Jag tycker i stället att -5^2 borde bli +25. Alltså att det unära minuset är betydligt närmare sitt tal, än vad de binära operatorerna är. Skriver man -1^n i ett program, så vill man ju inte att detta alltid ska vara = -1, utan att det ska tolkas som (-1)^n. Fast COMMON BASE kanske strider mot förnuftet i detta fall?
(186537) (kommentar i 187386)
(186651) 80-11-28 22:58 Överföring från NADJA Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-30 03:21 Mottagare: MACRO(-10 -) erfarenhetsutbyte. Sändare: KOM-administratören För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Kommentar till :184304: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Original: (25005) 80-11-27 02:50 PER LINDQVIST Kommentarer i ett assemblerprogram är inte till för att tala om vad assemblerinstruktionen heter på just den raden. Addera ett till accumulator 3, etc. utan att ge ytterligare information förutom vad man kan se från assemblerkoden.
(186651) (kommentar i 186654)
(186654) 80-11-28 22:58 Överföring från NADJA Mottagare: Kari Dubbelman SSRC. Mottaget: 80-11-30 03:21 Mottagare: MACRO(-10 -) erfarenhetsutbyte. Sändare: KOM-administratören För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: KOM-administratören Kommentar till :186651: av Överföring från NADJA Ärende: Världens bästa språk för textbehandling Original: (25057) 80-11-27 11:36 ANDERS SUNDQVIST Ibland kan såna kommentarer göra nytta dock, ex: movei a,blaj(c) är inte helt genomskinligt
(186654)
(187133) 80-11-29 21:04 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :185413: av Lars Enderin FOA1 Ärende: Monitortyp Man kan lägga till att om programmet körs under TOPS-20 så behöver INTE PA1050 (TOPS-10 simulatorn, alltså) laddas in. Denna GETTAB är nämligen den enda UUO som TOPS-20 monitorn klarar av sig själv!
(187133) (kommentar i 187186)
(187186) 80-11-30 09:52 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :187133: av Lars-Henrik Eriksson ADB-Uppsala Ärende: Monitortyp Tyvärr laddar dock SIMULA än så länge alltid in PA1050. Att göra SIMULA helt native under TOPS-20 borde naturligtvis göras någon gång.
(187186) (kommentar i 188002)
(187382) 80-11-30 22:49 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186020: av Björn Bergström Ärende: 2 frågor NUL: Original: (25499) 80-11-29 13:41 JAN MICHAEL RYNNING NUL: är enhet som du kan använda om du någon gång behöver en tom infil, eller om du behöver en utfil, som du kan slaska ut vad som helst på, som du inte vill ha. Om Du kör ett program, som kräver att du ska ange en in- eller utfil, kan du använda NUL: i dessa två situationer. NUL: är en av de enheter, som simuleras av operativsystemet, och som därför inte existerar rent fysiskt.
(187382)
(187384) 80-11-30 22:49 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186184: av Staffan Romberger Ärende: -5-2 Original: (25501) 80-11-29 13:49 JAN MICHAEL RYNNING Algolrapporten? Menar du RR (Revised Report on the Algoritmic Language ALGOL 68)? Där står klart och tydligt att unära op- eratorer har högre prioritet än binära. ((-(5))-(2)) är allt- så den korrekta tolkningen. -5-2 är -7 och -5^2 är +25. Fast om du menar ALGOL 60, så är regeln kanske inte lika enkel och uppenbar.
(187384) (kommentar i 187528)
(187386) 80-11-30 22:49 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186537: av Torgny Tholerus FOA1 Ärende: -5-2 Original: (25538) 80-11-29 16:03 PER DANIELSSON A68 är förnuftig i sådana fall, unära operatorer har alltid högre prioritet än binära.
(187386) (kommentar i 187388)
(187528) 80-11-30 23:59 Lars-Henrik Eriksson ADB-Uppsala Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :187384: av Överföring från NADJA Ärende: -5-2 Han menar SÄKERT A60-rapporten.
(187528) (kommentar i 187930)
(187930) 80-12-01 19:41 Kalle Siklosi (kör oftare på NADJA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :187528: av Lars-Henrik Eriksson ADB-Uppsala Ärende: -5-2 Vad jag vet bygger Simula på Algol-60 och inte Algol-68. I Algol-60 (och Simula) har unärt - samma prioritet som binärt - och följaktligen är -5^2 = -25 vilket exempelvis DEC-Simula producerar.
(187930) (kommentar i 188320)
(188002) 80-12-01 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :187186: av Jacob Palme FOA1 Ärende: Monitortyp Original: (26214) 80-12-01 09:29 ANDERS SUNDQVIST Och varför i hela friden bryr sig simula om pa1050??? det verkar ju helt () att ladda in den självmant när monitorn gör det åt en, när det behövs.
(188002) (kommentar i 188229)
(188004) 80-12-01 22:46 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186107: av Lars Enderin FOA1 Ärende: NUL: - Original: (26216) 80-12-01 09:32 ANDERS SUNDQVIST som det stär nänstans NUL: is an infinite sink for unwanted output.
(188004)
(188229) 80-12-02 09:28 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :188002: av Överföring från NADJA Ärende: Monitortyp Jacob Palme uttryckte sig kanske otydligt. Det görs ingen EXPLICIT laddning av PA1050, men det laddas vid första Monitor UUO, som f n är en CORE-UUO.
(188229)
(188320) 80-12-02 12:01 Kalle Siklosi (kör oftare på NADJA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :187930: av Kalle Siklosi (kör oftare på NADJA) Ärende: -5-2 PS. Om man menar (-5)^2 får man väl skriva det då. Förresten vore det lite lustigt om t ex - a + b inte vore lika med b - a exempelvis - x ^ y + sin(z) <-> sin(z) - x ^ y Det är nog inte så dumt att man i Simula låter -5^2 bli -25.
(188320) (kommentar i 188816)
(188547) 80-12-02 18:25 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186184: av Staffan Romberger Ärende: -5-2 Vore det inte lämpligt att så långt som möjligt ansluta sig till de beteckningar som används utanför datorerna. -5^2 ska beräknas i den ordning operatorernas prioritering anger. Först beräknas då 5^2 , och därefter applliceras minustecknet. -5-2 ska uppfattas som (-5)+(-2) dvs =(-7). Det fanns i begynnelsen bara en operator, vars namn var +. Dock fanns det positiva och negativa tal.
(188547)
(188724) 80-12-02 19:11 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Bug i SIMULA TTY-I/O? Av og til så opplever vi at SIMULA-programmer trenger 2 carriage-returns for å få inn en input-linje. Dette skjer sannsynligvis bare i BATCH/MIC. Vi opplever det aldri med FORTRAN/MACRO/PASCAL/COBOL-programmer. Er dette noe spesielt hos oss, i TOPS10 kanskje? Eller kjenner dere problemet på QZ også?
(188724) (kommentar i 189437)
(188816) 80-12-02 22:44 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :188320: av Kalle Siklosi (kör oftare på NADJA) Ärende: -5-2 Original: (26825) 80-12-02 21:52 ANDERS STRÖM SSRC Om du sätter högre prioritet på unära operationer så får du den önskade effekten; dvs -a+b <-> b-a. Detta motiverar alltså inte att -5^2 <-> -(5^2).
(188816) (kommentar i 189491)
(189182) 80-12-03 14:49 Lennart Borgman Mottagare: DEC-10 erfarenhetsutbyte Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ?Illegal UUO at user PC 054176 Jag fick nyss ovanstående meddelande i ett stort SIMULA-program. Dessutom verkade parameteröverföringen inte var helt okej. Det är ett interaktivt program och jag tyckte det verkade som om jag fick olika parameteröverföring i tvä olika körningar, möjligen med enda skillnad att SIMDDT var anropad i andra körningen. Dä blev av nägnon anledning parameteröverföringen korrekt, men jag fick istället Illegal UUO. (Jag är inte helt säker pä att allt är precis så som jag nyss beskrivit det!)
(189182) (kommentar i 189189)
(189437) 80-12-03 17:41 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :188724: av Knut Smaaland UiO Ärende: Bug i SIMULA TTY-I/O? Kommer det in ett eller två carriage returns till programmet sedan? Vi har upplevt något liknande vid PTY-hantering i SIMULA under TOPS-20, men endast där.
(189437) (kommentar i 189459)
(189459) 80-12-03 17:48 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189437: av Jacob Palme FOA1 Ärende: Bug i SIMULA TTY-I/O? Er ikke helt sikker men jeg tror bare 1
(189459) (kommentar i 189481)
(189481) 80-12-03 17:57 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189459: av Knut Smaaland UiO Ärende: Bug i SIMULA TTY-I/O? Då är det inte samma fel vi hade, för där kom det in två CR (fast först sedan man skrivit det andra).
(189481)
(189491) 80-12-03 18:05 Kalle Siklosi (kör oftare på NADJA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :188816: av Överföring från NADJA Ärende: -5-2 Jag får inte alls den önskade effekten. Om termen -5^2 står först i formeln skulle regeln "högst prio för unära" ge värdet +25 så långt, medan om SAMMA term -5^2 står längre in i formeln så skulle det bli -25. Jämför -5^2 + blaj och blaj -5^2 ! I det senare fallet är det väl ingen som tolkar - som unärt -!
(189491) (kommentar i 189984, 190569)
(189676) 80-12-03 22:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Fel vid "inre" EXTERNAL-deklaration Original: (26989) 80-12-03 18:09 PETER SVANBERG Om följande program + procedur körs går det bra, men om man lägger EXT.. today-raden vid pilen i stället, blir det fel i LINK: hittar inte TODAY (7%SI0). OPTIONS(/E); BEGIN EXTERNAL TEXT PROCEDURE today; EXTERNAL INTEGER PROCEDURE datnr; INTEGER datum; INTEGER PROCEDURE datnr; datum := datnr; BEGIN Outint(datum,6); Outimage; --> END INTEGER slask; TEXT txt; txt :- today; slask := txt.Sub(3,2).Getint; slask := 100*slask+txt.Sub(6,2).Getint; datnr := 100*slask+txt.Sub(9,2).Getint; END datum;
(189676) (kommentar i 189800)
(189800) 80-12-04 09:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189676: av Överföring från NADJA Ärende: Fel vid "inre" EXTERNAL-deklaration Det är helt korrekt. Lokala kvantiteter i externa procedurer kommer inte med i attributfilen och kan alltså inte behandlas vid kompilering av huvudprogrammet. En extern-dekl i proceduren uppfattas som en lokal kvantitet. Det är alltså bara <external head> + attribut och parametrar som finns med i attributfilerna. Förmodligen skulle ditt program laddas korrekt om SYS:LIBSIM kommer med på annat sätt via en annan externreferens.
(189800) (kommentar i 191528)
(189984) 80-12-04 12:32 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189491: av Kalle Siklosi (kör oftare på NADJA) Ärende: -5-2 Debatten är föga konstruktiv. Unära och binära + och - måste ju inordnas på något vettigt sätt i operatorernas prioritetslista. Vad vi saknar är ju möjligheten att skriva negativa konstanter i program. Lite slarvigt uttryckt: talet (+5) representeras av 5, men talet (-5) skrivs som -5 vilket är något helt annat.
(189984) (kommentar i 190000)
(190000) 80-12-04 12:39 Göran Tellström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189984: av Magnus Persson Ärende: -5-2 APL har löst frågan med negativa konstanter, unära och binära funktioner på entydigt sätt. Eftersom alla funktioner har samma prioritet uppkommer inga diskutioner som vad som skall utföras först (all evaluering sker från höger).
(190000) (kommentar i 190855)
(190569) 80-12-04 22:52 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189491: av Kalle Siklosi (kör oftare på NADJA) Ärende: -5-2 Original: (27111) 80-12-04 00:28 PER DANIELSSON Det är inte samma term i de två fallen, i det första fallet adderas termen -5^2 med blaj, i det andra fallet subtraheras 5^2 från blaj. Vill man ha samma term i det andra fallet som i det första får man väl skriva blaj + (-5^2). Parentesen eftersom unära operatorer tydligen inte får stå var som helst. (Parentesen => Parenteserna).
(190569)
(190571) 80-12-04 22:52 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: -2-5 Original: (27198) 80-12-04 10:13 DAG SUNDMAN Det är väl ett "Fortran-syndrom" att låta datorn avgöra vilken prioritet man skall få på sitt minus. En väg ur problemet vore att låta binärt och unärt minus vara två skilda tecken. Men eftersom man inte har två tecken bör man väl ena sig om en av följande tolkningar. 1. Den binära tolkningen: -5 tolkas som 0-5 -5^2 som 0-5^2 = -25 2. Den unära tolkningen: -5 tolkas som +(-5) -5^2 som +(-5)^+2 = 25 0-5^2 som 0+(-5)^+2 = 25 Personligen anser jag att Simulas binära tolkning är vida över- lägsen Algol68:s mish-mash och den för "icke-matematiker" svår- begripliga (?) unära tolkningen 0-5^2=25.
(190571) (kommentar i 190573, 190981, 191526, 194364, 195155)
(190573) 80-12-04 22:53 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :190571: av Överföring från NADJA Ärende: -2-5 Original: (27362) 80-12-04 22:31 PER DANIELSSON Vad ett tecken ska tolkas som beror naturligtvis på dess syntaktiska position. Vitsen med att ha samma tecken till olika operatorer är att man kan definiera om dom till att gälla mellan andra modes än standard-modes. Det är ju mycket enklare att läsa en formel om man använder tecknet + istället för nåt annat underligt tecken även i formler som t.ex. behandlar matriser.
(190573)
(190855) 80-12-05 11:17 Martin Nilsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :190000: av Göran Tellström MS Ärende: -5-2 Liksom för Lisp, där man inte behöver några prioriteter alls, utan använder parenteser. Parenteserna ger dessutom den positiva bieffekten till att strukturera uttrycket pss som BEGIN-END i Simula-Algol-Pascal program ed.
(190855)
(190981) 80-12-05 13:17 Torgny Tholerus Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :190571: av Överföring från NADJA Ärende: -2-5 0-5^2 ska inte alls tolkas som 25! Ty eftersom minus-tecknet kommer efter en siffra, så kan det bara vara ett binärt minus. Ett unärt minus kan aldrig stå efter en siffra. Så 0-5^2 kan bara tolkas som (0)-(5^2)=-25.
(190981)
(186595) 80-11-28 19:57 Lars-Åke Larsson Mottagare: Operativsystem egenskaper jämförelse För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :186531: av Knut Smaaland UiO Ärende: Exempel på bra och dåliga system. Något som vi haft problem med i Dapu under DEC-TOPS-10 är att man inte från en terminal kan hålla igång flera jobb. Under Univac/Exec-8 har vi genom Norsk Regnesentrals insatser tillgång till ett system där vi kan aktivera flera program och få dessa att ligga och vänta på brev från annat program. Programväxlingar under detta system är oerhört snabba. På DEC-Tops-10 tvingas jag att uttryckligen spara min core-image m.h.a. proceduren save i LIBSIM för att sedan göra RUN på mitt subprogram. Detta är mycket tidsödande och KOSTNADSKRÄVANDE. (Det förefaller vara flera gånger så dyrt att köra Dapu på DEC/tops-10 som på Univac, förmodligen delvis beroende på ovanstående problem.) Under Tops-20 lär det ju vara möjligt att göra PUSH och att därmed snabbt få igång ett nytt program som är kopplat till den terminal man kör på. (Anm: Tekniken med pty-er är inte attraktiv för oss.)
(186595) (kommentar i 186764, 187001, 188240, 188265, 191351, 191875, 191877)
(191351) 80-12-05 16:39 -Mats Ohlin Mottagare: Operativsystem egenskaper jämförelse För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Lars-Åke Larsson Kommentar till :186595: av Lars-Åke Larsson Ärende: SAVE-RUN Ett alternativ till att använda den dyra LIBSM:SAVE kan vara att utnyttja en del moduler som finns under <13,201,RUN> (DSKE!). M h a proceduren ENTRYPOINT kan ett program "veta" om det startats i vanlig startpunkt (adressen som 120 pekar på) eller i s k CCL-entry (oftast startadressen+1). Så OM programmen är sådana att man någotsånär enkelt kan skriva ut en liten fil som beskriver STATUS hos programmet så kan man nog vinna en hel del på den metoden. Alltså: 1. Program A skriver ut sin status (A.STS t ex). 2. Program A gör RUN på B (+1) med viss kontrollinfo t ex i TMP-core (TMP:B kanske). 3. B gör lite grand (läser kanske in B.STS) och gör sedan RUN på A (+1), varvid A läser in sin A.STS för att återställa läget vid pkt 1. Självfallet kan man ha fler än bara två program (A-->B-->C ...-->A).
(191351) (kommentar i 191421)
(191421) 80-12-05 17:40 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :191351: av -Mats Ohlin Ärende: SAVE-RUN I några experimentprogram som jag gjort på senare tid har jag undvikit att använda SAVE. I stället har jag låtit huvudprogrammet förstå att det varit återstartat när en viss TMPCORE-fil existerat. Har "GÖRA RUN+1" några speciella fördelar gentemot att att underförstå återstart genom existens av viss tmpcore-fil?
(191421) (kommentar i 191430)
(191430) 80-12-05 17:47 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :191421: av Lars-Åke Larsson Ärende: SAVE-RUN Inte annat än att flertalet standardprogram (PIP, DIRECT mm mm) fungerar på det sättet; dvs att start+1 ger sökning efter TMP:xxx i första hand, och jjjxxx.TMP i andra. Samt att det finns konventioner för att tala om vilket program som skall köras 'sedan'. Tyvärr två olika konventioner: A. /RUNPROG:.... B. En extra rad i slutet på TMP-filen innehållande prognamn följt av utropstecken.
(191430) (kommentar i 191464)
(191464) 80-12-05 18:07 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :191430: av Mats Ohlin Ärende: SAVE-RUN Se vidare DSKE:<13,201,RUN>. RUNRET.SIM Testexempel RUNPRO.SIM Den procedur som användaren anropar TMPMSG.SIM Läser TMP:<aktuellt program>.Sub(1,3) och returnerar denna text. NEXTPR.SIM Delar upp en TMPMSG-text i två delar: 1) Returnerar sista raden om den avslutas med utropstecken. 2) Resten av texten (parameter in&ut). ENTRYP.MAC Talar om det var start+1.
(191464)
(191526) 80-12-05 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :190571: av Överföring från NADJA Ärende: -2-5 Original: (27612) 80-12-05 12:22 ANDERS SUNDQVIST du har tydligen inte riktigt förstått skillnaden mellan - som unär respektive binär operator. det unära - är ett teckenprefix som anger att nästa tal är negativt (<0) det binära däremot anger att nästa uttryck skall subtraheras från resultatet hittills. Detta ger att -a+b == b+ -a dvs -5^2 = (-5)^2 =25 0-5^2 = 0-(5)^2 = -25 och detta är väl det vanliga tolkningssättet även bland såna som inte är speciellt bevandrade i den högre matematiken?
(191526) (kommentar i 192625)
(191528) 80-12-05 22:47 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :189800: av Lars Enderin FOA1 Ärende: Fel vid "inre" EXTERNAL-deklaration Original: (27633) 80-12-05 12:56 PETER SVANBERG Jaså, så det ska vara så? Man ska alltid ha ev. EXTERNAL-dekl. i separat-kompilerade delprogram överst i filen? Jag har för mig att jag hört motsatsen.
(191528) (kommentar i 192569, 193981)
(188666) 80-12-02 18:50 Lennart Borgman Mottagare: Programvaror utbyte tips distribution För kännedom: VAX-11/780 - erfarenhetsutbyte. Sändare: Bo Einarsson För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: -Jacob Palme Ärende: Liten databas i SIMULA: SIMINO Jag hhar skrivit en databas för ej alltför stora datamängder. Den är skriven i SIMULA och dumpar innehållet i hela klasser på en gång. (Det är relativt lätt att få den att dumpa mindre om man så vill.) Procedurerna Input och Output i LIBSIM används för detta. Databasen hhåller reda på vilken typ ett visst klassobjekt har och lagrar och laddar på så sätt i rätt fil. För de flesta program som kan ha nytta av små databaser torde den vara mycket lätt att installera. Det enda som behövs är att man bryter ut klassdeklarationen för klassen som ska lagras, ochh lägger den i en särskild fil. Därefter kör man ett litet program som ställer frågor om vad filer och klasser heter. Sedan är basen klar för användning. I huvudprogrammet skriver mann satser av typen OBJEKTET.LOAD(SYSIN.IMAGE); eller vad det nu ska stå. Manualen till databasen finns i filen SIMINO.MAN<673,3171,BAS>. Det finns i den ett lätt exempel som hittas under rubriken APPENDIX F. INTRODUCERANDE EXEMPEL. Om någon är intresserad så har jag tryckta manualer i A4-format, som är lite lättare att läsa.
(188666) (kommentar i 189556, 191330, 192661, 192968, 194555)
(192569) 80-12-08 10:23 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :191528: av Överföring från NADJA Ärende: Fel vid "inre" EXTERNAL-deklaration Det var inte så jag uttryckte det! Det som finns i attributfilen ärde delar av en procedur eller klass som är åtkomliga utifrån, dvs deklarationen av proceduren /klassen med ev parameterspecifikationer, samt klassATTRIBUT, dvs sådant som kan kommas åt med punkt-notation eller INSPECT (eventuellt i flera nivåer, dvs inre klasser, som kan ha inre klasser och procedurattribut etc). Dessutom är <external head> med i attributfilen, dvs externa klasser och procedurer deklarerade före klassen/proceduren själv. I ditt fall är den externa procedur som inte hittas deklarerad som en LOKAL kvantitet, dvs inte med bland attributen.
(192569)
(192625) 80-12-08 11:29 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :191526: av Överföring från NADJA Ärende: -2-5 Det är inte en adekvat beskrivning. Unärt - är en operator som negerar den operand den opererar på. -5 är förvisso alltid negativ men inte alltid -x. Ett teckenprefix för konstanter vore inte dumt att ha, men finns det inget bättre tecken än - (med dess tolkningssvårigheter) för negativa konstanter.
(192625) (kommentar i 193783, 193787)
(192879) 80-12-08 16:46 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :184290: av Överföring från NADJA Ärende: SIMED Nu rättat på ODEN_SYS: i version 25. /NOTABS (som inte "finns") tolkades som /NUM.
(192879) (kommentar i 192910)
(192910) 80-12-08 17:01 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :192879: av Mats Ohlin Ärende: SIMED Den rättade SYS:SIMED.EXE nu även upplagd på DEC-2020-orna NADJA och ADB.
(192910) (kommentar i 195025)
(193783) 80-12-09 18:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :192625: av Magnus Persson Ärende: -2-5 Original: (28311) 80-12-08 23:57 PER DANIELSSON Knappast i ALGOL-liknande språk. I APL med dess specialla teckenuppsättning har man skilda tecken för unärt resp. binärt minus. I LISP finns inga operatorer så där har man inte problemet. Vad jag vet finns det inget oanvänt tecken som (på ett vettingt sätt) kan användas i t.ex. SIMULA
(193783) (kommentar i 193857)
(193787) 80-12-09 18:51 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :192625: av Magnus Persson Ärende: -2-5 Original: (28384) 80-12-09 12:21 ANDERS SUNDQVIST Ok. jag skulle inte ha skrivit (<0) utan (jämfört med själva talet), och det gäller ju även om man skriver -x oavsett vad x har för värde.
(193787)
(193823) 80-12-09 18:57 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: ANF-10-hantering i SIMULA 1 IF jobb = 0 THEN BEGIN ! Startas kl 23:00; 2 taskin:- NEW infile("TSK1:TO1"); taskin.open(blanks(80)); 3 taskin.inimage; 4 sleep(60); 5 taskout:- NEW outfile("TSK1:FROM1"); 6 taskout.open(blanks(80)); taskout.outimage; 7 END ELSE IF jobb = 1 THEN BEGIN ! Startas kl 23:10; 8 taskout:- NEW outfile("TSK1:TO1"); taskout.open(blanks(80)); 9 taskout.outtext("Hello"); taskout.outimage; 10 taskin:- NEW infile("TSK1:FROM1"); taskin.open(blanks(80)); 11 taskin.inimage; 12 END; Ovanstående är den centrala delen i hur två jobb i mitt program för överföring av KOM-inlägg får kontakt med varandra. Först körs jobb 0 fram till rad 3. Tio minuter senare startar jobb 1 och kör fram till sats 11. När jobb 1 utfört rad 9 aktiveras jobb 0, som då gör sleep(60) för att jobb 1 säkert skall hinna fram till sats 11 innan jobb 0 hinner till sats 5, då ju ANF-10 kräver att läs-sidan öppnas före skrivsidan. Ovanstående program har funkat bra i ett år nu, men de senaste veckorna blir det fel ca 30 % av körningarna, i det att satsen på rad 5 ger felutskrift att TSK1:FROM1 ännu inte finns. Felet inträffar bara om båda jobben körs på samma dator, inte om de körs på två olika datorer. Vad beror detta på? Nya SIMULA?
(193823) (kommentar i 193928)
(193857) 80-12-09 19:17 Göran Tellström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: APL erfarenhetsutbyte. Sändare: Sven Olofsson QZ Kommentar till :193783: av Överföring från NADJA Ärende: -2-5 Ett förtydligande angående minus i APL. Det finns tre olika minus i APL: 1. Dyadiska funktionen - . Fungerar som minus brukar i andra programspråk. Dvs. 5-2 = +3 . 2. Monadiska funktionen - . Negerar talet till höger om sig. -3 = negativt 3 , - negativt 2.3 = plus 2.3. Skiljs från 1. på att det finns ett högerargument men inget vänsterargument, t ex 2*-3 betyder 2 upphöjt i minus 3 = 1 åttondedel. 3. Negativttecken. Skrivs som ett minus men högre upp (specialtecken för APL, skrivs på normala terminaler som .NG). Detta tecken kan endast ingå i numeriska konstanter. Följande samband mellan tecknen finns: 2-3 <-> .NG1 ; ---45 <-> -45 <-> .NG45 ; -.NG3 <-> 3 <-> betecknar ovan 'har samma värde som'
(193857)
(193981) 80-12-09 22:41 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :191528: av Överföring från NADJA Ärende: Fel vid "inre" EXTERNAL-deklaration Original: (28484) 80-12-09 20:58 PETER SVANBERG Jamen jag vill ju inte komma åt proc. today utifrån, utan den behövs ju bara lokalt i proceduren. Jag kan inte tolka ditt svar så att det motsäger det jag sa om EXTERNAL.
(193981) (kommentar i 194134)
(194134) 80-12-10 10:37 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :193981: av Överföring från NADJA Ärende: Fel vid "inre" EXTERNAL-deklaration Vad jag menade var att man inte kan räkna med hjälp från kompilatorn via information till LINK så att TODAY söks upp automatiskt, eftersom endast direkta external-deklarationer och indirekta via ATR-filer är kända vid kompilering av huvudprogrammet. Man får alltså göra som i F-N och andra språk, nämligen ange i EXECUTE- eller LOAD-kommandot vilka REL-filer man vill ha med och om de skall laddas i /SEARCH-mod.
(194134) (kommentar i 194140, 196198)
(194136) 80-12-10 10:39 Per Olof Lundqvist Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: kryptisk varning Jag fick just ett par sidor varningar av typen W LINE 992 COMPILER HAS RENUMBERED LINE 10 Vad är det för nåt?
(194136) (kommentar i 194152)
(194140) 80-12-10 10:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194134: av Lars Enderin FOA1 Ärende: Fel vid "inre" EXTERNAL-deklaration Vad menade du förresten med "överst i filen"? Jag uppfattade det som i "external head", dvs före proc/klass-identifieraren. Man kan ju också placera externa deklarationer som attribut, dvs på yttersta nivån i klassen eller något klassattribut inom klassen (rekursivt).
(194140)
(194152) 80-12-10 10:47 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194136: av Per Olof Lundqvist Ärende: kryptisk varning Simula-kompilatorn kräver sekvensiell numrering av källfilen utan hänsyn till sidbyte via form feed. I SOS skall man använda NP-kommandot för att åstadkomma detta. Lustigt nog numrerar SIMULA även "SOS page mark", vilket kan ge denna varning om det inte finns plats för ett nytt nummer mellan sista raden på en sida och första på nästa. Man skall alltså inte ha steget 1 och sidmarkeringar! Någon gång skall jag nog rätta numreringen av SOS page mark men det blir svårare att införa radnr/sidnr i st f löpande nummer, eftersom radnummerfältet bara är 16 bitar i största delen av kompilatorn, dvs högst ca 65000 kan anges som radnr.
(194152)
(194277) 80-12-10 12:52 Henrik Eriksson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :124359: av Lars-Henrik Eriksson ADB-Uppsala Ärende: IF-FI DO-OD ETC. Matchande begin-end hamnar naturligt i rakt nedstigande led om dom skrivs i slutet av raden. Se mötet "Ett programstruktureringsex".
(194277)
(194312) 80-12-10 13:31 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMLH3 DOC:SIMLH3.MAN verkar vara från november 1980 Tryckt version på QZ verkar vara från augusti 1979 Finns senare upplaga tryckt? Om inte trycks det nytt snart?
(194312) (kommentar i 194452)
(194364) 80-12-10 15:07 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :190571: av Överföring från NADJA Ärende: -2-5 Ingen matematiker skulle få för sig att använda den unära tolkningen. Visserligen är man inte så där hemskt duktig på att standardisera beteckningar inom matematiken heller, men vad det gälller aritmetiska uttryck, så har jag aldrig sett att någon frångått standard för prioritering av olika operatorer.
(194364)
(194452) 80-12-10 16:11 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194312: av Staffan Romberger Ärende: SIMLH3 Vi har tyvärr en del ex kvar. Men borde kanske sälja dem till återvinning och trycka nya. Ingen nytryckning är planerad men tycker ni andra vi borde göra det så kan jag försöka ordna det - i så fall färdigt i februari 81.
(194452) (kommentar i 194765)
(194765) 80-12-11 06:47 Göran Lyman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194452: av Jacob Palme FOA1 Ärende: SIMLH3 Jag tycker att det vore bra med en nytryckning. det har kommit en hel del nyheter.
(194765) (kommentar i 194900)
(194807) 80-12-11 09:16 Gunilla Lönnemark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: LIBSIM-proceduren Octal Har ett litet problem med Octal-proceduren i LIBSIM. Möjligen beror det på feltolkning av manualen, eller på att vi har gammal version av LIBSIM på FILIP. Är det meningen att Octal(Blanks(12),"negativt tal").Pos ska bli = 13 ? Jag tolkar manualen så att det borde bli 1, men det blir alltså 13.
(194807) (kommentar i 194888)
(194888) 80-12-11 10:36 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194807: av Gunilla Lönnemark Ärende: LIBSIM-proceduren Octal Det är ett fel. Skall rättas.
(194888)
(194900) 80-12-11 11:10 Staffan Romberger Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194765: av Göran Lyman Ärende: SIMLH3 Jag tycker också att det behövs en ny upplaga. Det kan kanske vara normalt med 1 till 1,5 år mellan upplagorna.
(194900)
(195025) 80-12-11 13:34 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :192910: av Sven Olofsson QZ Ärende: SIMED Original: (28343) 80-12-09 07:15 PER LINDBERG NADA Mottagare: Transfereringar (till) ODEN Mottagare: NADJA - erfarenhetsutbyte vid användning av DEC-2020 vid NADA Schysst! Vicken sörrvis!
(195025)
(195155) 80-12-11 15:46 Bengt Alenius QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :190571: av Överföring från NADJA Ärende: -2-5 APL har två minustecken har jag för mig.
(195155) (kommentar i 195166)
(195166) 80-12-11 15:59 Göran Tellström Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :195155: av Bengt Alenius QZ Ärende: -2-5 Två minustecken i tre betydelser (se tidigare inlägg av undertcknad).
(195166) (kommentar i 195176)
(196198) 80-12-13 10:14 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :194134: av Lars Enderin FOA1 Ärende: Fel vid "inre" EXTERNAL-deklaration Original: (29169) 80-12-12 23:38 PETER SVANBERG Hmm, njae. Jag provade att lägga tillbaka EXTERNAL lokalt och göra .EX dat,sys:libsim/sea men det gick inte ändå. Dock är dethär inte så viktigt, jag bara undrade hur det skulle vara. Jag klarar mig gott med att alltid placera EXTERNAL i dito HEAD.
(196198) (kommentar i 197010)
(196730) 80-12-15 01:03 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Hur bör man koda för att undvika kompilatormeddelanden om implicit qualification check? I exemplet nedan så ger raden b1:-a1 varning från kompilatorn. b1:- IF a1=/=NONE THEN a1 ELSE NONE; är helt OK. Medans b1:- a1 QUA b; ger köravbrott (Object NONE). (Att det inträffar köravbrott förvånar mig faktiskt. Jag trodde inte det var på det sättet.) BEGIN CLASS a; ; a CLASS b; ; REF(b) b1; REF(a) a1; b1:-a1; b1:- IF a1=/=NONE THEN a1 QUA b ELSE NONE; b1:-a1 QUA b; END;
(196730) (kommentar i 196775, 197017, 206179)
(197010) 80-12-15 12:13 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :196198: av Överföring från NADJA Ärende: Fel vid "inre" EXTERNAL-deklaration Problemet är tydligen att styra i vilken ordning LINK behandlar REL-fil-info och kommando-info. Det verkar som LINK i detta fall läser DAT.REL, sedan LIBSIM.REL men inte hittar något oupplöst där, sedan läser din externa rel-fil, där referens till TODAY finns, men då är SYS:LIBSIM redan överspelad. Om du anger din egen externa procedur efter dat i EX-kommandot, därefter LIBSIM, bör det fungera.
(197010)
(197017) 80-12-15 12:21 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :196730: av Lars-Åke Larsson Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Jag skulle skriva INSPECT a1 WHEN b DO b1:- a1; Detta testar både på a1 == NONE och a1 IN b. Köravbrottet är ett skydd mot felaktiga referenser till delfält av klassen b m hj av en pekare som inte pekar på ett b-objekt - minst lika allvarligt som att referera utanför en array. Om du irriteras av varningarna kan du ge switchen /-W till kompilatorn via OPTIONS eller t ex via .COMPILE x.sim(-w)
(197017) (kommentar i 197138, 198319)
(197138) 80-12-15 14:36 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197017: av Lars Enderin FOA1 Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Borde inte uttrycket a1 QUA b vara NONE, om a1==NONE, istället för att som nu generera ett felavbrott.
(197138) (kommentar i 197161, 197163)
(197163) 80-12-15 14:54 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197138: av Magnus Persson Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Ja, det var så jag trodde det skulle fungera. Vad säger Common Base?
(197163) (kommentar i 197220, 197222)
(197220) 80-12-15 15:33 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197163: av Lars-Åke Larsson Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Common Base säger att det är fel: ... "x QUA c" ... If the value of X is NONE or is an object belonging to a class outer to C, the evaluation of X QUA C constitutes a run time error. (CBL 4.2.3.4) Helt klart alltså.
(197220)
(197222) 80-12-15 15:39 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197163: av Lars-Åke Larsson Ärende: IMPLICIT QUALIFICATION CHECK WARNING. i CB 4.3.2.4 sägs att om a1 är NONE (eller om a1 pekar på en 'superklass' till ) så skall det innebära runtimefel. (Kompilatorn har redan kollat att a1:s kvalifikation och b ligger i samma prefixkedja). Detta är ett av många fall där CB föredrar felavbrott framför någon 'standardmekanism' typ NONE. Undantag finns dock: Into(NONE) t.Setpos(...), NOTEXT.Strip m fl. /byt /till )/till b/
(197222)
(197337) 80-12-15 16:51 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMDDT i olika instanser av samma sep.komp. klass. Det vore värdefullt om SIMDDT kunde visa vilken instans av en separatkompilerad klass (eller klass över huvud taget) som man befinner sig i. Jag har slitit med ett "fel" som berodde på att jag inte var medveten om att jag i följd anropar en viss procedur i två olika instanser av samma klass. När jag sätter breakpoints så stannar snällt SIMDDT på det ställe jag vill, men allting blir väldigt obegripligt om jag inte är medveten om att jag har flera intanser av aktuell klass inblandade. Så SIMDDT:s utskrift STOP AT INDEXTABLE:1700 borde om möjligt kompletteras med information om VILKEN indextable som avses!
(197337) (kommentar i 197346, 197423)
(197346) 80-12-15 16:55 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197337: av Lars-Åke Larsson Ärende: SIMDDT i olika instanser av samma sep.komp. klass. IBM-simula lär ha något sådant. Det behövs en extra cell i varje klassobjekt för att lagra instansnummer, vilket väl är orsaken att vi inte har det.
(197346)
(197423) 80-12-15 17:42 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197337: av Lars-Åke Larsson Ärende: SIMDDT i olika instanser av samma sep.komp. klass. Hur menar du då? Med INS/RET kan du ju se var anropet ägde rum (eller CHAIN) och där se vilket objekt som utnyttjades ( X.PROC eller liknande antar jag att det stod). Vi saknar ju unika namn på objekten annat än via Output * (eller THIS indextable) där den oktala adressen är det enda "unika" för objektet (kan t o m ändras vid nästa GC!).
(197423) (kommentar i 197443)
(197443) 80-12-15 18:01 Lars-Åke Larsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197423: av Mats Ohlin Ärende: SIMDDT i olika instanser av samma sep.komp. klass. Mitt problem var att jag inte var medveten om att jag hade FLERA instanser av Indextable i luften. SIMDDT skrev bara STOP AT INDEXTABLE:1700 .... ... STOP AT INDEXTABLE:1700 och jag insåg inte att detta var stopp i två olika instanser av samma programkod. Det gav mig faktiskt åtskillig huvudvärk (som jag har fortfarande) när jag inget begrep. - Speciellt avskyvärt var det att variabler i indextable inte fick de värden jag väntade mig. Ty det fanns ju en uppsättning av variablerna i varje instans av Indextable. Hade SIMDDT i stället skrivit t.ex. STOP AT INDEXTABLE(123457):1700 .... .... STOP AT INDEXTABLE(32145):1700 Så hade jag nog fortare insett att jag hade två olika instanser av klassen. Att adresserna ändras pga Garb.Coll. har jag inte tänkt på. Det trasslar ju till saker förståss. Ovanstående exempel skulle då väl kunna avse stopp i samma instans men med en mellanliggande GC. - Borde man kanske automatiskt göras uppmärksam på GC när man har Breakpoints satta?
(197443) (kommentar i 198321)
(197835) 80-12-16 11:02 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMDDT Jag har en tillämpning där jag har många instanser av ett relativt begränsat antal klasser. Jag namnger instanserna själv unikt. Jag skulle önska att kunna sätta villkorliga (m a p namnet) stoppunkter i klassen utan att behöva göra detta från klassen självt. Finns det någon möjlighet att ordna detta?
(197835) (kommentar i 197890)
(197890) 80-12-16 12:23 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197835: av Magnus Persson Ärende: SIMDDT Om namnet t ex är TEXT namn kan du skriva STOP AT 999 IF namn = "..."
(197890) (kommentar i 198018)
(198018) 80-12-16 14:58 Magnus Persson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197890: av Lars Enderin FOA1 Ärende: SIMDDT Men det går inte om jag har stoppat exekveringen i en annan klass. namn är inte åtkomligt därifrån. Jag saknar explicita pekare till objekten dessutom.
(198018)
(198060) 80-12-16 15:55 Lars Blomberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Stacken i SIMULA Hur kan man öka på denna? Problemet uppkommer vid anrop av assemblerprogram från SIMULA som utnyttjar register P.
(198060) (kommentar i 198066)
(198066) 80-12-16 16:03 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :198060: av Lars Blomberg Ärende: Stacken i SIMULA Det måste nog göras centralt för alla program. Jag har för mig att någon annan klagade på detta. Det måste dock vara ganska mycket som läggs på stacken - 64 ord har räckt för en hel del hittills. Ett sätt är att byta stack i MACRO-10-rutinen till en egen, där det föregående värdet på P (AC17) sparas i botten. Jag skall se om det går att utvidga litet.
(198066) (kommentar i 198068)
(198068) 80-12-16 16:04 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :198066: av Lars Enderin FOA1 Ärende: Stacken i SIMULA Du är säker på att det inte är ett fel att stacken flödar över? Hur många ord sparas som mest?
(198068) (kommentar i 198827)
(198319) 80-12-16 22:48 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197017: av Lars Enderin FOA1 Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Original: (29983) 80-12-16 10:34 ÖRJAN EKEBERG (NADA) Man kan också stänga av varningen just för den satsen genom: OPTIONS(/-W); sats; OPTIONS(/W)... (det var något fel i kompilatorn beträffande detta tidigare, är det rättat nu?). Det tycker jag är bättre än att behöva stänga av varningarna för hela programmet.
(198319) (kommentar i 198603)
(198321) 80-12-16 22:48 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :197443: av Lars-Åke Larsson Ärende: SIMDDT i olika instanser av samma sep.komp. klass. Original: (29985) 80-12-16 10:48 ÖRJAN EKEBERG (NADA) Det är överhuvudtaget en brist att inte kunna referera till klass- instanser. Oktala adresserna fungerar ju bara vid utmatning, och tur är det när de nu ändras vi GC. Annars skulle man kunna tänka sig t.ex. INSPECT 143 OUTPUT 143.attribut osv. vilket ju vore mycket trevligt, speciellt när man jobbar med listor och träd, där man inte har direkta variabler som pekare.
(198321) (kommentar i 202474)
(198603) 80-12-17 10:21 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :198319: av Överföring från NADJA Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Säkrast att sätta ett extra ; efter sats - felet är svårt att rätta tyvärr. Felet beror på att lexical scan (översättning från programtext till intern representation) ligger 2 symboler före syntaxanalysen, och OPTIONS hanteras av lexical scan. /W hinner därför återställas innan den föregående satsen är översatt. Ett extra ; räknas ju som en sats och löser därmed problemet.
(198603)
(198827) 80-12-17 14:23 Lars Blomberg Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :198068: av Lars Enderin FOA1 Ärende: Stacken i SIMULA Det är inte jag själv som har problemet. Måste man göra ingrepp i Simula gör det detsamma, som Du anger finns ju en anna metod som går utmärkt.
(198827)
(199210) 80-12-18 04:23 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Internal Error i SIMED vid långa COMMENT-rader. Original: (30329) 80-12-17 18:21 PETER SVANBERG Om man har mer än cirka 150 tecken i en COMMENT-rad (dvs utan <cr><lf>) får man Internal Error, som härmed enligt instruktion meddelas till Simula Maintenance Group.
(199210) (kommentar i 199322)
(199322) 80-12-18 10:13 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :199210: av Överföring från NADJA Ärende: Internal Error i SIMED vid långa COMMENT-rader. Jag lyckas inte åstadkomma detta fel. Bäst att du ger mig en filkopia.
(199322) (kommentar i 200173, 200693)
(200173) 80-12-19 13:00 Örjan Ekeberg (NADA) Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :199322: av Mats Ohlin Ärende: Internal Error i SIMED vid långa COMMENT-rader. Jag har satt ihop en fil som ger felet på Oden också. Finns i filen Oden_ERROR.SIM<256,3046>.
(200173) (kommentar i 200264, 200388)
(200388) 80-12-19 16:21 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Rapport (över) program-ändringar Kommentar till :200173: av Örjan Ekeberg (NADA) Ärende: Internal Error i SIMED vid långa COMMENT-rader. Ny rättad version av SIMED 2(27) nu på ODEN_SYS:. Ny HLP-fil på väg från DSKE:<13,201,SIMED> till HLP:. Restriktion: SIMED accepterar inte rader som är längre än 200 tecken (ger felmeddelande + termination).
(200388)
(200467) 80-12-19 17:42 Jacob Palme Mottagare: Annonsering (av nya) möten Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: SIMULA erfarenhetsutbyte (vid) NADJA En del KOM-användare har uttryckt önskemål om att kunna skilja ODEN-användarnas och NADJA-användarnas SIMULA-synpunkter. På försök har jag därför delat upp det tidigare mötet "SIMULA erfarenhetsutbyte" i två möten "SIMULA erfarenhetsutbyte (vid) ODEN" och "SIMULA erfarenhetsutbyte (vid) NADJA". På NADJA är ODEN-mötet skrivskyddat med motsvarande NADJA- möte som "supermöte". Mötenas namn kan förkortas "s e n" och "s e o".
(200467)
(200606) 80-12-19 23:44 Överföring från ADB Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :178649: av Lars Enderin FOA1 Ärende: Undefined Global symbols. Original: (18577) 80-12-19 15:34 CARL GUSTAF JANSSON Den lÖsning du skisserar i slutet av inlÄgget verkar mycket tilltalande! Tror att en sÅdan mekanism skulle kraftigt stimulera utveckling av stÖrre programsystem i Simula!
(200606)
(200693) 80-12-20 04:25 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :199322: av Mats Ohlin Ärende: Internal Error i SIMED vid långa COMMENT-rader. Original: (30688) 80-12-19 08:08 ÖRJAN EKEBERG (NADA) En renodlad fil som ger SIMED-felet finns i filen Nadja_ERROR.SIM<101,101>.
(200693)
(201234) 80-12-21 18:57 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Test om BATCH-jobb, COJOB, interaktivt Jag vill göra ett test i SIMULA som svarar JA om ett program körs som BATCH eller COJOB, nej om jobbet körs från en användar- terminal. Hur gör jag?
(201234) (kommentar i 201256, 201400, 201510)
(201256) 80-12-21 20:07 Gunnar Lindell QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201234: av Jacob Palme FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt Tillämplig UUO är GETLCH, se DOC:ALLUUO.700. Någon händig SIMULA-rutin har jag dock tyvärr inte tillhands.
(201256)
(201400) 80-12-22 11:42 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201234: av Jacob Palme FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt Jatack, det skulle jag också vilja ha, då kan man ju lätt försköna ett programs dialog om det körs interaktivt och inte ha den om det körs i batch. Men sådant måste man ju nu lösa med RESCAN eller TMP-fil (eller?).
(201400) (kommentar i 201502)
(201420) 80-12-22 12:15 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Delbart high-segment Var finns info om detta, vad som kan göras och hur man gör?! (var det inte ett par inlägg för en tid sen som handlade om det?)
(201420) (kommentar i 201504)
(201502) 80-12-22 14:51 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201400: av Mats Wallin FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt I mitt fall vill jag lägga in SLEEP-satser för att hindra urspårningar i BATCH, i dialog kan man ju interaktivt ta hand om motsvarande problemsituationer men gillar däremot inte onödiga SLEEP i dialog- körning.
(201502)
(201504) 80-12-22 14:55 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201420: av Mats Wallin FOA1 Ärende: Delbart high-segment Det står i senaste gazetten. Ev. kan du utgå från den MIC jag har för att ladda VIDED i high segment, och modifiera den. Den finns i VILINK.MICÄ105,1745Å. Principen är att man måste ladda med någon speciell rutin, och explicit räkna upp allt som skall i high segment. Huvudprogrammet får aldrig komma i high segment. Därför bör man ordna programmet med ett tomt "dummy-huvudprogram" som inte gör något alls. Så gör jag i VIDED. Vissa rutiner är inte reentranta. Laddar man dem i sharable high segment får man illegal memory reference. Gazette-numret ifråga innehöll en uppräkning av några rutiner och angav vilka som var reentranta och inte reentranta. De allra flesta LIBSIM- rutinerna är reentranta. I fallet VIDED har jag en debug-version med SIMDDT-tabeller, och den laddar jag i low segment på vanligt sätt. High segment använder jag bara för produktionsversionen.
(201504) (kommentar i 201656, 203220)
(201510) 80-12-22 15:06 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201234: av Jacob Palme FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt Jag skrev för länge sedan i MIC som testade detta; vill minnas att det var med hjälp av en GETTAB. Har tyvärr inte MICron kvar, men det finns nog någon lämplig GETTAB för detta.
(201510) (kommentar i 201585, 201731)
(201585) 80-12-22 16:32 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201510: av Mats Ohlin Ärende: Test om BATCH-jobb, COJOB, interaktivt GETTAB tabell 40 (.GTLIM) gir deg batch-bitet (jb.lbt) bitÄ10
(201585) (kommentar i 203218)
(201656) 80-12-22 18:07 Christer Wikmark Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201504: av Jacob Palme FOA1 Ärende: Delbart high-segment HLP: SIMHGH.HLP ger också hyfsad info.
(201656)
(201731) 80-12-22 22:30 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201510: av Mats Ohlin Ärende: Test om BATCH-jobb, COJOB, interaktivt I MIC finns det ju numera dessa tester inbyggda, IF pty & IF COJOB & allt var det är. (om jag minns rätt)
(201731) (kommentar i 203301)
(202629) 80-12-26 23:11 Gunnar Lindell QZ Mottagare: Programmering (av) datorer Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :202595: av Jacob Palme FOA1 Ärende: Strukturering och språk Just för det exempel du testade så uppförde sig SIMULA elegant. Mina erfarenheter med skräp-inputfiler är annars inte de bästa: .cop x.sim=sys:sos.exe .comp x.sim SIMULA: X ? ?Address check for device RPE0; UUO at user PC 407407 .cop x.sim=sys:notice.txt .comp x.sim SIMULA: X? ?Illegal UUO at user PC 000016 Det är förstås inte mödan värt att ta hänsyn till sådana här saker; ett "Illegal UUO...." gör nog användaren uppmärksam på att något gravt fel gjorts. Fast en liten skönhetsfläck är det kanske ? - jag har sett det här hända i praktiken som handledare. Det är inte alltför långsökt att göra tex .COMP X.SIM .SAVE X.SIM osv.. (just denna händelse gjorde för övrigt att vi ändrade så att bara "tillåtna" extensions släpps igenom vid SAVE)
(202629) (kommentar i 202675, 202871)
(202675) 80-12-27 11:44 Överföring från NADJA Mottagare: Programmering (av) datorer Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: SIMULA implementering. Sändare: Gunnar Lindell QZ Kommentar till :202629: av Gunnar Lindell QZ Ärende: Strukturering och språk - Original: (32138) 80-12-27 11:23 Jan Michael Rynning Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA Mottagare: Symbolbehandlande språk med tillämpningar Jag har sett både MACRO, FORTRAN och SIMULA dyka på grund av fel som trappas av TOPS-10. I det fallet ger jag högst betyg åt FORTRAN, som trappar bland annat illegal memory reference, och om detta inträffar, berättar vad som har hänt, på vilken oktal adress i kompilatorn, och numret på den senast inlästa raden av källprogrammet. Med hjälp av den sistnämnda uppgiften kan man snabbt hitta det ställe i källprogrammet, där kompilatorn spårade ur. I samtliga fall jag har varit med om, har FORTRAN kraschat på grund av fel i källprogrammet, som härigenom varit lätta att finna. I samtliga fall har programmen gått att kompilera och köra efter det att felen rättats.
(202675) (kommentar i 202692, 204619, 204633)
(202871) 80-12-28 11:11 Överföring från NADJA Mottagare: Programmering (av) datorer Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA Kommentar till :202629: av Gunnar Lindell QZ Ärende: Strukturering och språk - Original: (32294) 80-12-27 22:50 Dan Norstedt (flera mottagare) En kompliator skall enligt min åsikt inte bomba internt oavsett vad man stoppar in i den.
(202871)
(203218) 80-12-29 11:06 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201585: av Knut Smaaland UiO Ärende: Test om BATCH-jobb, COJOB, interaktivt Sålunda: EXTERNAL INTEGER PROCEDURE andint, gettab; BOOLEAN batch_job; ... batch_job:= andint(8R1000 000000, gettab(8R40, -1));
(203218) (kommentar i 206593)
(203220) 80-12-29 11:08 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :201504: av Jacob Palme FOA1 Ärende: Delbart high-segment Man behöver inte ladda med någon speciell rutin om man inte använder icke-reentranta LIBSIM- eller SIMLIB-moduler. F ö finns info i SMLH2.MAN, App Q, och i SIMHGH.HLP.
(203220)
(203301) 80-12-29 14:58 Tommy Ericson QZ Mottagare: DEC-10 erfarenhetsutbyte För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Gunnar Lindell Arkiv. Sändare: Gunnar Lindell QZ Kommentar till :201731: av Mats Wallin FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt Under MIC kan man göra följande speciella tester: Batch, Cojob, Error, Noerror, Online, Terminal, Subjob Online och Terminal är samma. Med Subjob menas att programmet som styr PTYn heter OPSER. Exempel .IF (Cojob) .DO mici
(203301)
(203810) 80-12-30 17:06 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Result of the vote on SIMULA improvements Simula istallations leasing DECsystem-10/20 Simula were invited to vote on which improvements were most important. 15 lessess participated in the vote. Each voter was allowed a 100 points to divide freely between the alternatives below. Here is the result: ---------------------------------------------------------------- ! Please indicate your priorities by dividing a total of ! ! 100 points between the development objects below. You are ! ! also free to suggest additional desired developments of ! ! the system. ! ---------------------------------------------------------------- ! Program structuring (CASE, REPEAT UNTIL etc.) ! 14.7 ! ---------------------------------------------------------------- ! User control of garbage collection and impro- ! 12.4 ! ! ved virtual memory performance under TOPS-10 ! ! ---------------------------------------------------------------- ! Controlled Error Handling ! 9.9 ! ---------------------------------------------------------------- ! Move high segment to allow larger low segment ! 9.8 ! ---------------------------------------------------------------- ! Other Simula support under TOPS-20 ! 7.5 ! ---------------------------------------------------------------- ! Interface to the 1022 data base system ! 7.1 ! ---------------------------------------------------------------- ! Simula RTS Native under TOPS-20 ! 7.0 ! ---------------------------------------------------------------- ! IPCF (Inter Process Communication Facility) ! 6.6 ! ---------------------------------------------------------------- ! Concurrent file updating (ENQUE/DEQUE etc.) ! 6.2 ! ---------------------------------------------------------------- ! Optimized code for simple procedure calls ! 5.5 ! ---------------------------------------------------------------- ! Improvements in built-in mathematical ! 5.5 ! ! functions (sqrt etc.) ! ! ---------------------------------------------------------------- ! Implementation of extended "detach" attribute ! 2.2 ! ---------------------------------------------------------------- It is interesting to note that the highest score was for changes which require decisions by the Simula Standards or Development Group, while the point which was based on a decision made by the Simula Standards Group - de extended DETACH statement, got the lowest of all scores. Does this mean that the Simula Standards and Development Groups do not know the real needs of the Simula users?
(203810) (kommentar i 203815, 203964, 207690)
(203815) 80-12-30 17:13 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :203810: av Jacob Palme FOA1 Ärende: Result of the vote on SIMULA improvements Det er vel ikke noe särlig tvil om at en noen av de som har personlig tyngde i SIMULA organene er litt utenfor SIMULA bruker-miljöer. Et av de har blant annet en forman (Arne Wang) hvis yndlings- kommentar til utviklingsspörsmål er "I don't care, I don't use computers anymore". Det er klart at med en slik holdning til spörsmålene som kommer man litt på kant med opinionen i bruker-miljöene.
(203815)
(203964) 80-12-31 01:11 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :203810: av Jacob Palme FOA1 Ärende: Result of the vote on SIMULA improvements Skulle väre interssant å vite om stemmetallene varierte mye fra site til site eller om det var noenlunde ens stemming. En annen (mer) interessant fråge er Har FOA tenkt å foreta seg noe på grunnlag av poenggivingen, evnetuellt hva har FOA tenkt å foreta seg? Vil nå FOAs arbeidsinnsats på SIMULA utvikling konsentrere seg om de mest populäre punktene på menuen? Eller hva? (Forsåvidt interessant å merke seg at jeg selv tydeligvis er en del på kant med hva som synes å väre det gjennomsnittlige önsket omkring, derfor dette spörsmålet om variasjonen)
(203964) (kommentar i 204052)
(204633) 81-01-03 04:23 Överföring från NADJA Mottagare: Programmering (av) datorer Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :202675: av Överföring från NADJA Ärende: Strukturering och språk - Original: (33101) 81-01-02 19:06 Per Lindqvist (flera mottagare) Jag har kört diverse prorgram på bottoms10, och väldigt (oroväckande) ofta fås fel som "Illegal UUO" (klar etta) och "I/o to unassigned channel".- Är det fel på programmen eller tops10
(204633) (kommentar i 204640, 204675, 204921, 215115)
(204896) 81-01-04 00:56 Sven Olofsson QZ Mottagare: Nyheter (om) DEC-10 För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: NICE NICE är en utökad version av SIMED för indentering och redigering av Simula-källkod. Version 2(64) av SYS:NICE.EXE är nu uppdaterad till version 2(100) som funnits på NEW:-arean en tid. En beskrivning av nyheterna i version 2(100), dvs editionerna 65-100, finns i manualfilen DOC:NICE.MEM. I hjälpfilen HLP:NICE.HLP är de nya kommandona markerade med en asterisk, gör "HELP NICE". NICE kan göra allt som SIMED kan och mer därtill. Detta till priset av ökad CPU- och minnes-åtgång.
(204896)
(206179) 81-01-07 08:47 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :196730: av Lars-Åke Larsson Ärende: IMPLICIT QUALIFICATION CHECK WARNING. Ja den här kvalifikationskollen är förrädisk. När jag lärde mig SIMULA skrev jag i mitt första program INSPECT baat QUA fordon DO ...; Programmet spårade ur där när "baat" var NONE. Det kostade mig åtskilligt med huvudbry. Jag har aldrig haft någon förståelse för varför det måste spåra ur där. Då levde jag ännu i fiktionen att SIMULA var gjort helt med tanke på användaren, och inte med tanke på att dokumentationen skulle se så snygg ut som möjlligt.
(206179) (kommentar i 206263)
(206263) 81-01-07 10:11 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206179: av Lennart Borgman LTH Ärende: IMPLICIT QUALIFICATION CHECK WARNING. I detta fall har du ju BEGÄRT kontroll genom att skriva QUA! Vad bråkar du då för? Naturligtvis skulle du ha skrivit WHEN i st f QUA och tagit hand om NONE via OTHERWISE om du ville. Vad skulle programmet ha gjort i stället för att spåra ur?
(206263)
(206593) 81-01-07 16:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :203218: av Lars Enderin FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt Fel, det skall vara andint(8R200 000000, gettab(8R40, -1)); Biten som skall testas är 1B10. Ger batch_job även för COJOB.
(206593) (kommentar i 206629, 220697)
(206629) 81-01-07 16:48 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Urval datorfrågor. Sändare: Jacob Palme FOA1 Kommentar till :206593: av Lars Enderin FOA1 Ärende: Test om BATCH-jobb, COJOB, interaktivt Om man vill skilja på BATCON och MIC kan man göra ungefär som följer (B.SIM): BEGIN EXTERNAL INTEGER PROCEDURE andint, gettab, xcalli; EXTERNAL TEXT PROCEDURE octal, putsix; INTEGER i; BOOLEAN batch_job; i:= gettab(8R40, -1); octal(Image, i); Outimage; batch_job:= andint(8R200 000000, i) <> 0; Outtext(IF batch_job THEN "Batch" ELSE "Not Batch"); i:= xcalli(8R65, -1, TRUE, -1); IF i >= 0 THEN BEGIN Outtext(". Controlling job no is"); Outint(i, 4); Outtext(" ("); putsix(Image, gettab(3, i), 0); Outchar(')'); END; Outimage; END. XCALLI(8R65,...) = CTLJOB UUO ger numret på kontrollerande jobb eller -1 om inget sådant finns. Jobbet är alltså styrt av en PTY om denna UUO ger ett värde >= 0. BATCH-biten verkar sättas endast för COJOB eller BATCH. GETTAB(3, I) ger namnet på styrande jobb i SIXBIT.
(206629)
(206631) 81-01-07 16:54 Gunnar Martin Holm Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Användarens namn Med xcalli kan man ju få reda på under vilket ppn programmet körs, men finns det någon möjlighet att från ett simulaprogram få reda på namnet på den som är registrerad som ägare till detta ppn?
(206631) (kommentar i 206635)
(206635) 81-01-07 16:59 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206631: av Gunnar Martin Holm Ärende: Användarens namn Jag tror inte det. Sådan information finns i account-filerna och i MAILs databas, som inte är tillgängliga för användarprogram vad jag vet.
(206635) (kommentar i 206641)
(206641) 81-01-07 17:07 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206635: av Lars Enderin FOA1 Ärende: Användarens namn Under tiden programmet körs kan man faktiskt få tag i användarnamnet som t ex IDSIXBIT(GETTAB(8R31, -1), GETTAB(8R32, -1)), som ger en text av längden 12 med "user name". -1 motsvarar det egna jobbnumret, kan ersättas med annat jobbnummer.
(206641) (kommentar i 206647)
(206647) 81-01-07 17:23 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206641: av Lars Enderin FOA1 Ärende: Användarens namn Tyvärr 'strippar' idsixbit vilket gör att t ex jag får heta OHLINMATS i st f OHLIN MATS. putsix(Image,gettab(8R31,-1),6); putsix(Image,gettab(8R32,-1),6); Outimage; ger ett bättre resultat. (Image kan givetvis bytas ut mot annan lämplig, allokerad text med längd >= 12).
(206647) (kommentar i 206661, 208196)
(206661) 81-01-07 17:44 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206647: av Mats Ohlin Ärende: Användarens namn Just det. Jag misstänkte det, men testade inte. F ö kan det vara lämpligt med 0 i st f 6 i sista anropet, så får man en bra strippad version.
(206661)
(207474) 81-01-09 10:02 -Jacob Palme Mottagare: Norsk Regnesentral FOA kontakter Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206690: av Mats Ohlin Ärende: SIMIBM: konvertering DEC-->IBM - SIMULA Borde vi inte ha två separata program a) Konvertering från DEC-SIMULA till IBM-SIMULA b) Konvertering från DEC-SIMULA till den numera antagna SIMULA utbytes-standardens hard-ware-representation. Det senare programmet kanske bör heta SIMSTA? Har du Mats möjlighet göra det, eller handleda någon som gör det?
(207474) (kommentar i 207505, 216300)
(207505) 81-01-09 12:00 Mats Ohlin Mottagare: Norsk Regnesentral FOA kontakter Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :207474: av -Jacob Palme Ärende: SIMIBM: konvertering DEC-->IBM - SIMULA Ev kan det lösas med en spec switch till SIMIBM; IBM-SIMULA ligger ju numera rätt nära standarden. Jag är villig att handleda, ev kan jag göra det själv vid senare tillfälle.
(207505) (kommentar i 207508, 207651)
(207690) 81-01-09 14:22 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :203810: av Jacob Palme FOA1 Ärende: Result of the vote on SIMULA improvements En intressant lista. Det jag anser som viktigast finns inte med i den. För att ett programspråk ska bli slagkraftigt så fordras det att det finns mycket färdig programvara, som enkelt kan kopplas in i ett program som man skriver. I SIMULA kan man strukturera den färdiga programvaran i form av externdeklarerade klasser, något som jag anser är mycket bra. Det finns dock två väsentliga problem: 1) Hela den externdeklarerade klasen laddas in även om man bara behöver en del av den. Detta gör användarens program onödigt svåra, och ger sken av att SIMULA som språk är mindre effektivt än det i verkligheten är. Lars Enderin har vid något tilfälle skrivit att han ska fixa det här när han får tid. Måtte han få det snart! (Det hade sparat mig åtskilligt med tid om det varit gjort tidigare.) 2) Klasser kan tyvärr inte läggas ihop i SIMULA. En konstruktion av typen "a PREFIX b CLASS c", eller hur den nu skulle kunna ut , vore mycket praktisk. (Jag menar att "a" och "b" läggs samman för att bilda prefixet till "c".) Som det är nu tvingas man till att bruka en oherrans massa inspect och dessutom använda externdeklarerade klasser på flera nivåer.
(207690) (kommentar i 207702, 208031)
(207702) 81-01-09 14:27 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :207690: av Lennart Borgman LTH Ärende: Result of the vote on SIMULA improvements 1) Jag har knappast utlovat något sådant, bara antytt möjligheten. Troligen får jag aldrig tid med det. 2) Ett problem som nog är svårt att komma tillrätta med. Den nuvarande strukturen är "inlödd" i kompilatorn.
(207702)
(208031) 81-01-09 20:55 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :207690: av Lennart Borgman LTH Ärende: Result of the vote on SIMULA improvements 1) Mener du at det tar så lang til å ladda hele klasser at du ville spare signifikant med tid om laddingen tok mindre tid? Eller blir programmene så store og ressurskrevende at de bruker for mye elapsed-tid? Jeg skjönner ikke helt at denne siden ved DEC10-Simula kan koste deg så mye tid.Ö 2) Det der er en KJEMPE-ide egentlig. Jeg har også ofte savnet muligheten for horizontal konkatenering av klasser. Men slik er nå engang Simula ikke. Og noe slikt er ikke noe man lager ved å endre i kompilatoren. Det representerer mere et nytt språk med nye strukturerings/konstruksjons mekanismer. Det er ganske mange problemer forbundet med konstruksjoner av typen a+b+c CLASS d . Ikke minst hvordan man skal oppfatte det rent mentalt. Navne-konflikter f.ex. hvordan skal man löse det? Bör man i tillegg ha mekanismer i språket for å löse opp navnekonflikter?
(208031) (kommentar i 208144)
(208196) 81-01-10 13:16 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :206647: av Mats Ohlin Ärende: Användarens namn Original: (34223) 81-01-08 15:45 Jan Michael Rynning Mottagare: Transfereringar (till) ODEN Därav även namnet "Öborna" på Anders Öborn, "Öborn A". Hmm?
(208196)
(208190) 81-01-10 13:16 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 Kommentar till :206724: av Lars Enderin FOA1 Ärende: REL-fil trots kompileringsfel. Original: (34203) 81-01-08 12:33 Örjan Ekeberg (NADA) Mottagare: Transfereringar (till) ODEN Skönt att ni förstår vårt problem. Det här är ett problem som dyker upp i stort sett varje terminalövning och som kan vara svårt för nybörjarna (som knappt vet vad REL-fil är) att förstå. Jag vet inte riktigt hur det ska kunna utveckas ytterligare. En ny version av Simula-kompilatorn som inte producerar REL-fil vid misslyckad kompilering skulle omedelbart vara mycket välkommen på Nadja, den saken är helt klar. Man borde kanske ta upp problemet även i "SIMULA erfarenhetsutbyte (vid) Oden" för att höra om andra användarkategorier har några invändningar. Jag tror dock att det skulle vara en fördel för de flesta, speciellt om man kan göra så att kompileringen går snabbare (=kostar mindre) genom att man kan låta bli att producera maskinkod efter första felet, och att man slipper köra LINK i onödan.
(208190) (kommentar i 208215)
(208215) 81-01-10 15:00 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA För kännedom: SIMULA erfarenhetsutbyte (vid) ODEN. Sändare: Jacob Palme FOA1 Kommentar till :208190: av Överföring från NADJA Ärende: REL-fil trots kompileringsfel. Det verkar väl vara en bra ide', jag har bara en enda gång på 6 år utnyttjat möjligheten att köra trots (E-)kompileringsfel.
(208215)
(208239) 81-01-10 15:38 Jacob Palme Mottagare: FOA Datoranvändare Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :208233: av Jacob Palme FOA1 Ärende: SIMDBM - SIMULA-baserat databassystem Jag kanske skall beskriva mycket kort SIMDBM-s metod för interface mellan databas och SIMULA-program. Det finns två sådana interface, ett som passar för skräddarsydda program och ett som passar för generella program. Om man antar att databasen innehåller poster med tre fält, två TEXT-fält NAMN och ADRESS och ett INTEGER-fält ÅLDER, så ser detta ur SIMULA-tillämpningsprogrammet ut så här: a) I det skräddarsydda fallet: SIMDBM genererar en klass- deklaration av typen: CLASS personpost; BEGIN TEXT namn, adress; INTEGER ålder; END; Med enkla kommandon kan man från SIMULA-programmet plocka in och ut poster ur databasen till objekt av ovan beskriven klass. b) I det generella fallet: Man har två klassdeklarationer. En klass PROTOTYP som finns i ett exemplar för varje posttyp. Den ser ut ungefär så här: CLASS prototyp(number_of_fields); BEGIN TEXT ARRAY field_names(1:number_of_fields); CHARACTER ARRAY field_types(1:number_of_fields); END; där field_names(1) = "NAMN", field_names(2)= "ADRESS", field_names(3) = "ÅLDER" i vårt exempel, och field_types är T (TEXT) för fält 1 och 2, I (INTEGER) för fält 3. Varje post ur databasen blir sedan ett objekt av klassen post CLASS post(number_of_fields); BEGIN TEXT ARRAY fields(1:number_of_fields); END; Där alla fältvärden alltså är texter. Vill man ha ålder som heltal får man skriva "fields(3).getint".
(208239) (kommentar i 209529)
(208716) 81-01-11 20:27 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Korsref-lista och flera variabler med samma namn Jag har ganska ofta samma namn på flera variabler i olika avsnitt som ska användas till ungefär samma sak. Det är bekvämt att göra så många gånger. Ibland får man förståss via inspect tag på en annan variabel än den man tänkt sig. Då skulle det vara bra om korsreferenslistan gav besked om vilken av de olika variablerna som används på olika ställen.
(208716) (kommentar i 208718, 208735)
(208718) 81-01-11 20:29 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :208716: av Lennart Borgman LTH Ärende: Korsref-lista och flera variabler med samma namn En sådan lista skulle jag anse som ett utomordentligt hjälpmedel vid strukturering av SIMULA-program.
(208718)
(208735) 81-01-11 21:22 Knut Smaaland UiO Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :208716: av Lennart Borgman LTH Ärende: Korsref-lista och flera variabler med samma namn Ja, det skulle avgjort ha värt bra! Det skulle også ha värt bra om man har programmer med externe moduler at man da skulle kunne få en felles cross-ref for programmet som helhet og en cross-ref som viste hva som var deklarert / referert i hvilken modul.
(208735) (kommentar i 208921)
(208921) 81-01-12 10:14 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :208735: av Knut Smaaland UiO Ärende: Korsref-lista och flera variabler med samma namn Korsreferensen i SIMULA-kompilatorn fås utan tillgång till den information som avgör VILKEN variant av en identifierare som används, tyvärr. All information tas ut i pass 1, som kan ange om det är en deklaration (ev extern) eller annan referens, men övrig semantisk information saknas. Jag kan inte nu överblicka problemen med att komplettera informationen i pass 2, men det skulle nog ta ett par månader att få det att fungera säkert. Just nu ser det för dyrt ut (min tid är en trång resurs).
(208921)
(209247) 81-01-12 16:47 LennartS Månsson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: IMSL från Simula. Jag har för mig att jag har sett något om användning av IMSL-paketet från Simula ? Kan någon tipsa om var jag kan hitta något om det.
(209247) (kommentar i 209264, 209288)
(209264) 81-01-12 17:04 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :209247: av Lennart Månsson FOA2 Ärende: IMSL från Simula. Jag känner inte till något ATR-bibliotek för IMSL-rutinerna. NAG-biblioteket är då enklare att anropa från Simula eftersom REL:NAG.ATR finns. Gör "HELP NAG".
(209264)
(209288) 81-01-12 18:19 Tommy Ericson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :209247: av Lennart Månsson FOA2 Ärende: IMSL från Simula. För att använda en rutin RUTAN från IMSL gör man följande: 1) skapar ett huvud för en extern rutin i Simula: OPTIONS(/External:Fortran); <type> PROCEDURE rutan(formella-parametrar); <parameterspecifikation>; 2) kompilera denna med Simulakompilatorn (COMpile RUTAN.sim) vilket genererar en attributfil RUTAN.ATR. (Genom att även skapa en tom .REL-fil (COPY RUTAN.REL=NUL:X) blir länkningen enklare. 3) I huvudprogrammet externdeklareras rutan på vanligt sätt. Dessutom måste ofta rutinen FORSIM från SYS:LIBSIM tas med (då Fortranrutinerna refereras till Fortrans OTS) 4) Laddningen sker med t.ex. .LOAD mainp,sys:imsl.rel/search (om man inte skapat en tom RUTAN.REL kommer laddaren att klaga över den saknade modulen (även om den alltså är betydelselös)). 5) Om man under ett uttestningsskede ofta refererar till IMSL- biblioteket kan det löna sig att extrahera kopior av de rutiner man använder till en egen liten biblioteksfil. Här skulle man med programmet MAKLIB kunna göra p f s: .R MAKLIB *MYLIB=SYS:IMSL/EXTRACT:(rutan,UERSTS,UERTIO) där modulerna UERTST och UERTIO är hjälprutiner som används av de flesta andra Imsl-rutiner. Bästa sättet att ta reda på vilka moduler man behöver ur ett bibliotek är att göra en laddning med /MAP-switchen som genererar en laddkarta i MAINP.MAP. Efter extraktion laddar man mycket snabbare med kommandot .LOAD mainp.sim,mylib.rel/search Mer om koppling till Fortran finns att läsa i del 2 av Simula Language Handbook.
(209288)
(209529) 81-01-13 10:27 Per Svensson Mottagare: FOA Datoranvändare Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: Kalle Mäkilä. Mottaget: 81-01-19 11:39 Kommentar till :208239: av Jacob Palme FOA1 Ärende: SIMDBM - SIMULA-baserat databassystem Finns det några prestandaaspekter på det system som bör väljas? Hur står det till med dokumentationen av SIMDBM? Datasäkerhets- aspekter? Hur svårt det är att skriva en frågespråkshanterare beror helt på vilken ambitionsnivå man väljer. Hur stora databaser kan man klara av med SIMDBM? Vilken lagringsteknik används? Är det enbart Simula som ska användas för de administrativa systemen? Om inte, blir det inte problem med ett Simulabaserat system?
(209529) (kommentar i 211662, 216864)
(209579) 81-01-13 11:27 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Enteckensinmatning från ej kontrollerande terminal Förr gick det inte att ha enteckensinmatning från ej kontrollerande treminal om man hade ett jobb som kontrollerade två terminaler. Så tex fungerade ju FOOT (Jacob Palmes program) förut så att man var tvungen att trycka dels på riktningsknapp, sedan på RETURN. Men jag vill minnas att han eller nån annan sa att det kunde fungera numera. HUR?
(209579) (kommentar i 210568, 210637, 211673)
(210151) 81-01-14 09:53 Göran Neider Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Starta MIC från SIMULA Kan man starta en MICfil från SIMULA o i så fall hur? (frågan är troligen redan besvarad men jag orkade inte läsa hela konferensen, det kanske hade gått med 3RIP att söka i en kopia av konferensen?)
(210151) (kommentar i 210213, 210859)
(210213) 81-01-14 11:27 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :210151: av Göran Neider Ärende: Starta MIC från SIMULA I SIMULA-handboken del 3 (DOC:SIMLH3.MAN är en maskinläsbar variant), finns proceduren CALLMIC beskriven. Den kan starta en MICfil från ett SIMULA-program.
(210213)
(210568) 81-01-14 22:11 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :209579: av Mats Wallin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Det går bra via INSINGLECHAR, som dock är litet ineffektiv genom att ta reda på UDX varje gång den anropas. Snabbare är XTRMOP med kod .TOISC = 8R20 man får då en integer som man kan ta Char av.
(210568) (kommentar i 210690, 210728, 211201, 211769)
(210637) 81-01-15 04:31 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: SIMULA erfarenhetsutbyte (vid) NADJA Kommentar till :209579: av Mats Wallin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Original: (34983) 81-01-14 12:18 Jan Michael Rynning Du kan använda TRMOP.-funktionen .TOISC för att läsa in ett tecken med enteckensinmatning från valfri terminal. Jag vet inte om det finns någon färdig SIMULA-rutin för det.
(210637)
(210728) 81-01-15 09:38 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :210568: av Lars Enderin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal UDX = Universal Device Index eller IO index, kan plockas fram för en Simula-fil med anropet udx:= iondx(filreferens) (EXTERNAL INTEGER PROCEDURE iondx). Referensen kan vara kvalificerad med godtycklig filtyp (tidigare dög bara Outfile/Printfile). För en terminal är UDX = 8R200000 + terminalnummer. UDX används som argument till XTRMOP.
(210728)
(210859) 81-01-15 12:58 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :210151: av Göran Neider Ärende: Starta MIC från SIMULA Enklast genom att anropa LIBSIM: PROCEDURE run(prog,start); VALUE prog; TEXT prog; INTEGER start; med run("SYS:MIC",2) Dessförrinnan skapar man en TMP:MIC (med LIBSIM: TMPOUT("MIC","/MYMIC") ); se CALMIC.SIMÄ13,201Å för exempel (är en bättre variant av CALLMIC).
(210859) (kommentar i 210883)
(210883) 81-01-15 13:48 Sven Olofsson QZ Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :210859: av Mats Ohlin Ärende: Starta MIC från SIMULA Ifall man vill gära portabla Simula-program till andra TOPS-10-maskiner bör man skriva TMPOUT("MIC","DO MYMIC"). Att starta MIC-filer med /namn var det ursprungliga sättet, Digital har numera ersatt det med "DO namn", QZ understöder dock båda skrivsätten.
(210883)
(211201) 81-01-16 10:40 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :210568: av Lars Enderin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal INCHW är bäst i detta fall, glömde den! Den gör just TRMOP .TOISC, fungerar dessutom (med annan kod) på TOPS20.
(211201) (kommentar i 211203)
(211203) 81-01-16 10:45 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :211201: av Lars Enderin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Spec av INCHW i LIBSIM: COMMENT * inchw, SIMULA specification; OPTIONS(/E:QUICK,inchw); CHARACTER PROCEDURE inchw(iox); INTEGER iox; COMMENT Inputs a character from the tty with io index = iox. Waits for each character, requires no break character. IONDX may be used to get a value for IOX. In TOPS-20, 0,,-1 can be used for controlling tty.
(211203) (kommentar i 211763)
(211662) 81-01-17 17:23 Jacob Palme Mottagare: FOA Datoranvändare Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :209529: av Per Svensson Ärende: SIMDBM - SIMULA-baserat databassystem De flesta databas-system är bundna till vissa programmeringsspråk. En del som uppges gå på flera olika språk går i praktiken bara från Cobol, Fortran och Assembler, vilka ingetdera är så väldigt roliga språk att använda. SIMULA är ett erkänt bra applikationsspråk på vilket vi har mycket hög kompetens inom FOA. Vi har även eget ansvar för kompilatorn. Det är också grundspråk i programmerarutbildningen vid KTH och US, varför det finns god kompetens på programmerare. Givetvis är det en nackdel med ett system som bara är gjort för användning från ett programmeringsspråk. Det är dock en fördel med ett system som kan användas från ett modernt generellt högnivåspråk och som dessutom erbjuder portabilitet (SIMDBM finns på bl.a. IBM-datorer, samma SIMDBM som på DEC-10).
(211662) (kommentar i 212578)
(211673) 81-01-17 18:24 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: MWA Mats Wallins arkiv. Sändare: Mats Wallin FOA1 Kommentar till :209579: av Mats Wallin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Nej, enteckeninmatning har alltid gått från flera terminaler, tror jag. Det som tidigare inte gick, var att göra HIBERNATE, alltså stoppa exekveringen och få den startad igen automatiskt så fort input kommit från någon av flera olika terminaler, annat än vid radvis inmatning. Det är därför som FOOT, som gör detta, inte kan använda de vanliga cursorförflyttnings- tangenterna. Numera lär det dock gå att göra HIBERNATE för enteckensinmatning från flera terminaler, och det finns också SIMULA-version av "inputwait" för detta. Däremot har inte vad jag vet SIMULA-klasserna VISTA och REALTIME anpassats för sådan enteckensinmatning från flera terminaler i realtid. Troligen kräver en sådan anpassning av både VISTA och REALTIME att man på något sätt slår ihop dessa klasser, VISTA måste nämligen kunna göra INPUTWAIT och måste sannolikt göras till en lokal klass inuti en subklass till REALTIME. (Att VISTA inte direkt kan bli en subklass till REALTIME beror på att man skall ha bara en kopia av REALTIME, medan man har flera kopior av klassen VISTA, en för varje användarterminal. Detta är dock inget problem - i VIDED är VISTA också en lokal klass inuti en yttre omgivande klass, det fungerar utmärkt.)
(211673)
(211763) 81-01-18 04:23 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :211203: av Lars Enderin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Original: (35626) 81-01-17 16:32 Anders Sundqvist Noteras bör att man under TOPS-20 helst inte ska arbeta mot controlling tty, utan mot primary input/output (jfn 100 och 101). Detta pga att 0,,-1 refererar till JOBBETS kontrollerande tty, och inte till processens, tyvärr är det alltför många program som konstrar med 0,,-1, bl.a. EXEC.
(211763) (kommentar i 211795)
(211769) 81-01-18 04:23 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :210568: av Lars Enderin FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Original: (35403) 81-01-15 16:00 Per Danielsson Mottagare: Transfereringar (till) ODEN INCHW har jag använt. Den funkar bra.
(211769)
(211795) 81-01-18 12:21 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :211763: av Överföring från NADJA Ärende: Enteckensinmatning från ej kontrollerande terminal Original: (35655) 81-01-18 10:10 Jan Michael Rynning Tyvvärr refererar .CNTRM (0,,-1) till jobbets, och inte till processens kontrollerande terminal. Det senare vore ofta mer praktiskt. Alternativt kunde DEC införa något annat enkelt sätt at referera till processens kontrollerande terminal.
(211795) (kommentar i 211836)
(211836) 81-01-18 14:53 Jacob Palme Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :211795: av Överföring från NADJA Ärende: Enteckensinmatning från ej kontrollerande terminal Vad är skillnaden mellan processens och jobbets kontrollerande terminal? I vilka fall är detta två olika terminaler?
(211836) (kommentar i 212693)
(212506) 81-01-19 18:25 Göran Tellström MS Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Kan inte kompilatorn räkna till 2 ? ! Detta lilla program innehåller 2 st BEGIN men endast 1 st END. Kompilatorn godkänner dock programmet??!!??! B U G ? ? ; EXTERNAL CLASS vista; BEGIN INTEGER a; INSPECT NEW vista(0,0,Sysin,Sysout,TRUE,0,NOTEXT,NOTEXT) DO BEGIN END
(212506) (kommentar i 215931)
(212508) 81-01-19 18:29 Göran Tellström MS Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: VISTA Jag brukar tappa de sista tecknen som skrivits ut av VISTA-procedurer i mitt program. Jag slutar mitt program med exit() och några tecken ligger då kvar i bufferten. Jag har försökt med Breakoutimage (enl VISTA-manual) men kompilatorn påstår att Breakoutimage inte är ett VISTA-attribut. Gör jag fel eller är det fel i manualen/ VISTA-paketet?
(212508) (kommentar i 212550)
(212550) 81-01-19 20:19 Mats Wallin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :212508: av Göran Tellström MS Ärende: VISTA Använd (LIBSIM-EXTERN-prceduren) forceout(Sysout) (== forceout(NONE)) innan du gör exit(0);
(212550)
(212578) 81-01-19 22:17 Överföring från FOA 3 Mottagare: FOA Datoranvändare Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :211662: av Jacob Palme FOA1 Ärende: SIMDBM - SIMULA-baserat databassystem Databassystem för FOA administrativa system Original: (16463) 81-01-19 15:06 Rolf Mellberg Jag är rädd för att SIMDBM & SIMULA blir en lite väl smal lösning på våra databasbehov. Det finns ju idag flera intressanta databassystem t ex 1022, MIMER, DEC:s eget, och snart även datalab. Dessa har ju dock inga interface mot SIMULA, vilket är tråkigt efterssom vi har starka önskemål på att kunna använda bra programmeringsspråk när vi skriver tillämpningsprogram. Men jag tycker att det finns ett alternativ som glömts bort i debatten! Nämligen att koda i Pascal. Detta språk är ju också trevligt, och så vitt jag vet finns interface redan för de databassystem jag nämde ovan. Dessutom har det ju ryktats att DEC skall stötta Pascal varför vi kan hoppas att de skönhetsfläckar som vår nuvarande Pascal- kompilator har, kan komma att försvinna?
(212578) (kommentar i 212819, 215249)
(212693) 81-01-20 04:30 Överföring från NADJA Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN För kännedom: SIMULA erfarenhetsutbyte (vid) NADJA Kommentar till :211836: av Jacob Palme FOA1 Ärende: Enteckensinmatning från ej kontrollerande terminal Original: (35860) 81-01-19 05:16 Anders Sundqvist Man kan om man så behAgar, sätta om controllerande terminal för godtycklig process. en process kontrollerande terminal, är den terminal som alla interrupt kommer ifrån. detta gör att man flera personer kan köra under samma jobb t.ex. och i det fallet är det tråkigt om inte terminalparametrar och dylikt hängs på rätt terminal.
(212693)
(212819) 81-01-20 11:54 Kristina Laurin Mottagare: FOA Datoranvändare Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :212578: av Överföring från FOA 3 Ärende: SIMDBM - SIMULA-baserat databassystem Finns det ett interface mellan 1022 och Pascal?
(212819) (kommentar i 214192)
(212982) 81-01-20 16:17 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: Effektiviteten av olika placeringar av INSPECT Vilken placering av INSPECT i nedanstående exempel är bäst? EXTERNAL CLASS bas; REF(bas) pbas; CLASS a; BEGIN Detach; loop: INSPECT pbas DO göranågot; resumeuppåt; GOTO loop; END of a; CLASS b; INSPECT pbas DO BEGIN Detach; loop: göranågot; resumeuppåt; GOTO loop; END of b;
(212982) (kommentar i 212991, 213114)
(212991) 81-01-20 16:32 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :212982: av Lennart Borgman LTH Ärende: Effektiviteten av olika placeringar av INSPECT Jag fick visst med en nivå för lite i b: CLASS b; BEGIN Detach; INSPECT pbas DO BEGIN loop: göranågot; resumeuppåt; GOTO loop; END; END of b;
(212991)
(213114) 81-01-20 20:44 Mats Ohlin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :212982: av Lennart Borgman LTH Ärende: Effektiviteten av olika placeringar av INSPECT OBS att enligt nya utvidgade standarden för Detach blir Detach ett generellt attribut, varför man måste se upp. CLASS b är väl inte legalt enligt gamla standarden (=DEC-SIMULA)?
(213114) (kommentar i 215939)
(213147) 81-01-20 22:05 Bertil Hansson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA Ärende: EXTERNAL MACRO-10 MED NAME-PARAMETRAR. PROBLEM: SKRIVA REF-PROCEDUR I MACRO, NÄR KLASSEN EJ KAN EXTRAHERAS OCH SEPARATKOMPILERAS. LÖSNING: NAME-PARAMETER OCH NOCHECK, MEN SIMLH2 ÄR EJ SPECIELLT EXPLICIT I DESSA FRÅGOR. NÅGON SOM HAR ETT SKOLEXEMPEL PÅ HUR MAN SKRIVER DYLIKA PROCEDURER? VAD MAN BÖR SE UPP MED, VAD MAN BÖR AKTA SIG FÖR ETC. VISSA AV DE AKTUELLA PROCEDURERNA SKULLE GÄRNA VILJA SÄGA "NEW", FAST DE ÄR SKRIVNA I MACRO, OCH EGENTLIGEN INTE VET NGT OM DEN (TILL DEN NYFIKNES FROMMA KAN MEDDELAS ATT DET RÖR SIG OM PROCEDURER FÖR ATT BERBETA STORA TRÄD). BEARBETA
(213147) (kommentar i 213249)
(213249) 81-01-21 09:18 Bertil Hansson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA Kommentar till :213147: av Bertil Hansson ADB/SU Ärende: EXTERNAL MACRO-10 MED NAME-PARAMETRAR. Proceduren känner inte till ngt om klassen den bearbetar, menar jag med den avhuggna meningen. (förutom placeringen av intressanta attribut, förstås!!)
(213249) (kommentar i 213289)
(213289) 81-01-21 10:20 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA För kännedom: Bertil Hansson ADB/SU. Mottaget: 81-01-21 14:37 Kommentar till :213249: av Bertil Hansson ADB/SU Ärende: EXTERNAL MACRO-10 MED NAME-PARAMETRAR. Obs att REF utan kvalifikation nu är ok för CODE- och QUICK-procedurer. Dvs OPTIONS(/E:CODE,proc); PROCEDURE proc(x, y); NAME x; REF x, y; t ex går bra. Om man vill ge nytt värde till x behövs NAME x, annars onödigt. Kan återkomma senare om hur man gör NEW i MACRO-10.
(213289) (kommentar i 213382)
(213382) 81-01-21 12:44 Bertil Hansson Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA För kännedom: Bertil Hansson ADB/SU. Mottaget: 81-01-21 14:35 Kommentar till :213289: av Lars Enderin FOA1 Ärende: EXTERNAL MACRO-10 MED NAME-PARAMETRAR. Stort tack! Jag ser fram emot att få höra mera om NEW. Har du ngt "vackert" exempelprogram som illustrerar användning av macrona GETADD, GETTADD, GETVAL och ASSIGN, förutom det lilla i SIMLH2?
(213382) (kommentar i 213442)
(213442) 81-01-21 14:07 Lars Enderin Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Mottagare: SIMULA erfarenhetsutbyte (vid) NADJA Kommentar till :213382: av Bertil Hansson ADB/SU Ärende: EXTERNAL MACRO-10 MED NAME-PARAMETRAR. Jag använder inte MACSIM, i st använder jag SIMMAC, SIMMCR, SIMRPA. T ex INPUT.MAC illustrerar en hel del av detta. Se DSKE:<13,134,LIBSIM>. F ö finns en hel del där, förutom t ex på <13,617>.
(213442)
(213768) 81-01-22 09:29 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Ärende: CPU-tid för olika anrop Jag jgorde för skojs skull en jämförelse mellan PROCEDURE- anrop, Call och Resume. I Följande inlägg finns resultaten.
(213768) (kommentar i 213770)
(213770) 81-01-22 09:30 Lennart Borgman Mottagare: SIMULA erfarenhetsutbyte (vid) ODEN Kommentar till :213768: a