TODO in GF implementation
(P=Peter, A=Aarne, B=Bjrn)

----------------------------------------------------------------------
URGENT


*(P) Hjlpkommandot

> h -printer
(dr saknas -printer=cfgm)

> h -cat
WARNING: invalid option: cat

> h -lang
WARNING: invalid option: lang

> h -language
WARNING: invalid option: language

> h -parser
WARNING: invalid option: parser

> h -aslkdjaslkdjss
WARNING: invalid option: aslkdjaslkdjss
Command not found.
(det borde st: "option not found")

> h -optimize
WARNING: invalid option: optimize

> h -startcat
WARNING: invalid option: startcat

> h h
h, help: h Command?
(det borde ven st om h -option)


*(P) En moduls -path adderas till dottermodulerna, 
s slipper huvudmodulen veta var alla barnbarn ligger:

fil A.hs:
abstract A = B ** {...}

fil B.hs:
--# -path=./resource
abstract B = Lang ** {...}

Allts: filen A.hs ska inte behva veta att B.hs anvnder sig av resource.


*(P) Mjlighet att stta GF_LIB_PATH inuti GF, t.ex. med:

> sf libpath=...


*(P) Mjlighet att stta startkategorin fr en grammatik med sf:

> sf startcat=X


*(P) import-flaggor:

nr man gr "pg -printer=cfg", mste man ha gjort "i -conversion=finite",
"pg" bryr sig inte om vilka flaggor som stts i grammatikfilen

nr man gr "pm -printer=cfgm", mste flaggan "conversion=finite" vara satt i grammatikfilen, 
"pm" bryr sig inte om ifall man har gjort "i -conversion=finite"

det r vl jag (Peter) som borde fixa detta, men jag vet inte var de olika flaggorna ligger

och det mste bestmmas vilka flaggor som har fretrde:
- i grammatikfilen, med "flags conversion=finite"
- p kommandoraden, med "sf conversion=finite"
- till ett kommmande, med "i -conversion=finite fil.gf"


----------------------------------------------------------------------
NOT SO URGENT


*(P) _tmpi, _tmpo

P: nr man anvnder "|" till ett systemanrop, t.ex:
pg | ! sort
s skapas filerna _tmpi och _tmpo. Men de tas aldrig bort.

P: nnu bttre: ta bort filerna eftert.

A: Sant: nr GF quittas (om detta inte sker onormalt).
Eller nr kommandot har krt frdigt (om det terminerar).

P: Bst(?): skapa filerna i /tmp eller liknande.

A: Ibland fr man skrivrttighetsproblem - och det r
inte kul om man mste ange en tmp-path. Och olika
anvndare och gf-processer mste ha unika filnamn.
Och vet inte hur det funkar p windows...

A: Ett till alternativ skulle vara att anvnda handles
utan ngra tmp-filer alls. Men jag har inte hunnit
ta reda p hur det gr till.

B: Lite slumpmssiga tankar:
- man kan anvnda System.Directory.getTemporaryDirectory, s slipper man iaf bry sig om olika plattformsproblem.
- sen kan man anvnda System.IO.openTempFile fr att skapa en temporr fil. Den tas dock inte bort nr programmet avslutas, s det fr man fixa sjlv.
- System.Posix.Temp.mkstemp gr nt liknande, men dokumentationen r dlig.
- biblioteket HsShellScript har lite funktioner fr snt hr, se
http://www.volker-wysk.de/hsshellscript/apidoc/HsShellScript.html#16


*(P) Hierarkiska moduler

P: Frslag: A.B.C ligger i filen A/B/C.gf
Strsta frdelen: man slipper ange --# -path=...

