rcsinfo="$Header: /home/radek/cvs/forth-book/ch-tutorial.xml,v 1.6 2005/10/20 05:33:42 radek Exp $"
Forth je jazyk s velmi jednoduchou syntaxí. Rozeznává jen dva druhy prvků. Slova a znaky slova oddělující. Program je posloupnost slov. Slova mohou obsahovat všechny tisknutelné znaky. Následující znaky se mohou vyskatovat ve slovech:
! " # $ % & ' ( ) * + , - . / <digits> : ; < = > ? @ <ALPHA> [ \ ] ^ _ ` <alpha> { | } ~
kde označení <digits>
znamená jakoukoliv číslici 0-9, označení <ALPHA> znamená veliká písmena anglické abecedy a <alpha> malá písmena anglické abecedy.
Ale jak jsem již uvedl, můžeme použít jakékoliv tisknutelné znaky, pokud to konkrétní implemetace forthu dovoluje. Například znaky s diakritikou
áčďéěíĺľňóöŕřšťúůýž ÁČĎÉĚÍĹĽŇóöŔŘŠŤÚŮÝŽ
Použitím těchto znaků se však můžeme dostat do problémů při přenosu programu/aplikace na jinou platformu či při použití jiného forthu.
# $Id: TUT.uvod2.ses,v 1.1 2003/12/31 00:08:29 radek Exp $ Gforth 0.6.2, Copyright (C) 1995-2003 Free Software Foundation, Inc. Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license' : šiši 15 ; ok : ö 23 ; ok šiši ö ok . . 23 15 ok BYE
Velikost písmen nehraje roli. To znamená že například slova
Tak TAK tak taK
jsou stejná. Ovšem neznamená to, že neexistuje implementace vekteré by velikost písmen byla důležitá a zmíněná slova nebyla odlišná. Konzultujte s manuálem ke své implementaci jazyka Forth.
Znaky které v jiných jazycích oddělují slova mohou být ve Forthu součástí slov. Neslouží tedy jako oddělovače. Například
, ; + : . "
Program ve Forthu je [posloupnost] slov oddělená bílými znaky (mezerou, tabulátorem a znakem nového řádku). Slovo je pak [posloupnost/řetězec] libovolných tisknutelných znaků, například písmen, číslic, interpunkčních znaků.
Slova která používáme se nacházejí ve slovníku.
Nová slova definujeme pomocí slov již známých.
Hlavní datové/paměťové struktury se kterými pracujeme jsou
zásobník — zde jsou uložena pracovní data
zásobník návratových adres — FIXME:
slovník — zde jsou uloženy všechy definice slov
volná paměť — ve forthu máme možnost pracovat s jakoukoliv částí paměti počítače
Další povídání tedy bude o slovech.