Actuellement je travaille sur la comparaison entre SICStus3 et SICStus4 mais j'ai un problème qui est SICStus4 ne consultera aucun cas où la chaîne de commentaire a des contrôles de transport ou des caractères de tabulation etc. donnée ci-après.convertir la chaîne de commentaire en une liste de caractères ASCII dans sicstus-prolog
cas de l'exemple donné en tant que below.It dispose de 3 arguments avec délimiteur de virgule.
case('pr_ua_sfochi',"
Response:
answer(amount(2370.09,usd),[[01AUG06SFO UA CHI Q9.30 1085.58FUA2SFS UA SFO Q9.30 1085.58FUA2SFS NUC2189.76END ROE1.0 XT USD 180.33 ZPSFOCHI 164.23US6.60ZP5.00AY XF4.50SFO4.5]],amount(2189.76,usd),amount(2189.76,usd),amount(180.33,usd),[[fua2sfs,fua2sfs]],amount(6.6,usd),amount(4.5,usd),amount(0.0,usd),amount(18.6,usd),lasttktdate([20061002]),lastdateafterres(200712282]),[[fic_ticketinfo(fare(fua2sfs),fic([]),nvb([]),nva([]),tktiss([]),penalty([]),tktendorsement([]),tourinfo([]),infomsgs([])),fic_ticketinfo(fare(fua2sfs),fic([]),nvb([]),nva([]),tktiss([]),penalty([]),tktendorsement([]),tourinfo([]),infomsgs([]))]],<>,<>,cat35(cat35info([])))
.
02/20/2006 17:05:10 Transaction 35 served by static.static.server1 (usclsefat002:7551) running E*Fare version $Name: build-2006-02-19-1900 $
",price(pnr(
user('atl','1y',<>,<>,dept(<>,'0005300'),<>,<>,<>),
[
passenger(adt,1,[ptconly(n)])
],
[
segment(1,sfo,chi,'ua','<>','100',20140901,0800,f,20140901,2100,'737',res(20140628,1316),hk,pf2(n,[],[],n),<>,flags(no,no,no,no,no,no,no,no,no)),
segment(2,chi,sfo,'ua','<>','101',20140906,1000,f,20140906,1400,'737',res(20140628,1316),hk,pf2(n,[],[],n),<>,flags(no,no,no,no,no,no,no,no,no))
]),[
rebook(n),
ticket(20140301,131659),
dbaccess(20140301,131659),
platingcarrier('ua'),
tax_exempt([]),
trapparm("trap:ffil"),
city(y)
])).
Le prédicat ci-dessous va supprimer la section des commentaires dans le cas ci-dessus. Maintenant, mon exigence est de convertir la chaîne de commentaire en une liste de caractères ASCII.
Quelle version de SICStus 3 utilisez-vous? – false
Il n'y a pas d'analyseur compatible SP3 dans le Service Pack 4, ce qui précède ne peut être lu dans SP4 par aucune fonctionnalité intégrée. Une idée serait d'utiliser SP3 pour l'analyser, puis de l'écrire à partir du SP3 d'une manière que le SP4 comprend, par ex. en utilisant quelque chose comme 'read (X), write_canonical (X), write ('.'), nl'. (PS.) Le code ci-dessus définit un prédicat '' -'' avec deux arguments, vous voulez probablement le nommer 'flatten_cases' à la place.) –
La version 3.12.10 est utilisée SICStus 3.12.10patch1 (x86-linux-glibc2.3): mar 10 novembre 10:39:10 CET 2009 Licensed to eds.com | ? - –