OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 16 Октябрь, 2019 18:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: Воскресенье, 30 Март, 2008 12:56 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4512
Откуда: Россия, Орёл
В ББ1.6 добавлена возможность определять процедурные типы с системыми флагами на процедурах. Т. о. компилятор считает различными параметры p ниже:
PROCEDURE P* (p: PROCEDURE ; x: INTEGER);
PROCEDURE P* (p: PROCEDURE [ccall]; x: INTEGER);
Однако, перекомпиляция (при работе с сущ. симв. файлом) считает эти параметры одинаковыми.

Пробуем комплировать с 1 и потом:
- меняем 1 на 2 - получаем "p is redefined";
- меняем 2 на 3 - получаем фигу.
Код:
MODULE TestSysFlag;

        IMPORT SYSTEM;

(* 1     PROCEDURE P* (p: PROCEDURE [ccall]; x: REAL); *)
(* 2     PROCEDURE P* (p: PROCEDURE [ccall]; x: INTEGER); *)
(* 3     PROCEDURE P* (p: PROCEDURE ; x: INTEGER); *)
        BEGIN
        END P;

END TestSysFlag.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 30 Март, 2008 13:01 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4512
Откуда: Россия, Орёл
Если добавить закомментированный код в DevCPT.IdFPrint, вроде начинает работать. При фингерпринте процедуры мы учитываем не только типы параметров и результата но и системный флаг.

Пробовал, стало различать 2 и 3.
Код:
   PROCEDURE IdFPrint*(typ: Struct);   (* idfp codifies assignment compatibility *)
      VAR btyp: Struct; strobj: Object; idfp: INTEGER; f, c: SHORTINT;
   BEGIN
      IF ~typ.idfpdone THEN
...         ELSIF f = ProcTyp THEN FPrintSign(idfp, btyp, typ.link); (* DevCPM.FPrint(idfp, typ.sysflag) *)
         END ;
         typ.idfp := idfp
      END
   END IdFPrint;

Однако не уверен, можеть где исчо надо подправить :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 16 Август, 2013 20:37 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4512
Откуда: Россия, Орёл
Код:
^Q ert0devCommanders.Exec
(1) ^Q"ert0devCommanders.SelectAndDo('DevCompiler.CompileSelection')"
MODULE TestSysFlag;
   IMPORT SYSTEM;

   PROCEDURE P* (p: PROCEDURE [ccall]; x: REAL);
   BEGIN
   END P;

END TestSysFlag. ~

2) ^Q"ert0devCommanders.SelectAndDo('DevCompiler.CompileSelection')"
MODULE TestSysFlag;
   IMPORT SYSTEM;

   PROCEDURE P* (p: PROCEDURE [ccall]; x: INTEGER);
   BEGIN
   END P;

END TestSysFlag. ~

3) ^Q "ert0devCommanders.SelectAndDo('DevCompiler.CompileSelection')"
MODULE TestSysFlag;
   IMPORT SYSTEM;

   PROCEDURE P* (p: PROCEDURE ; x: INTEGER);
   BEGIN
   END P;

END TestSysFlag. ~ ~
Суть в перекомпиляции (2) -> (3) --- отсутствует "P is redefined"
Код:
compiling "TestSysFlag" // (1)
  P is redefined   4   0
compiling "TestSysFlag" // (2)
  P is redefined   4   0
