123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/bin/env lua
- -- talimat parser kodlaması
- --kütüphane eklemeleri
- local lip= require("LIP")
- local lfs = require("lfs")
- local util=require ("mps_helper")
- local yaz=util.yaz
- local _assert=util._assert
- local has_value=util.has_value
- local path_exists=util.path_exists
- local shell=util.shell
- local get_abspath=util.get_abspath
- local get_basename=util.get_basename
- -- dil tespiti / sonra mps-helper den çağrılabilir.
- local _langenv=os.getenv("LANG")
- if not _langenv then _langenv="tr_TR" end
- local _langvar,_=_langenv:match("(.*)_(.*)")
- local messages = require ("lang_".. _langvar)
- --------------------------------------------------
- local parser={}
- local talimat_format="([%a%d-]+)#([^-]+)([%d]+)" -- talimat_isim@surum-devir : abc@1.2.3-1
- -- parse edilmiş talimat nesnesi
- local talimat={}
- -- talimat dizini
- local talimatd={}
- function parser.isd()
- local isd = get_basename(talimatd)
- local isim,surum,devir=isd:match(talimat_format)
- if not (isim and surum and devir) then
- messages.talimat_name_format_not_valid:yaz(0)
- end
- talimat.isim=isim
- talimat.surum=surum
- talimat.devir=devir
- end
- -- girdi talimat-dizin verilir
- -- çıktı olarak talimat nesnesi döndürülür.
- function parser.get(talimatdizin)
- talimatd=get_abspath(talimatdizin)
- local talimatyol=talimatd..'/talimat'
- talimat = lip.load(talimatyol,{"derle","pakur","kaynak"})
- parser.isd()
- return talimat
- end
- return parser
- -- talimat tablo(nesne) içeren
- -- talimat.isim
- -- talimat.surum
- -- talimat.devir
- -- talimat.paket.tanim
- -- talimat.paket.url
- -- talimat.paket.paketci
- -- talimat.paket.grup
- -- talimat.gerek.derleme
- -- talimat.gerek.calisma
- -- ve diğer talimat kısımları...
|