Bir Frama-C-plugin yazıyorum. Bu eklentide, işlevlere ek açıklamalar eklemek istiyorum (ör., Işlev adı = "test", bir şart cümlesi ekleyin, parametre == 1).Frama-C: Eklentide Ek Açıklama Ekle
Annotations.add_requires işlevini buldum, ancak bazı parametreleri (Emitter.t, Identified_predicates) bilmiyorum. String parametresi, işlev adı veya yüklemi için kendi adıdır.
Bu işlevi nasıl kullanırım? Birisi örnek gösterebilir mi?
Bir şey denediniz mi? "Parametre" nin "test" fonksiyonunu ('kernel_function') ve değişkenini (' varinfo') bulmayı başardınız mı? Şimdi, 'add_requires' kullanmadan önce 'parametre == 1' yüklemesini oluşturmalısınız, değil mi? Bunu nasıl yapacağını buldun mu? – Anne
Çekirdek_fonksiyonu ve varinfo aldım. Üçüncü parametreyi (isminin bu olduğunu düşünüyorum) "test et" olarak ayarladım. Artık, onları nasıl oluşturacağımı bilmediğim 2 tane daha parametre (ilk ve son) var. Emitter bir oluşturma işlevine sahiptir, ancak ne yaptıklarını bilmediğim birkaç liste alır (şimdi "Emitter.create" adını denedim "name" [Code_annot] [] [] 'Ayrıca, nasıl yapılacağını bilmiyorum Diğer birçok garip şeyler içerdiğinden, yüklem listesi, bu yüzden ad ve vericiyle diğer iki denemeyi de test edemiyorum. –
Şimdi şunu denedim: 'pred = Cil_types.Ptrue in id_pred = {ip_name = []; ip_loc = location; ip_id = 1; ip_content = pred} ', ama hangi konumun kullanıldığını bilmiyorum? –