compiling "TestSysFlag"   4   0 // (3)
Код:
StdCoder.Decode ..,, ..wU....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,MkD.,6.5Qw7uP51QCPuP7PNN9F9vQAy1xB.gdj,UBxhYhAbf9P0G2sIdvPZntgcghghZ
 cZRC8T0E.k5S.H.Ds,2.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..wU.kMP.
 2U18J99SqorGqmQCbWBxhYFWUl1UnNHEWUmr.6.Qr2k50.bB,2U..1f.cU.ktAcoZimBhWhioh
 gnZcZRCY.2.o32U.EBU.U,U.I3l6w1.0E65.2.2lqK.VuI3E,5TWKKvCorqqq4KrGqm8rtumdG
 bK,6.XDF9fR.ELO3U.Iy1U.2.000.O.2.f.p.0.W6.Zj1E.636.c,E.g02CAU0KyBU.2.W10.e
 ,2.AU.Ue.E.mP,U1.100.Goh4UERe0ks,.oZHlWuKmOpoK46.X5.ELKIrGKf.2Um10.t.,.3.0
 U3.,.F2Um10.JF.6.o.6.K,054k,U23.0.YcP,E6E.ECE.E,U.M,6.,.F2.R.0.J,0.B.0UJUk
 V,.q10E.EW.E6E.ECE.E,U.M.,.,.70.E...3.0kz9km8Lu0HmKKvC2.uWshgXhVlAZUIUWggm
 ZC..QeZZhZRgoBciZg2xhcwY2hgqR60romqm8LLCorq4QeZZhZloyKrSmI8m4qobGoemoW0GeK
 qtGrdartOIq4qnin4akYqIcyIdGJECpgCJeKoain4qk20JdyoVKIWKJdKIE0JJ0GI0LR0Gc8pb
 C2khCql4KqmqiiHEWLR0GdKoUmoIin4aEVKoXaIbqk2KIbGIE0pRqk4KIbGYIhgn,EL8k4qENa
 GE8EF.Uh,UgV,,.2CIC.C3MO.Ea..Q5g7..28.28..sK.U7pdIhc5hcGBZvgV7..03UI,.R,bN
 8,d.3,.q4.m442.EsEt.sIUd,.N0.kRka..Ec.Ec..Uv2YsJ5...Ec.Y8.c90G,8ssHpmsETfP
 dfQT9PNPNZvQYC58RZ9P7ONbvM,MwdGw..umVyKrG5EWKqtCK.Q6AA.cQ...sQR,.G20EtH.0.
 G,0.aU.E..k.8ssHpmcIf9P9fQbf9bWGhigFWE.4Te.sQRdIf9PY62UmT.6.QJw.QI2U.sU.kt
 umdsIdPSNPN7ONbvM,Mw.ELMSN12Umz.6..F.p00.32.oZ,ZC.G20U2U...G00k.0.0.0mFf32
 UlSw,sbTX,U,U.2.8Mtr.2..c4E.k.Ue64.,6Y1.0.UA2Tm.mmBjZ92T,eUXDFTXh,Cor..636
 ..U6U..HE.6UjuQ0mHCe.az86Utj00khWaUKZM0P7....
 --- end of encoding ---


