progs/catastrophic/catastrophic.js
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 04 Nov 2022 12:07:40 +0000
changeset 894 02ef5c3abc51
parent 753 d94fdbef1a4f
permissions -rwxr-xr-x
updatedHG: added solutions/cw5/fun_tokens.sc

#!/usr/local/bin/node

// A case of catastrophic backtracking in JavaScript/Node.js
//
// regex: (a*)*b
// strings: aa...
//
// call with:
//
//  $> ./catastrophic.js 20
//
// call with timing as:
//
//  $> time ./catastrophic.js 25


const args = process.argv[2]

var str = 'a'.repeat(args);

console.log(str)

var re = /^((a)*)*b$/;

var res = re.test(str);

console.log(res)