Akkor itt az első Forth programom:
EMPTY
: STAR 42 EMIT ; ( -- )
: 03ROLL 3 0 DO 3 ROLL LOOP ; ( n1, n2, n3, n4, -- n4, n1, n2, n3 )
: 3DUP 4 1 DO 2 PICK LOOP ; ( n1, n2, n3 -- n1, n2, n3, n1, n2, n3 )
: PUTSTAR 3DUP + SWAP MOD 0 = 03ROLL - SWAP MOD 0 = OR IF STAR ELSE SPACE THEN ; ( n1, n2, n3 -- )
: ROW 37 0 DO 2DUP I SWAP PUTSTAR LOOP 2DROP ; ( n1, n2 -- )
: SECTION DUP 1 + 0 DO CR DUP I ROW LOOP DROP ; ( n -- )
: STARS BEGIN DUP SECTION REPEAT ; ( patternsize -- )
A verembe kell tenni a minta méretét, és utána a STARS szóval indul. Pl: 8 STARS