Skip to Content.
Sympa Menu

k-user - Re: [K-user] help running example

k-user AT lists.cs.illinois.edu

Subject: K-user mailing list

List archive

Re: [K-user] help running example


Chronological Thread 
  • From: Chucky Ellison <celliso2 AT illinois.edu>
  • To: Stephen Chang <stchang AT ccs.neu.edu>
  • Cc: "k-user AT cs.uiuc.edu" <k-user AT cs.uiuc.edu>
  • Subject: Re: [K-user] help running example
  • Date: Tue, 15 Nov 2011 13:58:22 -0600
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/k-user>
  • List-id: <k-user.cs.uiuc.edu>

Alright, try this please :)

$ krun --log-io programs/diverse/factorial.simple
$ cat krunner.log

On Tue, Nov 15, 2011 at 1:34 PM, Stephen Chang
<stchang AT ccs.neu.edu>
wrote:
> On Tue, Nov 15, 2011 at 2:26 PM, Chucky Ellison
> <celliso2 AT illinois.edu>
> wrote:
>> Can you try
>> (1)
>> $ krun programs/diverse/factorial.simple
>> again, just to make sure?
>
> stchang@caprica:~/k-framework/examples/languages/research/simple/untyped$
> krun programs/diverse/factorial.simple
> Unable to parse Maude's output:
>
> Maude>
>
>
>
>>
>> If that still doesn't work, then please do
>> (2)
>> $ krun --no-io programs/diverse/div-nondet.simple
>> and paste us your output, then
>
> stchang@caprica:~/k-framework/examples/languages/research/simple/untyped$
> krun --no-io programs/diverse/div-nondet.simple
> <T>
>  <nextLoc>
>    2
>  </nextLoc>
>  <in>
>    .
>  </in>
>  <out>
>    "1\n"
>  </out>
>  <threads>
>    .
>  </threads>
>  <busy>
>    .
>  </busy>
>  <genv>
>    main |-> 0
>  </genv>
>  <store>
>    0 |-> lambda( .List{","} , { var x , .List{","} ; ~> x = 1 ; ~>
> print( ++ x / ++ x / x , "\n" , .List{","} ); } )
>    1 |-> 3
>  </store>
> </T>
>
>
>
>> (3)
>> $ maude simple-untyped-compiled.maude .k/krun_tmp/maude_in
>> and paste us your output.
>
> stchang@caprica:~/k-framework/examples/languages/research/simple/untyped$
> maude simple-untyped-compiled.maude .k/krun_tmp/maude_in
>                     \||||||||||||||||||/
>                   --- Welcome to Maude ---
>                     /||||||||||||||||||\
>            Maude 2.6 built: Dec  9 2010 18:28:39
>            Copyright 1997-2010 SRI International
>                   Tue Nov 15 14:33:46 2011
> rewrites: 205 in 0ms cpu (0ms real) (~ rewrites/second)
> result BagItem:
> < T >
>  < nextLoc > # 2(.List{K}) </ nextLoc >
>  < in > #buffer(.) </ in >
>  < out > #buffer(# "1\n"(.List{K})) </ out >
>  < threads > (.).Bag </ threads >
>  < busy > (.).Set </ busy >
>  < genv > # #id "main"(.List{K}) |-> # 0(.List{K}) </ genv >
>  < store > # 0(.List{K}) |->
> 'lambda`(_`,_`)('.List`{","`}(.List{K}),,'`{_`}(
>    'var_;('_`,_(# #id "x"(.List{K}),,'.List`{","`}(.List{K}))) ~> '_;('_=_(#
>    #id "x"(.List{K}),,# 1(.List{K}))) ~> 'print`(_`);('_`,_('_/_('++_(# #id
>    "x"(.List{K})),,'_/_('++_(# #id "x"(.List{K})),,# #id "x"(.List{K}))),,
>    '_`,_(# "\n"(.List{K}),,'.List`{","`}(.List{K})))))) # 1(.List{K}) |-> #
> 3(
>    .List{K}) </ store > </ T >
> Bye.
>
>
>
>
>
>
>>
>> Thanks,
>> -Chucky
>>
>> On Tue, Nov 15, 2011 at 1:17 PM, Stephen Chang
>> <stchang AT ccs.neu.edu>
>> wrote:
>>> Thank you for all the help. It seems like the --search option did
>>> something.
>>>
>>>
>>>
>>> On Tue, Nov 15, 2011 at 2:10 PM, Chucky Ellison
>>> <celliso2 AT illinois.edu>
>>> wrote:
>>>> Stephen, can you try running:
>>>> $ echo "5" | krun --search programs/diverse/factorial.simple
>>>> and paste the output
>>>
>>> stchang@caprica:~/k-framework/examples/languages/research/simple/untyped$
>>> echo "5" | krun --search programs/diverse/factorial.simple
>>> Search results:
>>>
>>> Solution 1, state 51:
>>> <T>
>>>  <nextLoc>
>>>    5
>>>  </nextLoc>
>>>  <in>
>>>    ""
>>>  </in>
>>>  <out>
>>>    "Input a natural numer: Factorial of 5 is: 120\n"
>>>  </out>
>>>  <threads>
>>>    .
>>>  </threads>
>>>  <busy>
>>>    .
>>>  </busy>
>>>  <genv>
>>>    factorial |-> 0
>>>    main |-> 1
>>>  </genv>
>>>  <store>
>>>    0 |-> lambda( y , .List{","} , { var t , .List{","} ; ~> t = 1 ;
>>> ~> print( "Factorial of " , y , " is: " , .List{","} ); ~> { var i ,
>>> .List{","} ; ~> i = 1 ; ~> while i <= y do { t = t * i ; ~> i = i + 1
>>> ; } } ~> return t ; } )
>>>    1 |-> lambda( .List{","} , { print( "Input a natural numer: " ,
>>> .List{","} ); ~> print( factorial ( read() , .List{","} ) , "\n" ,
>>> .List{","} ); } )
>>>    2 |-> 5
>>>    3 |-> 120
>>>    4 |-> 6
>>>  </store>
>>> </T>
>>>
>>>
>>>
>>>
>>>
>>>> and then
>>>> $ maude simple-untyped-compiled.maude .k/krun_tmp/maude_in
>>>> and paste the output?
>>>
>>> stchang@caprica:~/k-framework/examples/languages/research/simple/untyped$
>>> maude simple-untyped-compiled.maude .k/krun_tmp/maude_in
>>>                     \||||||||||||||||||/
>>>                   --- Welcome to Maude ---
>>>                     /||||||||||||||||||\
>>>            Maude 2.6 built: Dec  9 2010 18:28:39
>>>            Copyright 1997-2010 SRI International
>>>                   Tue Nov 15 14:15:02 2011
>>> Advisory: socket manager declined malformed message
>>> #createClientTcpSocket(
>>>    #socketManager, cnum(0), "localhost", #TCPPORT).
>>> Advisory: socket manager declined malformed message
>>> #createClientTcpSocket(
>>>    #socketManager, cnum(1), "localhost", #TCPPORT).
>>> Advisory: socket manager declined malformed message
>>> #createClientTcpSocket(
>>>    #socketManager, cnum(0), "localhost", #TCPPORT).
>>> Advisory: socket manager declined malformed message
>>> #createClientTcpSocket(
>>>    #socketManager, cnum(1), "localhost", #TCPPORT).
>>> Advisory: socket manager declined malformed message
>>> #createClientTcpSocket(
>>>    #socketManager, cnum(0), "localhost", #TCPPORT).
>>> rewrites: 158 in 0ms cpu (1ms real) (~ rewrites/second)
>>> result BagItem:
>>> < T >
>>>  < nextLoc > # 2(.List{K}) </ nextLoc >
>>>  < in > #parse("#Int",.) ListItem('#charString`(_`)('#string2Int`(_`)(#
>>>    #checkResult(#containedRequest(<> #Socket #toSend("1#readbyte#0#\r\n")
>>>    #Socket < cnum(1) : Client | state: connecting > #Socket
>>>    #createClientTcpSocket(#socketManager, cnum(1), "localhost",
>>> #TCPPORT)))(
>>>    .List{K})))) #buffer(.) #istream(0) </ in >
>>>  < out > #ostream(1) ListItem('String2DotK`(_`)(# #checkResult(
>>>    #containedRequest(<> #Socket #toSend("0#writebyte#1#73#\r\n") #Socket <
>>>    cnum(0) : Client | state: connecting > #Socket #createClientTcpSocket(
>>>    #socketManager, cnum(0), "localhost", #TCPPORT)))(.List{K})))
>>>    #removeCharUponAck #buffer(# "Input a natural numer: "(.List{K})) </
>>> out >
>>>  < threads >
>>>  < thread >
>>>   < k > 'read`(`)(.List{K}) ~> freezer('_`,_(var{K}("`[HOLE`]"),,var{K}(
>>>    "K2")))(var{K}("K2")<-('.List`{","`}(.List{K}))) ~>
>>> freezer('_`(_`)(var{K}(
>>>    "K1"),,var{K}("`[HOLE`]")))(var{K}("K1")<-(# #id
>>> "factorial"(.List{K}))) ~>
>>>    freezer('_`,_(var{K}("`[HOLE`]"),,var{K}("K2")))(var{K}("K2")<-('_`,_(#
>>>    "\n"(.List{K}),,'.List`{","`}(.List{K})))) ~>
>>> freezer('print`(_`);(var{K}(
>>>    "`[HOLE`]")))(.List{K}) ~> 'env`(_`)(wmap (# #id "factorial"(.List{K})
>>> |->
>>>    # 0(.List{K}) # #id "main"(.List{K}) |-> # 1(.List{K}))(.List{K})) ~>
>>>    'return_;('nothing(.List{K})) </ k >
>>>   < control >
>>>    < fstack > (# #id "factorial"(.List{K}) |-> # 0(.List{K}) # #id "main"(
>>>    .List{K}) |-> #
>>> 1(.List{K})),freezer('_;(var{K}("`[HOLE`]")))(.List{K}),
>>>     < xstack > (.).List </ xstack > </ fstack >
>>>    < xstack > (.).List </ xstack > </ control >
>>>   < env > # #id "factorial"(.List{K}) |-> # 0(.List{K}) # #id
>>> "main"(.List{K})
>>>    |-> # 1(.List{K}) </ env >
>>>   < holds > (.).Map </ holds > </ thread > </ threads >
>>>  < busy > (.).Set </ busy >
>>>  < genv > # #id "factorial"(.List{K}) |-> # 0(.List{K}) # #id
>>> "main"(.List{K})
>>>    |-> # 1(.List{K}) </ genv >
>>>  < store > # 0(.List{K}) |-> 'lambda`(_`,_`)('_`,_(# #id "y"(.List{K}),,
>>>    '.List`{","`}(.List{K})),,'`{_`}('var_;('_`,_(# #id "t"(.List{K}),,
>>>    '.List`{","`}(.List{K}))) ~> '_;('_=_(# #id "t"(.List{K}),,#
>>> 1(.List{K})))
>>>    ~> 'print`(_`);('_`,_(# "Factorial of "(.List{K}),,'_`,_(# #id
>>> "y"(.List{
>>>    K}),,'_`,_(# " is: "(.List{K}),,'.List`{","`}(.List{K}))))) ~> '`{_`}(
>>>    'var_;('_`,_(# #id "i"(.List{K}),,'.List`{","`}(.List{K}))) ~>
>>> '_;('_=_(#
>>>    #id "i"(.List{K}),,# 1(.List{K}))) ~> 'while_do_('_<=_(# #id
>>> "i"(.List{K}),
>>>    ,# #id "y"(.List{K})),,'`{_`}('_;('_=_(# #id "t"(.List{K}),,'_*_(# #id
>>> "t"(
>>>    .List{K}),,# #id "i"(.List{K})))) ~> '_;('_=_(# #id
>>> "i"(.List{K}),,'_+_(#
>>>    #id "i"(.List{K}),,# 1(.List{K}))))))) ~> 'return_;(# #id
>>> "t"(.List{K}))))
>>>    # 1(.List{K}) |-> 'lambda`(_`,_`)('.List`{","`}(.List{K}),,'`{_`}(
>>>    'print`(_`);('_`,_(# "Input a natural numer:
>>> "(.List{K}),,'.List`{","`}(
>>>    .List{K}))) ~> 'print`(_`);('_`,_('_`(_`)(# #id "factorial"(.List{K}),,
>>>    '_`,_('read`(`)(.List{K}),,'.List`{","`}(.List{K}))),,'_`,_(#
>>> "\n"(.List{
>>>    K}),,'.List`{","`}(.List{K})))))) </ store > </ T >
>>> Bye.
>>>
>>
>





Archive powered by MHonArc 2.6.16.

Top of Page