Execute a Markov algorithm: Difference between revisions

Content added Content deleted
(C)
Line 412: Line 412:
'''Solution''':<lang j>require'strings regex'
'''Solution''':<lang j>require'strings regex'


markovLexer =: verb define
markovLexer =: verb define
rules =. LF cut TAB&=`(,:&' ')}y
rules =. LF cut TAB&=`(,:&' ')}y
rules =. a: -.~ (dltb@:{.~ i:&'#')&.> rules
rules =. a: -.~ (dltb@:{.~ i:&'#')&.> rules
Line 420: Line 420:


replace =: dyad define
replace =: dyad define
'index patternLength replacement'=. x
'index patternLength replacement'=. x
'head tail' =. index split y
'head tail' =. index split y
Line 426: Line 426:
)
)
matches =: E. i. 1:
matches =: E. i. 1:
markovStrict =: dyad define
markov =: dyad define
ruleIdx =. 0 [ rules =. markovLexer x
ruleIdx =. 0 [ rules =. markovLexer x
while. ruleIdx < #rules do.
while. ruleIdx < #rules do.