Programmeren in REXX/Fundamenten: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
GuyDC (overleg | bijdragen)
Toevoeging van links naar andere pagina.
Regel 1:
= =Fundamenten van REXX ==
 
HetFundamenteel eerste fundamentent vanaan REXX is dat alle woorden binnen het programma intern als karakterreeks worden opgeslagen.
Het is enkel in die gevallen dat een numerieke bewerking verwacht wordt, dat er een interne conversie van karakters naar getallen zal gebeuren. Na de bewerking zal het resultaat teruggegeven worden in de vorm van een karakterreeks.
 
Regel 13:
* functies
 
===Commentaren===
Commentaren worden in REXX begrensd door een beginnende <span style="color:red">/*</span> en een eindigende <span style="color:red">*/</span>.
 
Regel 25:
commentaar */
 
===Constanten===
Constanten zijn karakterreeksen die begrensd zijn door enkelvoudige of dubbele aanhalingstekens.
<br>Het is wel te verstaan dat als de constante met één van deze tekens begonnen wordt, ze met hetzelfde teken moet worden afgesloten.
Regel 38:
'1de8'x "11110110"b
 
===Getallen===
Een getal is een reeks van nummers, met eventueel een decimaal <u>punt</u> (geen komma dus!) en/of een minteken voor negatieve getallen. Exponentiële notatie kan ook worden gebruikt.
Dit zijn allemaal geldige getallen:
Regel 44:
Als men zich de fundamentele regel van REXX herinnert, dan kan men begrijpen dat het laatste getal (als een constante voorgesteld), ook geldig is. Nogmaals, alle woorden zijn karakterreeksen tot eventueel blijkt dat er moet mee gerekend worden.
 
===Symbolen===
Met symbolen bedoelen we karakterreeksen (tot 250 lang)''woorden'' bestaande uit de volgende karakters:
A tot Z, a tot z, 0 tot 9, @ # $ &cent; . ? | _
Cijfers en het punt mogen niet als eerste voorkomen.
Ze mogen echter niet beginnen met een cijfer of een punt.
 
De term ''woorden'' moet dus in een brede context gezien worden, want er kunnen naast letters ook andere tekens voorkomen. In het Engels spreekt men van ''token''s.
Deze reeksen stellen dan ofwel variabelen, ofwel instructies voor.
Elk ''symbool'' is van andere gescheiden door één of meer blanco karakters.
 
Deze symbolen worden dan, naargelang hun plaats in het programma, geïnterpreteerd als variabelen of als instructies (commando's).
 
De initiële waarde van een variabele is haar eigen naam in hoofdletters. Dus zal
say a
als resultaat <span style="color:red">A</span> op het scherm toveren. Maar gezien de fundamentele karakteristiek van REXX heeft het woord ''say'' eigenlijk de waarde <span style:"color:red">SAY</span>. Door de plaats in het programma is het voor REXX duidelijk dat hier het commando '''say''' moet worden uitgevoerd.
 
EenIn woordonderstaand invoorbeeldje is het programmasymbool kan,'''do''' alop naargelangde zijneerste positieinstructie oftweemaal context,gebruikt. eenDe gekendeeerste maal is het een instructie ofen de naamtweede vanmaal een variabele voorstellen.
<br>Zo zal in dit voorbeeldje
do do=1 to 10
say do
end
waarbij het woord '''do''' tweemaalDit is gebruikt is, perfect geldig zijn (doch, omwille van de leesbaarheid, ten stelligste te vermijden).
 
===Instructies===
Deze zullen in meer detail beschreven in volgende hoofdstukken, maar de lijst is zo beperkt dat we ze hier toch even kunnen opsommen: '''ADDRESS, ARG, CALL, DO, DROP, EXIT, IF, INTERPRET, ITERATE, LEAVE, NOP, NUMERIC, OPTIONS, PARSE, PROCEDURE, PULL, PUSH, QUEUE, RETURN, SAY, SELECT, SIGNAL, TRACE''' en '''UPPER'''. Van de meeste kan men nu al vermoeden waartoe ze zullen dienen.
'''[[Programmeren in REXX/Syntaxis#ARG|ARG]]''', '''CALL''',
'''[[Programmeren in REXX/Syntaxis#DO|DO]],''' '''DROP,'''
'''[[Programmeren in REXX/Syntaxis#EXIT|EXIT]],'''
'''[[Programmeren in REXX/Syntaxis#IF|IF]],''' '''INTERPRET,'''
'''[[Programmeren in REXX/Syntaxis#Iteratiestappen overslaan|ITERATE]],'''
'''[[Programmeren in REXX/Syntaxis#Eindeloze lussen|LEAVE]],'''
'''[[Programmeren in REXX/Syntaxis#NOP|NOP]],''' '''NUMERIC, OPTIONS,'''
'''[[Programmeren in REXX/Syntaxis#PARSE|PARSE]],''' '''PROCEDURE,'''
'''[[Programmeren in REXX/Syntaxis#PULL|PULL]],'''
'''[[Programmeren in REXX/Syntaxis#PUSH|PUSH]],'''
'''[[Programmeren in REXX/Syntaxis#QUEUE|QUEUE]],'''
'''[[Programmeren in REXX/Syntaxis#RETURN|RETURN]],''' '''SAY,'''
'''[[Programmeren in REXX/Syntaxis#SELECT|SELECT]],''' '''SIGNAL, TRACE''' en '''UPPER'''. Van de meeste kan men nu al vermoeden waartoe ze zullen dienen.
 
===Functies===
Functies zullen we ook later beschrijven. Ze hebben de algemene vorm:
'''functienaam(parameter1,parameter2,...)'''
Regel 76 ⟶ 91:
Dit zal 16 als antwoord geven, want er zijn 16 tekens in de parameter en de functie berekent de lengte ervan.
 
===Leestekens===
===Continuatieteken=Vervolgteken====
De '''komma''' aan het eind van een regel, geeft aan dat de instructie verderwordt gaatvervolgd op de volgende lijn. Dit is een voorbeeld:
/* Continueren van eenGesplitste instructie */
Say "Dit is een"''','''
"tekst."
Merk op dat het voor commentaren over meerdere regels <u>niet</u> nodig is continuatietekens te gebruiken.
 
====Scheidingsteken====
===Scheiding van instructies===
Verder is er de '''puntkomma''' die toelaat instructies van elkaar te scheiden, zoals hier:
/* Meerdere instructies op één regel */
Say "Hello" ; say "Nice weather, isn't it?"
 
===Bewerkingen=Bewerkingstekens====
Hiermee bedoelen we o.a. de tekens die toelaten op te tellen of af te trekken. We hebben, in volgorde van uitvoering:
* '''Prefix \ + of -''' aan het begin van het woord betekenen ze respectievelijk '''NOT''', positief of negatief.
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.