Описание и вариант решения опубликованы (04.2008) в OglGlut/Docu/GLUT.odc и OglGlut/Docu/ru/GLUT.odc, соответственно:
en
Код:
StdCoder.Decode ..,, ..yc....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,skH.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
 NbXmb.2.AW7k2k2a.,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.Qq6U.
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.vh,w,gq4E.2.4E88.86.QC18RdfQHfMf9R9v
 Q7ONb17.,.D,,6.I12U.U,2.I3l6w1.0E65.wZ,k.8Mtr.2.822.e,2.A.c8U,UE0,s,EHUyzz
 zzTz00.mLT5UPoZ0cUXzId9NBuPN9Nbf9BuPN9N7ONbvMQ.6.gDY,wB6.M.QkmT,6..T.X0,6.
 EPU0KyB.,..e,2.A.0Ue.0.,6YUF2.yTcyqtCro8KqKKECrrmquGroyKrI.IU0KyBU.2.G30.e
 ,0E.k.Ue.E.mP,UG.l31s16.f,1sIk.0.4.0E,0.16F6.l55cUZT1E.6C6.c46.,sz,.,Ue.E.
 m9666.d.,.m5.Zj1E..m.4,2.16.1U.G..4U.2UzrdjZiZ3YcogjJiUIcgBgXRh0xhsxlloZqw
 lmRgpAZu2YYhgn3idZiZ3Yo3hZ3YVJgjpiZ3YnZiVZiZhhZFE4KlyquGLEGLoKaXxhh3idZhZJ
 ig2YYhimBhixgUYichAVfQTvM9vQbPORvN,tPB96bPSPfMT9P,dNH9P9vQN76VfQTXYhimhgUY
 it3iZ3YkBgmBghhgohgmRiUwidZic3YjJiUwidZCTPRd96khCql4Kqmqi0mtartGrmqKEOKq4q
 n0mk8rm0WVRhZphUogjJCd9O9nt4qqKKEGrwc9,dFTfQ,VdRiUIiZBgnxhiZZUAha3Ytxhp3Yc
 Bgqhgg2YaxhmNNlPMP9QNPNN76196bPSP1UUogjJC30EE4HLKHK0GtKqlyqq0519RHvP0mrOKE
 yonmqXmoeGJEOqrcR9fQbPOTfP,NARdB,tRTPRN9N,7O1fR0GryKEKKnOqmCKu0G80OEGLokw.
 UmhghBgdphn3YpphX3hVphbhgYpZUYej3YVRgcBhZpiZ3Yo3B8bnhigZig2Ytxhp,sP,7N99P9
 9R996kt.Ui2Y0gVB2ejRin,wBUBgV3Jimxhm3YXxhiRidRioRiUAhi3Yo3hZdN1vMd96d9O19R
 ,tM19P5PRNPMd1,tPYicFs85.BPORvN9fQVfQHfPd96HvNRvPZPNb96d9O..bPSb1UnpZBgV,R
 gXxhmZgdphb3YoxhUYiZRioBhixAZPNb1b99,NORvQ9fQdPOTfP.IC7965vP7PN,NOR96Es.EW
 KKvCIcGJLaImOIc8rou499PHPPHfP19R9vQ,7RMMoCqqmuKuaqrggY3YZpgatMuGEWorSrmOrm
 8LRqkKakY0ml4KrSGu0mlmqkaqq0GuWqk6Ra4PvP7POBPO5PMdPOTHESromKq0GlKKECruOKna
 qlaqmuKu0GuyKEOqoWLEGLoKakFlmqmqKECqr6P99R99PnvCPM9HMOd96HvQ,NRV96dvParrKb
 oxB7nlaKmKKESLoKKuWqm8LEGrr0muCrm0moGLEyKtohjZig2YVZiUAjjdQ,tPjfP,dQHvQLvC
 PM9H6RaqtgB.UmhglhidJiZRiUAggZhUghjZgpZhZRiUwicBhX3hUggs3ijJio3YkJijRAktwi
 dFECrwC5oA66dvP8qm0GtKqlkoggYpZBgV72eGxd1hc2heGhcUAdYpcE,J78dPSVfC,tIdfQfv
 MdP8rN0Fd8,NO7fNV965vPaKnggn3YVRinBhbphhhgiZC5vPPnkGro8qomqoGrw0GJam4uGLum
 4ak2akWmodaIX0Gn0mS0Gc8rrCKeaLs0GeWoWuIEOIc85CpoSKrWmoGKnYZUIgoBjkZZUYit3i
 iYhdphfBZv2Y2hgqlauGX0Jta4FNO7fN6RsQnvQB9P1vNHN1Rd9MFR8F,NG7fFUvgV0gV0CyIh
 gstETHu8rrmKqKKtCLLCJuQcoJigZcZRiX3Ul1.UiQcjpho,YcZtM,kVkk.R,85...CLL.U2V.
 Iy2U.UIU.U72U.6.,..1cUXDJcIf9P9fQbf9bWGhigFWE.4Te.sQRdIf9P9HWE.8z,E.0.L3D.
 53,6.CcI,ktumdsIdPSNPN7ONbH.4D.o3aLq.,cwDU.6..F.p00.3Qw.EL4IuG5U2ll0U2U...
 GG.6.16.6.665hK2.,Mg5T.ytrM.M.6.,U0KSE..UO.,.1.e0.,6Y1.0.UA2Tm.mmBjZ92T,eU
 XDF.Cb1xB..4V.2.,..W.0.A,,UMSdn76Dtc0MyfU.az864T8O0OJW7cO,...
 --- end of encoding ---

