1.	Szöveg összeállítás

Programírás: Szöveg összeállítás a programozási nyelv szemantikai és szintaktikai szabályainak figyelembevételével. A szintaktikai szabályok (formai szabályok) részben szövegesen ismertettetek, részben formálisak. Többféle formális eszközrendszer létezik a szintaktikai szabályok leírására, ezek egyfajta eszközök a nyelv definiálására.
1.	BNF (az Algol60 létrehozásakor keletkezett)
2.	Cobol-szerű formális leírás 
3.	Szintakszis-gráf 
4.	Hibrid (az előzőek keveréke)
Szövegelemek: Karakter  lexikális egység  szintaktikai egység  utasítás  programegység  fordítási egység  program
1.1	Karakterek
A karakterek a szöveg legelemibb alkotórészei. Minden nyelv definiálja saját karakterkészletét, hivatkozási nyelvében ritkán, általában implementációfüggő. Egy nyelv minden szövegeleme az adott karakterkészletből épül fel. A karakterkészlet mögött mindig kódtábla áll, ez operációs rendszer- vagy hardverfüggő, ezzel a programozási nyelv nem foglalkozik.
1.1.1	Betűk
Az angol ABC 26 betűje.
Nyelvek közötti eltérés a kis- és nagybetűk megkülönböztetésben van.
•	Csak a nagybetű a betű (ősnyelvek)
•	Nem különbözteti meg a kis- és nagybetűket (pl. Pascal)
•	Megkülönbözteti a kis- és nagybetűket (pl. C)
1.1.2	Számjegyek
Egyértelműen a decimális számok. (0..9)
1.1.3	Egyéb karakterek
Implementációfüggő. Olyan nyelvekben, ahol a kisbetű nem betű, ott egyéb karakternek számít. Szintén egyéb karakternek számítanak az ékezetes betűk. Egyes nyelvekben viszont néhány egyéb karakternek nevezett karakter is lehet betű. Kitüntetett szerepe van a szóköznek.
1.2	Lexikális egységek
1.2.1	Szimbolikus nevek
Azonosító: Olyan karaktersorozat, amely betűvel kezdődik és betűvel vagy számjeggyel folytatható. A programozó saját objektumainak megnevezésére használhatja, és a programban mint névre hivatkozhat rá. Hosszára a hivatkozási nyelv nem tesz megkötést, de az implementációk korlátozzák.
Kulcsszó (alapszó, fenntartott szó): Olyan azonosító jellegű felépítéssel rendelkező karaktersorozat, amelyhez a nyelv rendel jelentést. Csak az adott értelemmel használható (jelentését a programozó nem változtathatja meg).
Standard azonosító: Karaktersorozat, azonosítónak megfelelő felépítéssel. Jelentését a nyelv definiálja, de a programozó megváltoztathatja.
Azonosító nélkül nem lehet programot írni. Egyes nyelvekben nincsenek kulcsszavak, nincs olyan karaktersorozat, amelyet ne használhatnánk azonosítónak. 
1.2.2	Címke
Lexikális elem, az utasítás azonosítására szolgál, a program más pontjáról tudunk egy adott utasításra hivatkozni. A nyelvek egy részében ismeretlen fogalom, de a többség ismeri. Formailag előjel nélküli egész szám vagy azonosító lehet. 
1.2.3	Elhatároló jelek
A program, mint szöveg, sorokra tagolódik, de lényeges a sor és az utasítás kapcsolata.
Kötött formátumú nyelvek (ősnyelvek): Egy sorba csak egy utasítást enged meg, esetleg több sorba egy utasítást (tördeléssel). A programozási eszközök soron belüli pozíciója rögzített a kártyaorientáltság miatt.
Szabad formátumú nyelvek (Algol60 óta): A sor és az utasítás kapcsolata elválik (lehetséges: egy sor egy utasítás, egy sor több utasítás, több sor több utasítás), a soron belüli pozíció nem rögzített, de el kell határolni, hogy egy utasítás meddig tart.
Eszközök a megvalósítására:
•	utasításszeparátor: elválasztás alapszóval (pl. begin, end) vagy pontosvesszővel (kizárásos alapon),
•	utasításvég: ; (pontosvessző)
A tagolás célja, hogy a fordítóprogram bizonyos szövegelemeket meg tudjon különböztetni. A szimbolikus neveket, címkéket, megjegyzéseket és a konstansokat mindig el kell határolni. Lexikális elem az, ami két elhatárolójel között szerepel.
Elhatárolójelek: : (kettőspont), ; (pontosvessző), ( ) (zárójel) stb. Ha nincs, akkor általános elhatároló jel a szóköz (akárhány lehet, akár elhatároló jel mellett is). 
1.2.4	Megjegyzés
Olyan nyelvi eszköz, amely nem a fordítóprogramnak szól, hanem annak az embernek, aki a szöveget nézi (működési leírás, használati előírás stb.). Száma és hossza tetszőleges.
Ősnyelvek: A megjegyzés egy teljes sor, a sor első karaktere jelzi, hogy megjegyzés következik.
Kötött formátumú nyelvek: A sor bizonyos pozícióin kezdődik a megjegyzés.
Nem kötött formátumú nyelvek: Bárhol lehet megjegyzés, ahol a program szövegében szóköz, mint elhatároló jel előfordulhat.
A megjegyzésen belüli szóközök szimpla karakterek, és a kis- és nagybetűk is különböznek.
1.2.5	Változó
Olyan programozási eszköz, amelynek négy komponense van:
1. Név:
Egyedi azonosító, a program szövegében a változó mindig a nevével jelenik meg, ez hordozza a komponenseket.
2. Attribútumok:
A változó futás közbeni viselkedését, az általa felvehető értékeket határozzák meg. Az eljárásorientált nyelvekben a legfontosabb attribútum a típus, nem típusos nyelvekben ilyen komponens nincs, de más attribútum lehetséges.
Változóhoz attribútum rendelés deklaráció segítségével történhet.
a)  explicit deklaráció
Mindig a programozó végzi. A nyelvben külön utasítás van rá. Az utasításban szerepeltetni kell a változó teljes nevét és az attribútumokat.
b)  implicit deklaráció
Szintén a programozó végzi. A deklarációs utasításban betűkhöz rendelem az attribútumokat. Ha a változó neve nem szerepelt explicit deklarációs utasításban, de nevének első betűjéhez rendeltem attribútumot, akkor a változó az adott attribútummal rendelkezik.
c)  automatikus deklaráció
A programozó nem deklarál, a változó nevére sem explicit, sem implicit deklaráció nincs. Az attribútum hozzárendelését a változóhoz a fordítóprogram végzi, a változó nevének kezdőbetűje, ritkán egyéb karakterek segítségével.
3. Cím
A tár azon területének a címe, ahol az adott változó értéke elhelyezkedik.
Címhozzárendelés, tárkiosztási módok:
a)  statikus címhozzárendelés
b)  dinamikus címhozzárendelés
c)  programozó által vezérelt címhozzárendelés
A hozzárendelés a program szövegébe van beépítve.
•	abszolút 
•	relatív
•	a programozó a futtatórendszer segítségét kéri a hozzárendeléshez
4. Érték
Az adott tárrészen elhelyezkedő bitkombináció. A típus eldönti, hogy hány byte-on, milyen ábrázolási móddal van ábrázolva a változó, és meghatározza az értékhatárokat. 
A értékkomponens hozzárendelése a változó nevéhez:
•	értékadó utasítással
•	input utasítással
•	kezdőértékadással
•	explicit kezdőértékadás
•	automatikus kezdőértékadás
1.2.6	Nevesített konstans
Olyan programozási eszköz, amelynek három komponense van:
1.	Név
Azonosító.
2.	Típus
Az adott nyelvben használt típusok valamelyike.
3.	Érték
Nem változtatható, mivel címkomponens nincs, vagy legalábbis a programozó számára nem hozzáférhető.
1.2.7	Literál, konstans
Programozási eszköz, amelynek két komponense van: típus és érték. Nem deklarálható, mindig önmagát definiálja, a felírt karaktersorozat alakja dönti el a típusát és az értékét. Segítségével a program szövegébe fix érték építhető be.