Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. : is_path_delimiter ( c -- flag )
  3.   DUP [CHAR] \ = SWAP [CHAR] / = OR
  4. ;
  5.  
  6. : CUT-PATH ( a u -- a u1 )
  7. \ èç ñòðîêè "path\name" âûäåëèòü ñòðîêó "path\"
  8.  OVER +
  9.  BEGIN 2DUP <> WHILE DUP C@ is_path_delimiter 0= WHILE 1- REPEAT 1+ THEN
  10.  \ DUP 0!  \ ~ruv (to anfilat): íå äÎëæíî òóò çàòèðàòü ïîäàííûé áóôåð!
  11.  OVER -
  12. ;
  13.  
  14. : ModuleName ( -- addr u )
  15. ABORT
  16. ;
  17.  
  18. : ModuleDirName ( -- addr u )
  19.  ModuleName CUT-PATH
  20. ;
  21.  
  22. : +ModuleDirName ( addr u -- addr2 u2 )
  23.  2>R
  24.  ModuleDirName 2DUP +
  25.  2R> DUP >R ROT SWAP 1+ MOVE
  26.  R> +
  27. ;
  28.  
  29. : +LibraryDirName ( addr u -- addr2 u2 )
  30. \ Äîáàâèòü addr u ê ïîëíûé_ïóòü_ïðèëîæåíèÿ+devel\
  31.  2>R
  32.  ModuleDirName 2DUP +
  33.  S" devel\" ROT SWAP MOVE
  34.  6 + 2DUP +
  35.  2R> DUP >R ROT SWAP 1+ MOVE
  36.  R> +
  37. ;
  38. : SOURCE-NAME ( -- a u )
  39.  CURFILE @ DUP IF ASCIIZ> ELSE 0 THEN
  40. ;
  41.