ru
Код:
StdCoder.Decode ..,, ..H5,...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,6KX.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
 NbXmb.2.ooEk2ED1,,6.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.F822U.
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.Ze1w,IdCE.2.4EPP.86.QC18RdfQHfMf9R9v
 Q7ONb17.,.ZR.E.I12U.U,2.I3l6w1.0E65.oxzzzzf.Eqzzzzj,.Vzzzzz0,0EsV,.tzzzzz.
 R5..ExzzzzDEqV0.p54.oR.YR.Yyzzzz1oR...xzzzzz.R5.d5a.oTM.Ex,EwzzzzDElzzzzDE
 x,Ew,Ez,Ex,Ey,ExV0.Zzzzzz.l5.V5.x54.IT.2S.YR.2T.IT.YSc,Emzzzzj,.d5U,Ikmj,2
 U.Eq1.,.p.0.4E.EJ.1.V20k1E.4.ITU.EuV3.U,.t5.l5.x5.Nzz.2T.oR.IT.oRc.ExV,.75
 .N5.l5..Et,.c.E.Eyuv.QXiI.3Qwb8R7fFT9P7vQRdFT9P79F9vQ5X1.,ULWAU70,.1U1Ky9U
 .2.UD6.i40E.k.020E,9z4U...p.0.4E.2.J,U.2GErV,.Z5zj27gD7wB7AD7gD7gB7QD7gD7Q
 B7A6,8Vf7VF8Vf7Vv7Vl7Vf7V,c.c.3gwP.0.Dh.6.,EBU.U,.J,U.Yr0.R53M.c.ZzzzzzU.A
 .6x.cuzzzzD.Uy1Uu13..1.uD.Wyzzzz,uC.mD.eC.uC.Ozzzzz,uCQ.cyk.UkzT.WCI.6vk.U
 k1Us1Uy1Ui1k.y.AU.E.uC..Uo13..9.uDA.AUwzzzzz,A.6yzzzz5ctM.3.1cyzzzzr.Ui1Ug
 1UkzzzzTUe1Uu1UmzzzzTUe1Uozzzzz.U.M.6.5.1cw.AUyzzzzTUu1Ua1UwX,.mC.WDI.6zk.
 Us1UqzzzzTUy1UsX.g.2Ug11.uC0.6t.6y.cwE,E.GCA.cv.cz.6v.cwk7l,8Mtr.2.W10.e,2
 UzX.2.e0.,6jUUU.Y02.6T.IyC.,.61M2E.AU.A.06,.M.0E.yz9GMMGMSGsOGsXGMMgb2452Y
 cIb24a2Cc24a2Kc2ia2Sb2ad2ib2q5,N27wC7QH7gC7QA7gD7gC7QE7A6Xd9h76ZvMf79,dQ5f
 BHdC,ND7QB7QE7AD7gD8I01I0zI01mSGMMGMEyH0vH05I0jH0LH0HH0rH0LXpYkUwa24a2a5w6
 g5l,,tD7AE7gD7A6p7Vx7Vt7Vz7Vl7Vr7VT8V38VxFUGMK0mTG6l7V,dD7QA7AE7AA7QA7gD8Y
 uYkpYkUAc24b2ab2Ka2qb2Sb2a7Qd2ic24Y2ZkkYktYkvYkyYkmYkUwb2GToc2ia2a458V,8VL
 8VPtD7AA7AE7AAmXpcE7AEiYUAc24Y,7C4I09I0LXwYkxYEmH01GWGsRGMMGsNGMTGMS2YPRgX
 BggZhR3YsYkUAa2ia2ya24YxMBCH0vXU2c2441mUG6V7V3GU25Z7VV7VR8V38V18VT8V,dC7AA
 eH01GTGMOGMQGsSGMEWH01GVGMTI6,dB7QB7A638Vl7Vz7VR76z6Vx7VP8V38VxFSQc2aZUga2
 C6rFQGMK0mSGMMwb246lFSEUGMKQc24YGYkkYk,76x7VpFMoa2i43mUU,VwcAuXv.iYtYkUY6V
 lQEEGH0jH0zYUIa2ia24618VlFQGME4HLKHK0mTGsOGMUg4p7VxFSw5llREXGMQGsbGcwYky6B
 CYvYkD76TuNNvFNOJd86d7VUm.42.hlSGMQwc2ia2S42YxYkp66d7VV7V1GV2YI2oUAc2GS.r,
 .Ut.x7V1GV2a2i5fFVA6TWlYES1l7Vj7VtlOg5flS25n7VR76d6Vr7VsD7Y.NBe1m1.O2W118V
 Y5kR.L0.i1vFMYa2qb24Y1ZkoYkksC7AC8I0nI01GNGMUGsVGsXGsSGsVGMbGML0G,qk48F0vH
 0T1uXq.KXU26fFYkSkOgVBoX24d24b2Ca2Kb244,tB7YusC7gH7wF7AAKH092EN2Y0Zky6DmGE
 SI09I076Z7VGI0XH0rXnYkpYEyH012cE7QBw5,GTo6Y426LWxMB0mVGsX2b2mZGMNGMMo7A6ME
 MEUwMDiYpYkUY6rFMQ4l7V,tDcDUo.iYigVBIX24a2K5,tDuXuUrYkksCuXUI6flUI6lFUGMTI
 4VlS25fFK0GOGMTA4V7VZ7Vr7VflS.,dC7AE7AA4YxYkysA7gDI5xFO24,dAw5,GTo6Y4kV2Y2
 hgqRcEZeiAdYpcEJidpho3Y1NE7gE0I0NDyI0LH09YUQ6p7VVlPkSgb2S7nVBZk2Zk2ZkpYkuc
 E7g9,d57AB7QD0XucDen4akK0mbGMEq1Yb2mNQc24YnYkkYk.7AcEW1uXmU07HmGE.0mV.j,vl
 So5fFEG14181MDW10mbGMNGsRw7fFVA62YoU,dE0X0dDSI0rX97D0GOGsRw7,tDuXvMD7gDCXy
 66l7V1mTGMU24Z,flSkbcDWI0NA6C7wCPM0P76,8VfFYkSkO2Yy66f7VbFT6CUysCmYrYkyYkm
 Ux6CWXUIW2Sd24Yz6EWXxUw6AKX0NBA6VFS2b2a3vFM2Y,dA7gDaH01mUI6,098V,7C0GUGMQA
 6p7VrN1HUoYkyMAcAMBUp66zFTI6,mOAa2Sc2ia2K6,tDKX.NBeXy6DyXssC7Y4Vs66ZlUGsOG
 sWGMEm1GX1tCKXtYkg2YBZkuMEy10Y0Zks6ECYCNG7AC7QF7oT26xFXEOEUQ7,NE0mU251GVg4
 t,L0lV2VksA0XwUigVBAVEJeDRc3ZcJJe33Y7Zg438c8F7Rn9Qp76b8RZPR59RHtCH68J76H9N
 B9Q,tMT9NHfNHPNb961vQbPODfPPPNR9R,tMTPPVPMdPO3PONPOdPS,d8HN1Rd9RN1HM0HMFNu
 IHeF,dN,ND,7IZvP59Jn9Q,7JFOFR86B8IZ1bOODfPFNO7fNmGE8KuaLsmGEGrw0LLmqouqpam
 R0GWKKvMHRdFVeQHXcAhYpAYCQitRiaZhVxgdgVio3gcCZcUAdYp6kRqE,qE,5TeK45uPR9RZv
 PN9P9fQbf9b8R7vEdfQN9F9vQ0ks,.ELCoruKu.GomCrl0U1VV,.Z1...bf9.EWE.8T0E.E8E.
 k22.,6..M.3Qwd0ZORNPNZvQRtIIepZBG20ksH3.bf9ZORNPNG20EtD.2.i8S.C80E.QE.sQRt
 IQeoBjghg2hgn7.X5.u0n9PU.Iy56.,E..WU.cKE.cUX5.umUGLu.Y62.7.,..Y22U,2.2.2YX
 K90U.AqXD.zwPA.A.2U.E,9D6..EBU.U,.J,U.2m,.,.E4WDN.Ntarm3Wj.Jklb6.bnVy4..XE
 .6..E2E.U76.2n9RC,t75J.nT32kwL,lsHFHEfGA,TO1...
 --- end of encoding ---


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB