if (source.substitute) {
      for (const token of Object.getOwnPropertyNames(source.substitute)) {
        lexer.addReplacementRule(token, source.substitute[token]);
      }
    }