Gå til innhold

Forslag til indekseringsprogramvare?


Anbefalte innlegg

Ok, har følgende scenario:

 

Har en katalog med en del underkataloger som inneholder kildekode fordelt på ulike kategorier. Det jeg er ute etter er et program som kan indeksere alt dette, gjerne med å lage et stikkordregister, samt mulighet for å skrive en forklarende tekst for hvert program.

 

F.eks:

 

Sorteringsalgoritmer

 

- Quicksort, (quicksort er en algoritme for å sortere tall i stigende rekkefølge)

- etc...

 

Design Patterns

 

- Factory method (forklaring)

- Memento (forklaring

- etc....

 

etc....

 

Og stikkordregister:

 

Eks:

 

Node: s. 13 (linkedlist.cc)

next_ptr: s.3 (list.cc), s. 6 (shopsystem.cc) etc...

 

Andre måter å organisere det på ville også være greit...

 

Det skal kunne brukes til utskrift, og syntax highligting hadde vært fint.

 

Hvis noen vet om et slikt katalogiseringssystem/indeksseringssystem, eller vet om eksisterende programvare som innehar noe slikt ville jeg vært takknemmelig. Poster dette her i Windows-seksjonen, men om noen vet om et slikt program for linux eller noe, så hadde det også vært fint. Ikke kom og si jeg skal bruke laTex eller noe i den dur, for jeg skal bare ha noe enkelt som virker så fort som mulig, slike akademiske løsninger får jeg heller ta for meg siden.

 

Hilsen Mr_skeptisk!

Lenke til kommentar
Videoannonse
Annonse

Fant ikke noe passende program på internett, så jeg laget like godt mitt eget indekseringsprogram i C++. Hvis noen vil ha en kopi av dette får de si ifra.

 

Har laget det slik at det gir følgende utskrift ved å få en tekst-fil som kommandolinjeparameter:

 

(brukte en tilfeldig tekst jeg fant fra bt.no som jeg hev inn i en tekst fil)

 

Unikt ord (counts) --->: linjene ordet forekommer på.

 

i (12) ---> : 3,5,5,10,12,12,16,16,16,23,27,27

Nordhordland (1) ---> : 3

lensmannsdistrikt. (1) ---> : 3

30-åringen (1) ---> : 5

innrømmet (1) ---> : 5

han (2) ---> : 5,5

var (8) ---> : 5,5,10,14,19,19,21,23

skyld (1) ---> : 5

brannen. (2) ---> : 5,5

Det (3) ---> : 5,12,16

er (6) ---> : 5,5,12,12,16,16

fortsatt (1) ---> : 5

uklart (1) ---> : 5

om (5) ---> : 5,5,10,14,27

ble (3) ---> : 5,5,27

utløst (1) ---> : 5

ved (2) ---> : 5,10

et (2) ---> : 5,27

uhell, (1) ---> : 5

eller (1) ---> : 5

satte (1) ---> : 5

Den (1) ---> : 5

leieboer (1) ---> : 5

huset, (2) ---> : 5,12

fraktet (1) ---> : 5

til (7) ---> : 5,12,12,16,19,27,27

 

Planen for å lage en indeks, er bare å kopiere utskriften, hive det inn i word, og sortere det (kunne også ha sortert det i selv programmet). Og deretter bruker vim til å fjerne unødvendige linjer.

 

For selve C++ koden vil det da bli seende slik ut (ganske uredigert):

 

(EXIT_FAILURE); (3) ---> : 134,145,241

(EXIT_SUCCESS); (3) ---> : 113,127,253

(feof(infile_ptr)) (1) ---> : 716

(input_file_pointer (1) ---> : 131

(insert_between (1) ---> : 366

(startlist->hits (1) ---> : 585

(startnode (1) ---> : 689

(strcmp(argv[2],"-?") (1) ---> : 235

(strcmp(temp->next_node->word,runner->word)>0))){ (1) ---> : 333

(struct (4) ---> : 148,177,291,361

(t->hits (2) ---> : 538,565

(temporary (2) ---> : 434,468

(txt_file_wordscan(input_file_pointer, (1) ---> : 160

(verbose (1) ---> : 137

*argv[]) (1) ---> : 68

*end; (1) ---> : 71

*endlist; (1) ---> : 272

*endmarker; (1) ---> : 279

*endprinter; (1) ---> : 281

*infile_ptr, (2) ---> : 65,710

*input_file_pointer; (1) ---> : 78

*list; (1) ---> : 70

*next_node; (1) ---> : 58

*p; (1) ---> : 277

*prev_node; (1) ---> : 59

*ptr_0; (1) ---> : 615

*ptr_1 (1) ---> : 616

*ptr_2; (1) ---> : 617

*ptr_3; (1) ---> : 618

*runner; (1) ---> : 274

*runnersaver; (1) ---> : 275

*slist; (1) ---> : 273

*startlist; (1) ---> : 271

*startmarker; (1) ---> : 278

*startnode (1) ---> : 619

*startprinter; (1) ---> : 280

*t; (1) ---> : 282

*t_saver; (1) ---> : 283

*temp; (1) ---> : 270

*temp_ptr; (1) ---> : 72

*temp_ptr2; (1) ---> : 73

*temporary; (1) ---> : 276

*word) (1) ---> : 710

*word); (1) ---> : 65

 

 

Tanken er da at man kan se på hvilket begrep/uttrykk man ønsker å se nærmere på og se dette i en kildekodekontekst. En slik indeks må selvsagt redigeres ganske kraftig før det blir veldig brukbart. Ikke noe poeng å indeksere * og if og else og den slags. :) Mens slike ting som operator++, operator--, virtual etc, er mer interessant å ha referanse til.

 

Mr_skeptisk

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...