That text describes the following (Python) pseudocode:

    subs = a list of string pairs  
    As = a list of integers  
    Bs = a list of integers
      
    def f(state, pc):  
      if pc == N: return (state, pc)  
      if state.find(subs[pc][0]) != -1:  
        return (state.replace(subs[pc][0],subs[pc][1],1), Bs[pc])  
      else:  
        return (state,As[pc])  

The function f is presumably going to be applied repeatedly.

The last three bullet points is all you really need once you understand the notations. All that comes before is a bit analogous to explaining how Python works before giving the Python code.