summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeb <peb@cs.chalmers.se>2006-03-08 05:41:18 +0000
committerpeb <peb@cs.chalmers.se>2006-03-08 05:41:18 +0000
commit960d4f1e7825aa51517245588bf513eed42d5639 (patch)
tree49f074ff8a9b8bf4d6ac0120f09111871b983066
parentdc537391493f09cb2101272a678652de35c4529c (diff)
added todo
-rw-r--r--doc/TODO117
1 files changed, 117 insertions, 0 deletions
diff --git a/doc/TODO b/doc/TODO
index 994a7c18c..dd8ca6d1a 100644
--- a/doc/TODO
+++ b/doc/TODO
@@ -1 +1,118 @@
TODO in GF implementation
+(P=Peter, A=Aarne, B=Björn)
+
+----------------------------------------------------------------------
+URGENT
+
+
+*(P) Hjälpkommandot
+
+> h -printer
+(där 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 behöva veta att B.hs använder sig av resource.
+
+
+*(P) Möjlighet att sätta GF_LIB_PATH inuti GF, t.ex. med:
+
+> sf libpath=...
+
+
+*(P) Möjlighet att sätta startkategorin för en grammatik med sf:
+
+> sf startcat=X
+
+
+*(P) import-flaggor:
+
+när man gör "pg -printer=cfg", måste man ha gjort "i -conversion=finite",
+"pg" bryr sig inte om vilka flaggor som sätts i grammatikfilen
+
+när man gör "pm -printer=cfgm", måste flaggan "conversion=finite" vara satt i grammatikfilen,
+"pm" bryr sig inte om ifall man har gjort "i -conversion=finite"
+
+det är väl jag (Peter) som borde fixa detta, men jag vet inte var de olika flaggorna ligger
+
+och det måste bestämmas vilka flaggor som har företräde:
+- 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: när man använder "|" till ett systemanrop, t.ex:
+pg | ! sort
+så skapas filerna _tmpi och _tmpo. Men de tas aldrig bort.
+
+P: Ännu bättre: ta bort filerna efteråt.
+
+A: Sant: när GF quittas (om detta inte sker onormalt).
+Eller när kommandot har kört färdigt (om det terminerar).
+
+P: Bäst(?): skapa filerna i /tmp eller liknande.
+
+A: Ibland får man skrivrättighetsproblem - och det är
+inte kul om man måste ange en tmp-path. Och olika
+användare och gf-processer måste ha unika filnamn.
+Och vet inte hur det funkar på windows...
+
+A: Ett till alternativ skulle vara att använda handles
+utan några tmp-filer alls. Men jag har inte hunnit
+ta reda på hur det går till.
+
+B: Lite slumpmässiga tankar:
+- man kan använda System.Directory.getTemporaryDirectory, så slipper man iaf bry sig om olika plattformsproblem.
+- sen kan man använda System.IO.openTempFile för att skapa en temporär fil. Den tas dock inte bort när programmet avslutas, så det får man fixa själv.
+- System.Posix.Temp.mkstemp gör nåt liknande, men dokumentationen är dålig.
+- biblioteket HsShellScript har lite funktioner för sånt här, se
+http://www.volker-wysk.de/hsshellscript/apidoc/HsShellScript.html#16
+
+
+*(P) Hierarkiska moduler
+
+P: Förslag: A.B.C ligger i filen A/B/C.gf
+Största fördelen: man slipper ange --# -path=...
+